:root{color:#1c1c1e;font-synthesis:none;text-rendering:optimizelegibility;--bg:#fff;--card:#fff;--text:#1c1c1e;--muted:#636366;--line:#d1d1d6;--soft:#f2f2f7;--accent:#06c;--sleep:#b0d1f0;--time-rule:#384d6b3d;--time-minor-rule:#384d6b1a;--open-sleep:#cce0f5;--wake:#896519;--meal:#b34c48;--night:#5856a0;--exercise:#387761;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,Hiragino Kaku Gothic ProN,sans-serif}:root[data-theme=dark]{--bg:#000;--card:#1c1c1e;--text:#f2f2f7;--muted:#a1a1a6;--line:#48484a;--soft:#2c2c2e;--accent:#409cff;--sleep:#406e99;--time-rule:#c4d6f03d;--time-minor-rule:#c4d6f01a;--open-sleep:#365c82;--wake:#d8ba75;--meal:#e69793;--night:#c0bcf2;--exercise:#94c6b4;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#000;--card:#1c1c1e;--text:#f2f2f7;--muted:#a1a1a6;--line:#48484a;--soft:#2c2c2e;--accent:#409cff;--sleep:#406e99;--time-rule:#c4d6f03d;--time-minor-rule:#c4d6f01a;--open-sleep:#365c82;--wake:#d8ba75;--meal:#e69793;--night:#c0bcf2;--exercise:#94c6b4;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{border:1px solid var(--line);background:var(--card);color:var(--text);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 15px;display:inline-flex}button:disabled{opacity:.45;cursor:not-allowed}button:hover:not(:disabled){background:var(--soft)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}a{color:var(--accent);text-decoration:none}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.02em;font-size:27px;font-weight:650}h2{font-size:21px;font-weight:600}h3{margin-top:30px;font-size:14px}p{line-height:1.8}.brand{letter-spacing:0;color:var(--text);font-size:18px;font-weight:650}.app-shell{max-width:1008px;margin:auto;padding:0 36px 100px}.app-header{border-bottom:0;justify-content:space-between;align-items:center;height:64px;display:flex}.header-actions{align-items:center;gap:15px;display:flex}.icon-button{background:0 0;border:0;width:44px;height:44px;padding:8px}.chart-toolbar{justify-content:space-between;align-items:center;gap:20px;margin:12px 0 14px;display:flex}.chart-toolbar h1{margin-bottom:6px}.chart-toolbar p{color:var(--muted);margin-bottom:0;font-size:13px}.date-tools{gap:9px;display:flex}.date-tools input{width:155px}.month-label{align-items:center;display:flex}.chart{border:1px solid var(--line);background:var(--card);border-radius:0;overflow:clip}.chart-head,.chart-row{grid-template-columns:73px minmax(0,1fr) 160px;display:grid}.chart-head{background:var(--soft);z-index:5;height:34px;color:var(--text);border-bottom:1px solid var(--line);align-items:center;font-size:11px;position:sticky;top:0}.chart-head>span{padding-left:12px}.hours{font-variant-numeric:tabular-nums;height:16px;margin:0 10px;position:relative}.hours span{position:absolute;transform:translate(-50%)}.chart-row{border-bottom:1px solid var(--line);height:35px}.chart-row.today{background:color-mix(in srgb, var(--accent) 4.5%, var(--card))}.day{border:0;border-right:1px solid var(--line);font-variant-numeric:tabular-nums;background:0 0;border-radius:0;justify-content:space-between;gap:7px;min-height:0;padding:0 9px;font-size:11px}.day strong{font-weight:500}.day small{font-size:10px}.sunday{color:var(--meal)}.saturday{color:var(--accent)}.timeline{position:relative}.timeline:after{content:"";pointer-events:none;background-image:repeating-linear-gradient(to right, transparent 0, transparent calc(100% / 24 - 1px), var(--time-minor-rule) calc(100% / 24 - 1px), var(--time-minor-rule) calc(100% / 24)), repeating-linear-gradient(to right, transparent 0, transparent calc(25% - 1px), var(--time-rule) calc(25% - 1px), var(--time-rule) 25%);position:absolute;inset:0}.sleep-band{background:var(--sleep);position:absolute;top:0;bottom:0}.sleep-band.ongoing{background:var(--open-sleep)}.event{z-index:1;background:0 0;border:0;border-radius:0;width:24px;height:34px;min-height:0;padding:2px;position:absolute;top:0;transform:translate(-50%)}.event:hover{z-index:3}.wake{color:var(--wake)}.meal{color:var(--meal)}.sleep{color:var(--night)}.exercise{color:var(--exercise)}.day-note{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;text-align:left;border:0;border-left:1px solid var(--line);background:0 0;border-radius:0;justify-content:flex-start;min-height:0;padding:0 10px;font-size:11px;display:block;overflow:hidden}.chart-footer{color:var(--muted);justify-content:space-between;align-items:center;margin-top:15px;font-size:12px;display:flex}.chart-footer span{align-items:center;gap:7px;display:flex}.chart-footer i{background:var(--sleep);border-radius:2px;width:16px;height:10px}.chart-footer button{color:var(--muted);background:0 0;border:0;font-size:12px}.fab{bottom:max(28px, env(safe-area-inset-bottom));background:var(--card);width:58px;height:58px;color:var(--accent);border:0;border:1px solid var(--line);z-index:6;border-radius:50%;position:fixed;right:max(28px,50vw - 468px);box-shadow:0 2px 8px #0001}.primary:hover:not(:disabled){background:var(--accent);filter:brightness(.93)}.primary{background:var(--accent);color:#fff;border:0;padding:12px 28px;font-weight:600}.sheet{background:var(--soft);color:var(--text);border:0;border-radius:18px;width:min(460px,100% - 24px);max-height:90dvh;padding:24px;overflow:auto;box-shadow:0 12px 48px #0002}.sheet::backdrop{background:#0005}.sheet header,.settings-panel header{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.sheet h2,.settings-panel h2{margin:0}.kind-picker{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:28px;display:grid}.kind{background:var(--card);border-color:#0000;flex-direction:column;min-height:85px;font-size:13px}.kind.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.field{margin:20px 0}.field>label{margin-bottom:9px;font-size:13px;display:block}.field small{color:var(--muted);margin-left:4px}.field input,.field textarea,.time-current{width:100%}input,textarea,select{background:var(--card);color:var(--text);border:1px solid #0000;border-radius:9px;max-width:100%;min-height:44px;padding:11px}textarea{resize:vertical;min-height:90px}.time-current{justify-content:space-between}.time-current span{color:var(--accent);font-size:12px}footer{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.danger{color:var(--meal);border:0;margin-right:auto}.error{background:color-mix(in srgb, var(--meal) 8%, var(--card));color:var(--meal);border-radius:8px;padding:14px;font-size:13px}.toast:not(:empty){background:var(--text);color:var(--bg);z-index:8;border-radius:12px;padding:12px 20px;font-size:13px;position:fixed;bottom:30px;left:50%;transform:translate(-50%)}.empty-hint{color:var(--muted);text-align:center;margin:20px;font-size:13px}.muted{color:var(--muted);font-size:13px}.sr-only{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.login-page{align-items:center;min-height:100dvh;display:grid}.login-card{width:min(400px,100%);margin:64px auto;padding:24px}.login-symbol{color:var(--text);margin:0 auto 24px;display:block}.login-card h1{letter-spacing:-.02em;margin:0 0 12px;font-size:28px;font-weight:650}.login-page .login-card{text-align:center}.login-card p{color:var(--muted);font-size:15px;line-height:1.6}.login-button{border-color:var(--line);width:100%;min-height:48px;margin-top:24px;font-weight:500}.demo-link{text-align:center;margin:6px 0 30px;padding:14px;font-size:14px;display:block}.login-card>small{color:var(--muted);font-size:12px;line-height:1.6;display:block}.privacy-link{text-align:center;color:var(--muted);margin-top:12px;font-size:12px;display:block}.demo-badge{color:var(--muted);font-size:12px}.settings-panel{background:var(--soft)}.settings-panel h3{color:var(--muted);margin:26px 12px 8px;font-size:12px;font-weight:500}.settings-panel>p{overflow-wrap:anywhere;margin:10px 12px;font-size:13px}.settings-panel>select{width:100%}.goal-fields{background:var(--card);border-radius:10px;padding:0 14px}.goal-fields label{align-items:center;gap:10px;min-height:52px;font-size:15px;display:flex}.goal-fields label+label{border-top:1px solid var(--soft)}.goal-fields input{background:0 0;width:auto;margin-left:auto;padding:4px}.day-list button{border:0;border-bottom:1px solid var(--line);border-radius:0;flex-wrap:wrap;justify-content:flex-start;width:100%;padding:12px 0;font-size:14px;display:flex}.day-list time{font-variant-numeric:tabular-nums;margin-left:auto}.day-list small{width:100%;color:var(--muted);padding-left:28px}.text-button{color:var(--accent);border:0;padding-left:0}.privacy-page{max-width:650px;margin:auto;padding:40px 24px}.privacy-page h1{margin-top:40px}.privacy-page h2{margin-top:30px;font-size:18px}.privacy-page p{color:var(--muted);font-size:14px}.loading{text-align:center;padding:50px}@media (width<=600px){.app-shell{padding:0 14px 100px}.app-header{height:56px}.chart-toolbar{margin:6px 0 12px}.date-tools{justify-content:space-between;width:100%}.chart-head,.chart-row{grid-template-columns:54px minmax(0,1fr) 67px}.chart-row{height:33px}.day{gap:3px;padding:0 5px;font-size:10px}.day-note{padding:0 5px;font-size:10px}.event{width:19px;height:32px}.event svg{width:13px}.hours{margin:0 4px}.fab{right:20px}.sheet{padding:20px}.kind-picker{gap:6px}.kind{padding:8px 3px}.toast:not(:empty){width:max-content;max-width:85%;bottom:100px}.login-card{margin-top:30px}.login-card h1{font-size:28px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.date-tools input{background:0 0;border:0;padding-left:0;font-weight:600}.date-tools>button{color:var(--accent);background:0 0;border:0}.app-header .icon-button{color:var(--accent)}button:active:not(:disabled){opacity:.65}.sheet .icon-button{color:var(--muted)}.sheet h2{font-size:18px}.sheet footer .primary{min-width:88px}.settings-panel>button{width:100%;color:var(--accent);border:0;justify-content:flex-start}@media (width<=600px){.sheet{width:100%;max-height:calc(100dvh - 24px);padding-bottom:max(24px, env(safe-area-inset-bottom));border-radius:20px 20px 0 0;margin:auto 0 0}.login-card{margin:24px auto}}.login-card input{border-color:var(--line);width:100%;margin:8px 0}body:has(dialog[open]){overflow:hidden}@media (width<=600px){.sheet{max-width:100%;inset-inline:0}}.timeline-status{z-index:7;color:var(--muted);background:var(--card);border-radius:8px;font-size:12px;position:fixed;bottom:24px;left:24px}.timeline-status:not(:empty){padding:10px 14px}.chart-viewport{overscroll-behavior-y:contain;overflow-anchor:none;scrollbar-gutter:stable;height:max(240px,100dvh - 260px);overflow-y:auto}.chart-viewport:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.date-tools{justify-content:space-between;align-items:center;width:100%}.chart-footer{font-size:12px}.return-latest{z-index:15;bottom:calc(16px + env(safe-area-inset-bottom));background:var(--card);border:1px solid var(--line);height:44px;color:var(--text);border-radius:24px;padding:0 16px;font-size:14px;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 2px 10px #00000012}.fab{bottom:calc(16px + env(safe-area-inset-bottom));right:max(20px,50vw - 480px)}.chart-head{padding-right:var(--scrollbar-width,0px)}.day-add-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.day-add-actions button{justify-content:flex-start;gap:12px;min-height:64px;font-weight:600}html{scrollbar-gutter:stable}.sheet{background:var(--card);border:1px solid var(--line)}.sheet input,.sheet textarea,.sheet select{background:var(--soft);border-color:#0000}.sheet h3,.field-label{color:var(--muted);font-size:13px;font-weight:500}.field-label{margin-bottom:9px}.sheet .icon-button{background:0 0;border:0}.kind-picker{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:24px}.kind-picker .kind{min-height:60px;color:var(--text);background:var(--soft);flex-direction:row;justify-content:flex-start;padding:12px 16px;font-size:15px}.kind-picker .kind svg{width:23px;color:var(--muted)}.kind-picker .kind.selected{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--card));box-shadow:none}.kind-picker .kind.selected svg{color:var(--accent)}.date-time-fields{background:var(--soft);border-radius:12px;padding:0 14px}.date-time-fields label{justify-content:space-between;align-items:center;gap:12px;min-height:56px;display:flex}.date-time-fields label+label{border-top:1px solid var(--line)}.date-time-fields input{text-align:right;width:auto;min-width:0;padding-inline:0}.date-time-fields .text-button{margin-bottom:5px;font-size:13px}.appearance-picker{background:var(--soft);border-radius:12px;gap:4px;padding:4px;display:flex}.appearance-picker button{min-height:40px;color:var(--muted);background:0 0;border:0;flex:1;padding:8px}.appearance-picker button[aria-pressed=true]{color:var(--text);background:var(--card);box-shadow:0 1px 4px #0002}.month-trigger{background:0 0;border:0;padding-inline:0;font-weight:600}.month-trigger svg{flex-shrink:0;display:block}.month-year{justify-content:space-between;align-items:center;gap:16px;display:flex}.month-year select{text-align:center;font-weight:600}.month-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px;display:grid}.month-grid button{background:var(--soft);border:0;min-height:52px}.month-grid button[aria-pressed=true]{background:var(--accent);color:#fff}.time-slot{z-index:1;background:0 0;border:0;border-radius:0;width:100%;height:100%;min-height:0;padding:0;position:absolute;inset:0}.time-slot:hover:not(:disabled){background:0 0}.slot-highlight{pointer-events:none;width:4.16667%;color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, transparent);outline:1px solid var(--accent);outline-offset:-1px;justify-content:center;align-items:center;display:none;position:absolute;top:0;bottom:0}.slot-time{white-space:nowrap;background:var(--text);color:var(--bg);pointer-events:none;border-radius:3px;padding:2px 5px;font-size:11px;line-height:16px;display:none;position:absolute;bottom:calc(100% + 4px);transform:translate(-50%)}@media (hover:hover){.time-slot:hover .slot-highlight,.time-slot:hover .slot-time{display:flex}}.time-slot:focus-visible .slot-highlight,.time-slot:focus-visible .slot-time{display:flex}.time-slot:focus-visible{outline-offset:-2px}:is(.timeline:has(.time-slot:hover),.timeline:has(.time-slot:focus-visible)){z-index:4}.event{z-index:2}.event svg{flex-shrink:0;width:17px;height:17px}.event-group{color:var(--text)}.event-count{background:var(--text);min-width:12px;height:13px;color:var(--bg);border-radius:4px;padding:0 2px;font-size:9px;font-weight:600;line-height:13px;position:absolute;top:0;right:-3px}.date-time-fields .text-button{background:0 0;padding-inline:0}.event{width:24px;height:100%}.event-glyph{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:20px;display:flex}.primary,.primary:hover:not(:disabled),.month-grid button[aria-pressed=true]{color:#fff;background:#06c}.record-preview{z-index:30;border:1px solid var(--line);background:var(--card);width:200px;color:var(--text);pointer-events:none;border-radius:10px;padding:12px;font-size:13px;position:fixed;overflow:hidden;box-shadow:0 4px 16px #0002}.record-preview strong{margin-bottom:8px;font-size:12px;display:block}.record-preview>div{align-items:center;gap:8px;line-height:24px;display:flex}.record-preview small{color:var(--muted);margin-top:6px;font-size:11px;display:block}.record-choices{gap:8px;display:grid}.record-choices button{text-align:left;justify-content:flex-start;gap:12px}.record-choices button>span{min-width:0}.record-choices strong{font-size:15px;font-weight:500}.record-choices small{color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:4px;display:block}
