
:root{color-scheme:dark;--bg:#101311;--panel:#181d19;--line:#30372e;--text:#e9eddf;--muted:#98a191;--lime:#d8f36a;--red:#fa736a;--green:#58cda3;--paper:#e9e9d9;--mono:'Space Grotesk',monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:'Noto Sans SC',system-ui,sans-serif;font-size:16px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}button:focus-visible,a:focus-visible{outline:2px solid var(--lime);outline-offset:4px}a{color:inherit;text-decoration:none}button{border:1px solid var(--line);border-radius:5px;background:var(--panel);color:var(--text);padding:10px 16px;transition:background .15s,transform .15s}button:hover:not(:disabled){background:#30372a}button.primary{background:var(--lime);color:#172011;border-color:var(--lime);font-weight:800;padding:15px 25px}button.primary:hover{background:#e8ff93;transform:translateY(-2px)}.topbar{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:23px;letter-spacing:1px}.logo{background:var(--lime);color:#1a2313;width:37px;height:37px;display:grid;place-items:center;border-radius:3px;font-size:23px}.brand small{font:11px var(--mono);color:var(--muted);letter-spacing:2px;margin-left:6px}.terminal-tag{color:var(--muted);font:12px var(--mono)}.welcome{max-width:1200px;margin:auto;padding:90px 30px 40px;position:relative}.eyebrow{font:12px var(--mono);color:var(--lime);letter-spacing:3px}.welcome h1{font-size:clamp(50px,7vw,88px);line-height:1.18;letter-spacing:-4px;margin:30px 0}.welcome h1 em{color:var(--lime);font-style:normal}.welcome p{color:var(--muted);line-height:1.9;margin:0 0 30px}.welcome-foot{font-size:12px;color:var(--muted);margin-top:24px}.welcome-foot span{margin:0 12px}.market-line{border-top:1px solid var(--line);margin-top:80px;padding-top:22px;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted)}.market-line strong{font:25px var(--mono)}.market-line small{font-size:14px}.up{color:var(--red)}.down{color:var(--green)}
@media(max-width:700px){.topbar{padding:0 18px;height:68px}.brand small,.terminal-tag{display:none}.welcome{padding:65px 24px}.welcome h1{letter-spacing:-2px}.market-line{gap:20px;flex-wrap:wrap}.welcome-foot{line-height:2}}
.nav{display:flex;align-items:center;gap:12px}.nav-btn,.icon-btn{border:0;background:none;color:#bdc5b5;font-size:13px;padding:8px}.icon-btn{font-size:22px}.home-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:65px}.home-terminal{border:1px solid var(--line);padding:24px;background:linear-gradient(135deg,#1c221b,#121711);transform:rotate(-2deg);box-shadow:16px 18px 0 #1b2117}.terminal-head,.terminal-bottom{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}.pill{border:1px solid var(--line);padding:4px 7px;font-size:11px;border-radius:3px;white-space:nowrap}.big-index{font:64px var(--mono);margin-top:28px;letter-spacing:-3px}.big-index>span{font-size:40px;color:#929c84}.index-gain{font:18px var(--mono);display:flex;gap:18px}.index-gain small{font:12px 'Noto Sans SC',sans-serif;margin-left:auto}.candles{display:block;width:100%;height:auto;margin-top:15px}.quote{display:flex;align-items:center;gap:12px;padding:18px 0;font-size:13px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.quote span{color:var(--lime);font-size:11px}.quote b{margin-left:auto;color:var(--lime)}.terminal-bottom{padding-top:20px;font-family:var(--mono);gap:10px}.terminal-bottom>span{color:var(--lime);letter-spacing:3px}.terminal-bottom b{font-size:11px}.home-actions{display:flex;gap:12px}.home-actions .primary{min-width:210px;display:flex;justify-content:space-between}.welcome footer{font-size:11px;color:#7e8976;margin-top:30px}.market-line strong{font-size:20px;color:var(--text);margin-left:15px}.muted{color:var(--muted)}.label{color:var(--muted);font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.label small{font:10px var(--mono);letter-spacing:1px}.account{display:grid;grid-template-columns:1.2fr 1.5fr 1fr .7fr;gap:36px;padding:23px 42px;border-bottom:1px solid var(--line);background:#131812}.net>strong{font:35px var(--mono);letter-spacing:-1px;display:block;margin:7px 0 4px}.net>span:last-child{font:12px var(--mono)}.net .muted{font:11px 'Noto Sans SC',sans-serif;margin-left:7px}.position{border-left:1px solid var(--line);padding-left:35px}.position .label b{font:27px var(--mono);color:var(--text)}.position-track{height:7px;background:#2c3425;margin:13px 0 11px;border-radius:1px;overflow:hidden}.position-track i{display:block;height:100%;transition:width .3s}.minor{font-size:11px;color:var(--muted);line-height:1.8;display:block}.position .minor{display:flex;justify-content:space-between;gap:5px}.greed{border-left:1px solid var(--line);padding-left:35px}.greed .label b{font:28px var(--mono);color:var(--lime)}.greed small{font-size:12px;color:var(--muted)}.greed-pips{display:flex;gap:7px;margin:15px 0 10px}.greed-pips i{height:8px;background:#303728;flex:1;transform:skewX(-18deg)}.greed-pips .lit{background:var(--lime)}.fund{border-left:1px solid var(--line);padding-left:35px}.fund strong{display:block;font:29px var(--mono);margin-top:9px}.fund strong small{font-size:11px;color:var(--muted)}.text-btn{border:0;background:transparent;padding:4px 0;font-size:12px;text-align:left}.text-btn:hover:not(:disabled){color:var(--lime);background:none}.fund .text-btn{margin-top:7px;color:var(--muted)}.content{max-width:1320px;margin:0 auto;padding:35px 40px 50px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}.section-title h1{font-size:29px;margin:12px 0}.section-title p{color:var(--muted);font-size:13px;margin:0;line-height:1.8}.section-title .eyebrow{font-size:10px}.chapter{font:13px var(--mono);color:var(--muted);white-space:nowrap}.chapter b{font-size:32px;color:var(--text);margin:0 5px}.map-layout{display:grid;grid-template-columns:1.65fr 1fr;gap:70px}.route-map{padding:0 45px 15px 0;position:relative}.map-row{position:relative;display:flex;align-items:center;margin-bottom:19px;gap:20px}.map-row:not(:last-child):after{content:'';position:absolute;height:19px;width:1px;top:100%;left:52%;background:var(--line)}.row-no{font:11px var(--mono);color:#66735d;width:20px}.map-nodes{flex:1;display:flex;gap:18px;justify-content:center}.map-node{display:flex;align-items:center;gap:12px;padding:11px 14px;min-width:190px;width:100%;max-width:270px;text-align:left;background:#151b15;border-color:#333e2c}.map-node>span:nth-child(2){display:flex;flex-direction:column;gap:4px}.map-node small{font-size:10px;color:var(--muted)}.map-node b{font-size:13px;font-weight:500}.map-node .node-symbol{font:26px var(--mono);color:#b0bf9c;width:28px}.map-node:disabled{opacity:.6}.map-row.current .map-node{border-color:var(--lime);background:#222c17}.map-row.current .node-symbol,.node-arrow{color:var(--lime)}.node-arrow{margin-left:auto}.map-row.past .map-node{opacity:.3}.map-row.past .visited{opacity:.6;border-color:#707f53}.here{position:absolute;right:-68px;font-size:10px;color:var(--lime)}.paper-note{background:#dde2c7;color:#27301f;padding:28px;transform:rotate(1deg);margin-bottom:30px}.paper-note .eyebrow{color:#5d674c;font:11px 'Noto Sans SC',sans-serif;letter-spacing:1px}.paper-note h2{font-size:29px;line-height:1.5;margin:18px 0}.paper-note p{font-size:13px;line-height:1.9;color:#59634c}.note-sign{font-size:11px;display:block;text-align:right}.panel{background:var(--panel);border:1px solid var(--line);padding:22px;border-radius:4px}.panel h3{font-size:16px;margin:0 0 15px}.panel p{color:var(--muted);font-size:13px;line-height:1.8}.habit-panel h3{display:flex;justify-content:space-between;font-size:14px}.habit-panel h3 small{font-size:11px;color:var(--muted);font-weight:400}.habit{display:flex;gap:12px;padding:12px 0;border:0;border-top:1px solid var(--line);text-align:left;background:transparent;width:100%;font-size:13px}.habit i{font-style:normal;font-weight:700;background:#2a3420;border:1px solid #556142;width:32px;height:32px;flex:none;display:grid;place-items:center;color:var(--lime);border-radius:3px}.habit small{display:block;color:var(--muted);font-size:11px;line-height:1.7;margin-top:5px}.map-aside>.text-btn{margin-top:20px}.battle-content{max-width:1500px;margin:auto;padding:22px 42px 12px}.battle-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}.battle-heading .eyebrow{font-size:10px;letter-spacing:2px}.battle-heading h1{font-size:26px;margin:7px 0 0;display:flex;align-items:center;gap:18px}.battle-heading h1 small{font-size:12px;font-weight:400;color:var(--muted)}.battle-days{font:12px var(--mono);color:var(--muted)}.battle-days b{font-size:30px;color:var(--text);margin-left:12px}.battle-grid{display:grid;grid-template-columns:225px 1fr 215px;gap:24px}.intent{padding:16px;border:1px solid #4c5440;background:#21291c;border-radius:4px}.intent.bearish{border-color:#2c614c;background:#192a22}.intent .label{font-size:13px;color:var(--text)}.intent .label small{font-size:10px;color:var(--muted);letter-spacing:0}.intent-number{font:56px var(--mono);margin:12px 0;display:flex;align-items:baseline;gap:12px;line-height:1.1}.intent-number>span{font:11px 'Noto Sans SC',sans-serif;color:var(--muted)}.intent-mood{font-size:11px;display:flex;justify-content:space-between;border-top:1px solid #ffffff12;padding-top:11px;color:var(--muted)}.intent-mood b{color:var(--text);font-size:13px}.intent p{font-size:11px;line-height:1.7;color:#acb99f;margin:10px 0 0}.future{font-size:11px;color:var(--lime);border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.rule-box{padding:17px 2px 0}.rule-box .eyebrow{font-size:10px;color:var(--muted);letter-spacing:1px}.rule-box p{font-size:11px;line-height:1.8;color:#a5af9c;margin:7px 0}.market-stage{background:radial-gradient(ellipse at 60% 10%,#202a18,#141a13 70%);border:1px solid var(--line);border-radius:4px;padding:17px 22px;position:relative;overflow:hidden}.stage-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}.stage-top small{font-size:9px;margin-left:10px;opacity:.7}.stage-quote{display:flex;align-items:baseline;gap:20px;margin-top:15px}.stage-quote strong{font:36px var(--mono);letter-spacing:-1px}.stage-quote span{font-size:11px}.market-stage .candles{max-height:155px;margin-top:10px}.market-banter{font-size:12px;color:#bec8ae;text-align:center;padding:10px 0 17px}.alpha-progress{border-top:1px solid var(--line);padding-top:12px}.alpha-progress>span{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted)}.alpha-progress b{font:16px var(--mono);color:var(--lime)}.alpha-progress b small{font-size:11px;color:var(--muted)}.thin-track{height:4px;background:#30382a;margin:8px 0}.thin-track i{display:block;height:100%;background:var(--lime)}.alpha-progress>small{font-size:10px;color:#849476}.sector-panel h3{font-size:12px;margin:0 0 19px;display:flex;align-items:center;justify-content:space-between}.sector-panel h3 small{font:9px var(--mono);color:var(--muted)}.sector{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:14px;gap:10px}.sector>div{display:flex;gap:4px;margin-left:auto}.sector i{height:9px;width:12px;background:#2a3325}.sector i.warm{background:var(--red)}.sector i.cool{background:var(--green)}.sector-panel>small{font-size:10px;color:var(--muted);display:block;line-height:1.6}.risk-panel{border-top:1px solid var(--line);margin-top:17px;padding-top:10px;display:flex;flex-direction:column;gap:7px}.risk-panel>span{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px}.risk-panel strong{font:28px var(--mono);color:var(--lime)}.risk-panel b{font:15px var(--mono);color:var(--text)}.risk-panel .status-chip{display:block;color:var(--red);font-size:10px}.risk-panel>small{font-size:10px;color:var(--lime)}.tool-btn{font-size:12px;width:100%;margin-top:12px;text-align:left;padding:10px}.tool-btn small{font-size:10px;display:block;color:var(--muted);margin-top:4px}.rumor-box{font-size:11px}.rumor-box button{padding:6px 10px;font-size:11px;margin-right:6px}.hand-zone{margin-top:22px;border-top:1px solid var(--line);padding-top:14px}.hand-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.hand-bar h2{font-size:13px;margin:0;font-weight:500}.hand-bar h2 small{font-size:11px;color:var(--muted);font-weight:400;margin-left:15px}.pile-buttons{display:flex;gap:14px}.pile-buttons button{border:0;background:none;font-size:11px;color:var(--muted);padding:2px}.hand-bottom{display:flex;gap:18px;align-items:center}.energy{width:55px;flex-shrink:0;text-align:center}.energy strong{font:43px var(--mono);color:var(--lime)}.energy strong small{font-size:16px;color:var(--muted)}.energy>span{display:block;font-size:11px;color:var(--muted);margin-top:4px}.energy>div{display:flex;gap:4px;justify-content:center;margin-top:13px}.energy i{width:8px;height:8px;border:1px solid #566344;transform:rotate(45deg)}.energy i.filled{background:var(--lime);border-color:var(--lime)}.hand-cards{display:flex;gap:12px;overflow-x:auto;flex:1;padding:7px 4px 12px;scroll-snap-type:x proximity;min-width:0}.strategy-card{color:#263022;background:var(--paper);border:1px solid #eff0de;border-radius:7px;display:flex;flex-direction:column;padding:0;text-align:left;width:166px;min-width:166px;min-height:248px;position:relative;overflow:hidden;scroll-snap-align:start;transition:transform .17s,box-shadow .17s,opacity .15s;box-shadow:0 3px 0 #61694d;flex:none}.strategy-card:hover:not(:disabled){background:#f5f5e5;transform:translateY(-5px);box-shadow:0 8px 0 #4e5840}.strategy-card:disabled{opacity:.55}.card-top{display:flex;align-items:center;justify-content:space-between;padding:10px 10px 0;gap:5px}.card-cost{width:25px;height:25px;border-radius:50%;background:#263222;color:#ecf0d5;display:grid;place-items:center;font:16px var(--mono);flex:none}.card-top>span:nth-child(2){font:8px var(--mono);letter-spacing:.6px}.card-top>small{font:10px var(--mono);color:#808875}.card-art{height:53px;border-bottom:1px solid #bfc6ae;display:flex;align-items:center;justify-content:space-between;margin:0 12px;overflow:hidden}.card-art>span{font:44px var(--mono);line-height:1;color:#6c7955}.card-chart{font:13px var(--mono);letter-spacing:1px;color:#8a9771;transform:rotate(-8deg)}.card-copy{padding:10px 12px 8px;flex:1}.card-type{font-size:9px;color:#737e61}.card-copy h3{font-size:17px;letter-spacing:-.5px;line-height:1.3;margin:5px 0 9px}.card-copy p{font-size:11px;line-height:1.65;margin:0}.card-footer{padding:8px 12px;border-top:1px solid #c4cbb4;display:flex;justify-content:space-between;font-size:9px;color:#6d795c}.type-趋势 .card-art>span,.type-打板 .card-art>span{color:#a6604e}.type-抄底 .card-art>span{color:#388369}.type-反指 .card-art>span{color:#73608f}.type-稀有{background:#e6d8ae;border-color:#f4e6b8}.type-稀有:hover:not(:disabled){background:#f4e5bb}.upgrade-note{font-size:9px;color:#507234}.card-copy sup{color:#56853d}.close-day{width:142px;flex:none;margin-left:4px}.close-day button{width:100%;display:flex;justify-content:space-between;font-size:16px}.close-day button.danger{background:var(--lime);border-color:var(--lime)}.close-day small{display:block;color:var(--muted);font-size:10px;text-align:center;line-height:1.8;margin-top:10px}.battle-log{display:flex;align-items:center;gap:15px;font-size:11px;border-top:1px solid var(--line);margin-top:14px;padding:10px 0}.battle-log>span{color:var(--muted);flex:none}.battle-log p{margin:0;color:#c9d1ba;flex:1}.battle-log .text-btn{font-size:10px;flex:none}.keyboard-note{font-size:9px;color:#73806a;display:flex;align-items:center;justify-content:space-between}.keyboard-note .text-btn{font-size:10px;color:#85927b}.empty-hand{font-size:13px;color:var(--muted);min-height:235px;display:flex;align-items:center;justify-content:center;flex:1}.centered{text-align:center}.centered .section-title{text-align:left}.reward-cards{display:flex;justify-content:center;gap:30px;margin:40px 0}.reward-cards .strategy-card{width:230px;min-height:335px}.reward-cards .card-art{height:90px}.reward-cards .card-copy h3{font-size:23px}.reward-cards .card-copy p{font-size:14px}.relic-reward{padding:16px;background:#242e19;border:1px solid #4c5d34;font-size:13px}.relic-reward span{display:block;font-size:11px;color:var(--muted);margin-top:8px}.event-paper{max-width:700px;margin:0 auto;background:var(--paper);color:#283020;padding:30px 40px;position:relative}.paper-masthead{border-top:3px solid #283020;border-bottom:1px solid #7d8868;padding:12px 0;font-size:17px;font-weight:800;display:flex;justify-content:space-between;align-items:center}.paper-masthead span{font-size:10px;font-weight:400}.event-paper h2{font-size:35px;margin:36px 0 20px}.event-paper blockquote{font-size:18px;line-height:1.9;margin:0 0 35px;color:#637151}.event-number{position:absolute;right:35px;top:80px;font:100px var(--mono);opacity:.08}.event-choices{display:grid;gap:12px}.event-choices button{background:transparent;color:#293620;border-color:#adb69a;text-align:left;padding:17px;display:flex;align-items:center;justify-content:space-between;font-size:16px}.event-choices button:hover{background:#d7dfc1}.event-choices small{display:block;color:#687659;font-size:12px;margin-top:7px;line-height:1.7}.shop-grid{display:flex;gap:24px;justify-content:center;margin-bottom:30px}.shop-item{display:flex;flex-direction:column;gap:15px;width:210px}.shop-item .strategy-card{width:100%;min-height:285px}.shop-item .card-copy p{font-size:12px}.shop-item>button{font-size:13px}.shop-extras{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:25px 0}.shop-extras .eyebrow{font-size:10px}.shop-extras h3{margin-top:15px}.rest-options{display:flex;gap:28px;justify-content:center;margin:45px 0}.rest-option{width:330px;padding:35px 25px;text-align:center;border-color:#46533a;background:#1b2317}.rest-option>span{display:block;font:68px var(--mono);color:var(--lime)}.rest-option>small{display:block;font:10px var(--mono);letter-spacing:1px;color:var(--muted);margin-top:10px}.rest-option h2{font-size:22px;margin:20px 0}.rest-option p{font-size:14px;color:var(--muted);line-height:1.8}.rest-option b{display:block;border-top:1px solid var(--line);padding-top:20px;color:var(--lime);font-size:14px;margin-top:28px}.result-page{max-width:950px;text-align:center;padding-top:45px}.result-page>h1{font-size:45px;margin:20px 0 10px;letter-spacing:-1px}.result-sub{color:var(--muted);font-size:13px}.result-total{margin:30px 0 0;display:flex;flex-direction:column;gap:10px}.result-total>span{font-size:12px;color:var(--muted)}.result-total strong{font:55px var(--mono)}.result-total small{font-size:12px;color:var(--muted)}.result-chart{max-width:680px;margin:15px auto}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0}.result-stats>div{display:flex;flex-direction:column;gap:8px}.result-stats span{color:var(--muted);font-size:12px}.result-stats b{font:23px var(--mono)}.result-page blockquote{font-size:14px;color:var(--muted);margin:27px 0}.result-page>.text-btn{margin-left:25px}dialog{width:min(1060px,calc(100% - 36px));max-height:85dvh;border:1px solid #536144;border-radius:8px;padding:0;background:#171d15;color:var(--text);box-shadow:0 25px 100px #0009}dialog::backdrop{background:#050905ce;backdrop-filter:blur(5px)}.modal-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:18px 25px;position:sticky;top:0;background:#171d15;z-index:2;gap:15px}.modal-head h2{font-size:19px;margin:0}.modal-head button{padding:2px 10px;font-size:26px;border:0;background:none}.modal-body{padding:25px}.modal-body>p{font-size:14px;line-height:1.9}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:20px}.card-grid .strategy-card{width:100%;min-width:0;min-height:270px}.codex-summary{font-size:12px;color:var(--muted);margin-bottom:20px}.codex-tabs{display:flex;gap:8px;margin-bottom:25px;flex-wrap:wrap}.codex-tabs button{font-size:13px;padding:7px 14px}.codex-tabs .selected{background:var(--lime);color:#233218}.relic-catalog{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 35px}.help-grid b{font-size:16px;color:var(--lime)}.help-grid p{font-size:14px;line-height:1.9;color:#bdc6b3}.help-end{border-top:1px solid var(--line);padding-top:20px;color:var(--muted)}.setting{display:flex;align-items:center;justify-content:space-between;padding:15px 0 25px;border-bottom:1px solid var(--line);margin-bottom:15px}.setting small{display:block;color:var(--muted);font-size:12px;margin-top:7px}.setting button[aria-checked=true]{background:var(--lime);color:#1c2a12}.log-list{font-size:13px;color:#b9c4ad;line-height:2.1;padding-left:25px}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;transition:all .2s;background:#d8f36a;color:#233118;padding:13px 22px;border-radius:5px;z-index:100;font-size:13px;box-shadow:0 7px 30px #0008;max-width:calc(100% - 30px);width:max-content}#toast.visible{opacity:1;transform:translate(-50%,0)}.floating{position:fixed;top:23%;left:42%;pointer-events:none;font:38px var(--mono);font-weight:700;z-index:90;animation:float 1.6s ease-out forwards;text-shadow:0 3px 20px #000}.shake{animation:shake .3s ease-in-out}.no-motion *{animation:none!important;transition:none!important}@keyframes float{0%{opacity:0;transform:translateY(20px)}20%{opacity:1}100%{opacity:0;transform:translateY(-60px)}}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(min-width:1500px){.battle-content{padding-top:30px}.market-stage .candles{max-height:200px}.strategy-card{width:180px;min-width:180px;min-height:265px}.card-copy p{font-size:12px}.battle-grid{gap:30px}.hand-zone{margin-top:30px}}
@media(max-width:1150px){.topbar{padding:0 25px}.terminal-tag{display:none}.account{gap:22px;padding:20px 25px}.position,.greed,.fund{padding-left:22px}.net>strong{font-size:30px}.battle-content{padding-left:25px;padding-right:25px}.battle-grid{grid-template-columns:190px 1fr 175px;gap:17px}.battle-right{font-size:11px}.stage-top small{display:none}.sector i{width:9px}.stage-quote strong{font-size:29px}.close-day{width:112px}.hand-bottom{gap:12px}.hand-cards{gap:9px}.strategy-card{width:150px;min-width:150px}.card-copy p{font-size:10px}.map-layout{gap:55px}.map-node{min-width:155px}.map-nodes{gap:10px}.home-layout{gap:35px}.home-terminal{padding:20px}.big-index{font-size:50px}.index-gain small{display:none}.brand small{display:none}}
@media(max-width:850px){.account{grid-template-columns:1.1fr 1.4fr 1fr}.fund{display:none}.battle-grid{grid-template-columns:190px 1fr}.battle-right{display:flex;gap:20px;grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px;align-items:center}.sector-panel{display:none}.risk-panel{border:0;margin:0;padding:0;display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:15px;flex:1}.risk-panel>span{gap:9px}.risk-panel strong{font-size:20px}.tool-btn{width:auto;margin:0;flex:none}.tool-btn small{display:none}.battle-heading h1 small{display:none}.map-layout{grid-template-columns:1fr}.map-aside{display:grid;grid-template-columns:1fr 1fr;gap:25px}.paper-note{margin:0}.map-aside>.text-btn{grid-column:1/-1}.map-row{margin-bottom:14px}.map-row:not(:last-child):after{height:14px}.here{right:-45px}.map-node{max-width:280px}.home-layout{gap:25px}.home-terminal{transform:rotate(-1deg);box-shadow:8px 10px 0 #1b2117}.big-index{font-size:41px}.big-index>span{font-size:26px}.quote{font-size:11px}.terminal-bottom{font-size:9px}.terminal-bottom b{display:none}.welcome{padding-top:55px}.welcome h1{font-size:58px}.shop-grid{gap:14px}.shop-item{min-width:0;flex:1}.shop-item .strategy-card{min-width:0}.shop-item .card-copy h3{font-size:17px}.shop-item .card-copy p{font-size:11px}}
@media(max-width:600px){.topbar{padding:0 16px;gap:10px;height:63px}.brand{font-size:18px;gap:8px;letter-spacing:0}.logo{width:30px;height:30px;font-size:19px}.nav{gap:2px}.nav-btn{font-size:11px;padding:7px}.icon-btn{padding:7px;font-size:19px}.home-layout{grid-template-columns:1fr}.welcome{padding:42px 22px 30px}.welcome h1{font-size:58px;margin:24px 0}.welcome p{font-size:14px}.eyebrow{font-size:10px}.home-terminal{margin-top:22px}.home-terminal .candles{max-height:155px}.home-terminal .big-index{font-size:50px}.home-terminal .quote{font-size:12px}.market-line{margin-top:40px;padding-top:20px;gap:18px}.market-line>span:first-child{width:100%;font-size:11px}.market-line strong{font-size:17px;margin-left:5px}.welcome footer{font-size:10px;line-height:1.9}.welcome-foot{font-size:10px}.welcome-foot span{margin:0 5px}.account{padding:16px;grid-template-columns:1fr 1.1fr;gap:15px 18px}.net>strong{font-size:28px;margin-top:8px}.net .label small{display:none}.label{font-size:10px}.position{padding-left:15px}.position .label b{font-size:22px}.position-track{margin:11px 0 7px}.position .minor{font-size:9px;line-height:1.8;flex-wrap:wrap;gap:0}.position .minor:last-child{font-size:9px}.greed{grid-column:1;padding:0;border:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.greed .label{width:auto;gap:8px}.greed .label b{font-size:17px}.greed .label small{font-size:10px}.greed-pips{flex:1;margin:0;gap:4px;min-width:50px}.greed-pips i{height:6px}.greed>.minor{font-size:9px;width:100%}.fund{display:flex;grid-column:2;border-left:1px solid var(--line);padding-left:15px;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:3px}.fund .label{font-size:10px}.fund strong{font-size:18px;margin:0}.fund .text-btn{font-size:10px;width:100%;margin:0}.content{padding:27px 18px 35px}.section-title{gap:12px;margin-bottom:25px}.section-title h1{font-size:22px;margin:10px 0}.section-title p{font-size:11px}.chapter{font-size:10px}.chapter b{font-size:23px}.section-title .eyebrow{font-size:9px;letter-spacing:1px}.map-layout{gap:30px}.route-map{padding-right:0}.map-row{gap:9px;margin-bottom:14px}.row-no{width:14px;font-size:9px}.map-nodes{gap:8px}.map-node{min-width:0;padding:11px 9px;gap:7px;max-width:210px}.map-node .node-symbol{font-size:22px;width:22px;flex:none}.map-node b{font-size:11px}.map-node small{font-size:9px}.node-arrow{display:none}.here{display:none}.map-aside{grid-template-columns:1fr;gap:20px}.paper-note{padding:22px;transform:none}.paper-note h2{font-size:25px}.paper-note p{font-size:13px}.map-aside>.text-btn{margin:0}.battle-content{padding:19px 16px 12px}.battle-heading{margin-bottom:17px}.battle-heading h1{font-size:23px;margin-top:6px}.battle-heading .eyebrow{font-size:9px}.battle-days{font-size:10px}.battle-days b{font-size:26px;margin-left:6px}.battle-grid{grid-template-columns:130px minmax(0,1fr);gap:12px}.intent{padding:11px}.intent .label{font-size:11px}.intent .label small{font-size:9px}.intent-number{font-size:43px;gap:6px;margin:13px 0}.intent-number>span{font-size:9px}.intent-mood{font-size:10px;padding-top:8px}.intent-mood b{font-size:11px}.intent p{font-size:10px;line-height:1.6}.rule-box{padding-top:12px}.rule-box p{font-size:10px;line-height:1.6}.rule-box .eyebrow{font-size:9px}.market-stage{padding:12px 10px;display:flex;flex-direction:column}.stage-top{font-size:9px}.stage-top .pill{display:none}.stage-quote{display:block;margin-top:18px}.stage-quote strong{font-size:29px;display:block}.stage-quote>span{font-size:9px;display:block;margin-top:7px}.market-stage .candles{min-height:80px;flex:1;margin-top:15px}.market-banter{font-size:10px;padding:10px 0;line-height:1.7}.alpha-progress{padding-top:10px}.alpha-progress>span{font-size:9px}.alpha-progress b{font-size:13px}.alpha-progress>small{font-size:9px;line-height:1.6;display:block}.battle-right{gap:9px;padding-top:10px}.risk-panel{gap:8px 12px}.risk-panel>span{font-size:10px}.risk-panel .text-btn{font-size:10px}.risk-panel strong{font-size:18px}.tool-btn{font-size:10px;padding:8px}.hand-zone{margin-top:17px;padding-top:12px}.hand-bar{margin-bottom:10px;align-items:baseline}.hand-bar h2{font-size:12px}.hand-bar h2 small{display:none}.pile-buttons{gap:10px}.pile-buttons button{font-size:10px}.hand-bottom{display:grid;grid-template-columns:1fr 1fr;gap:9px}.hand-cards{grid-column:1/-1;grid-row:1;width:calc(100vw - 32px);gap:11px;padding:7px 1px 12px}.strategy-card{width:154px;min-width:154px;min-height:235px}.card-copy p{font-size:11px}.card-copy h3{font-size:17px}.card-art{height:45px}.energy{grid-row:2;width:auto;text-align:left;display:flex;align-items:center;gap:10px}.energy strong{font-size:30px}.energy strong small{font-size:13px}.energy>span{font-size:10px;margin:0}.energy>div{margin:0}.energy i{width:6px;height:6px}.close-day{grid-row:2;width:auto;margin:0}.close-day button{font-size:14px;padding:12px 17px}.close-day small{display:none}.battle-log{gap:9px;align-items:flex-start;font-size:10px;padding:12px 0 0}.battle-log p{line-height:1.7}.battle-log>span{padding-top:2px}.battle-log .text-btn{font-size:9px}.keyboard-note{font-size:0;margin-top:7px;justify-content:flex-end}.keyboard-note .text-btn{font-size:10px}.reward-cards{gap:14px;justify-content:flex-start;overflow:auto;margin:27px -5px;padding:8px 5px 16px;scroll-snap-type:x mandatory}.reward-cards .strategy-card{width:210px;min-width:210px;min-height:310px}.reward-cards .card-art{height:75px}.reward-cards .card-copy h3{font-size:22px}.reward-cards .card-copy p{font-size:13px}.event-paper{padding:22px}.paper-masthead{font-size:16px}.paper-masthead span{font-size:8px}.event-paper h2{font-size:29px}.event-paper blockquote{font-size:15px}.event-choices button{padding:14px;font-size:15px}.event-choices small{font-size:11px}.event-number{font-size:80px;right:20px}.shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 15px}.shop-item .strategy-card{width:100%;min-height:270px}.shop-item>button{font-size:11px;padding:10px 5px}.shop-extras{grid-template-columns:1fr;gap:15px}.rest-options{flex-direction:column;margin:25px 0;gap:18px}.rest-option{width:100%;padding:20px}.rest-option>span{font-size:45px}.rest-option h2{font-size:21px;margin:16px 0}.rest-option p{font-size:13px}.rest-option b{margin-top:15px;padding-top:15px}.result-page{padding-top:32px}.result-page>h1{font-size:33px}.result-total strong{font-size:45px}.result-stats{grid-template-columns:1fr 1fr;gap:22px}.result-stats span{font-size:11px}.result-stats b{font-size:21px}.result-page blockquote{font-size:12px}.result-page>.text-btn{font-size:11px;margin-left:18px}.modal-head{padding:16px}.modal-head h2{font-size:17px}.modal-body{padding:18px}.card-grid{grid-template-columns:1fr 1fr;gap:15px 10px}.card-grid .strategy-card{min-height:265px}.card-grid .card-copy{padding:9px}.card-grid .card-top{padding:9px 8px 0}.card-grid .card-top>span:nth-child(2){font-size:7px}.card-grid .card-top>small{font-size:9px}.card-grid .card-copy h3{font-size:15px}.card-grid .card-copy p{font-size:11px}.card-grid .card-art{margin:0 9px}.help-grid{grid-template-columns:1fr;gap:12px}.help-grid p{font-size:14px}.relic-catalog{grid-template-columns:1fr}.codex-tabs{gap:6px}.codex-tabs button{font-size:11px;padding:6px 10px}.floating{left:20%;top:25%;font-size:28px}}
@media(min-width:851px){.topbar{height:66px}.account{padding-top:16px;padding-bottom:16px}.net>strong{font-size:32px}.battle-content{padding-top:18px}.battle-heading{margin-bottom:15px}.battle-heading h1{font-size:24px}.market-stage{padding:13px 18px}.stage-quote{margin-top:8px}.stage-quote strong{font-size:32px}.market-stage .candles{max-height:104px;margin-top:8px}.market-banter{padding:5px 0 10px}.alpha-progress{padding-top:8px}.intent-number{font-size:49px;margin:10px 0}.intent{padding:14px}.rule-box{padding-top:12px}.hand-zone{margin-top:17px;padding-top:12px}.hand-bar{margin-bottom:8px}.strategy-card{min-height:244px}.card-copy p{font-size:12px}.card-copy{padding-top:8px}.card-art{height:43px}.battle-log{margin-top:8px}.sector{margin-bottom:11px}.sector-panel h3{margin-bottom:14px}.risk-panel{margin-top:12px}.tool-btn{margin-top:8px}}
@media(min-width:851px){.battle-right{display:grid;grid-template-columns:1fr;gap:8px;align-content:start}.sector-panel h3{margin-bottom:10px}.sector{margin-bottom:8px}.sector-panel>small{font-size:9px}.risk-panel{padding-top:7px;margin-top:3px;gap:3px}.risk-panel strong{font-size:22px}.tool-btn{margin-top:0;padding:8px 10px}.tool-btn small{margin-top:2px}.market-stage .candles{height:94px}.battle-grid{gap:22px}.strategy-card{min-height:235px}.card-art{height:35px}.card-copy h3{margin-bottom:7px}.card-footer{padding:6px 12px}.hand-bar{margin-bottom:5px}.battle-log{padding:7px 0}.account{padding-top:12px;padding-bottom:12px}}
/* Progressive opening: only unlocked controls are rendered. */
.learner-account{max-width:1120px;margin:auto;background:transparent;grid-template-columns:1fr 1fr 1fr;align-items:center;border-bottom:1px solid var(--line);gap:24px}.learner-account.level-0{grid-template-columns:1fr 1fr}.learner-account .net>strong{font-size:30px}.learning-status{font-size:13px;color:var(--muted);text-align:right}.learner-account.level-3 .learning-status{display:none}.learning-content{max-width:1120px;margin:0 auto;padding:30px 42px}.learning-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.learning-heading h1{font-size:28px;margin:12px 0}.learning-day{font-size:12px;color:var(--muted);white-space:nowrap}.learning-day b{font:24px var(--mono);color:var(--text)}.learning-hint{font-size:14px;color:#b9c6ac;line-height:1.8;max-width:790px;margin:2px 0 24px}.learning-market{display:flex;align-items:center;border:1px solid var(--line);background:#171f14;padding:22px 26px;border-radius:6px;gap:30px}.learning-intent{flex:1}.learning-intent>span{font-size:13px;color:var(--muted)}.learning-intent>strong{display:block;font:48px var(--mono);margin:12px 0}.learning-intent strong small{font:13px 'Noto Sans SC',sans-serif;margin-left:12px;color:var(--muted)}.learning-intent p{font-size:13px;line-height:1.7;color:#b7c1ac;margin-bottom:0}.first-lesson{flex:1;border-left:1px solid var(--line);padding-left:30px}.first-lesson>span{font:11px var(--mono);color:var(--lime)}.first-lesson h2{font-size:22px;line-height:1.6;white-space:pre-line;font-weight:500}.learning-block{text-align:center;border-left:1px solid var(--line);padding-left:30px}.learning-block>span{font-size:12px;color:var(--muted)}.learning-block>strong{font:38px var(--mono);color:var(--lime);display:block;margin:12px 0}.learning-block small{font-size:11px;color:var(--muted);line-height:1.6}.learning-hand{margin-top:24px}.learning-hand-head{display:flex;gap:18px;align-items:center}.learning-hand-head h2{font-size:14px;font-weight:500;margin:0 auto 0 0}.learning-hand-head>span{font-size:12px;color:var(--muted)}.learning-hand-head b{font:19px var(--mono);color:var(--lime);margin-left:8px}.learning-cards{display:flex;justify-content:center;gap:18px;overflow-x:auto;padding:18px 3px 12px}.learning-cards .strategy-card{width:185px;min-width:185px;min-height:228px}.phase-0 .learning-cards .strategy-card{width:225px;min-width:225px}.learning-cards .card-copy p{font-size:13px}.learning-close{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:12px}.learning-close p{font-size:13px;color:var(--muted);line-height:1.6}.learning-close button{min-width:165px}.learning-next{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:17px;margin-top:18px;font-size:12px;color:var(--muted)}.learning-next small{font-size:12px;color:var(--lime)}.learning-chart{flex:1.1;text-align:center}.learning-chart svg{height:105px;margin:0}.learning-chart>span{font-size:11px;color:var(--muted)}.build-page>h1{font-size:34px;line-height:1.5}.build-page>p{color:var(--muted);font-size:14px}.build-options{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;margin:30px 0}.build-option{text-align:left;padding:20px 17px;display:flex;flex-direction:column;background:#1c2517;border-color:#485736}.build-option>span{font-size:11px;color:var(--lime)}.build-option h2{font-size:23px;margin:15px 0}.build-option p{font-size:13px;color:#b2bea6;line-height:1.8;flex:1}.build-option>div{display:flex;flex-direction:column;gap:6px;margin:10px 0 20px}.build-option small{font-size:12px}.build-option>b{border-top:1px solid var(--line);padding-top:15px;font-size:12px;color:var(--lime)}.systems-open{border-top:1px solid var(--line);padding-top:22px}.systems-open b{font-size:14px}.systems-open p{font-size:13px;color:#b2bea6;line-height:1.8}.systems-open small{font-size:12px;color:var(--muted)}
@media(max-width:850px){.build-options{grid-template-columns:repeat(2,1fr)}.learning-status{font-size:11px}.learning-cards{justify-content:flex-start}.phase-0 .learning-cards{justify-content:center}.learning-market{gap:20px;padding:20px}.learning-block{padding-left:20px}.first-lesson{padding-left:20px}.first-lesson h2{font-size:19px}.learning-heading h1{font-size:24px}}
@media(max-width:600px){.learner-account{padding:13px 18px;gap:12px;grid-template-columns:1fr 1fr}.learner-account .net>strong{font-size:26px}.learner-account.level-0 .net{grid-column:1}.learner-account .learning-status{font-size:11px;grid-column:auto;line-height:1.7}.learner-account.level-1 .learning-status,.learner-account.level-2 .learning-status{display:none}.learner-account .greed{grid-column:1/-1}.learning-content{padding:23px 18px}.learning-heading{gap:10px;align-items:flex-start}.learning-heading h1{font-size:22px;margin-top:10px}.learning-heading .eyebrow{font-size:8px;letter-spacing:1px}.learning-day{font-size:10px;padding-top:5px}.learning-day b{font-size:19px}.learning-hint{font-size:13px;line-height:1.8;margin-bottom:18px}.learning-market{padding:18px;gap:18px}.first-lesson{display:none}.learning-intent>strong{font-size:42px;margin:10px 0}.learning-intent p{font-size:12px}.learning-block{padding-left:17px;min-width:75px}.learning-block>strong{font-size:32px}.learning-block small{font-size:10px}.learning-chart{display:none}.learning-hand{margin-top:20px}.learning-hand-head{flex-wrap:wrap;gap:10px}.learning-hand-head h2{font-size:13px}.learning-hand-head>span{font-size:11px}.learning-hand-head .text-btn{font-size:11px}.learning-cards{gap:12px;padding-top:14px}.phase-0 .learning-cards{justify-content:flex-start}.learning-cards .strategy-card,.phase-0 .learning-cards .strategy-card{width:calc((100vw - 52px)/2);min-width:calc((100vw - 52px)/2);min-height:225px}.learning-cards .card-copy p{font-size:12px}.learning-close{gap:12px;margin-top:8px}.learning-close p{font-size:11px}.learning-close button{min-width:115px;padding:12px 18px;font-size:14px}.learning-next{display:block;font-size:11px;line-height:1.8;margin-top:15px;padding-top:12px}.learning-next small{display:block;font-size:11px}.build-page>h1{font-size:27px}.build-options{grid-template-columns:1fr;gap:13px;margin:23px 0}.build-option{padding:20px}.build-option h2{font-size:24px;margin:10px 0}.build-option>div{flex-direction:row;flex-wrap:wrap;gap:8px}.build-option small{background:#2b3822;padding:5px 8px;border-radius:3px}.systems-open p{font-size:12px}}
@media(max-width:600px){.phase-0 .learning-cards .strategy-card{width:calc((100% - 12px)/2);min-width:calc((100% - 12px)/2)}.learning-close{position:sticky;bottom:0;background:var(--bg);padding:10px 0;z-index:3}.learning-hand .empty-hand{min-height:150px}}
@media(min-width:851px) and (max-height:950px){.learning-content{padding-top:20px}.learning-hint{margin-bottom:16px}.learning-market{padding-top:16px;padding-bottom:16px}.learning-intent>strong{font-size:40px;margin:9px 0}.first-lesson h2{font-size:20px;margin:10px 0}.learning-hand{margin-top:18px}.learning-cards{padding-top:12px}.learning-cards .strategy-card{min-height:210px}.learning-next{margin-top:12px;padding-top:12px}.learning-close{margin-top:6px}}
/* Recorded-audio controls and lightweight market theatrics. */
.audio-toggle{font-family:var(--mono);color:var(--lime);font-size:23px;min-width:34px}.audio-toggle[aria-pressed=true]{color:var(--muted);text-decoration:line-through}
.volume-control{display:grid;grid-template-columns:1fr auto;gap:10px;font-size:12px;color:var(--muted);margin:12px 0 22px}.volume-control input{grid-column:1/-1;width:100%;accent-color:var(--lime);min-height:28px;cursor:pointer}.volume-control output{font-family:var(--mono);color:var(--lime)}.audio-credits{border-top:1px solid var(--line);padding-top:18px;font-size:12px;line-height:1.8;color:var(--muted)}.audio-credits summary{cursor:pointer;color:var(--lime)}.audio-credits a{text-decoration:underline;text-underline-offset:3px}
.fx-ghost{position:fixed!important;z-index:30;pointer-events:none!important;margin:0!important;opacity:1!important;box-shadow:0 18px 45px #0008;transform-origin:center!important;overflow:hidden}.trade-feedback{position:fixed;z-index:35;pointer-events:none;right:28px;top:24%;width:228px;padding:18px 21px;background:#e9e9d9;color:#222b20;border:2px solid #fa736a;box-shadow:7px 8px 0 #0006;transform-origin:bottom right}.trade-feedback strong{display:block;font-size:11px;letter-spacing:2px}.trade-feedback b{display:block;font:700 28px var(--mono);margin:10px 0;color:#b14139}.trade-feedback small{font-size:12px}.trade-feedback.bear{border-color:var(--green)}.trade-feedback.bear b{color:#247554}.trade-feedback.guard{border-color:var(--lime)}.trade-feedback.guard b{color:#52661d}.net>strong{transform-origin:left center}.strategy-card{touch-action:pan-x pan-y;backface-visibility:hidden}.strategy-card:active:not(:disabled){transform:translateY(-3px) scale(.97)}button:active:not(:disabled){filter:brightness(.92)}
.market-stage,.learning-market,.home-terminal{position:relative;isolation:isolate;overflow:hidden}.market-stage:after,.learning-market:after,.home-terminal:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(110deg,transparent 35%,#d8f36a08 50%,transparent 65%);background-size:300% 100%;animation:market-scan 12s linear infinite}.home-terminal .candles{animation:market-breathe 5s ease-in-out infinite}.map-row.current .node-symbol{animation:market-breathe 3s ease-in-out infinite}.market-stage .pill:before{content:'● ';color:var(--lime);animation:market-breathe 2s ease-in-out infinite}.learning-cards,.hand-cards{overscroll-behavior-x:contain;scrollbar-color:#62723e transparent;scrollbar-width:thin}.strategy-card:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
@keyframes market-scan{from{background-position:150% 0}to{background-position:-150% 0}}@keyframes market-breathe{0%,100%{opacity:1}50%{opacity:.68}}
@media(max-width:600px){.trade-feedback{right:16px;top:19%;width:180px;padding:13px 16px}.trade-feedback b{font-size:24px}.trade-feedback small{font-size:11px}.nav{gap:5px}.volume-control input{min-height:36px}}
.no-motion *, .no-motion *:before,.no-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Intraday market and a legible, always-visible closing statement. */
.live-battle{max-width:1200px;padding-top:24px}.live-battle .learning-heading h1{font-size:28px}.unit-reminder{font-size:13px;line-height:1.8;padding:10px 14px;border-left:3px solid var(--lime);background:#1a2117;margin:12px 0}.unit-reminder button{margin-left:12px;color:var(--lime)}.t1-summary{display:flex;flex-wrap:wrap;gap:12px 26px;padding:14px 0;font-size:14px}.t1-summary b{color:var(--lime);font-family:var(--mono)}.t1-summary small{color:var(--muted);margin-left:auto;align-self:center;font-size:12px}.live-market{display:block;padding:18px 24px}.live-top{display:flex;align-items:center;gap:20px;font-size:14px}.live-top>span:first-child{margin-right:auto}.live-top b{font:22px var(--mono);margin-left:12px;color:var(--lime)}.live-numbers{display:flex;gap:40px;align-items:center;margin-top:16px}.live-numbers small{display:block;color:var(--muted);font-size:12px}.live-numbers strong{font:35px var(--mono);display:block;margin-top:7px}.live-numbers b{display:block;font:25px var(--mono);margin-top:10px}.live-mood b{font-family:inherit;font-size:20px;color:var(--lime)}.intraday-chart{display:block;width:100%;height:165px;margin:8px 0}.live-foot{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted)}.hedge-strip{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:13px 0;font-size:13px}.hedge-strip b{color:var(--lime);margin-left:8px}.hedge-strip small{flex:1;font-size:12px;color:var(--muted);line-height:1.6}.hedge-strip button{font-size:12px}.combo-ready{font-size:12px;color:var(--lime);margin-bottom:0}.live-battle .learning-cards{justify-content:flex-start}.live-battle .strategy-card,.live-battle.phase-0 .strategy-card{width:210px;min-width:210px;min-height:255px}.live-battle .card-copy p{font-size:12px;line-height:1.65;white-space:pre-line}.strategy-card:disabled{opacity:.65}.card-conflict{display:block;color:#943c2e;border-top:1px solid #9caa86;padding-top:6px;margin-top:8px;font-size:11px;line-height:1.5}.live-extras{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;color:var(--muted);padding:15px 0}.motion-mode{display:flex;justify-content:space-between;align-items:center;gap:20px}.motion-mode select,#feedback-form select,#feedback-form textarea{font:inherit;background:var(--panel);color:var(--text);border:1px solid var(--line);padding:12px;border-radius:4px}#feedback-form label{display:flex;flex-direction:column;gap:10px;margin-bottom:18px;font-size:14px}#feedback-form textarea{resize:vertical;min-height:140px}.honeypot{position:absolute;left:-9999px;width:1px;height:1px}.feedback-status{color:var(--lime)}.settlement-dialog{width:min(680px,calc(100vw - 28px));max-height:90dvh;padding:24px;border:1px solid #849757;background:#151b12;color:var(--text);border-radius:10px;overflow:hidden;box-shadow:0 30px 120px #000b}.settlement-dialog::backdrop{background:#080c08cf;backdrop-filter:blur(6px)}.settlement-head>span{font:12px var(--mono);letter-spacing:3px;color:var(--lime)}.settlement-head h2{font-size:29px;margin:10px 0}.settlement-head p{font-size:13px;color:var(--muted);line-height:1.6}.settlement-ledger{max-height:32dvh;min-height:85px;overflow:auto;margin:20px 0}.settlement-row{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:12px;border-bottom:1px solid var(--line);font-size:14px;background:#20281b}.settlement-row b{font:20px var(--mono);color:var(--red)}.settlement-row.loss-row b{color:var(--green)}.settlement-row small{grid-column:1/-1;color:var(--muted);font-size:11px}.settlement-total{padding:18px;border:1px solid #849757;text-align:center;background:#252e1b}.settlement-total>span{display:block;font-size:12px;color:#b6c3a5}.settlement-total strong{display:block;font:700 clamp(34px,6vw,58px) var(--mono);margin:8px 0;color:var(--lime);font-variant-numeric:tabular-nums}.settlement-total small{display:block;min-height:20px;color:#bac6aa;font-size:12px}.settlement-next{display:block;width:100%;margin-top:18px}.trade-feedback{top:18%;max-width:200px}.force-motion .market-stage:after,.force-motion .learning-market:after,.force-motion .home-terminal:after{animation:market-scan 12s linear infinite!important}.force-motion .home-terminal .candles{animation:market-breathe 5s ease-in-out infinite!important}
@media(max-width:600px){.live-battle{padding:18px 16px}.live-battle .learning-heading h1{font-size:22px}.unit-reminder{font-size:12px}.t1-summary{font-size:12px;gap:9px 16px}.t1-summary small{width:100%;margin:0;font-size:11px}.live-market{padding:14px}.live-numbers{gap:18px;flex-wrap:wrap;margin-top:14px}.live-numbers strong{font-size:26px}.live-numbers b{font-size:23px}.live-numbers small{font-size:11px}.live-mood{display:flex;gap:12px;align-items:center}.live-mood b{font-size:16px;margin:0}.intraday-chart{height:145px;margin:0}.live-top{gap:10px;font-size:12px}.live-top b{font-size:18px;margin-left:6px}.live-top .pill{display:none}.live-foot{display:block;font-size:11px;line-height:1.8}.live-foot>span{display:block}.hedge-strip{flex-wrap:wrap;gap:8px}.hedge-strip small{flex-basis:100%;font-size:11px}.live-battle .strategy-card,.live-battle.phase-0 .strategy-card{width:180px;min-width:180px;min-height:265px}.live-battle .learning-close{gap:8px}.live-battle .learning-close button{min-width:137px;padding:12px}.settlement-dialog{padding:18px}.settlement-head h2{font-size:24px}.settlement-row{font-size:12px}.settlement-row b{font-size:18px}.topbar .nav-btn{font-size:11px}.settlement-total{padding:12px}}
/* Manual sessions: one coordinate system for candles, timestamps and lunch. */
.aligned-chart{display:block;width:100%;height:auto;min-height:200px;overflow:visible}.chart-grid{stroke:#35412f;stroke-dasharray:3 5;stroke-width:1}.chart-axis{stroke:#839471;stroke-width:1}.chart-label{font-size:12px;fill:#aab59d;font-family:inherit}.current-time{fill:#e0f376;font-weight:700}.current-price-line{stroke:#d8f36a;stroke-dasharray:5 4;opacity:.6}.current-price-tag{fill:#d8f36a}.lunch-band{fill:#819667;opacity:.09}.session-rail{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin:16px 0}.session{padding:8px 4px;border-bottom:2px solid #34432a;color:#89947e;text-align:center}.session b{display:block;font-size:14px}.session small{display:block;font-size:12px;margin-top:5px}.session.current{color:var(--lime);border-color:var(--lime);background:#cde3680d}.session.used small{color:var(--red)}.trade-tape{padding:16px;background:#cde36808;margin-top:16px;border:1px solid var(--border);font-size:14px}.trade-tape>div{display:flex;justify-content:space-between;gap:12px;padding-top:9px;color:var(--muted)}.live-numbers>div>span,.live-numbers>div>small{display:block}.live-numbers>div>small:last-child{font-size:12px;margin-top:5px}.advancing [data-action]{pointer-events:none}.learning-close .primary{min-width:200px}.live-foot{line-height:1.6}.t1-summary{line-height:1.8}.card-copy p{line-height:1.7}.aligned-chart .candle-caption{font-size:11px}@media(max-width:600px){.live-market{padding:16px 8px}.session b{font-size:12px}.session small{font-size:11px}.session{padding:8px 1px}.aligned-chart{min-height:180px}.trade-tape>div{display:block}.trade-tape>div span{display:block}.learning-close .primary{width:100%}.live-numbers{padding:0 8px;gap:14px;flex-wrap:wrap}.live-numbers strong{font-size:24px}.live-numbers b{font-size:21px}.live-numbers>div:last-child{max-width:100%}.t1-summary{font-size:13px}}
.candle-data{margin:8px 0 14px;color:var(--muted);font-size:14px}.candle-data summary{cursor:pointer;padding:8px 0}.candle-data table{width:100%;border-collapse:collapse;font-size:13px}.candle-data td,.candle-data th{text-align:right;padding:8px 4px;border-bottom:1px solid var(--border)}.candle-data td:first-child,.candle-data th:first-child{text-align:left}.live-market{scroll-margin-top:20px}@media(max-width:600px){.aligned-chart .chart-label{font-size:24px}.aligned-chart .candle-caption{display:none}.candle-data table{font-size:12px}.candle-data td,.candle-data th{padding:8px 1px}.live-foot{font-size:12px;padding:0 8px}.session-rail{gap:0}}
/* Functional card types use color + names + symbols; rarity remains a separate badge. */
.card-slot{display:flex;flex-direction:column;flex:0 0 232px;min-width:0;gap:7px}.card-slot>.strategy-card,.live-battle .card-slot>.strategy-card,.live-battle.phase-0 .card-slot>.strategy-card{width:100%;min-width:0;min-height:340px;height:auto;flex:1;background:#18211e;border:1px solid #475550;border-top:5px solid var(--card-accent);border-radius:12px;color:#f1f2e9;box-shadow:0 5px 0 #080c0a,0 8px 22px #0004;overflow:hidden;text-align:left;padding:0;transition:transform .18s,border-color .18s,box-shadow .18s}.strategy-card.category-buy{--card-accent:#f38d80}.strategy-card.category-sell{--card-accent:#73d6b1}.strategy-card.category-guard{--card-accent:#83c5f4}.strategy-card.category-skill{--card-accent:#c5ceda}.strategy-card.category-power{--card-accent:#c3a0ef}.strategy-card.category-yield{--card-accent:#f0cd79}.card-slot .strategy-card:hover:not(:disabled),.card-slot .strategy-card:focus-visible{border-color:var(--card-accent);transform:translateY(-7px);box-shadow:0 5px 0 #080c0a,0 0 0 2px var(--card-accent),0 16px 28px #0006}.strategy-card .card-top{display:flex;justify-content:space-between;gap:7px;padding:12px;background:#0c1510;color:var(--card-accent);font-size:13px;height:auto}.card-kind{font-weight:700}.rarity-badge{font-size:12px;color:#c3ccc6;white-space:nowrap}.rarity-uncommon .rarity-badge{color:#9dccff}.rarity-rare .rarity-badge{color:#f7d079;font-weight:700}.strategy-card .card-art{position:relative;display:flex;align-items:center;justify-content:space-between;height:72px;padding:12px 18px;margin:0;background:linear-gradient(120deg,color-mix(in srgb,var(--card-accent) 20%,#15201b),#18211e);border-bottom:1px solid #ffffff15;color:var(--card-accent);overflow:hidden}.strategy-card .card-art>span{position:static;font:40px var(--mono);color:var(--card-accent);opacity:1;transform:none}.strategy-card .card-art small{font-size:12px;color:#cad0c8}.strategy-card .card-copy{padding:14px 14px 8px;background:none;flex:1;color:#e4eae2}.strategy-card .card-copy h3{font-size:19px;margin:0 0 10px;color:#fff}.strategy-card .card-copy p,.live-battle .strategy-card .card-copy p{font-size:14px;line-height:1.75;color:#d7e1d5;margin:0}.strategy-card .card-copy sup{color:var(--lime);font-size:16px}.card-tags{display:flex;gap:6px;flex-wrap:wrap;padding:8px 14px;font-size:12px;color:var(--card-accent)}.card-tags span{padding:2px 5px;border:1px solid #ffffff24;border-radius:3px}.strategy-card .card-footer{display:flex;gap:8px;justify-content:space-between;background:#0f1813;border-top:1px solid #ffffff1c;color:var(--card-accent);padding:11px 14px;font-size:12px}.card-footer small{font-size:11px;color:#b7c3b2}.strategy-card:disabled{opacity:.7;filter:none;cursor:not-allowed}.strategy-card .card-conflict{color:#ffb7a7;font-size:12px;border-color:#ffffff25}.card-detail-link{border:0;background:none;color:#c0cdb8;font-size:12px;padding:6px;text-align:center}.card-detail-link:hover{color:var(--lime)}.upgrade-seal{position:absolute;right:9px;bottom:5px;background:#d8f36a;color:#18200f;padding:2px 7px;border-radius:4px;font-size:11px}.upgraded{border-color:var(--lime)!important}.category-legend{display:flex;flex-wrap:wrap;gap:8px 15px;align-items:center;margin:12px 0 4px;font-size:13px}.category-legend>span{color:var(--card-accent)}.category-legend .text-btn{margin-left:auto}.live-battle .learning-cards{gap:16px;padding:14px 3px 20px;align-items:stretch}.card-grid{grid-template-columns:repeat(auto-fill,minmax(215px,1fr));align-items:stretch}.reward-cards>.card-slot{max-width:260px}.upgrade-comparison{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch}.upgrade-comparison section{min-width:0}.upgrade-comparison h3{font-size:14px;color:var(--muted)}.upgrade-comparison .strategy-card{display:flex;flex-direction:column;width:100%;min-width:0;min-height:350px;background:#18211e;color:#fff;border:1px solid var(--card-accent);border-top:5px solid var(--card-accent);border-radius:10px;overflow:hidden}.effects-panel{margin:20px 0;padding:18px;border:1px solid #725e8c;background:linear-gradient(130deg,#211b2b,#171c18);border-radius:10px}.effects-heading{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.effects-heading h2{font-size:17px;margin:0;color:#d8c0f3}.effects-heading>span{font-size:12px;color:var(--muted);flex:1}.effect-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.effect-chip{border:1px solid #ffffff25;border-left:3px solid var(--card-accent,#d5b8f1);padding:10px 12px;background:#171d19;border-radius:5px;max-width:300px;text-align:left;color:var(--text)}.effect-chip b{display:block;font-size:14px;color:var(--card-accent,#e0c7ff)}.effect-chip small{display:block;font-size:12px;line-height:1.6;margin-top:4px;color:#ccd5c6}.effect-triggers{font-size:12px;line-height:1.8;color:#cfc0e0;margin:12px 0 0}.keyword-list p{font-size:14px;line-height:1.9}.keyword-list b{margin-right:8px}.shop-item>.card-slot{width:100%;flex:1}.shop-grid{align-items:stretch}.shop-item{display:flex;flex-direction:column}.shop-item>button{margin-top:10px}.build-option small{line-height:1.7}.strategy-card{touch-action:manipulation}@media(max-width:600px){.card-slot{flex-basis:224px;min-width:224px}.live-battle .card-slot>.strategy-card{min-height:335px}.strategy-card .card-copy p,.live-battle .strategy-card .card-copy p{font-size:14px}.upgrade-comparison{grid-template-columns:1fr}.upgrade-comparison .strategy-card{max-width:300px;margin:auto}.card-grid{grid-template-columns:1fr 1fr;gap:10px}.card-grid>.card-slot{min-width:0}.card-grid .card-copy p{font-size:13px}.card-grid .card-top{padding:8px;font-size:12px}.card-grid .card-copy{padding:12px 8px}.effects-panel{padding:14px}.effect-chip{max-width:100%;width:100%}.category-legend{gap:10px;font-size:12px}.category-legend .text-btn{margin-left:0}.reward-cards{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start}.reward-cards>.card-slot{min-width:232px}.card-grid .card-footer small{display:none}}
@media(prefers-reduced-motion:reduce){.card-slot .strategy-card:hover:not(:disabled){transform:none}}.no-motion .card-slot .strategy-card:hover:not(:disabled){transform:none}

.card-grid .card-top .rarity-badge{font-size:12px}.shop-item>.card-slot{min-width:0}@media(max-width:480px){.card-grid{grid-template-columns:1fr}.card-grid>.card-slot{width:100%;max-width:340px;justify-self:center}.shop-grid{grid-template-columns:1fr}.shop-item{max-width:340px;width:100%;justify-self:center}}

.codex-tabs button.selected,.codex-tabs button.selected:hover:not(:disabled){background:var(--lime);color:#233218;border-color:var(--lime)}
/* Trading surface: show state, disclose rules on request. */
.portfolio{display:grid;grid-template-columns:1.1fr 1.25fr 1fr auto;align-items:center;gap:30px;padding-top:22px;padding-bottom:22px}.portfolio:has(>:last-child:nth-child(3)){grid-template-columns:1fr 1.3fr 1fr}.portfolio .net strong{font-size:32px}.portfolio-position{border:0;padding:0;background:none;text-align:left;min-width:0}.portfolio-position:hover:not(:disabled){background:transparent}.portfolio-position .label{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:14px}.portfolio-position .label b{font:600 25px var(--mono);color:var(--text)}.position-track{display:block;height:5px;border-radius:4px;background:#303b32;margin:10px 0 7px;overflow:hidden}.position-track i{display:block;height:100%;background:var(--lime);transition:width .35s ease;border-radius:4px}.portfolio-position small{font:14px var(--mono);color:var(--muted)}.portfolio-cash strong{display:block;font:600 24px var(--mono);margin-top:7px}.portfolio .fund{min-width:0}.portfolio .fund strong{font-size:24px;margin:5px 0}.portfolio .fund .text-btn{font-size:13px}.battle-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.battle-heading h1{font-size:22px;margin:0}.battle-heading h1 small{font:14px var(--mono);font-weight:400;color:var(--muted)}.battle-heading>div{display:flex;gap:18px}.live-battle{padding-top:24px}.live-battle .live-market{padding:22px 26px}.live-top{margin-bottom:8px}.live-top>span{font-size:14px}.live-top b{margin-left:12px;font:600 18px var(--mono)}.mood-pill{color:var(--muted)}.live-numbers{display:flex;justify-content:space-between;align-items:center;margin:12px 0 2px}.live-numbers>div{display:flex;gap:12px;align-items:baseline}.live-numbers strong{font-size:26px}.live-numbers b{font-size:20px}.live-numbers small{font-size:13px}.live-battle .effects-panel{padding:0;margin:16px 0;border:0;background:none}.effect-chips{margin:0;gap:8px}.effect-chip{display:flex;align-items:center;gap:8px;max-width:none;width:auto;padding:7px 10px;border:1px solid #ffffff18;border-left:2px solid var(--card-accent,#c3a0ef)}.effect-chip b{font-size:13px;font-weight:500}.effect-chip small{font:12px var(--mono);margin:0;color:var(--muted)}.learning-hand-head{margin-top:20px}.learning-hand-head h2{font-size:18px}.learning-hand-head h2 small{font:14px var(--mono);color:var(--muted);margin-left:5px}.learning-hand-head .pile-buttons{margin-left:auto;display:flex;gap:16px}.learning-hand-head .text-btn{font-size:13px}.live-battle .card-slot>.strategy-card{min-height:285px}.live-battle .strategy-card .card-art{height:50px;padding:8px 14px}.live-battle .strategy-card .card-art>span{font-size:28px}.live-battle .strategy-card .card-art small{font-size:12px}.live-battle .strategy-card .card-footer{min-height:38px;padding:8px 14px}.live-battle .card-tags:empty{display:none}.live-battle .learning-cards{padding-top:8px;padding-bottom:10px}.live-battle .learning-close{padding-top:8px;display:flex;align-items:center;justify-content:space-between}.live-battle .learning-close .primary{min-width:155px;padding:13px 24px}.combo-badge{display:inline-block;background:#d8f36a20;color:#e4f89a;border:1px solid #d8f36a55;padding:3px 7px;margin-top:9px;border-radius:4px;font-size:12px}.combo-catalog{display:grid;grid-template-columns:1fr 1fr;gap:16px}.combo-catalog section{padding:18px;border:1px solid var(--line);border-radius:10px}.combo-catalog h3{margin-top:0}.combo-catalog p{font-size:14px;line-height:1.8;color:var(--muted)}.combo-catalog section>div{display:flex;flex-wrap:wrap;gap:8px}.combo-catalog button{font-size:13px;padding:7px 10px}.build-page>h1{font-size:32px}.build-page>p{color:var(--muted)}.t1-summary{display:grid;gap:15px}.t1-summary>span{display:flex;justify-content:space-between}.t1-summary small{font-size:14px;line-height:1.8}.card-detail-link{padding:5px;font-size:12px}
@media(max-width:600px){.portfolio,.portfolio:has(>:last-child:nth-child(3)){display:grid;grid-template-columns:1fr 1fr;gap:20px 24px;padding-top:18px;padding-bottom:18px}.portfolio .net strong{font-size:26px}.portfolio-position .label b{font-size:23px}.portfolio-cash{display:flex;align-items:center;justify-content:space-between;gap:8px}.portfolio-cash strong{font-size:19px;margin:0}.portfolio .fund{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.portfolio .fund .label{font-size:12px}.portfolio .fund strong{font-size:19px;margin:0}.portfolio .fund .text-btn{margin-left:auto}.live-battle{padding-top:18px}.battle-heading{margin-bottom:14px}.battle-heading h1{font-size:20px}.battle-heading .text-btn{font-size:13px}.live-battle .live-market{padding:16px 14px}.live-numbers{gap:10px}.live-numbers>div{display:flex;flex-direction:column;gap:3px;align-items:flex-start}.live-numbers>div:last-child{align-items:flex-end}.live-numbers strong{font-size:23px}.live-numbers b{font-size:20px}.live-numbers span,.live-numbers small{font-size:12px}.effect-chips{gap:7px}.effect-chip{width:auto;max-width:100%;padding:7px 9px}.effect-chip b{font-size:12px}.learning-hand-head{gap:12px}.learning-hand-head .pile-buttons{gap:12px}.learning-hand-head h2{font-size:17px}.learning-hand-head .text-btn{font-size:12px}.live-battle .card-slot>.strategy-card{min-height:290px}.combo-catalog{grid-template-columns:1fr}.live-extras{gap:13px;flex-wrap:wrap}.live-extras button{font-size:13px}.build-page>h1{font-size:27px}}
@media(prefers-reduced-motion:reduce){.position-track i{transition:none}}
@media(min-width:1000px){.live-battle{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);column-gap:26px;max-width:1440px}.battle-heading{grid-column:1/-1}.live-battle .live-market{grid-column:1;grid-row:2;align-self:start;padding:20px}.live-battle .learning-hand{grid-column:2;grid-row:2;min-width:0}.learning-hand-head{margin-top:0}.live-battle .learning-cards{max-width:100%;min-width:0}.live-battle .effects-panel{grid-column:1/-1;grid-row:3}.live-battle .live-extras{grid-column:1/-1}.live-battle .live-numbers>div{flex-direction:column;gap:3px}.live-battle .live-numbers>div:last-child{align-items:flex-end}.live-battle .aligned-chart{min-height:230px}.live-battle .learning-close{margin-top:8px}.live-battle .learning-close .primary{min-width:150px}}
.live-battle .aligned-chart .chart-label{font-size:22px}.live-battle .aligned-chart .candle-caption{display:none}@media(max-width:600px){.live-battle .aligned-chart .chart-label{font-size:26px}.portfolio{position:relative}.live-battle .aligned-chart{min-height:180px}}
.live-battle.phase-0 .card-slot>.strategy-card{min-height:285px}.live-battle .learning-close{margin-bottom:0}@media(max-width:600px){.live-battle.phase-0 .card-slot>.strategy-card{min-height:280px}}
.live-portfolio{position:sticky;top:0;z-index:12;background:#111610f5;backdrop-filter:blur(14px)}

.nav a.nav-btn{display:inline-flex;align-items:center;text-decoration:none;white-space:nowrap}.nav a.nav-btn:focus-visible{outline:2px solid currentColor;outline-offset:2px}@media(max-width:600px){.topbar{flex-wrap:wrap;gap:8px}.topbar .nav{flex-wrap:wrap;justify-content:flex-end}.topbar .nav a.nav-btn{display:inline-flex}}
