:root{--paper:#f7f3ea;--ink:#211f1b;--faint:rgba(33,31,27,.2);--line:rgba(33,31,27,.55);--accent:#9FE2BF;--miss:#EBCDC5;--downbad:#EBCDC5;--missInk:#b06a5c;--sleep:#93acc2;--wake:#f0b489;--hand:"Helvetica Neue",Helvetica,Arial,sans-serif;--mono:"Space Mono",ui-monospace,monospace}*{box-sizing:border-box}html,body{margin:0}body{background:radial-gradient(circle at 1px 1px,rgba(33,31,27,.05) 1px,transparent 0) 0 0/22px 22px,var(--paper);color:var(--ink);font-family:var(--mono);-webkit-font-smoothing:antialiased}.rgh{filter:url(#rough)}[data-rough=off] .rgh{filter:none!important}[data-annot=off] .annot{display:none!important}.wrap{max-width:1340px;margin:0 auto;padding:26px 22px 120px}.appHead{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-end;justify-content:space-between;margin-bottom:14px}.appTitle{display:flex;gap:12px;align-items:center}.appMark{font-size:30px;color:var(--accent);line-height:1}.appTitle h1{font-family:var(--hand);font-size:34px;font-weight:700;margin:0;line-height:.95}.appTitle p{font-size:11px;margin:3px 0 0;color:var(--line);letter-spacing:.02em}.tabs{display:flex;gap:8px;flex-wrap:wrap}.tab{display:flex;align-items:center;gap:8px;background:transparent;cursor:pointer;border:2px solid var(--faint);border-radius:13px 9px 14px 8px;padding:7px 12px 6px;font-family:var(--mono);color:var(--line);transition:all .12s}.tab:hover{border-color:var(--line)}.tab.on{border-color:var(--ink);background:var(--ink);color:var(--paper)}.tab.on .tabKey{background:var(--accent);color:#fff;border-color:var(--accent)}.tabKey{display:grid;place-items:center;width:22px;height:22px;border:2px solid var(--faint);border-radius:7px 5px 8px 4px;font-family:var(--hand);font-weight:700;font-size:16px}.tabName{font-size:12px;font-weight:700}.vibeBar{border-top:2px dashed var(--faint);border-bottom:2px dashed var(--faint);padding:8px 2px;margin-bottom:20px;line-height:1.4}.vibeTag{font-family:var(--hand);font-size:21px;font-weight:700;color:var(--accent);margin-right:34px;display:inline-block;vertical-align:middle;white-space:nowrap}.vibeHint{font-size:11px;color:var(--line);display:inline-block;vertical-align:middle}.canvas{display:flex;gap:34px;align-items:flex-start;overflow-x:auto;padding-bottom:18px}.frameCol{flex:0 0 auto}.frameLabel{font-size:11px;color:var(--line);margin:0 0 8px 4px;letter-spacing:.04em}.fkind{font-family:var(--hand);font-size:18px;font-weight:700;color:var(--ink)}.device{background:var(--paper);border:2.5px solid var(--ink);position:relative}.device.desktop{width:880px;border-radius:16px 12px 18px 10px;box-shadow:7px 8px #211f1b1f}.device.mobile{width:362px;border-radius:30px;box-shadow:6px 8px #211f1b1f;overflow:hidden}.device.mobile:before{content:"";position:absolute;top:9px;left:50%;transform:translate(-50%);width:96px;height:6px;border-radius:6px;background:var(--faint);z-index:5}.dash{padding:20px}.dash.mob{padding:26px 14px 18px}.dash.mob .topbar{margin-top:6px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:10px}.topbar.center{justify-content:center;gap:16px}.brand{display:flex;align-items:center;gap:7px}.brandMark{color:var(--accent);font-size:20px}.brandName{font-family:var(--hand);font-size:25px;font-weight:700}.brandSm .brandName{font-size:21px}.topRight{display:flex;align-items:center;gap:12px}.chip{font-size:11px;border:2px solid var(--faint);border-radius:9px 6px 10px 5px;padding:4px 9px;color:var(--line);white-space:nowrap}.stat{display:flex;flex-direction:column;line-height:1.05;align-items:flex-end}.stat b{font-family:var(--hand);font-size:21px}.stat i{font-size:9px;color:var(--line);font-style:normal}.secTitle{display:flex;align-items:baseline;gap:20px;margin:18px 0 10px}.secTitle span{font-family:var(--hand);font-size:21px;font-weight:700;white-space:nowrap}.secTitle em{font-size:10px;color:var(--line);font-style:normal}.dash.mob .secTitle{margin:16px 0 8px}.chart{width:100%}.chartHead{display:flex;align-items:baseline;gap:9px;margin-bottom:4px}.chartTitle{font-family:var(--hand);font-size:19px;font-weight:700}.chartSub{font-size:10px;color:var(--line)}.axlbl{font-family:var(--mono);font-size:10px;fill:var(--line)}.annot{font-family:var(--hand);font-size:18px;font-weight:600;margin-top:4px}.accentInk{color:var(--accent)}.annot:before{content:"✎ "}.hero{border:2px solid var(--faint);border-radius:16px 11px 14px 12px;padding:14px 14px 6px;background:#ffffff59}.sparkGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.hcard{border:2px solid var(--faint);border-radius:12px 9px 13px 8px;padding:10px 11px 8px;background:#fff6}.hcardBig{padding:12px 13px 10px}.hcardWide{grid-column:span 2}.hcardTop{display:flex;align-items:center;gap:8px;margin-bottom:6px}.hcardName{font-size:11px;font-weight:700;flex:1;line-height:1.1}.trend{font-family:var(--hand);font-size:18px;font-weight:700}.trend.up{color:var(--accent)}.trend.down{color:var(--miss)}.trend.flat{color:var(--line)}.weekDots{display:flex;gap:5px;margin-top:7px}.wd{width:13px;height:13px;border-radius:5px 3px 6px;border:2px solid var(--line);display:grid;place-items:center}.wd-done{background:var(--accent);border-color:var(--accent)}.wd-miss{background:transparent;border-color:var(--miss)}.wd-na{border-style:dashed;border-color:var(--faint);color:var(--faint);font-size:11px}.glyph{display:grid;place-items:center;font-family:var(--mono);font-weight:700;border:2px solid var(--line);border-radius:10px 7px 11px 6px;color:var(--line);flex:0 0 auto;letter-spacing:-.02em;background:var(--paper)}.glyphOn{border-color:var(--accent);color:var(--accent);background:color-mix(in oklab,var(--accent) 12%,transparent)}.twoCol{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;margin-top:6px}.panel{border:2px solid var(--faint);border-radius:14px 10px 15px 11px;padding:13px 14px;background:#ffffff59}.panel.airy{padding:16px 18px}.panel.soft{background:color-mix(in oklab,var(--accent) 5%,transparent)}.clist{display:flex;flex-direction:column;gap:2px}.clrow{display:flex;align-items:center;gap:10px;padding:6px 4px;border-bottom:1.5px dotted var(--faint)}.clrow.dense{padding:4px 2px;gap:8px}.clname{flex:1;font-size:12px;font-weight:700;line-height:1.15}.clnote{font-size:10px;color:var(--line);font-weight:400;font-style:normal}.clbox{width:24px;height:24px;border:2px solid var(--line);border-radius:8px 5px 9px 4px;display:grid;place-items:center;font-size:14px;flex:0 0 auto;color:var(--line)}.clbox.checked{background:var(--accent);border-color:var(--accent);color:#fff}.clbox.na{border-style:dashed;color:var(--faint)}.weeklyStrip{display:flex;gap:10px;margin-top:12px}.wkcard{flex:1;border:2px solid var(--faint);border-radius:11px 8px 12px 7px;padding:9px 10px}.wkcount{font-family:var(--hand);font-size:17px;font-weight:700;color:var(--accent)}.wkmini{display:flex;align-items:center;gap:9px;padding:7px 2px;border-bottom:1.5px dotted var(--faint)}.wkbig{margin-bottom:13px}.wkbigTop{display:flex;align-items:center;gap:10px;margin-bottom:7px}.legend{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:10px;color:var(--line);margin-top:7px}.lg{width:15px;height:0;border-top:3px solid;display:inline-block;margin-left:8px}.lg:first-child{margin-left:0}.lgAccent{border-color:var(--accent)}.lgInk{border-color:var(--ink)}.lgMiss{border-color:var(--miss);border-top-style:dashed}.ring{display:flex;flex-direction:column;align-items:center;gap:3px}.ringTxt{font-family:var(--hand);font-weight:700;font-size:17px;fill:var(--ink)}.ringLbl{font-size:10px;color:var(--line)}.split{display:grid;grid-template-columns:262px 1fr;gap:22px}.rail{display:flex;flex-direction:column;gap:6px;border-right:2px dashed var(--faint);padding-right:20px}.rail .ring{align-self:flex-start;margin:6px 0}.stage{min-width:0}.stageHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.h1{font-family:var(--hand);font-size:27px;font-weight:700;white-space:nowrap}.stage .panel{margin-top:18px}.aggStrip{display:flex;align-items:center;gap:18px;border:2px solid var(--ink);border-radius:14px 10px 15px 11px;padding:10px 16px;margin-bottom:16px;background:#fff6}.aggLeft{display:flex;flex-direction:column;flex:0 0 auto}.aggTtl{font-family:var(--hand);font-size:22px;font-weight:700}.aggSub{font-size:10px;color:var(--line)}.aggChart{flex:1;min-width:0}.gridMulti{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.mobAgg{flex-direction:column;align-items:stretch;gap:4px}.gridMobile{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.focusHero{border:2px solid var(--faint);border-radius:18px 12px 16px 13px;padding:18px 22px 8px;background:#fff6;display:flex;flex-direction:column;align-items:center}.focusCap{display:flex;align-items:baseline;gap:10px;margin-bottom:2px}.focusCap .big{font-family:var(--hand);font-size:54px;font-weight:700;line-height:.9;color:var(--accent)}.focusCap .cap{font-size:12px;color:var(--line)}.mobCap{justify-content:center;margin:4px 0}.mobCap .big{font-size:42px}.focusHero .chart{width:100%}.glyphStrip{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}.gItem{display:flex;flex-direction:column;align-items:center;gap:5px;width:78px}.gItem.gNa{opacity:.4}.gRingWrap{position:relative;display:grid;place-items:center}.gGlyph{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.gGlyph .glyph{border:none;background:transparent}.gLbl{font-size:10px;color:var(--line);text-align:center;display:flex;flex-direction:column;line-height:1.2}.gLbl em{font-style:normal;font-family:var(--hand);font-size:15px;font-weight:700;color:var(--accent)}.focusRow{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}.pbar{height:13px;border:2px solid var(--line);border-radius:8px;overflow:hidden;background:var(--paper)}.pbarFill{height:100%;background:var(--accent)}.hscroll{display:flex;gap:10px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}.hslot{flex:0 0 150px}.dash.mob .glyphStrip{flex-wrap:nowrap}.dash.mob .twoCol,.dash.mob .focusRow{grid-template-columns:1fr}.wrap{max-width:1180px}.pageHead{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:14px}.headLead{display:flex;align-items:baseline;gap:14px;flex:0 0 auto}.headRight{display:flex;align-items:center;gap:16px}.glanceRow{display:grid;grid-template-columns:repeat(8,1fr);gap:10px}.glance{display:flex;align-items:center;justify-content:center;border:2px solid var(--faint);border-radius:13px 9px 14px 8px;padding:18px 8px;background:#fff6;min-height:62px}.glance .glyph{border:none;background:transparent;width:auto!important;height:auto!important;font-size:13px!important}.glance.done{background:var(--accent);border-color:var(--accent)}.glance.done .glyph{color:var(--ink)}.glance.miss{border-color:var(--miss);border-style:dashed;background:color-mix(in oklab,var(--miss) 7%,transparent)}.glance.miss .glyph{color:var(--missInk)}.glance.na{opacity:.4;border-style:dotted}.glance.na .glyph{color:var(--line)}.mainGrid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;margin-top:8px;align-items:start}.rightCol{display:flex;flex-direction:column;gap:18px}.rightCol .panel{margin:0}.listSection{margin-top:0}.habitList{display:flex;flex-direction:column}.hrow{display:flex;align-items:center;gap:14px;padding:11px 6px;border-bottom:1.5px dotted var(--faint)}.hrow:last-child{border-bottom:none}.habitRow{display:grid;grid-template-columns:30px 28px minmax(60px,1fr) 58px auto 140px 54px;gap:12px;align-items:center;cursor:pointer;transition:background .45s ease;border-bottom:none;border-radius:11px 8px 12px 7px;margin-bottom:6px;padding:11px 10px}.habitRow:last-of-type{margin-bottom:0}.habitRow.na{cursor:default}.habitRow.done{background:linear-gradient(90deg,color-mix(in oklab,var(--accent) 55%,transparent) 0%,transparent 50%)}.habitRow:not(.na):hover{background:color-mix(in oklab,var(--accent) 12%,transparent)}.habitRow.done:not(.na):hover{background:linear-gradient(90deg,color-mix(in oklab,var(--accent) 62%,transparent) 0%,transparent 50%)}.hmeta{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.hname{font-size:13px;font-weight:700;line-height:1.2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hnote{font-size:11px;color:var(--line);font-weight:400;font-style:normal}.htraj{width:100%;min-width:0}.durCell{display:flex;justify-content:flex-start}.streakCell{display:flex;justify-content:flex-start;align-items:center}.durInput{width:56px;font-family:var(--mono);font-size:12px;font-weight:700;border:2px solid var(--line);border-radius:8px 5px 9px 4px;padding:4px;background:var(--paper);color:var(--ink);text-align:center}.checkbox{width:28px;height:28px;border:2px solid var(--line);border-radius:9px 6px 10px 5px;display:grid;place-items:center;font-size:16px;color:var(--line);flex:0 0 auto}.checkbox.checked{background:var(--accent);border-color:var(--accent);color:var(--ink)}.checkbox.na{border-style:dashed;color:var(--faint)}.checkbox.ghost{visibility:hidden}.timeRow{border-bottom:none;margin:3px 0;padding:12px 10px;display:grid;grid-template-columns:30px 28px minmax(60px,1fr) 58px auto 140px 54px;gap:12px;align-items:center;transition:background .45s ease;background:color-mix(in oklab,var(--ink) 4%,transparent)}.timeRow .glyph{grid-column:1}.timeRow .hname{grid-column:3;display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;white-space:normal}.timeRow .hname .hlabel{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeRow .hname .hnote{font-family:var(--mono);font-size:11px}.timeRow .timeCell{grid-column:4}.timeRow .weekDots{grid-column:5}.timeRow .htraj{grid-column:6}.timeCell{display:flex;justify-content:flex-start}.timeRow.wake.met{background:linear-gradient(90deg,color-mix(in oklab,var(--wake) 55%,transparent) 0%,transparent 72%)}.timeRow.bed.met{background:linear-gradient(90deg,color-mix(in oklab,var(--sleep) 55%,transparent) 0%,transparent 72%)}.timeInput{font-family:var(--mono);font-size:12px;font-weight:700;border:2px solid var(--line);border-radius:8px 5px 9px 4px;padding:4px 2px;background:var(--paper);color:var(--ink);width:100%;min-width:0;box-sizing:border-box;text-align:center}.timeInput::-webkit-calendar-picker-indicator{display:none}.timeInput::-webkit-inner-spin-button{display:none;-webkit-appearance:none}.metTag{font-size:10px;font-weight:700;padding:3px 8px;border-radius:7px;border:2px solid;white-space:nowrap}.metTag.ok{color:var(--accent);border-color:var(--accent)}.metTag.bad{color:var(--missInk);border-color:var(--miss);border-style:dashed}.weeklySection{margin-top:18px}.weeklyList{display:grid;grid-template-columns:1fr 1fr;gap:14px}.wkrow{display:flex;align-items:center;gap:14px;border:2px solid var(--faint);border-radius:12px 9px 13px 8px;padding:13px 15px}.wkrow .hname{flex:1}.wkcadence{font-size:11px;color:var(--line);white-space:nowrap}.wkPips{display:flex;gap:7px}.wkPip{width:18px;height:18px;border-radius:6px 4px 7px;border:2px solid var(--line);background:var(--paper);padding:0;cursor:pointer;transition:transform .12s ease,background .2s ease}.wkPip:hover{transform:translateY(-2px)}.wkPip.on{background:var(--accent);border-color:var(--accent)}.lgSleep{border-color:var(--sleep)}.lgWake{border-color:var(--wake)}.wdWake .wd-done{background:var(--wake);border-color:var(--wake)}.wdSleep .wd-done{background:var(--sleep);border-color:var(--sleep)}.graphPanel{padding:8px 10px}.wm{fill:var(--line);opacity:.18;font-family:var(--hand);font-weight:700;font-size:26px;letter-spacing:.01em;text-transform:lowercase}.statBox{display:flex;align-items:stretch;gap:0;border:2px solid var(--ink);border-radius:13px 9px 14px 8px;padding:10px 6px;background:#ffffff80}.statItem{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;padding:2px 6px}.statItem b{font-family:var(--hand);font-size:23px;font-weight:700;line-height:1}.statItem i{font-size:10px;color:var(--line);font-style:normal}.statDiv{width:2px;background:var(--faint);border-radius:2px;margin:2px 0}.cmp.up{color:var(--accent)}.cmp.down{color:var(--miss)}.cmp.flat{color:var(--line)}.seg{transition:stroke 1.1s cubic-bezier(.4,0,.2,1)}.habitList .glyph{border:none;background:transparent}.gimg{background-color:currentColor!important;border:none!important;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;color:var(--ink)}.glance .gimg,.glance.done .gimg{width:30px!important;height:30px!important;font-size:0!important}.gimg.glyphOn{background-color:var(--accent)!important}.sleepNum{font-family:var(--mono);font-weight:700;font-size:11px;fill:var(--ink);paint-order:stroke;stroke:var(--paper);stroke-width:3.2px;stroke-linejoin:round}.overallPanel{position:relative}.graphStats{position:absolute;top:7px;left:13px;z-index:3;display:flex;gap:14px;align-items:baseline;font-size:9.5px;color:var(--line);letter-spacing:.01em;pointer-events:none}.graphStats span{display:inline-flex;align-items:baseline;gap:4px;white-space:nowrap}.graphStats b{font-family:var(--hand);font-size:15px;font-weight:700;color:var(--ink);line-height:1}.graphStats .cmp.up,.graphStats .cmp.up b{color:var(--accent)}.graphStats .cmp.down,.graphStats .cmp.down b{color:var(--missInk)}.habitRow .gimg,.habitRow .gimg.glyphOn,.timeRow .gimg,.timeRow .gimg.glyphOn{background-color:var(--ink)!important}#root{background:#faf4ec}.listSection{padding-top:11px}.listSection .secTitle{margin-top:0;margin-bottom:8px}.yax{font-weight:700}.axCap{font-family:var(--mono);font-size:9px;fill:var(--line);letter-spacing:.04em}.habitRow .hname{display:flex;align-items:center;gap:8px;overflow:visible}.habitRow .hlabel{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.streakChip{display:inline-flex;align-items:center;gap:3px;flex:0 0 auto;font-family:var(--mono);font-weight:700;line-height:1;padding:3px 7px 3px 5px;border:2px solid;border-radius:8px 0}.streakChip .flame{display:block}.streakChip .flame path{fill:currentColor}.streakChip b{font-size:12px}.streakChip.good{color:color-mix(in oklab,var(--accent) 62%,var(--ink));border-color:color-mix(in oklab,var(--accent) 70%,var(--ink));background:color-mix(in oklab,var(--accent) 28%,transparent)}.streakChip.risk{color:var(--missInk);border-color:color-mix(in oklab,var(--miss) 85%,var(--missInk));background:color-mix(in oklab,var(--miss) 38%,transparent)}.dateNav{display:flex;align-items:center;gap:9px}.dnBtn{width:32px;height:32px;display:grid;place-items:center;cursor:pointer;border:2px solid var(--faint);border-radius:9px 0;background:var(--paper);color:var(--ink);font-size:18px;line-height:1;font-family:var(--hand);transition:border-color .12s,opacity .12s}.dnBtn:hover:not(:disabled){border-color:var(--ink)}.dnBtn:disabled{opacity:.3;cursor:default}.dnLabel{display:flex;align-items:center;gap:10px;min-width:172px;justify-content:center;border:2px solid var(--faint);border-radius:10px 0;padding:5px 13px}.dnDow{font-family:var(--hand);font-weight:700;font-size:21px;color:var(--accent);line-height:1}.dnDate{font-size:12px;font-weight:700;color:var(--ink);white-space:nowrap}.dnDate em{font-style:normal;color:var(--line);font-weight:400}.pageHead .statusGlyphs{flex:0 1 auto;gap:7px;min-width:0;margin:0}.pageHead .dateNav{margin-left:auto;flex:0 0 auto}.pageHead .statusGlyphs .glance{min-height:34px;width:36px;padding:7px 5px}.pageHead .statusGlyphs .glance .gimg{width:18px!important;height:18px!important}.pageHead .statusFrac{padding-left:0;line-height:.8}.pageHead .statusFrac .num{font-size:33px}.pageHead .statusFrac .den{font-size:19px}.timeRow.wake{margin-bottom:13px}.timeRow.bed{margin-top:13px}.panel{border:none}.panel,.hero,.focusHero,.aggStrip,.statusWin{border-radius:18px 0}.tab,.chip,.hcard,.wkcard,.wkrow,.glance,.habitRow,.timeRow,.statBox,.wkmini{border-radius:12px 0}.tabKey,.glyph,.clbox,.checkbox,.durInput,.timeInput,.metTag,.wkPip,.wd{border-radius:8px 0}.panel.listSection,.panel.weeklySection,.panel.graphPanel{border:2px solid var(--line)}.rangeBar{display:flex;align-items:center;justify-content:flex-end;gap:10px}.rangeBar .rangeLbl{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--line)}.rangeSeg{display:flex;border:2px solid var(--line);border-radius:9px 0;overflow:hidden;background:var(--paper)}.rangeBtn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;font-family:var(--mono);font-size:12px;font-weight:700;color:var(--line);padding:5px 13px;cursor:pointer;border-left:2px solid var(--faint);transition:background .15s,color .15s}.rangeBtn:first-child{border-left:0}.rangeBtn.on{background:var(--ink);color:var(--paper)}.rangeBtn:not(.on):hover{background:color-mix(in oklab,var(--ink) 8%,transparent)}.listCol{display:flex;flex-direction:column;gap:18px}.statusWin{display:flex;align-items:center;gap:18px;padding:12px 15px}.statusGlyphs{display:flex;gap:8px;flex-wrap:wrap;flex:1;min-width:0}.statusGlyphs .glance{min-height:42px;padding:10px 7px;width:46px;flex:0 0 auto}.statusGlyphs .glance.clickable{cursor:pointer;transition:transform .12s ease,background .2s ease}.statusGlyphs .glance.clickable:hover{transform:translateY(-2px)}.statusGlyphs .glance .gimg{width:22px!important;height:22px!important}.statusFrac{display:flex;align-items:baseline;font-family:var(--hand);font-weight:700;line-height:.85;flex:0 0 auto;padding-left:4px}.statusFrac .num{font-size:48px;color:var(--ink);transition:color .3s ease}.statusFrac.good .num{color:var(--accent)}.statusFrac .den{font-size:27px;color:var(--line)}.authWrap{min-height:100dvh;display:grid;place-items:center;padding:20px}.authCard{width:100%;max-width:360px;border:2px solid var(--line);border-radius:18px 0;background:#ffffff80;padding:26px 24px}.authBrand{display:flex;align-items:center;gap:8px;margin-bottom:4px}.authBrand .brandMark{font-size:22px}.authBrand .brandName{font-size:24px}.authSub{color:var(--line);font-size:12px;margin-bottom:18px}.authLabel{font-size:10px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--line);display:block;margin-top:14px}.authInput{width:100%;padding:10px 12px;margin-top:6px;font-family:var(--mono);font-size:14px;border:2px solid var(--line);border-radius:8px 0;background:var(--paper);color:var(--ink)}.authMsg{margin-top:14px;font-size:12px;color:var(--missInk)}.authBtn{width:100%;margin-top:18px;padding:10px 12px;font-family:var(--mono);font-weight:700;font-size:13px;border:2px solid var(--ink);border-radius:8px 0;background:var(--ink);color:var(--paper);cursor:pointer}.authBtn:disabled{opacity:.5;cursor:default}.authToggle{width:100%;margin-top:12px;background:none;border:none;color:var(--line);font-family:var(--mono);font-size:12px;cursor:pointer}.utilBar{display:flex;justify-content:flex-end;gap:8px;margin-bottom:6px}.tbtn{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--line);background:var(--paper);border:2px solid var(--faint);border-radius:8px 0;padding:5px 11px;cursor:pointer;transition:border-color .12s,color .12s}.tbtn:hover:not(:disabled){border-color:var(--ink);color:var(--ink)}.tbtn:disabled{opacity:.5;cursor:default}.splash{min-height:100dvh;display:grid;place-items:center;color:var(--line);font-family:var(--mono)}@media (max-width:820px){.mainGrid,.weeklyList{grid-template-columns:1fr}.pageHead{gap:12px}.pageHead .dateNav{margin-left:0}}
