:root{--ground: #f7f7f5;--surface: #ffffff;--sunk: #efefec;--ink: #16181d;--ink-soft: #4c5561;--ink-faint: #858e9b;--rule: #e2e2dd;--accent: #2f6f5e;--accent-ink: #ffffff;--accent-soft: #e4f0eb;--mit: #b06d1a;--mit-soft: #fbf0dd;--ok: #2f7a52;--danger: #9a3050;--shadow: 0 1px 2px rgba(20, 24, 28, .06), 0 8px 24px rgba(20, 24, 28, .05);--radius: 10px;--radius-sm: 7px;--max: 720px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ground: #0e1116;--surface: #161a21;--sunk: #11151b;--ink: #e6eaef;--ink-soft: #a7b1be;--ink-faint: #737f8d;--rule: #262c36;--accent: #5cc0a4;--accent-ink: #0e1116;--accent-soft: #172a26;--mit: #e0a253;--mit-soft: #2a2116;--ok: #5fb583;--danger: #e0748f;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .3)}}:root[data-theme=dark]{--ground: #0e1116;--surface: #161a21;--sunk: #11151b;--ink: #e6eaef;--ink-soft: #a7b1be;--ink-faint: #737f8d;--rule: #262c36;--accent: #5cc0a4;--accent-ink: #0e1116;--accent-soft: #172a26;--mit: #e0a253;--mit-soft: #2a2116;--ok: #5fb583;--danger: #e0748f;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .3)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--ground);color:var(--ink);font:16px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--accent)}button{font:inherit;cursor:pointer;border:1px solid var(--rule);background:var(--surface);color:var(--ink);border-radius:var(--radius-sm);padding:7px 12px;transition:background .12s ease,border-color .12s ease}button:hover:not(:disabled){border-color:var(--ink-faint)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent;font-weight:600}button.ghost{background:transparent;border-color:transparent;color:var(--ink-soft)}button.ghost:hover{background:var(--sunk)}button.danger{color:var(--danger)}input,select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-sm);padding:8px 10px;width:100%}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}.shell{max-width:var(--max);margin:0 auto;padding:0 16px 96px}.topbar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--ground) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule)}.topbar .inner{max-width:var(--max);margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:12px}.brand{font-weight:700;letter-spacing:-.01em;text-decoration:none;color:var(--ink)}.spacer{flex:1}.tabs{display:flex;gap:4px}.tabs a{text-decoration:none;color:var(--ink-soft);padding:6px 11px;border-radius:999px;font-size:15px}.tabs a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.tabs .count{color:var(--ink-faint);font-size:13px;margin-left:4px}.capture{position:relative;margin:18px 0 8px}.capture input{padding:14px 16px;font-size:17px;border-radius:var(--radius);box-shadow:var(--shadow);border-color:transparent}.capture .hint{margin-top:6px;font-size:13px;color:var(--ink-faint);min-height:18px}.capture .hint b{color:var(--accent);font-weight:600}.list{display:flex;flex-direction:column;gap:6px;margin-top:14px}.task{display:flex;align-items:flex-start;gap:11px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:11px 13px}.task.mit{border-color:var(--mit);background:var(--mit-soft)}.task.done{opacity:.5}.task.pending{opacity:.55}.check{flex:none;width:21px;height:21px;margin-top:1px;border-radius:50%;border:1.5px solid var(--ink-faint);background:transparent;padding:0;display:grid;place-items:center;color:transparent;font-size:12px}.check:hover{border-color:var(--accent)}.task.done .check{background:var(--ok);border-color:var(--ok);color:#fff}.task .body{flex:1;min-width:0}.task .title{word-wrap:break-word}.task.done .title{text-decoration:line-through}.task .meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:3px;font-size:13px;color:var(--ink-faint)}.task .meta .due.past{color:var(--ink-soft);font-weight:600}.task .meta .tag{background:var(--sunk);border-radius:999px;padding:1px 8px}.task .acts{display:flex;gap:2px;opacity:0;transition:opacity .12s ease}.task:hover .acts,.task:focus-within .acts{opacity:1}.task .acts button{padding:4px 7px;font-size:13px;border-color:transparent;background:transparent;color:var(--ink-faint)}.task .acts button:hover{background:var(--sunk);color:var(--ink)}@media(hover:none){.task .acts{opacity:1}}.empty{text-align:center;color:var(--ink-faint);padding:44px 16px;line-height:1.7}.empty .big{font-size:34px;margin-bottom:8px}.notice{background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:var(--radius);padding:11px 13px;font-size:14px;margin:12px 0;color:var(--ink)}.notice.warn{background:var(--mit-soft);border-color:color-mix(in srgb,var(--mit) 35%,transparent)}.section-title{margin:26px 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint)}.week{display:flex;gap:6px;align-items:center}.week .day{width:26px;height:26px;border-radius:7px;background:var(--sunk);display:grid;place-items:center;font-size:11px;color:var(--ink-faint)}.week .day.hit{background:var(--accent);color:var(--accent-ink);font-weight:700}.week .day.today{outline:2px solid var(--ink-faint);outline-offset:1px}.card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:16px;margin:14px 0}.card h2{margin:0 0 4px;font-size:17px}.card p.sub{margin:0 0 14px;color:var(--ink-soft);font-size:14px}.row{display:flex;gap:12px;align-items:center;margin:10px 0;flex-wrap:wrap}.row label{flex:1 1 190px;font-size:14px;color:var(--ink-soft)}.row .field{flex:0 0 148px}.row input[type=time]{min-width:132px}.row input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.row.switch{justify-content:space-between}.hero{padding:56px 0 32px;text-align:center}.hero h1{font-size:clamp(30px,6vw,46px);line-height:1.12;margin:0 0 14px;letter-spacing:-.02em}.hero p.lead{font-size:18px;color:var(--ink-soft);max-width:34em;margin:0 auto 26px}.hero .cta{display:inline-flex;gap:10px;flex-wrap:wrap;justify-content:center}.hero .cta button,.hero .cta a.btn{padding:12px 20px;font-size:16px;text-decoration:none;border-radius:var(--radius)}.hero .cta a.btn{background:var(--accent);color:var(--accent-ink);font-weight:600}.features{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin:40px 0}.feature{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:16px}.feature h3{margin:0 0 6px;font-size:15px}.feature p{margin:0;font-size:14px;color:var(--ink-soft);line-height:1.55}.chat{max-width:380px;margin:0 auto;display:flex;flex-direction:column;gap:8px}.bubble{background:var(--surface);border:1px solid var(--rule);border-radius:14px;padding:10px 13px;font-size:14px;text-align:left;box-shadow:var(--shadow)}.bubble.mine{background:var(--accent-soft);align-self:flex-end;border-color:transparent}.bubble .btns{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.bubble .btns span{border:1px solid var(--rule);border-radius:7px;padding:3px 9px;font-size:12px;color:var(--ink-soft)}.offline-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--ink);color:var(--ground);text-align:center;padding:8px;font-size:13px}.footer{margin-top:48px;padding-top:18px;border-top:1px solid var(--rule);color:var(--ink-faint);font-size:13px}kbd{font:12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--sunk);border:1px solid var(--rule);border-bottom-width:2px;border-radius:4px;padding:2px 5px}@media(max-width:560px){.shell{padding:0 12px 96px}.topbar .inner{gap:6px;padding:10px 12px}.tabs a{padding:6px 8px;font-size:14px}.topbar .logout{display:none}.hero{padding:36px 0 24px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
