:root{--bg: #1a1a24;--bg-alt: #13131a;--surface: #22222e;--surface-2: #2a2a3a;--surface-hover: #30304a;--accent: #c9a84c;--accent-light: #e0bc65;--accent-dim: rgba(201, 168, 76, .18);--accent-border: rgba(201, 168, 76, .28);--text: #f0ede5;--text-muted: #9a96aa;--text-faint: #5e5a6e;--border: rgba(255, 255, 255, .07);--radius: 12px;--radius-sm: 8px;--nav-width: 220px;--bottom-bar-h: 64px;--font-head: "Playfair Display", Georgia, serif;--font-body: "Inter", system-ui, sans-serif;--shadow: 0 4px 24px rgba(0, 0, 0, .4);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.5;min-height:100dvh;overflow-x:hidden}body:before,body:after{content:"";position:fixed;pointer-events:none;z-index:0;border-radius:50%;filter:blur(100px)}body:before{width:500px;height:500px;background:radial-gradient(circle,rgba(201,168,76,.06),transparent 70%);top:-180px;right:-100px;animation:drift1 22s ease-in-out infinite}body:after{width:400px;height:400px;background:radial-gradient(circle,rgba(76,94,201,.06),transparent 70%);bottom:-80px;left:-80px;animation:drift2 28s ease-in-out infinite}@keyframes drift1{0%,to{transform:translate(0)}50%{transform:translate(-60px,50px)}}@keyframes drift2{0%,to{transform:translate(0)}50%{transform:translate(50px,-60px)}}h1,h2,h3{font-family:var(--font-head);font-weight:600;line-height:1.2}h1{font-size:1.75rem}h2{font-size:1.35rem}h3{font-size:1.1rem}a{color:var(--accent);text-decoration:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--surface-2);border-radius:3px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.875rem;font-weight:500;cursor:pointer;border:none;transition:opacity .15s,transform .1s}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,var(--accent),#a8852e);color:#1a1200}.btn-primary:hover{opacity:.9}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-ghost:hover{background:var(--surface);color:var(--text)}.btn-danger{background:transparent;color:#e57373;border:1px solid rgba(229,115,115,.3)}.btn-danger:hover{background:#e573731a}.btn-sm{padding:5px 10px;font-size:.8rem}.btn-icon{background:transparent;color:var(--text-muted);border:none;padding:4px;cursor:pointer;border-radius:6px;display:inline-flex;align-items:center;transition:color .15s,background .15s}.btn-icon:hover{color:var(--text);background:var(--surface-hover)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;position:relative;z-index:1;transition:box-shadow .15s}.card:hover{box-shadow:var(--shadow-sm)}.card-gold{border-color:var(--accent-border)}.input,.select,.textarea{width:100%;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-body);font-size:.9rem;padding:8px 12px;transition:border-color .15s}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent-border)}.input::placeholder,.textarea::placeholder{color:var(--text-faint)}.textarea{resize:vertical;min-height:80px}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.label{display:block;font-size:.8rem;font-weight:500;color:var(--text-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}.field{margin-bottom:14px}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:500}.badge-gold{background:var(--accent-dim);color:var(--accent-light);border:1px solid var(--accent-border)}.badge-muted{background:var(--surface-2);color:var(--text-muted)}.badge-green{background:#4ade801f;color:#4ade80}.badge-red{background:#f871711f;color:#f87171}.badge-blue{background:#60a5fa1f;color:#60a5fa}.priority-high{color:#f87171}.priority-medium{color:var(--accent)}.priority-low{color:var(--text-faint)}.checkbox{width:20px;height:20px;border-radius:6px;border:2px solid var(--border);background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .15s,background .15s}.checkbox.checked{background:var(--accent);border-color:var(--accent)}.checkbox.checked svg{display:block}.checkbox svg{display:none;width:12px;height:12px}.row{display:flex;align-items:center;gap:8px}.row-between{display:flex;align-items:center;justify-content:space-between}.col{display:flex;flex-direction:column;gap:8px}.gap-4{gap:4px}.gap-12{gap:12px}.flex-1{flex:1}.text-muted{color:var(--text-muted)}.text-faint{color:var(--text-faint)}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-accent{color:var(--accent)}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.divider{height:1px;background:var(--border);margin:12px 0}.empty{text-align:center;padding:40px 20px;color:var(--text-muted)}.empty-icon{font-size:2.5rem;margin-bottom:12px;opacity:.5}.empty p{font-size:.9rem}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite;display:inline-block}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page{animation:fadeIn .2s ease-out;position:relative;z-index:1}.done-text{text-decoration:line-through;color:var(--text-faint)}.inline-form{display:flex;gap:8px;align-items:flex-end}.inline-form .input{flex:1}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-active{background:#4ade80}.status-planning{background:var(--accent)}.status-done{background:var(--text-faint)}.status-paused{background:#60a5fa}
