*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.hidden{display:none}.rounded{border-radius:.25rem}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--page:#0b0e14;--surface:#121720;--surface-raised:#171d27;--surface-soft:#0f131b;--border:#27303d;--border-strong:#3a4657;--text:#f3f1ea;--muted:#a3aab5;--faint:#747e8c;--accent:#b9dc8c;--accent-hover:#c7e69e;--accent-ink:#18220e;--danger:#f09a95;--awake:#e9a264;--light:#76a4f6;--deep:#7769de;--rem:#c07adb;--active:#d28f45;--basal:#77899f;--z-sticky:20;--z-toast:60}*{box-sizing:border-box}html{min-width:320px}body,html{background:var(--page)}body{margin:0;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.environment-banner{position:sticky;top:0;z-index:calc(var(--z-sticky) + 1);min-height:26px;display:grid;place-items:center;padding:4px 12px;color:#211305;background:var(--awake);font-size:.66rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.app-body.is-local-development .app-header{top:26px}.app-header{position:sticky;top:0;z-index:var(--z-sticky);border-bottom:1px solid var(--border);background:rgba(11,14,20,.96)}.header-inner{width:min(1240px,calc(100% - 32px));min-height:68px;margin:0 auto;display:flex;align-items:center;gap:22px}.brand{flex:0 0 auto;display:inline-flex;align-items:center;gap:10px;color:var(--text);text-decoration:none}.brand small,.brand strong{display:block}.brand strong{font-size:.88rem;letter-spacing:-.01em}.brand small{margin-top:1px;color:var(--faint);font-size:.66rem}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:var(--accent);background:#1a2413}.brand-mark svg{width:22px;height:22px}.main-nav{min-width:0;display:flex;align-self:stretch;gap:2px;overflow-x:auto;scrollbar-width:none}.main-nav::-webkit-scrollbar{display:none}.nav-item{position:relative;min-width:-moz-max-content;min-width:max-content;border:0;padding:0 11px;color:var(--muted);background:transparent;font-size:.76rem;font-weight:650;cursor:pointer}.nav-item:after{content:"";position:absolute;right:11px;bottom:-1px;left:11px;height:2px;background:transparent}.nav-item.is-active,.nav-item:hover{color:var(--text)}.nav-item.is-active:after{background:var(--accent)}.header-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.sync-status{min-width:-moz-max-content;min-width:max-content;display:inline-flex;align-items:center;gap:7px;color:var(--faint);font-size:.68rem}.sync-status i{width:7px;height:7px;border-radius:50%;background:var(--faint)}.sync-status[data-state=ok] i{background:var(--accent)}.sync-status[data-state=stale] i{background:var(--awake)}.sync-status[data-state=loading] i{background:var(--light);animation:pulse 1s ease-in-out infinite}.button,.icon-button{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;color:var(--text);cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.button{min-height:40px;padding:0 15px;border-radius:9px;font-size:.75rem;font-weight:750;text-decoration:none}.button-primary{color:var(--accent-ink);background:var(--accent)}.button-primary:hover{background:var(--accent-hover)}.button-secondary{border-color:var(--border);color:var(--muted);background:var(--surface)}.button-secondary:hover{border-color:var(--border-strong);color:var(--text)}.button-compact{min-height:34px;padding:0 11px;font-size:.69rem}.button:active,.icon-button:active{transform:translateY(1px)}.button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.42}.icon-button{width:36px;height:36px;padding:0;border-color:var(--border);border-radius:9px;background:transparent}.icon-button:hover{border-color:var(--border-strong);background:var(--surface)}.icon-button svg{width:18px;height:18px}.app-main{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:34px 0 80px}.notice{margin-bottom:18px;padding:12px 14px;border:1px solid #653a3d;border-radius:10px;color:#f3c0bc;background:#271719;font-size:.8rem}.notice[data-kind=info]{border-color:var(--border);color:var(--muted);background:var(--surface)}.view-heading,.workspace-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:25px}.view-kicker{margin:0 0 5px;color:var(--accent);font-size:.68rem;font-weight:750}.view-heading h1,.workspace-heading h1{margin:0;font-size:1.8rem;line-height:1.1;letter-spacing:-.035em;text-wrap:balance}.view-heading p:last-child,.workspace-heading p:last-child{max-width:66ch;margin:8px 0 0;color:var(--muted);font-size:.8rem;line-height:1.55;text-wrap:pretty}.date-browser{display:flex;align-items:center;gap:7px}.date-field input,.export-form input[type=date],.journal-form input,.journal-form textarea{border:1px solid var(--border-strong);border-radius:9px;color:var(--text);background:var(--surface-soft)}.date-field input{min-height:36px;padding:0 10px;color-scheme:dark;font-size:.74rem}.dashboard-loading,.today-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.85fr);gap:16px}.skeleton-stack{display:grid;gap:16px}.skeleton{min-height:190px;position:relative;overflow:hidden;border-radius:14px;background:var(--surface)}.skeleton-large{min-height:480px}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.045),transparent);animation:skeleton 1.25s ease-in-out infinite}.context-panel,.export-form,.journal-form,.metric-panel,.workspace-panel,.workspace-summary{border:1px solid var(--border);border-radius:14px;background:var(--surface)}.metric-panel{padding:24px}.sleep-summary{grid-column:1/-1;min-height:0}.compact-panel{min-height:232px}.interactive-panel{cursor:pointer;transition:border-color .16s ease,background-color .16s ease}.interactive-panel:hover{border-color:var(--border-strong);background:var(--surface-raised)}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.sleep-panel-heading{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:start;gap:24px}.sleep-heading-metrics{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:32px;max-width:720px;margin:0}.sleep-heading-metrics div{min-width:0}.sleep-heading-metrics dt{color:var(--muted);font-size:.7rem;font-weight:750}.sleep-heading-metrics dd{margin:9px 0 0;font-size:2rem;font-weight:600;letter-spacing:-.04em;line-height:1;white-space:nowrap}.sleep-heading-meta{display:grid;justify-items:end;justify-self:end;gap:11px;text-align:right}.metric-name{color:var(--muted);font-size:.7rem;font-weight:750}.panel-heading h2{margin:9px 0 0;font-size:2rem;letter-spacing:-.045em;line-height:1}.panel-heading h2 small{color:var(--muted);font-size:.7rem;font-weight:600;letter-spacing:0}.panel-heading p{margin:8px 0 0;color:var(--muted);font-size:.78rem}.sleep-panel-heading .sleep-heading-meta p{margin:0}.open-indicator{color:var(--faint);font-size:.67rem;white-space:nowrap}.stage-bar{height:38px;display:flex;gap:2px;margin-top:32px;padding:4px;overflow:hidden;border-radius:10px;background:var(--surface-soft)}.stage-bar span{min-width:2px;border-radius:5px}[data-stage=awake]{background:var(--awake)}[data-stage=light]{background:var(--light)}[data-stage=deep]{background:var(--deep)}[data-stage=rem]{background:var(--rem)}.stage-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:17px}.stage-cell{min-width:0}.stage-cell>span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.65rem}.stage-cell i{width:7px;height:7px;flex:0 0 auto;border-radius:2px}.stage-cell small,.stage-cell strong{display:block}.stage-cell strong{margin-top:6px;font-size:.86rem}.stage-cell small{margin-top:2px;color:var(--faint);font-size:.62rem}.workspace-summary dt{color:var(--faint);font-size:.66rem}.summary-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:37px}.summary-facts div{min-width:0;padding-top:12px;border-top:1px solid var(--border)}.summary-facts span,.summary-facts strong{display:block}.summary-facts span{color:var(--faint);font-size:.63rem}.summary-facts strong{margin-top:6px;font-size:.78rem}.empty-copy,.metric-empty{margin:30px 0 0;color:var(--muted);font-size:.78rem;line-height:1.55}.context-panel{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:26px;padding:22px 24px}.context-panel h2{margin:6px 0 0;font-size:1rem}.context-copy p{max-width:80ch;margin:7px 0 0;color:var(--muted);font-size:.77rem;line-height:1.55}.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.tag-row span,.tag-suggestions button{border:1px solid var(--border);border-radius:999px;padding:4px 8px;color:var(--muted);background:var(--surface-soft);font-size:.62rem}.range-tabs{display:inline-flex;padding:3px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft)}.range-tabs button{min-height:31px;border:0;border-radius:7px;padding:0 11px;color:var(--muted);background:transparent;font-size:.68rem;font-weight:700;cursor:pointer}.range-tabs button.is-active{color:var(--accent-ink);background:var(--accent)}.workspace-content{display:grid;gap:16px}.workspace-summary{--workspace-value-size:1.125rem;display:grid;grid-template-columns:minmax(200px,.7fr) minmax(0,1.3fr);gap:28px;padding:24px}.workspace-summary>div>small,.workspace-summary>div>span,.workspace-summary>div>strong{display:block}.workspace-summary>div>span{color:var(--muted);font-size:.7rem}.workspace-summary dd,.workspace-summary>div>strong{margin:9px 0 0;font-size:var(--workspace-value-size);font-weight:700;line-height:1.05;letter-spacing:-.02em}.workspace-summary>div>small{margin-top:5px;color:var(--faint);font-size:.68rem}.workspace-summary dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0}.workspace-summary dl div{padding-left:13px;border-left:1px solid var(--border)}.sleep-workspace-summary{grid-template-columns:repeat(6,minmax(0,1fr));gap:0;padding:0}.sleep-workspace-summary dl{display:contents}.sleep-workspace-summary .sleep-period-cell,.sleep-workspace-summary dl>div{min-width:0;padding:20px;border-left:1px solid var(--border)}.sleep-workspace-summary .sleep-period-cell{border-left:0}.sleep-period-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.sleep-period-heading span{color:var(--muted);font-size:.7rem}.sleep-period-heading small{color:var(--faint);font-size:.64rem;white-space:nowrap}.workspace-panel{padding:24px;overflow:hidden}.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.section-title h2{margin:0;font-size:1rem}.section-title p,.section-title>span{margin:6px 0 0;color:var(--faint);font-size:.68rem}.sleep-lanes{min-width:650px;margin-top:25px}.sleep-lane{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:12px;margin-bottom:8px}.lane-label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.67rem}.lane-label i{width:7px;height:7px;border-radius:2px}.lane-track{height:30px;position:relative;overflow:hidden;border-radius:6px;background:var(--surface-soft)}.lane-track span{position:absolute;top:4px;bottom:4px;min-width:2px;border-radius:4px}.lane-axis{display:flex;justify-content:space-between;margin:8px 0 0 82px;color:var(--faint);font-size:.62rem}.workspace-stage-row{margin:26px 0 0 82px;padding-top:20px;border-top:1px solid var(--border)}.sleep-trend-panel{overflow:visible}.sleep-trend-heading{align-items:center}.sleep-trend-tabs{flex:0 0 auto}.sleep-trend{--trend-label-width:96px;--trend-value-width:112px;--trend-gap:12px;margin-top:30px;overflow-x:visible}.sleep-trend-scale{height:18px;position:relative;margin:0 calc(var(--trend-value-width) + var(--trend-gap)) 7px calc(var(--trend-label-width) + var(--trend-gap));color:var(--faint);font-size:.6rem}.sleep-trend-scale span{position:absolute;top:0;white-space:nowrap;transform:translateX(-50%)}.sleep-trend-row{min-width:0;display:grid;grid-template-columns:var(--trend-label-width) minmax(0,1fr) var(--trend-value-width);align-items:center;gap:var(--trend-gap);padding:8px 0}.sleep-trend-label{color:var(--muted);font-size:.72rem;font-weight:650}.sleep-trend-rail{height:28px;min-width:0;position:relative;overflow:hidden;border-radius:7px;background:var(--surface-soft)}.sleep-trend-rail i{height:100%;display:block;border-radius:inherit;background:var(--awake)}.sleep-trend-row.is-reached .sleep-trend-rail i{background:var(--accent)}.sleep-trend-row.is-missing .sleep-trend-rail{border:1px dashed var(--border-strong)}.sleep-target-marker{width:1px;position:absolute;top:0;bottom:0;background:var(--text);box-shadow:0 0 0 1px rgba(11,14,20,.38)}.sleep-trend-value{min-width:0}.sleep-trend-value small,.sleep-trend-value strong{display:block}.sleep-trend-value strong{font-size:.75rem}.sleep-trend-value small{margin-top:3px;color:var(--faint);font-size:.58rem}.sleep-trend-row.is-reached .sleep-trend-value small{color:var(--accent)}.hourly-bars,.trend-bars{min-height:250px;display:flex;align-items:flex-end;gap:8px;margin-top:24px;overflow-x:auto}.trend-column{min-width:46px;height:220px;flex:1 0 46px;display:grid;grid-template-rows:24px 1fr 20px;gap:6px;text-align:center;color:var(--faint);font-size:.6rem}.trend-value{color:var(--muted);white-space:nowrap}.trend-track{min-height:150px;display:flex;flex-direction:column-reverse;justify-content:flex-start;overflow:hidden;border-bottom:1px solid var(--border-strong);background:var(--surface-soft)}.trend-track i{display:block;width:100%;background:var(--accent)}.hour-track .bar-active,.trend-track .bar-active{background:var(--active)}.hour-track .bar-basal,.trend-track .bar-basal{background:var(--basal)}.range-plot{height:280px;position:relative;display:flex;align-items:stretch;gap:3px;margin-top:24px;padding:10px 44px 28px 0;overflow-x:auto;border-bottom:1px solid var(--border);background:var(--surface-soft)}.range-mark{min-width:5px;flex:1 0 5px;position:relative;height:100%}.range-mark i{width:2px;position:absolute;left:50%;min-height:2px;border-radius:2px;background:var(--light)}.range-mark b{width:5px;height:5px;position:absolute;left:calc(50% - 1.5px);border-radius:50%;background:var(--text)}.range-mark span{display:none;position:absolute;top:calc(100% + 9px);left:50%;color:var(--faint);font-size:.55rem;transform:translateX(-50%)}.range-mark:nth-child(12n+1) span{display:block}.plot-scale{position:sticky;right:0;width:36px;display:flex;flex-direction:column;justify-content:space-between;color:var(--faint);font-size:.6rem;text-align:right}.hour-column{min-width:20px;height:220px;flex:1 0 20px;display:grid;grid-template-rows:1fr 20px;gap:5px;color:var(--faint);font-size:.55rem;text-align:center}.hour-track{display:flex;flex-direction:column-reverse;overflow:hidden;border-bottom:1px solid var(--border-strong);background:var(--surface-soft)}.hour-track i{display:block;width:100%}.legend-swatch{width:8px;height:8px;display:inline-block;margin:0 4px 0 9px;border-radius:2px}.legend-swatch:first-child{margin-left:0}.legend-swatch.active{background:var(--active)}.legend-swatch.basal{background:var(--basal)}.workspace-empty{min-height:180px;display:grid;place-items:center;padding:30px;color:var(--muted);text-align:center;font-size:.8rem}.error-copy{color:var(--danger)}.export-layout,.journal-layout{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);gap:18px;align-items:start}.export-form,.journal-form{padding:22px}.export-form label,.journal-form label{display:block}.journal-form label+label{margin-top:18px}.export-form label>span,.export-form legend,.journal-form label>span{display:block;margin-bottom:7px;color:var(--muted);font-size:.68rem;font-weight:700}.journal-form label small{color:var(--faint);font-weight:500}.export-form input[type=date],.journal-form input,.journal-form textarea{width:100%;min-height:42px;padding:10px 11px}.journal-form textarea{resize:vertical;line-height:1.55}.tag-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.tag-suggestions button{cursor:pointer}.tag-suggestions button:hover{border-color:var(--border-strong);color:var(--text)}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.list-heading{min-height:43px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border)}.list-heading h2{margin:0;font-size:.92rem}.list-heading span{color:var(--faint);font-size:.66rem}.export-list,.journal-list{display:grid}.journal-entry{display:grid;grid-template-columns:110px 1fr auto;gap:18px;padding:19px 2px;border-bottom:1px solid var(--border)}.journal-entry time{color:var(--muted);font-size:.68rem}.journal-entry p{max-width:70ch;margin:0;color:var(--text);font-size:.8rem;line-height:1.65;white-space:pre-wrap}.entry-actions{display:flex;gap:10px}.entry-actions button{align-self:start;border:0;padding:2px;color:var(--faint);background:transparent;font-size:.65rem;cursor:pointer}.entry-actions button:hover{color:var(--text)}.export-form fieldset{margin:0 0 22px;padding:0;border:0}.export-form legend{margin-bottom:10px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check-row,.radio-row{display:flex!important;align-items:flex-start;gap:10px;padding:10px 0}.check-row input,.radio-row input{margin-top:2px;accent-color:var(--accent)}.check-row span,.radio-row span{margin:0!important}.radio-row small,.radio-row strong{display:block}.radio-row strong{color:var(--text);font-size:.75rem}.radio-row small{margin-top:3px;color:var(--faint);font-size:.65rem;line-height:1.4}.export-job{min-height:68px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;border-bottom:1px solid var(--border)}.export-job small,.export-job strong{display:block}.export-job strong{font-size:.75rem}.export-job small{margin-top:4px;color:var(--faint);font-size:.62rem}.export-job>span{color:var(--muted);font-size:.65rem;text-transform:capitalize}.export-job>span[data-status=completed]{color:var(--accent)}.export-job>span[data-status=failed]{color:var(--danger)}.toast{position:fixed;z-index:var(--z-toast);right:18px;bottom:18px;max-width:min(360px,calc(100% - 36px));padding:11px 14px;border-radius:9px;color:var(--text);background:#202733;font-size:.75rem}.login-body{min-height:100vh;display:grid;place-items:center;padding:30px;background:var(--page)}.login-shell{width:min(900px,100%);display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.login-intro h1{max-width:620px;margin:18px 0 15px;font-size:3.4rem;line-height:1;letter-spacing:-.04em}.login-intro>p:not(.eyebrow){max-width:60ch;margin:0;color:var(--muted);font-size:.88rem;line-height:1.65}.eyebrow{margin:22px 0 0;color:var(--accent);font-size:.68rem;font-weight:750}.brand-mark-large{width:52px;height:52px}.login-privacy{display:flex;align-items:center;gap:9px;margin-top:25px;color:var(--faint);font-size:.69rem}.login-privacy svg{width:17px;height:17px}.login-card{padding:30px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.login-card h2{margin:0;font-size:1.05rem}.login-card>div>p:not(.eyebrow){margin:8px 0 0;color:var(--muted);font-size:.74rem;line-height:1.5}.login-form{margin-top:23px}.username-hint{display:none}.login-form label{display:block;margin-bottom:7px;color:var(--muted);font-size:.68rem;font-weight:700}.login-form input{width:100%;min-height:44px;padding:0 11px;border:1px solid var(--border-strong);border-radius:9px;color:var(--text);background:var(--surface-soft)}.primary-button{min-height:42px;border:0;border-radius:9px;padding:0 14px;color:var(--accent-ink);background:var(--accent);font-weight:750;cursor:pointer}.primary-button-wide{width:100%;margin-top:12px}.form-error{margin:10px 0 0;color:var(--danger);font-size:.7rem}@keyframes pulse{50%{opacity:.35}}@keyframes skeleton{to{transform:translateX(100%)}}@media (max-width:980px){.header-inner{flex-wrap:wrap;gap:0 14px;padding-top:10px}.main-nav{order:3;width:100%;height:45px}.nav-item{padding:0 12px}.nav-item:after{right:12px;left:12px}.dashboard-loading,.today-layout{grid-template-columns:1fr 1fr}.sleep-summary{grid-column:1/-1;grid-row:auto;min-height:0}.compact-panel{min-height:220px}.workspace-summary{grid-template-columns:1fr}.workspace-summary dl{grid-template-columns:repeat(5,1fr)}.sleep-workspace-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.export-layout,.journal-layout,.login-shell{grid-template-columns:1fr}.login-shell{max-width:620px;gap:36px}}@media (max-width:680px){.app-main,.header-inner{width:min(100% - 22px,1180px)}.brand small,.header-actions .button-primary,.header-actions .sync-status{display:none}.app-main{padding-top:23px}.view-heading,.workspace-heading{display:block}.date-browser{margin-top:18px}.date-field{flex:1}.date-field input{width:100%}.workspace-heading .range-tabs{width:100%;margin-top:18px}.range-tabs button{flex:1}.dashboard-loading,.today-layout{grid-template-columns:1fr}.sleep-summary{grid-column:auto;min-height:auto}.metric-panel{padding:19px}.panel-heading h2{font-size:1.75rem}.sleep-panel-heading{grid-template-columns:1fr;gap:16px}.sleep-heading-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:none}.sleep-heading-metrics dd{font-size:1.5rem}.sleep-heading-meta{width:100%;display:flex;align-items:center;justify-content:space-between;justify-self:stretch}.sleep-panel-heading .sleep-heading-meta p{margin:0}.stage-bar{margin-top:28px}.stage-row{gap:4px}.stage-cell>span{gap:4px;font-size:.58rem}.stage-cell strong{font-size:.76rem}.stage-cell small{font-size:.57rem}.compact-panel{min-height:205px}.context-panel{display:block}.context-panel .button{width:100%;margin-top:18px}.workspace-summary dl{grid-template-columns:repeat(2,1fr)}.workspace-summary dl div{min-height:54px}.sleep-workspace-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.sleep-workspace-summary .sleep-period-cell,.sleep-workspace-summary dl>div{min-height:82px;padding:16px}.sleep-period-heading{gap:4px}.sleep-period-heading span{font-size:.65rem;white-space:nowrap}.sleep-period-heading small{font-size:.55rem}.sleep-workspace-summary dl>div:nth-child(2n),.sleep-workspace-summary>:nth-child(odd){border-left:0}.workspace-panel{padding:18px}.sleep-lanes{min-width:0}.sleep-lane{grid-template-columns:62px minmax(0,1fr);gap:8px}.lane-axis{margin-left:70px}.workspace-stage-row{margin-left:0}.sleep-trend-heading{display:block}.sleep-trend-tabs{width:100%;margin-top:16px}.sleep-trend-tabs button{min-height:44px;flex:1}.sleep-trend{--trend-gap:8px;margin-top:24px}.sleep-trend-scale{margin-right:0;margin-left:0}.sleep-trend-row{grid-template-columns:1fr auto;gap:6px var(--trend-gap);padding:9px 0}.sleep-trend-rail{grid-column:1/-1;grid-row:2}.sleep-trend-value{grid-column:2;grid-row:1;text-align:right}.sleep-trend-value small{display:none}.journal-entry{grid-template-columns:1fr;gap:10px}.entry-actions{justify-content:flex-start}.field-row{grid-template-columns:1fr}.export-job{grid-template-columns:1fr auto;padding:13px 0}.export-job .button{grid-column:1/-1}.login-body{display:block;padding:25px 19px}.login-intro h1{font-size:2.65rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}