:root{--bg:#f3efe6;--bg-elevated:#fffdf8;--ink:#1c1917;--ink-muted:#57534e;--ink-faint:#a8a29e;--line:#e7e0d4;--accent:#c45c26;--accent-hover:#a84c1d;--accent-soft:#f8e6d8;--success:#2f6b4f;--success-soft:#e4f0e9;--danger:#b42318;--danger-soft:#fde8e6;--shadow:0 12px 32px #1c191714;--radius:18px;--tap:48px;--sans:"Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--sans);color:var(--ink);background:radial-gradient(circle at 12% 0%, #c45c2614, transparent 34%), radial-gradient(circle at 92% 88%, #2f6b4f12, transparent 32%), var(--bg);-webkit-font-smoothing:antialiased;margin:0}button,input,textarea,a{font:inherit}button{cursor:pointer}#root{min-height:100svh}.app-shell{width:min(760px,100% - 28px);margin:0 auto;padding:20px 0 48px}.page{gap:18px;display:grid}.app-header,.list-card,.stack-form,.checklist,.empty-state,.install-banner,.edit-tasks,.field input,.field textarea,.edit-task-row input{background:var(--bg-elevated);border:1px solid var(--line);box-shadow:var(--shadow)}.app-header{border-radius:var(--radius);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px;display:flex}.app-header-main{align-items:flex-start;gap:12px;min-width:0;display:flex}.app-header-copy{min-width:0}.app-header h1,.list-card h2,.empty-state h2,.dialog h2{letter-spacing:-.03em;margin:0;font-size:1.45rem;line-height:1.2}.app-header p,.list-card p,.empty-state p,.dialog p{color:var(--ink-muted);margin:6px 0 0}.app-header-actions,.page-actions,.dialog-actions,.install-actions,.add-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn,.icon-btn{min-height:var(--tap);min-width:var(--tap);color:inherit;border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:0 16px;text-decoration:none;transition:background .15s,transform .15s,border-color .15s;display:inline-flex}.btn:hover,.icon-btn:hover{transform:translateY(-1px)}.btn:disabled,.icon-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary,.icon-btn.solid{background:var(--accent);color:#fffdf8}.btn-primary:hover,.icon-btn.solid:hover{background:var(--accent-hover)}.btn-ghost{border-color:var(--line);background:0 0}.btn-danger{background:var(--danger);color:#fff}.icon-btn{background:var(--bg);border-color:var(--line);padding:0}.icon-btn.danger{color:var(--danger);background:var(--danger-soft);border-color:#0000}.list-grid{gap:14px;display:grid}.list-card{border-radius:var(--radius);cursor:pointer;padding:18px}.list-card:focus-visible,.btn:focus-visible,.icon-btn:focus-visible,.checklist-item:focus-within,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.list-card-top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.progress{gap:8px;display:grid}.progress.compact{gap:7px}.progress-meta{color:var(--ink-muted);justify-content:space-between;gap:12px;font-size:.95rem;display:flex}.progress-track{background:#efe8db;border-radius:999px;height:10px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--accent), #df8a4d);border-radius:inherit;height:100%;transition:width .2s;display:block}.checklist{border-radius:var(--radius);gap:8px;padding:10px;display:grid}.checklist-item{min-height:var(--tap);cursor:pointer;border-radius:14px;grid-template-columns:28px 1fr;align-items:start;gap:12px;padding:12px;display:grid}.checklist-item input{opacity:0;pointer-events:none;position:absolute}.check-box{color:#fff;background:#fff;border:2px solid #c4b8a5;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;margin-top:1px;display:inline-flex}.checklist-item.is-done .check-box{background:var(--success);border-color:var(--success)}.check-text{padding-top:3px;line-height:1.45}.checklist-item.is-done .check-text{color:var(--ink-faint);text-decoration:line-through}.stack-form,.empty-state,.install-banner{border-radius:var(--radius);padding:18px}.stack-form,.empty-state{gap:16px;display:grid}.empty-state{text-align:center;justify-items:center}.completion-meta{color:var(--success);margin:0;font-weight:700}.field{gap:8px;display:grid}.field span,.field small{color:var(--ink-muted)}.field input,.field textarea,.edit-task-row input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:14px;padding:14px}.field textarea{resize:vertical;min-height:220px;line-height:1.5}.banner{border-radius:12px;margin:0;padding:12px 14px}.banner.error{background:var(--danger-soft);color:var(--danger)}.edit-tasks{border-radius:var(--radius);gap:10px;padding:12px;display:grid}.edit-task-row{touch-action:pan-y;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;display:grid}.edit-task-row.is-dragging{z-index:5;box-shadow:var(--shadow);opacity:.96;background:#fff}.edit-task-row input{box-shadow:none;min-height:var(--tap)}.drag-handle{min-width:var(--tap);min-height:var(--tap);color:var(--ink-faint);cursor:grab;touch-action:none;background:0 0;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;padding:0;display:inline-flex}.drag-handle:hover,.drag-handle:focus-visible{color:var(--ink-muted);background:var(--bg);border-color:var(--line)}.drag-handle:active{cursor:grabbing}.add-row{align-items:end}.add-row .grow{flex:1}.install-banner{justify-content:space-between;align-items:center;gap:12px;display:flex}.install-banner p{color:var(--ink-muted);margin:0}.dialog-backdrop{z-index:20;background:#1c19176b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog{background:var(--bg-elevated);width:min(440px,100%);box-shadow:var(--shadow);border-radius:20px;gap:12px;padding:22px;display:grid}.dialog-icon{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);border-radius:12px;place-items:center;display:grid}.dialog-icon.danger{background:var(--danger-soft);color:var(--danger)}.dialog-details{color:var(--ink-muted);margin:0;padding-left:18px}.dialog-actions{justify-content:flex-end;margin-top:6px}.dialog.swal-dialog{text-align:center;justify-items:center;gap:14px;width:min(420px,100%);padding:28px 24px 22px;animation:.22s ease-out swal-pop}.dialog.swal-dialog h2{font-size:1.7rem}.dialog.swal-dialog p{max-width:28ch;margin:0}.swal-icon{border:3px solid #0000;border-radius:999px;place-items:center;width:72px;height:72px;display:grid}.swal-icon.success{color:var(--success);background:var(--success-soft);border-color:#b9d8c6}.swal-actions{flex-direction:column;justify-content:stretch;width:100%}.swal-actions .btn{width:100%}@keyframes swal-pop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@media (width<=640px){.app-shell{width:min(100% - 16px,760px);padding-top:12px}.app-header,.install-banner,.page-actions,.dialog-actions{flex-direction:column;align-items:stretch}.app-header-actions,.install-actions,.btn,.app-header-actions .icon-btn,.install-actions .btn{width:100%}.edit-task-row{grid-template-columns:auto 1fr}.edit-task-row .icon-btn.danger{grid-column:2;justify-self:end}}
