:root,html[data-theme=dark]{--bg:#0f1115;--fg:#e5e7eb;--mut:#9ca3af;--line:#262a33;--card:#171a21;--acc:#818cf8;color-scheme:dark}html[data-theme=light]{--bg:#fff;--fg:#111827;--mut:#6b7280;--line:#e5e7eb;--card:#f9fafb;--acc:#4f46e5;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.45 system-ui,sans-serif}button,input,select,textarea{font:inherit;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:6px 10px}button{cursor:pointer}button.primary{background:var(--acc);color:#fff;border-color:var(--acc)}a{color:var(--acc)}.app{display:grid;grid-template-columns:220px 1fr 380px;min-height:100vh}.detail,.side{padding:16px;background:var(--card);border-right:1px solid var(--line)}.detail{border-right:0;border-left:1px solid var(--line)}.main{padding:16px;min-width:0}.detail h3,.side h3{margin:16px 0 6px;font-size:12px;text-transform:uppercase;color:var(--mut)}.nav{display:flex;justify-content:space-between;padding:6px 8px;border-radius:6px;cursor:pointer}.nav.on{background:var(--line)}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.row{display:flex;gap:8px;align-items:center;padding:8px;border-bottom:1px solid var(--line);cursor:pointer}.row.sel{background:var(--card)}.row .t{flex:1 1;min-width:0}.done .t b{text-decoration:line-through}.done .t b,.mut{color:var(--mut)}.mut{font-size:13px}.pri{font-size:11px;padding:1px 6px;border-radius:10px;border:1px solid var(--line)}.p1,.p2,.p3,.p4{background:#fee2e2;color:#991b1b}.p5{background:#fef3c7;color:#92400e}.p6,.p7,.p8,.p9{background:#e0e7ff;color:#3730a3}form.new{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}form.new input[name=title]{flex:1 1;min-width:180px}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.field label{font-size:12px;color:var(--mut)}.login{max-width:320px;margin:20vh auto;display:flex;flex-direction:column;gap:10px}@media (max-width:1000px){.app{grid-template-columns:1fr}.detail,.side{border:0;border-bottom:1px solid var(--line)}}.topbar{display:flex;gap:6px;margin-top:12px}.topbar button{flex:1 1}