:root{--bg:#11151c;--panel:#171c25;--panel-2:#1d2330;--border:#283041;--text:#e6e9ef;--muted:#8d95a6;--accent:#f2a93b;--accent-ink:#1b1305;--up:#34b27b;--down:#e25c5c;--warn:#e0b341;--focus:#7cc4ff;--radius:8px;--shadow:0 6px 24px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif;font-size:14px}:root[data-theme=light]{--bg:#f4f2ec;--panel:#fff;--panel-2:#f8f6f1;--border:#dedad0;--text:#1d2129;--muted:#6a7080;--accent:#c77d12;--accent-ink:#fff;--up:#1f8f5f;--down:#c63d3d;--warn:#9a6d00;--focus:#0b6bcb;--shadow:0 6px 24px #281e0a1f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0}body{flex-direction:column;min-height:100vh;display:flex}a{color:var(--accent)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}button,input,select{font:inherit;color:inherit}button{background:var(--panel-2);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:5px 10px}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}button.buy{background:var(--up);border-color:var(--up);color:#fff;font-weight:600}button.sell{background:var(--down);border-color:var(--down);color:#fff;font-weight:600}button.ghost{background:0 0}button.small{padding:2px 7px;font-size:12px}button.icon-delete{box-sizing:border-box;background:color-mix(in srgb, var(--down) 14%, transparent);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--down);touch-action:manipulation;border-color:#0000;border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}button.icon-delete svg{width:24px;height:24px;display:block}button.icon-delete:hover:not(:disabled),button.icon-delete:focus-visible{background:color-mix(in srgb, var(--down) 24%, transparent);color:var(--down);border-color:#0000}button.icon-delete:active:not(:disabled){background:color-mix(in srgb, var(--down) 36%, transparent);border-color:#0000}input,select{background:var(--bg);border:1px solid var(--border);border-radius:6px;min-width:0;padding:4px 7px}input[type=checkbox]{accent-color:var(--accent)}label.field{color:var(--muted);flex-direction:column;gap:3px;font-size:12px;display:flex}label.field>input,label.field>select{color:var(--text);font-size:13px}header.app{border-bottom:1px solid var(--border);background:var(--panel);flex-wrap:wrap;align-items:center;gap:16px;padding:8px 16px;display:flex}@media (max-width:520px){header.app{gap:8px}}.brand{letter-spacing:.2px;align-items:baseline;gap:8px;font-size:16px;font-weight:700;display:flex}.brand .mark{background:linear-gradient(var(--accent) 0 60%, var(--up) 60%);border-radius:2px;align-self:center;width:10px;height:18px;display:inline-block}.brand small{color:var(--muted);font-size:12px;font-weight:500}nav.tabs{gap:4px;display:flex}nav.tabs button[aria-current=page]{border-color:var(--accent);color:var(--accent)}.spacer{flex:1}main{flex:1;min-height:0;display:flex}.view{flex:1;min-height:0;display:none}.view.active{display:flex}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:12px}.card h2,.card h3{text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin:0 0 10px;font-size:13px}.muted{color:var(--muted)}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.grid2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.grid3{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.badge{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:1px 6px;font-size:11px;display:inline-block}.badge.synth{border-color:var(--accent);color:var(--accent)}.badge.ok{border-color:var(--up);color:var(--up)}.badge.bad{border-color:var(--down);color:var(--down)}.up{color:var(--up)}.down{color:var(--down)}table.data{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:12px}table.data th,table.data td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:4px 6px}table.data th{color:var(--muted);font-weight:500}table.data td.num,table.data th.num{text-align:right}.library{gap:12px;padding:12px;overflow:auto}.library .left{flex-direction:column;flex-shrink:0;gap:12px;width:420px;display:flex}.library .right{flex-direction:column;flex:1;gap:12px;min-width:0;display:flex}.dataset-list{flex-direction:column;gap:6px;max-height:46vh;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.dataset-list li{border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:8px}.dataset-list li[aria-selected=true]{border-color:var(--accent);background:var(--panel-2)}.dataset-list .title{font-weight:600}.dataset-list .dataset-head{flex-wrap:nowrap;align-items:center}.dataset-list .dataset-head .title{overflow-wrap:anywhere;min-width:0}.dataset-list .dataset-head .badge,.dataset-list .dataset-head .icon-delete{flex:none}.preview-chart{height:380px;min-height:240px}.practice{flex-direction:column;min-width:0}.toolbar{border-bottom:1px solid var(--border);background:var(--panel);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 12px;display:flex}.toolbar .clock{font-variant-numeric:tabular-nums;min-width:150px;font-weight:600}.toolbar .sep{background:var(--border);width:1px;height:22px}.workspace{flex:1;min-height:0;display:flex}.chart-col{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.charts{background:var(--border);flex:1;grid-template-columns:1fr;gap:1px;min-width:0;min-height:0;display:grid}.charts.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.chart-cell{background:var(--bg);flex-direction:column;min-width:0;min-height:200px;display:flex;position:relative;overflow:hidden}.chart-cell .chart-head{color:var(--muted);align-items:center;gap:6px;padding:3px 8px;font-size:12px;display:flex}.chart-cell .chart-body{flex:1;min-height:0}.side{border-left:1px solid var(--border);background:var(--panel);flex-direction:column;flex-shrink:0;gap:10px;width:320px;padding:10px;display:flex;overflow:auto}.bottom{border-top:1px solid var(--border);background:var(--panel);flex-direction:column;height:230px;min-height:0;display:flex}.bottom.macro-open{height:min(460px,52vh)}.bottom .tabbar{flex-wrap:wrap;gap:4px;padding:6px 10px 0;display:flex}.bottom .tabbar button[aria-selected=true]{border-color:var(--accent);color:var(--accent)}.bottom .tabpanel{flex:1;padding:6px 10px;overflow:auto}.kv{font-variant-numeric:tabular-nums;grid-template-columns:auto 1fr;gap:3px 10px;font-size:13px;display:grid}.kv dt{color:var(--muted)}.kv dd{text-align:right;margin:0}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.stat{border:1px solid var(--border);border-radius:6px;padding:6px 8px}.stat .k{color:var(--muted);font-size:11px}.stat .v{font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.meter{background:var(--panel-2);border:1px solid var(--border);border-radius:3px;height:6px;overflow:hidden}.meter>span{background:var(--accent);height:100%;display:block}.status-banner{padding:6px 12px;font-weight:600;display:none}.status-banner.show{display:block}.status-banner.breached{background:color-mix(in srgb, var(--down) 18%, transparent);color:var(--down)}.status-banner.passed{background:color-mix(in srgb, var(--up) 18%, transparent);color:var(--up)}.status-banner.finished{background:var(--panel-2)}.empty{text-align:center;color:var(--muted);margin:auto;padding:40px}dialog{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);width:min(920px,96vw);max-height:92vh;padding:16px}dialog::backdrop{background:#00000073}dialog h2{margin-top:0}.preview-table{border:1px solid var(--border);border-radius:6px;max-height:200px;margin:8px 0;overflow:auto}.issues{color:var(--down);max-height:140px;font-size:12px;overflow:auto}.toast{background:var(--panel);border:1px solid var(--border);border-left:4px solid var(--accent);box-shadow:var(--shadow);z-index:50;border-radius:6px;max-width:420px;padding:8px 12px;position:fixed;bottom:16px;right:16px}.toast.error{border-left-color:var(--down)}footer.app{border-top:1px solid var(--border);background:var(--panel);color:var(--muted);flex-wrap:wrap;align-items:center;gap:16px;padding:6px 16px;font-size:11px;display:flex}footer.app a{color:var(--muted)}.seg{border:1px solid var(--border);border-radius:6px;display:inline-flex;overflow:hidden}.seg button{border:0;border-radius:0}.seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}@media (max-width:1000px){.view,.library,.library .left,.library .right,.card,.grid2,.grid3,label.field{min-width:0}.library{flex-direction:column}.library .left{width:auto}.grid3{grid-template-columns:minmax(0,1fr)}.grid2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}label.field>input,label.field>select,input[type=datetime-local],input[type=time],input[type=date],input[type=file]{width:100%;min-width:0;max-width:100%}.workspace{flex-direction:column;min-height:0}.charts{grid-auto-rows:minmax(0,1fr);min-height:0}.chart-cell{flex:auto;min-height:0}.side{border-left:0;border-top:1px solid var(--border);width:auto}.charts.split{grid-template-columns:1fr}}.practice-root{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.practice-root[hidden]{display:none}label.field>input,label.field>select{width:100%}[hidden]{display:none!important}a.badge{color:var(--text);padding:4px 10px;font-size:12px;text-decoration:none}a.badge:hover{border-color:var(--accent)}.charts.drawing .chart-body{cursor:crosshair}.toolbar button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}a.button{background:var(--panel-2);border:1px solid var(--border);color:inherit;border-radius:6px;padding:5px 10px;text-decoration:none;display:inline-block}a.button:hover{border-color:var(--accent)}.row.wrap{flex-wrap:wrap}p.small{font-size:12px}.reminder{border-color:var(--accent);align-items:center;gap:8px;display:flex}.reminder[hidden]{display:none}.update-banner{flex-wrap:wrap;margin:8px 12px 0}.notice{border-left:3px solid var(--accent);background:var(--panel-2);padding:6px 10px}.notice[hidden]{display:none}.blind-toggle{margin-top:8px}.badge.blind{background:var(--accent);color:var(--accent-ink)}.reveal-banner{border-left:3px solid var(--accent);background:var(--panel-2);padding:6px 10px;font-size:13px}.chart-body{position:relative}svg.draw-overlay{-webkit-user-select:none;user-select:none;touch-action:none;pointer-events:none;z-index:3;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}svg.draw-overlay .handle{pointer-events:all;cursor:grab;fill:var(--panel);stroke:var(--accent);stroke-width:1.5px}svg.draw-overlay .handle.body{cursor:move}svg.draw-overlay .handle:hover,svg.draw-overlay .handle.active{fill:var(--accent)}svg.draw-overlay .order-handle{pointer-events:all;cursor:ns-resize}svg.draw-overlay .bracket-marker,svg.draw-overlay .bracket-marker *{pointer-events:all;cursor:ns-resize;touch-action:none}.replay-state{box-sizing:border-box;height:var(--h-sm,28px);border:1px solid var(--border);background:var(--panel-2);font-size:var(--fs-sm,12px);white-space:nowrap;border-radius:999px;align-items:center;padding:0 8px;font-weight:600;display:inline-flex}.replay-state[data-state=playing]{border-color:var(--accent);color:var(--accent)}.bar-menu{z-index:60;background:var(--panel);border:1px solid var(--border);border-radius:var(--r,6px);box-shadow:var(--shadow,0 8px 24px #00000047);padding:4px;display:flex;position:fixed}.bar-menu button{white-space:nowrap;min-width:44px;min-height:44px;padding:0 12px}svg.draw-overlay .del{pointer-events:all;cursor:pointer}svg.draw-overlay text{fill:var(--text);paint-order:stroke;stroke:var(--bg);stroke-width:3px;font-size:11px}svg.draw-overlay.dragging{pointer-events:all;cursor:grabbing}table.data.compact td,table.data.compact th{padding:2px 8px}.groups{align-items:flex-start;gap:24px}.groups h4{margin:8px 0 4px}.completion-summary{border-bottom:1px solid var(--border);background:var(--panel);flex-shrink:0;max-height:35vh;padding:8px 12px;overflow:auto}.indicator-panel{z-index:10;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);min-width:220px;max-width:320px;max-height:70vh;box-shadow:var(--shadow);padding:10px;position:absolute;top:32px;right:8px;overflow:auto}.indicator-panel h4{margin:0;font-size:13px}.indicator-panel .panel-head{justify-content:space-between;align-items:center;gap:8px;margin:0 0 8px;display:flex}.indicator-panel .panel-close{box-sizing:border-box;flex:none;width:32px;min-width:32px;height:32px;min-height:32px;padding:0}.indicator-panel h5{text-transform:uppercase;color:var(--muted);margin:10px 0 6px;font-size:11px}.indicator-row{flex-wrap:wrap;align-items:flex-start;gap:6px;padding:4px 0;font-size:12px;display:flex}.indicator-row input[type=checkbox]{margin-top:2px}.indicator-controls{flex-wrap:wrap;gap:6px;width:100%;padding:4px 0 4px 20px;display:flex}.ind-ctrl{color:var(--muted);align-items:center;gap:4px;font-size:11px;display:flex}.ind-ctrl input[type=number]{width:50px;padding:2px 4px}.ind-ctrl input[type=color]{border:0;width:28px;height:20px;padding:0}.ind-search{box-sizing:border-box;width:100%;margin:0 0 6px}.ind-chips,.macro-presets,.macro-actions,.macro-exits,.macro-rule-head,.macro-cond,.macro-head{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.ind-chip{border:1px solid var(--border);color:var(--muted);background:0 0;border-radius:99px;padding:1px 8px;font-size:11px}.ind-chip.on{color:var(--text);border-color:var(--accent,var(--text))}.catalog-hit,.macro-stat{justify-content:space-between;align-items:center;gap:8px;padding:2px 0;font-size:12px;display:flex}.macro-panel h4{margin:10px 0 4px;font-size:12px}.macro-steps{flex-wrap:wrap;justify-content:flex-start;gap:4px;margin:6px 0;display:flex}.macro-steps button{padding:2px 6px;font-size:12px}.macro-steps button[aria-current=step]{border-color:var(--accent);color:var(--accent);font-weight:700}.macro-wizard-nav{justify-content:flex-start;align-items:center;gap:8px;margin-top:10px;display:flex}.macro-ready{border-radius:6px;margin:0 0 8px;padding:6px 8px;font-size:13px;font-weight:600}.macro-ready.ok{color:var(--up);background:color-mix(in srgb, var(--up) 16%, transparent)}.macro-ready.no{color:var(--down);background:color-mix(in srgb, var(--down) 14%, transparent)}.macro-follow{margin:0 0 8px;font-size:13px}.macro-compose{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.macro-actions{flex-direction:column;align-items:stretch}.macro-run-block{border:1px solid var(--border);border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px;padding:8px;display:flex}.macro-run-block h4{width:100%;margin:0}.macro-seg{border:1px solid var(--border);border-radius:6px;display:inline-flex;overflow:hidden}.macro-seg button{background:0 0;border:0;border-radius:0}.macro-seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.macro-example-row{justify-content:flex-end;display:flex}.macro-zero-count{margin:4px 0;font-size:22px;font-weight:700}.macro-cond-list{margin:8px 0;padding:0;list-style:none}.macro-cond-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:4px 0;display:flex}.macro-missing{border:1px solid var(--down);border-radius:6px;margin-top:8px;padding:6px 8px}.macro-missing ul{margin:4px 0 0;padding-left:18px}button.is-blocked{opacity:.55}.macro-blind-notice{margin:8px 12px 0}.macro-banner{letter-spacing:.04em;text-transform:uppercase;color:var(--down,#c45c26);margin:0;font-size:11px;font-weight:700}.macro-rule,.macro-result{border:1px solid var(--border);border-radius:6px;margin:6px 0;padding:6px}.macro-cond select,.macro-exits select,.macro-actions select,.macro-rule-head select{max-width:140px}.macro-panel input[type=number]{width:72px}.chart-head{position:relative}.drawing-palette{z-index:5;background:var(--panel);border:1px solid var(--border);max-width:calc(100% - 8px);box-shadow:var(--shadow);opacity:.9;pointer-events:none;border-radius:6px;flex-wrap:wrap;align-items:flex-start;gap:3px;padding:3px;display:flex;position:absolute;top:4px;left:4px}.drawing-palette:hover,.drawing-palette:focus-within{opacity:1}.drawing-palette.collapsed{opacity:.75}.drawing-palette-tools{flex-wrap:wrap;align-items:center;gap:3px;display:flex}.drawing-palette button{pointer-events:auto;padding:2px 6px;font-size:11px}.drawing-palette-toggle{font-weight:600}.drawing-palette-clear{margin-left:2px}.drawing-palette button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}svg.draw-overlay.drawing-freehand{pointer-events:all;cursor:crosshair}.drawing-text{cursor:move;pointer-events:all}.drawing-freehand-path{pointer-events:all;cursor:move}.drawing-style-bar{z-index:6;background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);pointer-events:all;border-radius:6px;align-items:center;gap:8px;padding:4px 8px;display:flex;position:absolute;top:8px;left:50%;transform:translate(-50%)}.drawing-style-bar input[type=color]{border:0;width:28px;height:22px;padding:0}.drawing-style-bar input[type=number]{width:52px;padding:2px 4px}svg.draw-overlay .position-body{pointer-events:all;cursor:move}.risk-preview-wrap{border:1px solid var(--border);background:var(--panel-2,var(--panel));border-radius:6px;max-height:40vh;margin-top:8px;padding:0 8px 6px;overflow:auto}.risk-preview-wrap>summary{cursor:pointer;padding:6px 0;font-size:12px;font-weight:600;list-style:none}.risk-preview-wrap>summary::-webkit-details-marker{display:none}.risk-preview-wrap[open]>summary{border-bottom:1px solid var(--border);margin-bottom:6px}.risk-preview-wrap .risk-sides{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tv-lightweight-charts,.tv-lightweight-charts *{box-sizing:content-box}.tv-lightweight-charts table{border-collapse:collapse;border-spacing:0}a#tv-attr-logo,a#tv-attr-logo svg{width:35px;max-width:35px;height:19px;max-height:19px}.risk-preview-wrap h4{margin:4px 0;font-size:12px}.countdown-overlay{z-index:100;padding:24px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--bg) 78%, transparent);flex-direction:column;justify-content:center;align-items:center;gap:28px;display:flex;position:fixed;inset:0}.countdown-stage{place-items:center;min-width:8rem;min-height:8rem;display:grid}.countdown-num{font-variant-numeric:tabular-nums;min-width:1.2em;color:var(--accent);-webkit-user-select:none;user-select:none;place-items:center;font-size:clamp(7rem,22vw,11rem);font-weight:700;line-height:.9;display:grid;position:relative}.countdown-num:after{content:"";border:4px solid var(--accent);pointer-events:none;border-radius:50%;position:absolute;inset:-8%}.countdown-pop{animation:.9s ease-out both countdown-pop}.countdown-pop:after{animation:.9s ease-out both countdown-ring}@keyframes countdown-pop{0%{opacity:0;transform:scale(.35)}45%{opacity:1;transform:scale(1.16)}to{opacity:1;transform:scale(1)}}@keyframes countdown-ring{0%{opacity:.85;transform:scale(.55)}to{opacity:0;transform:scale(1.45)}}.countdown-skip{min-width:7rem;min-height:44px;padding:8px 22px;font-size:16px;font-weight:600}@media (prefers-reduced-motion:reduce){.countdown-pop,.countdown-pop:after{animation:none}}.exam-overlay{z-index:60;background:#0000009e;place-content:center;gap:10px;padding:18px;display:grid;position:fixed;inset:0;overflow-y:auto}.exam-cert{border:1px solid var(--line,#2c3644);background:var(--panel,#171c25);width:min(430px,92vw);box-shadow:var(--shadow);border-radius:14px;padding:22px}.exam-kicker{letter-spacing:.08em;text-transform:uppercase;opacity:.7;margin:0;font-size:12px}.exam-heading{color:var(--accent,#f2a93b);margin:6px 0 2px;font-size:22px}.exam-code{opacity:.75;margin:0 0 14px;font-family:ui-monospace,monospace;font-size:12px}.exam-rows{gap:8px;margin:0;display:grid}.exam-row{border-bottom:1px dashed var(--line,#2c3644);justify-content:space-between;gap:12px;padding-bottom:6px;display:flex}.exam-row dt,.exam-row dd{margin:0}.exam-row dd{font-variant-numeric:tabular-nums;font-weight:600}.exam-legal,.exam-note,.exam-best,.exam-privacy{text-align:center;opacity:.8;max-width:430px;margin:0;font-size:12px;line-height:1.5}.exam-actions{justify-content:center;gap:10px;display:flex}.exam-ready{animation:.9s ease-out exam-glow}@keyframes exam-glow{0%{box-shadow:0 0 #f2a93b8c}to{box-shadow:0 0 0 10px #f2a93b00}}@media (prefers-reduced-motion:reduce){.exam-ready{animation:none}}:root{--bg:#0b0d10;--chart-bg:#0b0d10;--panel:#12151a;--panel-2:#181c22;--border:#232830;--grid:#161a20;--text:#e3e6ea;--muted:#8a919c;--accent:#f2a93b;--accent-ink:#1b1305;--up:#22b07d;--down:#e5484d;--radius:6px;--tap:32px;font-variant-numeric:tabular-nums;font-size:13px}:root[data-theme=light]{--bg:#f5f4f0;--chart-bg:#fff;--panel:#fff;--panel-2:#f2f1ec;--border:#dcdad3;--grid:#efeee9;--text:#16191d;--muted:#565d67;--accent:#9a5800;--up:#12855c;--down:#c8343a}@media (pointer:coarse){:root{--tap:44px}}header.app{gap:10px;min-height:44px;padding:6px 12px}.brand{font-size:15px}.card h2,.card h3{letter-spacing:.8px;font-size:11px}.num{font-variant-numeric:tabular-nums}footer.app{gap:12px;padding:4px 12px}.footer-recommend{margin-left:auto}.toolbar{scrollbar-width:none;flex-wrap:nowrap;gap:6px;min-height:44px;padding:4px 10px;overflow-x:auto}.toolbar::-webkit-scrollbar{display:none}.toolbar>*{flex-shrink:0}.toolbar .spacer{flex:auto;min-width:8px}.toolbar .replay{border:1px solid var(--border);background:var(--panel-2);border-radius:8px;align-items:center;gap:2px;padding:2px;display:inline-flex}.toolbar .replay button{background:0 0;border-color:#0000}.toolbar .replay button.primary{background:var(--accent);color:var(--accent-ink)}.toolbar .replay .speed{padding:0 4px}.toolbar .clock{min-width:0;font-size:12px}.pnl-chip{border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.pnl-chip.up{color:var(--up);border-color:color-mix(in srgb, var(--up) 45%, var(--border))}.pnl-chip.down{color:var(--down);border-color:color-mix(in srgb, var(--down) 45%, var(--border))}.sheet-toggle{display:none}.rules-strip{background:color-mix(in srgb, var(--panel) 94%, transparent);border-bottom:1px solid var(--border);z-index:6;flex:none;align-items:center;gap:6px;min-height:28px;padding:2px 8px;display:flex}.rules-strip.docked{width:100%;position:relative}.rules-strip.floating{border:1px solid var(--border);width:max-content;max-width:calc(100% - 8px);box-shadow:var(--shadow);border-radius:8px;position:absolute}.rules-strip.is-collapsed{border:1px solid var(--border);background:var(--panel);border-radius:999px;width:max-content;padding:0 4px 0 2px}.rules-strip-grip,.rules-strip-toggle{height:var(--h-sm,26px);min-width:var(--h-sm,26px);flex:none;padding:0 6px;font-size:12px}.rules-strip-grip{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.rules-strip-body{flex-wrap:wrap;flex:1;align-items:center;gap:4px 12px;min-width:0;display:flex}.rules-strip.is-collapsed .rules-strip-body{display:none}.rules-strip-empty{margin:0;font-size:12px}.rules-metric{white-space:nowrap;align-items:baseline;gap:6px;max-width:100%;padding-bottom:3px;font-size:12px;display:inline-flex;position:relative}.rules-metric .k{color:var(--muted)}.rules-metric .meter{border:0;border-radius:1px;height:2px;position:absolute;bottom:0;left:0;right:0}.rules-metric.hot .v,.rules-metric.hot .meter>span{color:var(--down)}.rules-metric.hot .meter>span{background:var(--down)}.rules-metric.goal .meter>span{background:var(--up)}.bottom .tabpanel .rule-check{box-shadow:none;background:0 0;border:0;padding:0}.chart-cell .chart-head{min-height:30px;padding:2px 6px}.chart-cell .chart-head select,.chart-cell .chart-head button{min-height:26px;padding:1px 8px}.ohlc-legend{z-index:4;color:var(--muted);pointer-events:none;white-space:nowrap;background:color-mix(in srgb, var(--chart-bg) 80%, transparent);border-radius:4px;padding:1px 6px;font-size:11px;position:absolute;top:6px;left:50%;transform:translate(-50%)}.ohlc-legend[data-dir=up]{color:var(--up)}.ohlc-legend[data-dir=down]{color:var(--down)}.chart-body{touch-action:none}.side{gap:8px;width:300px;padding:8px}.qty-presets{gap:4px;margin-top:6px}.qty-presets button{min-width:36px}.side button.buy,.side button.sell{min-height:40px;font-size:14px}.rule-overall{background:var(--panel-2);border-radius:6px;justify-content:space-between;gap:8px;padding:6px 8px;font-size:12px;display:flex}.rule-overall.pass{color:var(--up)}.rule-overall.fail{color:var(--down)}.rule-list{flex-direction:column;gap:6px;margin:6px 0;padding:0;list-style:none;display:flex}.rule-head{grid-template-columns:1fr auto auto;align-items:baseline;gap:8px;font-size:12px;display:grid}.rule-state{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:0 6px;font-size:11px}.rule-state.pass{color:var(--up);border-color:color-mix(in srgb, var(--up) 50%, var(--border))}.rule-state.fail{color:var(--down);border-color:color-mix(in srgb, var(--down) 50%, var(--border))}.rule.fail .meter>span{background:var(--down)}.rule.pass .meter>span{background:var(--up)}.checkpoint-list{flex-direction:column;gap:4px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.checkpoint-list li{grid-template-columns:1fr auto;align-items:center;gap:4px 8px;display:grid}.checkpoint-list li>button{justify-self:start}.bottom{height:200px}.bottom .tabbar{scrollbar-width:none;flex-wrap:nowrap;gap:2px;padding:4px 8px 0;overflow-x:auto}.bottom .tabbar button{white-space:nowrap;min-height:28px}.trade-bar{display:none}.profile-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.profile-list li{border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:4px;padding:8px;display:flex}.profile-list .title{font-weight:600}.profile-form textarea{background:var(--bg);width:100%;color:var(--text);border:1px solid var(--border);font:inherit;border-radius:6px;padding:6px}.recommend{border-top:1px solid var(--border);margin-top:12px;padding-top:8px}.disclosure summary{cursor:pointer;margin:6px 0}.keys{line-height:1.7}@media (max-width:1199px){.tb-wide{display:none!important}.side{width:280px}.bottom{height:170px}}@media (max-width:899px){body.in-practice footer.app{display:none}body.in-practice header.app{gap:6px;min-height:40px}body.in-practice header.app .brand small,body.in-practice #lang-picker{display:none}.practice-root{height:calc(100dvh - 40px)}.toolbar .replay,#view-practice .toolbar [data-testid=btn-checkpoint]{display:none}.toolbar .clock{font-size:11px}.sheet-toggle{align-items:center;display:inline-flex}.workspace{flex-direction:row;position:relative}.charts.split{grid-template-rows:1fr 1fr;grid-template-columns:1fr}.side{z-index:40;border-left:1px solid var(--border);width:min(360px,92vw);box-shadow:var(--shadow);padding-top:calc(8px + env(safe-area-inset-top));padding-bottom:calc(8px + env(safe-area-inset-bottom));border-top:0;transition:transform .18s ease-out;position:fixed;top:0;bottom:0;right:0;transform:translate(105%)}body.sheet-open .side{transform:none}body.sheet-open:after{content:"";z-index:39;background:#0006;position:fixed;inset:0}.bottom{height:34px;overflow:hidden}.bottom:focus-within,.bottom.expanded{height:40vh}.trade-bar{padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--panel);flex-direction:column;gap:6px;display:flex}.trade-bar .tb-replay,.trade-bar .tb-order{gap:6px;display:grid}.trade-bar .tb-replay{grid-template-columns:minmax(44px,.55fr) minmax(44px,.55fr) minmax(52px,1fr) minmax(44px,.55fr) minmax(44px,.65fr) minmax(6.5rem,1.35fr)}.trade-bar .tb-order{grid-template-columns:1.3fr .8fr 1.3fr .9fr}.trade-bar button,.trade-bar input,.trade-bar select{min-height:44px;font-size:15px;font-weight:600}.trade-bar input{text-align:center;width:100%}.trade-bar button.flat{background:var(--panel-2)}}@media (max-width:767px){.library{gap:8px;padding:8px}.library .preview-chart{height:240px}.ohlc-legend{font-size:10px;top:34px}.chart-cell .chart-head{gap:4px}.drawing-palette{max-width:calc(100% - 8px)}.drawing-palette button{min-width:36px;min-height:36px}dialog{border-radius:0;width:100vw;max-width:100vw;max-height:100dvh;margin:0;padding:12px}}body.in-practice footer.app{display:none}body.in-practice header.app .brand small{display:none}body.in-practice header.app button,body.in-practice header.app select{min-height:28px;padding:2px 8px}.bottom{height:34px;transition:height .15s ease-out}.bottom.expanded,.bottom.macro-open{height:min(300px,38vh)}.bottom .tabbar button[aria-selected=true]{background:var(--panel-2)}.bottom-toggle{margin-left:auto}.drawing-palette{opacity:1;box-shadow:none;background:0 0;border-color:#0000;top:2px;left:4px}.drawing-palette:not(.collapsed){background:var(--panel);border-color:var(--border);box-shadow:var(--shadow)}.chart-cell .chart-head{padding-left:64px}.ohlc-legend{top:34px;left:8px;transform:none}.side .card h3+.muted.small{margin-top:0}@media (pointer:fine){.side input,.side select{min-height:28px;padding:2px 6px}.side button{min-height:28px}.side button.buy,.side button.sell{min-height:36px}.side .seg{display:flex}.side .seg button{flex:1}}@media (max-width:899px){body.in-practice #about-open{display:none}body.in-practice header.app nav.tabs button{padding:2px 8px}.toolbar strong,.toolbar>.muted:not(.clock){text-overflow:ellipsis;white-space:nowrap;max-width:30vw;overflow:hidden}.pnl-chip{padding:2px 8px;font-size:11px}.bottom{height:34px}.bottom .tabpanel{padding-bottom:env(safe-area-inset-bottom)}}.bottom .tabbar button[data-count]:not([data-count=""]):after{content:attr(data-count);background:var(--panel-2);color:var(--muted);border-radius:999px;margin-left:6px;padding:0 5px;font-size:10px}.object-list,.key-table{flex-direction:column;gap:2px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.object-list li{grid-template-columns:1fr auto auto auto;align-items:center;gap:2px;display:grid}.key-table label{justify-content:space-between}.key-table .key{min-width:72px;font-family:ui-monospace,monospace}.review-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.review-grid h4{margin:4px 0;font-size:12px}.review-svg{width:100%;height:auto;max-height:160px}.review-svg .equity{fill:none;stroke:var(--accent);stroke-width:1.6px}.review-svg .base{stroke:var(--border);stroke-dasharray:3 3}.review-svg .pos{fill:var(--up)}.review-svg .neg{fill:var(--down)}.review-svg text{fill:var(--muted);font-size:9px}@media (min-width:900px) and (max-width:1199px){.side{gap:6px;width:260px;padding:6px}body.in-practice header.app .brand small,body.in-practice #lang-picker{display:none}.toolbar{min-height:40px;padding:2px 8px}.status-banner:empty,.macro-blind-notice[hidden]{display:none}}@media (max-height:820px) and (min-width:900px){.chart-cell .chart-head{min-height:26px}}@media (min-width:900px) and (max-width:1000px){.workspace{flex-direction:row}.side{border-left:1px solid var(--border);border-top:0}}.bottom .tabbar{flex-wrap:nowrap;flex-shrink:0;height:34px;padding:3px 8px 0;-webkit-mask-image:linear-gradient(90deg,#000 92%,#0000);mask-image:linear-gradient(90deg,#000 92%,#0000)}.bottom .tabbar button{height:30px;min-height:30px;padding:0 10px;font-size:12px}.bottom .tabbar .bottom-toggle{background:var(--panel);position:sticky;right:0}.bottom:not(.expanded):not(.macro-open){height:calc(34px + env(safe-area-inset-bottom))}.bottom:not(.expanded):not(.macro-open) .tabpanel{display:none}.ohlc-legend{top:36px;left:8px}.drawing-palette.collapsed{top:2px}.risk-preview-wrap .risk-sides{grid-template-columns:1fr}@media (max-width:767px){.toolbar strong{max-width:22vw}.toolbar>.muted:not(.clock){display:none}.toolbar .clock{text-overflow:ellipsis;max-width:30vw;overflow:hidden}.pnl-chip{flex-shrink:0}.bottom.expanded{height:45vh}}.toolbar label>span[data-i18n=pr\.jump],.toolbar .speed>span[data-i18n=pr\.speed]{display:none}.toolbar strong{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.toolbar>.muted:not(.clock){text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.toolbar input[type=datetime-local]{max-width:190px}@media (max-width:767px){.toolbar strong{display:none}}@media (max-width:1365px){.tb-wide{display:none!important}}.bottom{box-sizing:border-box}.bottom .tabbar{height:33px}.bottom .tabbar button,.bottom .tabbar button.small{box-sizing:border-box;height:28px;min-height:0}@media (max-width:1000px){#view-practice.view.active,.practice-root{min-width:0;min-height:0}.trade-bar{z-index:30;flex-shrink:0;position:sticky;bottom:0}}@media (max-width:899px){.indicator-panel{z-index:80;width:auto;min-width:0;max-width:none;max-height:min(70dvh,100dvh - 48px);padding-bottom:calc(12px + env(safe-area-inset-bottom));border-radius:12px 12px 0 0;position:fixed;inset:auto 0 0}.indicator-panel .indicator-row,.indicator-panel .catalog-hit{align-items:center;min-height:44px}}@media (max-width:520px){.bottom .tabbar{flex-wrap:wrap;row-gap:2px;height:auto;padding-bottom:4px;overflow:visible;-webkit-mask-image:none;mask-image:none}.bottom .tabbar button{white-space:nowrap}.bottom .tabbar .bottom-toggle{position:static}.bottom:not(.expanded):not(.macro-open){height:auto}}@media (max-width:1000px){.tb-split{display:none!important}}:root{--h-sm:26px;--h-md:32px;--h-lg:40px;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-lg:15px;--r-sm:4px;--r:6px;--sp1:4px;--sp2:8px;--sp3:12px;--radius:var(--r)}@media (pointer:coarse){:root{--h-md:40px;--h-lg:44px;--fs-input:16px}}:where(button,a.button,select,input:not([type=checkbox],[type=radio],[type=color],[type=range],[type=file])){box-sizing:border-box;height:var(--h-md);border-radius:var(--r);min-height:0;font-size:var(--fs-md);vertical-align:middle;padding:0 10px;line-height:1}button,a.button{white-space:nowrap;justify-content:center;align-items:center;gap:6px;display:inline-flex}button.small,a.button.small{height:var(--h-sm);font-size:var(--fs-sm);padding:0 8px}textarea{border-radius:var(--r);font-size:var(--fs-md)}input[type=color]{height:var(--h-sm);border-radius:var(--r-sm);width:36px;padding:2px}label.field>span{font-size:var(--fs-sm);line-height:16px}label.field>input,label.field>select{font-size:var(--fs-input,var(--fs-md))}.card{padding:var(--sp3);border-radius:var(--r)}.card h2,.card h3{margin:0 0 var(--sp2);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700;line-height:16px}.side .card{padding:var(--sp3)}.side{gap:var(--sp2);padding:var(--sp2)}header.app{min-height:48px;padding:0 var(--sp2);gap:var(--sp2);align-items:center}header.app nav.tabs{gap:var(--sp1);display:flex}body.in-practice header.app{min-height:40px}body.in-practice header.app button,body.in-practice header.app select{height:var(--h-sm);font-size:var(--fs-sm);padding:0 8px}.toolbar{min-height:44px;padding:0 var(--sp2);gap:var(--sp2);align-items:center}.toolbar>*,.toolbar .row{align-items:center}.toolbar button,.toolbar select,.toolbar input{height:var(--h-md)}.toolbar .replay{height:calc(var(--h-md) + 6px);border-radius:calc(var(--r) + 2px);gap:2px;padding:2px}.toolbar .replay button,.toolbar .replay select{height:var(--h-md)}.toolbar .sep{height:20px}.toolbar strong{font-size:var(--fs-md);line-height:var(--h-md)}.toolbar .clock{font-size:var(--fs-sm);line-height:var(--h-md);font-variant-numeric:tabular-nums}.pnl-chip{box-sizing:border-box;height:var(--h-sm);font-size:var(--fs-sm);border-radius:999px;align-items:center;padding:0 10px;line-height:1;display:inline-flex}.chart-cell .chart-head{min-height:34px;padding:var(--sp1) var(--sp2);gap:var(--sp1);align-items:center}.chart-cell .chart-head button,.chart-cell .chart-head select{height:var(--h-sm);font-size:var(--fs-sm);padding:0 8px}.drawing-palette{top:var(--sp1);left:var(--sp2);gap:var(--sp1);padding:0}.drawing-palette button{height:var(--h-sm);min-width:0;font-size:var(--fs-sm);padding:0 8px}.drawing-palette:not(.collapsed){padding:var(--sp1);border-radius:var(--r)}.ohlc-legend{top:40px;left:var(--sp2);font-size:var(--fs-xs);line-height:16px}.side .seg{border-radius:var(--r);grid-auto-columns:1fr;grid-auto-flow:column;gap:0;display:grid;overflow:hidden}.side .seg button{height:var(--h-md);border-radius:0}.side .grid2{gap:var(--sp2);align-items:end}.side button.buy,.side button.sell{height:var(--h-lg);font-size:var(--fs-lg)}.qty-presets{gap:var(--sp1);margin-top:var(--sp2);grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.qty-presets button{height:var(--h-sm)}.side .row{gap:var(--sp2)}.rule-head{font-size:var(--fs-sm);grid-template-columns:1fr auto 72px;line-height:18px}.rule-state{box-sizing:border-box;height:18px;font-size:var(--fs-xs);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.rule-overall{min-height:var(--h-sm);box-sizing:border-box;padding:0 var(--sp2);border-radius:var(--r);align-items:center}.bottom .tabbar{align-items:center;gap:var(--sp1);padding:0 var(--sp2)}.bottom .tabbar button,.bottom .tabbar button.small{height:var(--h-sm);font-size:var(--fs-sm);border-radius:var(--r);padding:0 10px}.trade-bar{gap:var(--sp2);padding:var(--sp2) var(--sp2) calc(var(--sp2) + env(safe-area-inset-bottom))}.trade-bar .tb-replay,.trade-bar .tb-order{gap:var(--sp2);display:grid}.trade-bar .tb-replay{grid-template-columns:minmax(44px,.55fr) minmax(44px,.55fr) minmax(52px,1fr) minmax(44px,.55fr) minmax(44px,.65fr) minmax(6.5rem,1.35fr)}.trade-bar .tb-order{grid-template-columns:repeat(4,minmax(0,1fr))}.trade-bar button,.trade-bar input,.trade-bar select{height:var(--h-lg);font-size:var(--fs-lg);border-radius:var(--r);font-weight:600}.trade-bar .tb-replay button{font-size:var(--fs-md)}.trade-bar select.tb-speed{background:var(--panel-2);width:100%;min-width:0;padding:0 2px 0 6px}.trade-bar input{text-align:center;padding:0 4px}.toast{left:var(--sp3);right:var(--sp3);border-radius:var(--r)}@media (min-width:768px){.toast{left:auto;right:var(--sp3);max-width:420px}}.library{gap:var(--sp3);padding:var(--sp3)}.library .row{gap:var(--sp2);align-items:center}.grid3,.grid2{gap:var(--sp2)}@media (max-height:520px){.chart-cell{min-height:0}body.in-practice header.app{min-height:32px}.practice-root{height:calc(100dvh - 32px)}.toolbar{min-height:36px}.toolbar button,.toolbar select,.toolbar input,.toolbar .replay button{height:var(--h-sm)}.toolbar .replay{height:calc(var(--h-sm) + 6px)}.status-banner.show,.reveal-banner:not([hidden]){padding:2px var(--sp2);font-size:var(--fs-sm);white-space:nowrap;text-overflow:ellipsis;line-height:18px;overflow:hidden}}@media (max-height:520px) and (max-width:1199px){.side{z-index:40;border-left:1px solid var(--border);width:min(360px,60vw);box-shadow:var(--shadow);transition:transform .18s ease-out;position:fixed;top:0;bottom:0;right:0;transform:translate(105%)}body.sheet-open .side{transform:none}.sheet-toggle{display:inline-flex}.trade-bar{gap:var(--sp2);padding:var(--sp1) calc(var(--sp2) + env(safe-area-inset-right)) var(--sp1) calc(var(--sp2) + env(safe-area-inset-left));grid-template-columns:1fr 1fr;display:grid}.trade-bar button,.trade-bar input,.trade-bar select{height:var(--h-md);font-size:var(--fs-md)}.bottom.expanded{height:50dvh}}@supports (padding:env(safe-area-inset-left)){.toolbar,.chart-cell .chart-head{padding-left:max(var(--sp2), env(safe-area-inset-left));padding-right:max(var(--sp2), env(safe-area-inset-right))}}button.small,a.button.small{min-height:0!important}@media (pointer:coarse){:root{--h-sm:32px}}@media (max-height:520px) and (max-width:1199px){.toolbar .replay,#view-practice .toolbar [data-testid=btn-checkpoint],.toolbar strong,.toolbar>.muted:not(.clock),.tb-wide{display:none!important}}.toolbar .sheet-toggle{height:var(--h-sm)}header.app,.toolbar{padding-right:var(--sp2);padding-left:var(--sp2)}header.app>:last-child{margin-right:0}.trade-bar input[type=number],.side input[type=number]{appearance:textfield}.trade-bar input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.trade-bar input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.side input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.side input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}@media (max-width:899px),(max-height:520px){body.in-practice .toast{bottom:calc(var(--toast-lift,140px) + env(safe-area-inset-bottom))}}@media (max-height:520px){body.in-practice .toast{--toast-lift:56px}}.toast{box-sizing:border-box;border-left:1px solid var(--border);box-shadow:inset 3px 0 0 var(--accent), var(--shadow);padding:var(--sp2) var(--sp3);font-size:var(--fs-md);line-height:18px}.toast.error{border-left-color:var(--border);box-shadow:inset 3px 0 0 var(--down), var(--shadow)}.toast{right:var(--sp2)}@media (max-width:767px){.toast{left:var(--sp2);right:var(--sp2);max-width:none}}@media (max-width:899px){body.in-practice .toast{--toast-lift:156px}}@media (max-height:520px){body.in-practice .toast{--toast-lift:96px}}@media (max-width:899px),(max-height:520px){.toolbar .spacer{display:none}.toolbar .clock{margin-right:auto}}.rule-list{gap:0}.rule{grid-template-rows:18px 4px auto;row-gap:4px;padding:4px 0;display:grid}.rule-head{column-gap:var(--sp2);grid-template-columns:minmax(0,1fr) auto 84px}.rule-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rule-val{text-align:right;white-space:nowrap}.rule-state{white-space:nowrap;justify-self:end;width:84px}.rule .meter{height:4px;margin-top:0}.rule:not(:has(.meter)):after{content:"";background:var(--panel-2);border-radius:2px;height:4px;display:block}.toolbar .replay button:not(.primary){border:1px solid #0000}.toolbar .replay button:not(.primary):hover{border-color:var(--border)}.toolbar label.row{color:var(--text);font-size:var(--fs-sm);gap:6px}.side{scroll-padding-top:var(--sp2)}.rule-head{column-gap:var(--sp3);font-variant-numeric:tabular-nums}:root[data-theme=light] .bottom .tabbar button[data-count]:not([data-count=""]):after{background:var(--border);color:var(--text)}.bottom .tabbar .bottom-toggle{border-color:var(--border);color:var(--text);box-shadow:-8px 0 8px var(--panel)}:root[data-theme=light] .drawing-palette:not(.collapsed){border-color:var(--border);box-shadow:0 4px 16px #14141424}.ohlc-legend{background:color-mix(in srgb, var(--chart-bg) 88%, transparent);border-radius:var(--r-sm);padding:0 6px}svg.draw-overlay text{stroke:var(--chart-bg);stroke-width:4px;stroke-linejoin:round;font-weight:600}.bottom .tabbar .bottom-toggle{min-width:var(--h-sm);background:var(--panel-2);font-size:15px;font-weight:700}.bottom .tabbar button[data-count]:not([data-count=""]):after,:root[data-theme=light] .bottom .tabbar button[data-count]:not([data-count=""]):after{background:var(--text);color:var(--panel);text-align:center;min-width:16px;font-weight:700}.bottom .tabbar .bottom-toggle{width:var(--h-sm);border:1px solid var(--border);background:var(--panel);padding:0;position:sticky;right:0}.bottom .tabbar .bottom-toggle:before{content:"";border-left:2px solid var(--text);border-top:2px solid var(--text);width:8px;height:8px;transform:translateY(2px)rotate(45deg)}.bottom .tabbar .bottom-toggle.open:before{transform:translateY(-2px)rotate(225deg)}.bottom .tabbar{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 72px),#0000 calc(100% - 40px),#000 calc(100% - 40px));mask-image:linear-gradient(90deg,#000 calc(100% - 72px),#0000 calc(100% - 40px),#000 calc(100% - 40px))}.bottom .tabbar .bottom-toggle:before{box-sizing:border-box;flex:0 0 8px;display:block}html{overscroll-behavior-x:none;overflow-x:clip}@media (pointer:coarse){input:not([type=checkbox],[type=radio],[type=color],[type=range],[type=button]),select,textarea{font-size:var(--fs-input,16px)!important}}label.field{justify-content:flex-end;min-width:0}label.field>span{overflow-wrap:anywhere}label.field>input,label.field>select{width:100%;min-width:0;max-width:100%}.grid2,.grid3{align-items:end}.grid2>*,.grid3>*{min-width:0}input[type=date],input[type=time],input[type=datetime-local]{appearance:none;text-align:left;width:100%;min-width:0;display:block}input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}input[type=time]::-webkit-date-and-time-value{text-align:left;margin:0}input[type=datetime-local]::-webkit-date-and-time-value{text-align:left;margin:0}@media (max-width:639px){#session-table,#session-table tbody{width:100%;display:block}#session-table tr{gap:4px var(--sp2,8px);padding:var(--sp2,8px) 0;border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;display:grid}#session-table td{overflow-wrap:anywhere;border:0;min-width:0;padding:0;display:block}#session-table td:last-child{flex-direction:column;grid-area:1/2/span 4;align-items:stretch;gap:4px;display:flex}#session-table td:last-child button.icon-delete{width:100%}header.app{flex-wrap:nowrap;overflow:hidden}header.app .brand small{display:none}#lang-picker{text-overflow:ellipsis;flex:0 auto;min-width:0;max-width:96px}header.app nav.tabs{flex:none}}@media (max-width:899px),(max-height:520px){.toolbar{flex-wrap:nowrap;overflow:hidden}.bottom .tabbar{row-gap:var(--sp1,4px);height:auto;padding:var(--sp1,4px) var(--sp2,8px);flex-wrap:wrap;overflow:visible;-webkit-mask-image:none;mask-image:none}.bottom:not(.expanded):not(.macro-open){height:auto}.bottom .tabbar .bottom-toggle{box-shadow:none;margin-left:auto;position:static}.bottom.expanded,.bottom.macro-open{height:min(50dvh,420px)}.chart-body{touch-action:none;overscroll-behavior:contain}}@media (max-width:899px){.practice-root{height:calc(100dvh - 40px)}.bottom{padding-bottom:env(safe-area-inset-bottom)}}.sheet-close{display:none}@media (max-width:899px),(max-height:520px){.sheet-close{z-index:1;box-sizing:border-box;background:var(--panel);border:1px solid var(--border);flex:none;align-self:flex-end;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;font-size:18px;display:inline-flex;position:sticky;top:0}.side{overscroll-behavior:contain}}.trade-bar [data-testid=tb-play].playing{background:var(--panel-2);color:var(--accent);border-color:var(--accent)}.drawing-palette-toggle.active-tool{border-color:var(--accent);color:var(--accent)}.toast{pointer-events:none}.toast.error{pointer-events:auto}@media (max-width:639px){header.app{gap:var(--sp1,4px)}header.app .brand{font-size:14px}header.app button,header.app select{padding:0 8px}header.app .brand{gap:0;font-size:0}header.app .brand .mark{margin:0}#lang-picker{flex:none;width:76px;max-width:76px}}@media (max-width:479px){#settings-open,#about-open{width:var(--h-md,40px);flex:none;padding:0;font-size:0}#settings-open:before,#about-open:before{font-size:18px;line-height:1}#settings-open:before{content:"⚙"}#about-open:before{content:"ⓘ"}}@media (max-width:399px){header.app{flex-wrap:wrap;gap:2px;padding-inline:4px}header.app .brand{display:none}#lang-picker{width:60px;max-width:60px}}@media (max-height:520px){.bottom .tabbar{flex-wrap:nowrap;padding-top:2px;padding-bottom:2px;overflow:hidden}.bottom:not(.expanded):not(.macro-open) .tabbar button[role=tab]:not([data-testid=tab-trades],[data-testid=tab-orders],[data-testid=tab-journal],[data-testid=tab-review]){display:none}.bottom.expanded .tabbar,.bottom.macro-open .tabbar{flex-wrap:wrap}.toolbar{min-height:32px;padding-top:0;padding-bottom:0}.toolbar button,.toolbar select,.toolbar .pnl-chip{height:28px}.chart-cell .chart-head{min-height:30px;padding-top:2px;padding-bottom:2px}.chart-cell .chart-head button,.chart-cell .chart-head select{height:26px}}@media (max-width:899px),(max-height:520px){.drawing-palette:not(.collapsed){box-shadow:none;background:0 0;border:0;padding:0}.drawing-palette .drawing-palette-tools:not([hidden]){left:var(--sp2,8px);right:var(--sp2,8px);bottom:calc(var(--sp2,8px) + env(safe-area-inset-bottom));z-index:45;gap:var(--sp1,4px);overscroll-behavior:contain;max-height:50dvh;padding:var(--sp2,8px);background:var(--panel);border:1px solid var(--border);border-radius:var(--r,6px);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:fixed;overflow-y:auto;box-shadow:0 -6px 24px #00000040}.drawing-palette .drawing-palette-tools button{height:var(--h-md,40px);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}}#session-table{table-layout:fixed;width:100%}#session-table td{overflow-wrap:anywhere;min-width:0}#session-table td:last-child{width:136px}.library .left{min-width:0}@media (max-width:899px){.practice-root:has(.bottom.expanded,.bottom.macro-open) .trade-bar{display:none}.bottom.expanded,.bottom.macro-open{height:min(42dvh,380px)}.toolbar{flex-wrap:nowrap}.toolbar .clock,.toolbar strong{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.toolbar .replay-state{text-overflow:ellipsis;flex:0 auto;min-width:0;max-width:7.5rem;overflow:hidden}.toolbar .pnl-chip,.toolbar .sheet-toggle,.toolbar [data-testid=blind-badge],.toolbar [data-testid=btn-reveal]{flex:none}}@media (max-width:899px),(max-height:520px){.drawing-palette:not(.collapsed){z-index:45}}@media (max-width:899px),(max-height:520px) and (max-width:1199px){.trade-bar,.trade-bar .tb-replay,.trade-bar .tb-order{gap:10px}.trade-bar .tb-order{grid-template-columns:minmax(44px,1.25fr) minmax(44px,.72fr) minmax(44px,1.25fr) 12px minmax(44px,.95fr)}.trade-bar .tb-sep{background:var(--border);place-self:center;width:1px;height:22px}.trade-bar button,.trade-bar input,.trade-bar select{box-sizing:border-box;touch-action:manipulation;min-width:44px;height:44px;min-height:44px}.trade-bar button{transition:transform 80ms,filter 80ms,background 80ms}.trade-bar button:active:not(:disabled){filter:brightness(.86);transform:translateY(1px)scale(.98);box-shadow:inset 0 2px 4px #00000059}.trade-bar button.flat.armed{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--down)}.indicator-panel .panel-close{width:44px;min-width:44px;height:44px;min-height:44px}label.blind-toggle{box-sizing:border-box;border-radius:var(--r,6px);touch-action:manipulation;align-items:center;gap:12px;min-height:44px;margin-top:4px;padding:10px 8px;display:flex}label.blind-toggle:active{background:var(--panel-2)}label.blind-toggle input[type=checkbox]{width:22px;min-width:22px;height:22px;min-height:22px;accent-color:var(--accent);margin:0}}@media (prefers-reduced-motion:reduce){.trade-bar button{transition:none}.trade-bar button:active:not(:disabled){transform:none}}@media (max-width:899px) and (min-height:521px){.toolbar button,.toolbar select{touch-action:manipulation;height:44px;min-height:44px}.chart-cell .chart-head{min-height:48px}.chart-cell .chart-head button,.chart-cell .chart-head select,.drawing-palette-toggle{touch-action:manipulation;min-width:44px;height:44px;min-height:44px}.rules-strip{padding-top:0;padding-bottom:0}.rules-strip-grip,.rules-strip-toggle{min-width:44px;height:32px;min-height:32px}.rules-strip-toggle{touch-action:manipulation}.rules-strip-grip{touch-action:none}.bottom .tabbar{flex-wrap:wrap;gap:8px;height:auto;padding-bottom:6px;overflow:visible;-webkit-mask-image:none;mask-image:none}.bottom .tabbar button,.bottom .tabbar button.small{touch-action:manipulation;min-width:44px;height:44px;min-height:44px;padding:0 12px}.bottom .tabbar button:active:not(:disabled){filter:brightness(.86);box-shadow:inset 0 2px 4px #00000047}.bottom:not(.expanded):not(.macro-open){height:auto}body:not(.in-practice) header.app nav.tabs button{min-width:44px;height:44px;min-height:44px}}@media (max-height:560px){.rules-strip.docked.is-short-chip{z-index:7;border:1px solid var(--border);width:max-content;max-width:min(168px,100% - 240px);height:28px;box-shadow:var(--shadow);border-radius:999px;flex-wrap:nowrap;padding:0 4px 0 2px;position:absolute;top:1px;left:50%;overflow:hidden;transform:translate(-50%)}.rules-strip.docked.is-short-chip .rules-strip-body{display:none}.rules-strip.docked.is-short-chip .rules-strip-grip,.rules-strip.docked.is-short-chip .rules-strip-toggle{min-width:0;height:26px;min-height:26px}.rules-strip.docked.is-short-chip .rules-strip-toggle{text-overflow:ellipsis;max-width:7.5rem;padding:0 6px;overflow:hidden}.rules-strip.docked.is-short-chip .rules-strip-grip{touch-action:none}}@media (max-width:430px){.trade-bar .tb-replay{grid-template-columns:minmax(44px,.7fr) minmax(44px,.7fr) minmax(44px,1fr) minmax(44px,.7fr) minmax(44px,.7fr) minmax(88px,1.2fr);gap:4px}.trade-bar select.tb-speed{min-width:88px}}@media (max-width:899px){#update-banner{gap:6px;margin:4px 8px 0;padding:6px 8px;font-size:12px;line-height:1.35}#update-banner .spacer{display:none}}
