:root{--bg: #0a0a0a;--surface: #161616;--surface-2: #1f1f1f;--border: #2a2a2a;--gold: #c5a059;--gold-bright: #d4af37;--text: #f2f0ec;--text-dim: #9a9a9a;--danger: #e5484d;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-tap-highlight-color:transparent}button,input,select{font-family:inherit;font-size:1rem}.login-screen{height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.login-card{width:100%;max-width:320px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:2rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.login-logo{width:100%;max-width:220px;margin:0 auto .5rem;display:block}.login-card input{background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:.75rem;border-radius:8px}.login-card button{background:var(--gold-bright);color:#0a0a0a;border:none;padding:.75rem;border-radius:8px;font-weight:600;cursor:pointer}.login-card button:disabled{opacity:.5;cursor:default}.error{color:var(--danger);font-size:.85rem}.app{max-width:1600px;margin:0 auto;padding:1rem 1.5rem 3rem;display:flex;flex-direction:column;gap:.75rem}.app-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.app-header-brand{display:flex;align-items:center;gap:.5rem}.app-mark{width:28px;height:28px;border-radius:6px}.app-header h1{font-size:1.25rem;color:var(--gold-bright);margin:0;letter-spacing:.01em}.header-controls{display:flex;gap:.5rem;align-items:center}.view-toggle{display:flex;background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}.view-toggle button{background:none;border:none;color:var(--text-dim);padding:.4rem .8rem;cursor:pointer}.view-toggle button.active{background:var(--gold-bright);color:#0a0a0a;font-weight:600}.sort-select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.4rem .6rem}.quick-add{display:flex;gap:.5rem;max-width:680px;width:100%;margin:0 auto}.quick-add input{flex:1;background:var(--surface);border:1px solid var(--border);color:var(--text);padding:.75rem .9rem;border-radius:10px}.quick-add input:focus{outline:1px solid var(--gold)}.quick-add button{background:var(--gold-bright);color:#0a0a0a;border:none;width:48px;border-radius:10px;font-size:1.3rem;font-weight:700;cursor:pointer}.category-tabs{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.25rem;scrollbar-width:thin}.tab{flex:0 0 auto;background:var(--surface);border:1px solid var(--border);color:var(--text-dim);padding:.4rem .85rem;border-radius:999px;cursor:pointer;white-space:nowrap}.tab.active{background:var(--gold-bright);border-color:var(--gold-bright);color:#0a0a0a;font-weight:600}.tab-with-delete{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .5rem .4rem .85rem}.tab-select{background:none;border:none;color:inherit;font:inherit;padding:0;cursor:pointer;white-space:nowrap}.tab-delete{background:none;border:none;color:inherit;opacity:.45;font-size:.95rem;line-height:1;cursor:pointer;padding:0 .1rem}.tab-delete:hover{opacity:1;color:var(--danger)}.tab-add{color:var(--gold);font-weight:700}.tab-add-form input{background:var(--surface-2);border:1px solid var(--gold);color:var(--text);padding:.4rem .7rem;border-radius:999px;width:130px}.task-list{display:flex;flex-direction:column;gap:.5rem;max-width:680px;width:100%;margin:0 auto}.empty-state{color:var(--text-dim);padding:2rem 0;text-align:center}.empty-state.small{padding:1rem 0;font-size:.85rem}.completed-section{margin-top:.5rem;color:var(--text-dim)}.completed-section summary{cursor:pointer;padding:.5rem 0}.completed-section .task-list,.completed-section{display:block}.task-card{display:flex;gap:.75rem;align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.75rem}.task-card.done{opacity:.5}.task-card.done .task-title{text-decoration:line-through}.task-card.pending{opacity:.6}.task-checkbox{flex:0 0 auto;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--gold);background:none;color:var(--gold-bright);font-size:.75rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;margin-top:.1rem}.task-body{flex:1;min-width:0;cursor:pointer}.task-title{font-size:.95rem;word-break:break-word}.task-meta{display:flex;align-items:center;gap:.5rem;margin-top:.35rem;flex-wrap:wrap}.priority-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.priority-num{font-size:.72rem;color:var(--text-dim)}.task-category{font-size:.72rem;color:var(--gold);background:#c5a0591f;padding:.1rem .5rem;border-radius:999px}.due-chip{font-size:.72rem;color:var(--text-dim);border:1px solid var(--border);padding:.1rem .5rem;border-radius:999px}.due-chip.overdue{color:var(--danger);border-color:var(--danger)}.ai-badge{font-size:.62rem;color:var(--text-dim);border:1px dashed var(--border);padding:.05rem .35rem;border-radius:4px}.sorting-badge{font-size:.72rem;color:var(--gold)}.task-board{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:1rem}.board-column{flex:0 0 82vw;max-width:300px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:.6rem;display:flex;flex-direction:column;gap:.5rem}@media (min-width: 700px){.board-column{flex:0 0 280px;max-width:none}}.board-column-header{display:flex;justify-content:space-between;align-items:center;color:var(--gold-bright);font-weight:600;font-size:.85rem;padding:.25rem .25rem .5rem;border-bottom:1px solid var(--border)}.board-header-right{display:flex;align-items:center;gap:.4rem}.board-count{color:var(--text-dim);font-weight:400}.board-delete{background:none;border:none;color:var(--text-dim);opacity:.5;font-size:1rem;line-height:1;cursor:pointer;padding:0 .1rem}.board-delete:hover{opacity:1;color:var(--danger)}.board-column-body{display:flex;flex-direction:column;gap:.5rem;min-height:40px}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:flex-end;justify-content:center;z-index:50}@media (min-width: 600px){.sheet-overlay{align-items:center}}.sheet{background:var(--surface);border:1px solid var(--border);border-radius:16px 16px 0 0;width:100%;max-width:420px;padding:1.25rem;display:flex;flex-direction:column;gap:.9rem;max-height:85vh;overflow-y:auto}@media (min-width: 600px){.sheet{border-radius:16px}}.sheet-handle{width:40px;height:4px;background:var(--border);border-radius:999px;align-self:center}.sheet label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:var(--text-dim)}.sheet input,.sheet select{background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:.6rem .7rem;border-radius:8px}.sheet-actions{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem}.sheet-actions-right{display:flex;gap:.5rem}.sheet button{padding:.6rem 1rem;border-radius:8px;border:none;cursor:pointer;font-weight:600}.sheet button.primary{background:var(--gold-bright);color:#0a0a0a}.sheet button.ghost{background:none;border:1px solid var(--border);color:var(--text)}.sheet button.danger{background:none;border:1px solid var(--danger);color:var(--danger)}
