:root,[data-theme=warm]{--bg:#f6f2ea;--surface:#fffdf8;--ink:#25211c;--muted:#6b6358;--faint:#a29a8d;--line:#e9e2d5;--calm:#f0eadf;--accent:#a9552f;--accent-soft:#f5e6db;--display-font:"Newsreader", Georgia, serif;--display-weight:500;--display-ls:-.01em;--shadow:0 1px 2px #4632190d, 0 10px 28px -6px #46321914}[data-theme=cool]{--bg:#f3f6fa;--surface:#fff;--ink:#111b2d;--muted:#56627a;--faint:#98a3b6;--line:#e3e8f0;--calm:#edf1f7;--accent:#2560e0;--accent-soft:#e5edfd;--display-font:"Manrope", system-ui, sans-serif;--display-weight:700;--display-ls:-.03em;--shadow:0 1px 2px #14233c0d, 0 10px 28px -6px #14233c17}:root{--button-text:#fff;--radius-input:16px;--radius-card:22px;--radius-tile:12px;--radius-pill:20px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:Manrope,system-ui,sans-serif}#root{min-height:100vh}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;padding:0;font-family:inherit}input,textarea{color:inherit;font-family:inherit}.display{font-family:var(--display-font);font-weight:var(--display-weight);letter-spacing:var(--display-ls)}.app-shell{background:var(--bg);flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;display:flex;position:relative}.main-area{flex-direction:column;flex:1;min-width:0;display:flex}@media (width>=1024px){.app-shell{max-width:none}.laptop-sidebar{flex-direction:column;gap:4px;display:flex!important}.screen{max-width:880px;padding:32px 32px 0}}.screen{flex-direction:column;flex:1;gap:12px;padding:10px 20px 100px;display:flex}.screen-wide{padding-left:24px;padding-right:24px}.card{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:18px}.icon-circle-btn{background:var(--surface);border:1px solid var(--line);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.icon-tile{border-radius:var(--radius-tile);background:var(--calm);flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.badge{border-radius:var(--radius-pill);white-space:nowrap;padding:5px 10px;font-size:12px;font-weight:700}.badge-due{background:var(--accent-soft);color:var(--accent)}.badge-catch{background:var(--calm);color:var(--ink)}.badge-ok{color:var(--muted);border:1px solid var(--line);background:0 0}.btn-primary{border-radius:var(--radius-input);background:var(--accent);height:54px;color:var(--button-text);justify-content:center;align-items:center;gap:8px;width:100%;font-size:16px;font-weight:700;transition:transform .1s,opacity .1s;display:flex}.btn-primary:active{opacity:.9;transform:scale(.98)}.btn-secondary{border-radius:var(--radius-input);background:var(--surface);border:1px solid var(--line);justify-content:center;align-items:center;gap:8px;width:100%;height:50px;font-size:15px;font-weight:700;display:flex}.btn-text{height:44px;color:var(--muted);justify-content:center;align-items:center;font-size:14.5px;font-weight:700;display:flex}.input-field{border-radius:var(--radius-input);background:var(--surface);border:1px solid var(--line);align-items:center;gap:12px;height:52px;padding:0 16px;font-size:15.5px;font-weight:600;display:flex}.input-field.focused{border:1.5px solid var(--accent)}.muted{color:var(--muted)}.faint{color:var(--faint)}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.bottom-tabbar{max-width:480px;padding:10px 16px calc(env(safe-area-inset-bottom,0px) + 16px);background:var(--surface);border-top:1px solid var(--line);z-index:10;grid-template-columns:repeat(5,1fr);margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.tab-item{flex-direction:column;align-items:center;gap:3px;font-size:11px;font-weight:700;display:flex}.fab{right:20px;bottom:calc(env(safe-area-inset-bottom,0px) + 104px);background:var(--accent);color:#fff;z-index:10;border-radius:28px;align-items:center;gap:8px;max-width:480px;height:56px;padding:0 22px 0 18px;font-size:15.5px;font-weight:700;display:flex;position:fixed;box-shadow:0 10px 24px -6px #0000004d}@media (width>=1024px){.app-shell{flex-direction:row}.bottom-tabbar,.fab{display:none}}
