body{font-family:Inter,sans-serif;font-optical-sizing:auto;font-weight:300;background:#0048ff;color:#333;margin:0;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}#splash{position:fixed;top:0;right:0;bottom:0;left:0;background:#0048ff;z-index:100;transition:opacity .35s ease;pointer-events:none}#splash.dismissed{opacity:0}#shell{max-width:500px;margin:0 auto;background:#eee;min-width:300px;display:flex;flex-direction:column;height:100dvh;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}#auth,#appUI,#about{flex:1;display:flex;flex-direction:column;min-height:0}#appUI{overflow:hidden}#about{overflow-y:auto}#auth .appContent{background-color:#0048ff;color:#fff}#auth .appContent a{color:#0f0}.siteTitle{font-size:85px;font-weight:600;text-align:center;margin-top:10px;line-height:75px;letter-spacing:-6px;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:16px}.siteDescription{font-size:16px;text-align:center;margin-top:20px;margin-bottom:10px;line-height:24px}@media(max-width:420px){.siteTitle{font-size:75px;letter-spacing:-4px;line-height:64px}}.appContent{padding:15px;padding-top:max(15px,env(safe-area-inset-top));flex:1;display:flex;flex-direction:column}.row{width:100%;display:flex;flex-direction:row;margin-top:2px;margin-bottom:2px;gap:10px}#auth .row{margin-top:10px;margin-bottom:10px}.grow{flex:1}.equalHalf{flex:1 1 0;box-sizing:border-box;min-width:0}.new{margin-top:15px}input[type=text],input[type=email],input[type=password],input[type=button],button{padding:12px;box-sizing:border-box;border:1px solid #333;background-color:#fff;font-size:16px;font-family:Inter,sans-serif;font-weight:300;text-align:center;border-radius:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none}button,input[type=button]{background-color:#4caf50;color:#fff;border:none;cursor:pointer}button:hover,input[type=button]:hover{opacity:.88}button:disabled,input[type=button]:disabled{opacity:.35;cursor:default}button:active,input[type=button]:active{opacity:.72}#buttonInput{background-color:#0048ff}#weightInput{font-size:16px;text-align:center}#weightInput.filled{font-size:20px}.currentWeight{display:flex;align-items:center;justify-content:space-between;padding:10px 0;margin-bottom:3px}.currentWeight #currentTrendWeight{font-size:36px;font-weight:300}.gauge{position:relative;height:36px;background:#e0e0e0;margin-bottom:3px;overflow:hidden}.gauge-fill{position:absolute;top:0;height:100%;box-sizing:border-box;background:#0048ff59;transition:width 1s cubic-bezier(.215,.61,.355,1),left 1s cubic-bezier(.215,.61,.355,1);z-index:0}.gauge-line{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#0006;transform:translate(-50%)}.gauge-hatch{position:absolute;top:50%;height:2px;transform:translateY(-50%);background:repeating-linear-gradient(to right,#477afa 0,#477afa 4px,transparent 4px,transparent 8px);transition:left 1s cubic-bezier(.215,.61,.355,1),width 1s cubic-bezier(.215,.61,.355,1);z-index:1}.gauge-marker{position:absolute;top:50%;width:0;height:0;transform:translateY(-50%);transition:left 1s cubic-bezier(.215,.61,.355,1);z-index:1}.gauge-marker.pointing-right{border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:8px solid #477afa}.gauge-marker.pointing-left{border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:8px solid #477afa}.gauge-text{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;padding:0 12px;pointer-events:none}.gauge-text span:first-child{font-size:14px;font-weight:400;color:#222}.gauge-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#888}.littleLabel{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#888}#chartArea{flex:1;display:flex;flex-direction:column;min-height:0}.chartContainer{width:100%;flex:1;min-height:0}#rangeBtn{background:transparent;color:#888;border:1px solid #ccc;font-size:11px;font-family:Inter,sans-serif;font-weight:400;letter-spacing:.06em;text-transform:uppercase;padding:8px 14px;cursor:pointer;margin:8px 0 4px}#rangeBtn:hover{border-color:#999;color:#555}#analysisMessage{padding:10px 0 4px}.progressTrack{height:36px;background:#e0e0e0;position:relative;overflow:hidden;margin-top:6px}#chartProgress .progressTrack{background-image:linear-gradient(to right,transparent calc(100% - 1px),rgba(0,0,0,.1) calc(100% - 1px));background-size:calc(100% / 3) 100%}#analysisMessage .progressTrack{background-image:linear-gradient(to right,transparent calc(100% - 1px),rgba(0,0,0,.1) calc(100% - 1px));background-size:calc(100% / 7) 100%}.progressFill{position:absolute;top:0;left:0;height:100%;background:#0048ff59;width:0%;transition:width .5s ease}#chartProgress{margin-top:auto;padding-top:20px}#weightEntry{padding:10px 15px;border-top:1px solid #ddd;background:#eee}#weightEntry .row{margin:0}.appFooter{background:#0048ff;font-size:15px;padding:14px 15px;padding-bottom:max(14px,env(safe-area-inset-bottom));text-align:center;color:#fff}.appFooter a{color:#0f0;margin:0 6px;text-decoration:none}.appFooterTitle{font-size:15px;font-weight:600;letter-spacing:-.5px;margin:0 6px}.brandName{font-weight:600;letter-spacing:-.5px}.message{font-size:13px;text-align:center;padding:6px 0;min-height:28px;line-height:1.4}.message[data-type=error]{color:#c20}.message[data-type=success],.message[data-type=info]{color:#555}#auth .message[data-type=error]{color:#ffa0a0}#auth .message[data-type=success],#auth .message[data-type=info]{color:#ffffffd9}#emptyState{flex:1;display:flex;flex-direction:column;justify-content:center;padding:10px 0;border-top:1px solid #ddd;border-bottom:1px solid #ddd}#emptyState h2{font-size:20px;font-weight:300;letter-spacing:-.5px;margin:0 0 16px}#emptyState p{font-size:15px;font-weight:300;color:#555;line-height:23px;margin:0 0 16px}#emptyState p:last-child{margin-bottom:0}.faqBody{padding:30px 15px}.faqBody h1{font-size:22px;font-weight:600;letter-spacing:-.5px;text-align:center;margin-bottom:30px}.faqBody h3{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:500;color:#888;margin-top:28px;margin-bottom:6px}.faqBody p{font-size:15px;line-height:23px;color:#333;margin:0}.faqBody p+p{margin-top:12px}.faqBody a{color:#0048ff}.gaugeExamples{margin:20px 0;display:flex;flex-direction:column;gap:20px}.gaugeExample p{font-size:13px;color:#888;margin:6px 0 0;line-height:18px}
