@import url("https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&family=Fira+Sans:wght@300;400;500;600;700&display=swap");:root{--color-background:#f8fafc;--color-foreground:#1e293b;--color-card:#ffffff;--color-card-foreground:#1e293b;--color-muted:#e9eff8;--color-muted-foreground:#475569;--color-border:#e2e8f0;--color-primary:#2563eb;--color-on-primary:#ffffff;--color-secondary:#3b82f6;--color-destructive:#dc2626;--color-on-destructive:#ffffff;--color-warning:#9a5b00;--color-success:#2e7d32;--color-ring:#2563eb;--color-primary-soft:rgba(37,99,235,0.08);--color-primary-ring:rgba(37,99,235,0.30);--font-sans:"Fira Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:"Fira Code",ui-monospace,SFMono-Regular,Menlo,monospace;--text-xs:11px;--text-sm:12px;--text-base:14px;--text-md:16px;--text-lg:18px;--text-xl:22px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--radius-sm:6px;--radius-md:8px;--radius-full:999px;--shadow-sm:0 1px 2px rgba(15,23,42,0.06);--shadow-md:0 4px 12px rgba(15,23,42,0.10);--ease-out:cubic-bezier(0.16,1,0.3,1);--dur-fast:120ms;--dur-base:200ms;--dur-slow:250ms;--z-sticky:10;--z-dropdown:20;--z-popover:40;--z-modal:100;--z-toast:1000;--paper:var(--color-background);--ink:var(--color-foreground);--blue:var(--color-primary);--red:var(--color-destructive);--amber:var(--color-warning);--green:var(--color-success);--line:var(--color-border)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-background:#0f172a;--color-foreground:#e2e8f0;--color-card:#1e293b;--color-card-foreground:#e2e8f0;--color-muted:#1e293b;--color-muted-foreground:#94a3b8;--color-border:#334155;--color-primary:#60a5fa;--color-on-primary:#0f172a;--color-secondary:#93c5fd;--color-destructive:#f87171;--color-on-destructive:#0f172a;--color-warning:#fbbf24;--color-success:#4ade80;--color-ring:#60a5fa;--color-primary-soft:rgba(96,165,250,0.14);--color-primary-ring:rgba(96,165,250,0.35);--shadow-sm:0 1px 2px rgba(0,0,0,0.40);--shadow-md:0 4px 12px rgba(0,0,0,0.50)}}:root[data-theme=dark]{--color-background:#0f172a;--color-foreground:#e2e8f0;--color-card:#1e293b;--color-card-foreground:#e2e8f0;--color-muted:#1e293b;--color-muted-foreground:#94a3b8;--color-border:#334155;--color-primary:#60a5fa;--color-on-primary:#0f172a;--color-secondary:#93c5fd;--color-destructive:#f87171;--color-on-destructive:#0f172a;--color-warning:#fbbf24;--color-success:#4ade80;--color-ring:#60a5fa;--color-primary-soft:rgba(96,165,250,0.14);--color-primary-ring:rgba(96,165,250,0.35);--shadow-sm:0 1px 2px rgba(0,0,0,0.40);--shadow-md:0 4px 12px rgba(0,0,0,0.50)}*{box-sizing:border-box}body{margin:0;background:var(--color-background);color:var(--color-foreground);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased}main{max-width:1280px;margin:0 auto;padding:var(--space-6)}main:focus{outline:none}h1{font-size:var(--text-xl);font-weight:700;line-height:1.3}h2{font-size:var(--text-lg);line-height:1.35}h2,h3{font-weight:600}h3{font-size:var(--text-md)}a{color:var(--color-primary)}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--color-ring);outline-offset:2px;border-radius:var(--radius-sm)}.break-anywhere{overflow-wrap:anywhere;min-width:0}.mono,.tabular,td.tabular{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--text-sm)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:-9999px;z-index:var(--z-toast);padding:var(--space-2) var(--space-3);background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-sm);text-decoration:none}.skip-link:focus{left:var(--space-3);top:var(--space-3)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.topbar{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--color-border);background:var(--color-card);font-size:15px;letter-spacing:.02em}.brand{font-weight:700;color:var(--color-primary)}.card{background:var(--color-card);color:var(--color-card-foreground);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-3);box-shadow:var(--shadow-sm)}.row{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.scroll-x{overflow-x:auto;max-width:100%}button{background:var(--color-primary);color:var(--color-on-primary);border:1px solid transparent;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);min-height:32px;font-family:inherit;font-size:var(--text-base);font-weight:500;cursor:pointer;transition:background-color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}button:hover:not(:disabled){background:var(--color-secondary)}button:active:not(:disabled){transition-duration:var(--dur-fast);opacity:.9}button.secondary{background:var(--color-card);color:var(--color-foreground);border-color:var(--color-border)}button.secondary:hover:not(:disabled){background:var(--color-muted);border-color:var(--color-primary)}button.danger{background:var(--color-destructive);color:var(--color-on-destructive)}button.danger:hover:not(:disabled){filter:brightness(1.08)}button:disabled{opacity:.45;cursor:not-allowed}.button-link{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);min-height:32px;border:1px solid transparent;border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-on-primary);font-size:var(--text-base);font-weight:500;text-decoration:none;transition:background-color var(--dur-base) var(--ease-out)}.button-link:hover{background:var(--color-secondary)}.button-link.secondary{background:var(--color-card);color:var(--color-foreground);border-color:var(--color-border)}.button-link.secondary:hover{background:var(--color-muted);border-color:var(--color-primary)}input,select,textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2);min-height:32px;background:var(--color-card);color:var(--color-foreground);font-size:var(--text-base);font-family:inherit}input:hover,select:hover,textarea:hover{border-color:var(--color-muted-foreground)}input[readonly],textarea[readonly]{background:var(--color-muted);border-style:dashed}label{font-size:var(--text-sm)}.muted,label{color:var(--color-muted-foreground)}.error,.muted{font-size:13px}.error{color:var(--color-destructive)}.warning{color:var(--color-warning);font-size:13px}.success{color:var(--color-success);font-size:13px}.pill{display:inline-flex;align-items:center;gap:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:2px var(--space-3);font-size:var(--text-sm);margin-right:var(--space-2)}.stage-key{font-weight:700;color:var(--color-primary)}.thumb{width:108px;height:192px;object-fit:cover;border:2px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--dur-base) var(--ease-out)}.thumb.selected{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-ring)}.data-table{width:100%;border-collapse:collapse;font-size:var(--text-base)}.data-table th{text-align:left;border-bottom:1px solid var(--color-border);color:var(--color-muted-foreground);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.data-table td,.data-table th{padding:var(--space-2) var(--space-3)}.data-table td{border-top:1px solid var(--color-border);vertical-align:top}.data-table tbody tr:hover{background:var(--color-muted)}.data-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky);background:var(--color-card)}th[aria-sort]{cursor:pointer}th[aria-sort]:hover{color:var(--color-foreground)}@media (max-width:1024px){[data-hide-below="1024"]{display:none}}@media (max-width:768px){[data-hide-below="768"]{display:none}}@media (max-width:600px){[data-hide-below="600"]{display:none}}@media (max-width:1024px){main{padding:var(--space-5)}}@media (max-width:600px){main{padding:var(--space-3)}.topbar{padding:var(--space-3) var(--space-4);flex-wrap:wrap}}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:var(--space-3);gap:var(--space-3);margin-bottom:var(--space-4)}.stat{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:2px;min-width:0}.stat-label{color:var(--color-muted-foreground);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.stat-value{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:26px;font-weight:600;line-height:1.2}.stat-hint{color:var(--color-muted-foreground);font-size:var(--text-sm)}.progress{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0}.progress-track{flex:none;width:80px;height:6px;background:var(--color-muted);overflow:hidden}.progress-fill,.progress-track{border-radius:var(--radius-full)}.progress-fill{height:100%;background:var(--color-primary)}.progress-fill.done{background:var(--color-success)}.detail-grid{display:grid;grid-template-columns:2fr 1fr;grid-gap:var(--space-4);gap:var(--space-4);align-items:start}@media (max-width:900px){.detail-grid{grid-template-columns:1fr}}dl.facts{display:grid;grid-template-columns:max-content 1fr;grid-gap:var(--space-1) var(--space-4);gap:var(--space-1) var(--space-4);margin:0}dl.facts dt{color:var(--color-muted-foreground);font-size:var(--text-sm)}dl.facts dd{margin:0;min-width:0;overflow-wrap:anywhere}.topbar-wrap{border-bottom:1px solid var(--color-border);background:var(--color-card)}.topbar-wrap .topbar{border-bottom:0}.navbar{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);padding:0 var(--space-6) var(--space-2)}.nav-group{display:flex;align-items:center;gap:var(--space-2)}.nav-group ul{display:flex;gap:2px;list-style:none;margin:0;padding:0;flex-wrap:wrap}.nav-group-label{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-right:2px}.nav-group-label,.nav-link{color:var(--color-muted-foreground)}.nav-link{display:inline-flex;align-items:center;gap:6px;padding:5px var(--space-2);min-height:28px;border-radius:var(--radius-sm);font-size:13px;text-decoration:none;transition:color var(--dur-base) var(--ease-out),background-color var(--dur-base) var(--ease-out)}.nav-link:hover{color:var(--color-foreground);background:var(--color-muted)}.nav-link.active{color:var(--color-primary);background:var(--color-primary-soft);font-weight:600;box-shadow:inset 0 -2px 0 var(--color-primary)}@media (max-width:600px){.navbar{padding:0 var(--space-4) var(--space-2)}.nav-group-label{display:none}}.mfa-banner{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;padding:var(--space-2) var(--space-6);font-size:13px;color:var(--color-warning);background:var(--color-background);border-top:1px solid var(--color-border)}pre.code{margin:0;padding:var(--space-3);overflow:auto;max-height:60vh;background:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);white-space:pre-wrap;overflow-wrap:anywhere}pre.code,textarea.code{font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.5}textarea.code{width:100%;resize:vertical}.diff{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-2);gap:var(--space-2)}.diff pre.code{max-height:40vh}.diff .old{border-left:3px solid var(--color-destructive)}.diff .new{border-left:3px solid var(--color-success)}@media (max-width:768px){.diff{grid-template-columns:1fr}}.bars{display:flex;align-items:flex-end;gap:2px;height:72px}.bars span{flex:1 1;min-width:2px;background:var(--color-primary);border-radius:2px 2px 0 0;opacity:.85}.bars span:hover{opacity:1}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:var(--space-3);gap:var(--space-3)}