:root{font-family:Instrument Sans,Avenir Next,sans-serif;color:#102a2d;background:#f4faf8;--bg:#f4faf8;--surface:#fff;--surface-muted:#e8f3ef;--ink:#102a2d;--muted:#65807c;--line:#d4e5df;--brand:#0f766e;--brand-strong:#0b5f59;--danger:#b42318;--shadow:0 18px 50px #0f3b3212;color-scheme:light}:root[data-theme=dark]{--bg:#102321;--surface:#17332f;--surface-muted:#23443e;--ink:#e9f6f1;--muted:#a1c1b8;--line:#31584f;--brand:#5ed0b7;--brand-strong:#8ae2cf;--shadow:0 18px 50px #0004;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 10% 0,#d9f3e9 0,transparent 35%),var(--bg);color:var(--ink);min-width:320px}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{width:min(100%,680px);min-height:100dvh;margin:auto;padding:28px 20px 100px}.app-bar{display:flex;justify-content:space-between;align-items:flex-end;margin:14px 0 26px}.kicker{display:block;color:var(--brand);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.app-bar h1{font-family:Sora,Avenir Next,sans-serif;font-size:34px;letter-spacing:-.05em;margin:7px 0 0}.remaining{font-size:32px;font-weight:800;color:var(--brand);text-align:right}.remaining small{display:block;color:var(--muted);font-size:11px;font-weight:700}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:16px}.toolbar input{flex:1;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:14px;padding:13px 15px;min-height:48px}.segmented,.theme-options{display:flex;gap:4px;background:var(--surface-muted);padding:4px;border-radius:13px}.segmented button,.theme-options button{border:0;background:transparent;color:var(--muted);border-radius:10px;padding:9px 11px;font-size:12px}.segmented button.selected,.theme-options button.selected{background:var(--surface);color:var(--ink);box-shadow:0 2px 8px #0f3b3212}.list-section{display:grid;gap:10px}.todo-row{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:var(--shadow)}.check-button{width:30px;height:30px;border-radius:50%;border:2px solid #8bb9ac;background:transparent;color:var(--brand);flex:none;font-weight:900}.check-button span{display:block;line-height:25px}.todo-copy{display:grid;gap:5px;text-align:left;border:0;background:transparent;color:var(--ink);padding:1px 0;min-width:0;flex:1}.todo-copy strong{font-size:15px;line-height:1.35}.todo-copy small{color:var(--muted);font-size:12px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.todo-copy em{font-style:normal;color:var(--muted);font-size:11px}.is-done .todo-copy strong{text-decoration:line-through;color:var(--muted)}.is-done .check-button{background:var(--brand);border-color:var(--brand);color:#fff}.empty{text-align:center;padding:80px 30px;color:var(--muted)}.empty-mark{font-size:48px;color:var(--brand);opacity:.55}.empty h2{font-family:Sora,Avenir Next,sans-serif;color:var(--ink);font-size:18px;margin:12px 0 6px}.empty p{margin:0;font-size:13px}.primary-cta{position:fixed;bottom:26px;left:50%;transform:translate(-50%);border:0;background:var(--brand);color:#fff;border-radius:999px;padding:15px 24px;min-height:52px;font-weight:800;box-shadow:0 14px 32px #0f766e44}.primary-cta:hover{background:var(--brand-strong)}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:min(100%,680px);display:grid;grid-template-columns:repeat(3,1fr);padding:9px 20px max(9px,env(safe-area-inset-bottom));background:#fffd;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:4}.bottom-nav button{border:0;background:transparent;color:var(--muted);display:grid;gap:3px;place-items:center;font-size:11px}.bottom-nav button span{font-size:18px;line-height:18px}.bottom-nav button.active{color:var(--brand);font-weight:800}.modal-backdrop{position:fixed;inset:0;background:#102a2d66;display:grid;place-items:end center;padding:14px;z-index:10}.todo-form,.confirm-card,.settings-card{width:min(100%,650px);background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 24px 70px #0003}.modal-head{display:flex;align-items:center;justify-content:space-between}.modal-head h2,.settings-card h2{font-family:Sora,Avenir Next,sans-serif;font-size:21px;letter-spacing:-.04em;margin:0 0 18px}.modal-head button{border:0;background:var(--surface-muted);color:var(--ink);border-radius:50%;width:34px;height:34px;font-size:22px}.todo-form label{display:grid;gap:7px;margin:15px 0;font-size:12px;font-weight:800}.todo-form input,.todo-form textarea,.todo-form select{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;padding:12px;min-height:46px}.todo-form textarea{min-height:100px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.primary,.secondary,.danger{border:0;border-radius:12px;padding:12px 16px;min-height:46px;font-weight:800}.primary{background:var(--brand);color:#fff}.secondary{background:var(--surface-muted);color:var(--ink)}.danger{background:#fee4e2;color:var(--danger)}.danger-link{display:block;border:0;background:transparent;color:var(--danger);margin:18px auto 0;font-weight:800}.settings-card{margin-top:18px}.settings-card h2{margin-bottom:12px}.theme-options button{flex:1;min-height:44px}.storage-note{color:var(--muted);font-size:12px;margin:20px 0 0}@media(max-width:480px){.app-shell{padding-inline:14px}.app-bar h1{font-size:29px}.toolbar{display:grid}.segmented{width:100%}.segmented button{flex:1}}.primary-cta{bottom:88px}
