:root{--bg:#fcfbfe;--surface:#fff;--text:#241f33;--text-muted:#615d6f;--border:#ebe9f1;--border-strong:#7e7a8d;--primary:#6a58c7;--primary-hover:#4f3fa8;--on-primary:#fff;--link:#4f3fa8;--link-hover:#3a2c82;--tint:#efecfa;--tint-text:#4f3fa8;--focus:#7a67d4;--alert-bg:#fbe9e2;--alert-edge:#a04e2a;--header-bg:#241f33;--header-text:#fff;--header-muted:#d9d6e3;--header-accent:#b3a5ec;--header-hover:#ffffff1a;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--text-xs:11px;--text-sm:12px;--text-base:15px;--text-lg:18px;--text-xl:20px;--leading-base:1.55;--leading-tight:1.15;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-sm:0 1px 2px #2d2b351f;--page-width:48rem}html{background:var(--bg);color:var(--text);font:var(--text-base) / var(--leading-base) var(--font)}body{margin:0}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}main{grid-template-columns:1fr min(var(--page-width), 100% - var(--space-8)) 1fr;padding-bottom:var(--space-8);align-content:start;row-gap:var(--space-4);display:grid}main>*{grid-column:2;margin:0}main>:first-child:not(header){margin-top:var(--space-8)}header{background:var(--header-bg);color:var(--header-text);align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);padding:var(--space-3) max(var(--space-4), (100% - var(--page-width)) / 2);grid-column:1/-1;display:flex}header>span:not(.brand){color:var(--header-muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}header button{border-color:var(--header-muted);color:var(--header-text);background:0 0;flex-shrink:0}header button:hover{background:var(--header-hover)}header :focus-visible{outline-color:var(--header-accent)}.brand{font-size:var(--text-lg);align-items:center;gap:var(--space-2);margin-right:auto;font-weight:600;display:inline-flex}.brand svg{color:var(--primary)}header .brand svg{color:var(--header-accent)}h1{font-size:var(--text-xl);font-weight:600;line-height:var(--leading-tight)}a{color:var(--link);text-underline-offset:2px}a:hover{color:var(--link-hover)}button{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text);cursor:pointer;font:inherit;font-weight:600;line-height:var(--leading-tight);padding:var(--space-2) var(--space-3)}button:hover{background:var(--tint)}button[type=submit],.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}button[type=submit]:hover,.primary:hover{background:var(--primary-hover)}button:disabled{cursor:not-allowed;opacity:.5}main>button{justify-self:start}input:not([type=checkbox]){background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-sizing:border-box;color:var(--text);font:var(--text-base) / var(--leading-tight) var(--font);min-width:0;padding:var(--space-2) var(--space-3);width:100%}input[type=checkbox]{accent-color:var(--primary);flex-shrink:0;width:18px;height:18px;margin:0}form{align-items:end;gap:var(--space-2);flex-wrap:wrap;display:flex}label{color:var(--text-muted);font-size:var(--text-sm);gap:var(--space-1);flex-direction:column;flex:12rem;font-weight:600;display:flex}main>form,.list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}main>form{padding:var(--space-4)}.list{padding:0;list-style:none;overflow:hidden}.list:empty{display:none}.list>li{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);display:flex}.list>li+li{border-top:1px solid var(--border)}.list>li>span{overflow-wrap:anywhere;flex:1;min-width:0}.list>li>button{color:var(--link);padding-inline:var(--space-2);background:0 0;border-color:#0000}.list>li>button:hover{background:var(--tint)}.list>li>form{flex:1}.list>li:has(>a){padding:0}.list>li>a{color:var(--text);overflow-wrap:anywhere;padding:var(--space-3) var(--space-4);flex:1;font-weight:600;text-decoration:none}.list>li>a:hover{background:var(--tint);color:var(--tint-text)}.list>li>a:focus-visible{outline-offset:-2px}.list small{color:var(--text-muted);font-size:var(--text-xs);font-weight:400;display:block}.done{color:var(--text-muted);text-decoration:line-through}nav{justify-content:space-between;display:flex}[role=alert]{background:var(--alert-bg);border-left:4px solid var(--alert-edge);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.badge{background:var(--tint);border-radius:var(--radius-sm);color:var(--tint-text);font-size:var(--text-xs);letter-spacing:.08em;margin-left:var(--space-2);text-transform:uppercase;vertical-align:middle;padding:2px 6px;font-weight:600}
