:root{--bg-primary: #0a0a0f;--bg-secondary: #111118;--bg-tertiary: #1a1a24;--bg-input: #0d0d15;--border: #2a2a3a;--text-primary: #e8e8f0;--text-secondary: #8888aa;--text-muted: #44445a;--green: #00d084;--red: #ff4466;--amber: #f5a623;--blue: #4488ff;--font-mono: "JetBrains Mono", "Fira Code", ui-monospace, "Courier New", monospace;--font-ui: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--bg: var(--bg-primary);--panel: var(--bg-secondary);--line: var(--border);--text: var(--text-primary);--muted: var(--text-secondary);--up: var(--green);--down: var(--red);--accent: var(--blue);--mono: var(--font-mono)}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--blue);outline-offset:2px}.app-loading{min-height:100vh;display:grid;place-items:center;background:var(--bg-primary);color:var(--text-secondary);font-family:var(--font-mono)}*{box-sizing:border-box}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html,body,#root{height:100%}body{margin:0;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-ui);font-size:13px;-webkit-font-smoothing:antialiased;overflow:hidden}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.muted{color:var(--text-secondary)}.up{color:var(--green)}.down{color:var(--red)}.flat{color:var(--text-primary)}.app{height:100vh;display:flex;flex-direction:column;background:var(--bg-primary)}.topnav{display:flex;align-items:center;height:48px;flex-shrink:0;background:var(--bg-primary);border-bottom:1px solid var(--border);padding:0 14px;gap:16px}.nav-left{display:flex;align-items:center;gap:10px;flex-shrink:0}.nav-logo{height:20px;width:auto;display:block;flex-shrink:0}.market-status{display:flex;align-items:center;gap:6px;font-size:9px;font-family:var(--font-mono);letter-spacing:.1em;color:var(--text-secondary);white-space:nowrap}.status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.status-dot.open{background:var(--green);box-shadow:0 0 #00d08499;animation:pulse-dot 2s infinite}.status-dot.closed{background:var(--red)}@keyframes pulse-dot{0%{box-shadow:0 0 #00d0848c}70%{box-shadow:0 0 0 6px #00d08400}to{box-shadow:0 0 #00d08400}}.ticker-tape{flex:1;overflow:hidden;position:relative;height:100%;display:flex;align-items:center;border-left:1px solid var(--border);border-right:1px solid var(--border);margin:0 4px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}.ticker-track{display:inline-flex;align-items:center;white-space:nowrap;animation:tape-scroll 38s linear infinite;will-change:transform}.ticker-tape:hover .ticker-track{animation-play-state:paused}.tape-item{display:inline-flex;align-items:baseline;gap:6px;padding:0 18px;font-family:var(--font-mono);font-size:11px}.tape-tkr{color:var(--text-secondary);font-weight:600;letter-spacing:.04em}@keyframes tape-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.nav-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.nav-row2{display:contents}.nav-stat{display:flex;flex-direction:column;line-height:1.1;font-family:var(--font-mono)}.nav-stat .lbl{font-size:8px;letter-spacing:.1em;color:var(--text-muted);text-transform:uppercase}.nav-stat .val{font-size:12px;color:var(--text-primary)}.nav-sep{width:1px;height:26px;background:var(--border)}.mode-toggle{display:flex;background:var(--bg-input);border:1px solid var(--border);border-radius:4px;overflow:hidden}.mode-toggle button{background:transparent;border:none;color:var(--text-secondary);padding:5px 10px;font-size:10px;font-family:var(--font-ui);font-weight:600;letter-spacing:.04em;cursor:pointer}.mode-toggle button.active{background:var(--bg-tertiary);color:var(--text-primary)}.nav-picker{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;padding:5px 8px;font-family:var(--font-mono);font-size:11px;cursor:pointer}.end-session-btn{background:transparent;border:1px solid var(--red);color:var(--red);font-size:10px;font-weight:600;padding:5px 9px;border-radius:4px;cursor:pointer;text-transform:uppercase;letter-spacing:.04em;font-family:var(--font-ui)}.end-session-btn:hover{background:var(--red);color:#fff}.api-dot{width:8px;height:8px;border-radius:50%}.api-dot.ok{background:var(--green)}.api-dot.off{background:var(--amber)}.terminal{flex:1;display:grid;grid-template-rows:1.7fr 1fr;gap:7px;padding:7px;min-height:0}.terminal-top{display:grid;grid-template-columns:minmax(0,1fr) 280px 260px;gap:7px;min-height:0}.terminal-bottom{display:grid;grid-template-columns:300px minmax(0,1fr) 300px;gap:7px;min-height:0}.panel{background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;display:flex;flex-direction:column;min-height:0;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 11px;border-bottom:1px solid var(--border);flex-shrink:0}.panel-title{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);font-weight:600;margin:0}.panel-body{flex:1;min-height:0;overflow-y:auto;padding:10px 11px}.panel-body::-webkit-scrollbar,.news-scroll::-webkit-scrollbar,.advisor-chat::-webkit-scrollbar,.coaching-content-scroll::-webkit-scrollbar{width:7px}.panel-body::-webkit-scrollbar-thumb,.news-scroll::-webkit-scrollbar-thumb,.advisor-chat::-webkit-scrollbar-thumb,.coaching-content-scroll::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}.panel-body::-webkit-scrollbar-track{background:transparent}.chart-panel{display:flex;flex-direction:column;min-height:0;overflow-x:hidden;overflow-y:auto}.chart-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.scenario-company-brief{flex-shrink:0;border-bottom:1px solid var(--border);background:var(--bg-tertiary)}.scenario-company-brief summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 12px;cursor:pointer;color:var(--text-secondary);font-family:var(--font-mono);font-size:10px;list-style:none}.scenario-company-brief summary::-webkit-details-marker{display:none}.scenario-company-brief summary span:first-child{color:var(--blue);font-weight:700}.scenario-company-brief summary span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scenario-company-brief p{margin:0;padding:0 12px 9px;color:var(--text-secondary);font-size:12px;line-height:1.45}.ch-id{display:flex;flex-direction:column;gap:3px}.ch-id-top{display:flex;align-items:baseline;gap:9px}.ch-tkr{font-family:var(--font-mono);font-weight:700;font-size:19px;letter-spacing:.03em;color:var(--text-primary)}.ch-name{font-size:13px;color:var(--text-secondary)}.ch-meta{font-size:10px;font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.04em}.ch-price-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.ch-price{font-family:var(--font-mono);font-weight:700;font-size:24px;letter-spacing:.01em;border-radius:3px;padding:0 4px}.ch-price.flash-up{animation:flash-green .6s ease-out}.ch-price.flash-down{animation:flash-red .6s ease-out}@keyframes flash-green{0%{background:#00d08466}to{background:transparent}}@keyframes flash-red{0%{background:#f466}to{background:transparent}}.ch-change{font-family:var(--font-mono);font-size:13px;font-weight:600}.range-tabs{display:flex;gap:4px;padding:7px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.range-tab{background:var(--bg-input);border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.04em;padding:3px 11px;border-radius:3px;cursor:pointer}.range-tab:hover{color:var(--text-primary)}.range-tab.active{border-color:var(--blue);color:var(--blue);background:#4488ff14}.ind-bar{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;padding:6px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.ind-group{display:flex;align-items:center;gap:4px}.ind-label{color:var(--text-muted);font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-right:2px}.ind-chip{background:transparent;border:1px solid var(--border);color:var(--text-muted);font-family:var(--font-mono);font-size:10px;font-weight:600;padding:2px 8px;border-radius:3px;cursor:pointer}.ind-chip:hover{color:var(--text-primary)}.ind-chip.active{border-color:var(--blue);color:var(--blue)}[dir=rtl] .ind-chip{direction:ltr}.chart-area{flex:1;min-height:180px;flex-shrink:0;position:relative;display:flex;flex-direction:column;overflow:hidden}.chart{flex:1;width:100%;min-height:0}.session-view{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:20px}.session-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);font-family:var(--font-mono)}.session-ohlc{display:grid;grid-template-columns:repeat(4,auto);gap:10px 34px}.session-ohlc .so{display:flex;flex-direction:column;align-items:center;gap:5px}.session-ohlc .so .lbl{font-size:10px;letter-spacing:.1em;color:var(--text-muted);text-transform:uppercase}.session-ohlc .so .val{font-family:var(--font-mono);font-size:19px;font-weight:600}.chart-skeleton{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;background:var(--bg-input);display:flex;flex-direction:column;gap:10px;padding:24px;justify-content:flex-end}.chart-skeleton .bar{background:linear-gradient(90deg,var(--bg-tertiary) 25%,#232333 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1s infinite linear;border-radius:3px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.closed-banner{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;align-items:center;justify-content:center;background:#0a0a0fb8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.closed-banner span{font-family:var(--font-mono);font-size:14px;letter-spacing:.16em;color:var(--red);border:1px solid var(--red);padding:10px 22px;border-radius:3px;background:#ff44660f}.stats-strip{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--border);flex-shrink:0;padding:6px 4px}.stat-cell{display:flex;flex-direction:column;gap:2px;padding:2px 12px;border-right:1px solid var(--border)}.stat-cell:last-child{border-right:none}.stat-cell .lbl{font-size:8px;letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase}.stat-cell .val{font-family:var(--font-mono);font-size:11px;color:var(--text-primary)}.company-about{flex-shrink:0;border-top:1px solid var(--border);padding:9px 12px;max-height:132px;overflow-y:auto}.about-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 10px;margin-bottom:5px}.about-label{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-family:var(--font-mono)}.about-facts{font-size:10px;font-family:var(--font-mono);color:var(--text-secondary);letter-spacing:.02em}.about-text{margin:0;font-size:11.5px;line-height:1.55;color:var(--text-secondary)}.next-day-btn{flex-shrink:0;width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#0d2346;border:1px solid var(--blue);border-left-width:3px;color:var(--text-primary);font-family:var(--font-mono);font-size:12px;font-weight:600;padding:9px 12px;cursor:pointer;transition:background .12s,border-color .12s}.next-day-btn:hover:not(:disabled){background:#132d56;border-color:#7aa2ff}.next-day-btn.lesson-next-day-cta{background:#2d2104;border-color:var(--amber);color:var(--amber)}.next-day-btn.lesson-next-day-cta:hover:not(:disabled){background:#3a2a05;border-color:var(--amber)}.next-day-btn:disabled{opacity:.45;cursor:not-allowed}.next-day-label{letter-spacing:.1em;text-transform:uppercase}.next-day-meta{color:#b7c9ee;font-size:10px;font-weight:500;text-align:right}.first-run-coach{position:absolute;z-index:6;top:8px;right:8px;left:8px;padding:9px 11px 10px;background:var(--bg-primary);border:1px solid var(--blue)}.first-run-coach-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.first-run-coach-head>div{display:flex;flex-direction:column;gap:2px}.first-run-coach-label{color:var(--blue);font-family:var(--font-mono);font-size:8px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.first-run-coach-head strong{color:var(--text-primary);font-size:11px}.first-run-coach-close{width:32px;height:32px;flex-shrink:0;padding:0;background:transparent;border:1px solid var(--border);border-radius:3px;color:var(--text-secondary);cursor:pointer}.first-run-coach-close:hover{border-color:var(--blue);color:var(--text-primary)}.first-run-coach-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:8px 0 0;padding:0;list-style:none}.first-run-coach-steps li{display:flex;align-items:flex-start;gap:5px;color:var(--text-secondary);font-size:9.5px;line-height:1.35}.first-run-coach-steps li>span{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--blue);color:var(--blue);font-family:var(--font-mono);font-size:8px}.order-tabs{display:flex;flex-wrap:wrap;gap:3px;padding:8px 9px;border-bottom:1px solid var(--border);flex-shrink:0}.order-tab{background:var(--bg-input);border:1px solid var(--border);color:var(--text-secondary);font-size:10px;font-weight:600;font-family:var(--font-ui);padding:4px 8px;border-radius:3px;cursor:pointer}.order-tab:hover{color:var(--text-primary)}.order-tab.active{border-color:var(--blue);color:var(--text-primary);background:#4488ff1a}.order-tab-more{border-style:dashed;color:var(--text-muted)}.order-tab-wrap{display:inline-flex;align-items:center}.glossary-hint{position:relative;display:inline-block;margin-left:4px}.glossary-hint-btn{background:none;border:none;color:var(--text-muted);font-size:11px;cursor:pointer;padding:0 2px;line-height:1}.glossary-hint-emphasis .glossary-hint-btn,.glossary-hint-btn:hover{color:var(--blue)}.glossary-popover{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);width:200px;background:var(--bg-secondary);border:1px solid var(--blue);color:var(--text-secondary);font-size:11px;font-family:var(--font-ui);line-height:1.4;padding:8px 10px;border-radius:3px;z-index:30;text-align:left;white-space:normal}.order-body{flex:1;min-height:0;overflow-y:auto;padding:11px;display:flex;flex-direction:column;gap:11px}.order-body>*{flex-shrink:0}.bidask{display:flex;align-items:stretch;gap:1px;flex-shrink:0;min-height:44px;border:1px solid var(--border);border-radius:3px;overflow:hidden}.bidask .ba{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;padding:6px 9px;background:var(--bg-input)}.bidask .ba .lbl{font-size:8px;letter-spacing:.1em;color:var(--text-muted);text-transform:uppercase}.bidask .ba .v{font-family:var(--font-mono);font-size:13px;font-weight:600}.bidask .ba.bid .v{color:var(--green)}.bidask .ba.ask .v{color:var(--red)}.bidask .spread{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0 8px;background:var(--bg-tertiary);cursor:help}.bidask .spread .lbl{font-size:7px;letter-spacing:.06em;color:var(--text-muted)}.bidask .spread .v{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary)}.buysell-toggle{display:flex;gap:0;border:1px solid var(--border);border-radius:3px;overflow:hidden}.buysell-toggle button{flex:1;background:var(--bg-input);border:0;color:var(--text-secondary);font-family:var(--font-ui);font-weight:700;font-size:12px;letter-spacing:.06em;padding:8px;cursor:pointer}.buysell-toggle button+button{border-left:1px solid var(--border)}.buysell-toggle button.buy.active{background:#003d20;color:var(--green);border-bottom:2px solid var(--green)}.buysell-toggle button.sell.active{background:#3d0010;color:var(--red);border-bottom:2px solid var(--red)}.field-label{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:5px;display:block}.qty-row{display:grid;grid-template-columns:34px 1fr 34px auto;gap:5px}.step{border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);border-radius:3px;font-size:14px;font-weight:600;cursor:pointer;padding:7px 0;font-family:var(--font-mono)}.step.max{padding:0 11px;font-size:10px;letter-spacing:.06em}.step:hover:not(:disabled){border-color:var(--blue)}.step:disabled{opacity:.4;cursor:not-allowed}.num-input{background:var(--bg-input);border:1px solid var(--border);border-radius:3px;color:var(--text-primary);text-align:center;font-size:14px;font-family:var(--font-mono);padding:7px;width:100%}.num-input:focus{outline:none;border-color:var(--blue)}.cost-line{display:flex;justify-content:space-between;align-items:baseline;font-size:11px;padding:8px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:3px;font-family:var(--font-mono)}.cost-line .v{font-size:13px;font-weight:600;color:var(--text-primary)}.place-btn{width:100%;border:1px solid var(--border);border-radius:3px;padding:11px;font-family:var(--font-ui);font-weight:700;font-size:12px;letter-spacing:.08em;cursor:pointer;text-transform:uppercase}.place-btn:disabled{opacity:.4;cursor:not-allowed}.place-btn.buy{background:var(--green);border-color:var(--green);color:#04140f}.place-btn.sell{background:var(--red);border-color:var(--red);color:#1a0606}.place-btn.short{background:var(--amber);border-color:var(--amber);color:#1a1206}.place-btn.cover{background:var(--blue);border-color:var(--blue);color:#fff}.place-btn.neutral{background:var(--bg-tertiary);color:var(--text-primary)}.order-note{font-size:10px;line-height:1.4;color:var(--text-secondary);font-family:var(--font-mono)}.margin-warn{font-size:10px;line-height:1.4;color:var(--amber);background:#f5a62314;border:1px solid rgba(245,166,35,.25);border-radius:3px;padding:7px 9px}.pos-chip{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:11px;padding:7px 10px;border-radius:3px;border:1px solid var(--border);border-left:2px solid var(--border);background:var(--bg-input)}.pos-chip.long{border-left-color:var(--green)}.pos-chip.short{border-left-color:var(--amber)}.active-stop{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:11px;background:var(--bg-input);border:1px solid var(--border);border-left:2px solid var(--blue);border-radius:3px;padding:7px 10px}.mini-btn{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);font-size:10px;font-family:var(--font-ui);font-weight:600;padding:4px 9px;border-radius:3px;cursor:pointer}.mini-btn:hover{color:var(--text-primary);border-color:var(--blue)}.order-footer{flex-shrink:0;border-top:1px solid var(--border);padding:8px 11px;display:flex;flex-direction:column;gap:5px}.order-footer .place-btn{margin-bottom:3px}.footer-line{display:flex;justify-content:space-between;font-size:10px;font-family:var(--font-mono);color:var(--text-secondary)}.footer-line .v{color:var(--text-primary)}.pf-value{text-align:right}.pf-value .v{font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--text-primary)}.pf-value .c{font-family:var(--font-mono);font-size:10px}.donut-wrap{display:flex;justify-content:center;padding:6px 0 12px}.donut{display:block}.donut path,.donut circle{cursor:default;transition:opacity .12s}.pf-stats{display:flex;flex-direction:column;gap:1px}.pf-row{display:flex;justify-content:space-between;align-items:baseline;padding:6px 0;font-size:11px;border-bottom:1px solid var(--border)}.pf-row:last-child{border-bottom:none}.pf-row .lbl{color:var(--text-secondary)}.pf-row .v{font-family:var(--font-mono);font-weight:600;color:var(--text-primary)}.advisor-launch{margin-top:10px;width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;gap:7px;background:#0d1b31;border:1px solid var(--blue);color:var(--blue);font-family:var(--font-ui);font-weight:600;font-size:11px;padding:8px;border-radius:3px;cursor:pointer}.advisor-launch:hover{background:var(--blue);color:#fff}.advisor-launch-icon{width:16px;height:16px;flex-shrink:0;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.portfolio-panel .panel-body{display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.portfolio-panel .pf-stats{min-height:0;overflow-y:auto;padding-right:2px}@media(min-width:641px)and (max-height:800px){.portfolio-panel .donut-wrap{padding:2px 0 6px}.portfolio-panel .donut{width:78px;height:78px}.portfolio-panel .pf-row{padding:3px 0}.portfolio-panel .advisor-launch{min-height:36px;margin-top:6px;padding:6px}}.wl-sort{display:flex;gap:4px}.wl-sort button{background:var(--bg-input);border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-mono);font-size:9px;padding:2px 6px;border-radius:3px;cursor:pointer}.wl-sort button.active{border-color:var(--blue);color:var(--text-primary)}.wl-row{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:transparent;border:none;border-left:2px solid transparent;padding:7px 11px;cursor:pointer;border-bottom:1px solid var(--border);color:var(--text-primary)}.wl-row:hover{background:var(--bg-tertiary)}.wl-row.active{border-left-color:var(--blue);background:#4488ff12}.wl-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.wl-tkr{font-family:var(--font-mono);font-weight:700;font-size:12px;letter-spacing:.03em;width:48px;flex-shrink:0}.wl-price{font-family:var(--font-mono);font-size:12px;width:64px;text-align:right;color:var(--text-primary)}.wl-chg{font-family:var(--font-mono);font-size:11px;width:58px;text-align:right}.wl-spark{margin-left:auto;flex-shrink:0}.news-panel{min-height:0}.news-filter{display:flex;gap:4px;flex-wrap:wrap}.news-filter button{background:var(--bg-input);border:1px solid var(--border);color:var(--text-secondary);font-size:10px;font-family:var(--font-ui);font-weight:600;padding:3px 9px;border-radius:3px;cursor:pointer}.news-filter button.active{border-color:var(--blue);color:var(--text-primary);background:#4488ff1a}.news-scroll{flex:1;min-height:0;overflow-y:auto;padding:10px 11px;display:flex;flex-direction:column;gap:9px}.news-panel .panel-head{flex-wrap:wrap}.news-title-wrap{display:flex;align-items:center;gap:8px}.breaking-count{display:inline-flex;align-items:center;gap:5px;padding:2px 6px;background:#250b13;border:1px solid var(--red);border-radius:2px;color:var(--red);font-family:var(--font-mono);font-size:8px;font-weight:700;letter-spacing:.08em;white-space:nowrap}.breaking-count>span{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;border:1px solid currentColor}.macro-banner{background:var(--bg-tertiary);border:1px solid var(--border);border-left:2px solid var(--blue);border-radius:3px;padding:9px 12px}.macro-banner .mh{font-size:8px;letter-spacing:.12em;font-weight:700;color:var(--blue);margin-bottom:4px}.macro-banner .mb{font-size:12px;line-height:1.45;font-style:italic;color:var(--text-primary)}.news-spinner{display:flex;align-items:center;justify-content:center;gap:8px;padding:9px;color:var(--text-secondary);font-size:10px;font-family:var(--font-mono);border:1px dashed var(--border);border-radius:3px}.news-info{font-size:10px;color:var(--amber);background:#f5a62312;border:1px solid rgba(245,166,35,.22);border-radius:3px;padding:7px 9px;text-align:center}.spinner-icon{width:11px;height:11px;border:2px solid var(--text-secondary);border-top-color:transparent;border-radius:50%;animation:spin-loop .8s linear infinite;display:inline-block}@keyframes spin-loop{to{transform:rotate(360deg)}}.macro-event{background:var(--bg-tertiary);border:1px solid var(--border);border-left:3px solid var(--text-secondary);border-radius:3px;padding:11px 13px}.macro-event.breaking,.article.breaking{background:#180c11;border-color:var(--red);border-left:3px solid var(--red)}.me-top{display:flex;align-items:center;gap:8px;margin-bottom:7px;flex-wrap:wrap}.me-alert-mark{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--red);color:var(--red);font-family:var(--font-mono);font-size:10px;font-weight:700}.me-new-label{padding:2px 5px;border:1px solid var(--red);color:var(--text-primary);font-family:var(--font-mono);font-size:8px;font-weight:700;letter-spacing:.08em}.me-label{font-size:8px;font-weight:700;letter-spacing:.14em}.me-headline{font-family:var(--font-ui);font-size:14px;font-weight:700;line-height:1.35;color:var(--text-primary);margin-bottom:6px}.me-body{font-size:11.5px;line-height:1.55;color:var(--text-secondary)}.why-btn{width:16px;height:16px;border-radius:50%;border:1px solid var(--border);background:var(--bg-input);color:var(--text-secondary);font-size:10px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1;padding:0}.why-btn:hover{border-color:var(--blue);color:var(--blue)}.why-box{margin-top:9px;background:#4488ff0f;border:1px solid rgba(68,136,255,.25);border-radius:3px;padding:8px 10px}.why-box .wh{font-size:8px;font-weight:700;letter-spacing:.14em;color:var(--blue);margin-bottom:4px}.why-box p{margin:0;font-size:11px;line-height:1.5;color:var(--text-primary)}.market-move-lesson{margin-top:9px;padding:8px 10px;background:#12090d;border:1px solid #74263a;border-left:3px solid var(--red)}.market-move-lesson .wh{margin-bottom:4px;color:var(--red);font-family:var(--font-mono);font-size:8px;font-weight:700;letter-spacing:.12em}.market-move-lesson p{margin:0;color:var(--text-primary);font-size:11px;line-height:1.5}.sector-note{background:var(--bg-input);border:1px solid var(--border);border-radius:3px;padding:9px 12px}.sn-label{font-size:8px;font-weight:700;letter-spacing:.14em;color:var(--amber)}.src-badge.ghost{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border)}.article{background:var(--bg-input);border:1px solid var(--border);border-radius:3px;padding:10px 12px}.article.for-selected{border-color:#4488ff80}.article.system{border-left:2px solid var(--blue);background:var(--bg-tertiary)}.art-top{display:flex;align-items:center;gap:8px;margin-bottom:7px}.article.breaking .art-top{flex-wrap:wrap}.src-badge{font-family:var(--font-mono);font-size:8px;font-weight:700;letter-spacing:.06em;padding:2px 6px;border-radius:3px;color:var(--text-primary);white-space:nowrap}.art-tkr{font-family:var(--font-mono);font-size:10px;font-weight:700;color:var(--blue);cursor:pointer;letter-spacing:.04em}.art-tkr:hover{text-decoration:underline}.art-tkr.mkt{color:var(--text-secondary);cursor:default}.art-time{font-family:var(--font-mono);font-size:9px;color:var(--text-muted)}.sentiment{margin-left:auto;font-size:8px;font-weight:700;letter-spacing:.06em;padding:2px 7px;border-radius:3px;text-transform:uppercase}.sentiment.pos{color:var(--green);background:#00d0841a}.sentiment.neg{color:var(--red);background:#ff44661a}.sentiment.neutral{color:var(--text-secondary);background:var(--bg-tertiary)}.art-headline{font-family:var(--font-ui);font-size:13px;font-weight:600;line-height:1.35;color:var(--text-primary);margin-bottom:6px}.art-body{font-size:11.5px;line-height:1.5;color:var(--text-secondary)}.art-body.clamped{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.art-foot{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}.read-more{background:none;border:none;color:var(--blue);font-size:10px;font-weight:600;font-family:var(--font-ui);cursor:pointer;padding:0}.read-more:hover{text-decoration:underline}.related{display:flex;align-items:center;gap:5px;font-size:9px;color:var(--text-muted);font-family:var(--font-mono)}.rel-tkr{color:var(--text-secondary);cursor:pointer;font-weight:600}.rel-tkr:hover{color:var(--blue)}.pos-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:10.5px}.pos-table th{text-align:right;color:var(--text-muted);font-weight:500;font-family:var(--font-ui);font-size:9px;letter-spacing:.04em;text-transform:uppercase;padding:5px 7px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg-secondary)}.pos-table th:first-child,.pos-table td:first-child{text-align:left}.pos-table td{text-align:right;padding:6px 7px;border-bottom:1px solid var(--border);color:var(--text-primary)}.pos-table tr{cursor:pointer}.pos-table tbody tr:hover td{background:var(--bg-tertiary)}.pos-table tr.row-up td{background:#00d0840d}.pos-table tr.row-down td{background:#ff44660d}.pos-table tr.hl td{background:var(--bg-tertiary)}.pos-table td.tkr{font-weight:700}.pos-divider{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:8px 7px 4px}.empty{color:var(--text-secondary);font-size:11px;padding:12px 4px;text-align:center}.icon-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:5px;border-radius:3px;display:flex;align-items:center;justify-content:center;position:relative}.icon-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.gear-badge{position:absolute;top:2px;right:2px;width:6px;height:6px;background:var(--amber);border-radius:50%;pointer-events:none}.eye{color:var(--text-secondary);padding:8px;border:1px solid var(--border);border-radius:3px;background:var(--bg-input)}.eye:hover{color:var(--text-primary);background:var(--bg-tertiary)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#05060ad1;display:grid;place-items:center;z-index:30;padding:20px}.card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;padding:24px 28px;width:440px;max-width:100%}.card h2{margin:0 0 16px;letter-spacing:.06em;text-align:center;font-size:16px}.btn{border:1px solid var(--border);border-radius:3px;padding:10px 14px;font-size:13px;font-weight:600;font-family:var(--font-ui);color:var(--text-primary);background:var(--bg-input);cursor:pointer}.btn:hover:not(:disabled){border-color:var(--blue)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{width:100%;background:var(--blue);border-color:var(--blue);color:#fff}.btn.short{background:var(--amber);border-color:var(--amber);color:#1a1206}.summary-grid{margin-bottom:6px}.stat{display:flex;justify-content:space-between;align-items:baseline;padding:6px 0;font-size:13px}.stat.strong{font-size:15px;font-weight:700}.stat .muted{color:var(--text-secondary)}.divider{height:1px;background:var(--border);margin:12px 0}.summary-cash-line{font-size:12px;font-family:var(--font-mono);text-align:center;margin:6px 0 2px;color:var(--text-secondary)}.summary-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:12px;margin-bottom:16px}.summary-table th{text-align:right;color:var(--text-secondary);font-weight:500;padding:5px 6px;border-bottom:1px solid var(--border)}.summary-table th:first-child,.summary-table td:first-child{text-align:left}.summary-table td{text-align:right;padding:6px;border-bottom:1px solid var(--border)}.btn-row{display:flex;gap:8px}.clear-btn{background:transparent;border-color:var(--border);color:var(--text-secondary);padding:8px 14px;font-size:13px}.clear-btn:hover:not(:disabled){color:var(--text-primary)}.risk-text{font-size:13px;line-height:1.5;color:var(--text-primary);margin:0 0 18px}.settings-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.key-status{display:flex;align-items:center;gap:7px;font-size:12px;font-family:var(--font-mono)}.key-status .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.key-status.ok{color:var(--green)}.key-status.ok .dot{background:var(--green)}.key-status.none{color:var(--text-secondary)}.key-status.none .dot{background:var(--text-secondary)}.settings-card{width:400px}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.settings-header h2{margin:0;font-size:16px;letter-spacing:.06em}.settings-label{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:8px}.key-row{display:flex;gap:8px;margin-bottom:10px}.key-input{flex:1;background:var(--bg-input);border:1px solid var(--border);border-radius:3px;color:var(--text-primary);padding:10px 12px;font-size:13px;font-family:var(--font-ui)}.key-input:focus{outline:none;border-color:var(--blue)}.settings-hint{font-size:12px;margin:0 0 18px;line-height:1.4;color:var(--text-secondary)}.hint-link{text-decoration:underline;text-underline-offset:2px;cursor:pointer}.settings-divider{height:1px;background:var(--border);margin:18px 0 14px}.cash-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}.cash-preset-btn{background:var(--bg-input);border:1px solid var(--border);border-radius:3px;color:var(--text-secondary);font-family:var(--font-mono);font-size:12px;padding:7px 4px;cursor:pointer}.cash-preset-btn:hover{border-color:var(--blue);color:var(--text-primary)}.cash-preset-btn.active{border-color:var(--blue);color:var(--blue);background:#4488ff1a}.skill-level-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}.skill-level-btn{background:var(--bg-input);border:1px solid var(--border);border-radius:3px;color:var(--text-secondary);font-family:var(--font-mono);font-size:12px;padding:7px 4px;cursor:pointer}.skill-level-btn:hover:not(:disabled){border-color:var(--blue);color:var(--text-primary)}.skill-level-btn.active{border-color:var(--blue);color:var(--blue);background:#4488ff1a}.skill-level-btn:disabled{opacity:.5;cursor:not-allowed}.cash-custom-row{display:flex;align-items:center;gap:6px;margin-bottom:8px}.session-actions{display:flex;gap:8px}.streak-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;padding:22px 26px;width:420px;max-width:100%;max-height:85vh;overflow-y:auto}.streak-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.streak-head h2{margin:0;font-size:16px;color:var(--text-primary)}.streak-count{display:flex;align-items:baseline;gap:8px;justify-content:center;padding:14px 0;border:1px solid var(--border);background:var(--bg-tertiary);margin-bottom:14px}.streak-flame{font-size:22px}.streak-num{font-family:var(--font-mono);font-size:28px;font-weight:700;color:var(--amber)}.streak-label{font-size:11px;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase}.streak-challenge{border:1px solid var(--border);padding:12px;margin-bottom:10px}.streak-challenge.done{border-color:var(--green)}.streak-challenge-head{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}.streak-check{color:var(--green)}.streak-challenge strong{display:block;color:var(--text-primary);font-size:14px;margin-bottom:4px}.streak-challenge p{margin:0;font-size:12px;color:var(--text-secondary);line-height:1.4}.streak-lifetime{font-size:11px;color:var(--text-muted);text-align:center;margin-bottom:16px}.streak-leaderboard{border-top:1px solid var(--border);padding-top:12px}.streak-lb-head{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.streak-lb-rows{display:flex;flex-direction:column;gap:2px}.streak-lb-row{display:grid;grid-template-columns:24px 1fr 44px 34px;align-items:center;gap:6px;padding:5px 6px;font-size:12px;font-family:var(--font-mono);color:var(--text-secondary)}.streak-lb-row.me{background:#4488ff14;border:1px solid var(--blue);color:var(--text-primary)}.streak-lb-rank{color:var(--text-muted)}.streak-lb-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.streak-lb-streak{color:var(--amber);text-align:right}.streak-lb-completed{text-align:right;font-weight:600}.streak-lb-locked{font-size:12px;color:var(--text-muted);text-align:center;border-top:1px solid var(--border);padding-top:12px}.streak-nav-btn{display:flex;align-items:center;gap:4px;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-mono);font-size:12px;padding:5px 9px;border-radius:3px;cursor:pointer}.streak-nav-btn:hover{border-color:var(--amber);color:var(--amber)}.streak-nav-btn .streak-nav-num{color:var(--amber);font-weight:700}.streak-toast{position:fixed;bottom:20px;right:20px;background:var(--bg-secondary);border:1px solid var(--amber);color:var(--text-primary);font-family:var(--font-mono);font-size:13px;padding:10px 16px;border-radius:3px;z-index:70}@media(max-width:640px){.streak-toast{left:12px;right:12px;bottom:68px;text-align:center}}.nudge-strip{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 14px;background:#ffb02014;border-bottom:1px solid var(--amber);font-size:12px;font-family:var(--font-mono);flex-shrink:0}.nudge-strip-text{display:flex;align-items:baseline;gap:8px;min-width:0;color:var(--text-primary)}.nudge-strip-text strong{color:var(--amber);flex-shrink:0}.nudge-strip-text span{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nudge-strip-btns{display:flex;align-items:center;gap:10px;flex-shrink:0}.nudge-question{color:var(--text-muted);font-style:italic;max-width:260px}.nudge-ask-btn{background:#ffb0201a;border:1px solid var(--amber);color:var(--amber);font-family:var(--font-ui);font-weight:600;font-size:11px;padding:5px 10px;border-radius:3px;cursor:pointer;white-space:nowrap}.nudge-ask-btn:hover{background:var(--amber);color:#1a1200}.nudge-dismiss-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:13px;line-height:1;padding:2px 4px}.nudge-dismiss-btn:hover{color:var(--text-primary)}@media(max-width:640px){.nudge-strip-text span,.nudge-question{display:none}}.resume-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;background:#4488ff14;border-bottom:1px solid var(--border);font-size:12px;font-family:var(--font-mono);flex-shrink:0}.resume-banner-btns{display:flex;gap:8px;flex-shrink:0}.coaching-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#04060ad9;display:grid;place-items:center;z-index:40;padding:20px}.coaching-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;padding:22px 26px;width:480px;max-width:100%;display:flex;flex-direction:column;max-height:85vh}.coaching-content-scroll{overflow-y:auto;flex:1;margin-bottom:16px;padding-right:4px}.coaching-content{white-space:pre-wrap;font-size:13.5px;line-height:1.6;color:var(--text-primary)}.coaching-error-state{text-align:center;padding:20px 0}.coaching-error-state p{font-size:14px;color:var(--red);margin-bottom:16px}.skeleton-container{display:flex;flex-direction:column;gap:12px;padding:8px 0}.skeleton-line{background:linear-gradient(90deg,var(--bg-tertiary) 25%,#232333 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.6s infinite linear;border-radius:3px}.skeleton-line.h1{height:16px;width:70%;margin-bottom:8px}.skeleton-line.p1{height:11px;width:100%}.skeleton-line.p2{height:11px;width:95%}.skeleton-line.p3{height:11px;width:85%;margin-bottom:12px}.advisor-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;padding:20px 24px;width:560px;max-width:100%;max-height:80vh;display:flex;flex-direction:column;gap:12px}.advisor-chat{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px;min-height:200px;max-height:420px;padding-right:4px}.advisor-message{display:flex;flex-direction:column;gap:3px}.advisor-message.user .advisor-msg-body{background:#4488ff1f;border:1px solid rgba(68,136,255,.3);border-radius:3px;padding:10px 12px;font-size:13px;line-height:1.5;align-self:flex-end;max-width:85%}.advisor-message.assistant .advisor-msg-body{background:var(--bg-input);border:1px solid var(--border);border-radius:3px;padding:10px 12px;font-size:13px;line-height:1.6;white-space:pre-wrap}.advisor-msg-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.advisor-message.user .advisor-msg-label{text-align:right}.advisor-thinking{display:flex;align-items:center;gap:8px;font-size:12px;font-family:var(--font-mono);color:var(--text-secondary);padding:4px 0}.advisor-input-row{display:flex;gap:8px;align-items:center}.advisor-input-row .key-input{flex:1;padding:10px 12px;font-size:13px}.advisor-quota{margin-top:8px;font-size:11px;font-family:var(--font-mono);text-align:center}.ai-quota-bar-wrap{height:3px;background:var(--border);border-radius:2px;overflow:hidden;margin-bottom:6px}.ai-quota-bar-fill{height:100%;background:var(--blue);border-radius:2px;transition:width .3s}.coaching-btn{border:1px solid var(--blue);background:#4488ff14;color:var(--blue)}.coaching-btn:hover{background:var(--blue);color:#fff}@media(max-width:1100px){body{overflow:auto}.app{height:auto;min-height:100vh}.topnav{height:auto;min-height:48px;flex-wrap:wrap;row-gap:6px;padding:8px 14px}.nav-right{flex-wrap:wrap;row-gap:6px}.terminal{grid-template-rows:none;grid-auto-rows:min-content}.terminal-top,.terminal-bottom{grid-template-columns:1fr}.panel,.chart-panel{min-height:320px}}.upgrade-btn{border:1px solid var(--green);background:#003d20;color:var(--green);border-radius:3px;padding:6px 12px;font-size:12px;font-weight:600;font-family:var(--font-ui);cursor:pointer;white-space:nowrap}.upgrade-btn:hover{filter:brightness(1.2)}.signin-btn{border:1px solid var(--border);background:transparent;color:var(--text-secondary);border-radius:3px;padding:6px 10px;font-size:12px;font-family:var(--font-ui);cursor:pointer;white-space:nowrap}.signin-btn:hover{border-color:var(--blue);color:var(--text-primary)}.plan-pill{border:1px solid var(--amber);background:transparent;color:var(--amber);border-radius:3px;padding:5px 10px;font-size:11px;font-weight:700;letter-spacing:.08em;font-family:var(--font-mono);cursor:pointer}.plan-loading{color:var(--text-muted);font-family:var(--font-mono);font-size:10px;white-space:nowrap}.account-nav-btn{display:flex;align-items:center;gap:7px;min-width:0;max-width:210px;padding:4px 8px 4px 5px;border:1px solid var(--border);border-radius:3px;background:transparent;color:var(--text-secondary);cursor:pointer;font-family:var(--font-ui)}.account-nav-btn:hover{border-color:var(--blue);color:var(--text-primary)}.account-nav-avatar{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border:1px solid var(--blue);border-radius:50%;color:var(--blue);font-family:var(--font-mono);font-size:11px;font-weight:700}.account-nav-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.link-btn{background:none;border:none;color:var(--blue);cursor:pointer;font-family:var(--font-ui);font-size:13px;padding:0}.link-btn:hover{text-decoration:underline}.link-btn.inline{font-size:inherit}.skip-auth{display:block;margin:14px auto 0;color:var(--text-muted)}.auth-card{width:380px}.auth-error{color:var(--red);font-size:12px;margin:10px 0 0}.billing-error{line-height:1.5;margin:10px 0 0}.auth-notice{color:var(--green);font-size:12px;margin:10px 0 0}.auth-submit{width:100%;margin-top:16px}.auth-switch{text-align:center;margin-top:12px}.auth-switch{display:flex;flex-direction:column;align-items:center;gap:4px}.pw-hints{margin-top:8px}.pw-strength-bar-wrap{height:3px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden;margin-bottom:4px}.pw-strength-bar{height:100%;border-radius:2px;transition:width .2s,background .2s}.pw-strength-label{font-size:11px;font-family:var(--font-mono);display:block;margin-bottom:6px}.pw-checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.pw-checklist li{font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:6px;transition:color .15s}.pw-checklist li.ok{color:var(--green)}.pw-check-icon{font-size:10px;width:12px;text-align:center}.google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:9px 16px;margin-top:4px}.google-btn:hover{background:var(--bg-tertiary)}.auth-divider{display:flex;align-items:center;gap:10px;margin:16px 0 4px;color:var(--text-muted);font-size:12px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.upgrade-card{width:480px}.plan-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.plan-compare.plan-compare-3col{grid-template-columns:1fr 1fr 1fr}.upgrade-card:has(.plan-compare-3col){width:680px}.plan-col{border:1px solid var(--border);border-radius:4px;padding:14px;background:var(--bg-primary);display:flex;flex-direction:column}.plan-col.pro{border-color:var(--green)}.plan-col.classroom{border-color:var(--blue)}.plan-col-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.plan-name{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.plan-price{font-family:var(--font-mono);font-size:22px;font-weight:700}.plan-col.classroom .plan-price{font-size:15px}.plan-per{font-size:12px;color:var(--text-muted);font-weight:400}.plan-feature-list{list-style:none;margin:0;padding:0;flex:1}.plan-feature-list li{display:flex;gap:8px;font-size:12.5px;color:var(--text-secondary);line-height:1.5;margin-bottom:6px}.plan-check{color:var(--text-muted)}.plan-check.pro{color:var(--green)}.plan-check.classroom{color:var(--blue)}.plan-classroom-cta{margin-top:10px;width:100%}.upgrade-actions{display:flex;gap:10px;margin-top:18px}.upgrade-actions .btn{flex:1}.billing-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.billing-option{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:12px;border:1px solid var(--border);border-radius:3px;background:var(--bg-primary);color:var(--text-primary);text-align:left;cursor:pointer}.billing-option:hover{border-color:var(--text-muted)}.billing-option.active{border-color:var(--green);background:#00200f}.billing-option:disabled{opacity:.45;cursor:not-allowed}.billing-option>span{color:var(--text-secondary);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.billing-option>strong{font-family:var(--font-mono);font-size:15px}.billing-option>small{color:var(--text-muted);font-size:11px}.pro-status-card{display:flex;gap:14px;padding:18px;border:1px solid var(--green);background:#00200f}.pro-status-mark{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border:1px solid var(--green);border-radius:50%;color:var(--green);font-family:var(--font-mono)}.pro-status-card strong{color:var(--green);font-size:14px}.pro-status-card p{margin:5px 0 0;color:var(--text-secondary);font-size:12px;line-height:1.5}.account-card{width:520px;padding:0;overflow:hidden}.account-header{padding:20px 22px 16px;margin:0;border-bottom:1px solid var(--border)}.account-eyebrow{display:block;margin-bottom:4px;color:var(--blue);font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase}.account-identity{display:flex;align-items:center;gap:12px;padding:18px 22px;background:var(--bg-primary);border-bottom:1px solid var(--border)}.account-avatar{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border:1px solid var(--blue);border-radius:50%;color:var(--blue);font-family:var(--font-mono);font-size:16px;font-weight:700}.account-identity-copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:4px}.account-identity-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.account-identity-copy span{color:var(--text-muted);font-size:11px}.account-plan-badge{padding:3px 8px;border:1px solid var(--border);border-radius:3px;color:var(--text-secondary);font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.account-plan-badge.pro{border-color:var(--amber);color:var(--amber)}.account-section{padding:18px 22px;border-bottom:1px solid var(--border)}.account-section-heading h3{margin:0;font-size:13px}.account-section-heading p{margin:5px 0 0;color:var(--text-secondary);font-size:12px;line-height:1.5}.account-form{margin-top:16px;display:flex;flex-direction:column;gap:14px}.account-field{display:flex;flex-direction:column;gap:6px}.account-field>label,.account-field-label>label{color:var(--text-secondary);font-size:11px;font-weight:500;letter-spacing:.02em}.account-field-label{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.account-field-aside{font-size:11px;white-space:nowrap}.account-field-row{display:flex;gap:8px}.account-field-row .key-input{flex:1;min-width:0}.account-field-row .btn{width:auto;white-space:nowrap}.account-field .key-input{width:100%}.account-field-help{margin:0;color:var(--text-muted);font-size:11px;line-height:1.45}.account-form-msg{margin:0;font-size:12px}.account-form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:2px}.account-form-actions .btn{width:auto;white-space:nowrap}.account-form-actions .link-btn{font-size:11px}.account-form .pw-hints{margin-top:2px}.account-gate{margin-top:14px;padding:14px 16px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary)}.account-gate h4{margin:0 0 6px;font-size:13px}.account-gate p{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.5}.account-gate .btn,.account-gate .link-btn{display:inline-block;margin-top:12px;width:auto;text-decoration:none}.account-detail-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px}.account-detail-row>div{display:flex;flex-direction:column;gap:3px}.account-detail-row .btn,.account-secondary-action{width:auto;white-space:nowrap}.account-detail-label{color:var(--text-muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.account-detail-row strong{font-family:var(--font-mono);font-size:14px}.account-detail-row small{color:var(--text-muted);font-size:11px}.account-secondary-action{margin-top:14px}.account-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;color:var(--text-muted);font-size:11px}.account-signout{width:auto;color:var(--red)}.funnel-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border:1px solid var(--green);background:#00200f;border-radius:4px;padding:12px 14px;margin:14px 0 4px;font-size:12.5px;color:var(--text-secondary)}.funnel-cta .btn{width:auto;white-space:nowrap}.summary-reflect{margin-top:14px}.summary-reflect-q{font-size:13px;color:var(--text-primary);margin:0 0 10px}.summary-reflect-opts{display:flex;gap:8px;flex-wrap:wrap}.summary-reflect-opts .lesson-opt{flex:1;min-width:90px}.summary-adv-stats{margin-top:12px;border:1px solid var(--border);padding:10px 12px}.summary-adv-head{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.mobile-tabbar,.mobile-ctx-strip,.desktop-prompt-banner{display:none}@media(max-width:640px){body{overflow:auto}.app{height:auto;min-height:100vh}.ticker-tape{display:none}.topnav{height:auto;padding:6px 8px;gap:8px;align-items:flex-start}.nav-left{padding-top:3px}.nav-right{flex:1;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;row-gap:0;min-width:0}.nav-row2{display:flex;order:10;flex-basis:100%;justify-content:flex-end;align-items:center;gap:6px;padding:5px 0 2px;flex-wrap:wrap;row-gap:4px;border-top:1px solid var(--border)}.nav-row2 .nav-sep{display:none}.mode-toggle button{min-height:34px}.terminal{grid-template-rows:none;grid-auto-rows:1fr;padding:6px 6px 100px}.terminal-top,.terminal-bottom{display:contents}.terminal[data-mtab] .panel{display:none}.terminal[data-mtab=watch] .m-watch,.terminal[data-mtab=port] .m-port,.terminal[data-mtab=news] .m-news{display:flex;min-height:calc(100vh - 196px)}.terminal[data-mtab=trade]{grid-auto-rows:min-content}.terminal[data-mtab=trade] .m-trade{display:flex}.terminal[data-mtab=trade] .chart-panel{flex:none;min-height:46vh}.terminal[data-mtab=trade] .chart-area{min-height:230px}.terminal[data-mtab=trade] .order-panel{min-height:auto}.next-day-btn{min-height:52px;align-items:flex-start;flex-direction:column;gap:2px;padding:9px 12px}.next-day-meta{text-align:left}.first-run-coach-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.first-run-coach-close{width:44px;height:44px}.ind-bar{gap:4px 12px}.ind-label{display:none}.ind-group{flex:0 0 auto}.ind-chip{min-height:32px;padding:7px 11px;font-size:11px}.wl-row{height:48px}.place-btn,.buysell-toggle button,.order-tab,.btn,.news-filter button{min-height:44px}body.tutorial-top-banner .campaign-home,body.tutorial-top-banner .campaign-briefing{padding-top:200px}.overlay{padding:0;align-items:stretch}.card,.auth-card,.upgrade-card,.settings-card,.account-card,.coaching-card,.advisor-card{width:100%;max-width:100%;max-height:100vh;overflow-y:auto;border-radius:0;-webkit-overflow-scrolling:touch}.plan-compare,.plan-compare.plan-compare-3col,.billing-options{grid-template-columns:1fr}.account-nav-email{display:none}.account-nav-btn{padding-right:5px}.account-detail-row{align-items:flex-start;flex-direction:column}.account-detail-row .btn{width:100%}.mobile-tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:25;transform:translateZ(0);background:var(--bg-secondary);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0)}.mobile-tabbar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;background:none;border:none;color:var(--text-muted);font-family:var(--font-ui);font-size:10px;letter-spacing:.04em;cursor:pointer}.mobile-tabbar button.active{color:var(--blue)}.mobile-tabbar .mt-icon{font-size:16px;line-height:1}.mobile-ctx-strip{display:flex;align-items:center;gap:12px;height:36px;padding:0 12px;background:var(--bg-secondary);border-top:1px solid var(--border);position:fixed;left:0;right:0;bottom:calc(56px + env(safe-area-inset-bottom,0px));z-index:24}.ctx-tkr{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--text-primary)}.ctx-price{font-family:var(--font-mono);font-size:12px;color:var(--text-primary);border-radius:3px;padding:0 3px}.ctx-price.flash-up{animation:flash-green .6s ease-out}.ctx-price.flash-down{animation:flash-red .6s ease-out}.ctx-chg{font-family:var(--font-mono);font-size:11px}.desktop-prompt-banner{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 12px;background:var(--bg-tertiary);border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:11px;color:var(--text-secondary)}.desktop-prompt-banner button{flex-shrink:0;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-family:var(--font-mono);font-size:13px;padding:0 4px;line-height:1}}.campaign-home,.campaign-briefing,.campaign-result{flex:1;min-height:0;overflow-y:auto;padding:24px 16px 48px;display:flex;flex-direction:column;align-items:center}.campaign-intro{width:100%;max-width:720px;margin-bottom:18px}.campaign-intro h2{margin:0 0 6px;font-size:22px;font-family:var(--font-ui);letter-spacing:.01em}.campaign-intro p{margin:0;color:var(--text-secondary);font-size:13px;line-height:1.5;max-width:560px}.campaign-list{width:100%;max-width:720px;display:flex;flex-direction:column;gap:8px}.campaign-card{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:var(--bg-secondary);border:1px solid var(--border);border-left:2px solid var(--border);border-radius:0;padding:14px 16px;cursor:pointer;color:var(--text-primary);font-family:var(--font-ui);transition:border-left-color .12s,background .12s}.campaign-card:hover:not(:disabled){border-left-color:var(--blue);background:var(--bg-tertiary)}.campaign-card.locked{opacity:.55;cursor:not-allowed}.cc-num{font-family:var(--font-mono);font-size:18px;color:var(--text-muted);min-width:28px}.cc-main{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.cc-title{font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cc-year{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);font-weight:400}.cc-pro{font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;color:var(--amber);border:1px solid var(--amber);border-radius:2px;padding:1px 4px}.cc-blurb{font-size:12px;color:var(--text-secondary);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-meta{display:flex;flex-direction:column;align-items:flex-end;gap:3px;font-family:var(--font-mono);font-size:11px;white-space:nowrap}.cc-grade{font-size:18px;font-weight:700;line-height:1}.cc-score{color:var(--text-secondary)}.cc-done{color:var(--green);font-size:9px;letter-spacing:.06em}.cc-play{color:var(--blue);font-size:16px}.cc-lock{color:var(--text-muted);font-size:11px}.grade-s{color:var(--amber)}.grade-a{color:var(--green)}.grade-b{color:var(--blue)}.grade-c{color:var(--text-secondary)}.grade-d{color:var(--red)}.campaign-briefing{align-items:center}.cb-back{align-self:flex-start;background:none;border:none;color:var(--text-secondary);font-family:var(--font-mono);font-size:12px;cursor:pointer;margin-bottom:14px;max-width:600px;width:100%}.cb-back:hover{color:var(--text-primary)}.cb-card{width:100%;max-width:600px;background:var(--bg-secondary);border:1px solid var(--border);padding:28px}.cb-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--text-muted);margin-bottom:10px}.cb-title{margin:0 0 10px;font-size:28px;font-family:var(--font-ui)}.cb-year{font-family:var(--font-mono);font-size:15px;color:var(--text-secondary)}.cb-blurb{font-style:italic;color:var(--text-secondary);font-size:14px;margin:0 0 22px;line-height:1.5}.cb-section{margin-bottom:20px}.cb-head{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:8px}.cb-list{margin:0;padding-left:18px;color:var(--text-primary);font-size:13px;line-height:1.6}.cb-list li{margin-bottom:5px}.cb-practice{margin:0;color:var(--text-primary);font-size:13px;line-height:1.6}.cb-begin{margin-top:8px}.cr-card{width:100%;max-width:600px;background:var(--bg-secondary);border:1px solid var(--border);padding:28px}.cr-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--text-muted);margin-bottom:16px}.cr-scoreline{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--border)}.cr-grade{display:flex;flex-direction:column}.cr-letter{font-size:56px;font-weight:800;line-height:1;font-family:var(--font-ui)}.cr-grade-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--text-secondary);margin-top:4px}.cr-score{text-align:right;font-family:var(--font-mono)}.cr-total{font-size:40px;font-weight:700}.cr-outof{font-size:15px;color:var(--text-secondary);margin-left:4px}.cr-breakdown{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.cr-row{display:flex;flex-direction:column;gap:5px}.cr-row-top{display:flex;justify-content:space-between;align-items:baseline;font-size:13px}.cr-label{color:var(--text-primary)}.cr-row.missed .cr-label{color:var(--text-secondary)}.cr-pts{font-family:var(--font-mono);font-size:13px;color:var(--text-primary)}.cr-max{color:var(--text-muted)}.cr-bar{height:4px;background:var(--bg-input);border:1px solid var(--border);overflow:hidden}.cr-bar span{display:block;height:100%;background:var(--green)}.cr-row.missed .cr-bar span{background:var(--text-muted)}.cr-detail{font-size:11.5px;color:var(--text-secondary);line-height:1.4}.cr-coaching{margin-bottom:12px}.cr-coach-locked{width:100%;color:var(--amber);border-color:var(--amber)}.cr-actions{display:flex;gap:10px}.cr-actions .btn{flex:1}.cr-locknote{margin-top:10px;text-align:center;font-size:11px;color:var(--text-muted);font-family:var(--font-mono)}.gen-nav-btn{display:inline-flex;align-items:center;gap:5px;background:transparent;border:1px solid var(--blue);color:var(--blue);border-radius:4px;padding:5px 9px;font-size:11px;font-weight:600;font-family:var(--font-ui);cursor:pointer;white-space:nowrap}.gen-nav-btn:hover{background:#4488ff14}.gen-star{color:var(--blue);font-size:12px;line-height:1}.gen-nav-title{display:inline-flex;align-items:center;gap:6px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:11px;color:var(--text-primary);border:1px solid var(--border);border-radius:4px;padding:5px 9px}.gen-card{width:min(760px,calc(100vw - 28px));max-height:min(86vh,760px);overflow-y:auto}.gen-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.gen-title-row{margin:0;display:flex;align-items:center;gap:8px;font-size:14px;letter-spacing:.08em;text-align:left}.gen-pro{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--amber);border:1px solid var(--amber);border-radius:3px;padding:1px 6px}.gen-body{position:relative}.gen-desc{margin:0 0 12px;color:var(--text-secondary);font-size:13px}.gen-textarea{width:100%;background:var(--bg-input);border:1px solid var(--border);border-radius:2px;color:var(--text-primary);font-family:var(--font-ui);font-size:13px;line-height:1.5;padding:10px 12px;resize:vertical}.gen-textarea:focus{outline:none;border-color:var(--blue)}.gen-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px}.gen-chip{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);border-radius:3px;padding:5px 9px;font-size:11px;font-family:var(--font-ui);cursor:pointer;text-align:left}.gen-chip:hover:not(:disabled){border-color:var(--blue);color:var(--text-primary)}.gen-error{margin-top:10px;color:var(--red);font-size:12px}.gen-note{margin-top:10px;color:var(--text-muted);font-size:11px;font-family:var(--font-mono)}.gen-gen-row{display:flex;justify-content:flex-end;margin-top:14px}.gen-generate{width:auto;display:inline-flex;align-items:center;gap:8px}.gen-locked{cursor:pointer}.gen-locked .gen-textarea,.gen-locked .gen-chips{filter:grayscale(1);opacity:.4;pointer-events:none}.gen-locked .gen-desc{opacity:.4}.gen-lock-overlay{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;border:1px dashed var(--amber);border-radius:3px;color:var(--amber);font-size:12px}.gen-lock-icon{font-size:15px}.gen-preview{display:flex;flex-direction:column;gap:4px}.gen-prev-title{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:2px}.gen-prev-brief{margin:0 0 10px;color:var(--text-secondary);font-size:13px;line-height:1.5}.gen-prev-row{display:flex;gap:10px;padding:7px 0;border-top:1px solid var(--border);font-size:12.5px}.gen-prev-row .lbl{flex:0 0 86px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px;padding-top:2px}.gen-prev-row .v{flex:1;color:var(--text-primary)}.gen-tickers{display:flex;flex-wrap:wrap;gap:5px}.gen-tk{font-family:var(--font-mono);font-size:11px;border:1px solid var(--border);border-radius:2px;padding:1px 5px;color:var(--text-secondary)}.gen-phases{font-family:var(--font-mono);font-size:11.5px;color:var(--blue)}.gen-practice{margin-top:10px;padding:9px 11px;background:var(--bg-tertiary);border-left:2px solid var(--blue);font-size:12px;color:var(--text-secondary);line-height:1.5}.gen-practice .lbl{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px;margin-right:4px}.gen-prev-btns{display:flex;gap:8px;margin-top:16px}.gen-prev-btns .btn{flex:1;width:auto}.gen-save-lib-btn{width:100%;margin-top:8px}.gen-tabs{display:flex;gap:4px;margin-bottom:14px;border-bottom:1px solid var(--border)}.gen-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-family:var(--font-ui);font-size:12.5px;padding:8px 4px;cursor:pointer}.gen-tab.active{color:var(--text-primary);border-bottom-color:var(--blue)}.gen-library-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.gen-library-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--border)}.gen-library-info{display:flex;flex-direction:column;gap:2px;min-width:0}.gen-library-title{color:var(--text-primary);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gen-library-date{color:var(--text-muted);font-size:11px;font-family:var(--font-mono)}.gen-library-actions{display:flex;gap:6px;flex:0 0 auto}.gen-library-actions .btn{width:auto;padding:6px 10px}.gen-editor{display:flex;flex-direction:column;gap:10px}.gen-editor-head{display:flex;justify-content:space-between;align-items:center;color:var(--text-primary);font-size:13px;font-weight:700}.gen-editor-head .btn{width:auto;padding:5px 8px}.gen-field{display:flex;flex-direction:column;gap:5px;color:var(--text-muted);font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase}.gen-field input,.gen-field textarea,.gen-regime-edit input,.gen-company-edit input,.gen-news-edit input,.gen-news-edit textarea{width:100%;box-sizing:border-box;background:var(--bg-input);border:1px solid var(--border);border-radius:2px;color:var(--text-primary);font:12px var(--font-ui);letter-spacing:normal;text-transform:none;padding:7px 8px}.gen-field textarea,.gen-news-edit textarea{resize:vertical;line-height:1.4}.gen-field input:focus,.gen-field textarea:focus,.gen-regime-edit input:focus,.gen-company-edit input:focus,.gen-news-edit input:focus,.gen-news-edit textarea:focus{outline:none;border-color:var(--blue)}.gen-edit-grid{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px}.gen-edit-section{border-top:1px solid var(--border);padding-top:10px;color:var(--text-muted);font:10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.gen-regime-edit,.gen-company-edit,.gen-news-edit{display:grid;gap:7px;align-items:end;padding:8px;border:1px solid var(--border);background:var(--bg-tertiary)}.gen-regime-edit{grid-template-columns:minmax(0,1fr) 64px 78px 78px}.gen-company-edit{grid-template-columns:minmax(120px,1fr) 58px minmax(100px,.8fr) 62px}.gen-company-description{grid-column:1 / -1}.gen-news-edit{grid-template-columns:58px minmax(0,1fr)}.gen-news-edit textarea{grid-column:1 / -1}.gen-regime-edit label,.gen-company-edit label,.gen-news-edit label{display:flex;flex-direction:column;gap:4px;color:var(--text-muted);font:9px var(--font-mono);letter-spacing:.05em;text-transform:uppercase}@media(max-width:640px){.gen-edit-grid,.gen-regime-edit,.gen-company-edit{grid-template-columns:1fr 1fr}.gen-regime-edit>:first-child,.gen-company-edit>:first-child{grid-column:1 / -1}}.gen-fav-btn{background:transparent;border:1px solid var(--amber);color:var(--amber)}.gen-fav-btn:hover:not(:disabled){background:#f5a62314;border-color:var(--amber)}.classroom-nav-btn{border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-family:var(--font-ui);font-size:12px;padding:4px 10px;border-radius:3px;cursor:pointer;white-space:nowrap;letter-spacing:.04em}.classroom-nav-btn:hover{border-color:var(--blue);color:var(--text-primary)}.classroom-nav-btn.active{border-color:var(--blue);color:var(--blue);background:#388bfd14}.classroom-card{width:460px;max-height:80vh;overflow-y:auto}.classroom-tabs{display:flex;border-bottom:1px solid var(--border);margin:-4px -28px 20px;padding:0 28px}.classroom-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-family:var(--font-ui);font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:8px 14px 8px 0;cursor:pointer;margin-bottom:-1px}.classroom-tab:hover{color:var(--text-secondary)}.classroom-tab.active{border-bottom-color:var(--blue);color:var(--text-primary)}.classroom-body{padding-top:4px}.classroom-lobby-code{font-family:var(--font-mono);font-size:28px;letter-spacing:.18em;color:var(--blue);padding:12px 0}.classroom-create-block{margin-bottom:4px}.classroom-sessions-list{margin-top:4px}.classroom-session-row{display:flex;align-items:center;gap:4px;width:100%;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:3px;padding:7px 8px 7px 12px;margin-bottom:4px;font-family:var(--font-ui);font-size:12px;color:var(--text-secondary)}.classroom-session-row:hover{border-color:var(--blue);color:var(--text-primary)}.classroom-session-row.active{border-color:var(--blue);background:#388bfd0f;color:var(--text-primary)}.classroom-session-row.editing{border-color:var(--amber)}.cls-session-main{flex:1;display:flex;align-items:center;justify-content:space-between;background:none;border:none;color:inherit;font:inherit;cursor:pointer;text-align:left;padding:0;min-width:0;gap:8px}.cls-session-actions{display:flex;align-items:center;gap:2px;flex-shrink:0;opacity:0;transition:opacity .1s}.classroom-session-row:hover .cls-session-actions{opacity:1}.cls-action-btn{background:none;border:none;color:var(--text-muted);font-size:12px;padding:2px 5px;cursor:pointer;border-radius:2px;line-height:1;transition:color .1s,background .1s}.cls-action-btn:hover{background:var(--bg-input);color:var(--text-primary)}.cls-action-btn.cls-action-delete:hover{color:var(--red)}.cls-action-btn.cls-action-confirm{color:var(--green)}.classroom-session-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classroom-session-code{font-family:var(--font-mono);font-size:11px;color:var(--blue);letter-spacing:.08em;flex-shrink:0}.classroom-session-meta{display:flex;align-items:center;gap:8px;flex-shrink:0}.classroom-session-date{font-size:10px}.classroom-leaderboard-block{margin-top:16px}.classroom-lb-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:8px}.classroom-copy-btn{display:inline-flex;align-items:center;gap:5px;background:transparent;border:1px solid var(--border);border-radius:3px;padding:2px 7px;cursor:pointer;color:var(--text-secondary);font-size:11px;transition:border-color .12s}.classroom-copy-btn:hover{border-color:var(--blue)}.classroom-stats-strip{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary);margin-bottom:10px;flex-wrap:wrap}.classroom-stats-sep{color:var(--border)}.classroom-lb-table{font-size:12px}.classroom-lb-student{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classroom-submitted-note{font-size:11px;color:var(--text-muted);text-align:center;margin-top:6px;padding:6px 10px;border:1px solid var(--border);border-radius:3px;background:var(--bg-tertiary);letter-spacing:.03em}@media(max-width:640px){.classroom-card{width:100%;max-height:100vh;border-radius:0}.classroom-nav-btn{display:none}}.classroom-card{width:500px}.cls-mkt-panel{margin-top:14px}.cls-mkt-mode-row{display:flex;gap:0;border:1px solid var(--border);border-radius:3px;overflow:hidden;margin-bottom:0}.cls-mkt-mode-btn{flex:1;background:none;border:none;border-right:1px solid var(--border);color:var(--text-muted);font-size:11.5px;padding:6px 0;cursor:pointer;font-family:var(--font-ui);transition:background .1s,color .1s}.cls-mkt-mode-btn:last-child{border-right:none}.cls-mkt-mode-btn:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.cls-mkt-mode-btn.active{background:#388bfd1a;color:var(--blue)}.cls-mkt-ai{margin-top:8px}.cls-mkt-manual{margin-top:8px;display:flex;flex-direction:column;gap:8px}.cls-mkt-section{display:flex;align-items:flex-start;gap:10px}.cls-mkt-label{font-size:11px;color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.04em;padding-top:5px;flex:0 0 60px}.cls-btn-group{display:flex;flex-wrap:wrap;gap:4px}.cls-btn-opt{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-muted);font-size:11px;padding:4px 9px;border-radius:3px;cursor:pointer;font-family:var(--font-ui);transition:border-color .1s,color .1s,background .1s}.cls-btn-opt:hover{border-color:var(--blue);color:var(--text-secondary)}.cls-btn-opt.active{border-color:var(--blue);color:var(--blue);background:#388bfd14}.cls-mkt-preview{border:1px solid var(--border);border-radius:2px;padding:10px 12px;background:var(--bg-tertiary)}.cls-prev-title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:4px;font-family:var(--font-mono);letter-spacing:.03em}.cls-prev-brief{margin:0 0 8px;font-size:11.5px;color:var(--text-secondary);line-height:1.5}.cls-prev-row{display:flex;align-items:baseline;gap:8px;font-size:11.5px;margin-bottom:3px}.cls-lbl{flex:0 0 64px;font-size:10px;color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase}.cls-tickers{display:flex;flex-wrap:wrap;gap:4px}.cls-mkt-badge{display:flex;align-items:center;gap:6px;border:1px solid rgba(56,139,253,.25);background:#388bfd0f;border-radius:2px;padding:5px 8px;margin-bottom:10px}@media(max-width:640px){.classroom-card{width:100%}}.tutorial-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9990;background:#0000009e;pointer-events:none}.tutorial-spotlight{position:fixed;z-index:9991;box-shadow:0 0 0 9999px #0000009e;border:2px solid var(--blue);border-radius:3px;pointer-events:none;transition:top .25s ease,left .25s ease,width .25s ease,height .25s ease}.tutorial-tooltip{position:fixed;z-index:9992;background:var(--bg-secondary);border:1px solid var(--blue);border-radius:4px;padding:16px 18px 12px;width:288px;max-width:calc(100vw - 16px);pointer-events:auto;box-shadow:0 8px 24px #00000080}.tutorial-section-label{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:8px}.tutorial-step-dots{display:flex;gap:4px}.tutorial-dot{width:5px;height:5px;border-radius:50%;background:var(--border);transition:background .2s}.tutorial-dot.active{background:var(--blue)}.tutorial-dot.done{background:var(--text-muted)}.tutorial-title{margin:0 0 8px;font-size:14px;font-weight:700;color:var(--text-primary);font-family:var(--font-ui)}.tutorial-body{font-size:12.5px;color:var(--text-secondary);line-height:1.55;margin-bottom:14px}.tutorial-body p{margin:0 0 4px}.tutorial-body p:last-child{margin-bottom:0}.tutorial-btn-next{display:block;width:100%;padding:8px 0;background:var(--blue);border:none;border-radius:3px;color:#fff;font-size:12px;font-family:var(--font-mono);font-weight:600;cursor:pointer;letter-spacing:.04em;margin-bottom:10px;transition:opacity .15s}.tutorial-btn-next:hover{opacity:.88}.tutorial-wait-hint{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--text-muted);font-family:var(--font-mono);margin-bottom:10px}.tutorial-skip-prompt{font-size:12px;color:var(--text-secondary);margin-bottom:10px}.tutorial-skip-prompt-btns{display:flex;gap:8px;margin-top:6px}.tutorial-btn-skip-confirm{color:var(--red)}@keyframes tutorialPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.tutorial-pulse-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--blue);flex-shrink:0;animation:tutorialPulse 1.2s ease-in-out infinite}.tutorial-footer{display:flex;gap:8px;border-top:1px solid var(--border);padding-top:10px;justify-content:flex-end}.tutorial-btn-skip{background:none;border:none;color:var(--text-muted);font-size:11px;font-family:var(--font-mono);cursor:pointer;padding:2px 4px;border-radius:2px;transition:color .15s}.tutorial-btn-skip:hover{color:var(--text-secondary)}.tutorial-help-btn{background:none;border:1px solid var(--border);color:var(--text-muted);font-family:var(--font-mono);font-size:11px;width:22px;height:22px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;transition:color .15s,border-color .15s}.tutorial-help-btn:hover{color:var(--text-primary);border-color:var(--text-secondary)}.learn-nav-btn{background:none;border:1px solid var(--border);color:var(--text-muted);font-family:var(--font-ui);font-size:11px;padding:3px 8px;border-radius:3px;cursor:pointer;letter-spacing:.04em;transition:color .15s,border-color .15s}.learn-nav-btn:hover{color:var(--text-primary);border-color:var(--text-secondary)}.badge-strip{display:flex;flex-wrap:wrap;gap:5px;margin:12px 0 0}.badge{display:inline-flex;align-items:center;padding:3px 8px;border:1px solid var(--border);color:var(--text-muted);font-size:11px;font-family:var(--font-mono);border-radius:3px;cursor:default;letter-spacing:.02em}.badge.earned{border-color:var(--amber);color:var(--amber)}.learn-modal-card{width:520px;max-width:95vw;max-height:80vh;overflow-y:auto}.learn-sections{display:flex;flex-direction:column;gap:18px}.learn-section-label{font-size:10px;letter-spacing:.1em;color:var(--text-muted);margin-bottom:6px}.learn-row{display:block;padding:8px 10px;border:1px solid var(--border);border-radius:2px;text-decoration:none;color:inherit;margin-bottom:4px;transition:border-color .12s,background .12s}.learn-row:hover{border-color:var(--blue);background:#4488ff0a}.learn-row-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:3px}.learn-title{font-size:13px;color:var(--text-primary)}.learn-source{font-size:10px;font-family:var(--font-mono);color:var(--blue);flex-shrink:0}.learn-desc{font-size:11.5px;color:var(--text-muted);line-height:1.4}.admin-card{width:680px;max-width:96vw;max-height:82vh;overflow-y:auto}.admin-note{font-size:11px;line-height:1.6;margin:10px 0 0}.admin-totals-strip{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--border);border-radius:2px;margin:12px 0 16px;overflow:hidden}.admin-total-cell{flex:1 1 96px;display:flex;flex-direction:column;align-items:center;padding:10px 8px;border-right:1px solid var(--border);gap:3px}.admin-total-cell:last-child{border-right:none}.admin-total-val{font-family:var(--font-mono);font-size:18px;color:var(--text-primary);line-height:1}.admin-total-lbl{font-size:10px;color:var(--text-muted);letter-spacing:.06em}.admin-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:14px}.admin-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:12px;font-family:var(--font-ui);padding:6px 14px;cursor:pointer;margin-bottom:-1px;transition:color .12s,border-color .12s}.admin-tab:hover{color:var(--text-primary)}.admin-tab.active{color:var(--text-primary);border-bottom-color:var(--blue)}.share-cta{background:#0d2438;border:1px solid var(--blue);color:var(--blue);font-weight:600;letter-spacing:.02em}.share-cta:hover:not(:disabled){background:#12314b}.share-cta:active:not(:disabled){transform:scale(.99)}.share-cta.copied,.share-nav-btn.copied{border-color:var(--green);color:var(--green);background:#06251a}.share-nav-btn{background:#0d2438;border:1px solid var(--blue);color:var(--blue);border-radius:3px;font-family:var(--font-ui);font-size:11px;padding:3px 9px;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}.share-nav-btn:hover:not(:disabled){background:#12314b}.share-url-row{margin-top:8px;padding:6px 8px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-secondary);font-family:var(--font-mono);font-size:10.5px;direction:ltr;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-table-wrap{overflow-x:auto}.admin-signal{border:1px solid var(--border);border-left-width:2px;padding:10px 12px;margin-bottom:10px}.admin-signal-act{border-left-color:var(--red)}.admin-signal-watch{border-left-color:var(--amber)}.admin-signal-good{border-left-color:var(--green)}.admin-signal-title{font-size:13px;color:var(--text-primary);display:flex;align-items:center;gap:8px}.admin-signal-tag{font-family:var(--font-mono);font-size:9px;letter-spacing:.09em;padding:1px 5px;border:1px solid var(--border);color:var(--text-secondary);flex-shrink:0}.admin-signal-act .admin-signal-tag{color:var(--red);border-color:var(--red)}.admin-signal-watch .admin-signal-tag{color:var(--amber);border-color:var(--amber)}.admin-signal-good .admin-signal-tag{color:var(--green);border-color:var(--green)}.admin-signal-detail{font-size:11.5px;line-height:1.6;color:var(--text-secondary);margin:6px 0 0}.admin-table{width:100%;font-size:12px}.admin-table th{font-size:10px;letter-spacing:.07em}.admin-variant-label{font-size:10px;letter-spacing:.1em;font-family:var(--font-mono);margin-bottom:6px;margin-top:4px}.advisor-quota{display:flex;align-items:center;gap:8px;padding:6px 12px;border-top:1px solid var(--border)}.aq-bar{flex:1;height:3px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden}.aq-fill{height:100%;background:var(--blue);transition:width .3s}.aq-label{font-size:11px;color:var(--text-muted);white-space:nowrap;font-family:var(--font-mono)}.aq-upgrade{font-size:11px;color:var(--blue);background:none;border:none;cursor:pointer;padding:0;text-decoration:underline;font-family:var(--font-ui)}.app-footer{display:flex;align-items:center;justify-content:center;gap:8px;height:22px;flex-shrink:0;border-top:1px solid var(--border);background:var(--bg-primary)}.app-footer-link{font-size:10px;color:var(--text-muted);text-decoration:none;background:none;border:none;cursor:pointer;padding:0;font-family:var(--font-ui)}.app-footer-link:hover{color:var(--text-secondary)}.app-footer-sep{color:var(--text-muted);font-size:10px}.modal-legal-footer{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.modal-legal-link{font-size:11px;color:var(--text-muted)}.modal-legal-link:hover{color:var(--text-secondary)}.modal-legal-sep{color:var(--text-muted);font-size:11px}.legal-card{width:560px;max-height:82vh;display:flex;flex-direction:column}.legal-tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:14px;flex-shrink:0}.legal-tab{background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;padding:6px 14px;font-size:12px;font-family:var(--font-ui);color:var(--text-secondary);cursor:pointer;letter-spacing:.04em}.legal-tab.active{color:var(--text-primary);border-bottom-color:var(--blue)}.legal-tab:hover:not(.active){color:var(--text-primary)}.legal-body{overflow-y:auto;flex:1;min-height:0}.legal-content{font-size:13px;line-height:1.65;color:var(--text-secondary)}.legal-content h3{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin:18px 0 6px;font-family:var(--font-mono)}.legal-content h3:first-of-type{margin-top:0}.legal-content p{margin:0 0 8px}.legal-content ul{padding-left:20px;margin:0 0 8px}.legal-content li{margin-bottom:4px}.legal-content strong{color:var(--text-primary)}.legal-updated{color:var(--text-muted);font-size:11px;font-family:var(--font-mono);margin-bottom:14px!important}a.legal-email{color:var(--blue);text-decoration:none}a.legal-email:hover{text-decoration:underline}.splash-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-primary);display:flex;z-index:50;padding:24px;overflow-y:auto;-webkit-overflow-scrolling:touch}.splash-card{width:480px;max-width:100%;margin:auto;display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--border);border-radius:4px;background:var(--bg-secondary);padding:40px 36px}.splash-logo{height:36px;width:auto;margin-bottom:10px}.splash-tagline{font-size:15px;color:var(--text-secondary);margin:0 0 24px;line-height:1.5}.splash-features{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:10px}.splash-features li{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--text-primary);line-height:1.5}.splash-check{color:var(--green);font-family:var(--font-mono);flex-shrink:0;margin-top:1px}.splash-cta{width:100%;font-size:14px;padding:12px;margin-bottom:6px}.splash-guided-hint{margin:0 0 12px;color:var(--text-secondary);font-size:11px;line-height:1.4;text-align:center}.splash-tour-cta{width:100%;min-height:44px;margin-bottom:12px;background:transparent;border-color:var(--border);color:var(--text-secondary)}.splash-tour-cta:hover{border-color:var(--blue);color:var(--text-primary)}.splash-signin{width:100%;text-align:center;font-size:13px;color:var(--text-secondary)}.splash-signin:hover{color:var(--text-primary)}@media(max-width:640px){.splash-overlay{padding:16px}.splash-card{padding:24px 18px}.splash-logo{height:28px;margin-bottom:8px}.splash-tagline{font-size:14px;margin-bottom:18px}.splash-features{margin-bottom:22px;gap:9px}.legal-card{width:100%;max-height:90vh}}.learn-home{max-width:720px;margin:0 auto;padding:40px 20px 80px}.learn-intro h2{margin:0 0 6px;font-size:24px;letter-spacing:.02em;color:var(--text-primary)}.learn-intro p{margin:0 0 28px;font-size:13px;line-height:1.6;color:var(--text-secondary);max-width:560px}.learn-group{margin-bottom:26px}.learn-group-head{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-family:var(--font-mono);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border)}.learn-list{display:flex;flex-direction:column;gap:8px}.learn-card{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;background:var(--bg-secondary);border:1px solid var(--border);padding:12px 14px;cursor:pointer;transition:border-color .12s,background .12s}.learn-card:hover{border-color:var(--blue);background:var(--bg-tertiary)}.lc-main{display:flex;flex-direction:column;gap:3px;min-width:0}.lc-title{font-size:14px;font-weight:600;color:var(--text-primary)}.lc-blurb{font-size:12px;color:var(--text-secondary)}.lc-meta{display:flex;align-items:center;gap:8px;flex-shrink:0;font-family:var(--font-mono);font-size:11px}.lc-grade{font-weight:700;font-size:15px}.lc-done{font-size:9px;letter-spacing:.08em;color:var(--text-muted)}.lc-start{color:var(--blue);font-size:12px}.learn-result{display:grid;place-items:center;min-height:70vh;padding:30px 20px}.lr-card{width:100%;max-width:460px;background:var(--bg-secondary);border:1px solid var(--border);padding:28px 26px;text-align:center}.lr-eyebrow{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-family:var(--font-mono);margin-bottom:16px}.lr-scoreline{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:18px}.lr-grade{font-family:var(--font-mono)}.lr-letter{font-size:56px;font-weight:700;line-height:1}.lr-score{display:flex;flex-direction:column;align-items:flex-start}.lr-score-num{font-family:var(--font-mono);font-size:28px;color:var(--text-primary)}.lr-score-den{font-size:12px;color:var(--text-muted)}.lr-correct{font-size:11px;color:var(--text-secondary);margin-top:4px}.lr-note{font-size:13px;line-height:1.55;color:var(--text-secondary);margin:0 0 22px}.lr-actions{display:flex;gap:10px;justify-content:center}.lr-home{display:block;margin:16px auto 0;font-size:12px;color:var(--text-muted)}.lr-home:hover{color:var(--text-primary)}.lesson-overlay{position:fixed;left:0;right:0;bottom:16px;display:flex;justify-content:center;z-index:80;pointer-events:none;padding:0 16px}.lesson-card{pointer-events:auto;width:100%;max-width:440px;background:var(--bg-secondary);border:1px solid var(--blue);padding:16px 18px}.lesson-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.lesson-eyebrow{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-family:var(--font-mono)}.lesson-kind{color:var(--blue);border:1px solid var(--border);padding:1px 5px}.lesson-exit{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:13px;padding:0 2px}.lesson-exit:hover{color:var(--text-primary)}.lesson-title{margin:0 0 8px;font-size:15px;color:var(--text-primary)}.lesson-body,.lesson-q{margin:0 0 12px;font-size:13px;line-height:1.55;color:var(--text-secondary)}.lesson-q{color:var(--text-primary);font-weight:600}.lesson-options{display:flex;flex-direction:column;gap:7px;margin-bottom:12px}.lesson-opt{text-align:left;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);padding:9px 11px;font-size:12.5px;line-height:1.45;cursor:pointer;border-radius:2px;transition:border-color .12s,color .12s}.lesson-opt:hover:not(:disabled){border-color:var(--blue);color:var(--text-primary)}.lesson-opt:disabled{cursor:default}.lesson-opt.correct{border-color:var(--green);color:var(--green)}.lesson-opt.wrong{border-color:var(--red);color:var(--red)}.lesson-opt.selected{border-color:var(--blue);color:var(--text-primary);background:var(--bg-input)}.lesson-prior-decision{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);border-left:2px solid var(--amber);padding:5px 0 5px 9px;margin-bottom:10px}.lesson-prior-decision strong{color:var(--amber)}.lesson-decision-context{margin:-3px 0 12px;font-size:11px;line-height:1.5;color:var(--text-muted)}.lesson-explain{font-size:12px;line-height:1.5;color:var(--text-secondary);border-left:2px solid var(--border);padding:2px 0 2px 10px;margin-bottom:12px}.lesson-explain.ok{border-left-color:var(--green)}.lesson-explain.no{border-left-color:var(--red)}.lesson-action-status{font-family:var(--font-mono);font-size:11px;margin-bottom:12px;padding:6px 8px;border:1px solid var(--border)}.lesson-action-status.waiting{color:var(--amber)}.lesson-action-status.done{color:var(--green);border-color:var(--green)}.lesson-continue{width:100%}.lesson-video{position:relative;width:100%;aspect-ratio:16 / 9;margin-bottom:12px;border:1px solid var(--border)}.lesson-video iframe{width:100%;height:100%;border:0}.lanim-wrap{display:flex;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border);padding:10px;margin-bottom:12px}.lanim{width:100%;max-width:280px;height:auto}.lanim-tag{font-size:7px;fill:var(--text-muted);font-family:var(--font-mono)}.lanim-stop-tag{fill:var(--red)}.lanim-wick{stroke:var(--text-secondary);stroke-width:2}.lanim-body-up{fill:var(--green);opacity:0;animation:lanim-fade 1.6s ease-in-out infinite}.lanim-body-down{fill:var(--red);opacity:0;animation:lanim-fade 1.6s ease-in-out .3s infinite}@keyframes lanim-fade{0%,to{opacity:.35}50%{opacity:1}}.lanim-path{stroke:var(--blue);stroke-width:2;stroke-dasharray:400;stroke-dashoffset:400;animation:lanim-draw 2.4s ease-in-out infinite}@keyframes lanim-draw{0%{stroke-dashoffset:400}60%,to{stroke-dashoffset:0}}.lanim-stop{stroke:var(--red);stroke-width:1.5;stroke-dasharray:4 3}.lanim-dot{fill:var(--red);opacity:0;animation:lanim-pop 2.4s ease-in-out infinite}@keyframes lanim-pop{0%,55%{opacity:0}70%,to{opacity:1}}.lanim-news-box{fill:var(--bg-secondary);stroke:var(--green);stroke-width:1}.lesson-spotlight{outline:2px solid var(--blue);outline-offset:-2px;animation:lesson-spot 1.4s ease-in-out infinite}@keyframes lesson-spot{0%,to{outline-color:var(--blue)}50%{outline-color:transparent}}.learn-intro-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.learn-create-btn{width:auto;flex-shrink:0;font-size:12px;padding:7px 12px}.learn-card-wrap{display:flex;align-items:stretch;gap:6px}.learn-card-wrap .learn-card{flex:1}.learn-card-actions{display:flex;flex-direction:column;gap:4px;justify-content:center}.lesson-creator{width:560px;max-width:94vw;max-height:88vh;display:flex;flex-direction:column;padding:0}.lesson-creator .settings-header{padding:16px 18px}.lc-body{overflow-y:auto;padding:0 18px 8px;flex:1}.lc-input{width:100%;box-sizing:border-box;margin-bottom:4px}.lc-row{display:flex;gap:10px;align-items:flex-end}.lc-section-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-family:var(--font-mono);margin:18px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--border)}.lc-import{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.lc-import .btn{width:auto}.lc-import-hint{font-size:11px;color:var(--text-muted)}.lc-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--text-secondary)}.lc-ok{font-size:12px;color:var(--green);margin-top:8px;line-height:1.45}.lc-hint{font-size:11px;color:var(--text-muted)}.lc-step{border:1px solid var(--border);background:var(--bg-secondary);padding:10px;margin-bottom:8px}.lc-step-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.lc-step-n{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.lc-day{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-secondary)}.lc-day input{width:52px}.lc-step-head .nav-picker{margin-left:auto}.lc-del{background:none;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-size:11px;padding:3px 6px;border-radius:3px}.lc-del:hover{color:var(--red);border-color:var(--red)}.lc-step-fields{display:flex;flex-direction:column;gap:6px}.lc-opt-row{display:flex;align-items:center;gap:8px}.lc-opt-row input[type=radio]{flex-shrink:0;accent-color:var(--green)}.lc-opt-row .lc-input{margin-bottom:0}.lc-inline{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.lc-add{width:100%;margin-top:4px}.lc-footer{display:flex;gap:10px;justify-content:flex-end;padding:14px 18px;border-top:1px solid var(--border);flex-shrink:0}.lc-footer .btn{width:auto;padding:8px 18px}@media(max-width:640px){.learn-home{padding:24px 14px 90px}.lesson-overlay{bottom:64px;padding:0 10px}.lesson-card{max-width:100%}.lesson-opt{min-height:44px}.lr-card{padding:22px 18px}.lesson-creator{width:100%;max-height:92vh}.td-top{flex-wrap:wrap;gap:8px 12px;padding:10px 14px}.td-brand{order:1}.td-actions{order:2;margin-left:auto;gap:4px}.td-actions .btn{padding:5px 8px;font-size:11px;min-height:32px}.td-tabs{order:3;width:100%;justify-content:center;border-top:1px solid var(--border);padding-top:6px;margin-top:2px}.td-tabs button{flex:1;text-align:center;padding:6px}.sh-top{padding:10px 14px}.sh-top .btn{padding:5px 8px;font-size:11px;min-height:32px}.td-body{padding:12px 14px 60px}.td-detail{padding:12px}.td-detail-head{flex-direction:column;align-items:flex-start;gap:8px}.td-detail-head h2{font-size:16px}.td-code-chip{width:100%;justify-content:space-between;box-sizing:border-box}}.teacher-dash,.student-home{position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto;background:var(--bg-primary);z-index:20}.td-top{display:flex;align-items:center;gap:18px;padding:12px 20px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg-primary);z-index:2}.td-brand{display:flex;align-items:baseline;gap:8px}.td-logo{height:24px;width:auto;display:block}.td-role{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);border:1px solid var(--border);padding:1px 6px;font-family:var(--font-mono)}.td-tabs{display:flex;gap:4px}.td-tabs button{background:transparent;border:1px solid transparent;color:var(--text-secondary);padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer;border-radius:3px}.td-tabs button.active{color:var(--text-primary);border-bottom:2px solid var(--blue);border-radius:0}.td-actions{margin-left:auto;display:flex;gap:8px}.td-actions .btn{width:auto;font-size:12px;padding:6px 12px}.td-body{padding:18px 20px 60px;max-width:1100px;margin:0 auto}.td-classes{display:grid;grid-template-columns:260px 1fr;gap:18px;align-items:start}.td-sidebar{border:1px solid var(--border);background:var(--bg-secondary);padding:12px}.td-side-head,.td-col-head{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-family:var(--font-mono);margin-bottom:8px}.td-class-list{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.td-class-row-wrap{display:flex;align-items:stretch;gap:0;border:1px solid var(--border);border-left:2px solid transparent;background:var(--bg-tertiary)}.td-class-row-wrap.active{border-left-color:var(--blue)}.td-class-row{display:flex;flex-direction:column;gap:2px;text-align:left;background:transparent;border:none;border-left:none;padding:8px 10px;cursor:pointer;flex:1;min-width:0}.td-class-actions{display:flex;align-items:center;gap:0;border-left:1px solid var(--border);padding:0 2px;flex-shrink:0}.td-rename-form{flex:1;display:flex;align-items:center;padding:4px 6px}.td-rename-input{flex:1;font-size:12px;height:28px;padding:3px 6px}.td-class-name{font-size:13px;color:var(--text-primary);font-weight:600}.td-class-code{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);letter-spacing:.08em}.td-create{display:flex;flex-direction:column;gap:6px}.td-create .key-input{width:100%;box-sizing:border-box}.td-create .btn{width:100%}.td-detail{border:1px solid var(--border);background:var(--bg-secondary);padding:16px 18px;min-height:300px}.td-empty-detail{color:var(--text-muted);font-size:13px;padding:40px 0;text-align:center}.td-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.td-detail-head h2{margin:0;font-size:18px;color:var(--text-primary)}.td-code-chip{display:flex;align-items:center;gap:8px;background:var(--bg-tertiary);border:1px solid var(--border);padding:6px 10px;cursor:pointer;font-family:var(--font-mono)}.td-code-chip span{font-size:9px;letter-spacing:.1em;color:var(--text-muted)}.td-code-chip strong{font-size:14px;color:var(--blue);letter-spacing:.1em}.td-skill-level{display:flex;align-items:center;gap:8px;background:var(--bg-tertiary);border:1px solid var(--border);padding:6px 10px;font-family:var(--font-mono)}.td-skill-level span{font-size:9px;letter-spacing:.1em;color:var(--text-muted)}.td-skill-level select{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);font-family:var(--font-mono);font-size:11px;padding:3px 4px;border-radius:2px}.td-cols{display:grid;grid-template-columns:300px 1fr;gap:20px;align-items:start}.td-col-wide{min-width:0}.td-roster{display:flex;flex-direction:column;gap:3px}.td-roster-row{display:flex;justify-content:space-between;align-items:center;padding:5px 8px;border:1px solid var(--border);background:var(--bg-tertiary);font-size:12px;color:var(--text-secondary)}.td-students-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-muted);font-size:11px;margin-bottom:8px}.td-students-toolbar .btn,.td-student-editor .btn{width:auto;padding:5px 9px;font-size:11px}.td-student-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;white-space:nowrap}.td-remove{color:var(--red)}.td-remove-confirm{color:var(--amber)}.td-student-editor{display:flex;align-items:end;gap:8px;margin-top:14px;padding:10px;border:1px solid var(--blue);background:var(--bg-tertiary)}.td-student-editor label{display:flex;flex-direction:column;gap:4px;flex:1;color:var(--text-muted);font-size:10px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.07em}.td-student-editor .key-input{min-width:0;width:100%}.td-assign{display:flex;flex-direction:column;gap:7px}.td-w{width:100%;box-sizing:border-box}.td-kind-row{display:flex;gap:4px}.td-kind-row button{flex:1;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);padding:6px;font-size:12px;cursor:pointer;border-radius:3px}.td-kind-row button.active{border-color:var(--blue);color:var(--text-primary)}.td-assign .btn{width:100%}.td-assignment{border:1px solid var(--border);background:var(--bg-tertiary);padding:10px;margin-bottom:8px}.td-assignment-head{display:flex;align-items:center;gap:8px}.td-assignment-title{font-size:13px;color:var(--text-primary);font-weight:600}.td-assignment-kind{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border:1px solid var(--border);padding:1px 5px;font-family:var(--font-mono)}.td-assignment-count{font-size:11px;color:var(--text-secondary);margin-left:auto}.td-subs{width:100%;margin-top:8px}.td-lessons{max-width:760px}.td-lessons-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.td-lessons-head h2{margin:0;font-size:18px;color:var(--text-primary)}.td-lessons-head .btn{width:auto;font-size:12px;padding:7px 12px}.sh-top{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg-primary);z-index:2}.sh-top .btn{width:auto;font-size:12px;padding:6px 12px}.student-home .sh-profile,.student-home .sh-join,.student-home .sh-classes,.student-home .sh-assignments,.student-home .sh-leaderboard,.student-home .sh-solo{max-width:640px;margin-left:auto;margin-right:auto;padding:0 20px}.sh-profile{margin-top:24px;display:grid;grid-template-columns:1fr auto;gap:8px 16px;align-items:end}.sh-profile p,.sh-leaderboard-note{margin:4px 0 0;color:var(--text-muted);font-size:11px;line-height:1.5}.sh-profile-controls{display:flex;gap:6px}.sh-profile-controls .key-input{width:180px}.sh-profile-controls .btn{width:auto}.sh-profile-saved{grid-column:2;color:var(--green);font-size:11px}.sh-join{margin-top:28px}.sh-join-row{display:flex;gap:8px}.sh-code{flex:1;text-transform:uppercase;letter-spacing:.16em;font-family:var(--font-mono);font-size:16px;text-align:center}.sh-join-row .btn{width:auto;padding:0 20px}.sh-classes{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}.sh-class-chip{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);padding:6px 12px;font-size:12px;cursor:pointer;border-radius:3px}.sh-class-chip.active{border-color:var(--blue);color:var(--text-primary)}.sh-assignments{margin-top:20px}.sh-assign-head{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-family:var(--font-mono);margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border)}.sh-assignment{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);background:var(--bg-secondary);padding:12px 14px;margin-bottom:8px}.sh-assignment-main{display:flex;flex-direction:column;gap:3px;min-width:0}.sh-assignment-title{font-size:14px;color:var(--text-primary);font-weight:600}.sh-assignment-kind{font-size:11px;color:var(--text-secondary)}.sh-assignment-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.sh-done{font-size:11px;font-family:var(--font-mono);color:var(--text-muted)}.sh-assignment-right .btn{width:auto;padding:7px 14px;font-size:12px}.sh-leaderboard{margin-top:24px}.sh-leaderboard-head{display:flex;justify-content:space-between;gap:16px;align-items:end}.sh-leaderboard-head .sh-assign-head{margin-bottom:0}.sh-leaderboard-note{margin:-4px 0 10px}.sh-standing{min-width:92px;padding:7px 9px;border:1px solid var(--blue);background:var(--bg-tertiary);text-align:right}.sh-standing-label{display:block;color:var(--text-muted);font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase}.sh-standing strong{color:var(--blue);font-family:var(--font-mono);font-size:18px;line-height:1.2}.sh-standing strong span{color:var(--text-muted);font-size:11px;font-weight:400}.sh-rank-progress{margin:0 0 10px;border-left:2px solid var(--blue);background:var(--bg-tertiary);color:var(--text-secondary);font-size:11px;line-height:1.45;padding:7px 10px}.sh-ranks{list-style:none;margin:0;padding:0;border:1px solid var(--border)}.sh-ranks li{display:grid;grid-template-columns:42px minmax(0,1fr) 76px 62px;gap:8px;align-items:center;min-height:38px;padding:0 12px;border-bottom:1px solid var(--border);background:var(--bg-secondary);font-size:12px}.sh-ranks li:last-child{border-bottom:0}.sh-ranks li.is-you{border-left:2px solid var(--blue);background:var(--bg-tertiary)}.sh-ranks li.top-1{border-left:2px solid var(--amber)}.sh-ranks li.top-2{border-left:2px solid var(--text-secondary)}.sh-ranks li.top-3{border-left:2px solid var(--amber)}.sh-ranks li.is-you{border-left-color:var(--blue)}.sh-rank{color:var(--text-muted);font-family:var(--font-mono)}.sh-rank-name{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sh-rank-score{color:var(--green);font-family:var(--font-mono);text-align:right}.sh-rank-count{color:var(--text-muted);font-size:10px;text-align:right}.sh-solo{margin-top:36px;margin-bottom:60px;border-top:1px solid var(--border);padding-top:22px}.sh-solo-head{font-size:14px;color:var(--text-primary);font-weight:600;margin-bottom:4px}.sh-solo .btn{width:auto}.sh-teacher-link{display:block;margin-top:12px;font-size:12px;color:var(--text-muted)}.sh-teacher-link:hover{color:var(--text-primary)}@media(max-width:760px){.td-classes,.td-cols{grid-template-columns:1fr}.td-tabs{order:3}.sh-profile{grid-template-columns:1fr}.sh-profile-controls{width:100%}.sh-profile-controls .key-input{width:auto;flex:1;min-width:0}.sh-profile-saved{grid-column:1}.sh-ranks li{grid-template-columns:34px minmax(0,1fr) 70px}.sh-rank-count{display:none}.sh-leaderboard-head{align-items:start}.sh-standing{min-width:76px}.td-students-toolbar,.td-student-editor{align-items:stretch;flex-direction:column}.td-students-toolbar .btn,.td-student-editor .btn{width:100%}.td-subs{display:block;overflow-x:auto}}.td-ai-generator{display:flex;flex-direction:column;gap:8px;margin-top:8px}.td-ai-textarea{width:100%;min-height:70px;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);padding:8px;font-size:12px;font-family:inherit;resize:vertical;border-radius:3px}.td-ai-textarea:focus{border-color:var(--blue);outline:none}.td-ai-preview{font-size:11px;background:var(--bg-secondary);border:1px solid var(--border);padding:10px;border-radius:3px;color:var(--text-secondary)}.td-ai-preview-title{font-weight:700;color:var(--text-primary);margin-bottom:4px}.td-scenario-preview-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.td-scenario-preview-actions .btn,.td-ai-preview>.btn{width:auto;padding:4px 8px;font-size:10px}.td-scenario-studio{display:flex;flex-direction:column;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.td-scenario-studio>label{display:flex;flex-direction:column;gap:4px;color:var(--text-muted);font-size:10px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.td-scenario-studio .td-ai-textarea{min-height:54px}.td-studio-head{color:var(--text-primary);font-size:12px;font-weight:600}.td-studio-head span{color:var(--text-muted);font-size:10px;font-weight:400;margin-left:6px}.td-studio-section{margin-top:4px;color:var(--text-muted);font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.td-studio-company{display:grid;grid-template-columns:42px minmax(100px,1.5fr) minmax(80px,1fr) 64px 70px;gap:5px;align-items:center}.td-studio-company strong{color:var(--blue);font-family:var(--font-mono);font-size:11px}.td-studio-regime{display:grid;grid-template-columns:minmax(100px,1fr) repeat(3,70px);gap:5px;align-items:end}.td-studio-regime label{color:var(--text-muted);font-size:9px;font-family:var(--font-mono)}@media(max-width:760px){.td-studio-company,.td-studio-regime{grid-template-columns:1fr 1fr}.td-studio-company strong{grid-column:1 / -1}}.ticker-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;font:inherit;color:inherit;cursor:pointer}.classroom-lb-table caption{caption-side:top;padding:0 0 8px;color:var(--text-muted);font-size:11px;text-align:left}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--blue)!important;outline-offset:2px}@media(max-width:640px){body{font-size:14px}input,select,textarea{font-size:16px!important}.settings-hint,.about-text,.art-body,.lesson-q,.legal-content p{font-size:13px;line-height:1.55}}.lang-welcome-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-primary);display:flex;z-index:60;padding:24px;overflow-y:auto;-webkit-overflow-scrolling:touch}.lang-welcome-card{width:480px;max-width:100%;margin:auto;display:flex;flex-direction:column;align-items:center;text-align:center;border:1px solid var(--border);border-radius:4px;background:var(--bg-secondary);padding:36px 32px}.lang-welcome-logo{height:34px;width:auto;margin-bottom:16px}.lang-welcome-title{margin:0 0 6px;font-size:18px;letter-spacing:.02em;line-height:1.35}.lang-welcome-sub{margin:0 0 22px;font-size:13px;color:var(--text-secondary);line-height:1.5}.lang-welcome-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;margin-bottom:22px}.lang-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:56px;padding:8px 6px;border:1px solid var(--border);border-radius:3px;background:var(--bg-input);color:var(--text-primary);cursor:pointer;transition:border-color .12s,background .12s}.lang-chip:hover{border-color:var(--blue)}.lang-chip.active{border-color:var(--blue);background:var(--bg-tertiary)}.lang-chip-native{font-size:14px;font-weight:600;line-height:1.3}.lang-chip-en{font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.lang-welcome-cta{width:100%;font-size:14px;padding:12px}@media(max-width:640px){.lang-welcome-card{padding:26px 18px}.lang-welcome-grid{grid-template-columns:repeat(2,1fr)}}.lang-select-row{display:flex}.lang-select{width:100%;cursor:pointer}[dir=rtl] .ticker-tape,[dir=rtl] .nav-stat .val,[dir=rtl] .nav-picker,[dir=rtl] .cash-custom-row,[dir=rtl] .key-input.num,[dir=rtl] .ai-quota-bar-wrap{direction:ltr}[dir=rtl] .settings-label,[dir=rtl] .settings-hint,[dir=rtl] .lang-welcome-sub,[dir=rtl] .lang-welcome-title{text-align:right}[dir=rtl] .lang-welcome-card,[dir=rtl] .lang-welcome-card .lang-welcome-title,[dir=rtl] .lang-welcome-card .lang-welcome-sub{text-align:center}[dir=rtl] .settings-header{flex-direction:row-reverse}html[lang=ar],html[lang=fa]{--font-ui: "Segoe UI", Tahoma, "Noto Sans Arabic", "Noto Naskh Arabic", system-ui, sans-serif;--font-mono: "Segoe UI", Tahoma, "Noto Sans Arabic", ui-monospace, monospace}html[lang=zh]{--font-ui: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", "Noto Sans SC", system-ui, sans-serif;--font-mono: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", ui-monospace, monospace}html[lang=hi]{--font-ui: "Nirmala UI", "Noto Sans Devanagari", "Mangal", system-ui, sans-serif;--font-mono: "Nirmala UI", "Noto Sans Devanagari", ui-monospace, monospace}html[lang=ar] .mode-toggle button,html[lang=fa] .mode-toggle button,html[lang=hi] .mode-toggle button{line-height:1.4}.crash-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--bg-primary);display:flex;padding:24px;overflow-y:auto}.crash-card{width:460px;max-width:100%;margin:auto;display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--border);border-radius:4px;background:var(--bg-secondary);padding:36px 32px}.crash-logo{height:32px;width:auto;margin-bottom:18px}.crash-title{font-size:17px;font-weight:600;color:var(--text-primary);margin:0 0 10px}.crash-body{font-size:14px;line-height:1.55;color:var(--text-secondary);margin:0 0 22px}.crash-reload{align-self:stretch}.crash-details{margin-top:20px;align-self:stretch;font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.crash-details summary{cursor:pointer;color:var(--text-secondary)}.crash-details pre{margin:10px 0 0;padding:10px;border:1px solid var(--border);background:var(--bg-primary);white-space:pre-wrap;word-break:break-word;max-height:160px;overflow-y:auto;direction:ltr;text-align:left}.sh-teacher-note{margin:12px 0 0;color:var(--text-muted);font-size:12px;line-height:1.5}.td-create-gate{margin:0}
