:root{--bg: #0b0c10;--bg-canvas: #0b0c10;--card: rgba(22, 24, 34, .7);--card-hover: rgba(28, 31, 46, .85);--sidebar-bg: #10121a;--foreground: #f8fafc;--body-text: #cbd5e1;--muted: #94a3b8;--dim: #64748b;--primary: #da7756;--primary-dim: rgba(218, 119, 86, .15);--primary-strong: #e88665;--primary-glow: rgba(218, 119, 86, .35);--accent: #38bdf8;--accent-dim: rgba(56, 189, 248, .12);--accent-indigo: #818cf8;--accent-indigo-dim: rgba(129, 140, 248, .15);--tag-core: #da7756;--tag-core-dim: rgba(218, 119, 86, .2);--tag-tech: #38bdf8;--tag-tech-dim: rgba(56, 189, 248, .18);--tag-nontech: #fbbf24;--tag-nontech-dim: rgba(251, 191, 36, .18);--border: rgba(255, 255, 255, .08);--border-glass: rgba(255, 255, 255, .14);--border-strong: rgba(218, 119, 86, .4);--danger: #ef4444;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--shadow-soft: 0 4px 20px rgba(0, 0, 0, .35);--shadow-lifted: 0 12px 36px rgba(0, 0, 0, .5), 0 0 24px var(--primary-glow);--shadow-glass: 0 8px 32px 0 rgba(0, 0, 0, .37);--ease-out: cubic-bezier(.16, 1, .3, 1);--font-sans: "Vazirmatn", -apple-system, sans-serif;--font-tech: "Space Grotesk", monospace}*{box-sizing:border-box}html,body{margin:0;min-height:100dvh}body{background:var(--bg-canvas);color:var(--body-text);font-family:var(--font-sans);direction:rtl;font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}#root{min-height:100dvh}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}button{font-family:inherit;font-size:15px}.landing{min-height:100dvh;position:relative;overflow:hidden;background:var(--bg-canvas)}.landing-bg-glow{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:0;overflow:hidden}.orb-primary{position:absolute;top:-150px;right:15%;width:550px;height:550px;border-radius:50%;background:radial-gradient(circle,var(--primary-glow) 0%,rgba(218,119,86,0) 70%);filter:blur(60px)}.orb-secondary{position:absolute;top:35%;left:-100px;width:450px;height:450px;border-radius:50%;background:radial-gradient(circle,var(--accent-dim) 0%,rgba(56,189,248,0) 70%);filter:blur(70px)}.grid-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(ellipse at center,rgba(0,0,0,.8) 0%,transparent 75%);mask-image:radial-gradient(ellipse at center,rgba(0,0,0,.8) 0%,transparent 75%)}.landing-hero{position:relative;z-index:1;max-width:840px;margin:0 auto;padding:80px var(--space-6) 40px;text-align:center}.landing-eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);font-size:13px;font-weight:600;color:var(--primary);background:var(--primary-dim);border:1px solid rgba(218,119,86,.3);padding:6px 16px;border-radius:999px;margin-bottom:var(--space-6);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.landing-hero h1{font-size:42px;font-weight:900;color:var(--foreground);line-height:1.35;margin:0 0 var(--space-6);letter-spacing:-.02em}.text-gradient{background:linear-gradient(135deg,#ffffff 30%,var(--primary) 70%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.landing-subtitle{color:var(--muted);font-size:18px;line-height:1.85;max-width:620px;margin:0 auto 36px}.landing-tech-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);margin-bottom:40px}.tech-badge{font-family:var(--font-tech);font-size:12px;font-weight:600;color:var(--body-text);background:#ffffff0a;border:1px solid var(--border);padding:4px 12px;border-radius:8px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.landing-cta{font-size:17px;padding:16px 36px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--primary) 0%,#c46243 100%);box-shadow:0 4px 20px var(--primary-glow);display:inline-flex;align-items:center;gap:var(--space-2)}.landing-benefits{position:relative;z-index:1;max-width:1040px;margin:0 auto;padding:20px var(--space-6) 60px;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.landing-benefit-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-8);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-glass);transition:transform .25s var(--ease-out),border-color .25s var(--ease-out),box-shadow .25s var(--ease-out);position:relative;overflow:hidden}.landing-benefit-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--primary),transparent);opacity:0;transition:opacity .3s}.landing-benefit-card:hover{transform:translateY(-4px);border-color:var(--border-strong);box-shadow:var(--shadow-lifted);background:var(--card-hover)}.landing-benefit-card:hover:before{opacity:1}.card-icon-wrapper{width:48px;height:48px;border-radius:var(--radius-md);background:var(--primary-dim);border:1px solid rgba(218,119,86,.25);display:flex;align-items:center;justify-content:center;color:var(--primary);margin-bottom:var(--space-4)}.landing-benefit-card h3{margin:0 0 var(--space-2);color:var(--foreground);font-size:18px;font-weight:700}.landing-benefit-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.8}.landing-how{position:relative;z-index:1;max-width:680px;margin:0 auto;padding:20px var(--space-6) 80px;text-align:center}.landing-how h2{color:var(--foreground);font-size:26px;font-weight:800;margin-bottom:var(--space-8)}.timeline-list{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:40px}.timeline-item{display:flex;align-items:flex-start;gap:var(--space-4);text-align:right;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-6);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.timeline-number{width:32px;height:32px;min-width:32px;border-radius:50%;background:var(--primary-dim);border:1px solid var(--primary);color:var(--primary);font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center}.timeline-text{font-size:15px;color:var(--body-text);line-height:1.7;margin:4px 0 0}@media (max-width: 768px){.landing-benefits{grid-template-columns:1fr}.landing-hero h1{font-size:30px}.landing-hero{padding:40px var(--space-4) 30px}}.onboarding,.fork-screen{max-width:540px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding:var(--space-6);text-align:center;position:relative;z-index:1}.onboarding h1,.fork-screen h2{font-size:32px;font-weight:800;color:var(--foreground);margin-bottom:var(--space-2)}.subtitle{color:var(--muted);font-size:15px;margin-bottom:var(--space-6)}.mock-input{width:100%;padding:16px 18px;border-radius:var(--radius-md);border:1px solid var(--border-glass);background:var(--card);color:var(--foreground);font-size:16px;margin-bottom:var(--space-4);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color .2s var(--ease-out),box-shadow .2s var(--ease-out)}.mock-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);outline:none}.onboarding-actions{display:flex;flex-direction:column;gap:var(--space-3)}.mock-button{padding:14px 24px;min-height:48px;border-radius:var(--radius-md);border:none;background:var(--primary);color:#fff;font-weight:700;cursor:pointer;box-shadow:var(--shadow-soft);transition:transform .15s var(--ease-out),box-shadow .15s var(--ease-out),opacity .15s,background .15s}.mock-button:hover{background:var(--primary-strong);box-shadow:var(--shadow-lifted)}.mock-button:active{transform:scale(.97)}.mock-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.mock-button.secondary{background:var(--card);border:1px solid var(--border-glass);color:var(--body-text);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:none}.mock-button.secondary:hover{border-color:var(--primary);color:var(--primary)}.onboarding.diagnostic{max-width:720px;justify-content:flex-start;padding-block:var(--space-12);text-align:start}.onboarding.diagnostic .quiz-panel{margin-top:0}.diagnostic-decision{gap:var(--space-2)}.diagnostic-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}.diagnostic-actions .quiz-submit{margin-top:0}.diagnostic-actions .quiz-submit.secondary{background:var(--card);border:1px solid var(--border-glass);color:var(--body-text);box-shadow:none}.diagnostic-actions .quiz-submit.secondary:hover:not(:disabled){background:var(--card-hover);border-color:var(--primary);color:var(--primary);box-shadow:none}.diagnostic-note{margin:var(--space-4) 0 0;color:var(--muted);font-size:13px;line-height:1.9}.diagnostic-error{margin-top:var(--space-4);color:var(--danger);font-size:14px}.options{display:flex;flex-direction:column;gap:var(--space-4)}.option{text-align:right;padding:var(--space-6);border-radius:var(--radius-lg);border:1px solid var(--border-glass);background:var(--card);cursor:pointer;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-glass);transition:border-color .2s var(--ease-out),box-shadow .2s var(--ease-out),transform .15s var(--ease-out)}.option:hover{border-color:var(--primary);box-shadow:var(--shadow-lifted);background:var(--card-hover)}.option h3{margin:0 0 6px;font-size:18px;font-weight:700;color:var(--foreground)}.option p{margin:0;color:var(--muted);font-size:14px}.course-shell{display:flex;height:100dvh;overflow:hidden;background:var(--bg-canvas)}.sidebar{width:320px;min-width:320px;background:var(--sidebar-bg);border-left:1px solid var(--border);padding:var(--space-6) var(--space-4);overflow-y:auto;height:100%;direction:ltr}.sidebar>*{direction:rtl}.sidebar-header{margin-bottom:var(--space-6)}.sidebar-title{font-weight:800;font-size:16px;color:var(--foreground);margin-bottom:8px}.sidebar-progress-track{height:8px;background:#ffffff0f;border-radius:999px;overflow:hidden;margin-bottom:8px}.sidebar-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:999px}.sidebar-progress-label{font-size:12px;color:var(--muted)}.sidebar-list{display:flex;flex-direction:column;gap:4px}.sidebar-item{display:flex;align-items:center;gap:var(--space-3);padding:10px var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:background .15s var(--ease-out),border-color .15s;border:1px solid transparent}.sidebar-item:hover{background:#ffffff0a}.sidebar-item.locked{cursor:not-allowed;opacity:.35}.sidebar-item.locked:hover{background:transparent}.sidebar-item.active{background:var(--primary-dim);border-color:#da77564d}.sidebar-item.active .sidebar-item-label{color:var(--foreground);font-weight:700}.sidebar-dot{width:24px;height:24px;min-width:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff}.sidebar-item-label{font-size:14px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-item-tag{width:8px;height:8px;border-radius:50%;margin-inline-start:auto;flex-shrink:0}.lesson-main{flex:1;min-width:0;padding:var(--space-8) var(--space-6);display:flex;justify-content:center;align-items:flex-start;overflow-y:auto;height:100%;direction:ltr}.lesson-card{width:100%;max-width:780px;background:var(--card);border:1px solid var(--border-glass);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow-glass);padding:var(--space-8);height:fit-content;direction:rtl}.focus-meta{display:inline-block;color:var(--primary);background:var(--primary-dim);border:1px solid rgba(218,119,86,.3);font-size:13px;font-weight:700;padding:4px 14px;border-radius:999px;margin-bottom:var(--space-4)}.focus-body{color:var(--body-text)}.focus-body h1,.focus-body h2,.focus-body h3{color:var(--foreground);font-weight:800}.focus-body h1{font-size:28px;line-height:1.4}.focus-body h2{font-size:20px;margin-top:var(--space-8);border-bottom:1px solid var(--border);padding-bottom:8px}.focus-body p{margin:var(--space-3) 0 var(--space-4)}.focus-body code{background:#ffffff14;color:var(--primary-strong);padding:2px 8px;border-radius:6px;font-family:var(--font-tech);font-size:.9em}.focus-body pre{background:#07090e;color:#e2e8f0;padding:var(--space-6);border-radius:var(--radius-md);border:1px solid var(--border);overflow-x:auto;position:relative;unicode-bidi:plaintext}.copy-btn{position:absolute;top:var(--space-2);left:var(--space-2);padding:var(--space-1) var(--space-3);font-size:12px;font-family:var(--font-sans);color:var(--muted);background:var(--card-hover);border:1px solid var(--border-glass);border-radius:var(--radius-sm);cursor:pointer;opacity:0;transition:opacity .15s var(--ease-out),color .15s var(--ease-out)}.focus-body pre:hover .copy-btn,.copy-btn:focus-visible{opacity:1}.copy-btn:hover{color:var(--foreground);border-color:var(--border-strong)}.sidebar-section{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);margin:var(--space-4) var(--space-2) var(--space-2)}.sidebar-section-name{font-size:11px;font-weight:700;color:var(--dim);letter-spacing:.03em}.sidebar-section-meta{font-size:10px;color:var(--dim);opacity:.75;white-space:nowrap}.sidebar-item-badge{margin-inline-start:auto;font-size:10px;color:var(--accent);background:var(--accent-dim);border-radius:var(--radius-sm);padding:0 var(--space-2);flex:none}.sidebar-reference{display:flex;align-items:center;gap:var(--space-2);width:100%;margin-bottom:var(--space-2);padding:var(--space-2) var(--space-3);font-size:13px;color:var(--body-text);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;text-align:start;transition:background .15s var(--ease-out),border-color .15s var(--ease-out)}.sidebar-reference:hover{background:var(--card-hover);border-color:var(--border-glass)}.sidebar-reference.active{background:var(--accent-dim);border-color:var(--accent);color:var(--foreground)}.sidebar-reference-icon{display:inline-grid;place-items:center;width:18px;height:18px;font-size:11px;color:var(--accent);background:var(--accent-dim);border-radius:50%;flex:none}.sidebar-games{margin-bottom:var(--space-2)}.sidebar-game{display:block;width:100%;margin-bottom:var(--space-1);padding:var(--space-2) var(--space-3);font-size:12px;color:var(--body-text);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;text-align:start;transition:background .15s var(--ease-out)}.sidebar-game:hover:not(:disabled){background:var(--card-hover)}.sidebar-game.active{background:var(--accent-dim);border-color:var(--accent)}.sidebar-game.locked{opacity:.45;cursor:not-allowed}.game-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.game-timer{font-family:var(--font-tech);font-size:20px;color:var(--muted);background:var(--card-hover);border:1px solid var(--border-glass);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3);min-width:48px;text-align:center}.game-timer.urgent{color:var(--danger);border-color:var(--danger)}.game-score{font-size:18px;color:var(--foreground);margin-bottom:var(--space-6)}.game-prompt{white-space:pre-wrap}.admin-screen h1{font-size:22px;color:var(--foreground);margin:0 0 var(--space-2)}.admin-screen h2{font-size:15px;color:var(--primary);margin:var(--space-8) 0 var(--space-2)}.admin-note{font-size:12px;color:var(--muted);margin:0 0 var(--space-3)}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th,.admin-table td{border-bottom:1px solid var(--border);padding:var(--space-2) var(--space-3);text-align:start}.admin-table th{color:var(--dim);font-weight:600;font-size:11px}.admin-warn{color:var(--danger)}.admin-comments{font-size:13px;color:var(--body-text);padding-inline-start:var(--space-6)}.admin-comments li{margin-bottom:var(--space-2)}.badge-row{position:fixed;bottom:0;inset-inline-start:0;inset-inline-end:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);font-size:11px;background:var(--sidebar-bg);border-top:1px solid var(--border);z-index:5}.badge{color:var(--dim);opacity:.55;white-space:nowrap}.badge.earned{color:var(--primary);opacity:1}.badge-certificate{color:var(--accent);background:var(--accent-dim);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:2px var(--space-3);text-decoration:none}.feedback-strip{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-8);padding-top:var(--space-4);border-top:1px solid var(--border);font-size:13px;color:var(--muted)}.feedback-stars{display:flex;gap:var(--space-1)}.feedback-star{background:none;border:none;cursor:pointer;font-size:18px;line-height:1;padding:0 2px;color:var(--dim);transition:color .15s var(--ease-out)}.feedback-star.on,.feedback-star:hover{color:var(--tag-nontech)}.feedback-thanks{color:var(--accent);font-size:12px}.feedback-comment{flex-basis:100%}.feedback-comment textarea{width:100%;padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:13px;color:var(--foreground);background:var(--bg);border:1px solid var(--border-glass);border-radius:var(--radius-sm);resize:vertical}.lesson-main{padding-bottom:48px}.cheatsheet-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--border)}.cheatsheet-tab{padding:var(--space-2) var(--space-3);font-size:13px;color:var(--muted);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:color .15s var(--ease-out),border-color .15s var(--ease-out)}.cheatsheet-tab:hover{color:var(--foreground)}.cheatsheet-tab.active{color:var(--foreground);border-color:var(--primary);background:var(--primary-dim)}.cheatsheet-print{margin-inline-start:auto;padding:var(--space-2) var(--space-3);font-size:13px;color:var(--accent);background:var(--accent-dim);border:1px solid var(--accent);border-radius:var(--radius-sm);cursor:pointer}.cheatsheet-body table{width:100%;border-collapse:collapse;font-size:13px}.cheatsheet-body th,.cheatsheet-body td{border:1px solid var(--border);padding:var(--space-2) var(--space-3);text-align:start}.cheatsheet-body th{background:var(--card-hover);color:var(--foreground)}@media print{.sidebar,.sidebar-toggle,.no-print{display:none!important}body{background:#fff;color:#000}.lesson-main,.lesson-card{background:#fff;border:none;box-shadow:none;max-width:none;padding:0;margin:0}.cheatsheet-body,.cheatsheet-body th,.cheatsheet-body td{color:#000}.cheatsheet-body th{background:#eee}.cheatsheet-body h1,.cheatsheet-body h2,.cheatsheet-body h3{color:#000}.cheatsheet-body table,.cheatsheet-body tr{page-break-inside:avoid}}.glossary-search{width:100%;margin-bottom:var(--space-6);padding:var(--space-3) var(--space-4);font-family:var(--font-sans);font-size:14px;color:var(--foreground);background:var(--bg);border:1px solid var(--border-glass);border-radius:var(--radius-md)}.glossary-search::placeholder{color:var(--dim)}.glossary-body h3{color:var(--primary-strong);margin-bottom:var(--space-1)}.glossary-body h2{color:var(--dim);font-size:13px;letter-spacing:.08em;border-bottom:1px solid var(--border);padding-bottom:var(--space-2)}.sidebar-fork{margin:var(--space-3) var(--space-2);padding-top:var(--space-3);border-top:1px dashed var(--border-strong);font-size:10px;color:var(--primary);text-align:center}.focus-body pre code{background:none;color:inherit;padding:0}.focus-body img{max-width:100%;border-radius:var(--radius-md);border:1px solid var(--border-glass);box-shadow:var(--shadow-soft)}.focus-body a{color:var(--accent)}.focus-checkpoints{margin-top:var(--space-8);border-top:1px solid var(--border);padding-top:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}.checkpoint-row{display:flex;align-items:center;gap:var(--space-3);color:var(--body-text);font-size:15px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);cursor:pointer;background:#ffffff08;border:1px solid var(--border);transition:background .15s,border-color .15s}.checkpoint-row:hover{background:var(--primary-dim);border-color:#da77564d}.checkpoint-row input{width:20px;height:20px;accent-color:var(--primary);cursor:pointer}.break-suggestion{margin-top:var(--space-6);padding:var(--space-4) var(--space-6);border-radius:var(--radius-md);background:var(--tag-nontech-dim);border:1px solid rgba(251,191,36,.3);color:#fbbf24;font-size:14px;font-weight:600}.loading{min-height:100dvh;display:flex;align-items:center;justify-content:center;color:var(--muted)}.game-counter{color:var(--muted);font-size:13px}.game-why{color:var(--muted);font-size:13px;line-height:1.85;margin:6px 0}.game-why b{color:var(--foreground)}.game-tally{display:flex;gap:var(--space-4);flex-wrap:wrap;margin:var(--space-4) 0;color:var(--muted);font-size:13px}.game-tally b{color:var(--foreground);font-size:19px}.game-end{text-align:center}.gate-meters{display:flex;gap:var(--space-3);flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:var(--space-3)}.gate-meters .m-breach{color:var(--danger)}.gate-meters .m-trust{color:#d9a441}.gate-meters .m-score{margin-inline-start:auto;color:var(--foreground);font-weight:700}.gate-doc{border:1px solid var(--border-glass);border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--space-4)}.gate-doc-bar{display:flex;gap:var(--space-2);align-items:center;padding:10px 14px;background:var(--card);border-bottom:1px solid var(--border-glass);font-size:14px}.gate-src{margin-inline-start:auto;color:var(--muted);font-size:11.5px}.gate-body{margin:0;padding:16px 18px;font-size:13.5px;line-height:2.1;white-space:pre-wrap;direction:rtl;text-align:start;overflow-x:auto;font-family:ui-monospace,Consolas,monospace}.gate-hit{background:color-mix(in srgb,var(--danger) 28%,transparent);border-bottom:2px solid var(--danger);color:inherit;border-radius:3px;padding:1px 3px}.gate-acts{display:flex;gap:var(--space-3);flex-wrap:wrap}.gate-acts .quiz-submit{flex:1 1 200px;display:flex;flex-direction:column;gap:3px}.gate-acts i{font-style:normal;font-size:11.5px;opacity:.8;font-weight:400}.gate-verdict{border:1px solid var(--border-glass);border-radius:var(--radius-md);padding:var(--space-4)}.gate-verdict>b{font-size:21px;display:inline-block;margin-inline-end:var(--space-3)}.gate-verdict.v-caught>b,.gate-verdict.v-clear>b{color:var(--ok, #3dd68c)}.gate-verdict.v-breach>b,.gate-verdict.v-falseAlarm>b{color:var(--danger)}.gate-did{margin:var(--space-3) 0;padding:11px 13px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--danger) 10%,transparent);border-inline-start:3px solid var(--danger);font-size:13px;line-height:1.9}.gate-did span{display:block;font-size:10.5px;letter-spacing:.1em;color:var(--danger);margin-bottom:5px}.win-board{display:grid;grid-template-columns:1fr 300px;gap:var(--space-4);align-items:start}@media (max-width: 860px){.win-board{grid-template-columns:1fr}}.win-role{display:inline-block;font-size:11px;padding:3px 9px;border-radius:var(--radius-sm);background:var(--card);border:1px solid var(--border-glass);color:var(--muted)}.win-label{font-size:19px;font-weight:700;line-height:1.7;margin:10px 0 6px;text-wrap:balance}.win-hint{opacity:.8}.win-acts{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4)}.win-act{display:flex;gap:10px;align-items:center;text-align:start;cursor:pointer;background:var(--card);border:1px solid var(--border-glass);color:var(--foreground);border-radius:var(--radius-md);padding:12px 15px;font-family:inherit;transition:border-color .13s,transform .08s}.win-act:hover:not(:disabled){transform:translate(-3px)}.win-act:disabled{opacity:.4;cursor:not-allowed}.win-act b{display:block;font-size:15px}.win-act i{font-style:normal;font-size:12px;color:var(--muted);flex:1}.win-act .num{font-size:15px;font-weight:700}.win-act.a-keep:hover{border-color:#56c4e8}.win-act.a-keep .num{color:#56c4e8}.win-act.a-sum:hover{border-color:#e8a33d}.win-act.a-sum .num{color:#e8a33d}.win-act.a-drop:hover{border-color:var(--danger)}.win-act.a-drop .num{color:var(--danger)}.win-over{margin-top:var(--space-3);font-size:12.5px;color:var(--danger)}.win-side h4{margin:0;font-size:13.5px}.win-sub{font-size:11.5px;color:var(--muted);margin:3px 0 9px;line-height:1.7}.win-meter{height:8px;background:var(--bg-canvas);border:1px solid var(--border-glass);border-radius:5px;overflow:hidden}.win-meter i{display:block;height:100%;background:#56c4e8;transition:width .3s}.win-cap{font-size:12px;color:var(--muted);margin:6px 0 10px}.win-prompt{background:var(--bg-canvas);border:1px solid var(--border-glass);border-radius:var(--radius-md);padding:13px;font-size:12.5px;line-height:2;min-height:190px;display:flex;flex-direction:column;gap:9px;direction:rtl;font-family:ui-monospace,Consolas,monospace;overflow-x:auto}.win-prompt .p-vague{color:#e8a33d}.win-prompt .p-fluff{color:var(--danger);text-decoration:line-through;opacity:.7}.win-prompt .p-empty{color:var(--muted);font-style:italic}.pov-line{display:flex;gap:10px;align-items:flex-start;background:var(--card);border:1px solid var(--border-glass);border-radius:var(--radius-md);padding:11px 13px;margin-bottom:7px;font-size:13.5px;line-height:1.8}.pov-line b{display:block}.pov-line i{font-style:normal;color:var(--muted);font-size:12.5px}.pov-y{border-inline-start:3px solid var(--ok, #3dd68c)}.pov-w{border-inline-start:3px solid #e8a33d}.pov-n{border-inline-start:3px solid var(--danger)}.win-draft{margin-top:var(--space-4);background:var(--bg-canvas);border:1px solid var(--border-glass);border-radius:var(--radius-md);padding:15px}.win-draft-h{font-size:10.5px;letter-spacing:.1em;color:var(--muted);display:block;margin-bottom:9px}.win-table{width:100%;border-collapse:collapse;font-size:12.5px;margin:6px 0}.win-table th,.win-table td{border:1px solid var(--border-glass);padding:6px 9px;text-align:start}.win-table th{color:var(--muted);font-weight:600}.tone-vague{color:#e8a33d}.tone-invented{color:var(--danger);border-bottom:1px dashed var(--danger)}.tone-muted{color:var(--muted);font-style:italic}.win-note{margin-top:11px;padding-top:10px;border-top:1px solid var(--border-glass);font-size:12.5px;color:var(--muted);line-height:1.9}.win-note.bad b{color:var(--danger)}.win-note.warn b{color:#e8a33d}.win-ready{text-align:center}.route-goal{background:var(--card);border:1px solid var(--border-glass);border-inline-start:3px solid #e8a33d;border-radius:var(--radius-md);padding:12px 15px;margin-bottom:var(--space-4)}.route-rule{font-size:13px;line-height:1.85;margin:8px 0 0}.route-rule b{color:#e8a33d}.route-line{display:flex;gap:var(--space-2);overflow-x:auto;margin-bottom:var(--space-4);padding-bottom:4px}.route-node{flex:none;min-width:104px;display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center}.route-dot{width:14px;height:14px;border-radius:50%;background:var(--card);border:2px solid var(--border-glass)}.route-dot.done{background:var(--ok, #3dd68c);border-color:var(--ok, #3dd68c)}.route-dot.now{border-color:#56c4e8;box-shadow:0 0 0 4px color-mix(in srgb,#56c4e8 18%,transparent)}.route-lb{font-size:10.5px;color:var(--muted)}.route-ch{font-size:11px;font-weight:600;line-height:1.5;min-height:15px}.route-body{display:grid;grid-template-columns:1fr 250px;gap:var(--space-4);align-items:start}@media (max-width: 860px){.route-body{grid-template-columns:1fr}}.route-q{font-size:18px;font-weight:800;margin-bottom:var(--space-3);line-height:1.6}.route-opt{display:block;width:100%;text-align:start;cursor:pointer;font-family:inherit;background:var(--card);border:1px solid var(--border-glass);color:var(--foreground);border-radius:var(--radius-md);padding:13px 15px;margin-bottom:var(--space-2);transition:border-color .13s,transform .08s}.route-opt:hover:not(:disabled){border-color:#56c4e8;transform:translate(-3px)}.route-opt-t{display:block;font-size:15px;font-weight:700;margin-bottom:4px}.route-costs{display:flex;gap:var(--space-4);font-size:12px;margin-top:7px;font-family:ui-monospace,Consolas,monospace}.c-time{color:#56c4e8}.c-qual{color:var(--ok, #3dd68c)}.c-ovh{color:#b98ce8}.route-mt{margin-bottom:var(--space-4)}.route-mt-lb{display:flex;justify-content:space-between;font-size:12px;margin-bottom:5px}.route-track{height:9px;background:var(--bg-canvas);border:1px solid var(--border-glass);border-radius:5px;overflow:hidden;position:relative}.route-track i{display:block;height:100%;transition:width .3s}.route-track.t-time i{background:#56c4e8}.route-track.t-quality i{background:var(--ok, #3dd68c)}.route-track.t-overhead i{background:#b98ce8}.route-ideal{position:absolute;top:-3px;bottom:-3px;width:2px;background:#e8a33d}.route-rank{font-size:27px;font-weight:900;margin-bottom:4px}.route-rank.r-best{color:var(--ok, #3dd68c)}.route-rank.r-close{color:#56c4e8}.route-rank.r-costly{color:#e8a33d}.route-rank.r-lost{color:var(--danger)}.route-cmp{display:flex;flex-direction:column;gap:3px;background:var(--card);border:1px solid var(--border-glass);border-radius:var(--radius-md);padding:11px 13px;margin-bottom:7px;font-size:13px;line-height:1.75}.route-cmp.same{border-inline-start:3px solid var(--ok, #3dd68c)}.route-cmp.diff{border-inline-start:3px solid #e8a33d}.route-st{font-size:10.5px;color:var(--muted);letter-spacing:.05em}.route-best{color:#e8a33d}.route-lesson{background:var(--card);border:1px solid var(--border-glass);border-inline-start:3px solid #56c4e8;border-radius:var(--radius-md);padding:12px 14px;font-size:13px;line-height:1.95;margin:var(--space-4) 0}.server-down h1{color:var(--danger)}.server-down-detail{margin:0 0 var(--space-6);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-glass);background:var(--card);color:var(--muted);font-size:13px;text-align:start;direction:ltr;white-space:pre-wrap;overflow-wrap:anywhere}.server-down-hint{margin-top:var(--space-6);color:var(--muted);font-size:13px;line-height:2}.server-down-hint code{direction:ltr;display:inline-block;padding:2px 6px;border-radius:var(--radius-sm, 6px);background:var(--card);font-size:12px}.app-frame{display:flex;flex-direction:column;height:100dvh}.app-frame>.course-shell{height:auto;flex:1 1 auto;min-height:0}.degraded-banner{flex:0 0 auto;padding:var(--space-3) var(--space-6);background:color-mix(in srgb,var(--danger) 12%,transparent);border-bottom:1px solid color-mix(in srgb,var(--danger) 35%,transparent);color:var(--foreground);font-size:13px;line-height:1.9;text-align:center}.sidebar-toggle{display:none;position:fixed;bottom:var(--space-6);inset-inline-end:var(--space-6);z-index:30;width:52px;height:52px;border-radius:50%;border:1px solid var(--border-glass);background:var(--primary);color:#fff;font-size:20px;box-shadow:var(--shadow-lifted);cursor:pointer}@media (max-width: 860px){.course-shell{flex-direction:column}.sidebar{position:fixed;inset-inline-start:0;top:0;bottom:0;z-index:25;transform:translate(100%);transition:transform .25s var(--ease-out);box-shadow:var(--shadow-lifted)}.sidebar.open{transform:translate(0)}.sidebar-toggle{display:flex;align-items:center;justify-content:center}.lesson-main,.lesson-card,.onboarding,.fork-screen,.quiz-panel{padding:var(--space-4)}}.quiz-panel{margin-top:var(--space-8);padding:var(--space-6);border-radius:var(--radius-lg);background:var(--card);border:1px solid var(--border-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow-glass)}.quiz-title{margin:0 0 var(--space-2);color:var(--foreground);font-size:20px;font-weight:800;line-height:1.5}.quiz-intro{margin:0;color:var(--muted);font-size:14px}.quiz-item{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:var(--space-2)}.quiz-prompt{margin:0 0 var(--space-1);color:var(--foreground);font-size:15px;font-weight:600;line-height:1.8}.quiz-prompt strong{color:var(--primary);margin-inline-end:var(--space-1)}.quiz-option{display:flex;align-items:center;gap:var(--space-3);min-height:48px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--sidebar-bg);color:var(--body-text);font-size:15px;cursor:pointer;transition:background .15s var(--ease-out),border-color .15s var(--ease-out),color .15s var(--ease-out)}.quiz-option:hover{background:var(--card-hover);border-color:var(--border-glass)}.quiz-option input{flex:none;width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.quiz-option input:disabled{cursor:default}.quiz-option.chosen{background:var(--primary-dim);border-color:var(--primary);color:var(--foreground)}.quiz-option.chosen:hover{background:var(--primary-dim);border-color:var(--primary-strong)}.quiz-feedback{overflow:hidden;margin:var(--space-2) 0 0;padding-inline:var(--space-3);border-inline-start:3px solid currentColor;border-radius:var(--radius-sm);font-size:14px;line-height:1.9}.quiz-feedback.correct{color:var(--accent);background:var(--accent-dim)}.quiz-feedback.wrong{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.quiz-submit{align-self:flex-start;margin-top:var(--space-6);padding:14px 24px;min-height:48px;border-radius:var(--radius-md);border:none;background:var(--primary);color:var(--foreground);font-weight:700;cursor:pointer;box-shadow:var(--shadow-soft);transition:transform .15s var(--ease-out),box-shadow .15s var(--ease-out),opacity .15s,background .15s}.quiz-submit:hover:not(:disabled){background:var(--primary-strong);box-shadow:var(--shadow-lifted)}.quiz-submit:active:not(:disabled){transform:scale(.97)}.quiz-submit:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.quiz-result{margin-top:var(--space-6);padding:var(--space-4) var(--space-6);border-radius:var(--radius-md);background:var(--primary-dim);border:1px solid var(--border-strong);color:var(--foreground);font-weight:600}.quiz-result p{margin:0}.quiz-result .quiz-submit{margin-top:var(--space-4)}.review-panel{margin-top:var(--space-4);padding:0;background:transparent;border:none;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.review-panel .quiz-item{border-top:none;padding-top:0;margin-top:var(--space-4)}.review-due-badge{color:var(--primary);background:var(--primary-dim)}.review-done{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center}.review-done-mark{display:grid;place-items:center;width:56px;height:56px;margin-bottom:var(--space-2);font-size:26px;color:var(--accent);background:var(--accent-dim);border:1px solid var(--accent);border-radius:50%;animation:review-done-pop .4s var(--ease-out) both}@keyframes review-done-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion: reduce){.review-done-mark{animation:none}}
