:root{--bg: #0f172a;--surface: #1e293b;--surface-2: #273449;--text: #e2e8f0;--muted: #94a3b8;--accent: #10b981;--danger: #f87171}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}.app{max-width:560px;margin:0 auto;padding:1rem 1rem calc(2rem + env(safe-area-inset-bottom));min-height:100vh}.header{display:flex;align-items:center;justify-content:space-between}h1{font-size:1.5rem;margin:.5rem 0 1rem}h2{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:1.5rem 0 .5rem}.link{background:none;border:none;font-size:1.3rem;cursor:pointer}.quick-add{display:flex;gap:.5rem;position:sticky;top:0;padding:.5rem 0;background:var(--bg);z-index:2}.quick-add input{flex:1;padding:.85rem 1rem;border-radius:12px;border:1px solid var(--surface-2);background:var(--surface);color:var(--text);font-size:1rem}.quick-add button{width:52px;border:none;border-radius:12px;background:var(--accent);color:#052e1a;font-size:1.5rem;font-weight:700;cursor:pointer}.quick-add button:disabled{opacity:.5}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.row{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;background:var(--surface);border-radius:12px}.row .name{flex:1;font-size:1.05rem}.row .name em{color:var(--muted);font-style:normal;font-size:.9rem}.row.done .name{color:var(--muted);text-decoration:line-through}.check{width:32px;height:32px;border-radius:50%;border:2px solid var(--accent);background:none;color:var(--accent);font-size:1rem;cursor:pointer;display:grid;place-items:center;flex-shrink:0}.row.done .check{border:none;color:var(--accent)}.remove{background:none;border:none;color:var(--muted);font-size:1.1rem;cursor:pointer;padding:.25rem .5rem}.remove:hover{color:var(--danger)}.empty{color:var(--muted);text-align:center;padding:2rem 0}.error{color:var(--danger);background:#f871711a;padding:.6rem .85rem;border-radius:10px;font-size:.9rem}.gate{display:flex;flex-direction:column;justify-content:center;gap:1rem}.gate form{display:flex;flex-direction:column;gap:.75rem}.gate input{padding:.85rem 1rem;border-radius:12px;border:1px solid var(--surface-2);background:var(--surface);color:var(--text);font-size:1rem}.gate button{padding:.85rem;border:none;border-radius:12px;background:var(--accent);color:#052e1a;font-weight:700;font-size:1rem;cursor:pointer}button:disabled{cursor:default;opacity:.5}.center{text-align:center;justify-content:center}.actions{display:flex;gap:.25rem}.muted{color:var(--muted);font-size:.9rem}.wrap{display:block;white-space:pre-wrap;word-break:break-all;background:var(--surface);border-radius:10px;padding:.75rem;font-size:.85rem;margin:.5rem 0}.code{font-size:2.2rem;font-weight:700;letter-spacing:.15em;text-align:center;background:var(--surface);border-radius:12px;padding:1rem;margin:.5rem 0}.callout{background:var(--surface-2);border-radius:12px;padding:.85rem;margin-top:.75rem}button.wide{width:100%;padding:.85rem;border:none;border-radius:12px;background:var(--accent);color:#052e1a;font-weight:700;font-size:1rem;cursor:pointer;margin-top:.5rem}button.ok{border:none;border-radius:10px;background:var(--accent);color:#052e1a;font-weight:700;padding:.4rem .75rem;cursor:pointer}
