.app-root{--ds-h1-size:18px;--ds-h1-weight:400;--ds-h2-size:16px;--ds-h2-weight:400;--ds-h3-size:14px;--ds-h3-weight:400;--ds-body-size:12px;--ds-body-weight:400;--ds-label-size:11px;--ds-label-weight:500;--ds-button-size:12px;--ds-button-weight:500;--ds-badge-size:10px;--ds-badge-weight:500;--ds-mono-size:10px;--ds-mono-weight:400;--ds-tab-size:12px;--ds-tab-weight:500;--ds-table-head-size:10px;--ds-table-head-weight:500;--ds-table-cell-size:12px;--ds-table-cell-weight:400;--ds-input-size:12px;--ds-input-weight:400;--ds-font-display:"Instrument Serif", Georgia, serif;--ds-font-ui:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--ds-font-mono:Menlo, "SF Mono", "Cascadia Code", Consolas, monospace;--ds-hover-scale:1.03;--ds-active-scale:.97;--ds-animation-curve:cubic-bezier(.34, 1.56, .64, 1);--ds-animation-duration:.2s;--background:#fbf7ed;--foreground:#2a2520;--card:#fff;--card-foreground:#2a2520;--popover:#fff;--popover-foreground:#2a2520;--primary:#d97757;--primary-foreground:#fff;--secondary:#fff9f0;--secondary-foreground:#5a5a5a;--muted:#f5f1e8;--muted-foreground:#6b6b6b;--accent:#fff4ed;--accent-foreground:#2a2520;--peach:#d97757;--peach-light:#f5b89a;--pastel-mint:#a8d5ba;--pastel-sky:#b8d8e8;--pastel-yellow:#f9e5a5;--destructive:#e86b6b;--destructive-foreground:#fff;--border:#d977571f;--input-bg:#fff;--ring:#d97757;--radius:.75rem;--sidebar:#fff;--sidebar-foreground:#2a2520;--sidebar-primary:#d97757;--sidebar-primary-foreground:#fff;--sidebar-accent:#fbf7ed;--sidebar-accent-foreground:#2a2520;--sidebar-border:#d9775714;--sidebar-ring:#d97757;--bg-grad-start:#fbf7ed;--bg-grad-end:#fff;--rule:#d977571f;--ink:#2a2520;--ink-2:#3d3830;--ink-3:#6b6b6b;--ink-4:#9b9490;--accent-ink:#fff;--accent-warm:#d97757;--good-bg:#eef9f3;--good-fg:#22863a;--warn-bg:#fff8e6;--warn-fg:#a16207;--bad-bg:#fef2f2;--bad-fg:#dc2626;--neutral-bg:#f5f1e8;--neutral-fg:#6b6b6b;background-color:var(--background);min-height:100vh;color:var(--foreground);font-family:var(--ds-font-ui);font-size:var(--ds-body-size);font-weight:var(--ds-body-weight);line-height:1.5}.app-root h1{font-family:var(--ds-font-display);font-size:var(--ds-h1-size);font-weight:var(--ds-h1-weight);color:var(--foreground);line-height:1.4}.app-root h2{font-family:var(--ds-font-display);font-size:var(--ds-h2-size);font-weight:var(--ds-h2-weight);line-height:1.4}.app-root h3,.app-root h4{font-family:var(--ds-font-display);font-size:var(--ds-h3-size);font-weight:var(--ds-h3-weight);line-height:1.4}.app-root h1.serif,.app-root h2.serif,.app-root h3.serif{font-family:var(--ds-font-display);font-style:italic;font-weight:400}.app-root .font-display{font-family:var(--ds-font-display)}.app-root .font-ui{font-family:var(--ds-font-ui)}.app-root .font-mono{font-family:var(--ds-font-mono)}.app-root .ds-badge{font-size:var(--ds-badge-size);font-weight:var(--ds-badge-weight)}.app-root .ds-tab{font-size:var(--ds-tab-size);font-weight:var(--ds-tab-weight)}.app-root .ds-table-head{font-size:var(--ds-table-head-size);font-weight:var(--ds-table-head-weight);text-transform:uppercase;letter-spacing:.05em}.app-root .ds-table-cell{font-size:var(--ds-table-cell-size);font-weight:var(--ds-table-cell-weight)}.app-root .ds-mono{font-family:var(--ds-font-mono);font-size:var(--ds-mono-size);font-weight:var(--ds-mono-weight)}.app-root .shadow-soft{box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a}.app-root .shadow-soft-lg{box-shadow:0 4px 6px #0000000d,0 2px 4px #00000008}.app-root .card-hover{transition:all var(--ds-animation-duration) var(--ds-animation-curve)}.app-root .card-hover:hover{transform:translateY(-1px);box-shadow:0 4px 12px #d9775714}@keyframes app-fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes app-scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.app-root .animate-fade-in{animation:.3s cubic-bezier(.4,0,.2,1) app-fadeIn}.app-root .animate-scale-in{animation:.2s cubic-bezier(.4,0,.2,1) app-scaleIn}.app-root button,.app-root a,.app-root input,.app-root select,.app-root textarea{transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s}.app-root button.primary,.app-root label.primary{background:var(--primary);color:var(--primary-foreground);border-radius:calc(var(--radius) - 2px);font-family:var(--ds-font-ui);font-size:var(--ds-button-size);font-weight:var(--ds-button-weight);cursor:pointer;border:none;align-items:center;gap:6px;padding:7px 14px;display:inline-flex;box-shadow:0 1px 2px #d9775740}.app-root button.primary:hover:not(:disabled),.app-root label.primary:hover{background:color-mix(in srgb, var(--primary) 88%, #000);box-shadow:0 2px 6px #d9775759}.app-root button.primary:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.app-root button.primary:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.app-root button.secondary{background:var(--card);color:var(--foreground);border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);font-family:var(--ds-font-ui);font-size:var(--ds-button-size);font-weight:var(--ds-button-weight);cursor:pointer;align-items:center;gap:6px;padding:6px 13px;display:inline-flex;box-shadow:0 1px 2px #0000000a}.app-root button.secondary:hover:not(:disabled){background:var(--secondary);border-color:#d9775740}.app-root button.secondary:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.app-root button.secondary:disabled{opacity:.55;cursor:not-allowed}.app-root a.secondary{background:var(--card);color:var(--foreground);border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);font-family:var(--ds-font-ui);font-size:var(--ds-button-size);font-weight:var(--ds-button-weight);align-items:center;gap:4px;padding:6px 13px;text-decoration:none;display:inline-flex;box-shadow:0 1px 2px #0000000a}.app-root a.secondary:hover{background:var(--secondary);border-color:#d9775740}.app-root .pill{font-family:var(--ds-font-ui);font-size:var(--ds-badge-size);font-weight:var(--ds-badge-weight);letter-spacing:.02em;border-radius:999px;align-items:center;padding:2px 8px;display:inline-flex}.app-root .pill.good{background:var(--good-bg);color:var(--good-fg)}.app-root .pill.warn{background:var(--warn-bg);color:var(--warn-fg)}.app-root .pill.bad{background:var(--bad-bg);color:var(--bad-fg)}.app-root .pill.neutral{background:var(--neutral-bg);color:var(--neutral-fg)}.app-root .card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a}.app-root .card-link{color:inherit;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:block;box-shadow:0 1px 3px #0000000f}.app-root .card-link:hover{border-color:#d977574d;transform:translateY(-1px);box-shadow:0 4px 12px #d9775714}.app-root .table-row{transition:background-color .1s}.app-root .table-row:hover{background-color:var(--secondary)}.app-root .table-row-link{color:inherit;cursor:pointer;text-decoration:none;transition:background-color .1s;display:grid}.app-root .table-row-link:hover{background-color:var(--secondary)}.app-root input:not([type=checkbox]):not([type=radio]):not([type=file]),.app-root select,.app-root textarea{border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);font-family:var(--ds-font-ui);font-size:var(--ds-input-size);font-weight:var(--ds-input-weight);color:var(--foreground);background:var(--card);box-sizing:border-box;outline:none;width:100%;padding:8px 12px}.app-root input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,.app-root select:focus,.app-root textarea:focus{border-color:#d9775780;box-shadow:0 0 0 3px #d977571a}.app-root .breadcrumb{color:var(--muted-foreground);align-items:center;gap:6px;font-size:11px;display:flex}.app-root .breadcrumb a{color:var(--muted-foreground);text-decoration:none;transition:color .1s}.app-root .breadcrumb a:hover{color:var(--foreground)}.app-root .empty-state{border:1px dashed var(--border);border-radius:var(--radius);text-align:center;background:var(--secondary);padding:40px 28px}.app-root .empty-state h3{font-family:var(--ds-font-display);font-style:italic;font-weight:400;font-size:var(--ds-h2-size);color:var(--foreground);margin:0 0 8px}.app-root .empty-state p{font-size:var(--ds-body-size);color:var(--muted-foreground);margin:0 0 20px;line-height:1.5}.app-root nav a:hover{color:var(--foreground)}html.dark .app-root{--background:#1a1816;--foreground:#e8e3dc;--card:#252320;--card-foreground:#e8e3dc;--popover:#2d2a27;--popover-foreground:#e8e3dc;--primary:#e89b7e;--primary-foreground:#1a1816;--secondary:#2d2a27;--secondary-foreground:#e8e3dc;--muted:#353230;--muted-foreground:#a39d95;--accent:#3a3632;--accent-foreground:#e8e3dc;--peach:#e89b7e;--peach-light:#f5b89a;--pastel-mint:#8fc5a3;--pastel-sky:#9bc5d8;--pastel-yellow:#e8d58a;--destructive:#e85d6f;--destructive-foreground:#fff;--border:#e89b7e26;--input-bg:#2d2a27;--ring:#e89b7e;--sidebar:#211e1c;--sidebar-foreground:#e8e3dc;--sidebar-primary:#e89b7e;--sidebar-primary-foreground:#1a1816;--sidebar-accent:#2d2a27;--sidebar-accent-foreground:#e8e3dc;--sidebar-border:#e89b7e1a;--sidebar-ring:#e89b7e;--bg-grad-start:#1a1816;--bg-grad-end:#1a1816;--rule:#e89b7e26;--ink:#e8e3dc;--ink-2:#c8c3bc;--ink-3:#a39d95;--ink-4:#6b6660;--accent-ink:#1a1816;--accent-warm:#e89b7e}html.dark .app-root .card,html.dark .app-root .card.shadow-soft{background:var(--card);border-color:var(--border)}html.dark .app-root .ds-table-head,html.dark .app-root [class*=ds-table-head]{background:var(--secondary)}html.dark .app-root input,html.dark .app-root textarea,html.dark .app-root select{background:var(--input-bg);color:var(--foreground);border-color:var(--border)}@keyframes skeleton-pulse{0%{background-position:100%}to{background-position:-100%}}@keyframes earn-confetti{0%{opacity:1;transform:translateY(-12vh)rotate(0)}to{opacity:.9;transform:translateY(112vh)rotate(720deg)}}@keyframes earn-glow{0%,to{text-shadow:0 0 #0000}50%{text-shadow:0 0 26px #d9775773}}@keyframes earn-flame{0%,to{transform:scale(1)rotate(-4deg)}50%{transform:scale(1.18)rotate(4deg)}}@keyframes earn-shimmer{0%{background-position:-180% 0}to{background-position:180% 0}}@keyframes earn-pop{0%{opacity:0;transform:scale(.6)}60%{transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.earn-glow{animation:2.6s ease-in-out infinite earn-glow}.earn-flame{transform-origin:50% 80%;animation:1.1s ease-in-out infinite earn-flame;display:inline-block}.earn-pop{animation:.45s cubic-bezier(.34,1.56,.64,1) both earn-pop}.earn-bar-fill{background:linear-gradient(90deg, var(--primary), #f5b89a, var(--primary));background-size:200% 100%;animation:2.4s linear infinite earn-shimmer}@media (prefers-reduced-motion:reduce){.earn-glow,.earn-flame,.earn-bar-fill{animation:none}}.board-card .card-select{opacity:0;transition:opacity .12s}.board-card:hover .card-select,.card-select.on,.select-mode .card-select{opacity:1}
