*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{--q1:#EF4444;--q2:#F59E0B;--q3:#10B981;--q4:#6B7280;--bg:#0A0A14;--card:rgba(12,12,22,0.75);--border:rgba(239,68,68,0.1);--text:#E5E7EB;--muted:#9CA3AF;--dim:#4B5563;--r:12px;--rs:8px;--font:'Inter',-apple-system,sans-serif}
body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased}
body::before{content:'';position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse 50% 40% at 50% 10%,rgba(239,68,68,0.03),transparent 70%)}
.app{max-width:800px;margin:0 auto;padding:0 20px;position:relative;z-index:1}
.hidden{display:none!important}
.header{padding:24px 0 12px;text-align:center}
.header h1{font-size:1.4rem;font-weight:700;background:linear-gradient(135deg,var(--q1),var(--q2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.subtitle{color:var(--muted);font-size:0.85rem;margin-top:2px}
.main{display:flex;flex-direction:column;gap:16px;padding-bottom:40px}
.add-bar{display:flex;gap:8px;flex-wrap:wrap}
.add-bar input{flex:1;min-width:200px;background:rgba(0,0,0,0.3);border:1px solid var(--border);border-radius:var(--rs);padding:10px 14px;font-family:var(--font);font-size:0.9rem;color:var(--text)}
.add-bar input:focus{outline:none;border-color:var(--q1)}
.matrix{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.quadrant{background:var(--card);border-radius:var(--r);padding:16px;border:1px solid var(--border);backdrop-filter:blur(12px);min-height:180px}
.quadrant h2{font-size:0.9rem;font-weight:600;margin-bottom:2px}
.q-desc{font-size:0.72rem;color:var(--dim);margin-bottom:10px}
.q1{border-color:rgba(239,68,68,0.2)}.q1 h2{color:var(--q1)}
.q2{border-color:rgba(245,158,11,0.2)}.q2 h2{color:var(--q2)}
.q3{border-color:rgba(16,185,129,0.2)}.q3 h2{color:var(--q3)}
.q4{border-color:rgba(107,114,128,0.2)}.q4 h2{color:var(--q4)}
.task-list{min-height:40px;display:flex;flex-direction:column;gap:6px}
.task-card{background:rgba(0,0,0,0.2);border:1px solid rgba(255,255,255,0.05);border-radius:6px;padding:8px 10px;font-size:0.82rem;cursor:grab;display:flex;align-items:center;gap:8px;transition:opacity 200ms}
.task-card.dragging{opacity:0.4}
.task-card .check{accent-color:var(--q3);cursor:pointer;flex-shrink:0}
.task-card .title{flex:1;word-break:break-word}
.task-card .title.done{text-decoration:line-through;color:var(--dim)}
.task-card .del{background:none;border:none;color:var(--dim);cursor:pointer;font-size:0.85rem;padding:2px 4px}
.task-card .del:hover{color:var(--q1)}
.stats{display:flex;gap:10px;flex-wrap:wrap;font-size:0.8rem;color:var(--muted)}
.stat-chip{padding:4px 10px;border-radius:12px;background:rgba(255,255,255,0.04);border:1px solid var(--border)}
.btn{font-family:var(--font);font-size:0.85rem;font-weight:500;padding:10px 16px;border-radius:var(--rs);border:none;cursor:pointer;transition:all 200ms}
.btn-primary{background:linear-gradient(135deg,var(--q1),#F87171);color:#fff;box-shadow:0 4px 14px rgba(239,68,68,0.3)}
.btn-primary:hover{box-shadow:0 6px 20px rgba(239,68,68,0.45);transform:translateY(-1px)}
.btn-ghost{background:rgba(239,68,68,0.06);color:#FCA5A5;border:1px solid var(--border)}
.btn-ghost:hover{background:rgba(239,68,68,0.12)}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);padding:10px 20px;background:var(--q1);color:#fff;border-radius:var(--rs);font-size:0.85rem;font-weight:500;box-shadow:0 8px 32px rgba(239,68,68,0.4);opacity:0;transition:all 300ms ease;z-index:100;pointer-events:none}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.footer{text-align:center;padding:16px 0 32px;color:var(--dim);font-size:0.75rem}
@media(max-width:600px){.matrix{grid-template-columns:1fr}}
