:root{--bg: #f2f4f6;--surface: #ffffff;--surface-2: #e8ecf0;--ink: #1d2532;--ink-soft: #4c5a6e;--ink-faint: #8494a8;--line: #d5dce4;--sun: #dd8a1c;--sun-soft: #f7e8cf;--sun-ink: #241a08;--dusk: #4a6488;--dusk-ink: #f2f6fb;--moss: #4d7c4f}@media(prefers-color-scheme:dark){:root{--bg: #12161d;--surface: #1a2029;--surface-2: #232b37;--ink: #e8edf3;--ink-soft: #a8b6c7;--ink-faint: #6b7a8d;--line: #2d3745;--sun: #eda43c;--sun-soft: #3a2f1a;--dusk: #55719b;--moss: #7fb381}}*{box-sizing:border-box;margin:0}html,body{height:100%}body{background:var(--bg);color:var(--ink);font-family:Avenir Next,Segoe UI,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}input,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;width:100%;resize:none}input::placeholder,textarea::placeholder{color:var(--ink-faint)}input:focus,textarea:focus{outline:2px solid var(--sun);outline-offset:-1px}#root,.app{min-height:100dvh;display:flex;flex-direction:column}.screen{flex:1;width:100%;max-width:480px;margin:0 auto;padding:calc(16px + env(safe-area-inset-top)) 20px 16px}.screen-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:18px}.screen-head h1{font-size:1.5rem;font-weight:700;letter-spacing:-.01em}.screen-head .sub{font-size:.78rem;color:var(--ink-faint)}.bigbtn{width:100%;border-radius:20px;padding:34px 16px;text-align:center;font-weight:700;font-size:1.25rem;letter-spacing:-.01em;transition:transform .08s}.bigbtn:active{transform:scale(.97)}.bigbtn small{display:block;font-weight:500;font-size:.75rem;margin-top:6px;opacity:.75}.bigbtn.sleep{background:var(--dusk);color:var(--dusk-ink)}.bigbtn.wake{background:var(--sun);color:var(--sun-ink)}.chips-label{text-align:center;font-size:.8rem;color:var(--ink-faint);margin:22px 0 10px}.chips{display:flex;gap:8px}.chip{flex:1;padding:14px 0;border-radius:12px;border:1px solid var(--line);background:var(--surface);font-size:1rem;font-weight:650;transition:transform .08s}.chip:active{transform:scale(.94)}.chip.sel{background:var(--sun-soft);border-color:var(--sun);color:var(--sun)}.journal-box{margin-top:16px;display:flex;flex-direction:column;gap:8px}.send{align-self:flex-end;background:var(--sun);color:var(--sun-ink);border-radius:10px;padding:9px 16px;font-weight:650;font-size:.85rem}.dots{display:flex;gap:8px;justify-content:center;margin:26px 0 6px}.dot{width:11px;height:11px;border-radius:50%;background:var(--surface-2);border:1px solid var(--line)}.dot.on{background:var(--moss);border-color:var(--moss)}.dot.half{background:var(--sun);border-color:var(--sun)}.caption{text-align:center;font-size:.72rem;color:var(--ink-faint)}.caption a{color:var(--ink-soft);text-decoration:underline;cursor:pointer}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:12px}.card.empty p{color:var(--ink-faint);font-size:.88rem}.card.auth-error{border-color:var(--sun)}.card.auth-error p{color:var(--ink-soft);font-size:.85rem}.card .tag{display:block;font-size:.64rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--sun);margin-bottom:6px}.note-body{font-size:.92rem;line-height:1.55;color:var(--ink-soft);white-space:pre-wrap}.card .caption{text-align:left;margin-top:8px}.todo{display:flex;align-items:center;gap:10px;width:100%;padding:10px 2px;font-size:.92rem;text-align:left}.todo+.todo{border-top:1px solid var(--line)}.todo .box{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--ink-faint);flex:0 0 auto;display:grid;place-items:center}.todo.done .box{background:var(--moss);border-color:var(--moss)}.todo.done .box:after{content:"✓";color:#fff;font-size:12px}.todo.done .txt{color:var(--ink-faint);text-decoration:line-through}.prev-note{border-top:1px solid var(--line)}.prev-note:first-of-type{border-top:0}.prev-note summary{display:flex;align-items:baseline;gap:8px;padding:10px 2px;font-size:.82rem;cursor:pointer;list-style:none;-webkit-tap-highlight-color:transparent}.prev-note summary::-webkit-details-marker{display:none}.prev-note summary .period{color:var(--ink-faint);font-size:.72rem;flex:0 0 auto}.prev-note summary .peek{flex:1;min-width:0;color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prev-note[open] summary .peek{display:none}.prev-note .note-body{font-size:.85rem;padding:0 2px 12px}.settings{margin-top:24px;display:flex;flex-direction:column;gap:10px}.secondary{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:12px;font-weight:600;font-size:.9rem}.day-group{margin-bottom:18px}.day-group h3{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px}.row{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid var(--line);font-size:.88rem}.row .icon{flex:0 0 auto}.row .time{font-variant-numeric:tabular-nums;color:var(--ink-faint);font-size:.8rem;flex:0 0 auto}.row .what{flex:1;color:var(--ink-soft);min-width:0;overflow-wrap:break-word}.row .what em{color:var(--ink-faint);font-style:normal}.row .del{color:var(--ink-faint);font-size:1.1rem;padding:2px 8px;flex:0 0 auto}.tabs{display:flex;justify-content:space-around;border-top:1px solid var(--line);background:var(--surface);padding:10px 0 calc(10px + env(safe-area-inset-bottom))}.tab{font-size:.8rem;font-weight:600;color:var(--ink-faint);padding:4px 18px}.tab.on{color:var(--sun)}.gate{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;gap:14px;max-width:340px;margin:0 auto;padding:20px}.gate h1{font-size:2rem;letter-spacing:-.02em}.gate p{color:var(--ink-soft);font-size:.9rem}.primary{background:var(--sun);color:var(--sun-ink);border-radius:12px;padding:13px;font-weight:700}.primary:disabled{opacity:.4}
