.auth-page{color:#111827;background:#f7f8fb;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);min-height:100dvh;display:grid}.auth-story{background:linear-gradient(145deg,#fff 0%,#fff8f8 52%,#f7f8fb 100%);flex-direction:column;min-height:100dvh;padding:42px clamp(34px,5vw,82px);display:flex;position:relative;overflow:hidden}.auth-brand{cursor:default;background:0 0;border:0;align-self:flex-start;align-items:center;gap:13px;font-size:27px;display:flex}.auth-brand .brand-mark{width:44px;height:44px}.auth-brand strong{letter-spacing:-1.2px}.auth-brand em{color:#ee1238;font-style:normal}.auth-copy{z-index:2;max-width:650px;margin:auto 0;padding-bottom:17vh;position:relative}.auth-kicker{color:#e6002d;letter-spacing:.04em;background:#fff0f2;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:750;display:inline-flex}.auth-copy h1{letter-spacing:-.055em;margin:25px 0 18px;font-size:clamp(42px,5vw,72px);line-height:1.09}.auth-copy h1 span{color:#ec002f}.auth-copy>p{color:#64748b;max-width:570px;margin:0;font-size:18px;line-height:1.85}.auth-points{color:#334155;flex-wrap:wrap;gap:12px 22px;margin-top:28px;font-size:14px;font-weight:650;display:flex}.auth-points span{align-items:center;gap:7px;display:flex}.auth-points svg{color:#16a34a;width:18px}.auth-story>img{z-index:1;object-fit:cover;object-position:center 47%;opacity:.92;width:97%;max-height:48%;position:absolute;bottom:-4%;left:3%;-webkit-mask-image:linear-gradient(#0000 0%,#000 28% 100%);mask-image:linear-gradient(#0000 0%,#000 28% 100%)}.auth-story>small{z-index:3;color:#9a2336;letter-spacing:.12em;font-size:15px;font-weight:750;position:absolute;bottom:34px;left:clamp(34px,5vw,82px)}.auth-panel{background:#f7f8fbd6;border-left:1px solid #eef0f4;place-items:center;padding:34px;display:grid}.auth-card{background:#fffffff5;border:1px solid #e9ebf0;border-radius:28px;width:min(100%,490px);padding:42px;box-shadow:0 24px 80px #141c2d1a}.auth-security{color:#e6002d;align-items:center;gap:7px;font-size:13px;font-weight:750;display:inline-flex}.auth-security svg{width:17px}.auth-card h2{letter-spacing:-.035em;margin:14px 0 7px;font-size:34px}.auth-card>p{color:#7b8495;margin:0 0 26px;font-size:15px;line-height:1.65}.auth-tabs{background:#f3f4f7;border-radius:13px;grid-template-columns:1fr 1fr;margin-bottom:24px;padding:4px;display:grid}.auth-tabs button{color:#6b7280;cursor:pointer;background:0 0;border:0;border-radius:10px;height:43px;font-size:15px;font-weight:750}.auth-tabs button.active{color:#e6002d;background:#fff;box-shadow:0 4px 16px #202b4114}.auth-card form{gap:17px;display:grid}.auth-card label{color:#374151;gap:8px;font-size:14px;font-weight:700;display:grid}.auth-card input{box-sizing:border-box;color:#111827;background:#fff;border:1px solid #dfe3ea;border-radius:12px;outline:none;width:100%;height:50px;padding:0 14px;font-size:16px;transition:all .18s}.auth-card input:focus{border-color:#f21b43;box-shadow:0 0 0 4px #ee003017}.auth-card label>small{color:#8b94a4;font-size:12px;font-weight:500}.auth-card label>small.valid{color:#159447}.password-input{position:relative}.password-input>svg{color:#9aa2b0;width:19px;position:absolute;top:15px;left:14px}.password-input input{padding-left:43px;padding-right:46px}.password-input button{color:#717b8d;cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:7px;right:7px}.password-input button:hover{background:#f4f5f7}.password-input button svg{width:18px}.auth-error{color:#c51636;background:#fff1f3;border:1px solid #ffcbd4;border-radius:11px;padding:11px 13px;font-size:13px;line-height:1.45}.auth-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#f40037,#df002a);border:0;border-radius:13px;justify-content:center;align-items:center;gap:10px;height:54px;font-size:16px;font-weight:800;display:flex;box-shadow:0 12px 26px #e6002d38}.auth-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 15px 30px #e6002d47}.auth-submit:disabled{opacity:.62;cursor:wait}.auth-submit svg{width:19px}.auth-card>footer{color:#9098a6;align-items:flex-start;gap:7px;margin-top:20px;font-size:12px;line-height:1.55;display:flex}.auth-card>footer svg{flex:none;width:15px}@media (width<=900px){.auth-page{grid-template-columns:1fr}.auth-story{min-height:310px;padding:26px 24px}.auth-copy{margin:55px 0 90px;padding:0}.auth-copy h1{font-size:42px}.auth-copy>p,.auth-points{display:none}.auth-story>img{width:100%;max-height:62%;left:0}.auth-story>small{display:none}.auth-panel{background:linear-gradient(#fff8f8,#f7f8fb);border:0;padding:0 18px 32px}.auth-card{border-radius:22px;margin-top:-28px;padding:27px 22px}.auth-card h2{font-size:29px}}@media (width<=480px){.auth-story{min-height:265px}.auth-copy{margin:38px 0 65px}.auth-copy h1{font-size:34px}.auth-brand{font-size:23px}.auth-brand .brand-mark{width:39px;height:39px}.auth-card{padding:24px 18px}.auth-card input{font-size:16px}}:root{color:#111827;font-synthesis:none;--red:#e6002d;--red-dark:#bf0025;--red-soft:#fff0f3;--green:#16a34a;--orange:#f59e0b;--ink:#111827;--muted:#6b7280;--line:#e5e7eb;--surface:#fffffff0;--shadow:0 18px 60px #20263714,0 2px 12px #2026370a;background:#f8f8fa;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Microsoft YaHei,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 72% -20%,#fff0f2 0,#0000 30%),linear-gradient(135deg,#fff 0,#f7f8fa 48%,#f3f5f8 100%);min-width:1120px;min-height:100vh;margin:0}button,input,select{font:inherit}button{color:inherit}.app-shell{min-height:100vh}.topbar{z-index:40;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#ffffffdb;border-bottom:1px solid #1118270f;grid-template-columns:1fr auto 1fr;align-items:center;height:72px;padding:0 34px;display:grid;position:sticky;top:0}.brand{cursor:pointer;background:0 0;border:0;align-items:center;gap:11px;width:max-content;display:flex}.brand-mark{background:linear-gradient(145deg,#ff123e,#dd0029);border-radius:11px;align-items:flex-end;gap:3px;width:39px;height:39px;padding:9px 8px 7px;display:flex;box-shadow:0 10px 22px #e6002d38}.brand-mark i{background:#fff;border-radius:4px;width:5px}.brand-mark i:first-child{height:11px}.brand-mark i:nth-child(2){height:18px}.brand-mark i:nth-child(3){height:25px}.brand strong{letter-spacing:-.8px;font-size:21px}.brand em{color:var(--red);font-style:normal}.main-nav{align-self:stretch;gap:28px;display:flex}.main-nav button{color:#4b5563;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;font-size:13px;font-weight:650;display:flex;position:relative}.main-nav button:after{content:"";background:0 0;border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:0;left:0;right:0}.main-nav button.active{color:var(--red)}.main-nav button.active:after{background:var(--red)}.topbar-user{justify-self:end;align-items:center;gap:10px;font-size:12px;display:flex}.topbar-user>button{cursor:pointer;background:0 0;border:0;position:relative}.topbar-user>button i{background:var(--red);border:2px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:1px;right:2px}.topbar-user .logout-button{color:#7b8494;border-radius:10px;place-items:center;width:34px;height:34px;margin-left:2px;display:grid}.topbar-user .logout-button:hover{color:#e6002d;background:#fff0f2}.user-avatar{color:#687386;background:linear-gradient(145deg,#ffe7e8,#f0f2f6);border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.page-wrap{max-width:1440px;margin:0 auto;padding:32px 32px 55px}.hall-hero{height:340px;box-shadow:var(--shadow);background:linear-gradient(110deg,#fff 0,#fffafb 55%,#fff0f1 100%);border:1px solid #1118270a;border-radius:26px;grid-template-columns:minmax(480px,1fr) 360px;align-items:center;padding:34px 38px;display:grid;position:relative;overflow:hidden}.hero-copy{z-index:4;position:relative}.hero-kicker{color:#8b93a1;font-size:14px}.hero-copy h1{letter-spacing:-2px;margin:10px 0 12px;font-size:46px;line-height:1.18}.hero-copy h1 span{color:var(--red)}.hero-copy p{width:510px;color:var(--muted);font-size:14px;line-height:1.8}.hero-actions{gap:12px;margin-top:22px;display:flex}.hero-actions button{cursor:pointer;border-radius:999px;height:48px;padding:0 25px;font-weight:700}.hero-primary{background:var(--red);color:#fff;border:0;align-items:center;gap:10px;display:flex;box-shadow:0 12px 24px #e6002d33}.hero-secondary{background:#fff;border:1px solid #d9dde4}.mountain-scene{opacity:.75;position:absolute;inset:0 280px 0 470px}.mountain-scene i{clip-path:polygon(0 70%,20% 38%,33% 59%,52% 12%,68% 55%,83% 30%,100% 66%,100% 100%,0 100%);background:linear-gradient(155deg,#ffe1e4,#f7a7ad 45%,#fff 88%);height:340px;position:absolute;bottom:-150px;left:0;right:0}.mountain-scene i:nth-child(2){opacity:.65;transform:translate(40px,30px)scale(.82)}.mountain-scene i:nth-child(3){opacity:.45;transform:translate(-90px,68px)scale(1.1)}.mountain-scene span{background:#7d1020;border-radius:7px 7px 3px 3px;width:11px;height:44px;position:absolute;top:46%;right:28%;box-shadow:0 -11px 0 -2px #7d1020}.hero-stat-card{z-index:5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd4;border:1px solid #fffc;border-radius:22px;padding:24px;position:relative;box-shadow:0 15px 38px #461e2817}.hero-stat-card>div:first-child{align-items:center;gap:12px;display:flex}.hero-stat-card strong{display:block}.hero-stat-card small{color:var(--muted)}.avatar-orb{width:50px;height:50px;color:var(--red);background:var(--red-soft);border-radius:50%;place-items:center;display:grid}.hero-stats{border-block:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:20px;padding:17px 0;display:grid}.hero-stats span{color:var(--muted);flex-direction:column;font-size:10px;display:flex}.hero-stats b{color:var(--ink);font-size:23px}.streak-bars{align-items:end;gap:7px;height:48px;margin-top:15px;display:flex}.streak-bars i{background:#ffd3d9;border-radius:3px;flex:1;max-height:100%}.streak-bars i:nth-child(3n){background:var(--red)}.training-modes{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px;display:grid}.training-modes>button{text-align:left;background:var(--surface);min-height:205px;box-shadow:var(--shadow);cursor:pointer;border:1px solid #1118270f;border-radius:22px;padding:26px;transition:all .22s;position:relative}.training-modes>button:hover{border-color:#ffb6c1;transform:translateY(-4px)}.training-modes h2{margin:16px 0 7px;font-size:20px}.training-modes p{max-width:330px;color:var(--muted);margin:0;font-size:12px;line-height:1.7}.training-modes small{color:#969ca6;position:absolute;bottom:22px;left:26px}.training-modes>button>svg{color:var(--red);position:absolute;bottom:20px;right:23px}.mode-icon{color:#fff;background:linear-gradient(145deg,#ff1642,#df002b);border-radius:14px;place-items:center;width:50px;height:50px;display:grid;box-shadow:0 10px 22px #e6002d2e}.hall-lower{grid-template-columns:1.2fr 1fr;gap:16px;margin-top:18px;display:grid}.hall-lower article{box-shadow:var(--shadow);background:#fff;border:1px solid #1118270f;border-radius:20px;padding:20px}.hall-lower header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.hall-lower header span{align-items:center;gap:7px;font-weight:700;display:flex}.hall-lower header svg{color:var(--red)}.hall-lower header small{color:var(--muted)}.today-card>div{grid-template-columns:80px 1fr auto;align-items:center;gap:15px;padding-top:14px;display:grid}.mini-chart{height:65px;color:var(--red);background:linear-gradient(145deg,#fff3f4,#ffd9df);border-radius:12px;place-items:center;font-size:38px;display:grid}.today-card b{font-size:15px}.today-card p{color:var(--muted);margin:4px 0;font-size:11px}.today-card button{background:var(--red);color:#fff;cursor:pointer;border:0;border-radius:999px;gap:5px;padding:10px 15px;display:flex}.recent-card>div{border-bottom:1px solid #f1f2f4;grid-template-columns:30px 1fr 90px 90px;align-items:center;gap:8px;padding:10px 0;font-size:11px;display:grid}.record-icon{background:var(--red-soft);width:26px;height:26px;color:var(--red);border-radius:8px;place-items:center;display:grid}.record-icon svg{width:15px}.recent-card em{text-align:right;font-style:normal;font-weight:700}.workspace{grid-template-columns:210px minmax(680px,1fr) 320px;align-items:start;gap:13px;max-width:1600px;margin:17px auto 95px;padding:0 18px;display:grid}.market-card,.episode-rail,.orderbook-card,.account-strip,.orders-card{background:var(--surface);box-shadow:var(--shadow);border:1px solid #11182711}.episode-rail{border-radius:19px;grid-row:span 3;padding:20px 18px;position:sticky;top:90px}.eyebrow{color:var(--red);letter-spacing:.5px;align-items:center;gap:5px;font-size:10px;font-weight:800;display:flex}.episode-rail h2{margin:13px 0 7px;font-size:20px}.episode-rail p{color:var(--muted);font-size:11px;line-height:1.7}.episode-score{margin:20px 0}.episode-score span{color:var(--muted);justify-content:space-between;font-size:10px;display:flex}.episode-score i{background:#eef0f3;border-radius:5px;height:5px;margin-top:8px;display:block;overflow:hidden}.episode-score em{background:var(--red);height:100%;display:block}.episode-rail ul{margin:0;padding:0;list-style:none}.episode-rail li{color:#545b66;border-bottom:1px solid #eff0f2;padding:8px 0;font-size:10px}.episode-rail li:before{content:"✓";color:var(--red);margin-right:7px}.episode-day{background:var(--red-soft);border-radius:13px;margin-top:22px;padding:14px}.episode-day small{color:#9f6670;display:block}.episode-day strong{color:var(--red);font-size:24px}.episode-day em{color:#a57b82;font-size:10px;font-style:normal}.market-card{border-radius:19px;overflow:hidden}.market-header{border-bottom:1px solid var(--line);grid-template-columns:1fr auto minmax(270px,auto);align-items:center;gap:22px;min-height:108px;padding:17px 20px;display:grid}.ticker-title{align-items:center;gap:9px;display:flex}.ticker-title h1{margin:0;font-size:25px}.ticker-title span{color:var(--muted);background:#f0f2f5;border-radius:6px;padding:3px 7px;font-size:9px}.market-header>div:first-child>small{color:var(--muted);margin-top:7px;display:block}.price-block{align-items:baseline;gap:7px;display:flex}.price-block strong{letter-spacing:-1px;font-size:34px}.price-block span{font-size:12px;font-weight:700}.up{color:var(--red)!important}.down{color:var(--green)!important}.ohlc-strip{color:var(--muted);grid-template-columns:repeat(2,1fr);gap:7px 18px;font-size:10px;display:grid}.ohlc-strip span{justify-content:space-between;gap:10px;display:flex}.ohlc-strip b{color:#374151}.chart-toolbar{border-bottom:1px solid var(--line);align-items:center;gap:5px;height:47px;padding:0 15px;display:flex}.chart-toolbar button{color:#586174;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:7px 12px;font-size:11px}.chart-toolbar button.active{background:var(--red-soft);color:var(--red);font-weight:700}.chart-toolbar button:disabled{opacity:.35}.chart-toolbar>span{flex:1}.chart-toolbar small{margin-left:7px}.chart-toolbar small:nth-last-child(3){color:#e6002d}.chart-toolbar small:nth-last-child(2){color:#f59e0b}.chart-toolbar small:last-child{color:#2563eb}.chart-shell{width:100%;padding:5px 13px 0;position:relative}.chart-shell svg{width:100%;height:500px}.chart-empty{height:500px;color:var(--muted);place-items:center;display:grid}.grid-line{stroke:#e9edf2;stroke-width:1px}.ma-line{fill:none;stroke-width:1.3px;opacity:.9}.ma5{stroke:#e6002d}.ma10{stroke:#f59e0b}.ma20{stroke:#2563eb}.trade-dot{stroke:#fff;stroke-width:2px}.trade-dot.buy{fill:var(--red)}.trade-dot.sell{fill:var(--green)}.trade-label{fill:#fff;font-size:8px;font-weight:800}.chart-legend{color:#87909f;gap:11px;font-size:9px;display:flex;position:absolute;top:12px;left:25px}.legend-ma5{color:var(--red)}.legend-ma10{color:var(--orange)}.legend-ma20{color:#2563eb}.live-tag{color:#fff;background:var(--red);border-radius:3px;padding:1px 5px;font-weight:700}.quote-info{color:#87909f;border-bottom:1px solid #eef1f5;flex-wrap:wrap;gap:4px 14px;padding:4px 2px 6px;font-size:11px;display:flex}.quote-info b{color:#1f2430;font-weight:700}.quote-info b.up{color:var(--red)}.quote-info b.down{color:var(--green)}.view-toggle{border:1px solid #e3e7ee;border-radius:6px;margin-left:6px;display:inline-flex;overflow:hidden}.view-toggle button{color:#87909f;cursor:pointer;background:0 0;border:0;padding:2px 8px;font-size:11px}.view-toggle button.active{background:var(--red);color:#fff}.coach-settings{color:#5b6472;border:1px solid #eef1f5;border-radius:12px;margin:12px 0;padding:14px;font-size:12px}.coach-settings>header{color:#1f2430;align-items:center;gap:6px;margin-bottom:6px;display:flex}.coach-settings p{align-items:flex-start;gap:6px;line-height:1.5;display:flex}.coach-settings .positive{color:var(--green)}.coach-config-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.coach-config-grid label{border:1px solid var(--line);background:#fafbfc;border-radius:9px;flex-direction:column;gap:5px;padding:9px;display:flex}.coach-config-grid label.wide{grid-column:1/-1}.coach-config-grid label>span{color:var(--muted);justify-content:space-between;font-size:9px;display:flex}.coach-config-grid input,.coach-config-grid select{background:0 0;border:0;outline:0;font-size:10px;font-weight:650}.coach-config-grid .coach-enabled{flex-direction:row;grid-column:1/-1;align-items:center}.coach-config-grid .coach-enabled input{width:auto}.coach-config-actions{align-items:center;gap:7px;margin-top:9px;display:flex}.coach-config-actions button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:5px;padding:7px 10px;font-size:9px;display:flex}.coach-config-actions .primary-button{border-color:var(--red);background:var(--red);color:#fff}.coach-config-actions .danger-link{color:var(--green);background:0 0;border:0;margin-left:auto}.coach-message{background:#f5f7f9;border-radius:8px;padding:7px;margin:8px 0 0!important}.coach-message.error{color:var(--green)}.coach-security{color:#9299a4;margin-top:8px;font-size:8px;line-height:1.5;display:block}.setting-check{align-items:center;gap:8px;display:flex}.soon-tag{color:#fff;vertical-align:middle;background:#f59e0b;border-radius:4px;margin-left:4px;padding:2px 6px;font-size:10px;font-style:normal}.orderbook-card{border-radius:19px;grid-row:span 3;overflow:hidden}.panel-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:49px;padding:0 16px;display:flex}.panel-title>div{align-items:center;gap:7px;display:flex}.panel-title>span{color:var(--muted);font-size:9px}.ticket{padding:14px}.ticket-top{border-bottom:1px solid var(--line)}.side-tabs,.order-type{grid-template-columns:repeat(2,1fr);gap:7px;display:grid}.side-tabs button{cursor:pointer;background:#f2f3f5;border:0;border-radius:13px;height:62px;font-size:18px;font-weight:800}.side-tabs button small{margin-top:2px;font-size:8px;font-weight:500;display:block}.side-tabs button.active{color:#fff}.side-tabs .active.buy{background:var(--red);box-shadow:0 10px 22px #e6002d33}.side-tabs .active.sell{background:var(--green)}.order-type{margin:11px 0}.order-type button,.quick-quantity button{color:var(--muted);cursor:pointer;background:#f1f3f6;border:0;border-radius:8px;padding:7px;font-size:10px}.order-type button.active{color:var(--red);background:var(--red-soft);font-weight:700}.ticket label{border:1px solid var(--line);border-radius:9px;grid-template-columns:50px 1fr auto;align-items:center;height:38px;margin-top:8px;padding:0 10px;font-size:10px;display:grid}.ticket label span,.ticket label i{color:var(--muted);font-style:normal}.ticket input{text-align:right;background:0 0;border:0;outline:0;width:100%;font-weight:700}.quick-quantity{grid-template-columns:repeat(3,1fr);gap:5px;margin-top:7px;display:grid}.funds-preview{color:var(--muted);background:#f8f9fb;border-radius:9px;margin:10px 0;padding:9px;font-size:9px}.funds-preview span{justify-content:space-between;margin:3px 0;display:flex}.funds-preview b{color:var(--ink)}.trade-button{color:#fff;cursor:pointer;border:0;border-radius:10px;width:100%;height:42px;font-weight:750}.trade-button.buy{background:var(--red)}.trade-button.sell{background:var(--green)}.quote-title{background:#fafbfc}.depth-tag{letter-spacing:.3px;background:#eceef1;border-radius:5px;padding:2px 6px}.depth-tag.real{background:var(--red-soft);color:var(--red);font-weight:700}.quote-list{padding:5px 13px}.quote-list div{grid-template-columns:1fr 1fr 1fr;align-items:center;height:24px;font-size:10px;display:grid}.quote-list span{color:var(--muted)}.quote-list b{text-align:center}.quote-list em{text-align:right;color:#697386;font-style:normal}.asks b{color:var(--red)}.bids b{color:var(--green)}.last-price{border-block:1px solid var(--line);justify-content:center;align-items:center;gap:9px;margin:0 13px;padding:8px;display:flex}.last-price strong{font-size:18px}.last-price span{font-size:9px}.account-strip{border-radius:16px;grid-column:2;grid-template-columns:repeat(4,1fr);padding:9px 4px;display:grid}.account-strip>div{border-right:1px solid var(--line);color:#737b89;grid-template-columns:auto 1fr;column-gap:8px;min-height:48px;padding:5px 14px;display:grid}.account-strip>div:last-child{border:0}.account-strip svg{grid-row:span 2;align-self:center;width:18px}.account-strip span{font-size:9px}.account-strip strong{color:var(--ink);font-size:12px}.orders-card{border-radius:16px;grid-column:2;min-height:110px;overflow:hidden}.empty-orders{text-align:center;color:var(--muted);padding:27px;font-size:10px}.empty-orders kbd{background:#fff;border:1px solid #d5d9df;border-bottom-width:2px;border-radius:5px;padding:2px 5px}.order-table{padding:5px 14px}.order-table>div{border-bottom:1px solid #f0f1f3;grid-template-columns:32px 90px 1fr 70px 30px;align-items:center;height:30px;font-size:10px;display:grid}.order-table b{color:#fff;border-radius:6px;place-items:center;width:21px;height:21px;display:grid}.order-table b.buy{background:var(--red)}.order-table b.sell{background:var(--green)}.order-table em{font-style:normal}.order-table button{cursor:pointer;background:#f0f2f4;border:0;border-radius:7px;width:24px;height:24px}.playback-dock{z-index:35;contain:layout paint;isolation:isolate;color:#fff;background:#111827;border:1px solid #ffffff1a;border-radius:18px;align-items:center;gap:5px;min-width:700px;height:58px;padding:0 10px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 20px 50px #0000003d}.playback-dock button{color:#d6dae1;cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:5px;min-width:36px;height:36px;padding:0 8px;display:flex}.playback-dock .play-button{background:var(--red);color:#fff}.playback-dock .rate{font-size:9px}.playback-dock .rate.active{color:#fff;background:#ffffff21}.dock-divider{background:#ffffff29;width:1px;height:22px;margin:0 4px}.progress-track{background:#ffffff26;border-radius:5px;flex:1;min-width:120px;height:4px;overflow:hidden}.progress-track i{background:var(--red);height:100%;display:block}.playback-dock>span{color:#abb1ba;white-space:nowrap;font-size:9px}.playback-dock .finish-button{color:#111827;background:#fff;width:auto;font-size:9px}.profile-page{padding-top:28px}.profile-hero{box-shadow:var(--shadow);background:linear-gradient(110deg,#fff,#fff6f7);border:1px solid #1118270f;border-radius:23px;grid-template-columns:100px 1fr;align-items:center;padding:26px 30px 0;display:grid;position:relative;overflow:hidden}.profile-avatar{width:86px;height:86px;color:var(--red);background:linear-gradient(145deg,#ffe7eb,#f5f6f8);border-radius:50%;place-items:center;display:grid}.profile-avatar svg{width:38px;height:38px}.profile-name{z-index:2}.profile-name h1{margin:0 0 5px;font-size:27px}.profile-name p{color:var(--muted);margin:0}.profile-mountain{opacity:.45;clip-path:polygon(0 100%,18% 52%,35% 79%,56% 18%,71% 67%,87% 44%,100% 72%,100% 100%);background:linear-gradient(150deg,#ffe6e8,#f69ca7,#fff);width:620px;height:210px;position:absolute;top:-35px;right:-20px}.profile-stats{z-index:2;border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:repeat(4,1fr);margin-top:22px;display:grid}.profile-stats>span{border-right:1px solid var(--line);grid-template-columns:32px 1fr;column-gap:9px;padding:20px;display:grid}.profile-stats>span:last-child{border:0}.profile-stats svg{color:var(--red);grid-row:span 2}.profile-stats small{color:var(--muted)}.profile-stats b{font-size:20px}.profile-stats em{color:var(--muted);font-size:10px;font-style:normal}.growth-grid{grid-template-columns:1.2fr 1fr;gap:16px;margin-top:17px;display:grid}.growth-grid article,.history-table{box-shadow:var(--shadow);background:#fff;border:1px solid #1118270f;border-radius:19px;padding:20px}.growth-grid header,.history-table>header{justify-content:space-between;display:flex}.growth-grid header span{color:var(--red);gap:5px;display:flex}.level-row{grid-template-columns:70px 1fr;align-items:center;margin-top:18px;display:grid}.level-row>svg{width:54px;height:54px;color:var(--red)}.level-row strong{font-size:18px}.level-track{background:#eceef1;border-radius:9px;height:7px;margin:10px 0;overflow:hidden}.level-track i{background:var(--red);height:100%;display:block}.level-row small{color:var(--muted)}.growth-grid ul{margin:0;padding:8px 0 0;list-style:none}.growth-grid li{color:#596170;border-bottom:1px solid #f0f1f3;justify-content:space-between;padding:9px 0;font-size:11px;display:flex}.growth-grid li:before{content:"○";color:#aab0b9}.growth-grid li.done:before{content:"✓";color:var(--red)}.history-table{margin-top:17px}.history-table>header span{color:var(--muted);font-size:10px}.history-head,.history-row{grid-template-columns:110px 1fr 170px 180px 100px;align-items:center;display:grid}.history-head{color:var(--muted);background:#f5f6f8;border-radius:8px;margin-top:15px;padding:9px 12px;font-size:9px}.history-row{border-bottom:1px solid #eef0f2;min-height:48px;padding:0 12px;font-size:11px}.status-pill{border-radius:6px;width:max-content;padding:4px 8px}.status-pill.completed{color:var(--red);background:var(--red-soft)}.status-pill.active{color:#2563eb;background:#eff6ff}.history-row em{font-style:normal;font-weight:700}.history-row button{cursor:pointer;background:#f1f3f6;border:0;border-radius:7px;padding:6px;font-size:9px}.history-row button:disabled{opacity:.5}.history-actions{align-items:center;gap:4px;display:flex}.icon-btn{cursor:pointer;color:#6b7280;background:#f1f3f6;border:0;border-radius:7px;place-items:center;width:28px;height:28px;display:grid}.icon-btn:hover{background:#e5e7eb}.starred{color:#f59e0b}.star-mark{color:#f59e0b;vertical-align:-2px;margin-left:4px}.history-symbol{align-items:center;gap:2px;display:flex}.note-editor{background:#f9fafb;border-bottom:1px solid #eef0f2;padding:10px 12px}.note-editor textarea{border:1px solid var(--line);resize:vertical;border-radius:8px;width:100%;padding:8px 10px;font-family:inherit;font-size:11px}.note-editor-actions{gap:8px;margin-top:6px;display:flex}.note-editor-actions button{cursor:pointer;border:0;border-radius:7px;padding:5px 14px;font-size:10px}.note-editor-actions button:first-child{background:var(--red);color:#fff}.note-editor-actions button:last-child{background:#f1f3f6}.note-display{color:#6b7280;border-bottom:1px solid #eef0f2;padding:6px 12px 8px;font-size:10px}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);background:#1118278c;place-items:center;padding:28px;animation:.2s fadeIn;display:grid;position:fixed;inset:0}.review-card,.setup-card{background:#fff;border-radius:26px;max-height:92vh;animation:.3s riseIn;overflow:auto;box-shadow:0 40px 100px #00000047}.review-card{width:min(900px,94vw);padding:28px}.review-hero{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:18px;display:flex;position:relative}.review-hero h2{margin:7px 0 3px;font-size:27px}.review-hero p{color:var(--muted);margin:0;font-size:10px}.review-close{cursor:pointer;background:#f1f3f5;border:0;border-radius:9px;place-items:center;width:31px;height:31px;display:grid;position:absolute;top:-12px;right:-12px}.score-ring{border:6px solid var(--red);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:82px;height:82px;display:flex}.score-ring strong{font-size:24px}.score-ring span{color:var(--muted);font-size:8px}.review-summary{color:#4b5563;font-size:11px;line-height:1.8}.metric-row{background:#f7f8fa;border-radius:13px;grid-template-columns:repeat(5,1fr);padding:6px;display:grid}.metric{border-right:1px solid var(--line);padding:10px}.metric:last-child{border:0}.metric span{color:var(--muted);font-size:8px;display:block}.metric strong{font-size:13px}.metric.positive strong{color:var(--red)}.metric.negative strong{color:var(--green)}.review-columns{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.review-columns article{border:1px solid var(--line);border-radius:13px;padding:14px}.review-columns h3{gap:6px;margin:0 0 8px;font-size:11px;display:flex}.review-columns p{color:var(--muted);font-size:9px}.episode-reveal{background:#fff8eb;border-radius:13px;grid-template-columns:1fr 1.4fr auto;align-items:center;gap:12px;margin-top:12px;padding:14px;display:grid}.episode-reveal span{color:#a57013;font-size:8px;display:block}.episode-reveal strong{font-size:12px}.episode-reveal p{color:#695b43;margin:0;font-size:9px}.episode-reveal em{color:#96723b;font-size:8px;font-style:normal}.next-training{background:var(--red-soft);color:var(--red);border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:12px 0;padding:12px;display:grid}.next-training div{flex-direction:column;display:flex}.next-training span{font-size:8px}.next-training strong{color:var(--ink);font-size:11px}.primary-button{background:var(--red);color:#fff;cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:11px 16px;font-size:10px;font-weight:700;display:flex}.primary-button.wide{width:100%}.setup-card{width:min(760px,94vw);padding:27px}.setup-card>header{justify-content:space-between;display:flex}.setup-card h2{margin:7px 0 0;font-size:25px}.setup-card>header>button{cursor:pointer;background:#f1f3f5;border:0;border-radius:9px;width:32px;height:32px}.setup-card>p{color:var(--muted);font-size:10px}.mode-picker{grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0;display:grid}.mode-picker button{text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:13px;align-items:center;gap:10px;height:72px;padding:12px;display:flex}.mode-picker button.active{background:var(--red-soft);color:var(--red);border-color:#ff9aad}.mode-picker span{font-size:11px;font-weight:700}.mode-picker small{color:var(--muted);margin-top:3px;font-size:8px;font-weight:400;display:block}.pattern-picker{background:#fff7f8;border-radius:12px;grid-template-columns:110px 1fr;align-items:center;gap:7px;padding:12px;font-size:10px;display:grid}.pattern-picker select{background:#fff;border:1px solid #ffd1d9;border-radius:8px;padding:7px}.pattern-picker small{color:var(--muted);grid-column:2}.setup-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px;display:grid}.setup-grid label{border:1px solid var(--line);background:#fafbfc;border-radius:12px;flex-direction:column;gap:7px;padding:12px;display:flex}.setup-grid label>span{color:var(--muted);gap:6px;font-size:9px;display:flex}.setup-grid select,.setup-grid input{background:0 0;border:0;outline:0;width:100%;font-weight:700}.setup-grid .symbol-field{grid-column:1/-1}.setup-start{margin-top:12px}.setup-start:disabled{opacity:.5}.toast{z-index:120;border:1px solid var(--line);max-width:420px;box-shadow:var(--shadow);color:#4b5563;cursor:pointer;background:#fff;border-radius:11px;align-items:center;gap:10px;padding:11px 13px;font-size:10px;display:flex;position:fixed;bottom:24px;left:22px}.loading-screen,.empty-terminal{min-height:calc(100vh - 72px);color:var(--muted);place-content:center;justify-items:center;gap:10px;display:grid}.loading-screen svg,.empty-terminal svg{color:var(--red)}.empty-terminal h2{color:var(--ink);margin:4px 0 0}.empty-terminal p{margin:0}.empty-terminal button{background:var(--red);color:#fff;cursor:pointer;border:0;border-radius:999px;padding:11px 22px}.pulse{animation:1.2s infinite pulse}@keyframes pulse{50%{opacity:.3;transform:scale(.92)}}@keyframes fadeIn{0%{opacity:0}}@keyframes riseIn{0%{opacity:0;transform:translateY(16px)scale(.98)}}@media (width<=1300px){.workspace{grid-template-columns:190px minmax(650px,1fr) 290px}.ohlc-strip{display:none}.market-header{grid-template-columns:1fr auto}.hall-hero{grid-template-columns:1fr 320px}.hero-copy h1{font-size:40px}}.training-modes{grid-template-columns:repeat(4,1fr);gap:14px}.training-modes>button{min-height:218px;padding:24px}.training-modes h2{font-size:18px}.training-modes p{font-size:11px}.training-modes small{left:24px}.chart-toolbar .sense-badge{letter-spacing:.2px;background:#111827;border-radius:7px;padding:5px 9px;color:#fff!important}.order-note input{text-align:left}.playback-dock{min-width:920px}.dock-label{margin-left:2px}.speed-select{color:#abb1ba;align-items:center;gap:5px;padding:0 8px;font-size:9px;display:flex}.speed-select select{color:#fff;background:#262e3b;border:1px solid #ffffff26;border-radius:7px;outline:0;padding:5px}.coach-profile-card{box-shadow:var(--shadow);background:linear-gradient(120deg,#fff,#fff6f7);border:1px solid #1118270f;border-radius:20px;margin-top:17px;padding:22px}.coach-profile-card>header{justify-content:space-between;align-items:center;display:flex}.coach-profile-card>header span{color:var(--red);font-size:10px;font-weight:800}.coach-profile-card h2{margin:6px 0 0;font-size:20px}.coach-profile-card>header>b{color:var(--red);font-size:30px}.coach-profile-card>header small{color:var(--muted);font-size:8px;display:block}.profile-findings{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px;display:grid}.profile-findings article{border:1px solid var(--line);background:#fffc;border-radius:13px;padding:14px}.profile-findings strong{font-size:11px}.profile-findings p{color:var(--muted);margin:7px 0;font-size:9px;line-height:1.5}.review-card.deep-review{width:min(1060px,95vw)}.review-section{border:1px solid var(--line);border-radius:15px;margin-top:15px;padding:16px}.review-section>header{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.review-section>header>div{align-items:center;gap:8px;display:flex}.review-section>header>div>span{background:var(--red-soft);width:25px;height:25px;color:var(--red);border-radius:7px;place-items:center;font-size:8px;font-weight:800;display:grid}.review-section h3{align-items:center;gap:5px;margin:0;font-size:12px;display:flex}.review-section>header small{color:var(--muted);font-size:8px}.behavior-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.behavior-grid article{background:#f8f9fb;border-radius:11px;padding:11px}.behavior-grid article>div{justify-content:space-between;display:flex}.behavior-grid strong{font-size:9px}.behavior-grid b{color:var(--red);font-size:14px}.behavior-grid i{background:#e7e9ed;border-radius:5px;height:4px;margin:8px 0;display:block;overflow:hidden}.behavior-grid em{background:var(--red);height:100%;display:block}.behavior-grid p{color:var(--muted);margin:0;font-size:8px;line-height:1.45}.trade-point-list article{border-bottom:1px solid #eef0f2;grid-template-columns:35px 1fr 70px 82px 82px;align-items:center;gap:8px;padding:10px 5px;display:grid}.trade-point-list article>b{color:#fff;border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.trade-point-list article>b.buy{background:var(--red)}.trade-point-list article>b.sell{background:var(--green)}.trade-point-list article>div>strong{font-size:10px}.trade-point-list p{color:var(--muted);margin:3px 0 0;font-size:8px}.trade-point-list article>span{font-size:11px;font-weight:700}.trade-point-list span small{color:var(--muted);font-size:7px;font-weight:400;display:block}.trade-point-list .positive{color:var(--red)}.trade-point-list .negative{color:var(--green)}.no-trades{text-align:center;color:var(--muted);padding:18px;font-size:10px}.ai-coach-panel{background:linear-gradient(120deg,#fff,#fff8f9)}.ai-coach-panel>header button{color:var(--red);cursor:pointer;background:#fff;border:1px solid #ffd3db;border-radius:8px;align-items:center;gap:5px;padding:6px 9px;font-size:8px;display:flex}.coach-summary{background:#fff;border-radius:11px;align-items:flex-start;gap:10px;padding:12px;display:flex}.coach-summary p{color:#444c59;margin:0;font-size:10px;line-height:1.65}.coach-status{white-space:nowrap;background:var(--red-soft);color:var(--red);border-radius:6px;padding:4px 7px;font-size:8px;font-weight:700}.coach-status.fallback{color:#a66a00;background:#fff5df}.coach-status.not_configured{color:#657083;background:#eef1f5}.coach-actions{background:#fff;border-radius:11px;margin-top:10px;padding:12px}.coach-actions>strong{font-size:10px}.coach-actions p{color:#596170;align-items:center;gap:7px;margin:7px 0;font-size:9px;display:flex}.coach-actions b{background:var(--red);color:#fff;border-radius:50%;place-items:center;width:18px;height:18px;font-size:7px;display:grid}.disclaimer{color:#9aa0aa;margin-top:9px;font-size:7px;display:block}.next-training small{color:#9b6670;margin-top:3px;font-size:8px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1300px){.training-modes{grid-template-columns:repeat(2,1fr)}.playback-dock{min-width:850px}}.behavior-grid{grid-template-columns:repeat(3,1fr)}@media (width<=900px){body{min-width:360px}.topbar{grid-template-columns:1fr auto;height:auto;min-height:64px;padding:10px 14px}.brand strong{font-size:17px}.main-nav{grid-area:2/1/auto/-1;justify-content:space-around;gap:0;height:42px;margin-top:7px}.main-nav button{font-size:10px}.topbar-user b{display:none}.page-wrap{padding:16px}.hall-hero{height:auto;padding:25px;display:block}.hero-copy h1{font-size:34px}.hero-copy p{width:auto}.mountain-scene,.hero-stat-card{display:none}.training-modes,.hall-lower,.growth-grid{grid-template-columns:1fr}.today-card>div{grid-template-columns:60px 1fr}.today-card button{grid-column:1/-1;justify-content:center}.workspace{flex-direction:column;margin:12px auto 115px;padding:0 9px;display:flex}.episode-rail{width:100%;position:static}.market-card,.orderbook-card,.account-strip,.orders-card{width:100%}.market-header{grid-template-columns:1fr auto}.chart-toolbar{overflow-x:auto}.chart-toolbar button{white-space:nowrap}.chart-shell svg{height:420px}.account-strip{grid-template-columns:repeat(2,1fr)}.playback-dock{justify-content:flex-start;width:auto;min-width:0;bottom:8px;left:8px;right:8px;overflow-x:auto;transform:none}.playback-dock .progress-track,.playback-dock>svg{display:none}.mode-picker,.setup-grid,.profile-stats{grid-template-columns:repeat(2,1fr)}.profile-findings{grid-template-columns:1fr}.history-table{overflow-x:auto}.history-head,.history-row{min-width:720px}.behavior-grid{grid-template-columns:repeat(2,1fr)}.trade-point-list article{grid-template-columns:35px 1fr 55px}.trade-point-list article>span:nth-last-child(-n+2){display:none}.review-columns,.episode-reveal{grid-template-columns:1fr}.metric-row{grid-template-columns:repeat(3,1fr)}.review-card,.setup-card{padding:18px}}.resonance-panel{border-bottom:1px solid var(--line);background:linear-gradient(120deg,#fff,#fafbfc);padding:11px 13px}.resonance-panel>header{align-items:center;gap:7px;margin-bottom:9px;display:flex}.resonance-panel>header strong{font-size:10px}.resonance-panel>header b{color:var(--muted);margin-left:auto;font-size:11px}.resonance-panel>header em{background:var(--red);color:#fff;border-radius:999px;padding:3px 6px;font-size:7px;font-style:normal}.resonance-lights{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.resonance-light{border:1px solid var(--line);cursor:help;background:#fff;border-radius:8px;grid-template-columns:10px 1fr;align-items:center;column-gap:4px;padding:6px;display:grid}.resonance-light i{background:#b6bcc6;border-radius:50%;width:9px;height:9px;box-shadow:inset 0 0 0 2px #ffffffbf}.resonance-light b{font-size:8px}.resonance-light small{color:var(--muted);grid-column:2;font-size:7px}.resonance-light.on{background:#fff5f7;border-color:#ffbdc9}.resonance-light.on i{background:var(--red);box-shadow:0 0 9px #e6002d8c}.resonance-light.off i{background:var(--green)}.resonance-light.unavailable{opacity:.65}.resonance-panel.all-on{background:linear-gradient(120deg,#fff0f3,#fff)}.resonance-panel.compact{background:0 0;border:0;margin-top:6px;padding:5px 0}.resonance-panel.compact>header{margin-bottom:4px}.resonance-panel.compact>header strong{font-size:7px}.resonance-panel.compact .resonance-light{background:0 0;border:0;grid-template-columns:7px 1fr;padding:3px}.resonance-panel.compact .resonance-light i{width:7px;height:7px}.resonance-panel.unavailable{color:var(--muted);justify-content:space-between;font-size:8px;display:flex}.resonance-timeline{gap:8px;padding-bottom:5px;display:flex;overflow-x:auto}.resonance-timeline>article{background:#f8f9fb;border-left:3px solid #cbd0d8;border-radius:8px;min-width:190px;padding:9px}.resonance-timeline>article.all-on{border-left-color:var(--red);background:#fff4f6}.resonance-timeline time{color:var(--muted);font-size:8px}.trade-point-list article>div{min-width:0}@media (prefers-reduced-motion:reduce){.resonance-light.on i{box-shadow:none}.modal-backdrop,.review-card,.setup-card,.pulse,.spin{animation:none!important}}.back-link{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;display:flex}.challenge-map>header{text-align:center;max-width:760px;margin:30px auto}.challenge-map h1{margin:9px 0;font-size:38px}.challenge-map>header p{color:var(--muted);line-height:1.7}.level-map{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.level-map>button{border:1px solid var(--line);min-height:155px;box-shadow:var(--shadow);cursor:pointer;background:#fff;border-radius:18px;flex-direction:column;align-items:flex-start;gap:7px;padding:18px;display:flex}.level-map>button span{color:#7c8490;background:#f2f4f7;border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.level-map>button.current{background:linear-gradient(140deg,#fff,#fff3f5);border-color:#ff9aac}.level-map>button.current span,.level-map>button.passed span{background:var(--red);color:#fff}.level-map>button.locked{opacity:.52;cursor:not-allowed}.level-map b{font-size:15px}.level-map small{color:var(--muted)}.level-map em{color:var(--red);margin-top:auto;font-size:9px;font-style:normal}.challenge-loading,.challenge-notice{color:#9f2740;background:#fff5f7;border:1px solid #ffd3dc;border-radius:10px;justify-content:center;align-items:center;gap:7px;margin:12px auto;padding:10px 14px;font-size:10px;display:flex}.challenge-workspace{max-width:1780px;margin:0 auto;padding:14px 18px 40px}.challenge-top{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:15px;grid-template-columns:42px 1fr minmax(260px,1fr) 220px auto;align-items:center;gap:14px;padding:12px 16px;display:grid}.challenge-top>button:first-child{cursor:pointer;background:#f2f4f7;border:0;border-radius:9px;width:34px;height:34px}.challenge-top>div{flex-direction:column;gap:3px;display:flex}.challenge-top small,.challenge-top span{color:var(--muted);font-size:9px}.challenge-target i{background:#eef0f3;border-radius:6px;height:5px;overflow:hidden}.challenge-target i em{background:var(--red);height:100%;display:block}.advance-day{color:#fff;cursor:pointer;background:#111827;border:0;border-radius:9px;align-items:center;gap:5px;padding:10px 13px;display:flex}.settlement-banner{color:#8b5b0c;background:#fff0d8;border-radius:10px;justify-content:space-between;align-items:center;margin-top:10px;padding:10px 14px;font-size:10px;display:flex}.settlement-banner button{color:#fff;background:#8b5b0c;border:0;border-radius:7px;padding:6px 10px}.challenge-grid{grid-template-columns:300px minmax(650px,1fr) 330px;gap:12px;margin-top:12px;display:grid}.sector-browser,.challenge-chart,.challenge-ticket>section{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:15px}.sector-browser{grid-template-rows:auto 220px 1fr;height:calc(100vh - 190px);display:grid;overflow:hidden}.sector-browser>header{border-bottom:1px solid var(--line);align-items:center;gap:7px;padding:12px;display:flex}.sector-tabs,.challenge-stock-list{padding:6px;overflow:auto}.sector-tabs button,.challenge-stock-list button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:7px 8px;display:flex}.sector-tabs button.active,.challenge-stock-list button.active{background:var(--red-soft)}.sector-tabs span,.challenge-stock-list span{flex-direction:column;display:flex}.sector-tabs small,.challenge-stock-list small{color:var(--muted);font-size:7px}.sector-tabs b,.challenge-stock-list em{font-size:9px;font-style:normal}.challenge-stock-list b{font-size:10px}.challenge-chart{overflow:hidden}.challenge-chart>header{justify-content:space-between;align-items:center;padding:12px 15px;display:flex}.challenge-chart h2{margin:0;font-size:17px}.challenge-chart h2 small,.challenge-chart p{color:var(--muted);font-size:8px}.challenge-chart p{margin:4px 0 0}.challenge-chart>header>strong{font-size:22px}.rotation-strip{border-top:1px solid var(--line);grid-template-columns:repeat(6,1fr);display:grid}.rotation-strip span{border-right:1px solid var(--line);flex-direction:column;padding:9px;display:flex}.rotation-strip b{font-size:8px}.rotation-strip em,.rotation-strip small{color:var(--muted);font-size:7px;font-style:normal}.challenge-ticket{flex-direction:column;gap:10px;display:flex}.challenge-ticket>section{padding:13px}.intel-card h3{margin:7px 0}.intel-card p,.intel-card>small{color:var(--muted);font-size:9px;line-height:1.55;display:block}.intel-card div{flex-wrap:wrap;gap:5px;margin:8px 0;display:flex}.intel-card em{background:var(--red-soft);color:var(--red);border-radius:999px;padding:3px 6px;font-size:7px;font-style:normal}.challenge-order label{color:var(--muted);flex-direction:column;gap:4px;margin-bottom:7px;font-size:8px;display:flex}.challenge-order input{border:1px solid var(--line);border-radius:8px;outline:0;padding:8px}.challenge-order>div{grid-template-columns:1fr 1fr;gap:7px;display:grid}.challenge-order button{color:#fff;cursor:pointer;border:0;border-radius:9px;padding:10px}.challenge-order .buy{background:var(--red)}.challenge-order .sell{background:var(--green)}.challenge-order p{color:var(--muted);font-size:8px}.portfolio-mini header,.portfolio-mini>div{justify-content:space-between;align-items:center;display:flex}.portfolio-mini header{margin-bottom:7px}.portfolio-mini header span{color:var(--muted);font-size:8px}.portfolio-mini>div{border-top:1px solid #eef0f2;padding:7px 0;font-size:8px}.portfolio-mini>p{color:var(--muted);font-size:9px}.challenge-review{z-index:90;border:1px solid var(--line);text-align:center;background:#fff;border-radius:22px;width:min(820px,92vw);height:max-content;max-height:80vh;padding:28px;position:fixed;inset:90px 50%;overflow:auto;transform:translate(-50%);box-shadow:0 30px 90px #00000047}.challenge-review>button:first-child{background:0 0;border:0;font-size:22px;position:absolute;top:14px;right:14px}.challenge-review>svg{color:var(--red);width:46px;height:46px}.challenge-review>div{text-align:left;grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.challenge-review span{background:#f7f8fa;border-radius:9px;flex-direction:column;padding:9px;display:flex}.challenge-review b{font-size:9px}.challenge-review em,.challenge-review small{color:var(--muted);font-size:8px;font-style:normal}.challenge-review>.primary-button{margin:15px auto 0}.scenario-tag{color:#92400e;background:#fef3c7;border-radius:6px;margin-bottom:4px;padding:2px 8px;font-size:8px;font-weight:700;display:inline-block}.scenario-note{margin-top:4px;font-style:italic;color:#6b7280!important}.scenario-reveal{color:#92400e;background:#fef3c7;border-radius:4px;margin-left:4px;padding:1px 5px;font-size:7px;font-style:normal;display:inline-block}@media (width<=1200px){.level-map{grid-template-columns:repeat(3,1fr)}.challenge-grid{grid-template-columns:240px minmax(560px,1fr)}.challenge-ticket{grid-column:1/-1;grid-template-columns:1fr 1fr 1fr;display:grid}.challenge-top{grid-template-columns:42px 1fr 1fr auto}.challenge-top>div:nth-of-type(3){display:none}}@media (width<=900px){.level-map{grid-template-columns:repeat(2,1fr)}.challenge-workspace{padding:10px}.challenge-top{grid-template-columns:34px 1fr auto}.challenge-target{grid-column:1/-1}.challenge-grid{flex-direction:column;display:flex}.sector-browser{height:520px}.challenge-ticket{display:flex}.rotation-strip{grid-template-columns:repeat(3,1fr)}.challenge-review>div{grid-template-columns:1fr}.challenge-map h1{font-size:30px}}.quote-list span small,.quote-list em small{font-size:6px;display:block}.quote-list .my-order{color:#7c3aed;font-weight:750}.order-table em.partially_filled{color:#a66a00}.trade-point-list article{align-items:start}.perspective-split{grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;display:grid}.perspective-split section{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px}.perspective-split section:last-child{background:#f8f9fb}.perspective-split span{color:var(--red);font-size:7px;font-weight:800}.perspective-split section:last-child span{color:#6b7280}.perspective-split p{line-height:1.5}.trade-coach-action{background:#fff6e6;border-radius:8px;align-items:center;gap:7px;margin-top:6px;padding:7px;display:flex}.trade-coach-action>b{color:#fff;background:#f59e0b;border-radius:7px;place-items:center;width:26px;height:26px;font-size:9px;display:grid}.trade-coach-action span{flex-direction:column;display:flex}.trade-coach-action strong{font-size:8px}.trade-coach-action small{color:var(--muted);margin-top:2px;font-size:7px}.pattern-filter{background:linear-gradient(120deg,#fff9fa,#fff);border:1px solid #ffd2da;border-radius:13px;margin:10px 0;padding:13px}.pattern-filter-head,.pattern-filter-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.pattern-filter-head span,.pattern-filter>small{color:var(--muted);font-size:8px}.pattern-filter select{border:1px solid var(--line);background:#fff;border-radius:7px;margin-left:5px;padding:5px}.pattern-chips{flex-wrap:wrap;gap:6px;margin:11px 0;display:flex}.pattern-chips button,.pattern-filter-row button{border:1px solid var(--line);color:#5f6774;cursor:pointer;background:#fff;border-radius:999px;padding:6px 9px;font-size:8px}.pattern-chips button.active,.pattern-filter-row button.active{background:var(--red-soft);color:var(--red);border-color:#ff98ab;font-weight:700}.pattern-filter-row label{color:var(--muted);align-items:center;gap:6px;font-size:8px;display:flex}.pattern-filter-row input{border:1px solid var(--line);text-align:center;border-radius:7px;width:58px;padding:6px}.pattern-filter-row i{font-style:normal}.pattern-filter>small{margin-top:10px;line-height:1.5;display:block}.chart-zoom{z-index:2;align-items:center;gap:5px;display:flex;position:absolute;top:6px;right:10px}.chart-shell{position:relative}.chart-zoom>button{border:1px solid var(--line);color:#5f6774;cursor:pointer;background:#ffffffeb;border-radius:6px;justify-content:center;align-items:center;min-width:22px;height:21px;padding:0 6px;font-size:9px;display:inline-flex}.chart-zoom>button:hover{color:var(--red);border-color:#ff98ab}.chart-zoom>button.active{background:var(--red-soft);color:var(--red);border-color:#ff98ab;font-weight:700}.chart-zoom>.zoom-range{color:var(--muted);cursor:help;font-size:9px}.chart-hover-card{z-index:8;pointer-events:none;color:#667085;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border:1px solid #64748b42;border-radius:11px;grid-template-columns:1fr 1fr;gap:7px 12px;width:184px;padding:11px 12px;font-size:11px;display:grid;position:absolute;top:48px;transform:translate(12px);box-shadow:0 12px 32px #0f172a29}.chart-hover-card.align-left{transform:translate(calc(-100% - 12px))}.chart-hover-card strong{border-bottom:1px solid var(--line);color:var(--ink);grid-column:1/-1;padding-bottom:6px;font-size:12px}.chart-hover-card span{justify-content:space-between;gap:8px;display:flex}.chart-hover-card b{color:var(--ink)}.chart-shell.zoomable{cursor:crosshair}.chart-shell.zoomable:active{cursor:grabbing}.cost-line{pointer-events:none}.holding-strip{grid-template-columns:160px repeat(5,minmax(105px,1fr));padding:0;overflow:hidden}.holding-strip>header{border-right:1px solid var(--line);background:linear-gradient(135deg,#fff4f6,#fff);grid-template-columns:24px 1fr;align-content:center;column-gap:8px;padding:12px 16px;display:grid}.holding-strip>header svg{color:var(--red);grid-row:span 2}.holding-strip>header strong{font-size:13px}.holding-strip>header small{color:var(--muted);font-size:9px}.holding-strip>div{min-height:66px;padding:9px 12px}.holding-strip>div strong{white-space:nowrap;font-size:13px}.holding-strip>div:last-child{border:0}.quick-quantity{grid-template-columns:repeat(4,1fr)}.playback-dock{gap:6px;min-width:min(1260px,100vw - 30px);height:64px;padding:0 12px}.playback-dock button{min-width:40px;height:40px}.playback-dock button small{font-size:8px}.playback-dock .next-day-button{color:#111827;background:#fff;width:auto;padding:0 12px}.next-day-button b{font-size:11px}.next-day-button kbd{color:#475569;background:#e9edf2;border-radius:5px;padding:2px 5px;font-size:9px}.playback-dock .rate{padding:0 9px;font-size:10px}.playback-dock .rate.speed{min-width:38px}.playback-dock .dock-label{font-size:10px}.ticket label{height:42px;font-size:11px}.trade-button{height:48px;font-size:13px}.side-tabs button{height:68px;font-size:20px}.quote-list div{height:27px;font-size:11px}.panel-title strong{font-size:14px}.chart-toolbar{height:51px}.chart-toolbar button{padding:8px 14px;font-size:12px}@media (width<=1200px){.holding-strip{grid-template-columns:repeat(3,1fr)}.holding-strip>header{border-right:0;border-bottom:1px solid var(--line);grid-column:1/-1}.holding-strip>div{border-bottom:1px solid var(--line)}.playback-dock{min-width:calc(100vw - 20px)}}@media (width<=900px){.holding-strip{grid-template-columns:repeat(2,1fr)}.chart-hover-card{width:170px;top:55px}.playback-dock .dock-label{display:none}.playback-dock .rate.speed{min-width:36px}}.level-map>button{min-height:188px}.level-map>button small+small{color:#7c8490;font-size:8px;line-height:1.45}.challenge-rules{background:linear-gradient(145deg,#fff,#fff5f7)!important}.challenge-rules p{color:#596170;margin:8px 0;font-size:9px;line-height:1.55}.challenge-top kbd{background:#ffffff29;border-radius:5px;padding:2px 5px;font-size:9px}.portfolio-mini>div{grid-template-columns:60px 1fr 1fr auto;gap:6px;display:grid}.challenge-stars{color:#f59e0b;letter-spacing:3px;margin:4px 0;font-size:22px}.review-pass-rules{color:#596170;text-align:left;background:#f8fafc;border-radius:10px;width:max-content;max-width:100%;margin:10px auto 16px;padding:10px 26px;font-size:10px}.challenge-review>.challenge-review-actions{justify-content:center;gap:10px;margin-top:16px;display:flex}.challenge-review-actions button{cursor:pointer;border:0;border-radius:9px;align-items:center;gap:6px;padding:10px 16px;display:inline-flex}.challenge-review-actions .primary-button{background:var(--red);color:#fff}.challenge-review-actions .secondary-button{color:#374151;background:#f1f3f6}.crash-screen{color:#111827;background:#fff8f9;border:1px solid #ffd2da;border-radius:14px;max-width:900px;margin:60px auto;padding:24px}.crash-screen h2{color:var(--red);margin:0 0 10px;font-size:20px}.crash-message{margin:0 0 12px;line-height:1.7}.crash-screen pre{color:#f6f7f9;white-space:pre-wrap;word-break:break-all;background:#1f2430;border-radius:9px;max-height:320px;padding:12px;font-size:10px;line-height:1.6;overflow:auto}.crash-screen button{background:var(--red);color:#fff;cursor:pointer;border:0;border-radius:9px;margin-top:14px;padding:9px 16px}.chart-shell.drawing-active,.chart-shell.drawing-active:active{cursor:crosshair}.chart-drawing-tools{z-index:12;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;border:1px solid #94a3b847;border-radius:10px;align-items:center;gap:3px;min-height:32px;padding:4px 5px;display:flex;position:absolute;top:36px;right:12px;box-shadow:0 8px 22px #0f172a1a}.chart-drawing-tools>span{color:#64748b;padding:0 5px;font-size:10px;font-weight:700}.chart-drawing-tools>i{background:#e5e7eb;width:1px;height:18px;margin:0 2px}.chart-drawing-tools button{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;width:27px;height:27px;padding:0;display:grid}.chart-drawing-tools button:hover:not(:disabled){color:var(--ink);background:#f3f4f6}.chart-drawing-tools button.active{background:var(--red-soft);color:var(--red)}.chart-drawing-tools button:disabled{opacity:.3;cursor:not-allowed}.chart-drawing-tools>em{color:#fff;white-space:nowrap;background:#111827;border-radius:7px;padding:5px 8px;font-size:9px;font-style:normal;position:absolute;top:36px;right:0}.user-drawing{stroke:#7c3aed;stroke-width:1.8px;stroke-linecap:round;filter:drop-shadow(0 1px 1px #4c1d9524)}.user-drawing.horizontal{stroke-dasharray:7 4}.user-drawings circle{fill:#fff;stroke:#7c3aed;stroke-width:1.8px}.user-drawings text{fill:#6d28d9;font-size:9px;font-weight:700}.drawing-draft line{stroke:var(--red);stroke-width:1.6px;stroke-dasharray:5 4}.drawing-draft circle{fill:#fff;stroke:var(--red);stroke-width:2px}.chart-shell.drawing-active .chart-hover-card{display:none}.open-orders{background:#fbf8ff;border:1px solid #eadcf9;border-radius:11px;margin-top:11px;padding:10px}.open-orders>header{justify-content:space-between;align-items:center;margin-bottom:7px;display:flex}.open-orders>header strong{color:#4c1d95;font-size:11px}.open-orders>header span{color:#7c3aed;font-size:9px}.open-orders article{border-top:1px solid #eee7f7;grid-template-columns:26px 1fr auto;align-items:center;gap:8px;min-height:43px;padding:6px 0;display:grid}.open-orders article>b{color:#fff;border-radius:7px;place-items:center;width:24px;height:24px;font-size:10px;display:grid}.open-orders article>b.buy{background:var(--red)}.open-orders article>b.sell{background:var(--green)}.open-orders article>div{flex-direction:column;display:flex}.open-orders article strong{font-size:11px}.open-orders article small{color:var(--muted);margin-top:2px;font-size:9px}.open-orders article>button{color:#6d28d9;cursor:pointer;background:#fff;border:1px solid #d8c5ed;border-radius:8px;min-width:52px;padding:7px 9px;font-size:10px;font-weight:700}.open-orders article>button:hover{background:#f2eaff}.order-table>div{grid-template-columns:32px 90px 1fr 70px 66px}.order-table .cancel-order-button{color:#6d28d9;background:#f4edfb;justify-content:center;align-items:center;gap:4px;width:60px;height:25px;font-size:9px;font-weight:700;display:flex}.order-table .cancel-order-button:hover{background:#eadcf9}@media (width<=900px){.chart-drawing-tools{top:35px;right:8px}.chart-drawing-tools>span{display:none}.chart-drawing-tools>em{font-size:8px}.open-orders article>button{min-width:60px;min-height:34px}}.coach-error-detail{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:10px 0;padding:11px 12px;font-size:11px;line-height:1.55;display:grid}.coach-error-detail strong{white-space:nowrap}.coach-error-detail button{color:#c2410c;cursor:pointer;background:#fff;border:1px solid #fdba74;border-radius:9px;min-height:32px;padding:0 12px;font-weight:700}.day-rate{min-width:58px!important}.day-rate.active{box-shadow:0 0 0 2px #e6002d29}@media (width<=700px){.coach-error-detail{grid-template-columns:1fr}.coach-error-detail button{width:100%}}button,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #e6002d33}button:disabled{cursor:not-allowed;opacity:.55}.hero-art{z-index:1;object-fit:cover;object-position:center;opacity:.82;width:100%;height:100%;position:absolute;inset:0}.hall-hero:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(90deg,#fffffffc 0%,#fffffff0 38%,#ffffff47 69%,#ffffff14 100%);position:absolute;inset:0}.hero-copy,.hero-stat-card{z-index:3;position:relative}.profile-hero-art{z-index:0;object-fit:cover;object-position:68% center;opacity:.42;width:54%;height:100%;position:absolute;top:0;right:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 30%);mask-image:linear-gradient(90deg,#0000,#000 30%)}.profile-name,.profile-avatar,.profile-stats{z-index:2;position:relative}.review-hero{background:#fff8f9;border:0;border-radius:18px;min-height:112px;padding:18px 112px 18px 18px;overflow:hidden}.review-hero>div,.score-ring,.review-close{z-index:2;position:relative}.review-hero-art{z-index:0;object-fit:cover;object-position:70% 50%;opacity:.28;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 15%,#000 65%);mask-image:linear-gradient(90deg,#0000 15%,#000 65%)}.review-hero:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#fff 8%,#ffffffe6 48%,#ffffff1f);position:absolute;inset:0}.review-hero .score-ring{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffdb;position:absolute;top:15px;right:22px}.review-hero .review-close{position:absolute;top:8px;right:8px}.empty-terminal img{filter:drop-shadow(0 18px 38px #e6002d21);width:min(320px,72vw);height:auto}.empty-terminal>svg{display:none}.market-card{position:relative}.chart-state{z-index:18;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;border:1px solid #ffffffe6;border-radius:14px;grid-template-columns:28px 1fr;gap:3px 9px;min-width:220px;padding:16px 18px;display:grid;position:absolute;top:155px;left:50%;transform:translate(-50%);box-shadow:0 18px 48px #0f172a24}.chart-state svg{color:var(--red);grid-row:span 2}.chart-state span{color:var(--muted);font-size:9px}.chart-state.error{border-color:#ffd1d9;grid-template-columns:28px 1fr auto}.chart-state.error span{grid-column:2}.chart-state button{background:var(--red);color:#fff;cursor:pointer;border:0;border-radius:8px;grid-area:1/3/3;padding:0 12px;font-size:10px}.ticket label.invalid{background:#fff7f8;border-color:#ef476f}.field-error,.inline-error{color:#c40027;margin:8px 0 0;font-size:10px;line-height:1.5}.inline-error{background:#fff0f3;border-radius:8px;padding:9px 10px}.funds-preview span:last-child{border-top:1px solid var(--line);margin-top:5px;padding-top:5px}.action-backdrop{padding:20px}.trade-confirm-card,.action-confirm-card{background:#fff;border-radius:22px;width:min(480px,100vw - 28px);animation:.22s ease-out riseIn;box-shadow:0 32px 100px #0000004d}.trade-confirm-card{padding:22px}.trade-confirm-card>header{grid-template-columns:52px 1fr 36px;align-items:center;gap:12px;display:grid}.trade-confirm-card>header>button{cursor:pointer;background:#f2f4f7;border:0;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.confirm-side{color:#fff;border-radius:15px;place-items:center;width:52px;height:52px;font-size:25px;font-weight:850;display:grid}.confirm-side.buy{background:var(--red)}.confirm-side.sell{background:var(--green)}.trade-confirm-card header small{color:var(--red);font-size:10px;font-weight:700}.trade-confirm-card h2{margin:2px 0 0;font-size:21px}.confirm-summary{border:1px solid var(--line);border-radius:14px;grid-template-columns:1fr 1fr;margin:18px 0;display:grid;overflow:hidden}.confirm-summary span{color:var(--muted);background:#fafbfc;flex-direction:column;padding:12px;font-size:10px;display:flex}.confirm-summary span:nth-child(odd){border-right:1px solid var(--line)}.confirm-summary span:nth-child(-n+2){border-bottom:1px solid var(--line)}.confirm-summary b{color:var(--ink);margin-top:4px;font-size:14px}.confirm-note{color:#596170;background:#f8f9fb;border-radius:10px;padding:10px 12px;font-size:10px}.confirm-note b{color:var(--ink);margin-bottom:3px;display:block}.confirm-risk{color:#8a5b09;align-items:flex-start;gap:8px;font-size:10px;line-height:1.55;display:flex}.confirm-risk svg{color:#f59e0b;flex:none}.trade-confirm-card footer,.action-confirm-card footer{grid-template-columns:1fr 1.4fr;gap:9px;margin-top:18px;display:grid}.trade-confirm-card footer button,.action-confirm-card footer button{cursor:pointer;border:0;border-radius:11px;justify-content:center;align-items:center;gap:6px;min-height:46px;font-weight:750;display:flex}.secondary-action{color:#4b5563;background:#f1f3f6}.primary-action,.danger-action{color:#fff;background:var(--red)}.primary-action.sell{background:var(--green)}.action-confirm-card{text-align:center;padding:26px}.warning-orb{width:54px;height:54px;color:var(--red);background:#fff0f3;border-radius:16px;place-items:center;margin:0 auto 12px;display:grid}.action-confirm-card h2{margin:0;font-size:21px}.action-confirm-card>p{max-width:380px;color:var(--muted);margin:10px auto 0;font-size:11px;line-height:1.7}.toast{cursor:default;max-width:min(520px,100vw - 32px);min-height:48px;padding:10px 10px 10px 13px;bottom:24px;left:24px}.toast>svg{flex:none}.toast>span{flex:1;line-height:1.55}.toast>button{cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.toast.success{border-color:#bae6c7}.toast.success>svg{color:var(--green)}.toast.error{background:#fff8f9;border-color:#ffc3cf}.toast.error>svg{color:var(--red)}.playback-dock{grid-template-columns:auto auto minmax(180px,1fr) auto;align-items:center;display:grid}.dock-transport,.dock-pace,.dock-status{align-items:center;gap:5px;display:flex}.dock-status{min-width:190px}.dock-status span{color:#abb1ba;white-space:nowrap;font-size:9px}.mobile-pace{display:none}.playback-dock .finish-button{min-width:112px}.playback-dock button:disabled{opacity:.42}@media (width<=900px){body{min-width:320px}.topbar{padding:9px 12px}.topbar-user>button:first-child,.topbar-user .user-avatar{display:none}.main-nav button{justify-content:center;min-height:42px}.main-nav button svg{width:15px}.page-wrap{padding:14px 12px 44px}.hall-hero{min-height:420px;padding:24px 22px 180px}.hall-hero:after{background:linear-gradient(#fffffffc 0%,#ffffffe6 54%,#ffffff14 100%)}.hero-art{object-position:72% bottom;opacity:.78}.hero-copy h1{font-size:34px;line-height:1.2}.hero-copy p{font-size:13px}.hero-actions{flex-wrap:wrap}.hero-actions button{min-height:48px}.training-modes>button{min-height:190px;padding:22px}.training-modes h2{font-size:20px}.training-modes p{font-size:12px}.profile-hero{grid-template-columns:70px 1fr;padding:20px 18px 0}.profile-avatar{width:62px;height:62px}.profile-hero-art{opacity:.22;width:100%}.profile-stats>span{padding:15px 10px}.profile-stats b{font-size:17px}.workspace{margin-bottom:158px;padding:0 8px}.episode-rail{padding:18px}.market-header{padding:15px}.price-block strong{font-size:24px}.quote-info{grid-template-columns:repeat(4,1fr);height:auto;padding:7px}.chart-toolbar{height:48px}.chart-shell svg{height:360px}.chart-state{max-width:calc(100% - 24px);top:140px}.orderbook-card{border-radius:16px}.side-tabs button{min-height:72px}.ticket label{min-height:46px}.quick-quantity button{min-height:40px}.trade-button{min-height:52px}.holding-strip{grid-template-columns:1fr 1fr}.holding-strip>div{min-width:0}.holding-strip>div strong{white-space:normal;overflow-wrap:anywhere}.order-table>div{grid-template-columns:32px 66px 1fr 58px 30px;height:auto;min-height:42px}.order-table{padding-inline:8px}.playback-dock{border-radius:17px;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;gap:7px;width:auto;min-width:0;height:auto;padding:8px;bottom:8px;left:8px;right:8px;overflow:visible}.desktop-pace{display:none}.dock-transport{grid-template-columns:42px 48px 48px minmax(96px,1fr);gap:5px;display:grid}.playback-dock button{min-width:42px;min-height:44px}.dock-transport .next-day-button{padding:0 9px}.dock-transport>button:nth-child(3) small,.next-day-button kbd{display:none}.mobile-pace{align-items:center;gap:6px;min-width:0;display:flex}.mobile-pace label{color:#abb1ba;align-items:center;gap:4px;font-size:9px;display:flex}.mobile-pace select{color:#fff;background:#262e3b;border:1px solid #ffffff29;border-radius:8px;height:34px;padding:0 6px}.dock-status{justify-content:flex-end;min-width:0}.dock-status .progress-track,.dock-status span:first-of-type{display:none}.playback-dock .finish-button{grid-area:1/2;min-width:104px;padding:0 10px}.dock-status{grid-area:2/2}.toast{max-width:none;bottom:128px;left:12px;right:12px}.modal-backdrop{padding:12px}.trade-confirm-card,.action-confirm-card{border-radius:18px}.confirm-summary{grid-template-columns:1fr}.confirm-summary span:nth-child(n){border-right:0;border-bottom:1px solid var(--line)}.confirm-summary span:last-child{border-bottom:0}.review-card,.setup-card{border-radius:18px;width:calc(100vw - 20px);max-height:94vh;padding:14px}.review-hero{padding:18px 80px 18px 14px}.review-hero h2{font-size:22px}.review-hero .score-ring{width:64px;height:64px;right:12px}.metric-row{grid-template-columns:repeat(2,1fr)}.metric{min-height:58px}.empty-terminal{text-align:center;padding:20px}.challenge-top{grid-template-columns:40px minmax(0,1fr) auto}.challenge-target{grid-area:2/1/auto/-1}.challenge-top .advance-day{white-space:nowrap;grid-area:1/3;justify-content:center;min-width:96px}}.chart-shell{contain:layout paint;overflow:hidden}.chart-smooth svg rect,.chart-smooth svg line,.chart-smooth svg circle{transition:x .12s linear,y .12s linear,height .12s linear,cx .12s linear,cy .12s linear}.chart-smooth svg path{will-change:d}.chart-legend,.chart-zoom>.zoom-range,.chart-state span{font-size:11px}.chart-state strong{font-size:13px}.large-text{font-size:17px}.large-text small,.large-text .eyebrow,.large-text label,.large-text p{font-size:max(12px,1em)}.large-text button,.large-text input,.large-text select{font-size:13px}.notification-layer{z-index:120;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#11182738;position:fixed;inset:0}.notification-drawer{background:#fff;border:1px solid #ffffffe6;border-radius:20px;width:min(420px,100vw - 24px);max-height:calc(100vh - 92px);animation:.2s riseIn;position:absolute;top:72px;right:18px;overflow:auto;box-shadow:0 28px 80px #0f172a3d}.notification-drawer>header{z-index:2;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;justify-content:space-between;align-items:center;padding:20px;display:flex;position:sticky;top:0}.notification-drawer h2{margin:5px 0 0;font-size:22px}.notification-drawer header button{cursor:pointer;background:#f3f5f7;border:0;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.notification-list{padding:8px}.notification-list article{border-bottom:1px solid #edf0f3;grid-template-columns:38px 1fr;gap:11px;padding:14px 12px;display:grid}.notification-list article>i{color:#2563eb;background:#eef4ff;border-radius:11px;place-items:center;width:36px;height:36px;display:grid}.notification-list article.success>i{color:var(--green);background:#eaf8ef}.notification-list article.warning>i{color:#d08700;background:#fff5df}.notification-list article svg{width:17px}.notification-list strong{font-size:14px}.notification-list p{color:#667085;margin:5px 0;font-size:12px;line-height:1.55}.notification-list time{color:#98a0ad;font-size:11px}.notification-state{text-align:center;color:#7b8492;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:180px;padding:28px;display:flex}.notification-state strong{color:var(--ink);font-size:14px}.notification-state span{font-size:12px}.notification-state button{background:var(--red);color:#fff;cursor:pointer;border:0;border-radius:9px;padding:9px 14px}.challenge-top{grid-template-columns:42px 1fr minmax(240px,1fr) 220px auto}.challenge-playback{gap:6px;flex-direction:row!important}.challenge-playback>button{cursor:pointer;border:0;border-radius:9px;align-items:center;gap:6px;min-height:40px;padding:9px 12px;display:flex}.challenge-playback>button:first-child{color:var(--red);background:#fff0f3}.challenge-playback>button.playing{background:var(--red);color:#fff}.challenge-grid{grid-template-columns:320px minmax(650px,1fr) 340px}.sector-browser>header{justify-content:flex-start;font-size:14px}.sector-browser>header span{color:var(--muted);margin-left:auto;font-size:11px}.stock-filter{border-bottom:1px solid var(--line);gap:7px;padding:10px;display:grid}.stock-filter label{border:1px solid var(--line);color:#8d96a3;border-radius:9px;align-items:center;gap:6px;height:36px;padding:0 10px;display:flex}.stock-filter input{border:0;outline:0;width:100%;min-width:0;font-size:12px}.stock-filter select{border:1px solid var(--line);background:#fff;border-radius:9px;height:36px;padding:0 9px;font-size:12px}.challenge-stock-list{border-top:0}.challenge-stock-list>div{border-radius:9px;grid-template-columns:1fr 36px;align-items:center;min-height:54px;display:grid}.challenge-stock-list>div.active{background:var(--red-soft)}.challenge-stock-list>div.paused{box-shadow:inset 3px 0 #f59e0b}.challenge-stock-list .stock-select{min-width:0;height:100%;padding:9px 8px}.challenge-stock-list .stock-select b{font-size:13px}.challenge-stock-list .stock-select small{font-size:10px}.challenge-stock-list .stock-select em{font-size:12px;font-weight:700}.challenge-stock-list .stock-pause{color:#657080;cursor:pointer;background:#f1f3f6;border:0;border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.challenge-stock-list>div.paused .stock-pause{color:#c77800;background:#fff0dc}.challenge-chart>header{min-height:72px}.challenge-chart h2 small,.challenge-chart p{font-size:11px}.challenge-chart-actions{align-items:center;gap:14px;display:flex}.challenge-chart-actions nav{background:#f3f5f7;border-radius:9px;padding:3px;display:flex}.challenge-chart-actions nav button{color:#657080;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:6px 9px;font-size:11px}.challenge-chart-actions nav button.active{color:var(--red);background:#fff;box-shadow:0 2px 8px #0f172a14}.challenge-chart-actions>strong{font-size:22px}.sector-tabs small,.challenge-stock-list small,.rotation-strip em,.rotation-strip small,.intel-card p,.intel-card>small,.challenge-order label,.challenge-order p,.portfolio-mini header span,.portfolio-mini>div,.challenge-rules p,.rotation-strip b,.challenge-review b{font-size:11px}.intel-card em,.scenario-tag{font-size:10px}.challenge-order input{min-height:40px;font-size:13px}.challenge-order button{min-height:44px;font-size:14px;font-weight:750}.paused-help{color:#b66e00!important}.challenge-playback label{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:flex}.challenge-playback select{border:1px solid var(--line);height:40px;color:var(--ink);background:#fff;border-radius:9px;padding:0 7px;font-size:11px}.challenge-playback>button:not(.advance-day){color:var(--red);background:#fff0f3}.stock-view-tabs{grid-template-columns:repeat(3,1fr);gap:5px;padding:9px 10px 0;display:grid}.stock-view-tabs button{border:1px solid var(--line);color:#657080;cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:4px;min-height:34px;font-size:11px;display:flex}.stock-view-tabs button svg{width:13px}.stock-view-tabs button.active{background:var(--red-soft);color:var(--red);border-color:#ffb5c2;font-weight:700}.sector-browser{grid-template-rows:auto auto auto 1fr}.challenge-stock-list{overflow-anchor:none}.challenge-stock-list>div{grid-template-columns:1fr 32px 32px}.challenge-stock-list .stock-watch{color:#a7afbb;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:28px;height:30px;display:grid}.challenge-stock-list .stock-watch.active{color:#f59e0b;background:#fff7e8}.challenge-stock-list .stock-select b{align-items:center;gap:5px;display:flex}.challenge-stock-list .stock-select b i{color:var(--green);background:#e9f8ee;border-radius:5px;padding:2px 4px;font-size:9px;font-style:normal}.stock-list-empty{color:var(--muted);text-align:center;font-size:12px;line-height:1.6;padding:30px 16px!important;display:block!important}.challenge-account{border-bottom:1px solid var(--line);padding:13px}.challenge-account>header{align-items:center;gap:7px;margin-bottom:10px;display:flex}.challenge-account>header svg{color:var(--red)}.challenge-account>header strong{font-size:13px}.challenge-account>div{grid-template-columns:1fr 1fr;gap:8px;display:grid}.challenge-account span{min-width:0;color:var(--muted);background:#f7f8fa;border-radius:9px;padding:8px;font-size:10px}.challenge-account span b{color:var(--ink);text-overflow:ellipsis;margin-top:4px;font-size:13px;display:block;overflow:hidden}.order-balance{color:var(--muted);justify-content:space-between;gap:5px;font-size:10px;display:flex!important}.order-quick{grid-template-columns:repeat(3,1fr);gap:6px;display:grid!important}.order-quick button{border:1px solid var(--line)!important;color:#4b5563!important;background:#f7f8fa!important;border-radius:8px!important;min-height:32px!important;font-size:11px!important}.portfolio-mini>div{grid-template-columns:minmax(74px,1fr) 1.25fr 1fr auto 42px;align-items:center;gap:6px}.position-select{text-align:left;cursor:pointer;background:0 0;border:0;min-width:0;padding:0}.position-select b,.position-select small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.position-select b{font-size:11px}.position-select small{color:var(--muted);margin-top:2px;font-size:9px}.position-sell{min-height:28px;color:var(--green);cursor:pointer;background:#effaf2;border:1px solid #a7e3bb;border-radius:7px;font-size:10px}.position-sell:disabled{border-color:var(--line);color:#9aa1ab;cursor:not-allowed;background:#f4f5f6}@media (width<=1200px){.challenge-top{grid-template-columns:42px 1fr 1fr auto}.challenge-grid{grid-template-columns:270px minmax(560px,1fr)}.challenge-playback{grid-column:4}.challenge-ticket{grid-column:1/-1}}@media (width<=900px){.notification-drawer{max-height:calc(100vh - 16px);top:8px;right:8px}.challenge-playback{grid-column:3}.challenge-playback>button:first-child{font-size:0}.challenge-playback>button:first-child svg{width:18px;height:18px}.sector-browser{height:460px}.challenge-chart-actions{flex-direction:column;align-items:flex-end;gap:6px}.challenge-chart>header{align-items:flex-start}.challenge-chart-actions nav button{padding:7px 8px}}.setup-card{width:min(880px,94vw)}.mode-picker{grid-template-columns:repeat(5,1fr)}.mode-picker button{height:82px}.special-patterns{background:linear-gradient(120deg,#fff9fa,#fff);border:1px solid #ffd2da;border-radius:13px;padding:13px}.special-patterns>header{justify-content:space-between;align-items:center;display:flex}.special-patterns>header strong{font-size:13px}.special-patterns>header span,.special-patterns>p{color:var(--muted);font-size:11px}.special-patterns>div{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px;display:grid}.special-patterns button{text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;min-height:66px;padding:10px}.special-patterns button.active{background:var(--red-soft);border-color:#ff98ab;box-shadow:0 4px 14px #e6002d14}.special-patterns b{color:var(--ink);font-size:12px;display:block}.special-patterns small{color:var(--muted);margin-top:4px;font-size:10px;line-height:1.4;display:block}.pattern-presets{gap:6px;margin-top:10px;display:flex;overflow:auto}.pattern-presets button{color:var(--red);cursor:pointer;background:#fff;border:1px solid #ffd0d8;border-radius:8px;flex:none;padding:6px 9px;font-size:10px}.pattern-chips button,.pattern-filter-row button{font-size:10px}.pattern-filter-head strong{font-size:12px}.pattern-filter-head span,.pattern-filter>small,.pattern-filter-row label{font-size:10px}@media (width<=900px){.mode-picker{grid-template-columns:repeat(2,1fr)}.special-patterns>div{grid-template-columns:1fr 1fr}}@media (width<=520px){.brand strong{font-size:15px}.brand-mark{width:34px;height:34px}.main-nav button{gap:4px;font-size:9px}.topbar-user{gap:2px}.hall-hero{min-height:440px}.hero-copy h1{font-size:30px}.hero-actions button{justify-content:center;width:100%}.level-map{grid-template-columns:1fr}.profile-stats{grid-template-columns:1fr 1fr}.growth-grid article,.history-table{padding:14px}.behavior-grid,.perspective-split{grid-template-columns:1fr}.dock-transport{grid-template-columns:40px 44px 44px minmax(88px,1fr)}.playback-dock .finish-button{min-width:92px;font-size:9px}.mobile-pace label{font-size:0}.mobile-pace label:before{font-size:9px}.mobile-pace label:first-child:before{content:"步长"}.mobile-pace label:last-child:before{content:"倍速"}}@media (width<=900px){.topbar-user>button:first-child{display:inline-flex}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}

/* Trading Gym user override 2026-10-01: hide chart drawing toolbar */
.chart-drawing-tools{display:none!important}
.chart-shell.drawing-active{cursor:default!important}
