:root{--bg:#0f1013;--bg-raised:#17181d;--bg-card:#1e1f26;--border:#2a2b33;--text:#e9e9ee;--text-dim:#9a9aa5;--accent:#8b7cf6;--accent-dim:#4c3f9e;--accent-text:#f3f1ff;--danger:#ef6461;--success:#6fcf97;--radius:10px;--font-display:"Iosevka","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--font-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif}*{box-sizing:border-box}body,html{padding:0;margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body)}a{color:inherit}button,input,textarea{font-family:inherit}::selection{background:var(--accent-dim);color:var(--accent-text)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--bg-raised);color:var(--text);padding:8px 14px;border-radius:var(--radius);cursor:pointer;font-size:14px;font-weight:500;transition:border-color .15s ease,background .15s ease}.btn:hover{border-color:var(--accent)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{background:var(--accent);border-color:var(--accent);color:#0f0d1a;font-weight:600}.btn-primary:hover{background:#9b8dfb}.btn-danger{border-color:var(--danger);color:var(--danger);background:transparent}.btn-danger:hover{background:hsla(1,82%,66%,.12)}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover{border-color:var(--border)}.input{width:100%;padding:9px 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:14px}.input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.card-surface{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius)}.error-text{color:var(--danger);font-size:13px}.dim{color:var(--text-dim)}.mono{font-family:var(--font-display)}@keyframes toast-pop-in{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.toast-pop{animation:toast-pop-in .22s cubic-bezier(.2,.9,.3,1.2)}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-rise-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-backdrop{animation:modal-fade-in .15s ease-out}.modal-panel{animation:modal-rise-in .18s cubic-bezier(.2,.9,.3,1.1)}@keyframes card-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.card-enter{animation:card-enter .16s ease-out}.board-card{transition:transform .12s ease,border-color .12s ease}.board-card:hover{transform:translateY(-2px);border-color:var(--accent)}.list-card{transition:transform .1s ease,box-shadow .1s ease,border-color .1s ease}.list-card:hover{border-color:var(--accent);box-shadow:0 4px 14px rgba(0,0,0,.25)}.list-card.dragging{opacity:.35;transform:rotate(-1.5deg) scale(.98)}.drop-line{height:3px;border-radius:3px;background:var(--accent);box-shadow:0 0 8px var(--accent);margin:-4px 0;animation:card-enter .12s ease-out}.list-drop-target{outline:2px dashed var(--accent);outline-offset:-2px;background:rgba(139,124,246,.06)}.list-column-dragover{box-shadow:-3px 0 0 var(--accent)}.spinner{display:inline-block;width:12px;height:12px;border:2px solid hsla(0,0%,100%,.35);border-top-color:currentcolor;border-radius:50%;animation:spin .6s linear infinite;vertical-align:-2px;margin-right:6px}@keyframes spin{to{transform:rotate(1turn)}}.fade-in{animation:card-enter .2s ease-out}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--bg-card) 25%,var(--bg-raised) 50%,var(--bg-card) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}