/* Elysium v2.1 — styles added on top of legacy.css and v2.css. Same tokens, same visual identity. */

#app.wide{max-width:1480px}
.tabs{gap:4px}
.tab{padding:7px 11px}
#mock,#cases,#pymetrics,#network{overflow:visible}
#materials{overflow:visible}
#cases .nt-wrap,#pymetrics .nt-wrap{max-width:900px;margin:0 auto;padding:26px 26px 60px}
#app.wide #cases .nt-wrap{max-width:none}
#app.wide #materials .mt-wrap{max-width:none}
#cases .nt-head,#pymetrics .nt-head{border-bottom:1px solid var(--line-soft);padding-bottom:16px;margin-bottom:6px}
#cases .nt-head h2,#pymetrics .nt-head h2{font-family:var(--serif);font-weight:500;font-size:27px;color:#fff;line-height:1.2}
.mk-sec p,.mk-sec li{font-family:var(--sans);font-size:13px;color:#dfe7fb;line-height:1.6}
.mk-sec ul{margin:6px 0 8px 20px}
.mk-sec>p{margin:6px 0}

/* note cards, version 2: read first, the idea, formulas, example, how to judge the number */
.readfirst{font-family:var(--sans);font-size:12.5px;color:#fff;background:rgba(94,134,236,.22);border-left:3px solid var(--cite);border-radius:4px;padding:8px 12px;margin:8px 0 4px;line-height:1.5}
.readfirst b{font-family:var(--roman);font-size:10px;letter-spacing:.2em;color:var(--gold);margin-right:8px;text-transform:uppercase}
.readfirst a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4)}
.readfirst span{color:var(--ink-soft);margin-left:8px;font-size:11.5px}
.good{border:1px solid rgba(143,208,160,.4);background:rgba(143,208,160,.08);border-radius:6px;padding:10px 14px;margin:12px 0}
.good-h{font-family:var(--roman);font-size:10.5px;letter-spacing:.2em;color:var(--green);text-transform:uppercase;margin-bottom:4px}
.good p,.good li{font-family:var(--sans);font-size:13.5px;color:#e7ecfb;line-height:1.6}
.good p{margin:6px 0}
.good ul{margin:4px 0 4px 20px}
.nt-detail{margin:10px 0;overflow-x:auto}
.nt-detail table{border-collapse:collapse;font-family:var(--sans);font-size:12.5px;color:#e7ecfb;margin:8px 0}
.nt-detail td{padding:3px 9px;border-bottom:1px solid rgba(255,255,255,.06)}
.nt-detail caption{text-align:left;font-family:var(--serif);font-size:15px;color:var(--gold-bright);padding-bottom:5px}
.nt-card .lbl,.mk-x .lbl,.pym-card .lbl{color:#fff;font-weight:700}
#pymetrics .nt-card{margin-top:22px;padding-top:16px;border-top:1px solid var(--line-soft);scroll-margin-top:18px}
#pymetrics .nt-card h3{font-family:var(--serif);font-weight:500;font-size:21px;color:var(--gold-bright);margin-bottom:3px}
#pymetrics .nt-card h3 .ch{font-family:var(--sans);font-size:10.5px;color:var(--ink-soft);margin-left:10px;letter-spacing:.04em}
#pymetrics .nt-card p,#pymetrics .nt-card li{font-family:var(--sans);font-size:13.5px;color:#e7ecfb;line-height:1.6}
#pymetrics .nt-card p{margin:8px 0}
#pymetrics .nt-card ul{margin:6px 0 6px 20px}
#pymetrics .recur,#pymetrics .trap,.mk-sec .trap{font-family:var(--sans);font-size:12.5px;border-radius:5px;padding:8px 11px;margin:9px 0;line-height:1.5}
#pymetrics .recur{color:var(--ink-soft);background:rgba(255,255,255,.04)}
#pymetrics .recur b{color:#cdd9f5}
#pymetrics .trap,.mk-sec .trap{color:#fff;background:rgba(240,145,106,.1);border:1px solid rgba(240,145,106,.32)}
#pymetrics .trap b,.mk-sec .trap b{color:var(--terra)}

/* today: recall, drills, excel lessons, pymetrics */
.rc-tag{margin:4px 0 2px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.rc-fu{font-family:var(--sans);font-size:13px;color:#fff;border-top:1px dashed var(--line-soft);margin-top:10px;padding-top:9px;line-height:1.5}
.rc .mq-key{white-space:pre-wrap}
.drill{border-bottom:1px dashed var(--line-soft)}
.drill:last-child{border-bottom:none}
.drill .litem{border-bottom:none}
.dr-main{flex:1;min-width:0}
.drill-slot{margin:0 0 12px 32px}
.flag.needs{color:#163A96;background:var(--gold)}
.xl-kind{font-family:var(--roman);font-size:10px;letter-spacing:.2em;color:var(--gold);margin-top:4px}
.lessons{margin-top:10px;border:1px solid var(--line-soft);border-radius:6px;background:rgba(0,0,0,.12);padding:4px 14px 8px}
.lessons .litem{padding:7px 0}
.lessons .t1.sm{font-family:var(--sans);font-size:13.5px}
.lessons .ln{font-family:var(--roman);font-size:11px;color:var(--gold);margin-right:6px}
.pym-g{border:1px solid var(--line);border-radius:6px;background:var(--card2);padding:11px 14px;margin-top:10px}
.pym-g .t1{font-family:var(--serif);font-size:18px;color:#fff}
.pym-host{margin-top:10px}
.pym-host:empty{display:none}
.pym-res{margin-left:6px}
.mk.go{border-color:var(--gold);color:var(--gold-bright)}

/* behavioral: camera, guidance, stories, transcript marks */
.slot-video,.ve-vid{display:none;width:100%;max-width:380px;border-radius:5px;margin:8px 0;background:#0b1c4c}
.ve-vid{display:block}
.slot-guide ul{margin:4px 0 0 18px}
.slot-guide li{margin:2px 0}
.slot-story{font-family:var(--sans);font-size:12px;color:var(--ink-soft);margin:8px 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.slot-prep{font-family:var(--sans);font-size:11.5px;color:var(--ink-soft);font-style:italic;margin:6px 0}
.story-out{flex-basis:100%;font-family:var(--sans);font-size:12.5px;color:#dfe7fb;background:rgba(0,0,0,.16);border-radius:5px;padding:9px 12px;line-height:1.55}
.story-out b{color:var(--gold-bright)}
.so-t{font-family:var(--serif);font-size:15px;color:#fff;margin-bottom:4px}
.story-form,.story-card{border:1px solid var(--line);border-radius:6px;background:var(--card2);padding:14px 16px;margin-top:12px}
.story-form input[type=text]{width:100%}
.story-card .story-out{background:none;padding:6px 0 0}
.row.bulk{margin-top:12px}
.bank-q{align-items:center}
.bank-q .v2select{max-width:210px;flex:0 0 auto}
.tx-hl{font-family:var(--sans);font-size:13px;color:#dfe7fb;line-height:1.6;white-space:pre-wrap;background:rgba(0,0,0,.15);border-radius:4px;padding:8px 10px;margin-top:8px}
mark.fill{background:rgba(240,145,106,.45);color:#fff;border-radius:3px;padding:0 2px}
mark.rep{background:rgba(242,208,122,.5);color:#16306f;border-radius:3px;padding:0 2px}
mark.over{background:rgba(195,155,232,.4);color:#fff;border-radius:3px;padding:0 2px}
.tx-legend{font-family:var(--sans);font-size:11px;color:var(--ink-soft);margin-top:5px}
.bodyfb{border-left:3px solid var(--cite);background:rgba(94,134,236,.14);border-radius:4px;padding:8px 11px;margin:8px 0;font-family:var(--sans);font-size:12.5px;color:#e7ecfb;line-height:1.5}
.bodyfb ul{margin:2px 0 4px 18px}
.bodyfb .sk{margin-bottom:3px}
.parts{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0}
.part{font-family:var(--sans);font-size:11px;border-radius:999px;padding:2px 9px;border:1px solid var(--line);color:var(--ink-soft)}
.part.s4,.part.s5{border-color:var(--green);color:var(--green)}
.part.s3{border-color:var(--gold);color:var(--gold-bright)}
.part.s0,.part.s1,.part.s2{border-color:var(--terra);color:var(--terra)}
.fixh{font-weight:600;color:var(--gold-bright);margin-top:6px}
.savedok{color:var(--green);font-size:12px;margin-top:6px}
.bv-result.show{max-height:none}
.dv{font-family:var(--sans);font-size:12px;color:var(--ink-soft);margin:4px 0}

/* mock engine */
.sec.notick{display:block}
.mockrun .sec.notick{border:1px solid var(--line);border-radius:6px;margin:14px 22px;background:rgba(0,0,0,.08)}
.mq-n{font-family:var(--roman);font-size:12px;color:var(--gold);margin-right:9px}
.veil{font-family:var(--sans);font-size:13px;font-style:italic;color:var(--ink-soft)}
.mq.sub>textarea{opacity:.8}
.mq-fu{background:rgba(0,0,0,.14);margin-top:12px}
.mq-fu .mq-q{font-size:16.5px}
.mq-key ul{margin:3px 0 6px 18px}
.mock-result{padding:0 26px}
.mock-setup{border:1px solid var(--line);border-radius:6px;background:var(--card2);padding:14px 16px}
.mt-prompt{margin-top:10px}
.mt-prompt summary,.cs-sec>summary,.mk-x>summary{font-family:var(--sans);font-size:12.5px;font-weight:600;color:var(--gold-bright);cursor:pointer;padding:5px 0}
ul.plain{margin:4px 0 6px 20px}
ul.plain li{font-family:var(--sans);font-size:13px;color:#dfe7fb;line-height:1.55}
.mk-x{margin-top:6px}
.mk-x p{font-family:var(--sans);font-size:12.5px;color:#dfe7fb;line-height:1.6;margin:5px 0}

/* documents: printed large, light page on the blue ground */
.docpage{background:#fbfaf6;color:#1a2233;border-radius:6px;padding:22px 26px;margin:10px 0;box-shadow:0 10px 30px -18px rgba(0,0,0,.7);overflow-x:auto}
.doc-kind{font-family:var(--roman);font-size:10px;letter-spacing:.22em;color:#8a6d1c}
.doc-title{font-family:var(--serif);font-weight:500;font-size:24px;color:#14213f;margin:2px 0 10px;line-height:1.25}
.doc-h{font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#14213f;margin:16px 0 6px;border-bottom:1.5px solid #14213f;padding-bottom:3px}
.docpage p,.docpage li{font-family:var(--sans);font-size:14.5px;color:#1a2233;line-height:1.6}
.doc-p{margin:7px 0}
.doc-note{font-size:12.5px!important;color:#55607a!important;font-style:italic;margin:6px 0}
.doc-l{margin:6px 0 8px 22px}
.doc-tw{overflow-x:auto;margin:10px 0}
.doc-t{border-collapse:collapse;width:100%;font-family:var(--sans);font-size:14px;color:#1a2233;font-variant-numeric:tabular-nums}
.doc-t caption{text-align:left;font-weight:700;font-size:13px;color:#14213f;padding:0 0 5px}
.doc-t th{font-size:11.5px;font-weight:700;letter-spacing:.03em;text-align:left;color:#14213f;border-bottom:1.5px solid #14213f;padding:5px 9px;white-space:nowrap}
.doc-t td{padding:4px 9px;border-bottom:1px solid #e3e0d6;white-space:nowrap}
.doc-t td:first-child{white-space:normal;min-width:150px}
.doc-t .n{text-align:right}
.doc-t tr.tot td{font-weight:700;border-top:1.5px solid #14213f;border-bottom:1.5px solid #14213f;background:#f2efe4}
.doc-t tr.ind td:first-child{padding-left:26px}
.doc-t.kv th{width:240px;border-bottom:1px solid #e3e0d6;font-size:13px;white-space:normal;vertical-align:top}
.doc-t.kv td{white-space:normal}
.docpage.clickable tbody tr{cursor:pointer}
.docpage.clickable tbody tr:hover td,.docpage.clickable tbody tr:hover th{background:#e9f0ff}
.docpage tr.hit td,.docpage tr.hit th{background:#cfeeda!important}
.docpage tr.miss td,.docpage tr.miss th{background:#f7d3c6!important}
.doc-intro{font-family:var(--sans);font-size:13px;color:#dfe7fb;line-height:1.6;margin:8px 0}
.doc-group{margin-top:14px}
.doc-card{display:block;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;border:1px solid var(--line);border-radius:6px;background:rgba(0,0,0,.14);padding:10px 14px;margin-top:7px}
.doc-card:hover{background:rgba(255,255,255,.08)}
.doc-card.done{border-color:rgba(143,208,160,.6)}
.dc-t{display:block;font-family:var(--serif);font-size:17px;color:#fff;line-height:1.3}
.dc-m{display:block;font-family:var(--sans);font-size:11.5px;color:var(--ink-soft);margin-top:2px}
.dc-s{display:block;font-family:var(--sans);font-size:12.5px;color:#dfe7fb;margin-top:5px;line-height:1.5}
.doc-split{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}
.doc-side{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow-y:auto}
.doc-ex{border:1px solid var(--line);border-radius:6px;background:rgba(0,0,0,.16);padding:11px 13px;margin-bottom:10px}
.doc-ex.done{border-color:rgba(143,208,160,.6)}
.ex-q{font-family:var(--serif);font-size:17px;color:#fff;line-height:1.4}
.ex-hint,.ex-why,.ex-fu{font-family:var(--sans);font-size:12.5px;color:#dfe7fb;line-height:1.55;margin-top:7px}
.ex-why b{color:var(--green)}
.ex-fu{border-top:1px dashed var(--line-soft);padding-top:8px}
.ex-fu textarea,.cs-step textarea,.cs-memo{width:100%;min-height:60px;margin:6px 0;font-family:var(--sans);font-size:13.5px;color:#fff;background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:4px;padding:9px 10px;resize:vertical}
.cs-memo{min-height:240px;line-height:1.55}
.doc-take{border:1px solid rgba(143,208,160,.4);background:rgba(143,208,160,.08);border-radius:6px;padding:10px 13px}
.doc-take li{font-family:var(--sans);font-size:12.5px;color:#e7ecfb;line-height:1.55;margin-left:16px}
@media (max-width:1000px){.doc-split{grid-template-columns:1fr}.doc-side{position:static;max-height:none}}

/* cases */
.case{font-family:var(--sans)}
.case .cs-head p{font-size:13.5px;color:#dfe7fb;line-height:1.6;margin:6px 0}
.cs-sec{border-top:1px solid var(--line-soft);margin-top:14px;padding-top:8px}
.cs-sec ul{margin:5px 0 8px 20px}
.cs-sec li,.cs-sec p{font-family:var(--sans);font-size:13px;color:#dfe7fb;line-height:1.6}
.cs-step{border:1px solid var(--line);border-radius:6px;background:rgba(0,0,0,.14);padding:11px 13px;margin-top:9px}
.cs-step.ok{border-color:rgba(143,208,160,.7)}
.cs-step.no{border-color:rgba(240,145,106,.7)}
.cs-step .factform{margin-top:8px}
.cs-step .cs-in{flex:0 1 220px}
.cs-step textarea.cs-in{flex:1 1 100%}
.cs-fu{padding:9px 0;border-bottom:1px dashed var(--line-soft)}
.cs-part{font-size:12.5px;line-height:1.5;margin:4px 0}
.mt-fb{font-family:var(--sans);font-size:13px;color:#dfe7fb;line-height:1.6;white-space:pre-wrap}
.xlchk{margin:10px 0;background:#fbfaf6;border-radius:5px}
.case-card .dc-t{font-size:19px}

/* excel shortcuts: four principles */
.xl-pr .xl-list{padding:0}
.xl-pr .kbd{min-width:150px;display:inline-block}

@media (max-width:720px){
  .mockrun .sec.notick{margin:12px 10px}
  .drill-slot{margin-left:0}
  .docpage{padding:14px 12px}
  .doc-title{font-size:20px}
}

/* documents sit inside panels that color their own headings; the printed page keeps its ink */
.docpage h3.doc-title,#materials .mt-block .docpage h3.doc-title{color:#14213f;font-size:24px;margin:2px 0 10px}
.docpage a{color:#1c439f}
.mk-src a,.mk-src{font-family:var(--sans)}

/* v2.2: hedges, voice meters, charisma and storytelling grade */
mark.hedge{background:rgba(94,134,236,.55);color:#fff;border-radius:3px;padding:0 2px}
.voicefb,.charisma{border:1px solid var(--line);border-radius:6px;background:rgba(0,0,0,.14);padding:10px 13px;margin:9px 0;font-family:var(--sans);font-size:12.5px;color:#e7ecfb;line-height:1.5}
.voicefb .sk,.charisma .sk{margin-bottom:6px}
.vm{display:grid;grid-template-columns:150px 150px 1fr;gap:10px;align-items:center;padding:4px 0}
.vm-l{font-weight:600;color:#fff}
.vm-l small{display:block;font-weight:400;color:var(--ink-soft);font-size:10.5px}
.vm-bar{position:relative;height:8px;border-radius:5px;background:linear-gradient(90deg,rgba(240,145,106,.55) 0 22%,rgba(143,208,160,.6) 22% 78%,rgba(242,208,122,.55) 78% 100%)}
.vm-bar i{position:absolute;top:-4px;width:4px;height:16px;border-radius:2px;background:#fff;transform:translateX(-50%)}
.vm-r{color:#dfe7fb}
.charisma .sc{font-family:var(--roman);font-size:22px;color:var(--gold-bright);display:block;margin-bottom:2px}
.charisma.na p{color:var(--ink-soft)}
.ch-n{margin:3px 0;color:#dfe7fb}
.ch-n b{color:#fff}
.ch-q{border-left:3px solid var(--green);background:rgba(143,208,160,.08);border-radius:4px;padding:7px 10px;margin:6px 0;font-style:italic;color:#fff}
.ch-q.weak{border-left-color:var(--terra);background:rgba(240,145,106,.08)}
.ch-q span{display:block;font-style:normal;color:var(--ink-soft);font-size:12px;margin-top:3px}
.ch-rw{font-style:normal;color:#fff;margin-top:5px}
.ch-rw b{color:var(--gold-bright)}
.ch-drill{border:1px solid rgba(242,208,122,.45);border-radius:5px;padding:7px 10px;margin-top:8px}
.ch-drill b{color:var(--gold-bright)}
@media (max-width:720px){.vm{grid-template-columns:1fr;gap:3px}}
.mono-flag{border-radius:5px;padding:7px 10px;margin:2px 0 8px;line-height:1.45}
.mono-flag b{letter-spacing:.06em;margin-right:6px}
.mono-flag.high{background:rgba(240,145,106,.22);border:1px solid var(--terra)}
.mono-flag.high b{color:var(--terra)}
.mono-flag.some{background:rgba(242,208,122,.14);border:1px solid var(--gold)}
.mono-flag.some b{color:var(--gold-bright)}
.mono-flag.low{background:rgba(143,208,160,.12);border:1px solid rgba(143,208,160,.6)}
.mono-flag.low b{color:var(--green)}
.ch-flags{display:flex;flex-wrap:wrap;gap:8px}
.ch-flag{display:flex;gap:8px;align-items:center;text-align:left;font:inherit;color:#e7ecfb;background:rgba(0,0,0,.2);border:1px solid var(--line);border-radius:5px;padding:5px 8px;cursor:pointer;max-width:320px}
.ch-flag img{width:84px;border-radius:3px;flex:0 0 auto}
.ch-flag span{font-size:12px;line-height:1.4}
.ch-flag b{color:var(--gold-bright)}
.slot-video{max-width:420px}
