:root{--background:210 20% 98%;--foreground:215 28% 12%;--primary:173 80% 26%;--primary-foreground:0 0% 98%;--secondary:210 16% 93%;--secondary-foreground:215 28% 12%;--muted:210 14% 94%;--muted-foreground:215 12% 42%;--accent:199 70% 42%;--accent-foreground:0 0% 100%;--destructive:0 72% 48%;--destructive-foreground:0 0% 98%;--border:210 16% 86%;--ring:173 80% 26%;--radius:.65rem;--ink:#0f172a;--paper:#f4f7fb;--sea:#0f766e;--sea-deep:#0b4f4a;color:hsl(var(--foreground));font-family:Segoe UI,Helvetica Neue,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(1200px 500px at 10% -10%,#c7e8e4 0%,transparent 55%),radial-gradient(900px 420px at 90% 0%,#c5daf5 0%,transparent 50%),var(--paper);color:var(--ink);min-height:100vh;margin:0}a{color:inherit;text-decoration:none}ul{list-style:none;margin:0;padding:0}input{border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);font:inherit;color:var(--ink);background:#fff;width:100%;padding:.55rem .75rem}input:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px}.btn{display:inline-flex;white-space:nowrap;border-radius:calc(var(--radius) - 2px);cursor:pointer;border:1px solid #0000;justify-content:center;align-items: center;gap:.5rem;transition:background-color .15s,color .15s,border-color .15s,transform .15s;font-size:.875rem;font-weight:600}.btn:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.btn:disabled{pointer-events:none;opacity:.5}.btn-default{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.btn-default:hover{background:var(--sea-deep)}.btn-destructive{background:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.btn-outline{color:#fff;background:#ffffff1f;border-color:#ffffff73}.btn-outline:hover{background:#ffffff38}.btn-secondary{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground))}.btn-ghost{color:hsl(var(--foreground));background:0 0}.btn-link{color:hsl(var(--primary));text-decoration:underline;text-underline-offset:4px;background:0 0}.btn-size-default{height:2.35rem;padding:0 1rem}.btn-size-sm{height:2rem;padding:0 .75rem}.btn-size-lg{height:2.5rem;padding:0 2rem}.btn-size-icon{width:2.25rem;height:2.25rem;padding:0}.boards-hero{animation:.55s both rise;padding:2.75rem 1.5rem 1.5rem}.boards-hero-inner{max-width:920px;margin:0 auto}.brand{letter-spacing:-.04em;color:var(--sea-deep);margin:0 0 .35rem;font-size:clamp(2rem,5vw,3.1rem);font-weight:800;line-height:1.05}.boards-hero h1{color:#334155;margin:0;font-size:1.15rem;font-weight:600}.lede{color:#64748b;max-width:34rem;margin:.55rem 0 0;line-height:1.5}.boards-main{display:flex;flex-direction:column;gap:1.25rem;max-width:920px;margin:0 auto;padding:0 1.5rem 3rem}.create-board{display:grid;border:1px solid hsl(var(--border));border-radius:var(--radius);backdrop-filter:blur(6px);animation:.55s 80ms both rise;background:#ffffffd1;gap:.75rem;padding:1rem}.field{display:grid;gap:.35rem}.field span{color:#475569;font-size:.8rem;font-weight:600}.color-row{display:flex;flex-wrap:wrap;gap:.45rem}.swatch{cursor:pointer;border:2px solid #0000;border-radius:999px;width:1.55rem;height:1.55rem;padding:0}.swatch-active{border-color:#0f172a;transform:scale(1.08)}.board-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.9rem}.board-grid>li{animation:.45s both rise}.board-tile{display:flex;border-radius:var(--radius);background:linear-gradient(160deg,#ffffff2e,transparent 55%),var(--board-color,var(--sea));color:#fff;flex-direction:column;justify-content:flex-end;min-height:7.5rem;padding:1rem;transition:transform .18s,box-shadow .18s;box-shadow:0 10px 24px #0f172a1f}.board-tile:hover{transform:translateY(-3px);box-shadow:0 16px 28px #0f172a29}.board-tile-title{letter-spacing:-.02em;font-size:1.05rem;font-weight:700}.board-tile-desc{opacity:.88;margin-top:.35rem;font-size:.8rem}.muted{color:#64748b}.empty-hint{color:#64748b;margin:0}.error-banner{border-radius:calc(var(--radius) - 2px);color:#991b1b;background:#fee2e2;border:1px solid #fecaca;margin:0;padding:.65rem .85rem}.board-shell{background:linear-gradient(180deg,color-mix(in srgb,var(--board-color,#0f766e)88%,#000),var(--board-color,#0f766e));color:#fff;min-height:100vh}.board-topbar{display:flex;backdrop-filter:blur(8px);animation:.4s both rise;background:#00000024;justify-content:space-between;align-items: center;gap:1rem;padding:1rem 1.25rem}.board-topbar-left{display:flex;align-items: center;gap:.9rem;min-width:0}.board-topbar h1{letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;font-size:1.2rem;font-weight:700}.back-link{opacity:.9;font-size:.85rem;font-weight:600}.back-link:hover{opacity:1;text-decoration:underline}.pad{padding:1rem 1.25rem}.lists-scroller{display:flex;overflow-x:auto;align-items: flex-start;gap:.85rem;min-height:calc(100vh - 4rem);padding:1rem 1.25rem 2rem}.list-column,.add-list{color:var(--ink);animation:.45s both rise;background:#e8eef5;border-radius:.75rem;flex:0 0 272px;width:272px;padding:.65rem;box-shadow:0 8px 20px #0000001f}.list-header{display:flex;justify-content:space-between;align-items: center;gap:.5rem;padding:.25rem .35rem .55rem}.list-header h2{margin:0;font-size:.95rem;font-weight:700}.icon-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:.35rem;padding:.15rem .35rem;font-size:1.2rem;line-height:1}.icon-btn:hover{color:#0f172a;background:#0f172a14}.card-stack{display:flex;flex-direction:column;gap:.45rem;min-height:.5rem}.kanban-card{cursor:grab;background:#fff;border-radius:.55rem;padding:.7rem .75rem .55rem;transition:transform .15s,box-shadow .15s;box-shadow:0 1px 2px #0f172a14}.kanban-card:active{cursor:grabbing}.kanban-card:hover{transform:translateY(-1px);box-shadow:0 6px 14px #0f172a1f}.kanban-card-title{display:block;font-size:.9rem;font-weight:600;line-height:1.35}.kanban-card-desc{display:block;color:#64748b;margin-top:.3rem;font-size:.78rem}.card-delete{color:#94a3b8;cursor:pointer;background:0 0;border:none;margin-top:.45rem;padding:0;font-size:.72rem;font-weight:600}.card-delete:hover{color:#be123c}.add-card,.add-list{display:grid;gap:.45rem;margin-top:.55rem}.add-list{color:#fff;background:#ffffff2e;border:1px dashed #ffffff73;margin-top:0}.add-list input{background:#ffffffeb}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.boards-hero{padding-top:1.75rem}.board-topbar{flex-wrap:wrap}.list-column,.add-list{flex-basis:250px;width:250px}}
