@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@500;600&display=swap");:root{--font-sans:"Inter",system-ui,-apple-system,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"Cascadia Code",monospace;--bg:#fbfbfc;--surface:#ffffff;--surface-2:#f5f5f8;--text:#0c0c10;--muted:#6b6b76;--border:#ececef;--border-strong:#dcdce1;--accent:#5b5bd6;--accent-fg:#ffffff;--accent-weak:#eeeefc;--radius:10px;--radius-lg:14px}[data-theme=stage]{--bg:#0b0d12;--surface:#14171f;--surface-2:#181c26;--text:#e9ebf2;--muted:#7b8190;--border:#232838;--border-strong:#2c3243;--accent:#8b7cff;--accent-fg:#0b0d12;--accent-weak:#1b1930;--radius:12px;--radius-lg:16px;--tp-bg:#0b0d12;--tp-color-accent:#8b7cff;--ct-font-family:var(--font-sans)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{font-weight:600;letter-spacing:-.015em;margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.cs-nav{gap:16px;padding:12px 22px;border-bottom:1px solid var(--border);background:var(--surface)}.cs-brand,.cs-nav{display:flex;align-items:center}.cs-brand{gap:8px;font-weight:600;letter-spacing:-.02em;font-size:15px}.cs-brand .mark{width:22px;height:22px;border-radius:6px;background:var(--accent);color:var(--accent-fg);display:inline-flex;align-items:center;justify-content:center}.cs-container{max-width:1080px;margin:0 auto;padding:28px 22px}.cs-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px}.cs-muted{color:var(--muted)}.cs-grid{display:grid;grid-gap:14px;gap:14px}.cs-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;font-size:14px;cursor:pointer;transition:background .12s,filter .12s}.cs-btn:hover{background:var(--surface-2)}.cs-btn-primary{background:var(--accent);color:var(--accent-fg);border-color:transparent;font-weight:500}.cs-btn-primary:hover{filter:brightness(1.06)}.cs-input{width:100%;padding:9px 12px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;font-size:14px}.cs-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.cs-pill{font-size:12px;padding:3px 10px;border-radius:20px;background:var(--accent-weak);color:var(--accent);font-weight:500}.cs-stat{background:var(--surface-2);border-radius:var(--radius);padding:12px 14px;min-width:110px}.cs-stat b{display:block;font-size:22px;font-weight:600}.cs-stat span{font-size:12px;color:var(--muted)}.cs-stage{min-height:100vh;background:var(--bg);color:var(--text)}.cs-mono{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}:root{--danger:#c0392b;--danger-strong:#7a2e2e;--success:#1d9e75;--warning:#b8860b;--surface-3:#ffffff;--shadow-sm:0 1px 2px rgba(12,12,16,0.06);--shadow-md:0 8px 24px rgba(12,12,16,0.12),0 2px 6px rgba(12,12,16,0.08)}[data-theme=stage]{--danger:#e06456;--danger-strong:#d08a80;--success:#4ec99a;--warning:#d9a94a;--surface-3:#1c212e;--shadow-sm:0 1px 2px rgba(0,0,0,0.4);--shadow-md:0 8px 24px rgba(0,0,0,0.5),0 2px 6px rgba(0,0,0,0.35)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cs-input:focus-visible{outline:none}.cs-cols-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.cs-stage-split{display:grid;grid-template-columns:1fr var(--stage-side,380px);height:100vh}.cs-shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100dvh}.cs-shell-main{min-width:0}.cs-side{position:-webkit-sticky;position:sticky;top:0;height:100dvh;overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding:14px 10px;background:var(--surface);border-right:1px solid var(--border)}.cs-side-head{display:flex;align-items:center;gap:8px;padding:4px 8px 14px;min-width:0}.cs-side-head .name{font-weight:600;font-size:14px;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cs-side-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius);font-size:14px;color:var(--muted);text-decoration:none;transition:background .12s,color .12s}.cs-side-item:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.cs-side-item.active{background:var(--accent-weak);color:var(--accent);font-weight:500}.cs-side-item svg{flex-shrink:0}.cs-side-foot{margin-top:auto;border-top:1px solid var(--border);padding-top:10px;display:flex;flex-direction:column;gap:8px}.cs-mobilebar{display:none}.cs-bottomnav{display:none;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--surface);border-top:1px solid var(--border);padding:4px 6px calc(4px + env(safe-area-inset-bottom))}.cs-bottomnav-item{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;border-radius:var(--radius);font-size:11px;color:var(--muted);background:none;border:none;font-family:inherit;cursor:pointer}.cs-bottomnav-item,.cs-bottomnav-item:hover{text-decoration:none}.cs-bottomnav-item.active{color:var(--accent)}.cs-sheet{position:fixed;left:10px;right:10px;bottom:calc(58px + env(safe-area-inset-bottom));z-index:41;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:8px;display:flex;flex-direction:column;gap:2px}@keyframes cs-fade{0%{opacity:0}to{opacity:1}}@keyframes cs-slide-up{0%{opacity:.5;transform:translateY(14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:no-preference){.cs-drawer-backdrop{animation:cs-fade .16s ease both}.cs-drawer-panel,.cs-sheet{animation:cs-slide-up .2s ease both}}.cs-avatar{width:30px;height:30px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:var(--accent-weak);color:var(--accent);font-size:12px;font-weight:600}.cs-drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:50}.cs-drawer-panel{position:fixed;top:0;right:0;height:100dvh;width:min(420px,92vw);z-index:51;overflow-y:auto;padding:18px 20px;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-md)}@media (max-width:720px){.cs-drawer-panel{top:auto;bottom:0;left:0;right:0;width:auto;height:auto;max-height:82dvh;border-left:none;border-top:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-bottom:calc(18px + env(safe-area-inset-bottom))}.cs-container{padding:18px 14px}.cs-nav{flex-wrap:wrap;row-gap:8px;padding:10px 14px}.cs-cols-2,.cs-stage-split{grid-template-columns:1fr}.cs-stage-split{height:auto;min-height:100vh}.cs-shell{grid-template-columns:1fr}.cs-side{display:none}.cs-bottomnav{display:flex}.cs-mobilebar{display:flex;align-items:center;gap:10px;min-width:0;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--surface);font-size:14px}.cs-mobilebar .name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media (max-width:720px){body:has(.cs-bottomnav){padding-bottom:calc(64px + env(safe-area-inset-bottom))}}.guide ol,.guide ul{padding-left:20px;margin:6px 0}.guide li{margin:3px 0}.guide-table{width:100%;border-collapse:collapse;font-size:13px;margin:8px 0}.guide-table td,.guide-table th{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border);vertical-align:top}.guide-table th{color:var(--muted);font-weight:600}.guide code{background:var(--surface-2);padding:1px 5px;border-radius:5px;font-size:12px}@media print{.no-print{display:none!important}body{background:#fff;color:#000}.cs-container{max-width:100%;padding:0}.guide a{color:#000;text-decoration:underline}.guide h2{page-break-after:avoid;break-after:avoid}.guide section{page-break-inside:avoid;break-inside:avoid}}:root{--ct-color-safe:#000000;--ct-color-warning:#ffcc00;--ct-color-danger:#ff3b30;--ct-color-text-light:#ffffff;--ct-color-text-dark:#000000;--ct-font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}