/* Light canvas and classroom-scale typography. Loaded after the structural styles. */
:root{--green:#285f50;--ink:#202832;--muted:#586474;--line:#dce1e6;--paper:#fff;--canvas:#fafbfc;--soft:#f3f5f7;color:var(--ink);background:var(--canvas);font-size:18px}
body{background:var(--canvas);color:var(--ink);line-height:1.6}
button,input,select,textarea{font:inherit}button,input,select,textarea{border-color:#cdd5dc}a{color:#235f8c}
.sidebar{background:#fff;border-color:var(--line);width:258px;padding:28px 20px 18px}.workspace{margin-left:258px}.workspace-header{background:#fff;border-color:var(--line);padding:0 40px;height:80px}.workspace>main{max-width:1460px;padding:30px 40px 38px}
.sidebar-brand{padding:0 12px 23px}.sidebar-brand strong{font-size:32px;color:var(--ink)}.sidebar-brand p{font-size:15px;color:var(--muted);letter-spacing:.5px}.mark i{background:var(--green)}
.nav-group{margin-top:22px}.nav-group-label{font-size:14px;color:#697586;letter-spacing:.6px}.nav-item{padding:14px 13px;min-height:76px;color:#455363}.nav-item strong{font-size:19px;font-weight:550}.nav-item small{font-size:15px;margin-top:4px;color:#627080}.nav-item.active{background:#eef3f1;color:#234e42}.nav-item.active:before{background:var(--green)}.nav-item.active small{color:#4e6a61}.nav-item:hover{background:#f3f5f6}.nav-icon{width:23px;height:23px}.nav-position{color:#4d7767}.sidebar-bottom{padding-top:26px}.sidebar-bottom>button{font-size:17px;color:var(--green);border-color:var(--line);padding:18px 10px}.sidebar-bottom small{font-size:14px;color:var(--muted)}.sidebar-bottom>p{font-size:13px;color:#697586}.assistant-glyph,.assistant-arrow{color:var(--green)}
.location,.location .sub-location{font-size:16px;color:#4d5967}.location .slash{color:#8a949f}.course-label{font-size:15px;color:#626d7a}.course-label i{background:#8b98a5}.workbar{min-height:48px;flex-wrap:wrap;gap:16px}.section-eyebrow{font-size:16px;color:#586474;letter-spacing:.3px}.section-eyebrow:before{background:var(--green)}.subject label{font-size:15px;color:var(--muted)}.subject select{font-size:17px;max-width:270px;border-color:#bfcbd4;background:#fff;padding:8px 24px 8px 8px}.lesson-progress{font-size:16px;gap:13px;color:#687382;flex-wrap:wrap}.lesson-progress span.current{color:#255c4b;font-weight:650}.lesson-progress span.done{color:#455967}.lesson-progress i{color:#8d99a5}
.entry-hero{background:#fff;border-color:var(--line);box-shadow:0 6px 28px #20304104;min-height:432px;margin-top:32px;padding:38px 34px}.entry-badge{font-size:16px;letter-spacing:.3px;color:#50616a;padding-bottom:17px}.entry-badge:before{background:#91a99f}.entry-copy h1{font-size:42px;line-height:1.45;letter-spacing:-1px}.entry-copy h1 em{color:var(--green)}.entry-copy>p{font-size:21px;line-height:1.85;color:#4d5c69}.entry-copy .primary{font-size:18px;height:54px}.entry-art:before{color:#e9edef}.entry-art .price-chart{height:250px}.entry-art .legend{font-size:15px;color:var(--muted)}.learning-path{border-color:var(--line);padding-top:22px;gap:24px}.path-number{color:#718c80;font-size:29px}.path-item h2{font-size:19px;color:#2e4c41}.path-item p{font-size:15px;line-height:1.7;color:var(--muted);max-width:none}.path-item:not(:last-child):after{color:#8d9ca6;right:0}
.kicker{font-size:16px;color:#5e6a79;letter-spacing:.6px}.learn-heading{margin-top:30px}.learn-heading h1{font-size:36px;line-height:1.55;color:#202832;margin-top:10px;font-weight:650}.learn-heading p{font-size:22px;line-height:1.8;color:#4b5969;max-width:940px;margin-top:14px}.learning-stage{min-height:280px;margin-top:24px}.short-takeaway{max-width:950px}.short-takeaway h2{font-size:32px;color:#243b33;line-height:1.75}.short-takeaway p{font-size:22px;color:#4d5d6b;line-height:1.8}.formula{font-size:30px;color:#214f42;background:#fff;border-color:var(--line);padding:28px 34px;line-height:1.9;overflow-wrap:anywhere}.legend{font-size:15px;color:#536170;flex-wrap:wrap;gap:20px}.legend i{height:3px;width:22px}
.stage-footer{border-color:var(--line);padding:22px 0;margin-top:24px;gap:18px}.stage-note{font-size:16px;color:#596676;line-height:1.7}.primary,.entry-hero .primary{background:var(--green);color:#fff;font-size:18px;min-height:52px;height:auto;padding:12px 22px}.primary:hover,.entry-hero .primary:hover{background:#204d40}.secondary{background:#fff;border-color:#c5d0d8;color:#2d4b40;font-size:17px;padding:11px 18px;line-height:1.5}.text-button{font-size:17px;color:#315c4e;line-height:1.5}.guanlan-button-arrow{font-size:23px}.lesson-back{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.lesson-footer .stage-note{margin-right:auto}.lesson-footer .primary{flex-shrink:0}
.lesson-progress button{font:inherit;color:#586474;white-space:nowrap;min-height:44px;padding:6px 5px;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.lesson-progress button:hover{color:var(--green);border-bottom-color:#adc4ba}.lesson-progress button.current{color:var(--green);font-weight:650;border-bottom-color:var(--green)}.lesson-progress button:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:3px}
#app:has(.lesson-progress)>.learn-heading{width:100%;max-width:none;margin-left:auto;margin-right:auto;text-align:center}.rule-summary-notes strong{font-weight:600;color:#285f50}
@media(prefers-reduced-motion:reduce){.lesson-progress button{transition:none}#app:has(.lesson-progress) .reveal{animation:none}}
.result-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;white-space:nowrap}
.rule-stage{max-width:1060px;margin:28px auto 0}.rule-lead{font-size:27px;font-weight:600;line-height:1.65;color:#263e34;margin-bottom:14px}.rule-explanation{font-size:21px;line-height:1.9;color:#4a5664;margin-bottom:22px}.signal-example{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);align-items:center;gap:18px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px 30px}.signal-day{min-width:0;text-align:center}.signal-day>span{font-size:16px;color:#576779}.signal-day strong{display:block;font-size:28px;font-weight:650;color:#293b48;margin:8px 0}.signal-day b{font-size:20px;color:#5a6571;font-weight:450;display:block}.signal-day.current strong{color:#245c49}.signal-arrow{color:#7e9188;font-size:30px;text-align:center}.rule-takeaway{font-size:20px;color:#354b41;line-height:1.8;background:#f0f4f2;border-left:4px solid #4c7a64;border-radius:0 7px 7px 0;padding:17px 22px;margin-top:22px}.rule-boundary{background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px 34px}.rule-boundary .rule-explanation{margin:0}.rule-step-tag{font-size:17px;color:#5f6d7d;text-align:center;margin:10px 0 0}.execution-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.execution-step{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px}.execution-step>span{font-size:16px;color:#63707e}.execution-step h2{font-size:25px;margin:11px 0;color:#243f33;font-weight:600}.execution-step p{font-size:20px;line-height:1.8;color:#4b5969}.rule-summary{font-size:31px;font-weight:550;line-height:1.8;color:#214e40;background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px 34px}.rule-summary-notes{font-size:20px;line-height:1.85;color:#4b5969;margin-top:22px}.rule-summary-notes p+p{margin-top:12px}
.prices .price,.sample-facts .price{background:#fff;border-color:var(--line);min-width:0}.price.editable{background:#f1f5f3;border-color:#abc4b8}.price span{font-size:16px;color:#596675}.price b,.price input{font-size:30px;color:#2c5745}.price input{background:#fff;border-color:#b5c9bf}.price small{font-size:14px;color:#526d60}.answer-form label{font-size:19px;color:#4d5b68}.answer-form input{background:#fff;font-size:23px;border-color:#c4d0d9;width:185px;height:52px}.feedback{font-size:20px;color:#7c512b}.feedback.correct{color:#275e45}.feedback .formula-small{font-size:17px;color:#3c5d50}.sample-facts .price{width:230px}.learning-stage.practice{min-height:320px}
.lab-heading h1,.records-intro h1{font-size:34px;color:#202832}.lab-heading p,.records-intro p{font-size:19px;color:#4f5c6c}.lab-layout{grid-template-columns:285px minmax(0,1fr)}.settings,.chart-board,.replay-controls{background:#fff;border-color:var(--line)}.settings h2{font-size:22px}.field>span,.subject label,.settings .field>span{font-size:16px;color:#586474}.field select,.settings .field select,.date-fields input{font-size:17px;color:#344354;border-color:#ccd6de;background:#fff;padding:10px;width:100%}.date-fields>span{font-size:15px;color:#667382}.config-button{font-size:17px;color:#344f44;background:#f6f8f7;border-color:#ccd6d1}.costs{font-size:16px;color:#536170;line-height:1.7}.settings .text-button{font-size:16px}.chart-board-top{font-size:19px;color:#2f483b;flex-wrap:wrap}.chart-toggle{font-size:16px;color:#315c4e;border-color:#cbd5d0}.chart-board-top span,.board-prompt{font-size:18px;color:#536170}.market-picker select{font-size:17px;max-width:280px;background:#fff;color:#344354;border-color:#cdd6de}.replay-layout{grid-template-columns:minmax(0,1fr) 305px}.replay-controls .date-label{font-size:16px;color:#586474}.replay-controls h2{font-size:29px}.position,.replay-value{font-size:18px;color:#4f5d6a;border-color:var(--line)}.position b,.replay-value b{color:#2e5d47}.reason{font-size:16px;color:#586474}.reason textarea{background:#fff;color:#273c32;border-color:#cdd6de;font-size:17px;min-height:90px}.replay-status,.replay-foot{font-size:16px;color:#586474}.replay-controls .primary{font-size:18px}.results-head .summary{font-size:17px;color:#586474}.results table{table-layout:auto}.results th{font-size:16px;color:#5b6876}.results td{font-size:22px;border-color:var(--line)}.results td small{font-size:16px;color:#586474}.indicator-label{font-size:24px}.results .negative{color:#885638}.results .positive{color:#296746}.result-question{font-size:21px;color:#3b5445}.result-note{font-size:17px;color:#586474}.record h3{font-size:21px;color:#283b31}.record p,.record small,.records-intro>span{font-size:16px;color:#586474}.record,.records-intro{border-color:var(--line)}.storage-note{font-size:15px;color:#657282}.empty-records h2{font-size:28px;color:#3e594a}.empty-records p{font-size:19px;color:#586474}
dialog{width:850px;background:#fff;color:#293d32;border-color:var(--line)}dialog>header{border-color:var(--line)}dialog h2{font-size:27px}#dialog-body{font-size:18px;line-height:1.9;color:#4d5b6a}#dialog-body table{font-size:16px}#dialog-body td,#dialog-body th{border-color:var(--line)}#close-dialog{color:#4a5b64}.config-list{gap:12px}.config-item{font-size:17px;border-color:#d3dce3;color:#364e40}.config-item:has(input:checked){background:#eef4f0;border-color:#a6bfb1}.param-row{border-color:var(--line)}.param-row>strong{font-size:19px;color:#345844}.params label{font-size:16px;color:#586474}.params input{font-size:18px;background:#fff;border-color:#cbd6de;width:76px}.rule-copy{font-size:17px;color:#586474}.form-error{font-size:17px;color:#90582a}.modal-actions{border-color:var(--line)}.trade-summary,.trade-detail{font-size:19px;color:#3d5949}.dialog-select{font-size:17px;background:#fff;border-color:#ccd7de}.trade-flow div{background:#f3f5f6}.trade-flow small{font-size:15px;color:#5c6876}.trade-flow b{font-size:18px}.record-trades summary{font-size:18px;color:#315e48}.assistant-intro h3{font-size:27px;color:#334d3d}.assistant-intro p{font-size:19px;color:#536170}#toast{font-size:17px;background:#2c5141}.loading-screen,.loading-screen p{font-size:19px;color:#586474}
@media(min-width:1600px){.workspace>main{padding:38px 56px}.workspace-header{padding:0 56px}.entry-copy h1{font-size:46px}.learn-heading h1{font-size:40px}.learn-heading p{font-size:24px}.rule-lead{font-size:30px}.rule-explanation{font-size:23px}.rule-takeaway{font-size:22px}.signal-day strong{font-size:32px}.signal-day b{font-size:23px}.short-takeaway h2{font-size:36px}.formula{font-size:34px}}
@media(min-width:951px) and (max-width:1250px){.sidebar{width:235px;padding-left:14px;padding-right:14px}.workspace{margin-left:235px}.workspace>main{padding:28px}.workspace-header{padding:0 28px}.entry-hero{grid-template-columns:1fr;padding:30px}.entry-copy h1{font-size:39px}.entry-art{height:220px}.entry-art .price-chart{height:195px}.entry-hero{gap:12px}.workbar .subject{margin-left:auto}.lab-layout{grid-template-columns:260px minmax(0,1fr)}.replay-layout{grid-template-columns:minmax(0,1fr) 280px}.path-item:not(:last-child):after{display:none}.path-item h2{font-size:18px}.path-item p{font-size:15px}.lesson-progress{font-size:15px;gap:10px}}
@media(max-width:950px){.sidebar{width:270px;background:#fff}.workspace{margin-left:0}.workspace-header{padding:0 26px;height:72px}.workspace>main{padding:26px}.course-label{font-size:14px}#nav-toggle,#nav-close{color:#345b48;font-size:25px}.entry-copy h1{font-size:38px}.entry-hero{padding:30px;gap:16px}.entry-copy>p{font-size:19px}.entry-art .price-chart{height:220px}.entry-art .legend{font-size:14px}.lab-layout,.replay-layout{grid-template-columns:1fr}.settings{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.settings h2{grid-column:1/-1;margin:0}.settings .field{margin-top:4px;min-width:0}.settings .costs{margin:8px 0}.settings .text-button{margin:0}.replay-controls{display:grid;grid-template-columns:1fr 1fr;gap:20px}.replay-controls .reason,.replay-controls .replay-status{grid-column:1/-1;margin-top:0}.replay-controls .order-button,.replay-controls .primary{margin-top:0}.learn-heading h1{font-size:32px}.learn-heading p{font-size:20px}.rule-lead{font-size:25px}.rule-explanation{font-size:20px}.signal-day strong{font-size:24px}.signal-day b{font-size:19px}.rule-takeaway{font-size:19px}.learning-path{gap:20px}.path-item{align-items:flex-start;gap:10px}.path-item h2{font-size:17px}.path-item p{font-size:15px}.path-item:not(:last-child):after{display:none}.lesson-progress{gap:10px}.execution-step{padding:20px}.execution-step h2{font-size:22px}.execution-step p{font-size:18px}}
@media(max-width:700px){.entry-hero{grid-template-columns:1fr}.entry-copy h1{font-size:36px}.entry-copy>p{font-size:20px}.entry-art{height:240px;padding-top:15px}.entry-art .price-chart{height:215px}.workbar{gap:14px;flex-wrap:wrap}.workbar .subject{margin-left:auto}.subject select{font-size:16px;max-width:260px}.section-eyebrow{font-size:15px}.lesson-progress{font-size:15px;gap:8px}.learn-heading h1{font-size:29px}.learn-heading p{font-size:20px}.short-takeaway h2{font-size:27px}.short-takeaway p{font-size:20px}.formula{font-size:26px;padding:24px}.learning-path{grid-template-columns:1fr;gap:16px;padding-top:22px}.path-item h2{font-size:18px}.path-item p{font-size:15px;max-width:none;margin-top:3px}.path-number{font-size:27px}.rule-stage{margin-top:24px}.rule-lead{font-size:24px}.rule-explanation{font-size:20px}.signal-example{padding:22px 16px;gap:8px;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr)}.signal-day strong{font-size:21px}.signal-day b{font-size:17px}.signal-day>span{font-size:15px}.rule-takeaway{font-size:19px;padding:16px 18px}.rule-boundary{padding:24px}.execution-flow{grid-template-columns:1fr;gap:12px}.execution-step{padding:20px 22px}.execution-step h2{margin:7px 0;font-size:23px}.execution-step p{font-size:19px}.rule-summary{font-size:26px;padding:26px}.rule-summary-notes{font-size:19px}.lesson-footer{display:flex;flex-wrap:wrap}.lesson-footer .stage-note{margin-left:auto;margin-right:0}.lesson-footer .primary{margin-left:auto}.results th{font-size:15px}.results td{font-size:18px;padding:22px 8px}.results td small{font-size:15px}.indicator-label{font-size:20px}.results .text-button{font-size:16px}.record-actions{gap:18px}}
@media(max-width:520px){.workspace-header{padding:0 18px}.workspace>main{padding:22px 18px 28px}.location,.location .sub-location{font-size:15px}.course-label{display:none}.subject select{font-size:16px;max-width:240px}.section-eyebrow{font-size:14px;white-space:normal}.workbar .subject{width:100%;justify-content:flex-end}.workbar:has(.market-picker) .section-eyebrow{font-size:15px}.market-picker{margin-left:auto}.market-picker select{font-size:16px;max-width:240px}.entry-hero{margin-top:22px;padding:26px 22px}.entry-badge{font-size:15px}.entry-copy h1{font-size:31px;letter-spacing:-.5px;white-space:normal}.entry-copy>p{font-size:19px}.entry-copy .primary{font-size:18px;height:auto}.entry-art .legend{font-size:14px;gap:16px}.entry-art{height:220px}.entry-art .price-chart{height:195px}.learning-path{margin-top:24px}.path-item h2{font-size:18px}.path-item p{font-size:15px}.lesson-progress{font-size:14px;gap:7px}.learn-heading{margin-top:25px}.learn-heading h1{font-size:27px}.learn-heading p{font-size:19px}.kicker{font-size:15px}.learning-stage{min-height:230px}.formula{font-size:23px;padding:22px 18px}.short-takeaway h2{font-size:26px}.short-takeaway p{font-size:19px}.primary,.secondary,.text-button{font-size:17px}.primary{padding:11px 18px;min-height:48px}.stage-note{font-size:15px}.rule-lead{font-size:23px}.rule-explanation,.rule-takeaway{font-size:19px}.rule-boundary{padding:22px}.signal-example{grid-template-columns:1fr;padding:18px;gap:8px}.signal-arrow{transform:rotate(90deg);font-size:26px;line-height:1.2}.signal-day strong{font-size:25px;margin:5px 0}.signal-day b{font-size:18px}.signal-day>span{font-size:15px}.rule-summary{font-size:25px;padding:22px}.rule-summary-notes{font-size:19px}.prices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.prices .price{width:auto;padding:17px 6px}.price span{font-size:15px}.price b,.price input{font-size:24px}.price small{font-size:14px}.answer-form{gap:12px;justify-content:flex-start}.answer-form label{font-size:17px}.answer-form input{font-size:22px;width:145px}.answer-form .primary{font-size:17px}.feedback{font-size:18px}.feedback .formula-small{font-size:16px}.sample-facts .price{width:calc((100% - 10px)/2);padding:16px 10px}.lab-heading h1,.records-intro h1{font-size:28px}.lab-heading p,.records-intro p{font-size:18px}.settings{grid-template-columns:1fr;padding:22px;gap:14px}.settings h2{font-size:22px}.settings .field>span,.field>span{font-size:16px}.settings .field select,.date-fields input{font-size:17px;padding:11px}.settings .costs{font-size:16px}.settings .primary,.settings .text-button{font-size:17px}.config-button{font-size:17px}.chart-board{padding:20px 15px}.chart-board-top{font-size:18px;gap:9px}.chart-toggle{font-size:15px}.board-prompt{font-size:17px}.replay-controls{grid-template-columns:1fr;padding:22px;gap:16px}.replay-controls .date-label,.replay-status,.reason,.replay-foot{font-size:16px}.replay-foot{flex-wrap:wrap}.replay-foot .text-button{font-size:16px}.replay-controls h2{font-size:28px}.position,.replay-value{font-size:18px}.results{overflow-x:auto;padding-bottom:5px}.results table{min-width:560px}.results-head .summary{font-size:16px}.results-head .action-row{flex-wrap:wrap}.results td{font-size:18px}.results th,.results td small{font-size:15px}.result-question{font-size:19px}.result-note{font-size:17px}.records-intro>span{font-size:16px}.record h3{font-size:20px}.record p,.record small{font-size:16px}.storage-note{font-size:15px}.empty-records h2{font-size:25px}.empty-records p{font-size:18px}.record-actions .secondary,.record-actions .text-button{font-size:17px}.config-list{grid-template-columns:repeat(2,minmax(0,1fr))}.config-item{font-size:17px;padding:11px}.params label{font-size:16px}.params input{font-size:18px;width:76px}.param-row>strong{font-size:18px}.rule-copy{font-size:17px}dialog{max-width:calc(100vw - 24px)}dialog h2{font-size:24px}#dialog-body{font-size:18px;padding:20px}#dialog-body table{font-size:15px}.trade-flow{grid-template-columns:1fr}.trade-flow small{font-size:16px}.trade-flow b{font-size:19px}.modal-actions{flex-wrap:wrap}.dialog-select{font-size:16px}.assistant-intro h3{font-size:25px}.assistant-intro p{font-size:19px}}
@media(min-width:951px) and (max-height:850px){
 .workspace-header{height:68px}.workspace>main{padding-top:20px;padding-bottom:24px}.learn-heading{margin-top:20px}.rule-stage{margin-top:20px}.rule-explanation{margin-bottom:16px}.signal-example{padding-top:18px;padding-bottom:18px}.rule-takeaway{margin-top:18px;padding-top:14px;padding-bottom:14px}.lesson-footer{margin-top:18px;padding-top:16px;padding-bottom:16px}.execution-step{padding-top:18px;padding-bottom:18px}.rule-summary{padding-top:24px;padding-bottom:24px}.rule-summary-notes{margin-top:16px}.sidebar{padding-top:20px}.sidebar-brand{padding-bottom:16px}.nav-group{margin-top:14px}.nav-group-label{margin-bottom:8px}.nav-item{padding-top:10px;padding-bottom:10px;min-height:72px}.sidebar-bottom{padding-top:16px}.sidebar-bottom>p{display:none}
}
.backtest-layout{align-items:start}
.backtest-layout .backtest-board{justify-content:flex-start;padding:22px}
.backtest-board .chart-board-top{margin-bottom:12px}
.backtest-chart-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-left:auto}
.backtest-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.backtest-toolbar label{display:flex;align-items:center;gap:12px;min-width:0;font-size:16px;color:#586474;white-space:nowrap}
.backtest-toolbar select{width:240px;max-width:100%;min-width:0;padding:8px 24px 8px 8px;border:0;border-bottom:1px solid #bfcbd4;background:#fff;color:#263e34;font-size:17px}
.trade-legend{display:flex;gap:16px;align-items:center;font-size:16px;margin-left:auto;white-space:nowrap}
.trade-legend span:before{display:inline-block;content:'';width:9px;height:9px;border-radius:2px;margin-right:7px;background:currentColor}
.trade-buy{color:#b45742}.trade-sell{color:#28705b}
.backtest-layout .backtest-board .price-chart{height:330px;flex-shrink:0}
.backtest-layout .backtest-board:has(.backtest-indicator-panel) .price-chart{height:250px}
.backtest-indicator-panel{margin-top:15px;padding-top:12px;border-top:1px solid var(--line)}
.backtest-indicator-panel .legend{margin-top:0;margin-bottom:7px}
.backtest-indicator-panel .indicator-chart{height:155px}
.backtest-chart-note{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:16px;color:#586474;line-height:1.7}
.backtest-trade-marker{cursor:pointer;outline:none}
.backtest-trade-marker:hover .marker-label,.backtest-trade-marker:focus-visible .marker-label{stroke:#162e26;stroke-width:2.5}
.backtest-plot{position:relative;min-width:0;touch-action:pan-y;outline-offset:5px;cursor:crosshair}
.backtest-plot.can-pan{cursor:grab}
.backtest-plot.is-panning{cursor:grabbing;user-select:none}
.backtest-tooltip{position:absolute;z-index:3;top:10px;width:max-content;max-width:calc(100% - 8px);padding:15px 17px;border:1px solid #c8d5ce;border-radius:7px;background:rgba(255,255,255,.97);box-shadow:0 5px 20px #203b2914;color:#344653;font-size:16px;line-height:1.6;pointer-events:none;cursor:default}
.backtest-tooltip[hidden]{display:none}
.backtest-tooltip p{margin:5px 0 0;font-size:15px}
.backtest-tooltip-title{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}
.backtest-tooltip-title strong{font-size:17px}
.backtest-tooltip-ohlc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 18px;margin-top:8px}
.backtest-tooltip b{font-weight:550;font-variant-numeric:tabular-nums}
.backtest-tooltip-values{display:flex;flex-wrap:wrap;gap:3px 16px;max-width:330px;margin-top:8px}
.backtest-tooltip-values span{white-space:nowrap}
.backtest-tooltip-values i{display:inline-block;width:11px;height:3px;vertical-align:middle;margin-right:6px}
.backtest-fill-price{font-size:24px;font-weight:600;font-variant-numeric:tabular-nums;margin-top:4px}
.backtest-signal-detail{border-top:1px solid var(--line);margin-top:10px;padding-top:6px}
.backtest-viewport-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px;color:#586474;font-size:15px;font-variant-numeric:tabular-nums}
.backtest-zoom{display:flex;align-items:center;border:1px solid #cbd5d0;border-radius:5px;margin-left:auto}
.backtest-zoom button{padding:4px 12px;min-height:38px;min-width:40px;border:0;border-radius:0;background:white;color:#315c4e;font-size:16px}
.backtest-zoom button:first-child,.backtest-zoom button:last-child{font-size:23px;line-height:1}
.backtest-zoom button+button{border-left:1px solid #dce3de}
.backtest-zoom button:disabled{color:#a1aba6;cursor:default}
.backtest-zoom button:focus-visible,.backtest-plot:focus-visible{outline:2px solid #28705b}
.backtest-pan-label{display:block;margin-top:10px;font-size:14px;color:#66756c}
.backtest-pan-label:has(input[hidden]){display:none}
.backtest-pan-label span{display:block;margin-bottom:4px}
.backtest-pan{display:block;width:100%;height:24px;margin:0;accent-color:#2c6755;cursor:ew-resize}
.backtest-pan[hidden]{display:none}
.result-mode-picker{display:flex;align-items:center;gap:12px;font-size:16px;color:#586474;margin-left:auto}
.result-mode-picker select{border:0;border-bottom:1px solid #bacac0;background:#fff;padding:8px 28px 8px 10px;font-size:17px;color:#315a49;max-width:100%}
.account-result{width:100%;min-width:0;margin-top:18px}
.account-result-heading{text-align:center;width:100%;max-width:none;margin:0 auto 24px}
.account-result-heading h1{font-size:34px;line-height:1.35;font-weight:650;color:#202b32;margin:0}
.account-result-heading p{font-size:17px;line-height:1.65;color:#596974;margin:10px 0 0}
.account-result-heading p span{display:inline-block;white-space:nowrap}
.account-stats{display:grid;grid-template-columns:1.5fr 1fr .85fr;gap:24px;padding:0 0 22px;border-bottom:1px solid var(--line);align-items:end}
.account-stats>div>span{display:block;font-size:17px;color:#5c6d64;margin-bottom:7px}
.account-stats strong{display:block;font-size:31px;line-height:1.2;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.account-stats .account-balance strong{font-size:40px;color:#234c3c;letter-spacing:-.7px}
.account-result small{font-size:16px;font-weight:400;margin-left:6px;letter-spacing:0}
.account-result .profit{color:#276c50}.account-result .loss{color:#a4573e}.account-result .neutral{color:#435d4e}
.account-result-stage{display:grid;grid-template-columns:minmax(0,1fr) 278px;gap:28px;margin-top:22px;align-items:stretch}
.account-equity-board{min-width:0;background:#fff;border:1px solid #dde5df;border-radius:8px;padding:18px 14px 14px}
.account-chart-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:0 5px;color:#2e4e3e}
.account-chart-heading strong{font-size:18px;font-weight:600}
.account-chart-heading span{font-size:15px;color:#68786e}
.account-chart-plot{position:relative;min-width:0;margin-top:8px}
[data-account-equity]{display:block;width:100%;height:258px}
.account-equity-legend{display:flex;gap:22px;flex-wrap:wrap;justify-content:center;font-size:15px;color:#607368;padding-top:6px}
.account-equity-legend span{display:flex;align-items:center;gap:7px}
.account-equity-legend i{width:20px;border-top:2px solid #2a6854}.account-equity-legend .baseline{border-top:2px dashed #9cab9f}
.account-equity-point{cursor:pointer;outline:none}
.account-equity-point:focus-visible .account-point-dot,.account-equity-point:hover .account-point-dot{stroke:#182f24;stroke-width:3}
.account-equity-legend .account-buy-symbol{width:0;height:0;border:5px solid transparent;border-top:0;border-bottom:8px solid #b45742}
.account-equity-legend .account-sell-symbol{width:0;height:0;border:5px solid transparent;border-bottom:0;border-top:8px solid #28705b}
.account-trade-marker:focus-visible .account-event-label,.account-trade-marker:hover .account-event-label{stroke:#1c392b;stroke-width:2.5}
.account-equity-tooltip{position:absolute;top:20px;max-width:calc(100% - 8px);width:max-content;border:1px solid #c6d4cb;border-radius:6px;padding:12px 14px;background:rgba(255,255,255,.98);box-shadow:0 4px 16px #213a2914;font-size:16px;color:#355443;pointer-events:none}
.account-equity-tooltip[hidden]{display:none}.account-equity-tooltip p{margin-top:5px}.account-equity-tooltip b{font-weight:550;font-variant-numeric:tabular-nums}
.account-trade-state{min-width:0;padding:2px 0 0 0}
.account-trade-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:17px;color:#405c4c}
.account-position{font-size:15px;color:#587462;background:#eaf0ec;padding:2px 10px;border-radius:3px;white-space:nowrap}
.account-trade-profit-label{font-size:16px;color:#64736b;margin:16px 0 5px}
.account-trade-state h2{font-size:32px;font-weight:600;line-height:1.3;font-variant-numeric:tabular-nums;margin:0}
.account-trade-dates{margin:16px 0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.account-trade-dates dt{font-size:15px;color:#64756b;margin-bottom:5px}
.account-trade-dates dd{margin:0;font-size:17px;color:#2c4939;white-space:nowrap;font-variant-numeric:tabular-nums}
.account-trade-dates dd small{display:block;font-size:15px;margin:4px 0 0;color:#5d6e64}
.account-trade-totals{padding-top:12px;border-top:1px solid var(--line)}
.account-trade-totals p{display:flex;justify-content:space-between;gap:10px;font-size:15px;line-height:1.6;margin:4px 0;color:#627369}
.account-trade-totals b{font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap;color:#374e40}
.account-trade-state .text-button{margin-top:8px;font-size:16px;padding:5px 0}
.account-trade-state .account-opening-title{font-size:25px;line-height:1.45;margin-top:35px;color:#2f5040}
.account-opening-copy{font-size:18px;line-height:1.8;color:#64736c;margin-top:15px}
.account-initial-amount{display:flex;flex-direction:column;gap:8px;margin-top:27px;font-size:16px;color:#64736b}
.account-initial-amount strong{font-size:23px;font-weight:550;color:#395744}
.account-result-footer{display:flex;align-items:center;gap:20px;margin-top:20px;border-top:1px solid var(--line);padding-top:17px}
.account-result-footer>span{font-size:16px;color:#66776d}
.account-result-footer .primary{margin-left:auto;min-width:200px;min-height:52px;font-size:18px}
.account-result-footer .text-button{font-size:17px}
@media(min-width:951px) and (max-height:850px){
 .account-result{margin-top:8px}.account-result-heading{margin-bottom:12px}.account-result-heading p{margin-top:6px;line-height:1.5}
 .account-stats{padding-bottom:12px}.account-stats>div>span{margin-bottom:5px}.account-stats .account-balance strong{font-size:38px}
 .account-result-stage{margin-top:14px}.account-equity-board{padding:14px 12px 10px}.account-chart-plot{margin-top:4px}[data-account-equity]{height:226px}
 .account-trade-heading{line-height:1.5}.account-trade-profit-label{margin:10px 0 3px;line-height:1.4}.account-trade-state h2{font-size:30px;line-height:1.15}
 .account-trade-dates{margin:12px 0}.account-trade-dates dt,.account-trade-dates dd{line-height:1.4}.account-trade-dates dd small{margin-top:3px;line-height:1.4}
 .account-trade-totals{padding-top:8px}.account-trade-totals p{margin:3px 0;line-height:1.4}.account-trade-state .text-button{margin-top:4px;padding:3px 0;line-height:1.4}
 .account-result-footer{margin-top:14px;padding-top:12px}.account-result-footer .primary{min-height:48px}
}
@media(min-width:1600px){.account-result-heading h1{font-size:38px}.account-stats .account-balance strong{font-size:46px}.account-result-stage{grid-template-columns:minmax(0,1fr) 310px;gap:32px}[data-account-equity]{height:330px}.account-trade-totals p{font-size:17px}.account-trade-dates dd{font-size:19px}}
@media(min-width:951px) and (max-width:1150px){.account-result-stage{grid-template-columns:minmax(0,1fr) 250px;gap:18px}.account-stats{gap:16px}.account-stats .account-balance strong{font-size:32px}.account-stats strong{font-size:27px}.account-trade-dates dd{font-size:16px}.account-trade-totals p{font-size:14px}}
@media(max-width:950px){.account-result-stage{grid-template-columns:minmax(0,1fr) 260px;gap:20px}.account-stats{gap:18px}.account-stats .account-balance strong{font-size:34px}.account-stats strong{font-size:28px}.account-result-heading h1{font-size:31px}}
@media(max-width:700px){.account-result-stage{grid-template-columns:1fr}.account-stats{grid-template-columns:1fr 1fr;gap:18px}.account-stats .account-balance{grid-column:1/-1}.account-result-heading h1{font-size:28px}.account-result-heading p{font-size:16px}.account-stats .account-balance strong{font-size:37px}.account-stats strong{font-size:28px}.account-chart-heading span{font-size:14px}.account-trade-state{border-top:1px solid var(--line);padding-top:20px}.account-trade-state .account-opening-title{margin-top:18px}.account-initial-amount{margin-top:18px}.account-trade-dates{gap:22px}.account-trade-dates dd{font-size:19px}.account-trade-totals p{font-size:16px}.account-result-footer{flex-wrap:wrap;gap:12px}.account-result-footer .primary{min-width:160px}.result-mode-picker{font-size:15px;gap:7px}.result-mode-picker select{font-size:16px;padding:7px 20px 7px 7px}.result-workbar{gap:10px}.result-workbar .result-back{font-size:16px}.account-equity-board{padding:16px 8px 12px}.account-equity-legend{gap:12px;font-size:14px}[data-account-equity]{height:260px}}
@media(max-width:700px){.backtest-toolbar label{width:100%}.backtest-toolbar select{flex:1;width:0}.backtest-layout .backtest-board{padding:18px 14px}.backtest-layout .backtest-board .price-chart{height:310px}.backtest-layout .backtest-board:has(.backtest-indicator-panel) .price-chart{height:260px}.backtest-indicator-panel .indicator-chart{height:170px}.backtest-chart-note{font-size:16px}}

/* Saved-record actions remain separate from the record content. */
.record-actions{flex-shrink:0;flex-wrap:wrap;gap:20px}
.record-actions .record-delete{color:#a4573e}
.record-delete-summary{margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.record-delete-summary h3{color:#293d32;font-size:22px;margin:0 0 8px}
.record-delete-summary p{margin:4px 0;font-size:17px}
.delete-confirm{background:#a4573e}
.delete-confirm:hover{background:#884533}
.delete-confirm:disabled{opacity:.6;cursor:wait}

.sidebar-brand strong{display:block;font-size:26px;letter-spacing:1px;line-height:1.3}
.sidebar-brand strong span{display:block}
.sidebar-brand .mark{flex-shrink:0}
.indicator-analysis{width:100%;min-width:0;margin-top:16px}
.analysis-heading{text-align:center;width:100%;max-width:none;margin:0 auto 24px}
.analysis-heading h1{margin:0;font-size:36px;line-height:1.35;color:var(--ink);font-weight:650}
.analysis-heading p{margin:9px 0 0;font-size:17px;line-height:1.6;color:var(--muted)}
.analysis-topics{display:flex;justify-content:center;gap:48px;margin:0 0 22px}
.analysis-topics button{font-size:21px;padding:8px 2px;color:#617268;border-bottom:2px solid transparent}
.analysis-topics .current{color:var(--green);border-color:var(--green);font-weight:600}
.analysis-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:40px;align-items:center;min-height:360px}
.analysis-theory-label{display:block;font-size:17px;color:#4d7460;margin-bottom:14px;line-height:1.6}
.analysis-copy h2{font-size:29px;line-height:1.5;margin:0 0 16px;color:#24372d;font-weight:600}
.analysis-copy p{font-size:22px;line-height:1.8;margin:0;color:#586474}
.analysis-copy .analysis-takeaway{font-size:20px;margin-top:20px;color:#355b47}
.analysis-mechanism{min-width:0;margin:0;padding:20px 16px;background:#fff;border:1px solid #dde5df;border-radius:8px}
.analysis-diagram-label{display:block;color:#687d70;font-size:16px}
.analysis-mechanism svg{display:block;width:100%;height:auto;margin:12px 0 0}
.analysis-mechanism figcaption{font-size:18px;color:#4d685a;text-align:center;line-height:1.6;margin:12px 0 0}
.analysis-legend{display:flex;justify-content:center;gap:24px;font-size:17px;color:#607368;flex-wrap:wrap;margin-top:4px}
.analysis-legend span{display:flex;align-items:center;gap:8px}
.analysis-legend i{width:22px;border-top:3px solid var(--line)}
.analysis-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:24px;padding-top:18px}
.analysis-footer p{margin:0;font-size:18px;color:#526e5d;line-height:1.7}
.analysis-footer .text-button{font-size:17px;white-space:nowrap}
.analysis-sources p{padding-top:16px;border-top:1px solid var(--line);margin-top:18px}
.analysis-sources span{display:block;font-size:17px;color:#607368;margin-top:4px}
@media(min-width:951px) and (max-height:820px){
 .indicator-analysis{margin-top:8px}.analysis-heading{margin-bottom:16px}.analysis-heading h1{font-size:34px}
 .analysis-topics{margin-bottom:14px}.analysis-stage{gap:28px;min-height:320px}
 .analysis-copy h2{font-size:27px;margin-bottom:12px}.analysis-copy p{font-size:20px;line-height:1.75}
 .analysis-copy .analysis-takeaway{font-size:19px;margin-top:16px}.analysis-mechanism{padding:14px}.analysis-mechanism svg{height:230px}
 .analysis-footer{margin-top:16px;padding-top:12px}
}
@media(min-width:1600px){.analysis-heading h1{font-size:40px}.analysis-stage{gap:48px;min-height:420px}.analysis-copy h2{font-size:33px}.analysis-copy p{font-size:24px}.analysis-copy .analysis-takeaway{font-size:22px}.analysis-mechanism{padding:22px}.analysis-mechanism figcaption{font-size:20px}}
@media(max-width:1100px){.analysis-stage{gap:24px}.analysis-copy h2{font-size:26px}.analysis-copy p{font-size:20px}}
@media(max-width:700px){
 .analysis-heading h1{font-size:30px}.analysis-heading p{font-size:16px}.analysis-topics{gap:0;justify-content:space-between;margin-bottom:22px}.analysis-topics button{font-size:19px;padding:8px 0}
 .analysis-stage{grid-template-columns:1fr;gap:24px}.analysis-copy h2{font-size:27px}.analysis-copy p{font-size:21px}.analysis-theory-label{font-size:16px}.analysis-copy .analysis-takeaway{font-size:20px}
 .analysis-mechanism{padding:14px 10px}.analysis-mechanism figcaption{font-size:17px}.analysis-legend{font-size:16px}
 .analysis-footer{align-items:flex-start;gap:12px}.analysis-footer p{font-size:17px}.analysis-footer .text-button{font-size:16px}
}

.account-footer-actions{display:flex;align-items:center;gap:16px;margin-left:auto}
.account-result-footer .account-footer-actions .primary{margin-left:0}
.account-footer-actions .secondary{min-height:52px;white-space:nowrap;font-size:18px;border-color:#a8c0b4;color:var(--green)}
@media(min-width:951px) and (max-height:820px){.account-footer-actions .secondary{min-height:48px}}
@media(max-width:700px){.account-footer-actions{gap:12px}.account-footer-actions .secondary{min-height:48px;font-size:17px;padding:11px 16px}}
@media(max-width:370px){.account-footer-actions{width:100%}.account-footer-actions .secondary{padding:11px 10px}.account-result-footer .account-footer-actions .primary{min-width:0;flex:1;padding:11px 12px}}
.replay-heading{text-align:center;margin:18px 0 20px;justify-content:center}
.replay-heading>div{width:100%;max-width:none}
.replay-heading h1{margin:0;font-size:34px;line-height:1.4}
.replay-heading p{margin-top:8px}
.replay-trading-layout{grid-template-columns:minmax(0,1fr) 280px;gap:22px;align-items:stretch}
.replay-trading-layout .replay-chart-board{padding:18px 18px 12px;justify-content:flex-start;position:relative}
.replay-market-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}
.replay-market-heading strong{font-size:19px;color:#304e3f}
.replay-market-heading .chart-toggle{font-size:16px;padding:2px 0;line-height:1.4}
.replay-plot{position:relative;outline-offset:2px;cursor:crosshair;min-width:0}
.replay-plot svg{display:block;width:100%;height:220px;overflow:visible}
.replay-equity-plot svg{height:158px}
.replay-chart-legend{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;font-size:15px;color:#5b7064;line-height:1.4;margin:6px 0 0}
.replay-chart-legend span{display:inline-flex;gap:6px;align-items:center;white-space:nowrap}
.replay-chart-legend i{width:18px;border-top:2px solid var(--line)}
.replay-buy{color:#b45742}.replay-sell{color:#28705b}
.replay-account-heading{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px;align-items:end;border-top:1px solid var(--line);padding-top:14px;margin:14px 0 4px}
.replay-account-heading span{display:block;font-size:15px;color:#5e7065;margin-bottom:5px;line-height:1.3}
.replay-account-heading strong{display:block;font-size:22px;font-weight:550;line-height:1.2;white-space:nowrap;font-variant-numeric:tabular-nums;color:#315d4b}
.replay-account-heading .replay-equity-value strong{font-size:29px}
.replay-account-heading small{font-size:14px;font-weight:400;margin-left:5px}
.replay-account-heading .profit{color:#28705b}.replay-account-heading .loss{color:#b45742}.replay-account-heading .neutral{color:#52685c}
.replay-chart-board .replay-foot{margin-top:10px;font-size:15px;line-height:1.5}
.replay-chart-board .replay-foot .text-button{font-size:16px;padding:0;line-height:1.4}
.replay-baseline-label:before{content:"";display:inline-block;width:18px;border-top:1px dashed #93aa9b;vertical-align:middle;margin-right:7px}
.replay-trading-layout .replay-controls h2{margin:6px 0 0;line-height:1.25;font-size:28px}
.replay-trading-layout .replay-controls{padding:22px;display:flex;flex-direction:column}
.replay-trading-layout .position{padding:16px 0;margin:12px 0 0;border-bottom:1px solid var(--line)}
.replay-trading-layout .reason{margin-top:20px;font-size:16px;line-height:1.6}
.replay-trading-layout .reason textarea{height:80px;min-height:60px;font-size:16px;margin-top:8px;width:100%}
.replay-trading-layout .order-button{width:100%;margin-top:16px;min-height:44px}
.replay-trading-layout .replay-status{font-size:16px;line-height:1.65;min-height:52px;margin:12px 0 14px}
.replay-trading-layout .replay-controls .primary{margin-top:auto;flex-shrink:0}
.replay-footer{margin-top:18px;padding:16px 0 0}.replay-footer .secondary{padding:8px 18px;line-height:1.4}
.replay-inspection{position:absolute;z-index:3;max-width:calc(100% - 16px);width:max-content;padding:12px 14px;border:1px solid #bfd1c5;border-radius:6px;background:rgba(255,255,255,.98);box-shadow:0 4px 16px #213a2914;font-size:15px;line-height:1.6;color:#385445;pointer-events:none}
.replay-inspection[hidden]{display:none}
.replay-inspection p{margin:4px 0 0}.replay-inspection b{font-weight:550}
.replay-inspection .replay-tooltip-funds{border-top:1px solid var(--line);padding-top:7px;margin-top:7px}
@media(min-width:951px) and (max-height:850px){
 .replay-heading{margin:8px 0 12px}.replay-heading h1{font-size:30px}.replay-heading p{font-size:18px;margin-top:4px;line-height:1.45}
 .replay-trading-layout .replay-chart-board{padding:12px 14px 8px}.replay-market-heading{margin-bottom:3px}
 .replay-market-plot svg{height:154px}.replay-equity-plot svg{height:126px}
 .replay-account-heading{padding-top:5px;margin-top:5px}.replay-account-heading span{margin-bottom:2px}.replay-account-heading .replay-equity-value strong{font-size:26px}
 .replay-trading-layout .replay-controls{padding:18px}.replay-trading-layout .position{padding:12px 0;margin-top:8px}
 .replay-trading-layout .reason{margin-top:14px}.replay-trading-layout .reason textarea{height:68px}
 .replay-trading-layout .order-button{margin-top:12px}.replay-trading-layout .replay-status{margin:8px 0;min-height:46px;font-size:15px}
 .replay-trading-layout .replay-controls .primary{height:50px}.replay-footer{margin-top:14px;padding-top:12px}
}
@media(max-width:1100px) and (min-width:951px){
 .replay-trading-layout{grid-template-columns:minmax(0,1fr) 245px;gap:16px}.replay-account-heading{grid-template-columns:1fr 1fr}.replay-equity-value{grid-column:1/-1}
}
@media(max-width:950px){
 .replay-trading-layout{grid-template-columns:1fr}.replay-heading h1{font-size:30px}
 .replay-trading-layout .replay-controls{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;align-items:start}
 .replay-trading-layout .position{margin:0;padding:12px 0}.replay-trading-layout .reason{grid-column:1/-1;margin-top:0}
 .replay-trading-layout .order-button,.replay-trading-layout .replay-controls .primary{margin:0;align-self:end}
 .replay-trading-layout .replay-status{grid-column:1/-1;grid-row:auto;min-height:0;margin:0}
}
@media(max-width:550px){
 .replay-heading{margin-top:16px}.replay-heading h1{font-size:27px}.replay-heading p{font-size:17px}
 .replay-trading-layout .replay-chart-board{padding:14px 10px 10px}.replay-market-heading strong{font-size:17px}.replay-market-heading .chart-toggle{font-size:15px}
 .replay-market-plot svg{height:210px}.replay-equity-plot svg{height:150px}
 .replay-chart-legend{gap:8px 14px;font-size:14px}.replay-account-heading{grid-template-columns:1fr 1fr;margin-top:14px;gap:9px 12px}
 .replay-equity-value{grid-column:1/-1}.replay-account-heading .replay-equity-value strong{font-size:29px}.replay-account-heading strong{font-size:22px}
 .replay-chart-board .replay-foot{gap:8px;font-size:14px}.replay-chart-board .replay-foot .text-button{font-size:15px}
 .replay-trading-layout .replay-controls{display:flex;padding:18px;gap:0}.replay-trading-layout .position{margin-top:8px;width:100%}.replay-trading-layout .reason{margin-top:16px;width:100%}
 .replay-trading-layout .order-button{margin-top:14px}.replay-trading-layout .replay-status{margin:12px 0}.replay-trading-layout .replay-controls .primary{width:100%;margin-top:0}
 .replay-footer .action-row{margin-left:auto}.replay-inspection{font-size:14px;padding:10px}
}
.replay-pickers{display:flex;align-items:center;gap:18px;margin-left:auto;min-width:0}
.replay-indicator-picker{display:flex;align-items:center;gap:10px;font-size:16px;color:#586474;min-width:0}
.replay-indicator-picker select{font-size:17px;background:#fff;border:0;border-bottom:1px solid #bacac0;padding:8px 24px 8px 8px;max-width:245px;min-width:0;color:#315a49}
.replay-chart-board.with-indicator .replay-market-plot svg{height:168px}
.replay-indicator-plot{margin-top:4px}.replay-indicator-plot svg{height:130px}
.replay-tooltip-indicators{display:flex;flex-wrap:wrap;gap:3px 14px;max-width:350px}.replay-tooltip-indicators span{white-space:nowrap}
@media(min-width:951px) and (max-height:850px){
 .replay-chart-board.with-indicator .replay-market-plot svg{height:94px}
 .replay-indicator-plot svg{height:86px}
 .replay-chart-board.with-indicator .replay-equity-plot svg{height:116px}
 .replay-chart-board.with-indicator .replay-account-heading{padding-top:0;margin-top:3px}
 .replay-chart-board.with-indicator .replay-foot{margin-top:7px}
 .workspace:has(.replay-indicator-plot) .replay-heading{margin-top:6px;margin-bottom:8px}
 .workspace:has(.replay-indicator-plot) .replay-heading p{font-size:17px;line-height:1.3}
}
@media(max-width:750px){
 .replay-pickers{flex-wrap:wrap;justify-content:flex-end;gap:10px 14px;width:100%}
 .replay-indicator-picker{margin-right:auto}.replay-indicator-picker select{max-width:210px;font-size:16px}
 .replay-chart-board.with-indicator .replay-market-plot svg{height:180px}.replay-indicator-plot svg{height:130px}
}
@media(max-width:450px){
 .replay-pickers{justify-content:space-between}.replay-indicator-picker{width:100%;justify-content:space-between}.replay-pickers .market-picker{margin-left:auto}
 .replay-indicator-picker select{max-width:245px;flex:1;margin-left:12px}
}

/* Account entrance and personal API settings. */
#access-screen{display:none}
.access-pending #access-screen{display:block}
.access-pending>.sidebar,.access-pending>.workspace,.access-pending>#nav-backdrop{display:none!important}
.access-pending{background:#f8faf9}
.access-shell{max-width:1280px;margin:0 auto;padding:46px 56px 50px;min-height:100dvh;box-sizing:border-box}
.access-brand{display:flex;align-items:center;gap:15px;font-size:26px;font-weight:700;color:#21352f}
.access-brand .mark{height:35px;width:34px;display:flex;align-items:center;gap:4px;transform:skewY(-15deg)}
.access-brand .mark i{display:block;background:#2c6455;width:8px;height:22px;border-radius:1px}.access-brand .mark i:nth-child(2){height:30px}.access-brand .mark i:nth-child(3){height:38px}
.access-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:84px;align-items:center;min-height:calc(100dvh - 150px);padding:48px 0 16px}
.access-eyebrow{color:#526c62;font-size:17px;margin:0 0 28px;letter-spacing:.04em}
.access-intro h1{font-size:clamp(38px,4vw,56px);line-height:1.4;letter-spacing:-.04em;margin:0;color:#243c33;font-weight:650}
.access-description{font-size:22px;line-height:1.9;color:#64746c;margin:24px 0 0}
.access-path{display:flex;align-items:center;gap:18px;margin-top:48px;color:#456455;font-size:18px}
.access-path i{height:1px;width:34px;background:#bdcbc3}
.access-card{background:#fff;border:1px solid #dce5df;border-radius:14px;padding:36px 38px;box-shadow:0 14px 42px #224f3410}
.access-card h2{font-size:29px;line-height:1.5;margin:0 0 8px;color:#243a31}
.access-caption{font-size:17px;color:#6a7770;margin:0 0 25px;line-height:1.7}
.access-form{display:flex;flex-direction:column;gap:18px;text-align:left}
.access-form>label{display:flex;flex-direction:column;gap:9px;font-size:17px;line-height:1.5;color:#43564d}
.access-form input{height:50px;width:100%;min-width:0;box-sizing:border-box;border:1px solid #ccd8d0;border-radius:5px;background:#fff;padding:11px 13px;color:#243a31;font-size:18px;font-family:inherit}
.access-form input:focus{outline:2px solid #a8c4b4;outline-offset:2px;border-color:#5e8d76}
.access-password{display:flex;position:relative}.access-password input{padding-right:65px}
.access-password button{position:absolute;right:0;top:0;height:50px;padding:0 13px;color:#466956;font-size:15px;background:transparent;border:0}
.access-form .primary{width:100%;min-width:0;height:52px;font-size:18px;justify-content:center}
.access-guest{height:50px;background:#fff;border:1px solid #b8cec0;border-radius:5px;color:#315f4a;font-size:18px}
.access-guest:hover{background:#f0f6f2}
.access-error{font-size:16px;line-height:1.6;color:#a24635;margin:0;overflow-wrap:anywhere}.access-error:empty{display:none}
.access-switch{font-size:16px;line-height:1.6;color:#707d75;text-align:center;margin:0}
.access-switch button{font-size:16px;color:#2c6650;margin-left:8px;border:0;background:none;padding:3px 0}
.access-note{font-size:15px;line-height:1.8;color:#718078;margin:24px 0 0}
.access-form .access-note{margin:0}
.access-offline{min-height:80dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;font-size:20px;padding:30px;text-align:center}
.workspace-header .course-label{margin-left:auto}.account-button{border:1px solid #d6e1da;background:#fff;color:#35604d;border-radius:5px;padding:7px 13px;font:inherit;font-size:15px;white-space:nowrap;max-width:170px;overflow:hidden;text-overflow:ellipsis;margin-left:24px;flex-shrink:0}
.account-button:hover{background:#edf4ef}
#dialog:has(.account-panel){width:min(580px,calc(100% - 32px));max-width:580px}
.account-panel{padding:2px 0}.account-panel .account-intro{font-size:18px;line-height:1.8;margin:0 0 24px;color:#5a6d61}
.account-identity{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #dce5df;padding-bottom:20px;margin-bottom:24px;font-size:17px;color:#718078}
.account-identity strong{color:#28563f;font-size:22px;overflow-wrap:anywhere}
.api-status{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:18px}.api-status strong{font-size:22px;color:#304c3c}.api-status span{font-size:16px;color:#486854;background:#eef5f0;padding:4px 10px;border-radius:4px}
.api-actions{display:flex;gap:18px;align-items:center}.api-actions .primary{flex:1}.api-actions .text-button{white-space:nowrap;font-size:16px}
.assistant-pending{margin:24px 0 0;padding-top:20px;border-top:1px solid #dce5df;font-size:16px;color:#6c7b72;line-height:1.8}
.account-logout{display:block;margin:25px auto 0;font-size:16px}.access-form button:disabled{opacity:.55;cursor:wait}
@media(min-width:851px) and (max-height:800px){.access-shell{padding-top:28px;padding-bottom:24px}.access-layout{padding-top:24px;min-height:calc(100dvh - 100px)}.access-card{padding:26px 32px}.access-form{gap:14px}.access-caption{margin-bottom:18px}.access-note{margin-top:18px}}
@media(max-width:850px){.access-shell{max-width:650px;padding:28px 30px}.access-layout{grid-template-columns:1fr;gap:30px;min-height:0;padding-top:38px}.access-intro h1{font-size:36px}.access-intro h1 br{display:none}.access-eyebrow{margin-bottom:18px}.access-description{font-size:19px;margin-top:16px}.access-description br{display:none}.access-path{display:none}.access-card{padding:30px}.workspace-header .course-label{display:none}.account-button{margin-left:auto}}
@media(max-width:450px){.access-shell{padding:24px 20px 28px}.access-brand{font-size:23px}.access-layout{gap:25px;padding-top:30px}.access-eyebrow{font-size:14px;margin-bottom:14px}.access-intro h1{font-size:31px;line-height:1.5}.access-description{font-size:17px}.access-card{padding:24px 20px}.access-card h2{font-size:25px}.access-caption{font-size:16px;margin-bottom:22px}.access-form{gap:15px}.access-note{font-size:14px}.account-button{max-width:130px;font-size:14px;padding:7px 10px}.api-actions{gap:12px}}

@media(max-width:450px){.access-intro h1 br{display:initial}.access-description{text-wrap:balance}}

.access-error.access-success{color:#315f4a}

.password-requirements{font-size:14px;line-height:1.7;color:#65776c;font-weight:400}
.account-identity strong{min-width:0;word-break:break-word}.account-identity>span{flex-shrink:0}

/* Floating teaching assistant: history at left, conversation and controls at right. */
#dialog.assistant-window{position:fixed;inset:auto 22px 20px auto;margin:0;width:min(900px,calc(100vw - 300px));max-width:none;height:min(650px,calc(100dvh - 100px));max-height:none;padding:0;border:1px solid #cbd9d0;border-radius:12px;box-shadow:0 14px 65px #1b3d332b;overflow:hidden;z-index:30}
#dialog.assistant-window>header{height:62px;box-sizing:border-box;padding:15px 22px;background:#fff;display:flex;align-items:center;justify-content:space-between}
#dialog.assistant-window>header h2{font-size:23px;margin:0;color:#274536}
#dialog.assistant-window>#dialog-body{padding:0;height:calc(100% - 62px);max-height:none;overflow:hidden}
#dialog.assistant-window .account-panel{padding:24px;box-sizing:border-box;height:100%;overflow:auto;max-width:520px;margin:auto}
.assistant-chat{height:100%;display:grid;grid-template-columns:200px minmax(0,1fr);background:#fff;min-height:0}
.chat-history{background:#f5f8f6;border-right:1px solid #e0e7e2;padding:20px 12px 12px;display:flex;flex-direction:column;min-height:0;box-sizing:border-box}
.chat-history-heading{display:flex;align-items:center;justify-content:space-between;padding:0 8px 14px;color:#405a4a;font-size:16px}
.chat-new{border:1px solid #c8d8cd;border-radius:6px;background:white;color:#2a6248;padding:11px 8px;font-size:16px;margin-bottom:15px;text-align:left}
.chat-history-list{overflow:auto;min-height:0}.chat-history-item{display:block;width:100%;padding:12px 10px;border:0;border-radius:5px;background:transparent;text-align:left;color:#496154;margin-bottom:4px}
.chat-history-item:hover,.chat-history-item.selected{background:#e7f0ea;color:#20553d}.chat-history-item strong{font-size:15px;line-height:1.5;display:block;font-weight:500;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.chat-history-item time{font-size:12px;color:#7c8c81;display:block;margin-top:5px}.chat-history-empty{font-size:15px;color:#829087;padding:15px 8px}
.chat-main{display:flex;flex-direction:column;min-width:0;min-height:0}.chat-messages{flex:1;overflow:auto;min-height:0;padding:22px 26px;scrollbar-gutter:stable}
.chat-empty{height:100%;min-height:120px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#708176}
.chat-empty>span{font-size:35px;color:#4c8061;margin-bottom:12px}.chat-empty h3{font-size:23px;color:#36563f;font-weight:550;margin:0 0 12px}.chat-empty p{font-size:16px;margin:0;line-height:1.7}
.chat-turn{margin-bottom:26px}.chat-question{margin-left:36px;text-align:right}.chat-speaker{display:block;font-size:13px;color:#74867a;margin-bottom:8px}
.chat-question>p{display:inline-block;max-width:100%;padding:11px 15px;border-radius:10px 10px 2px 10px;background:#edf4ee;color:#284a36;line-height:1.7;font-size:17px;margin:0;white-space:pre-wrap;text-align:left;overflow-wrap:anywhere}
.chat-answer{margin-top:22px;line-height:1.8;color:#2e4137;font-size:17px;overflow-wrap:anywhere}.chat-answer-content p{margin:0 0 12px;font-size:inherit;line-height:inherit}.chat-answer-content ul{margin:12px 0;padding-left:23px}.chat-answer-content code{background:#f1f5f2;border-radius:3px;padding:1px 4px;font-family:ui-monospace,Consolas,monospace;font-size:.9em}.chat-answer-content pre{white-space:pre-wrap;background:#f3f6f4;padding:14px;border-radius:6px;margin:12px 0}.chat-answer-content pre code{padding:0;background:none}
.chat-wait,.chat-loading{color:#74857a;font-size:16px;margin:0}.chat-turn-error{font-size:15px;line-height:1.65;color:#9a573e;margin:12px 0 0}.chat-retry{font-size:15px;margin-top:10px}
.chat-composer{flex-shrink:0;border-top:1px solid #e2e9e4;padding:14px 18px 16px;background:#fff}.chat-composer textarea{display:block;width:100%;box-sizing:border-box;min-height:72px;max-height:150px;resize:vertical;border:1px solid #ccdcd1;border-radius:7px;padding:11px 13px;font:inherit;font-size:17px;line-height:1.6;color:#294537;background:#fff}
.chat-composer textarea:focus{outline:2px solid #c2d7c9;outline-offset:1px;border-color:#7eaa91}.chat-composer textarea:disabled{background:#f5f7f5}
.chat-composer-controls{display:flex;justify-content:flex-end;align-items:flex-end;gap:10px;margin-top:11px}.chat-composer-controls label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#708276;min-width:0}.chat-composer-controls select{max-width:230px;min-width:0;width:100%;height:36px;border:1px solid #d7e1db;border-radius:5px;background:#fff;color:#385b43;font-size:14px;padding:4px 22px 4px 7px}.chat-composer-controls .chat-model-control{flex:0 1 230px}.chat-composer-controls .chat-effort-control{flex:0 0 75px}
.chat-send{background:#285f4d;color:#fff;border:0;border-radius:5px;height:37px;padding:0 18px;font-size:16px;flex-shrink:0}.chat-send:disabled{opacity:.5;cursor:not-allowed}
.chat-feedback{font-size:14px;color:#9a573e;line-height:1.6;margin-top:8px}.chat-feedback:empty{display:none}.chat-feedback .text-button{font-size:14px;margin-left:12px}
.chat-mobile-toolbar,.chat-history-hide{display:none}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:950px){#dialog.assistant-window{right:16px;bottom:16px;width:calc(100vw - 32px);height:min(670px,calc(100dvh - 90px))}.assistant-chat{grid-template-columns:185px minmax(0,1fr)}}
@media(max-width:600px){#dialog.assistant-window{right:10px;bottom:10px;width:calc(100vw - 20px);height:calc(100dvh - 80px);border-radius:10px}#dialog.assistant-window>header{height:56px;padding:12px 16px}#dialog.assistant-window>header h2{font-size:21px}#dialog.assistant-window>#dialog-body{height:calc(100% - 56px)}.assistant-chat{display:block;position:relative}.chat-main{height:100%}.chat-history{display:none;position:absolute;inset:0 auto 0 0;width:210px;max-width:85%;z-index:2;box-shadow:8px 0 25px #264a3420}.history-open .chat-history{display:flex}.chat-history-hide{display:block;font-size:24px;color:#61796a;background:none;border:0}.chat-mobile-toolbar{display:flex;align-items:center;gap:18px;padding:10px 14px;border-bottom:1px solid #e8ede9}.chat-mobile-toolbar button{font-size:14px;white-space:nowrap}.chat-mobile-toolbar span{font-size:13px;color:#829086;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-messages{padding:18px 16px}.chat-question{margin-left:22px}.chat-answer{font-size:16px;line-height:1.8}.chat-question>p{font-size:16px}.chat-composer{padding:12px}.chat-composer textarea{font-size:16px;min-height:72px;max-height:110px}.chat-composer-controls{gap:7px}.chat-composer-controls .chat-model-control{flex:1}.chat-composer-controls .chat-effort-control{flex-basis:60px}.chat-composer-controls select{font-size:12px;padding-left:5px;padding-right:16px}.chat-send{padding:0 12px;font-size:15px}.chat-empty p{font-size:15px}}

/* Adjustable navigation and assistant window. */
:root{--sidebar-width:258px}
#sidebar-resize{display:none}
@media(min-width:951px){
 .sidebar{width:var(--sidebar-width)}.workspace{margin-left:var(--sidebar-width)}
 #sidebar-resize{display:block;position:fixed;left:calc(var(--sidebar-width) - 9px);top:0;bottom:0;width:18px;z-index:21;cursor:col-resize;touch-action:none;outline:none}
 #sidebar-resize:after{content:"";position:absolute;left:50%;top:0;bottom:0;transform:translateX(-50%);width:2px;background:transparent;pointer-events:none}
 #sidebar-resize:hover:after,#sidebar-resize:focus-visible:after{background:#a7b7b0}
 .sidebar .nav-item>span:not(.nav-position){min-width:0}.sidebar .nav-item strong,.sidebar .nav-item small{white-space:nowrap}
 .sidebar .nav-item{gap:10px;padding-left:10px;padding-right:10px}.sidebar .nav-position{flex-shrink:0}
 .sidebar-brand{padding-left:8px;padding-right:8px;gap:11px}.sidebar-brand strong{white-space:nowrap}
}
@media(min-width:951px) and (max-width:1250px){:root{--sidebar-width:235px}}
.access-pending>#sidebar-resize{display:none}
.layout-dragging,.layout-dragging *{user-select:none!important}
body[data-layout-drag=sidebar],body[data-layout-drag=sidebar] *,body[data-layout-drag=history],body[data-layout-drag=history] *{cursor:col-resize!important}
body[data-layout-drag=move],body[data-layout-drag=move] *{cursor:grabbing!important}
body[data-layout-drag=resize],body[data-layout-drag=resize] *{cursor:var(--layout-resize-cursor,nwse-resize)!important}
.dialog-tools{display:flex;align-items:center;gap:14px;flex-shrink:0}.dialog-tools>button[hidden]{display:none!important}
#assistant-settings-button,#assistant-size-button{color:#3d6454;font-size:16px;line-height:1;padding:8px 4px}
#assistant-size-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
#dialog.assistant-window>header{cursor:grab;touch-action:none;user-select:none}
#dialog.assistant-window>header:focus-visible{outline:2px solid #96b6a5;outline-offset:-3px}
#dialog.assistant-window>header button{cursor:pointer;touch-action:manipulation}
#dialog.assistant-window.window-sized{width:var(--assistant-width);height:var(--assistant-height)}
#dialog.assistant-window.window-positioned{inset:var(--assistant-top) auto auto var(--assistant-left)}
#dialog.assistant-window.window-maximized>header{cursor:default}
.assistant-edge{display:none}
#dialog.assistant-window:not(.window-maximized)>.assistant-edge{display:block;position:absolute;touch-action:none;z-index:4;user-select:none}
.assistant-edge[data-assistant-edge=n],.assistant-edge[data-assistant-edge=s]{height:8px;left:18px;right:18px;cursor:ns-resize}
.assistant-edge[data-assistant-edge=n]{top:0}.assistant-edge[data-assistant-edge=s]{bottom:0}
.assistant-edge[data-assistant-edge=e],.assistant-edge[data-assistant-edge=w]{width:8px;top:18px;bottom:18px;cursor:ew-resize}
.assistant-edge[data-assistant-edge=e]{right:0}.assistant-edge[data-assistant-edge=w]{left:0}
.assistant-edge[data-assistant-edge=nw],.assistant-edge[data-assistant-edge=ne],.assistant-edge[data-assistant-edge=sw],.assistant-edge[data-assistant-edge=se]{width:19px;height:19px;z-index:5}
.assistant-edge[data-assistant-edge=nw]{top:0;left:0;cursor:nwse-resize}.assistant-edge[data-assistant-edge=ne]{top:0;right:0;cursor:nesw-resize}
.assistant-edge[data-assistant-edge=sw]{bottom:0;left:0;cursor:nesw-resize}.assistant-edge[data-assistant-edge=se]{bottom:0;right:0;cursor:nwse-resize}
.assistant-edge:hover{background:#203b2910}.assistant-edge:focus-visible{outline:2px solid #426f56;outline-offset:-2px}
#assistant-resize:after{content:"";position:absolute;right:4px;bottom:4px;width:9px;height:9px;border-right:2px solid #8fa99b;border-bottom:2px solid #8fa99b}
#assistant-resize:focus-visible{outline:2px solid #7eaa91;outline-offset:-2px}
#dialog.assistant-window #close-dialog.assistant-settings-back{font-size:16px;white-space:nowrap}
.assistant-settings{height:100%;overflow:auto;padding:30px 28px;background:#fff}
.assistant-settings>#api-settings-content{max-width:480px;margin:0 auto}
.api-import{display:flex;align-items:center;gap:14px}.api-import .secondary{font-size:16px;min-height:40px;padding:7px 15px}.api-import>span{font-size:14px;color:#748478}.api-import>input[hidden]{display:none}
@media(max-width:600px){.dialog-tools{gap:9px}#assistant-settings-button{font-size:15px}#assistant-settings-button>span{display:none}.assistant-settings{padding:24px 20px}#dialog.assistant-window>header h2{font-size:20px}}

/* Adjustable split between history and conversation. */
.assistant-chat{grid-template-columns:var(--chat-history-width,200px) minmax(0,1fr)}
.chat-history-resize{position:absolute;right:-4px;top:0;bottom:0;width:9px;z-index:3;cursor:col-resize;touch-action:none;outline:none}
.chat-history-resize:after{content:"";position:absolute;left:3px;top:42%;width:3px;height:44px;border-radius:3px;background:#111}
.chat-history-resize:hover:after,.chat-history-resize:focus-visible:after{width:4px;background:#000}
.chat-history-heading strong{white-space:nowrap}.chat-history-heading{gap:4px}
@media(min-width:601px){.chat-history{position:relative}}
@media(max-width:600px){.chat-history{width:var(--chat-history-width,210px);max-width:none}.chat-history-resize{right:-4px}}

/* The Xiaoyu assistant portrait. */
.assistant-avatar{display:block;object-fit:contain;flex-shrink:0;border-radius:50%;background:#eef3f8}
.sidebar-bottom>button[data-open=assistant]{display:grid;grid-template-columns:52px minmax(0,1fr) 12px;gap:6px;padding:16px 0;text-align:left}
.sidebar-assistant-avatar{width:52px;height:52px}.sidebar-bottom>button[data-open=assistant]>span:not(.assistant-arrow){min-width:0;white-space:nowrap}.sidebar-bottom>button[data-open=assistant] small{white-space:nowrap;font-size:14px}.sidebar-bottom .assistant-arrow{margin-left:0}
#dialog-title.assistant-title{display:flex;align-items:center;gap:10px;min-width:0;white-space:nowrap}.assistant-title-avatar{width:36px;height:36px}
.chat-empty .chat-empty-avatar{width:88px;height:88px;margin-bottom:18px}.assistant-speaker{display:flex;align-items:center;gap:7px}.assistant-speaker .assistant-avatar{width:24px;height:24px}
@media(max-width:600px){#dialog-title.assistant-title{gap:7px}.assistant-title-avatar{width:30px;height:30px}}

/* Optional web search stays in the existing conversation window. */
.chat-composer-controls{flex-wrap:wrap}
.chat-web-search{margin-right:auto;flex-shrink:0;min-height:36px;padding:6px 10px;border:1px solid #d7e1db;border-radius:5px;background:#fff;color:#61766b;font-size:14px;white-space:nowrap}
.chat-web-search[aria-pressed=true]{background:#e9f2ed;border-color:#88ae99;color:#285f4d}
.chat-web-search:disabled{opacity:.65;cursor:default}
.chat-composer-controls .chat-model-control{flex:1 1 120px;max-width:230px}
.chat-sources{font-size:13px;line-height:1.65;margin:10px 0;color:#62766b}
.chat-sources summary{cursor:pointer}.chat-sources ol{list-style:none;padding:0;margin:8px 0}.chat-sources li+li{margin-top:7px}.chat-sources a{color:#315f4e;overflow-wrap:anywhere}.chat-sources time{display:block;color:#7c887f;font-size:12px}
#dialog-body .chat-reference-note,#dialog-body .chat-search-note{font-size:12px;line-height:1.7;color:#758278;margin:12px 0 0}
@media(max-width:600px){.chat-web-search{min-height:30px}.chat-composer-controls .chat-model-control{flex-basis:110px}.chat-composer-controls .chat-effort-control{flex-basis:60px}}
