/* V3 learning layer. No remote dependencies; native controls remain available. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.learning-lab,.tutor-visual,.academy-entry,.permission-map,.flashcard-lab{margin-block:28px;padding:clamp(18px,3vw,32px);border:1px solid var(--line,#283343);border-radius:18px;background:#131a23;scroll-margin-top:130px}
.learning-lab>header{max-width:76ch}
.learning-lab h2,.academy-entry h2{font-size:clamp(1.35rem,2.5vw,1.9rem);line-height:1.22;margin:10px 0 14px}
.lab-kicker{font-size:.71rem;letter-spacing:.1em;color:#66f2bd;font-weight:750}
.learning-lab p,.field-context,.tutor-visual p,.permission-map p{line-height:1.65}
.lab-note,.lab-limit,.field-context{color:#b4c2d3;font-size:.86rem}
.lab-limit{border-top:1px solid #283343;padding-top:16px;margin-top:22px}
.learning-modes,.story-controls,.choice-list{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.learning-modes button[aria-pressed=true],.choice-list button[aria-pressed=true]{border-color:#66f2bd;background:#1b3a33;color:#d6fff0}
.learning-lab [data-panel]{margin-top:20px}
.learning-lab figure{margin:0}
.candle-chooser{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px}
.candle-chooser .button{display:flex;gap:10px;align-items:center;flex:1 1 150px;font-size:.8rem}
.concept-svg,.lab-svg,#trade-diagram svg{display:block;width:100%;max-height:450px;overflow:visible}
.concept-svg text,.lab-svg text,#trade-diagram text{font:16px system-ui,sans-serif}
.learning-lab figcaption{margin-top:12px;color:#b4c2d3;line-height:1.55}
.story-node{opacity:.64;transition:opacity .3s}
.story-node.is-active{opacity:1}
.story-node.is-active rect{stroke:#66f2bd;stroke-width:2}
.story-explanation{flex-basis:100%;margin:0;color:#d6fff0}
.story-progress{flex-basis:100%;color:#ffb86b;font-weight:700}
.lab-start,.story-guide,.diagram-help{font-size:.9rem;color:#b4c2d3;line-height:1.65}
.lab-start{padding:14px 16px;border-left:3px solid #66f2bd;background:#0b1118}
.story-guide{flex-basis:100%;margin:0 0 4px}
.diagram-help{margin-top:16px;padding:14px 16px;background:#0b1118;border:1px solid #283343;border-radius:10px}
.diagram-help h3{margin:0 0 8px;color:#edf3f8;font-size:.95rem}
.diagram-help p{margin:0}
.diagram-legend{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;margin:12px 0 0;padding:0;font-size:.9rem}
.diagram-legend li{display:flex;align-items:center;gap:8px;min-width:0}
.legend-key{font-weight:700;color:var(--series-color)}
.story-sample{margin:12px 0 0;padding:10px 12px;border-left:3px solid #ffb86b;background:#0b1118;color:#edf3f8;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.story-muted{opacity:.5}
[data-story-focus]{pointer-events:none}
.lab-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}
.lab-fields textarea{resize:vertical;min-height:88px}
.lab-fields .field:has(textarea){grid-column:1/-1}
.learning-lab input,.learning-lab select,.learning-lab textarea,.tutor-visual input,.tutor-visual select{width:100%;max-width:100%;box-sizing:border-box;background:#0d1117;border:1px solid #425269;border-radius:8px;color:#edf3f8;padding:12px;font:inherit;min-height:46px}
.learning-lab label,.tutor-visual label{display:block;color:#d4deeb;font-size:.85rem;line-height:1.5;margin-bottom:7px}
.learning-lab .form-actions{margin-top:18px}
.learning-lab button,.tutor-visual button,.story-controls button,.glossary-tip summary{min-height:44px}
.learning-lab .button,.form-actions .button{white-space:normal;text-align:left;line-height:1.4}
.lab-output{padding:18px;border:1px solid #425269;border-radius:10px;background:#0d1117;margin:18px 0;overflow-wrap:anywhere}
.lab-output:empty{display:none}
.lab-output .data-table-wrap{overflow-x:auto;max-width:100%}
.lab-output table{border-collapse:collapse;min-width:440px;width:100%;font-size:.85rem}
.lab-output th,.lab-output td{padding:9px 10px;border-bottom:1px solid #283343;text-align:right;white-space:nowrap}
.lab-output th:first-child,.lab-output td:first-child{text-align:left}
.lab-output caption{text-align:left;margin:12px 0;color:#b4c2d3}
.lab-output .error{color:#ffb4bc}
.quick-check{border-top:1px solid #283343;margin-top:24px;padding-top:18px}
.quick-check h3{font-size:1.05rem}
.quiz-feedback{color:#d6fff0;font-weight:550;min-height:1.5em}
.field-context p{margin:7px 0}
.field-context details{margin-top:4px}
.field-context summary,.learning-lab summary{cursor:pointer;line-height:1.6;min-height:36px;padding:6px 0}
.field-error{color:#ffb4bc;font-size:.85rem;line-height:1.5;margin:8px 0}
[aria-invalid=true]{border-color:#ff8590!important;box-shadow:0 0 0 1px #ff8590}
.proposal-panel{border:2px solid #62dbe8;border-radius:12px;background:#122631;margin-top:20px;padding:18px;overflow-wrap:anywhere}
.proposal-panel h3{scroll-margin-top:130px}
.proposal-panel{scroll-margin-top:0}
.proposal-panel p{font-size:.9rem;margin:9px 0;line-height:1.55}
#proposal-status{min-height:1.5em;line-height:1.5;color:#bceeff}
#number-explanations details{padding:10px 0;border-top:1px solid #283343}
#number-explanations summary{cursor:pointer;line-height:1.5;min-height:40px}
#number-explanations p{font-size:.84rem;overflow-wrap:anywhere;line-height:1.65}
.result-row dd{overflow-wrap:anywhere;min-width:0}
.result-row dt{min-width:0}
.course-path{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:24px 0}
.course-path a{display:flex;gap:10px;align-items:center;border:1px solid #425269;border-radius:12px;padding:14px;font-size:.85rem;line-height:1.4}
.stage-number{border:1px solid #66f2bd;color:#66f2bd;border-radius:50%;min-width:27px;height:27px;display:inline-grid;place-items:center}
.progress-card .check-label{display:flex;align-items:flex-start;gap:12px;line-height:1.6}
.check-label input{width:22px;height:22px;flex:0 0 auto;margin-top:2px}
.course-path a.completed{border-color:#66f2bd}
.flashcard{border:1px solid #425269;border-radius:14px;padding:24px;background:#0d1117;min-height:140px;margin:16px 0}
.flashcard h3{font-size:1.4rem;margin:0 0 14px}
.search-match{display:block;color:#bceeff;line-height:1.5;margin-top:12px}
.glossary-tip{border-top:1px solid #283343;margin-top:14px;padding-top:8px}
.glossary-tip summary{cursor:pointer;color:#bceeff;font-size:.83rem}
.glossary-tip svg{max-height:95px}
.fundamental-tip svg{max-height:none}
.diagram-data{margin-top:16px}
.diagram-data>summary{cursor:pointer;min-height:44px;color:#bceeff}
.learning-jump{margin-block:24px;padding:22px}
.learning-jump h2{font-size:1.2rem;margin:0}
.learning-jump .button{font-size:.85rem}
.glossary-tip p{font-size:.88rem}
.market-context{padding:14px 18px;margin:14px 0;border:1px solid #283343;border-radius:10px}
.section-heading:has(.market-actions){flex-wrap:wrap}
.market-actions{display:flex;flex-wrap:wrap;gap:8px;max-width:100%}
.market-actions .button{max-width:100%;white-space:normal;text-align:center;line-height:1.5}
.market-context summary{cursor:pointer;min-height:35px}
.market-context details{padding:8px}
.market-inspector{position:relative;margin-top:18px;padding-top:15px;border-top:1px solid #283343}
.market-inspector input{width:100%;min-height:40px;accent-color:#66f2bd}
.market-inspector p{font-size:.8rem;color:#b4c2d3;line-height:1.6}
.permission-map svg{max-height:350px}
:focus-visible{outline:3px solid #62dbe8;outline-offset:4px}
.learning-lab [hidden],.proposal-panel[hidden],.field-error[hidden]{display:none!important}
@media(max-width:900px){.course-path{grid-template-columns:1fr 1fr}.course-path a:last-child{grid-column:1/-1}}
@media(max-width:560px){
 .lab-fields{grid-template-columns:minmax(0,1fr)}
 .learning-lab,.tutor-visual,.academy-entry,.permission-map,.flashcard-lab{padding:18px 14px}
 .story-controls .button{font-size:.78rem}
 .result-row{gap:10px}
 .course-path{grid-template-columns:1fr}
 .course-path a:last-child{grid-column:auto}
 .concept-svg text,.lab-svg text,#trade-diagram text{font-size:24px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Audit fixes: visible assistant entry and stable official widget attribution. */
.assistant-guide{padding:16px;border:1px solid #425269;border-radius:10px;margin-block:18px}
.assistant-guide h3{margin:0 0 8px;font-size:1.1rem}
.assistant-guide p{font-size:.9rem;line-height:1.6}
.assistant-guide a{display:inline-block;color:#bceeff;padding-block:10px;text-decoration:underline}
#calc-propose{scroll-margin-top:145px}
.release-label{font-size:.75rem;color:#b4c2d3;text-align:center;padding-block:12px}
#tradingview-root{height:100%;width:100%;min-width:0}
#tradingview-root iframe{max-width:100%}
#tradingview-root .tradingview-widget-copyright{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
