:root{color-scheme:light;--bg:#fff;--surface:#fff;--ink:#161616;--muted:#656565;--line:#e6e6e6;--accent:#111;--on-accent:#fff;--soft:#f4f4f4;--danger:#444;--shadow:#00000008}
:root[data-theme="dark"]{color-scheme:dark;--bg:#101010;--surface:#181818;--ink:#f5f5f5;--muted:#ababab;--line:#303030;--accent:#f2f2f2;--on-accent:#111;--soft:#222;--danger:#ddd;--shadow:#00000022}
.app-shell{padding:env(safe-area-inset-top) 22px calc(132px + env(safe-area-inset-bottom));min-height:100vh;min-height:100dvh}.app-header{padding:24px 0 22px}.brand{font-size:1.65rem;letter-spacing:-.7px}.icon-button{border:1px solid var(--line);background:var(--surface)}main{touch-action:pan-y pinch-zoom;padding-bottom:16px}h1{font-size:1.55rem;letter-spacing:-.55px;margin:8px 0 22px}.card{padding:18px;margin:12px 0;border-radius:16px;box-shadow:none}.priority.primary{background:var(--surface);border-color:var(--ink)}.priority h2{font-size:1.15rem;margin:10px 0 8px}.eyebrow{letter-spacing:.55px}.priority .row{margin-top:12px}.priority .text-button{padding:8px 12px;background:var(--soft);border-radius:10px}.button{border-radius:11px;min-height:46px}.danger{text-decoration:underline}.notice{border-radius:12px;margin:12px 0 18px}.task-heading{padding-top:18px;margin-top:8px}.task-heading .text-button{padding:8px 13px;border:1px solid var(--line);border-radius:10px}.task-row{gap:10px;padding:9px 0}.check-target{width:40px;min-height:46px}.task-row input{width:22px;height:22px}.task-title{min-height:46px}.periods{border-radius:12px;margin:16px 0}.periods button{border-radius:9px}.field{gap:7px;margin:14px 0}textarea{min-height:112px;line-height:1.55}.optional-description{margin:14px 0}.optional-description .field{margin-bottom:0}.field-error{color:var(--ink);line-height:1.5}.field-error:not(:empty){padding:12px;border:1px solid var(--ink);border-radius:10px;background:var(--soft)}.number{font-size:2.7rem;letter-spacing:-1.5px}.count{margin:16px 0}
.app-footer{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:100%;max-width:480px;z-index:3;background:var(--bg);padding:0 18px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}nav{margin:0;background:var(--bg);padding:4px 0;border:0;border-radius:0;box-shadow:none}nav a{min-height:58px;padding:7px 2px;border-radius:11px}nav a[aria-current="page"]{background:var(--soft);color:var(--ink)}.connection{padding:8px 0 2px;min-height:28px}.connection button{min-height:30px}
dialog{max-height:90vh;max-height:90dvh;padding:20px 20px 0;border-radius:20px;overscroll-behavior:contain}dialog:not([open]){display:none}dialog::backdrop{background:#00000066;backdrop-filter:blur(2px)}dialog h1{font-size:1.3rem}dialog .dialog-heading{margin-bottom:16px}dialog .icon-button{border:0}dialog .actions{position:sticky;bottom:0;background:var(--bg);padding:14px 0 calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--line);margin-top:18px;z-index:1}dialog>p:last-child,dialog>.row:last-child{padding-bottom:20px}dialog[data-fallback]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;z-index:12}.modal-shade{position:fixed;inset:0;background:#00000066;z-index:11}#toast{bottom:calc(112px + env(safe-area-inset-bottom));z-index:15}.settings-section:last-child{padding-bottom:24px;border:0}.update-notice{background:var(--ink);color:var(--bg);border-radius:10px;padding:10px 12px;margin:8px 0;font-size:.875rem;display:flex;gap:12px;align-items:center;justify-content:space-between}.update-notice button{border:1px solid currentColor;background:transparent;color:inherit;padding:8px 10px;border-radius:8px;min-height:44px}
@media(min-width:640px){.app-shell{padding-left:26px;padding-right:26px}.app-footer{bottom:24px;max-width:478px;border-radius:0 0 27px 27px;padding-left:22px;padding-right:22px}}
@media(max-width:359px){.app-shell{padding-left:16px;padding-right:16px}.card{padding:16px}.app-footer{padding-left:10px;padding-right:10px}.app-header{padding:20px 0}.priority .row{gap:6px}.priority .text-button{padding:8px;font-size:.8rem}}
