:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#33251f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--rose:#f7a7b8;--rose-deep:#a83f62;--mint:#7fc7a6;--butter:#ffe39f;--ink:#33251f;--muted:#745f57;--paper:#fffdf8;--line:#ead8c9;--green-strong:#4f9f73;--green-soft:#b9df9a;--sky:#9fd3d2;--shadow:.35rem .35rem 0 #33251f29;background:#fff7ed;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(#ffffff4d 1px,#0000 1px) 0 0/1.5rem 1.5rem,linear-gradient(90deg,#ffffff4d 1px,#0000 1px) 0 0/1.5rem 1.5rem,#fff7ed;min-width:320px;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #7fc7a6}.app-shell{min-height:100vh}.topbar{z-index:10;border-bottom:3px solid var(--ink);background:#fffdf8;justify-content:space-between;align-items:center;gap:1rem;padding:1rem clamp(1rem,3vw,2rem);display:flex;position:sticky;top:0}.brand-lockup,.session-actions,.page-kicker{align-items:center;gap:.75rem;display:flex}.brand-lockup h1,.login-card h1,.placeholder-page h2,.v05-screen h2{letter-spacing:0;margin:0}.brand-lockup h1{font-size:1.25rem}.eyebrow,.page-kicker,.session-label{color:var(--muted);text-transform:uppercase;margin:0;font-size:.78rem;font-weight:650}.pixel-sola{aspect-ratio:1;border:3px solid var(--ink);background:linear-gradient(90deg, #ffffff73 50%, transparent 50%) 0 0 / .5rem .5rem, var(--butter);width:3rem;box-shadow:.25rem .25rem 0 var(--ink);color:var(--rose-deep);border-radius:.45rem;place-items:center;display:grid}.pixel-art-icon,.mascot-art{image-rendering:crisp-edges;image-rendering:pixelated;display:block}.pixel-art-icon{object-fit:contain;width:100%;height:100%}.mascot-art{pointer-events:none;-webkit-user-select:none;user-select:none}.pixel-sola.large{width:4rem;margin:0 auto 1rem}.layout{grid-template-columns:16rem minmax(0,1fr);gap:clamp(1rem,3vw,2rem);padding:clamp(1rem,3vw,2rem);display:grid}.sidebar-rail{align-self:start;gap:1.1rem;display:grid;position:sticky;top:6rem}.primary-nav{border:3px solid var(--ink);background:var(--paper);box-shadow:var(--shadow);border-radius:.35rem;gap:.6rem;padding:.75rem;display:grid}.mobile-bottom-nav{display:none}.nav-item{min-height:3rem;color:var(--ink);border:2px solid #0000;border-radius:.25rem;align-items:center;gap:.7rem;padding:.75rem .9rem;text-decoration:none;display:flex}.nav-item>.pixel-art-icon{flex:none;width:1.7rem;height:1.7rem}.route-mascot{justify-items:center;gap:.25rem;padding-inline:.5rem;display:grid}.route-mascot-image{object-fit:contain;width:min(12.5rem,82%);max-height:18rem}.nav-item:hover,.nav-item.active{border-color:var(--ink);box-shadow:.18rem .18rem 0 var(--ink);background:#ffe39f}.nav-item.active{color:var(--rose-deep);font-weight:650}.main-panel{min-width:0}.placeholder-page,.login-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffdf8e6;border-radius:.5rem}.placeholder-page{min-height:min(34rem,100vh - 8rem);padding:clamp(1.25rem,4vw,3rem)}.placeholder-page h2{margin-top:1rem;font-size:clamp(2rem,5vw,4.5rem)}.placeholder-page p,.empty-note{max-width:42rem;color:var(--muted);font-size:1.05rem;line-height:1.6}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.scope-note{border:1px solid var(--line);color:var(--ink);background:#fff7ed;border-radius:.5rem;margin-top:1.5rem;padding:.75rem .9rem;display:inline-flex}.v05-screen{gap:1rem;display:grid}.v05-screen .surface-header{padding:.25rem 0 .5rem}.pixel-date,.status-chip{border:2px solid var(--ink);background:var(--butter);min-height:2rem;box-shadow:.18rem .18rem 0 var(--ink);border-radius:.25rem;align-items:center;padding:.35rem .65rem;font-weight:800;display:inline-flex}.today-layout{grid-template-columns:minmax(0,50rem) minmax(17rem,23rem);align-items:start;gap:1rem;width:min(100%,74rem);display:grid}.quest-board,.pixel-card,.chart-board{border:3px solid var(--ink);background:var(--paper);box-shadow:var(--shadow);border-radius:.35rem;position:relative}.quest-board{background:linear-gradient(#f1dcc8 1px, transparent 1px) 0 0 / 100% 2.4rem, var(--paper);gap:1rem;min-height:32rem;padding:1.35rem;display:grid}.board-clip{border:3px solid var(--ink);background:var(--rose);width:6rem;height:1.5rem;box-shadow:.18rem .18rem 0 var(--ink);border-radius:.25rem;position:absolute;top:-.9rem;left:50%;transform:translate(-50%)}.compact{align-items:center}.status-chip{color:var(--rose-deep);text-transform:uppercase;background:#f7d5dc;font-size:.75rem}.error-chip{color:#9d1f3d;background:#ffe1dc}.today-header{align-items:end}.date-pill{border:2px solid var(--ink);background:var(--paper);box-shadow:.18rem .18rem 0 var(--ink);border-radius:.25rem;gap:.25rem;padding:.45rem;display:grid}.date-pill span,.daily-input-grid label>span,.checklist-fieldset legend{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:750}.date-pill input{color:var(--ink);background:0 0;border:0;font-weight:750}.check-preview-list,.side-stack,.history-layout,.progress-layout{gap:1rem;display:grid}.check-preview{border:2px solid var(--ink);background:#fffdf8db;border-radius:.25rem;align-items:center;gap:.7rem;min-height:3rem;padding:.6rem .75rem;font-weight:750;display:flex}.checklist-fieldset{border:0;min-width:0;margin:0;padding:0}.checklist-fieldset legend{margin-bottom:.55rem}.real-check{cursor:pointer}.real-check input{aspect-ratio:1;width:1.25rem;accent-color:var(--green-strong);flex:none;margin:0}.real-check .tiny-checkbox{display:none}.real-check:has(input:checked){border-color:var(--green-strong);box-shadow:.18rem .18rem 0 var(--ink);background:#f3fbf6}.tiny-checkbox{aspect-ratio:1;border:2px solid var(--ink);background:var(--green-soft);width:1.35rem;color:var(--ink);border-radius:.15rem;flex:none;place-items:center;display:grid}.field-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-top:.25rem;display:grid}.field-preview-grid div{min-height:4.25rem;color:var(--muted);background:#fff7edd6;border:2px dashed #33251f8c;border-radius:.25rem;padding:.75rem;font-size:.88rem;font-weight:750}.daily-input-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.75rem;display:grid}.daily-input-grid.two-column{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr))}.daily-input-grid label{gap:.35rem;min-width:0;display:grid}.field-label{align-items:center;gap:.4rem;display:inline-flex}.field-icon,.streak-icon{aspect-ratio:1;border:2px solid var(--ink);background:var(--butter);width:1.45rem;box-shadow:.12rem .12rem 0 var(--ink);color:var(--rose-deep);border-radius:.18rem;flex:none;place-items:center;display:inline-grid}.field-icon .pixel-art-icon,.streak-icon .pixel-art-icon{width:1.22rem;height:1.22rem}.section-pixel-icon{border:2px solid var(--ink);background:var(--butter);box-shadow:.12rem .12rem 0 var(--ink);aspect-ratio:1;border-radius:.18rem;flex:none;place-items:center;width:2rem;display:inline-grid}.section-pixel-icon .pixel-art-icon{width:1.65rem;height:1.65rem}.button-pixel-icon{flex:none;width:1.35rem;height:1.35rem}.daily-input-grid em{color:#8d756b;text-transform:none;font-size:.72rem;font-style:normal}.daily-input-grid input{border:2px solid var(--ink);width:100%;min-height:2.75rem;color:var(--ink);background:#fffdf8;border-radius:.25rem;padding:.65rem .7rem}.daily-input-grid input:disabled{cursor:not-allowed;color:#8d756b;background:#eadfd8}.wide-field{grid-column:span 2}.checkin-section,.workout-details{border:2px solid var(--ink);background:#fff7edd6;border-radius:.25rem;gap:.75rem;padding:.85rem;display:grid}.checkin-section-heading{gap:.1rem;display:grid}.checkin-section-heading h4,.workout-details h5,.food-photo-preview h4{margin:0}.checklist-section{background:#fffdf8e0}.daily-details-section{background:#fff7edd6}.food-photo-preview{border-style:dashed;align-items:start}.check-preview-stack{gap:0;display:grid}.workout-details{box-shadow:inset .18rem 0 0 var(--green-soft);background:#fffdf8;border-top-left-radius:0;margin-top:-2px;margin-left:2.2rem}.workout-input-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr))}.food-upload-panel{gap:.75rem;min-width:0;display:grid}.food-upload-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.75rem;display:grid}.food-field-card,.food-upload-grid input,.food-upload-grid select{min-width:0}.food-field-card{border:2px solid var(--ink);box-shadow:.14rem .14rem 0 var(--ink);background:#fffdf8;border-radius:.24rem;align-content:start;gap:.45rem;padding:.65rem;display:grid}.food-field-card input:not([type=file]),.food-field-card select{border:2px solid var(--ink);width:100%;min-height:2.75rem;color:var(--ink);font:inherit;background:#fff7ed;border-radius:.22rem;padding:.6rem .7rem;font-weight:750}.food-field-card input::placeholder{color:#9f8b82;opacity:1;font-weight:400}.food-field-card select:has(option[value=""]:checked){color:var(--muted);font-weight:500}.food-field-card input:focus-visible,.food-field-card select:focus-visible,.photo-picker-button:focus-visible,.photo-thumb-button:focus-visible,.day-photo-thumb:focus-visible,.food-photo-card:focus-visible{outline:3px solid var(--rose);outline-offset:2px}.native-file-input{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.photo-picker-button{border:3px solid var(--ink);background:var(--butter);min-height:2.75rem;box-shadow:.16rem .16rem 0 var(--ink);color:var(--ink);cursor:pointer;text-align:center;white-space:nowrap;border-radius:.24rem;justify-content:center;align-items:center;gap:.45rem;padding:.6rem .7rem;font-weight:900;display:inline-flex}.selected-file-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.75rem;font-weight:800;overflow:hidden}.selected-file-name.has-file{color:#3f8063}.food-upload-button{justify-self:start;font-weight:650}.today-photo-strip,.day-photo-strip{gap:.55rem;display:grid}.today-photo-chip{border:2px solid var(--ink);box-shadow:.14rem .14rem 0 var(--ink);background:#fffdf8;border-radius:.25rem;grid-template-columns:3.5rem minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.45rem;display:grid}.photo-thumb-button,.day-photo-thumb img{object-fit:cover;width:100%;height:100%}.photo-thumb-button,.photo-fallback{aspect-ratio:1;border:2px solid var(--ink);background:var(--sky);border-radius:.18rem}.photo-thumb-button{cursor:pointer;place-items:center;padding:0;display:grid;overflow:hidden}.photo-thumb-button img{image-rendering:auto;object-fit:cover;width:100%;height:100%}.today-photo-chip strong,.today-photo-chip small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.today-photo-chip small{color:var(--muted);font-size:.72rem}.icon-button{border:2px solid var(--ink);min-height:2.25rem;color:var(--ink);cursor:pointer;background:#fff7ed;border-radius:.2rem;justify-content:center;align-items:center;padding:.35rem .5rem;font-weight:850;display:inline-flex}.icon-button.danger,.danger-button{background:#f4d6cf}.save-checkin-button{border:3px solid var(--ink);background:var(--green-soft);min-height:3rem;box-shadow:.22rem .22rem 0 var(--ink);color:var(--ink);cursor:pointer;border-radius:.25rem;justify-content:center;align-items:center;gap:.5rem;font-weight:850;display:inline-flex}.save-checkin-button:disabled{cursor:not-allowed;opacity:.62}.pixel-card,.chart-board{gap:.85rem;padding:1rem;display:grid}.pixel-card h3,.chart-board h3{margin:0;font-size:1.12rem}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:.35rem;display:grid}.calendar-heading{text-align:center;grid-template-columns:2.25rem minmax(0,1fr) 2.25rem;align-items:center;gap:.35rem;display:grid}.calendar-heading button{aspect-ratio:1;border:2px solid var(--ink);background:var(--butter);min-height:2rem;color:var(--ink);cursor:pointer;border-radius:.2rem;place-items:center;display:inline-grid}.calendar-heading button .pixel-art-icon{width:1.25rem;height:1.25rem}.calendar-title-lockup{justify-content:center;align-items:center;gap:.35rem;min-width:0;display:inline-flex}.calendar-title-lockup .pixel-art-icon{flex:none;width:1.35rem;height:1.35rem}.calendar-title-lockup h3{overflow-wrap:anywhere}.calendar-heading button:disabled{opacity:.58}.weekday-row{color:var(--muted);text-align:center;text-transform:uppercase;grid-template-columns:repeat(7,1fr);gap:.35rem;font-size:.68rem;font-weight:850;display:grid}.calendar-day{aspect-ratio:1;border:2px solid var(--ink);min-width:0;color:var(--ink);cursor:pointer;background:#fff7ed;border-radius:.15rem;grid-template-rows:minmax(0,1fr) .6rem;place-items:center;font-size:.78rem;font-weight:850;display:grid}.calendar-number{align-self:end;line-height:1}.calendar-marker{min-height:.6rem;color:var(--ink);letter-spacing:0;align-self:start;font-size:.58rem;line-height:1}.calendar-day.great{background:var(--green-strong)}.calendar-day.good{background:var(--green-soft)}.calendar-day.some{background:var(--butter)}.calendar-day.empty{background:#f4d6cf}.calendar-day.today{background:var(--sky);box-shadow:inset 0 0 0 2px #fffdf8}.calendar-day.neutral,.calendar-day.future{opacity:.65;background:#e8ded8;border-style:dashed}.calendar-day.future{cursor:not-allowed}.calendar-day.neutral:not(.future){cursor:pointer}.calendar-day.spacer{visibility:hidden}.numbered-calendar .calendar-day.today{opacity:1}.numbered-calendar .calendar-day.selected{border-color:var(--ink);box-shadow:inset 0 0 0 2px var(--rose), .16rem .16rem 0 var(--ink);opacity:1}.numbered-calendar .calendar-day.today:not(.selected){box-shadow:inset 0 0 0 2px var(--sky)}.calendar-legend{color:var(--muted);text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;font-size:.68rem;font-weight:850;display:flex}.calendar-legend span{align-items:center;gap:.25rem;display:inline-flex}.legend-swatch{aspect-ratio:1;border:2px solid var(--ink);background:#fff7ed;border-radius:.12rem;width:.72rem;display:inline-block}.legend-swatch.great{background:var(--green-strong)}.legend-swatch.good{background:var(--green-soft)}.legend-swatch.some{background:var(--butter)}.legend-swatch.none{background:#f4d6cf}.mini-note{color:var(--muted);margin:0;font-size:.82rem;line-height:1.45}.error-copy{color:#9c3f52}.streak-list{gap:.55rem;display:grid}.streak-card{border:2px solid var(--ink);background:#fff7ed;border-radius:.25rem;align-items:center;gap:.6rem;min-height:2.65rem;padding:.55rem .7rem;font-weight:750;display:flex}.streak-card small{color:var(--muted);margin-left:auto;font-size:.74rem;font-weight:750}.placeholder-streak{background:#fff7edeb}.placeholder-streak .streak-icon{background:#f7d5dc}.history-layout{grid-template-columns:minmax(16rem,.7fr) minmax(0,1fr)}.notebook-panel,.scrapbook-panel{min-height:18rem}.history-header{align-items:end}.notebook-tabs{border:3px solid var(--ink);box-shadow:.18rem .18rem 0 var(--ink);background:#fff7ed;border-radius:.3rem;gap:.35rem;padding:.25rem;display:inline-flex}.notebook-tabs button{min-height:2.35rem;color:var(--ink);cursor:pointer;background:0 0;border:2px solid #0000;border-radius:.18rem;padding:.35rem .65rem;font-weight:900}.notebook-tabs button.active{border-color:var(--ink);background:var(--butter);box-shadow:inset 0 -.2rem #31221e1f}.entry-list{gap:.65rem;display:grid}.entry-card{border:2px solid var(--ink);width:100%;color:var(--ink);text-align:left;cursor:pointer;box-shadow:.14rem .14rem 0 var(--ink);background:#fffdf8;border-radius:.22rem;gap:.4rem;padding:.75rem;display:grid}.entry-card.selected{background:var(--green-soft)}.entry-chip-row{flex-wrap:wrap;gap:.3rem;display:flex}.entry-chip-row small,.photo-note-preview{max-width:100%;color:var(--muted);background:#fff7edbf;border:1px solid #31221e47;border-radius:.18rem;padding:.15rem .35rem;font-size:.72rem;font-weight:800;display:inline-flex}.day-picker{grid-template-columns:2.35rem minmax(0,1fr) 2.35rem;align-items:center;gap:.4rem;display:grid}.day-picker button,.day-picker input{border:2px solid var(--ink);min-height:2.35rem;color:var(--ink);background:#fffdf8;border-radius:.2rem;font-weight:850}.day-picker button{cursor:pointer;place-items:center;display:inline-grid}.day-picker input{text-align:center;width:100%;padding:0 .55rem}.day-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.metric-note{border:2px solid var(--ink);background:#fff7edd1;border-radius:.22rem;gap:.15rem;padding:.65rem;display:grid}.metric-note span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:850}.metric-note strong{overflow-wrap:anywhere}.completed-checklist-summary{flex-wrap:wrap;gap:.4rem;display:flex}.completed-chip{border:2px solid var(--ink);background:var(--green-soft);box-shadow:.1rem .1rem 0 var(--ink);color:var(--ink);border-radius:.2rem;align-items:center;gap:.3rem;padding:.28rem .45rem;font-size:.78rem;font-weight:850;display:inline-flex}.completed-chip .pixel-art-icon{width:1rem;height:1rem}.day-photo-strip{grid-template-columns:repeat(auto-fill,minmax(3.2rem,1fr))}.day-photo-thumb{aspect-ratio:1;border:2px solid var(--ink);background:var(--sky);cursor:pointer;border-radius:.2rem;place-items:center;display:grid;overflow:hidden}.full-history-panel{min-height:24rem}.scrapbook-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:.75rem;display:grid}.photo-placeholder{aspect-ratio:4/5;border:3px solid var(--ink);background:linear-gradient(135deg, #ffffff94 0 18%, transparent 18%), var(--sky);box-shadow:.22rem .22rem 0 var(--ink);border-radius:.25rem;display:block}.photo-placeholder.tilted{background:linear-gradient(135deg, #ffffff94 0 18%, transparent 18%), var(--rose);transform:rotate(-2deg)}.food-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr))}.food-photo-card{border:3px solid var(--ink);color:var(--ink);text-align:left;cursor:pointer;box-shadow:.22rem .22rem 0 var(--ink);background:#fffdf8;border-radius:.25rem;gap:.45rem;padding:.55rem;display:grid}.food-photo-card:nth-child(2n){transform:rotate(-.8deg)}.food-photo-card:nth-child(3n){transform:rotate(.8deg)}.food-photo-frame{aspect-ratio:4/5;border:2px solid var(--ink);background:var(--sky);border-radius:.18rem;place-items:center;display:grid;overflow:hidden}.food-photo-frame img,.photo-dialog-image img{image-rendering:auto;object-fit:cover;width:100%;height:100%}.food-photo-card small{color:var(--muted);font-weight:850}.photo-fallback{width:100%;height:100%;color:var(--muted);text-align:center;place-items:center;font-size:.82rem;display:grid}.modal-backdrop{z-index:1100;background:#31221e75;place-items:center;padding:1rem 5rem;display:grid;position:fixed;inset:0}.photo-dialog-shell{grid-template-columns:3rem minmax(0,42rem) 3rem;align-items:center;gap:1rem;width:min(100%,52rem);display:grid}.photo-dialog{border:4px solid var(--ink);background:var(--paper);width:100%;max-height:calc(100dvh - 2rem);box-shadow:.35rem .35rem 0 var(--ink);border-radius:.35rem;gap:.85rem;padding:1rem;display:grid;overflow:auto}.photo-dialog-nav{text-align:center;justify-content:center;display:flex}.photo-dialog-viewer{place-items:center;display:grid}.photo-dialog-arrow{z-index:2;border:2px solid var(--ink);background:var(--butter);width:3rem;min-height:3rem;box-shadow:.16rem .16rem 0 var(--ink);color:var(--ink);cursor:pointer;border-radius:.22rem;place-items:center;font-size:1.25rem;font-weight:900;display:inline-grid}.photo-dialog-arrow.previous{justify-self:end}.photo-dialog-arrow.next{justify-self:start}.photo-dialog-arrow:disabled{cursor:not-allowed;opacity:.42;box-shadow:none}.photo-dialog-nav span{color:var(--muted);font-size:.78rem;font-weight:850}.photo-dialog-image{border:3px solid var(--ink);background:#fffdf8;border-radius:.22rem;place-items:center;width:100%;min-height:12rem;max-height:min(68dvh,34rem);display:grid;overflow:hidden}.detail-photo-image{image-rendering:auto;object-fit:contain;width:100%;height:100%;max-height:min(68dvh,34rem);display:block}.photo-dialog-note{border:2px solid var(--ink);background:#fffdf8;border-radius:.22rem;margin:0;padding:.75rem}.progress-layout{grid-template-columns:1fr;width:min(100%,58rem);min-width:0;margin-inline:0}.metric-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;padding:.85rem}.metric-card{border:2px solid var(--ink);text-align:center;background:#fff7ed;border-radius:.25rem;gap:.2rem;min-height:6rem;padding:1.05rem .8rem .8rem;display:grid;position:relative}.metric-pixel-icon{aspect-ratio:1;place-items:center;width:1.85rem;display:inline-grid;position:absolute;top:.45rem;right:.45rem}.metric-pixel-icon .pixel-art-icon{width:1.35rem;height:1.35rem}.decorative-chart-icon{box-shadow:none;background:0 0;border:0}.metric-card.positive{background:#edf8ef}.metric-card.warm{background:#fff1c8}.metric-strip span,.metric-card span{color:var(--muted);text-transform:uppercase;font-size:.82rem;font-weight:750}.metric-strip strong,.metric-card strong{font-size:clamp(1.45rem,3vw,2rem);line-height:1.05}.metric-card small{color:var(--muted);font-weight:700}.metric-card-tab{border:2px solid var(--ink);background:var(--rose);width:4.5rem;height:1.1rem;box-shadow:.12rem .12rem 0 var(--ink);border-radius:.18rem;position:absolute;top:-.65rem;left:50%;transform:translate(-50%)}.metric-card-tab.butter{background:var(--butter)}.metric-card-tab.green{background:var(--green-soft)}.chart-board{background:linear-gradient(#d9c9bc 1px, transparent 1px) 0 0 / 100% 2.5rem, linear-gradient(90deg, #ead8c9 1px, transparent 1px) 0 0 / 2.5rem 100%, var(--paper);min-height:24rem}.chart-placeholder{border-left:3px solid var(--ink);border-bottom:3px solid var(--ink);min-height:11rem;padding:.75rem}.chart-placeholder svg{width:100%;height:100%;min-height:10rem;display:block}.chart-placeholder polyline{fill:none;stroke:var(--rose-deep);stroke-linecap:round;stroke-linejoin:round;stroke-width:8px}.chart-placeholder circle{fill:var(--butter);stroke:var(--ink);stroke-width:4px}.progress-chart-board{background:var(--paper);gap:1rem;min-width:0;min-height:0;padding:.9rem;display:grid}.chart-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.7rem;display:inline-flex}.segmented-toggle{border:2px solid var(--ink);box-shadow:.12rem .12rem 0 var(--ink);background:#fffdf8;border-radius:.25rem;padding:.18rem;display:inline-flex}.segmented-toggle button{min-height:2rem;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:.18rem;padding:.35rem .65rem;font-weight:750}.segmented-toggle button.active{background:var(--butter);color:var(--rose-deep);box-shadow:inset 0 0 0 2px #3728222e}.weight-chart-wrap{gap:.75rem;min-width:0;max-width:100%;display:grid;position:relative}.weight-chart-viewport{border:3px solid var(--ink);background:linear-gradient(#cdb29a57 1px,#0000 1px) 0 0/100% 2rem,linear-gradient(90deg,#cdb29a47 1px,#0000 1px) 0 0/2rem 100%,#fffdf8;border-radius:.22rem;width:100%;min-width:0;max-width:100%;overflow:hidden;box-shadow:inset 0 0 0 4px #ffe39f47}.weight-chart-viewport[data-chart-mode=detail],.weight-chart-viewport.scrollable{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-color:var(--rose-deep) #fff2cf;scrollbar-width:auto;touch-action:pan-x pan-y;overflow-x:auto}.weight-chart-viewport[data-chart-mode=detail]::-webkit-scrollbar{height:.75rem}.weight-chart-viewport.scrollable::-webkit-scrollbar{height:.75rem}.weight-chart-viewport[data-chart-mode=detail]::-webkit-scrollbar-track{border-top:2px solid var(--ink);background:#fff2cf}.weight-chart-viewport.scrollable::-webkit-scrollbar-track{border-top:2px solid var(--ink);background:#fff2cf}.weight-chart-viewport[data-chart-mode=detail]::-webkit-scrollbar-thumb{border:2px solid var(--ink);background:var(--rose);border-radius:999px}.weight-chart-viewport.scrollable::-webkit-scrollbar-thumb{border:2px solid var(--ink);background:var(--rose);border-radius:999px}.weight-chart-canvas{width:100%;min-width:0;max-width:none}.weight-chart{aspect-ratio:720/260;width:100%;max-width:100%;max-height:22rem;box-shadow:none;background:0 0;border:0;border-radius:0;display:block}.weight-chart-viewport[data-chart-mode=all-time] .weight-chart{width:100%;max-width:100%}.chart-grid-lines line{stroke:#37282229;stroke-width:1.25px}.chart-grid-lines text,.chart-date-labels text{fill:var(--muted);text-anchor:end;font-size:.9rem;font-weight:720}.chart-date-labels text{text-anchor:middle}.chart-date-labels .weekday-label{fill:#8b7a72;font-size:.78rem;font-weight:650}.chart-axis{stroke:var(--ink);stroke-width:3px;stroke-linecap:round}.weight-line{fill:none;stroke:var(--rose-deep);stroke-linecap:round;stroke-linejoin:round;stroke-width:7px}.weight-point{cursor:pointer;outline:none}.weight-point circle{fill:var(--butter);stroke:var(--ink);stroke-width:4px;transition:r .16s,fill .16s}.weight-point:hover circle,.weight-point:focus-visible circle,.weight-point.active circle{fill:var(--green-soft);r:10}.missing-weight-point{cursor:pointer;outline:none}.missing-weight-point circle{fill:#fffdf8;stroke:#8b8a86;stroke-width:3px;stroke-dasharray:2 2}.missing-weight-point:hover circle,.missing-weight-point:focus-visible circle,.missing-weight-point.active circle{fill:#f2f0eb;stroke:var(--ink);stroke-dasharray:none}.chart-legend{color:var(--ink);flex-wrap:wrap;align-items:center;gap:1rem;font-size:.92rem;font-weight:650;display:flex}.chart-legend span{align-items:center;gap:.4rem;display:inline-flex}.legend-dot{aspect-ratio:1;border:2px solid var(--ink);background:var(--butter);border-radius:999px;width:.75rem}.legend-dot.missing{background:#fffdf8;border-color:#8b8a86}.legend-line{background:var(--rose-deep);border-radius:999px;width:1.4rem;height:.22rem}.weight-chart-tooltip,.progress-empty-state{border:2px solid var(--ink);width:fit-content;max-width:100%;box-shadow:.16rem .16rem 0 var(--ink);background:#fff7ed;border-radius:.25rem;align-items:center;gap:.65rem;padding:.65rem .8rem;display:flex}.weight-chart-tooltip span{color:var(--muted);flex-wrap:wrap;gap:.5rem;font-weight:650;display:flex}.weight-chart-tooltip strong{color:var(--ink)}.progress-empty-state{text-align:center;background:#fffdf8;justify-content:center;width:100%;min-height:12rem}.progress-empty-state p{max-width:24rem;color:var(--muted);margin:0;font-weight:650;line-height:1.5}.progress-context-note{color:var(--ink);background:#fff7d5;border:2px solid #d0a85c;border-radius:.2rem;align-items:center;gap:.65rem;margin:0;padding:.7rem .8rem;display:flex}.progress-context-note .pixel-art-icon{flex:none;width:1.8rem;height:1.8rem}.icon-eyebrow{align-items:center;gap:.35rem;display:inline-flex}.icon-eyebrow .pixel-art-icon{width:1.15rem;height:1.15rem}.progress-context-note span{gap:.15rem;display:grid}.progress-context-note strong{font-weight:850}.text-button,.login-form button{cursor:pointer;border:0;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;font-weight:650;display:inline-flex}.text-button{background:var(--ink);color:#fffdf8;padding:.6rem .8rem;text-decoration:none}.text-button:hover,.text-button:focus,.text-button:visited{text-decoration:none}.login-page,.centered-state{place-items:center;min-height:100vh;padding:1rem;display:grid}.login-card{text-align:center;width:min(100%,27rem);padding:2rem}.login-card p{color:var(--muted);line-height:1.5}.login-form{text-align:left;gap:1rem;margin-top:1.5rem;display:grid}.login-form label{gap:.4rem;font-weight:650;display:grid}.login-form input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:.5rem;padding:.8rem .9rem}.login-form button{background:var(--rose-deep);color:#fff;min-height:3rem}.login-form button:disabled{cursor:not-allowed;opacity:.62}.form-error{color:#9d1f3d;margin:0;font-weight:700}.setup-panel{border:1px solid var(--line);text-align:left;background:#fff7ed;border-radius:.5rem;gap:.35rem;margin-top:1.5rem;padding:1rem;display:grid}.work-surface{gap:1rem;display:grid}.surface-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.surface-header h2{letter-spacing:0;margin:0;font-size:clamp(1.8rem,4vw,3rem)}.surface-header time{color:var(--muted);font-weight:650}.date-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.45rem;display:flex}.date-controls label{gap:.2rem;display:grid}.date-controls label span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:650}.date-controls input{border:1px solid var(--line);max-width:10rem;color:var(--ink);background:#fff;border-radius:.45rem;padding:.55rem .65rem}.date-controls button{background:var(--ink);color:#fffdf8;cursor:pointer;border:0;border-radius:.45rem;justify-content:center;align-items:center;min-height:2.35rem;display:inline-flex}.settings-sections{gap:1.25rem;display:grid}.settings-section{gap:.85rem;padding-top:.25rem;display:grid}.section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:1rem;padding-bottom:.65rem;display:flex}.section-heading h3{letter-spacing:0;margin:0;font-size:1.45rem}.surface-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.tool-panel,.panel-state{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffdf8eb;border-radius:.5rem}.tool-panel{align-content:start;gap:1rem;padding:1rem;display:grid}.tool-panel h3,.tool-panel h4,.tool-panel p{margin:0}.tool-panel h3,.tool-panel h4{font-size:1.08rem;font-weight:720}.panel-state{color:var(--muted);padding:1rem}.error-state,.form-error{color:#9d1f3d;font-weight:800}.stack-list,.form-grid{gap:.75rem;display:grid}.form-grid label,.check-row label,.check-row{gap:.35rem;display:grid}.form-grid label span{color:var(--muted);font-size:.82rem;font-weight:650}.form-grid label em{color:#8d756b;margin-left:.25rem;font-size:.72rem;font-style:normal;font-weight:500}.form-grid input,.form-grid select,.value-input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:.45rem;padding:.65rem .75rem}.tool-panel button,.routine-heading button,.manage-row button{background:var(--ink);color:#fffdf8;cursor:pointer;border:0;border-radius:.45rem;justify-content:center;align-items:center;gap:.45rem;min-height:2.35rem;font-weight:650;display:inline-flex}.tool-panel button:disabled{cursor:not-allowed;opacity:.6}.check-row{border:1px solid var(--line);background:#fffdf8;border-radius:.5rem;grid-template-columns:minmax(0,1fr) minmax(5rem,8rem);align-items:center;padding:.75rem}.value-row{border:1px solid var(--line);background:#fffdf8;border-radius:.5rem;grid-template-columns:minmax(0,1fr) minmax(8rem,13rem);align-items:center;gap:.75rem;padding:.75rem;display:grid}.value-entry{align-items:center;gap:.45rem;display:flex}.value-entry button{white-space:nowrap}.done-list .check-row,.done-list .value-row{background:#f3fbf6;border-color:#7fc7a68c}.done-list strong{-webkit-text-decoration:line-through #33251f73;text-decoration:line-through #33251f73;text-decoration-thickness:.08em}.check-row.compact,.check-row label{grid-template-columns:auto minmax(0,1fr);align-items:center}.check-row input[type=checkbox],.inline-control input,.weekday-grid input{aspect-ratio:1;width:1.1rem;accent-color:var(--rose-deep)}.check-row strong,.manage-row strong{display:block}.check-row small,.manage-row small,.value-row small{color:var(--muted);font-size:.78rem;display:block}.routine-block{border:1px solid var(--line);background:#fff7ed;border-radius:.5rem;gap:.5rem;padding:.75rem;display:grid}.routine-heading,.manage-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.manage-item{gap:.65rem;display:grid}.manage-row{border:1px solid var(--line);background:#fffdf8;border-radius:.5rem;padding:.75rem}.manage-row>div{gap:.35rem;display:flex}.manage-row button{width:2.35rem;padding:0}.inline-edit{border:1px dashed var(--line);background:#fff7ed;border-radius:.5rem;padding:.75rem}.edit-actions{flex-wrap:wrap;gap:.5rem;display:flex}.edit-actions button{width:auto;padding:0 .75rem}.nested-list{border-left:2px solid var(--line);gap:.5rem;padding-left:1rem;display:grid}.wide-panel{grid-column:1/-1}.inline-control{align-items:center;gap:.5rem;display:flex}.weekday-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;display:grid}.weekday-grid label{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:.45rem;justify-items:center;gap:.25rem;padding:.45rem .25rem;font-size:.78rem;font-weight:650;display:grid}.compact-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:.75rem;display:grid}.narrow-field{max-width:14rem}.routine-step-builder,.routine-step-draft{gap:.75rem;display:grid}.routine-step-builder{border:1px solid var(--line);background:#fff7ed;border-radius:.5rem;padding:.8rem}.routine-step-draft{grid-template-columns:minmax(0,1fr) minmax(12rem,18rem);align-items:end}.archive-panel{gap:.65rem;padding-top:.25rem;display:grid}.archive-panel summary{cursor:pointer;color:var(--rose-deep);font-weight:650}.dialog-backdrop{z-index:50;background:#33251f47;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.edit-dialog{border:1px solid var(--line);background:var(--paper);width:min(100%,32rem);max-height:calc(100vh - 2rem);box-shadow:var(--shadow);border-radius:.6rem;padding:1rem;overflow:auto}.dialog-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.dialog-heading h3{margin:0}.save-indicator{background:var(--ink);color:#fffdf8;border-radius:.5rem;align-items:center;gap:.5rem;padding:.7rem .85rem;font-weight:650;display:inline-flex;position:fixed;bottom:1rem;right:1rem}@media (width<=800px){.topbar{flex-direction:row;align-items:center;padding:.65rem .8rem;position:static}.brand-lockup{gap:.55rem}.brand-lockup h1{font-size:1.05rem}.topbar .pixel-sola{width:2.35rem;box-shadow:.16rem .16rem 0 var(--ink);border-width:2px}.session-actions{justify-content:flex-end;gap:.45rem}.session-label{display:none}.text-button{min-height:2.35rem;padding:.45rem .6rem}.layout{padding:.85rem .85rem calc(7.75rem + env(safe-area-inset-bottom));display:block}.desktop-nav,.route-mascot{display:none}.mobile-bottom-nav{z-index:1000;width:100dvw;padding:.55rem .75rem calc(.55rem + env(safe-area-inset-bottom));border:3px solid var(--ink);background:var(--paper);box-shadow:var(--shadow);border-bottom:0;border-left:0;border-right:0;border-radius:.35rem .35rem 0 0;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;margin:0;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-bottom-nav .nav-item{justify-content:center;min-height:3.45rem;padding:.45rem}.mobile-bottom-nav .nav-item span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.placeholder-page{min-height:calc(100vh - 12rem)}.today-layout,.history-layout,.metric-strip{grid-template-columns:1fr}.weight-chart{min-height:13rem}.today-header{align-items:start}.quest-board{min-height:auto;padding:1rem}.field-preview-grid,.scrapbook-grid,.day-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wide-field{grid-column:1/-1}.surface-grid,.check-row,.value-row{grid-template-columns:1fr}.value-entry,.date-controls{justify-content:flex-start}.compact-fields,.routine-step-draft{grid-template-columns:1fr}.weekday-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dialog-backdrop{align-items:end;padding:0}.modal-backdrop{padding:1rem}.photo-dialog-shell{grid-template-columns:2.75rem minmax(0,1fr) 2.75rem;gap:.5rem;width:min(100%,100vw - 2rem)}.edit-dialog{border-radius:.85rem .85rem 0 0;width:100%;max-height:86vh}}@media (width<=520px){.surface-header{flex-direction:column;align-items:flex-start}.field-preview-grid,.scrapbook-grid,.day-detail-grid{grid-template-columns:1fr}.history-header{align-items:start}.notebook-tabs{width:100%}.notebook-tabs button{flex:1}.today-photo-chip{grid-template-columns:3rem minmax(0,1fr)}.metric-card strong{font-size:1.35rem}.progress-chart-board{padding:.8rem}.quest-board,.progress-chart-board{padding-right:.8rem}.photo-dialog{padding:.8rem}.photo-dialog-shell{grid-template-columns:2.55rem minmax(0,1fr) 2.55rem;gap:.35rem;width:min(100%,100vw - 1rem)}.photo-dialog-viewer{padding-inline:0}.photo-dialog-arrow{background:#ffe39feb;width:2.55rem;min-height:2.55rem}.today-photo-chip .icon-button{grid-column:1/-1}.topbar{align-items:flex-start}.text-button{white-space:nowrap}}@media (prefers-reduced-motion:no-preference){.nav-item,.text-button,.login-form button{transition:transform .16s,box-shadow .16s,background-color .16s}.nav-item:hover,.text-button:hover,.login-form button:hover{transform:translateY(-1px)}}
