:root{--t-bg: #f4f6fa;--t-bg2: #f0f2f6;--t-panel: #ffffff;--t-panel2: #f8f9fb;--t-border: #e2e8f0;--t-border2: #cbd5e1;--t-navy: #002147;--t-gold: #FFD700;--t-gold-dim: rgba(255, 215, 0, .15);--t-green: #16a34a;--t-red: #dc2626;--t-amber: #f97316;--t-text: #1e293b;--t-dim: #475569;--t-dim2: #94a3b8;--t-radius: 16px;--t-radius-sm: 10px;--t-shadow: 0 1px 4px rgba(0, 0, 0, .06);--t-font: "Inter", system-ui, sans-serif;--t-mono: "IBM Plex Mono", "JetBrains Mono", ui-monospace, monospace}.t-card{background:var(--t-panel);border:1px solid var(--t-border);border-radius:var(--t-radius);box-shadow:var(--t-shadow);padding:24px}.t-card-sm{background:var(--t-panel);border:1px solid var(--t-border);border-radius:var(--t-radius-sm);box-shadow:var(--t-shadow);padding:16px}.t-tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--t-font);font-size:10px;font-weight:600;letter-spacing:.14em;color:var(--t-dim);text-transform:uppercase;border:1px solid var(--t-border);padding:5px 14px;border-radius:8px;background:var(--t-panel)}.t-tag:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--t-gold);flex-shrink:0}.t-title{font-family:var(--t-font);font-size:clamp(22px,4vw,30px);font-weight:800;color:var(--t-navy);letter-spacing:-.01em;line-height:1.2}.t-subtitle{font-family:var(--t-font);font-size:12px;font-weight:400;color:var(--t-dim);letter-spacing:.08em;margin-top:4px}.t-btn-primary{display:flex;align-items:center;justify-content:center;width:100%;padding:16px 24px;background:var(--t-navy);color:var(--t-gold);border:none;border-radius:var(--t-radius);font-family:var(--t-font);font-size:14px;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:filter .15s}.t-btn-primary:hover{filter:brightness(1.08)}.t-btn-secondary{display:flex;align-items:center;justify-content:center;flex:1;padding:12px 16px;background:transparent;color:var(--t-navy);border:1px solid var(--t-navy);border-radius:var(--t-radius);font-family:var(--t-font);font-size:13px;font-weight:500;cursor:pointer;transition:border-color .15s,color .15s}.t-btn-secondary:hover{border-color:var(--t-gold);color:var(--t-gold)}.t-stat-card{background:var(--t-panel2);border:1px solid var(--t-border);border-radius:var(--t-radius-sm);padding:12px 14px;text-align:center}.t-stat-value{font-family:var(--t-mono);font-size:22px;font-weight:600;color:var(--t-navy);line-height:1}.t-stat-label{font-family:var(--t-font);font-size:8px;font-weight:600;color:var(--t-dim2);letter-spacing:.12em;text-transform:uppercase;margin-top:4px}.t-difficulty-row{display:flex;gap:10px;margin-bottom:20px}.t-difficulty-btn{flex:1;padding:14px 10px;background:var(--t-panel);border:2px solid var(--t-border);border-radius:var(--t-radius);cursor:pointer;text-align:center;font-family:var(--t-font);font-size:13px;font-weight:600;color:var(--t-text);transition:border-color .15s,background .15s,color .15s}.t-difficulty-btn:hover{border-color:var(--t-border2)}.t-difficulty-btn.active-easy{border-color:var(--t-green);background:#16a34a14;color:var(--t-green)}.t-difficulty-btn.active-medium{border-color:var(--t-gold);background:var(--t-gold-dim);color:#b8860b}.t-difficulty-btn.active-hard{border-color:var(--t-red);background:#dc262614;color:var(--t-red)}.t-progress-bar{height:4px;background:var(--t-border);border-radius:2px;overflow:hidden}.t-progress-fill{height:100%;border-radius:2px;background:var(--t-gold);transition:width .3s ease}.t-progress-fill.green{background:var(--t-green)}.t-progress-fill.red{background:var(--t-red)}.t-progress-fill.amber{background:var(--t-amber)}.t-grade-badge{display:inline-block;padding:5px 16px;border-radius:var(--t-radius);font-family:var(--t-font);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.t-grade-badge.pass{background:#16a34a1a;color:var(--t-green);border:1px solid rgba(22,163,74,.3)}.t-grade-badge.fail{background:#dc26261a;color:var(--t-red);border:1px solid rgba(220,38,38,.3)}.t-grade-badge.marginal{background:#f973161a;color:var(--t-amber);border:1px solid rgba(249,115,22,.3)}.t-hud-bar{display:flex;align-items:center;background:var(--t-panel);border-bottom:1px solid var(--t-border);box-shadow:var(--t-shadow);padding:8px 16px;gap:16px;flex-shrink:0;min-height:48px}.t-hud-item{display:flex;flex-direction:column;align-items:center}.t-hud-value{font-family:var(--t-mono);font-size:15px;font-weight:600;color:var(--t-navy);line-height:1}.t-hud-label{font-family:var(--t-font);font-size:8px;font-weight:500;color:var(--t-dim2);letter-spacing:.12em;text-transform:uppercase;margin-top:2px}.t-hud-sep{width:1px;height:24px;background:var(--t-border)}.t-timer{font-family:var(--t-mono);font-size:15px;font-weight:600;color:var(--t-navy)}.t-timer.warn{color:var(--t-amber)}.t-timer.crit{color:var(--t-red);animation:t-blink .5s infinite alternate}@keyframes t-blink{0%{opacity:1}to{opacity:.2}}@keyframes t-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.t-level-pill{padding:3px 10px;border-radius:6px;font-family:var(--t-font);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.t-level-pill.easy{background:#16a34a1a;border:1px solid rgba(22,163,74,.3);color:var(--t-green)}.t-level-pill.medium{background:var(--t-gold-dim);border:1px solid rgba(255,215,0,.35);color:#b8860b}.t-level-pill.hard{background:#dc26261a;border:1px solid rgba(220,38,38,.3);color:var(--t-red)}.t-results-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#f4f6faf0;z-index:200;display:flex;align-items:center;justify-content:center}.t-results-card{background:var(--t-panel);border:1px solid var(--t-border);border-radius:var(--t-radius);padding:32px 36px;width:480px;max-width:95vw;box-shadow:0 4px 24px #00000014}.t-results-eyebrow{font-family:var(--t-font);font-size:9px;font-weight:600;letter-spacing:.14em;color:var(--t-dim2);text-transform:uppercase;margin-bottom:8px}.t-results-score{font-family:var(--t-mono);font-size:52px;font-weight:300;line-height:1}.t-results-denom{font-family:var(--t-mono);font-size:16px;color:var(--t-dim2);margin-left:4px}.t-results-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.t-results-bar-track{height:4px;background:var(--t-border);border-radius:2px;overflow:hidden}.t-results-bar-fill{height:100%;border-radius:2px;background:var(--t-gold);transition:width .4s ease}.t-results-bar-fill.low{background:var(--t-red)}.t-results-bar-fill.mid{background:var(--t-amber)}.t-results-actions{display:flex;gap:10px;margin-top:20px}.t-lobby{max-width:640px;margin:0 auto;padding:32px 16px}.t-lobby-header{text-align:center;margin-bottom:24px}.t-info-box{background:var(--t-panel);border:1px solid var(--t-border);border-left:3px solid var(--t-navy);border-radius:var(--t-radius-sm);padding:16px 20px;font-size:13px;color:var(--t-dim);line-height:1.8;box-shadow:var(--t-shadow)}.t-info-box b{color:var(--t-navy);font-weight:600}.t-back-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--t-panel);border:1px solid var(--t-border);border-radius:var(--t-radius-sm);cursor:pointer;transition:border-color .15s;flex-shrink:0}.t-back-btn:hover{border-color:var(--t-navy)}.t-exit-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#f4f6fae0;z-index:300;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .18s}.t-exit-overlay.show{opacity:1;pointer-events:auto}.t-exit-card{background:var(--t-panel);border:1px solid var(--t-border);border-radius:var(--t-radius);padding:28px 30px;width:320px;max-width:92vw;box-shadow:0 4px 24px #00000014}.t-mode-card{background:var(--t-panel);border:2px solid var(--t-border);border-radius:var(--t-radius);padding:20px;cursor:pointer;text-align:left;transition:border-color .15s,background .15s,box-shadow .15s}.t-mode-card:hover{border-color:var(--t-border2)}.t-mode-card.selected{border-color:var(--t-navy);background:#00214708;box-shadow:0 0 0 2px var(--t-gold-dim)}.t-mode-card.selected-timed{border-color:var(--t-red);background:#dc262608}.t-label{font-family:var(--t-font);font-size:10px;font-weight:600;color:var(--t-dim);letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}.t-mono{font-family:var(--t-mono)}.t-shell{background:var(--t-bg);color:var(--t-text);font-family:var(--t-font);font-size:13px;display:flex;flex-direction:column;min-height:100vh}.ts-dot{width:8px;height:8px;border-radius:50%;background:var(--t-border2);display:inline-block}.ts-dot.active{background:var(--t-gold)}.ts-intro-box{background:#fff;border:1px solid var(--t-border);border-radius:20px;padding:28px 24px;max-width:640px;margin:0 auto;box-shadow:0 2px 12px #0000000d}.ts-icon-tile{width:68px;height:68px;background:var(--t-bg);border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ts-icon-tile-sm{width:36px;height:36px;background:var(--t-bg);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ts-accordion-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ts-accordion-body{overflow:hidden;transition:max-height .25s ease}.ts-section-label{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--t-dim2);margin-bottom:10px}.ts-preview-row{display:flex;align-items:center;gap:6px;background:var(--t-bg);border:1px solid var(--t-border);border-radius:14px;padding:14px 16px;overflow-x:auto}.ts-preview-tile{width:52px;height:52px;background:#fff;border:1px solid var(--t-border);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ts-preview-arrow{color:var(--t-dim2);font-size:14px;flex-shrink:0}.ts-preview-q{width:52px;height:52px;background:var(--t-bg);border:2px dashed var(--t-border2);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:var(--t-dim2);flex-shrink:0}.ts-step-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.ts-step-num{width:24px;height:24px;border-radius:50%;background:var(--t-navy);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.ts-step-text{font-size:13px;color:var(--t-dim);line-height:1.6}.ts-rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ts-rule-chip{background:var(--t-bg);border:1px solid var(--t-border);border-radius:10px;padding:8px 12px}.ts-rule-name{font-size:12px;font-weight:700;color:var(--t-navy)}.ts-rule-desc{font-size:11px;color:var(--t-dim2);margin-top:1px}.ts-strategy-tip{background:#fffdf5;border-left:3px solid var(--t-gold);border-radius:0 10px 10px 0;padding:12px 16px;font-size:13px;color:var(--t-dim);line-height:1.6}.ts-mode-card{flex:1;padding:18px 14px;background:#fff;border:2px solid var(--t-border);border-radius:16px;cursor:pointer;text-align:center;transition:border-color .15s,background .15s}.ts-mode-card:hover{border-color:var(--t-border2)}.ts-mode-card.selected{border-color:var(--t-gold);background:#fffdf5}.ts-diff-btn{flex:1;padding:10px 8px;background:#fff;border:2px solid var(--t-border);border-radius:12px;cursor:pointer;text-align:center;font-size:13px;font-weight:600;color:var(--t-text);transition:border-color .15s,background .15s;display:flex;align-items:center;justify-content:center;gap:6px}.ts-diff-btn.easy{border-color:var(--t-green);color:var(--t-green);background:#16a34a0f}.ts-diff-btn.medium{border-color:var(--t-gold);color:#b8860b;background:var(--t-gold-dim)}.ts-diff-btn.hard{border-color:var(--t-red);color:var(--t-red);background:#dc26260f}.ts-time-badge{display:inline-flex;align-items:center;gap:6px;background:var(--t-bg);border:1px solid var(--t-border);border-radius:10px;padding:6px 12px;font-size:12px;font-weight:600;color:var(--t-dim)}.ts-active-header{background:var(--t-navy);padding:10px 16px;display:flex;align-items:center;gap:12px;border-radius:20px 20px 0 0}.ts-active-progress{height:4px;background:#ffffff1f}.ts-active-progress-fill{height:100%;background:var(--t-gold);transition:width .3s ease}.ts-score-circle{width:112px;height:112px;border-radius:50%;border:6px solid var(--t-gold);display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 auto 16px}.ts-stat-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--t-border);border-radius:14px;overflow:hidden;margin:16px 0}.ts-stat-cell{padding:12px 8px;text-align:center;border-right:1px solid var(--t-border)}.ts-stat-cell:last-child{border-right:none}.ts-band-ref-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--t-border);font-size:12px}.ts-band-ref-row:last-child{border-bottom:none}.ts-band-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.ts-disclaimer{border-left:3px solid var(--t-border);padding:10px 14px;font-size:11px;color:var(--t-dim2);font-style:italic;line-height:1.6}
