:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#eef4ff;background:#080f20;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:0}button:disabled{opacity:.5;cursor:default}.hidden{display:none!important}.app{display:flex;min-height:100vh}.sidebar{width:246px;position:sticky;top:0;height:100vh;background:#0a1529;border-right:1px solid #1f2f48;padding:28px 14px;display:flex;flex-direction:column}.logo{display:flex;gap:10px;align-items:center;font-size:18px;font-weight:800;padding:0 8px 38px;letter-spacing:-.6px;white-space:nowrap}.logo em,.authbox h1 em{font-style:normal;color:#2fdbb2}.brandmark{display:inline-flex;align-items:center;justify-content:center;color:#071728;background:#2fdbb2;border-radius:12px;width:54px;height:54px;font-size:39px;font-weight:900}.brandmark.small{width:33px;height:33px;font-size:24px;border-radius:9px}.sidecaption,.eyebrow,.overline,.tinylabel{font-size:10px;letter-spacing:1.2px;font-weight:800;color:#7d94b2}.sidecaption{padding:0 14px 12px}.sidebar nav{display:grid;gap:7px}.nav{display:flex;align-items:center;gap:15px;color:#9cb0cd;text-align:left;background:none;border-radius:10px;padding:14px 16px;font-size:14px}.nav.active,.nav:hover{background:#153052;color:white}.nav.active{box-shadow:inset 3px 0 #27dcac}.sidebottom{margin-top:auto;padding:16px 12px;color:#7f96b8;font-size:12px;line-height:1.55}.safe{color:#41e3b1;margin:10px 0;font-weight:700}.dot{display:inline-block;width:7px;height:7px;background:#35dbad;border-radius:50%;margin-right:7px;box-shadow:0 0 0 3px #35dbad24}.ghost{margin-top:15px;background:none;color:#dbe8ff;padding:5px}.content{min-width:0;flex:1;max-width:1700px;padding:24px 35px 48px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;gap:20px}.topbar h2{margin:0;font-size:23px;letter-spacing:-.5px}.topbar p{margin:6px 0 0}.muted,.smallmuted{color:#7f96b4;font-size:12px}.topright{display:flex;gap:16px;align-items:center}.userlabel{color:#98aaca;font-size:12px}.marketpill,.tag,.chip{border-radius:9px;padding:8px 11px;background:#123b37;color:#62edc8;font-size:11px;font-weight:700;letter-spacing:.3px}.tag{background:#18304c;color:#9dc2e3;padding:6px 9px;white-space:nowrap}.chip{margin:22px 0}.welcome{display:flex;justify-content:space-between;gap:30px;align-items:center;border:1px solid #204657;border-radius:19px;padding:30px 38px;margin-bottom:22px;background:radial-gradient(ellipse at 100% 20%,#1b655e 0%,#0a2d41 42%,#10233c 100%)}.welcome h1{font-size:32px;line-height:1.22;margin:10px 0;letter-spacing:-.9px}.welcome h1 span{color:#41e0b1}.welcome p{font-size:14px;line-height:1.6;color:#abc4d7;max-width:440px}.heroart{font-size:130px;font-weight:900;color:#3ee7b0;text-shadow:0 0 55px #33b8a983;line-height:1;min-width:225px;text-align:center}.heroCaption{display:block;font-size:10px;letter-spacing:2px;color:#99ccbf;text-shadow:none}.slim{padding:22px 30px}.statgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.stat,.panel,.chartpanel{border:1px solid #24354d;background:#101e34;border-radius:14px;padding:20px}.stat span{display:block;color:#839ab9;font-size:10px;letter-spacing:1px;font-weight:800}.stat strong{display:block;font-size:24px;letter-spacing:-.7px;margin:10px 0}.stat small{font-size:11px;color:#8299b8}.twoCol{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}.panel h3,.chartpanel h3{font-size:16px;margin:0 0 13px}.panelhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.panelhead h3{margin:0}.mrow{display:flex;align-items:center;justify-content:space-between;padding:12px 1px;border-top:1px solid #25354d}.mrow strong{font-size:14px}.mrow small{display:block;color:#849ab8;font-size:11px;margin-top:3px}.mrow .price{color:#52e6bd}.lesson{display:flex;gap:14px;border-top:1px solid #293a50;padding:17px 0}.lesson p{font-size:12px;color:#93a9c6;margin:5px 0 0}.lessonicon{border-radius:10px;background:#194e54;color:#57ead2;padding:12px;font-weight:800}.primary,.secondary{border-radius:9px;padding:12px 17px;font-weight:800;font-size:13px}.primary{background:#35d9ac;color:#05261f}.primary:hover{background:#6bf0cd}.secondary{background:#1b304a;color:#dcecff;border:1px solid #39526e}.full{width:100%}.pillwarning{border:1px solid #665425;background:#312a1c;color:#f7d38a;padding:10px 14px;border-radius:9px;font-size:11px;font-weight:800;margin-bottom:16px}.tradinggrid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px}.chartpanel{min-width:0}.chartpanel .panelhead{align-items:flex-start}.symbolSelect{background:#101e34;border:0;color:white;font-weight:800;font-size:23px;padding:6px 0;max-width:100%;outline:0}.liveprice{display:flex;align-items:center;gap:14px;margin-top:4px}.liveprice strong{font-size:30px}.toolbar{display:flex;gap:8px}.smallbutton{background:#1c3048;color:#d9e7fc;padding:8px 10px;border-radius:8px}.smallbutton.active{background:#244f62;color:#6aecd4}#chart{width:100%;height:310px;margin:12px 0 15px;display:block}.ticket{align-self:start}.orderSwitch{display:flex;gap:7px;margin-bottom:22px}.orderSwitch button{width:50%;padding:12px;background:#20344d;color:#a4b4c9;border-radius:8px;font-weight:800}.orderSwitch button.active{background:#2dd9a9;color:#063025}.orderSwitch button.sellactive{background:#f87171;color:#351213}label{display:block;color:#aabed6;font-weight:650;font-size:12px;margin:12px 0}label input,label select{display:block;width:100%;padding:12px;margin-top:7px;color:#f1f7ff;background:#0b192d;border:1px solid #34475d;border-radius:9px;outline:0}input:focus,select:focus{border-color:#34d5b0}.divider{height:1px;background:#2d3d51;margin:22px 0 15px}.detailrow{display:flex;justify-content:space-between;margin-bottom:15px;color:#9cb2cd;font-size:13px}.detailrow b{color:white}.risknote{font-size:11px;color:#9eafc2;line-height:1.65;margin-top:15px}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}td,th{text-align:left;padding:14px 10px;border-bottom:1px solid #2c3b50;white-space:nowrap}th{font-size:10px;letter-spacing:.6px;color:#8ba4c2}td{color:#e1ecfa}.status{padding:6px 8px;background:#234d4d;color:#67ebce;border-radius:6px;font-size:11px;font-weight:700}.bad{color:#fc8a92!important}.good{color:#40ddac!important}.coursegrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.course{padding:24px;border-radius:14px;background:#10233a;border:1px solid #27415d}.course h3{margin:8px 0}.course p{color:#95a9c7;font-size:13px}.course .badge{color:#55e5c5;font-size:11px}.authpage{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(ellipse at center top,#184f55 0%,#0a1730 45%,#070d1e 100%)}.authbox{width:min(440px,100%);background:#102037;border:1px solid #2b405c;border-radius:20px;padding:36px;box-shadow:0 25px 120px #0005}.authbox h1{margin:15px 0 4px;font-size:32px;letter-spacing:-1.5px}.subtitle{color:#acc1da;margin:0}.tabs{display:flex;margin:25px 0 20px;padding:4px;background:#0b192b;border-radius:9px}.tabs button{flex:1;border-radius:7px;padding:10px;background:none;color:#92a7c2}.tabs button.active{background:#26435d;color:white}.error{color:#ff9b9b;font-size:12px;min-height:18px}.footnote{font-size:11px;color:#849ab6;line-height:1.5;margin-bottom:0}.alert{padding:13px;background:#1c493f;border:1px solid #3b8c73;border-radius:9px;font-size:13px;margin:0 0 16px}.modal{position:fixed;inset:0;background:#020812dc;display:grid;place-items:center;padding:15px;z-index:9}.modalbox{width:min(450px,100%);background:#15243c;border:1px solid #38536d;border-radius:16px;padding:24px;box-shadow:0 20px 90px #0009}.modalbox p{color:#b8c7da;line-height:1.6}.modalactions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}@media(max-width:1120px){.statgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.tradinggrid{grid-template-columns:minmax(0,1fr)}.ticket{max-width:none}.sidebar{width:205px}.content{padding:22px}.heroart{min-width:125px;font-size:90px}}@media(max-width:740px){.app{display:block}.sidebar{width:100%;height:auto;position:relative;padding:12px}.logo{padding:4px 5px 12px}.sidecaption,.sidebottom{display:none}.sidebar nav{display:flex;overflow-x:auto;gap:3px}.nav{white-space:nowrap;font-size:12px;padding:11px}.nav span{display:inline}.content{padding:15px}.topbar{align-items:flex-start;flex-direction:column}.topright{width:100%;justify-content:space-between}.statgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat{padding:13px}.stat strong{font-size:19px}.twoCol{grid-template-columns:1fr}.welcome{padding:22px}.welcome h1{font-size:25px}.heroart{display:none}.coursegrid{grid-template-columns:1fr}.panel,.chartpanel{padding:14px}.tradinggrid{grid-template-columns:1fr}}
/* Stage 2: educational replay & synthetic derivatives */
.stage2grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}
.stage2badge{display:inline-flex;background:#173e4c;color:#87e3d5;border:1px solid #236d6a;border-radius:999px;padding:5px 12px;font-size:11px;font-weight:700;letter-spacing:.07em}
.stage2fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.stage2fields label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#adc0d7}
.stage2fields input,.stage2fields select{background:#101b30;color:#e7efff;border:1px solid #354965;border-radius:8px;padding:10px;width:100%}
.stage2chart{height:230px;width:100%}
.stage2actions{display:flex;gap:9px;flex-wrap:wrap;margin:13px 0}
.stage2actions button{padding:9px 12px}
.stage2desc{color:#9eb1c8;font-size:13px;line-height:1.7}
.stage2status{margin-top:10px;font-size:13px;color:#5ee9ba;min-height:20px}
@media(max-width:850px){.stage2grid{grid-template-columns:1fr}.stage2fields{grid-template-columns:1fr}}

/* Academy v3.1 */
.tq-lesson p{line-height:1.65}.tq-lesson button{margin-top:12px}.tq-quiz{margin-top:22px;padding:20px}.tq-question{border:1px solid #35516c;border-radius:10px;margin:12px 0;padding:14px}.tq-question legend{font-weight:650;padding:4px}.tq-question label{display:block;margin:10px 0;cursor:pointer}.tq-question input{width:auto;margin-right:9px}#academyQuizResult{line-height:1.6;margin-top:15px;white-space:normal}
