
:root{--upc:#3fb37a;--dnc:#e06455}   /* 등락 색 규칙: 한글판 = 오름 빨강·내림 초록, 영문판 = 오름 초록·내림 빨강 (사장님 2026-09-07) */

:root{--ink:#0a1018;--panel:#111a26;--panel2:#16222f;--line:#35577a;--gold:#c9a24a;--gold-b:#e8c777;
--text:#eef1f4;--dim:#93a3ae;--green:#3fb37a;--red:#e06455;--sans:'Noto Sans KR',sans-serif}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{height:100%}
body{background:#05080d;color:var(--text);font-family:var(--sans)}
:root{--vh:1dvh}
#app{max-width:430px;margin:0 auto;min-height:calc(100*var(--vh));background:var(--ink);position:relative}
.scene{display:none;min-height:calc(100*var(--vh));flex-direction:column;padding:14px 16px calc(20px + env(safe-area-inset-bottom))}
.scene.on{display:flex;animation:fade .3s ease}
@keyframes fade{from{opacity:0;transform:translateY(4px)}to{opacity:1}}
.grow{flex:1}
.stepno{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--dim)}
/* ── 손가락으로 누르는 범위를 넓힌다 ─────────────────────────────
   보이는 크기는 그대로 두고, 안 보이는 판만 44px 로 키운다.
   폰에서 27px 짜리 '뒤로'는 잘 안 눌린다 (애플 권장 44px). */
.back,.iskip,.lgsheet .sortt span,.lgsheet .dayrk .dper span,.sortt span{position:relative}
.back::after,.iskip::after,.lgsheet .sortt span::after,
.lgsheet .dayrk .dper span::after,.sortt span::after{
  content:'';position:absolute;left:-6px;right:-6px;top:50%;
  transform:translateY(-50%);height:44px}
.back{margin-left:auto;border:1px solid var(--line);background:transparent;color:var(--dim);border-radius:99px;padding:4px 12px;font-size:12px;cursor:pointer;font-family:var(--sans)}
.stepno b{width:22px;height:22px;border-radius:50%;background:var(--gold);color:#1a1204;display:inline-flex;align-items:center;justify-content:center;font-size:12px}
h1{font-size:21px;font-weight:900;text-align:center;margin-top:14px;line-height:1.4}
.sub{color:var(--dim);font-size:12.5px;text-align:center;margin-top:5px;line-height:1.6}
.cta{border:none;border-radius:12px;padding:14px;font-size:15px;font-weight:900;font-family:var(--sans);background:linear-gradient(180deg,var(--gold-b),var(--gold));color:#1a1204;width:100%;margin-top:10px;cursor:pointer}
.cta:disabled{opacity:.35}.ghost{background:transparent;border:1px solid var(--line);color:var(--dim);font-weight:500}
.up{color:var(--upc)}.dn{color:var(--dnc)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px;margin-top:12px}
.tip{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-top:12px;font-size:12px;color:var(--dim);line-height:1.6}
.tip b{color:var(--gold-b)}
/* 1 */
#s1{padding:0;height:calc(100*var(--vh));min-height:calc(100*var(--vh));position:relative;overflow:hidden;justify-content:flex-end}
#s1 .herowrap{position:absolute;inset:0}
#s1 img.hero{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
#s1 .fade{position:absolute;left:0;right:0;bottom:0;height:45%;background:linear-gradient(transparent,rgba(10,16,24,.85) 45%,var(--ink) 100%)}
#s1 img.logo{display:none}
#s1 .tag{display:none}
.s1note{margin-top:10px;font-size:10.5px;color:var(--dim);text-align:center;word-break:keep-all}
#s1 .pad{position:relative;padding:0 20px calc(28px + env(safe-area-inset-bottom));text-align:center;justify-content:flex-end}
#s1 .tag{font-size:16px;line-height:1.6;font-weight:500}
#s1 .tag b{color:var(--gold-b);font-weight:900}
#s1 .mini{display:flex;justify-content:center;gap:18px;margin-top:14px;font-size:12px;color:var(--dim)}
#s1 .cta{margin-top:12px}
@media (min-height:820px){#s1 .tag{font-size:17px}}
/* 2 자본 */
.capbox{text-align:center;padding:18px 12px}
.capbox .k{font-size:12px;color:var(--gold);letter-spacing:.06em}
.capbox .v{font-size:38px;font-weight:900;color:var(--gold-b);margin-top:4px}
.stepper{display:flex;align-items:center;gap:12px;margin-top:12px}
.stepper button{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--gold);background:transparent;color:var(--gold-b);font-size:20px;cursor:pointer}
.stepper input{flex:1;accent-color:var(--gold)}
.chips{display:flex;gap:6px;margin-top:12px}
.chip{flex:1;text-align:center;padding:10px 4px;border:1.5px solid var(--line);border-radius:10px;font-size:13px;font-weight:700;cursor:pointer}
.chip.on{border-color:var(--gold);color:var(--gold-b);background:rgba(201,162,74,.12)}
/* 3 목표 */
.goal{display:flex;gap:12px;align-items:center;background:var(--panel);border:1.5px solid var(--line);border-radius:12px;padding:12px;margin-top:8px;cursor:pointer}
.goal.on{border-color:var(--gold);background:rgba(201,162,74,.1)}
.goal .ic{font-size:26px;width:56px;text-align:center;flex:none}
.goal .ic img{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--gold);box-shadow:0 4px 12px rgba(0,0,0,.5)}
.goal .b b{font-size:15px;display:block}.goal .b small{font-size:11.5px;color:var(--dim)}

/* 리그 성적 (캐릭터 제안 단계) */
.lgstrip{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,rgba(201,162,74,.12),rgba(79,143,214,.08));border:1px solid var(--gold);border-radius:12px;padding:8px 12px;margin-top:12px;font-size:11.5px;line-height:1.5}
.lgstrip .live{display:inline-flex;align-items:center;gap:4px;font-size:9px;color:var(--red);font-weight:900;letter-spacing:.1em;flex:none}
.lgstrip .live i{width:6px;height:6px;border-radius:50%;background:var(--red);animation:blink 1.2s infinite}
@keyframes blink{50%{opacity:.15}}
.lgstrip b{color:var(--gold-b)}
.ch .lb .lgs{display:flex;justify-content:center;gap:5px;font-size:9.5px;color:var(--dim);margin-top:2px}
.ch .lb .lgs b{display:inline;font-size:10px}
.cc .lgrow{margin-top:8px;background:rgba(201,162,74,.06);border:1px dashed var(--line);border-radius:10px;padding:8px 10px;font-size:11px;color:var(--dim);line-height:1.6}
.cc .lgrow .h{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;font-weight:900;color:var(--text)}
.cc .lgrow .h span:last-child{font-size:10px;color:var(--gold-b);font-weight:700}
.cc .lgrow .st{display:flex;gap:10px;margin-top:3px}
.cc .lgrow .st b{color:var(--text)}
.cc .lgrow .last{margin-top:3px}
.cc .lgrow .last i{color:var(--gold-b);font-style:normal;font-weight:700}


.lgstrip .go{margin-left:auto;flex:none;border:1px solid var(--gold);color:var(--gold-b);border-radius:99px;padding:4px 10px;font-size:11px;font-weight:900;background:rgba(201,162,74,.15);cursor:pointer;white-space:nowrap}
.lgsheet .hd{display:flex;justify-content:space-between;align-items:center}
.lgsheet .hd .live{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;color:var(--red);font-weight:900;letter-spacing:.1em}
.lgsheet .hd .live i{width:6px;height:6px;border-radius:50%;background:var(--red);animation:blink 1.2s infinite}
.lgsheet .sub2{font-size:11.5px;color:var(--dim);margin-top:4px;line-height:1.5}
.lgsheet .dayrk{margin:10px 0 4px;padding:10px 11px 8px;border-radius:13px;background:var(--card);border:1px solid var(--line)}
.lgsheet .dayrk .dh{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}
.lgsheet .dayrk .dh b{font-size:12.5px;letter-spacing:-.2px}
.lgsheet .dayrk .dh small{font-size:10px;color:var(--dim);font-weight:500}
.lgsheet .dayrk .dsub{font-size:10.5px;color:var(--dim);line-height:1.5;margin-bottom:7px}
.lgsheet .dayrk .dper{display:flex;gap:5px;margin-bottom:8px;flex-wrap:wrap}
.lgsheet .dayrk .dper span{font-size:10.5px;padding:3px 9px;border-radius:20px;border:1px solid var(--line);color:var(--dim);cursor:pointer}
.lgsheet .dayrk .dper span.on{border-color:var(--gold-b);color:var(--gold-b);background:rgba(201,162,74,.1)}
.lgsheet .dayrk .dr{display:flex;align-items:center;gap:8px;padding:5px 2px;border-top:1px solid rgba(255,255,255,.045)}
.lgsheet .dayrk .dr:first-of-type{border-top:0}
.lgsheet .dayrk .dr .n{width:17px;text-align:center;font-size:11px;color:var(--dim);font-variant-numeric:tabular-nums}
.lgsheet .dayrk .dr.p1 .n{color:var(--gold-b);font-weight:700}
.lgsheet .dayrk .dr img{width:26px;height:26px;border-radius:8px;object-fit:cover;flex:0 0 auto}
.lgsheet .dayrk .dr .tg{width:26px;height:26px;border-radius:8px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;background:rgba(255,255,255,.15);border:1px solid var(--line);color:var(--dim);letter-spacing:-.4px}
.lgsheet .dayrk .dr .t{flex:1;min-width:0}
.lgsheet .dayrk .dr .t b{display:block;font-size:11.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lgsheet .dayrk .dr .t small{display:block;font-size:9.5px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lgsheet .dayrk .dr .v{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}
.lgsheet .dayrk .dr.me{background:rgba(201,162,74,.07);border-radius:8px}
.lgsheet .dayrk .luck{margin-top:7px;padding:8px 10px;border-radius:10px;background:rgba(224,100,85,.09);border:1px solid rgba(224,100,85,.3)}
.lgsheet .dayrk .luck>b{display:block;font-size:11px;color:#e8917f;margin-bottom:3px}
.lgsheet .dayrk .luck>span{display:block;font-size:10.5px;color:var(--dim);line-height:1.6}
.lgsheet .dayrk .luck>span b{color:var(--text);font-weight:600}
.lgsheet .dayrk .dr .mt{display:inline-flex;align-items:center;gap:1px;margin-left:5px;vertical-align:middle}
.lgsheet .dayrk .dr .mt img{width:13px;height:13px;border-radius:50%;object-fit:cover;border:1px solid rgba(0,0,0,.5);margin-left:-3px}
.lgsheet .dayrk .dr .mt img:first-child{margin-left:0}
.lgsheet .dayrk .dr .mt b{font-size:9px;color:var(--gold-b);margin-left:3px;font-weight:700}
.lgsheet .dayrk .dr.me2{background:rgba(201,162,74,.1);border-radius:8px}
.lgsheet .dayrk .bench{display:flex;justify-content:space-between;font-size:10.5px;color:var(--dim);padding:7px 2px 0;margin-top:3px;border-top:1px solid var(--line)}
.lgsheet .dayrk .foot{font-size:9.5px;color:var(--dim);padding-top:5px;line-height:1.5}
.lgsheet .scwhy{margin:9px 0 2px;padding:9px 11px;border-radius:11px;background:rgba(201,162,74,.08);border:1px solid rgba(201,162,74,.28)}
.lgsheet .scwhy>b{display:block;font-size:12px;color:var(--gold-b);margin-bottom:4px;letter-spacing:-.2px}
.lgsheet .scwhy>span{display:block;font-size:11px;color:var(--dim);line-height:1.6}
.lgsheet .scwhy>span b{color:var(--text);font-weight:600}
.lgsheet .scwhy>span i{color:var(--gold-b);font-style:normal}
.lgsheet .sortt{display:flex;gap:4px;margin-top:10px;font-size:10.5px;color:var(--dim);align-items:center}
.lgsheet .sortt span{padding:3px 9px;border-radius:99px;border:1px solid var(--line);cursor:pointer}
.lgsheet .sortt span.on{border-color:var(--gold);color:var(--gold-b);background:rgba(201,162,74,.12)}
.lgsheet .brow{display:flex;align-items:center;gap:8px;background:var(--panel);border:1.5px solid var(--line);border-radius:12px;padding:8px 10px;margin-top:6px}
.lgsheet .brow.mine{border-color:var(--gold)}
.lgsheet .brow .rk{width:16px;font-size:13px;font-weight:900;color:var(--dim);text-align:center}
.lgsheet .brow .rk.top{color:var(--gold-b)}
.lgsheet .brow img{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid var(--line);flex:none}
.lgsheet .brow.mine img{border-color:var(--gold)}
.lgsheet .brow .b{flex:1;min-width:0}
.lgsheet .brow .b b{font-size:13px;display:flex;align-items:center;gap:5px}
.lgsheet .brow .b b .ty{font-size:9px;font-weight:700;border-radius:99px;padding:1px 6px;background:var(--panel2);color:var(--dim);border:1px solid var(--line)}
.lgsheet .brow .b b .me{font-size:9px;font-weight:900;background:var(--gold);color:#1a1204;border-radius:99px;padding:1px 6px}
.lgsheet .brow .b .st{font-size:10px;color:var(--dim);margin-top:2px;white-space:nowrap}
.lgsheet .brow .b .st b{color:var(--text);display:inline}
.lgsheet .brow .r{text-align:right;flex:none}
.lgsheet .brow .r b{font-size:15px;font-weight:900;display:block}
.lgsheet .brow .r small{font-size:9.5px;color:var(--dim)}
.lgsheet .lgchart{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:8px;margin-top:10px}
.lgsheet .lgchart canvas{width:100%;height:auto;display:block}
.lgsheet .lgd{display:flex;gap:8px;font-size:10px;color:var(--dim);padding:4px 2px 0;flex-wrap:wrap}
.lgsheet .lgd i{display:inline-block;width:10px;height:3px;border-radius:2px;margin-right:3px;vertical-align:middle}
.lgsheet .h2{font-size:13px;font-weight:900;margin-top:14px;display:flex;justify-content:space-between;align-items:center}
.lgsheet .h2 small{font-size:10.5px;color:var(--dim);font-weight:500}
.lgsheet .fi{display:flex;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px;margin-top:6px}
.lgsheet .fi img{width:28px;height:28px;border-radius:50%;object-fit:cover;flex:none;border:2px solid var(--line)}
.lgsheet .fi .b{flex:1;min-width:0}
.lgsheet .fi .l1{display:flex;align-items:center;gap:5px;font-size:12px}
.lgsheet .fi .l1 b{font-weight:900}
.lgsheet .fi .l1 .act{font-size:9px;font-weight:900;border-radius:99px;padding:1px 6px}
.lgsheet .fi .l1 .tm{margin-left:auto;font-size:9.5px;color:var(--dim)}
.act.buy{background:rgba(63,179,122,.15);color:var(--green);border:1px solid rgba(63,179,122,.4)}
.act.sell{background:rgba(224,100,85,.15);color:var(--red);border:1px solid rgba(224,100,85,.4)}
.act.hold{background:rgba(147,163,174,.12);color:var(--dim);border:1px solid var(--line)}
.lgsheet .fi .l2{font-size:11px;color:var(--dim);margin-top:2px;line-height:1.5}
.lgsheet .fi .l3{font-size:9.5px;color:var(--dim);margin-top:3px}
.lgsheet .fi .l3 i{display:inline-block;width:36px;height:4px;border-radius:2px;background:var(--panel2);position:relative;vertical-align:middle;overflow:hidden;margin:0 3px}
.lgsheet .fi .l3 i::after{content:'';position:absolute;left:0;top:0;bottom:0;width:var(--w);background:var(--gold)}
.lgsheet .mom{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px;margin-top:6px;font-size:11px;color:var(--dim);line-height:1.55}
.lgsheet .mom .t{font-size:12.5px;font-weight:900;color:var(--text)}
.lgsheet .mom .cols{display:flex;gap:5px;margin-top:6px}
.lgsheet .mom .col{flex:1;background:var(--panel2);border-radius:8px;padding:6px;font-size:10px;line-height:1.4;border-top:3px solid}
.lgsheet .mom .col b{display:block;font-size:10.5px;color:var(--text)}
.lgsheet .mom .col .res{margin-top:3px;font-weight:900}
.lgsheet .mom .verdict{margin-top:8px;border-top:1px dashed var(--line);padding-top:6px}
.lgsheet .mom .verdict b{color:var(--gold-b)}
.lgsheet .disc{font-size:9.5px;color:var(--dim);text-align:center;margin-top:12px;line-height:1.5}

/* 스크롤바 숨김 */
html,body,#app,.scene,.sheet,.ov,div{scrollbar-width:none;-ms-overflow-style:none}
html::-webkit-scrollbar,body::-webkit-scrollbar,#app::-webkit-scrollbar,.scene::-webkit-scrollbar,.sheet::-webkit-scrollbar,div::-webkit-scrollbar{display:none;width:0;height:0}

/* v4: 리그 단계 · 미리보기 */
.ch .rec.r2{background:#3fb37a;color:#04150c}.ch .rec.r3{background:#4f8fd6;color:#04101a}.ch .rec.r4{background:var(--panel2);color:var(--dim);border:1px solid var(--line)}
.whyrec{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-top:10px;font-size:11.5px;color:var(--dim);line-height:1.6}
.whyrec .r{display:flex;gap:8px;align-items:flex-start;padding:4px 0}
.whyrec .r img{width:26px;height:26px;border-radius:50%;object-fit:cover;border:1.5px solid var(--gold);flex:none;margin-top:2px}
.whyrec .r b{color:var(--text)}
.whyrec .r .role{font-size:9px;font-weight:900;border-radius:99px;padding:1px 6px;margin-right:4px;color:#1a1204;background:var(--gold)}
.whyrec .r .role.r2{background:#3fb37a;color:#04150c}.whyrec .r .role.r3{background:#4f8fd6;color:#04101a}.whyrec .r .role.r4{background:var(--panel2);color:var(--dim);border:1px solid var(--line)}
.lgcond{display:flex;gap:6px;margin-top:10px}
.lgcond>div{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px;text-align:center}
.lgcond .k{font-size:9.5px;color:var(--dim)}.lgcond .v{font-size:12.5px;font-weight:900;margin-top:2px;color:var(--gold-b)}
.lgtog{display:flex;gap:4px;background:var(--panel);border:1px solid var(--line);border-radius:99px;padding:3px;width:fit-content;margin:10px auto 0}
.lgtog span{font-size:11px;padding:4px 12px;border-radius:99px;cursor:pointer;color:var(--dim)}
.lgtog span.on{background:var(--gold);color:#1a1204;font-weight:900}
.lb{margin-top:8px}
.lbr{display:flex;align-items:center;gap:8px;background:var(--panel);border:1.5px solid var(--line);border-radius:12px;padding:8px 10px;margin-top:6px}
.lbr.cand{border-color:rgba(201,162,74,.6)}
.lbr.me{border-color:var(--gold);background:rgba(201,162,74,.12);box-shadow:0 0 0 2px rgba(201,162,74,.25)}
.lbr.out{opacity:.5;border-style:dashed}
.lbr .rk{width:18px;font-size:14px;font-weight:900;color:var(--dim);text-align:center}
.lbr .rk.top{color:var(--gold-b)}
.lbr img{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid var(--line);flex:none}
.lbr.me img{border-color:var(--gold)}
/* ── 내 아바타 ────────────────────────────────────────────────
   사진은 이 기기 밖으로 나가지 않는다. 서버도 계정도 없으니
   localStorage 에만 넣는다 — 256px 로 줄여서 30KB 안팎. */
.lbr .mev.hasimg,.mev.hasimg{background:none;padding:0;overflow:hidden}
.mev.hasimg img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
/* ── 계정 ─────────────────────────────────────────────────────── */
.acbox{margin:2px 0 12px;padding:11px 12px;border-radius:12px;
  background:var(--panel2);border:1px solid var(--line)}
.acbox .who{display:flex;align-items:center;gap:10px}
.acbox .who .ph{width:34px;height:34px;border-radius:50%;flex:0 0 auto;overflow:hidden;
  background:linear-gradient(135deg,var(--gold-b),var(--gold));display:flex;
  align-items:center;justify-content:center;font-size:14px}
.acbox .who .ph img{width:100%;height:100%;object-fit:cover;display:block}
.acbox .who .t{flex:1;min-width:0}
.acbox .who .t b{display:block;font-size:12.5px}
.acbox .who .t small{display:block;font-size:10.5px;color:var(--dim);margin-top:1px}
.acbox .gbtn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
  padding:11px;border-radius:11px;border:1px solid var(--line);background:#fff;color:#1f1f1f;
  font-size:13px;font-weight:700;cursor:pointer;font-family:var(--sans)}
.acbox .gbtn:disabled{opacity:.55}
/* 이메일 로그인 (2026-08-30 사장님 지시) — 있는 부품만 쓴다 */
.acbox .fld{display:block;width:100%;margin-top:7px;padding:11px 12px;border-radius:11px;
  border:1px solid var(--line);background:var(--panel);color:var(--text);
  font-family:var(--sans);font-size:13px;box-sizing:border-box}
.acbox .fld:focus{outline:0;border-color:var(--gold-b)}
.acbox .flab{font-size:10.5px;color:var(--dim);margin-top:9px}
.acbox .ahd{font-size:13.5px;font-weight:800;margin-bottom:2px}
.acbox .arule{font-size:10.5px;color:var(--dim);margin-top:7px;line-height:1.5}
.acbox .asep{height:1px;background:var(--line);margin:13px 0 11px}
.acbox .aswap{font-size:11px;color:var(--dim);text-align:center;margin-top:10px;cursor:pointer}
.acbox .aswap b{color:var(--gold-b)}
.acbox .lnk{background:none;border:0;color:var(--dim);font-size:10.5px;cursor:pointer;
  padding:4px 0;font-family:var(--sans);text-decoration:underline}
/* 로그인보다 '지금 리그 상태'가 먼저 보여야 한다 */
/* 내 순위 — 격려 */
.lgenc{display:flex;gap:11px;align-items:flex-start;margin-top:10px;padding:12px;border-radius:14px;
  background:var(--panel);border:1.5px solid var(--line)}
.lgenc.top{border-color:rgba(201,162,74,.55);background:rgba(201,162,74,.08)}
.lgenc.mid{border-color:rgba(79,143,214,.45);background:rgba(79,143,214,.07)}
.lgenc.low{border-color:rgba(63,179,122,.45);background:rgba(63,179,122,.07)}
.lgenc .rkbig{flex:0 0 auto;text-align:center;min-width:54px}
.lgenc .rkbig b{display:block;font-size:30px;font-weight:900;line-height:1;font-variant-numeric:tabular-nums}
.lgenc.top .rkbig b{color:var(--gold-b)}
.lgenc.mid .rkbig b{color:#7fb0e8}
.lgenc.low .rkbig b{color:var(--green)}
.lgenc .rkbig small{display:block;font-size:9.5px;color:var(--dim);margin-top:3px}
.lgenc .tx{flex:1;min-width:0}
.lgenc .tx p{margin:0;font-size:12px;line-height:1.6}
.lgenc .tx p.near{margin-top:6px;font-size:10.5px;color:var(--dim)}
.lgenc .tx b{font-weight:900}
/* 위쪽의 공통점 */
.lgcom .chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.lgcom .chips span{font-size:10.5px;border:1px solid var(--line);border-radius:99px;padding:4px 9px;color:var(--dim)}
.lgcom .chips span.on{border-color:rgba(63,179,122,.55);color:var(--green)}
.lgcom .chips span b{color:var(--text);font-weight:900;margin-right:3px}
.lgcom .chips span.on b{color:var(--green)}
.lgcom .chips span i{font-style:normal;font-size:9px;opacity:.75;margin-left:3px}
.lgcom .note{margin-top:9px;font-size:10.5px;color:var(--dim);line-height:1.65}
.lgcom .note b{color:#cfd6de}
.lgfirst{width:100%;margin-top:10px;border-radius:10px;padding:10px 0;font-size:11.5px;font-weight:900;cursor:pointer;
  background:rgba(201,162,74,.14);color:var(--gold-b);border:1px solid rgba(201,162,74,.5)}
.lgcom .none{margin-top:8px;font-size:12.5px;font-weight:900}
.lgcom .none b{color:var(--gold-b)}
.acbox .lgstat{display:flex;align-items:center;gap:9px;padding:10px 11px;border-radius:11px;
  background:rgba(255,255,255,.04);border:1px solid var(--line)}
.acbox .lgstat.on{background:rgba(201,162,74,.1);border-color:rgba(201,162,74,.45)}
.acbox .lgstat .ic{font-size:19px;flex:0 0 auto}
.acbox .lgstat .t{flex:1;min-width:0}
.acbox .lgstat .t b{display:block;font-size:12.5px;font-weight:900}
.acbox .lgstat.on .t b{color:var(--gold-b)}
.acbox .lgstat .t small{display:block;font-size:10px;color:var(--dim);margin-top:2px}
.acbox .lgstat .go{flex:0 0 auto;background:none;border:1px solid rgba(201,162,74,.5);color:var(--gold-b);
  border-radius:99px;padding:5px 10px;font-size:10.5px;font-weight:800;cursor:pointer}
.acbox .acmore{margin-top:11px;padding-top:11px;border-top:1px solid rgba(255,255,255,.24)}
.acbox .acmore>.t{font-size:10.5px;font-weight:800;color:var(--dim);margin-bottom:7px}
.acbox .amsg{font-size:10.5px;line-height:1.55;color:var(--dim);margin-top:8px}
.acbox .amsg.bad{color:#e8917f}
.acbox .amsg.ok{color:var(--gold-b)}
.agechk{display:flex;gap:9px;align-items:flex-start;margin-top:10px;cursor:pointer}
.agechk input{width:18px;height:18px;flex:0 0 auto;margin-top:1px;accent-color:var(--gold-b)}
.agechk span{font-size:11.5px;line-height:1.55}
.agechk span a{color:var(--gold-b)}
.avnote a{color:var(--gold-b)}
.acwarn{margin-top:9px;padding:8px 10px;border-radius:9px;font-size:10.5px;line-height:1.6;
  background:rgba(224,100,85,.09);border:1px solid rgba(224,100,85,.28);color:var(--dim)}
.avpick{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:10px}
.avpick .av{position:relative;aspect-ratio:1;border-radius:50%;overflow:hidden;
  border:2px solid transparent;cursor:pointer;background:var(--panel2)}
.avpick .av.on{border-color:var(--gold-b);box-shadow:0 0 0 3px rgba(201,162,74,.22)}
.avpick .av img{width:100%;height:100%;object-fit:cover;display:block}
.avpick .av .nm{position:absolute;left:0;right:0;bottom:0;font-size:8px;text-align:center;
  padding:2px 0 1px;background:rgba(0,0,0,.55);color:#fff;font-weight:700}
.avphoto{display:flex;align-items:center;gap:10px;margin-top:12px;padding:11px 12px;
  border-radius:12px;border:1px dashed var(--line);background:var(--panel2);cursor:pointer}
.avphoto .ic{font-size:20px}
.avphoto b{display:block;font-size:12.5px}
.avphoto small{display:block;font-size:10.5px;color:var(--dim);line-height:1.5;margin-top:2px}
.avnote{font-size:10px;color:var(--dim);line-height:1.55;margin-top:9px;
  padding-top:8px;border-top:1px solid var(--line)}
.avcur{display:flex;align-items:center;gap:11px;margin-top:4px}
.avcur .big{width:56px;height:56px;border-radius:50%;overflow:hidden;flex:0 0 auto;
  background:linear-gradient(135deg,var(--gold-b),var(--gold));display:flex;
  align-items:center;justify-content:center;font-size:14px;font-weight:900;color:#1a1206}
.avcur .big img{width:100%;height:100%;object-fit:cover;display:block}
.avcur input.nick{flex:1;min-width:0;background:var(--panel2);border:1px solid var(--line);
  border-radius:10px;padding:9px 11px;color:var(--text);font-size:13px;font-family:var(--sans)}
/* ── 내 캐릭터 · 리그 참가 카드 (홈 맨 위) ─────────────────────────
   전에는 오른쪽 위 30px 동그라미가 유일한 입구였다. 아무도 못 찾는다. */
/* ── 캐릭터 고르기 ─────────────────────────────────────────────
   작은 동그라미로는 얼굴이 안 보인다. 크게 놓고, 고른 것만 살아나게. */
/* ── 종목 쇼핑 ─────────────────────────────────────────────────
   분류는 전부 "사실"이다. 우리가 좋다고 고른 게 아니라 섹터·성격일 뿐.
   화면에 그렇게 적어 둔다 — 추천으로 읽히면 안 된다. */
/* ── AI 멘토 해설 ──────────────────────────────────────────────
   "좋다/나쁘다"를 말하지 않는다. "누구 규칙에 맞나"를 말한다.
   그래야 추천이 아니라 교육이 되고, 캐릭터가 있어야 할 이유도 생긴다. */
/* 투자 유형을 글이 아니라 눈으로 — 공격/방어 별 */
.mcard .ty{display:inline-block;font-size:10px;font-weight:900;padding:3px 9px;border-radius:99px;
  background:rgba(201,162,74,.16);color:var(--gold-b);border:1px solid rgba(201,162,74,.32);
  margin-bottom:4px;letter-spacing:-.2px}
.mcard .stars{display:flex;gap:9px;margin-top:6px}
.mcard .stars b{display:flex;align-items:center;gap:3px;font-size:10px;color:var(--dim);font-weight:700}
.mcard .stars i{font-style:normal;letter-spacing:-1px;font-size:11px}
.mcard .stars .atk i{color:#e06455}
.mcard .stars .dfn i{color:#3fb37a}
.mcard .stars .off{opacity:.22;filter:grayscale(1)}
.mcards{margin-top:14px}
.mcard{border-radius:16px;background:var(--panel);border:1px solid var(--line);
  padding:13px 14px;margin-top:10px;animation:mcIn .34s cubic-bezier(.34,1.2,.64,1) backwards}
@keyframes mcIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.mcard .hd{display:flex;align-items:center;gap:10px}
.mcard .hd img{width:40px;height:40px;border-radius:12px;object-fit:cover;flex:0 0 auto;
  border:1.5px solid var(--line)}
.mcard .hd .t{flex:1;min-width:0}
.mcard .hd .t b{display:block;font-size:13.5px}
.mcard .hd .t small{display:block;font-size:10.5px;color:var(--dim);margin-top:2px}
.mcard .hd .rec{text-align:right;flex:0 0 auto;font-size:10px;color:var(--dim);line-height:1.45}
.mcard .hd .rec b{display:block;font-size:12.5px;color:var(--gold-b);font-variant-numeric:tabular-nums}
.mcard .say{font-size:12.5px;line-height:1.7;margin-top:10px;color:#d6e0ec}
.mcard .say b{color:var(--text)}
.mcard .fitrow{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}
.mcard .fit{font-size:10.5px;font-weight:800;padding:4px 9px;border-radius:99px;
  border:1px solid var(--line);color:var(--dim)}
.mcard .fit.y{border-color:rgba(63,179,122,.5);color:#6fd6a0;background:rgba(63,179,122,.1)}
.mcard .fit.n{border-color:rgba(224,100,85,.4);color:#e8917f;background:rgba(224,100,85,.08)}
.mcard .warn{margin-top:9px;padding:8px 10px;border-radius:9px;font-size:11px;line-height:1.6;
  background:rgba(224,100,85,.09);border:1px solid rgba(224,100,85,.26);color:#e8b0a4}
/* 종합 */
.msum{margin-top:16px;border-radius:16px;padding:14px;border:1px solid rgba(201,162,74,.4);
  background:rgba(201,162,74,.07)}
.msum .h{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:900}
.msum .h img{width:30px;height:30px;border-radius:50%;object-fit:cover}
.mgauge{display:flex;align-items:center;gap:10px;margin-top:11px}
.mgauge .lab{font-size:10.5px;color:var(--dim);width:52px;flex:0 0 auto}
.mgauge .bar{flex:1;height:9px;border-radius:99px;background:var(--panel2);overflow:hidden;position:relative}
.mgauge .bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--gold),var(--gold-b))}
.mgauge .bar .tgt{position:absolute;top:-3px;width:2px;height:15px;background:#e8eef6;opacity:.85}
.mgauge .v{font-size:12px;font-weight:800;width:58px;text-align:right;flex:0 0 auto;
  font-variant-numeric:tabular-nums}
.mgap{margin-top:11px;font-size:12px;line-height:1.7}
.mgap .role{display:inline-block;font-size:11px;font-weight:800;padding:3px 9px;border-radius:99px;
  background:rgba(201,162,74,.16);color:var(--gold-b);border:1px solid rgba(201,162,74,.3);margin:0 3px}
.mfill{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.mfill span{font-size:11px;font-weight:800;padding:6px 11px;border-radius:10px;cursor:pointer;
  background:var(--panel2);border:1px solid var(--line);color:var(--text)}
.mfill span.on{border-color:var(--gold-b);background:rgba(201,162,74,.14);color:var(--gold-b)}
.mnote{font-size:10px;color:var(--dim);line-height:1.6;margin-top:12px;
  padding-top:9px;border-top:1px solid var(--line)}
.shopcats{display:flex;gap:6px;overflow-x:auto;padding:2px 0 4px;margin:0 -16px;
  padding-left:16px;padding-right:16px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.shopcats::-webkit-scrollbar{display:none}
.shopcats span{flex:0 0 auto;font-size:12px;font-weight:700;padding:8px 14px;border-radius:99px;
  border:1px solid var(--line);color:var(--dim);cursor:pointer;white-space:nowrap;position:relative}
.shopcats span::after{content:'';position:absolute;inset:-6px}
.shopcats span.on{border-color:var(--gold-b);color:var(--gold-b);background:rgba(201,162,74,.12)}
.shopwhy{font-size:10.5px;color:var(--dim);line-height:1.5;margin:8px 0 2px}
.srow{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:14px;
  background:var(--panel);border:1px solid var(--line);margin-top:8px;cursor:pointer;
  transition:border-color .16s,transform .12s}
.srow:active{transform:scale(.985)}
.srow.on{border-color:var(--gold-b);background:rgba(201,162,74,.07)}
.srow .tk{width:56px;flex:0 0 auto;font-size:13px;font-weight:900;letter-spacing:-.4px}
.srow .nm{flex:1;min-width:0}
.srow .nm b{display:block;font-size:12.5px;font-weight:600;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis}
.srow .nm small{display:block;font-size:10px;color:var(--dim);margin-top:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.srow .px{text-align:right;flex:0 0 auto}
.srow .px b{display:block;font-size:13px;font-variant-numeric:tabular-nums}
.srow .px small{display:block;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}
.srow .add{width:28px;height:28px;flex:0 0 auto;border-radius:50%;border:1.5px solid var(--line);
  display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--dim);font-weight:700}
.srow.on .add{border-color:var(--gold-b);background:var(--gold-b);color:#1a1206}
/* 아래 붙어 있는 장바구니 */
.cartbar{position:sticky;bottom:0;z-index:5;margin:14px -16px 0;padding:11px 16px
  calc(11px + env(safe-area-inset-bottom));background:rgba(11,15,20,.94);
  backdrop-filter:blur(10px);border-top:1px solid var(--line)}
.cartbar .row{display:flex;align-items:center;gap:10px}
.cartbar .chips{flex:1;min-width:0;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.cartbar .chips::-webkit-scrollbar{display:none}
.cartbar .chips i{flex:0 0 auto;font-size:10.5px;font-weight:800;font-style:normal;
  padding:5px 9px;border-radius:99px;background:rgba(201,162,74,.16);color:var(--gold-b);
  border:1px solid rgba(201,162,74,.3);cursor:pointer;animation:chipIn .22s cubic-bezier(.34,1.4,.64,1)}
@keyframes chipIn{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}
.cartbar .empty{flex:1;font-size:11.5px;color:var(--dim)}
.cartbar .cta{margin:0;flex:0 0 auto;width:auto;padding:11px 20px;font-size:13.5px}
.cartbar .cta:disabled{opacity:.4}
/* 얼굴은 한 줄에 둘 — 표정이 보여야 고를 마음이 생긴다 (사장님 지시 2026-08-22) */
.pgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px}
.pcard{position:relative;aspect-ratio:1;border-radius:16px;overflow:hidden;cursor:pointer;
  background:var(--panel2);border:2px solid transparent;transition:transform .18s,border-color .18s;
  filter:saturate(.72) brightness(.78)}
.pcard img{width:100%;height:100%;object-fit:cover;display:block}
.pcard.on{border-color:var(--gold-b);filter:none;transform:translateY(-3px);
  box-shadow:0 8px 20px rgba(0,0,0,.45),0 0 0 4px rgba(201,162,74,.16)}
.pcard.on::after{content:'✓';position:absolute;right:8px;top:8px;width:27px;height:27px;
  border-radius:50%;background:var(--gold-b);color:#1a1206;font-size:16px;font-weight:900;
  display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.4)}
.pcard:active{transform:scale(.96)}
/* 고른 사람을 크게 보여주는 자리 */
.pbig{display:flex;align-items:center;gap:14px;margin-top:16px;padding:13px 14px;
  border-radius:16px;background:var(--panel);border:1px solid var(--line);
  animation:pbIn .3s cubic-bezier(.34,1.3,.64,1)}
@keyframes pbIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.pbig .fc{width:64px;height:64px;border-radius:18px;overflow:hidden;flex:0 0 auto;
  box-shadow:0 4px 14px rgba(0,0,0,.4)}
.pbig .fc img{width:100%;height:100%;object-fit:cover;display:block}
.pbig .in{flex:1;min-width:0}
.pbig .in label{display:block;font-size:10.5px;color:var(--dim);margin-bottom:5px;letter-spacing:.02em}
.pbig input{width:100%;background:var(--panel2);border:1px solid var(--line);border-radius:11px;
  padding:11px 12px;color:var(--text);font-size:15px;font-family:var(--sans);font-weight:600}
.pbig input:focus{outline:none;border-color:var(--gold-b)}
/* ── 86 장면 중심 스토리 (2026-09-04) ── 입장 전 · 학년 장면 · 답 카드 · 3/8학년 칸 */
#s1p .pcover{position:relative;min-height:300px;margin-top:12px;overflow:hidden;border:1px solid rgba(232,199,119,.56);border-radius:22px;background:linear-gradient(90deg,rgba(6,10,16,.92),rgba(6,10,16,.38) 54%,rgba(6,10,16,.72)),url(img/in_desk.jpg) center/cover}
#s1p .pcover::before{content:'';position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 70% 28%,rgba(232,199,119,.28),transparent 24%),linear-gradient(0deg,rgba(5,9,14,.94),transparent 42%)}
#s1p .pcover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;opacity:.94}
#s1p .pcover .idle{position:absolute;inset:0;display:grid;place-items:center;font-size:64px;opacity:.5}
#s1p .pcover .cp{position:absolute;z-index:3;left:16px;right:16px;bottom:16px;text-align:left}
#s1p .pcover .chip{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border-radius:999px;border:1px solid rgba(232,199,119,.58);background:rgba(8,13,19,.78);color:#e8c777;font-size:11.5px;font-weight:950}
#s1p .pcover strong{display:block;margin-top:10px;max-width:220px;font-size:24px;line-height:1.1;font-weight:1000;color:#f5f9ff;word-break:keep-all}
#s1p .pcover p{margin:8px 0 0;max-width:230px;color:#dce6ef;font-size:12.5px;line-height:1.38;font-weight:780;word-break:keep-all}
#s1p .pgrid{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;align-items:center;justify-items:center;margin-top:10px;padding:7px 6px;border:1px solid rgba(80,120,160,.48);border-radius:16px;background:rgba(8,14,22,.78)}
#s1p .pcard{width:38px;height:38px;aspect-ratio:auto;justify-self:center;border-radius:50%;border:2px solid rgba(238,241,244,.18);filter:saturate(.8) brightness(.85)}
#s1p .pcard img{width:100%;height:100%}
#s1p .pcard.on{border-color:#e8c777;filter:none;transform:none;box-shadow:0 0 0 3px rgba(232,199,119,.18)}
#s1p .pcard.on::after{display:none}
#s1p .pbig{margin-top:10px;padding:10px 12px}
#s1p .pbig .fc{width:46px;height:46px;border-radius:14px}
#s1p .pages{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}
#s1p .page{min-height:82px;padding:12px;border-radius:16px;border:1px solid rgba(83,132,184,.52);background:rgba(12,20,30,.86);color:#eef1f4;text-align:left;cursor:pointer;font-family:var(--sans)}
#s1p .page b{display:block;font-size:18px;line-height:1.1;font-weight:1000;margin-bottom:6px}
#s1p .page span{display:block;color:#9aa9b4;font-size:11px;line-height:1.32;font-weight:850;word-break:keep-all}
#s1p .page.on{border-color:#e8c777;background:rgba(48,39,20,.88)}
#sA1 .acstory{position:absolute;inset:0;z-index:31;display:flex;flex-direction:column;gap:10px;padding:14px 14px 12px;overflow:auto;background:linear-gradient(rgba(5,10,17,.8),rgba(5,10,17,.96)),url(img/in_nyse-96a50b92.jpg) center/cover}
#sA1 .acstory .stbar{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:8px;flex:none}
#sA1 .acstory .stnav{width:38px;height:38px;border-radius:50%;border:1px solid rgba(238,241,244,.2);background:rgba(238,241,244,.08);color:#eef1f4;display:grid;place-items:center;font-size:20px;font-weight:1000;cursor:pointer}
#sA1 .acstory .stk{text-align:center;color:#9aa9b4;font-size:11.5px;font-weight:850;line-height:1.25}
#sA1 .acstory .stk b{display:block;color:#e8c777;font-size:14px}
#sA1 .acstory .start{position:relative;flex:1 1 auto;min-height:440px;overflow:hidden;border-radius:22px;border:1px solid rgba(232,199,119,.55);background-position:center;background-size:cover;box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 22px 50px rgba(0,0,0,.34)}
#sA1 .acstory .start::before{content:'';position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 70% 22%,rgba(232,199,119,.34),transparent 21%),radial-gradient(circle at 26% 64%,rgba(105,168,248,.18),transparent 28%),linear-gradient(0deg,rgba(5,9,15,.96) 0%,rgba(5,9,15,.55) 32%,transparent 68%)}
#sA1 .acstory .person{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center top;opacity:.92}
#sA1 .acstory .badge{position:absolute;z-index:4;top:12px;left:12px;display:flex;align-items:center;gap:7px;min-height:32px;padding:5px 10px 5px 6px;border-radius:999px;border:1px solid rgba(105,168,248,.62);background:rgba(8,14,22,.82);color:#d8ebff;font-size:11.5px;font-weight:950}
#sA1 .acstory .badge img{width:22px;height:22px;border-radius:50%;object-fit:cover;border:1px solid rgba(232,199,119,.7)}
#sA1 .acstory .card{position:absolute;z-index:4;left:12px;right:12px;bottom:12px;padding:14px;border-radius:18px;border:1px solid rgba(238,241,244,.18);background:rgba(7,12,19,.86);backdrop-filter:blur(12px);text-align:left}
#sA1 .acstory .card .chip{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border-radius:999px;border:1px solid rgba(232,199,119,.58);background:rgba(8,13,19,.78);color:#e8c777;font-size:11.5px;font-weight:950;margin-bottom:8px}
#sA1 .acstory .card p{margin:0;color:#dce6ef;font-size:15px;line-height:1.43;font-weight:790;word-break:keep-all}
#sA1 .acstory .q{margin-top:11px;min-height:52px;display:flex;align-items:center;padding:11px 13px;border-radius:15px;background:linear-gradient(180deg,#f5dc8d,#dfb75b);color:#101923;font-size:19px;line-height:1.15;font-weight:1000;word-break:keep-all}
#sA1 .acstory .cta{flex:none;margin-top:auto}
#sA1 .acstory .stfoot{flex:none;text-align:center;color:#99a7b8;font-size:10.5px;font-weight:760}
#sA1 .rwd-ans{margin:0 0 12px;text-align:left}
#sA1 .rwd-ans .aq{position:relative;min-height:150px;overflow:hidden;border-radius:18px;border:1px solid rgba(83,132,184,.58);background:linear-gradient(90deg,rgba(8,14,22,.86),rgba(8,14,22,.28) 48%,rgba(8,14,22,.82)),url(img/in_chart.jpg) center/cover}
#sA1 .rwd-ans .aq img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 12%;opacity:.55}
#sA1 .rwd-ans .aq::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 67% 28%,rgba(88,200,137,.22),transparent 26%),linear-gradient(0deg,rgba(5,9,15,.92),transparent 48%)}
#sA1 .rwd-ans .aq small{position:absolute;left:14px;top:12px;color:#9aa9b4;font-size:10.5px;font-weight:900}
#sA1 .rwd-ans .aq strong{position:absolute;left:14px;right:60px;bottom:14px;color:#f5f9ff;font-size:22px;line-height:1.1;font-weight:1000;word-break:keep-all}
#sA1 .rwd-ans .ab{margin-top:9px;border:1px solid rgba(88,200,137,.58);border-radius:16px;background:rgba(10,29,26,.84);padding:13px 14px}
#sA1 .rwd-ans .ab span{display:block;color:#58c889;font-size:11.5px;font-weight:1000;margin-bottom:6px}
#sA1 .rwd-ans .ab p{margin:0;color:#e7fff1;font-size:16px;line-height:1.32;font-weight:950;word-break:keep-all}
#sA1 .g3cmp{margin-top:12px;border:1px solid rgba(83,132,184,.48);border-radius:16px;background:rgba(11,18,27,.86);overflow:hidden;text-align:left}
#sA1 .g3cmp .h{min-height:38px;padding:9px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:rgba(22,35,50,.92);border-bottom:1px solid rgba(83,132,184,.32);font-size:13px;font-weight:1000;color:#eef1f4}
#sA1 .g3cmp .h span{color:#e8c777;font-size:11px;font-weight:950}
#sA1 .g3cmp .b{padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
#sA1 .g3cmp .sw{min-height:78px;border:1px solid rgba(238,241,244,.14);border-radius:13px;padding:9px;background:rgba(7,12,18,.64)}
#sA1 .g3cmp .sw.red{border-color:rgba(239,106,97,.52);background:rgba(44,17,19,.62)}
#sA1 .g3cmp .sw.blu{border-color:rgba(91,160,232,.55);background:rgba(14,28,44,.66)}
#sA1 .g3cmp .b:has(.sw.blu){grid-template-columns:1fr 1fr 1fr}#sA1 .g3cmp .sw.grn{border-color:rgba(88,200,137,.58);background:rgba(12,35,28,.64)}
#sA1 .g3cmp .sw strong{display:block;color:#eef1f4;font-size:12.5px;line-height:1.15;font-weight:1000;word-break:keep-all}
#sA1 .g3cmp .sw em{display:block;margin-top:2px;color:#9aa9b4;font-size:10px;font-style:normal;font-weight:900}
#sA1 .g3cmp .sw b{display:block;margin-top:7px;color:#e8c777;font-size:15px;font-weight:1000;font-variant-numeric:tabular-nums}
#sA1 .g3cmp .sw small{display:block;margin-top:3px;color:#c5d1dc;font-size:10px;font-weight:800}
#sA1 .g3cmp .n{padding:0 12px 10px;color:#9aa9b4;font-size:10.5px;font-weight:800;word-break:keep-all}
#sA1 .g8-loan{margin-top:10px;border:1px solid rgba(83,132,184,.48);border-radius:16px;background:rgba(11,18,27,.86);overflow:hidden;text-align:left}
#sA1 .g8-loan .h{padding:9px 12px;background:rgba(22,35,50,.92);border-bottom:1px solid rgba(83,132,184,.32)}
#sA1 .g8-loan .h b{display:block;color:#eef1f4;font-size:13px;font-weight:1000}#sA1 .g8-loan .h span{display:block;margin-top:2px;color:#e8c777;font-size:10.5px;font-weight:900}
#sA1 .g8-loan .rt{display:grid;grid-template-columns:52px 1fr 84px;align-items:center;gap:8px;margin:8px 10px 0;padding:6px 10px;border-radius:999px;border:1px solid rgba(83,132,184,.4);background:rgba(7,12,18,.68);color:#dce7f0;font-size:11px;font-weight:900}
#sA1 .g8-loan .rt b{color:#58c889;font-size:13px}#sA1 .g8-loan .rt em{color:#e8c777;font-style:normal;text-align:right;font-size:12px;font-weight:1000}
#sA1 .g8-loan .f{padding:8px 12px 10px;color:#9aa9b4;font-size:10px;font-weight:800}
#paidBand[hidden]{display:none!important}
#sA1 .g10m{display:grid;gap:9px;text-align:left}
#sA1 .g10m .ms{border:1px solid rgba(83,132,184,.5);border-radius:16px;background:rgba(10,17,25,.86);padding:12px 12px 10px;display:grid;grid-template-columns:30px 1fr;gap:9px}
#sA1 .g10m .ms .n{width:30px;height:30px;border-radius:50%;background:#e8c777;color:#101923;display:grid;place-items:center;font-size:14px;font-weight:1000}
#sA1 .g10m .ms h2{margin:0;font-size:16px;line-height:1.15;font-weight:1000;color:#f5f9ff;word-break:keep-all}
#sA1 .g10m .ms p{margin:4px 0 0;color:#c5d1dc;font-size:12px;line-height:1.35;font-weight:850;word-break:keep-all}
#sA1 .g10m .ms .bt{grid-column:1/-1;display:flex;justify-content:space-between;align-items:flex-end;gap:8px;margin-top:6px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}
#sA1 .g10m .ms .en{color:#9aa9b4;font-size:10.5px;font-weight:900}
#sA1 .g10m .ms .cv{color:#e8c777;font-size:17px;font-weight:1000;text-align:right;font-variant-numeric:tabular-nums;line-height:1.1}
#sA1 .g10m .ms .cv small{display:block;color:#9aa9b4;font-size:9.5px;font-weight:900;margin-top:2px}
#sA1 .g10lead{margin:0 0 10px;color:#cbd6df;font-size:12.5px;line-height:1.4;font-weight:800;word-break:keep-all;text-align:left}
#sA1 .g10a{display:grid;gap:9px;text-align:left}
#sA1 .g10a .an{min-height:84px;border-radius:16px;border:1px solid rgba(83,132,184,.54);background:rgba(10,17,25,.86);padding:12px;display:grid;grid-template-columns:1fr 118px;gap:10px;align-items:center}
#sA1 .g10a .an strong{display:block;font-size:16px;line-height:1.15;font-weight:1000;color:#f5f9ff;word-break:keep-all}
#sA1 .g10a .an span{display:block;margin-top:4px;color:#9aa9b4;font-size:11px;line-height:1.25;font-weight:850;word-break:keep-all}
#sA1 .g10a .an b{color:#e8c777;text-align:right;font-size:15px;line-height:1.2;font-weight:1000;font-variant-numeric:tabular-nums;word-break:keep-all}
#sA1 .g10c{position:relative;overflow:hidden;border-radius:22px;border:1px solid rgba(232,199,119,.68);background:linear-gradient(rgba(5,9,15,.3),rgba(5,9,15,.9)),url(img/logo_full.jpg) center/cover;padding:26px 14px;display:grid;place-items:center;min-height:250px}
#sA1 .g10c .cc{position:relative;z-index:2;width:100%;padding:18px 14px;border-radius:18px;border:1px solid rgba(244,228,187,.62);background:rgba(7,12,19,.88);backdrop-filter:blur(12px);text-align:center}
#sA1 .g10c .chip{display:inline-flex;min-height:26px;align-items:center;padding:4px 10px;border-radius:999px;border:1px solid rgba(232,199,119,.58);background:rgba(8,13,19,.78);color:#e8c777;font-size:10.5px;font-weight:950;margin-bottom:10px}
#sA1 .g10c h1{margin:0;font-size:28px;line-height:1.1;font-weight:1000;color:#f5f9ff;word-break:keep-all}
#sA1 .g10c p{margin:10px 0 0;color:#dce6ef;font-size:13px;line-height:1.42;font-weight:800;word-break:keep-all}
#sA1 .g10c .mn{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.1);color:#9aa9b4;font-size:11px;font-weight:900}
#sA1 .g10c .mn b{display:block;color:#e8c777;font-size:22px;font-weight:1000;margin-top:2px}
#sA1 .g10k{display:grid;gap:8px;margin-top:10px;text-align:left}
#sA1 .g10k .ck{min-height:42px;display:grid;grid-template-columns:28px 1fr;align-items:center;gap:9px;padding:8px 11px;border-radius:14px;border:1px solid rgba(88,200,137,.5);background:rgba(10,31,27,.72);color:#e6fff1;font-size:13.5px;font-weight:930}
#sA1 .g10k .ck i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(88,200,137,.16);border:1px solid rgba(88,200,137,.7);color:#7bf0ae;font-style:normal;font-weight:950}
#sA1 .acin .go{appearance:none;border:0;width:100%;font:inherit;display:block}
#sA1 .acin .go2{appearance:none;border:0;background:none;width:100%;font:inherit;display:block}
#sA1 .acin .go2{margin-top:10px;text-align:center;color:#9aa9b4;font-size:12px;font-weight:850;text-decoration:underline;cursor:pointer}
/* ── 95 캐릭터 중심 재구성 (2026-09-04) ── */
#s1p #paidBand{display:none!important}
#s1p h1.tw{white-space:nowrap;font-size:24px}
/* 얼굴 8개가 6+2 로 어정쩡하게 갈리던 것 → 4+4 두 줄. 영문 제목 'A money story where I am the hero' 가 한 줄 강제로 잘리던 것 → 두 줄 균형 (사장님 아이폰 캡처 2026-09-06) */
#s1p #pages{display:none!important}   /* 어른/어린이 카드 제거 (사장님 2026-09-07) */
#s1p .pgrid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));justify-items:center;gap:8px 6px;padding:10px 8px}
#s1p h1.tw{white-space:normal;text-wrap:balance;word-break:keep-all;font-size:22px;line-height:1.2;overflow:visible}

#s1p h1.tw span{display:inline-block;opacity:0;transform:translateY(8px);animation:twIn .5s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i)*.05s)}
@keyframes twIn{to{opacity:1;transform:none}}
#s1p .pages{margin-top:10px}
#s1p .page{min-height:74px}
#s1p .pgrid{display:flex;flex-wrap:nowrap;gap:9px;overflow-x:auto;justify-content:center;padding:9px;height:74px;box-sizing:border-box}
#s1p .pcard{flex:0 0 50px;width:50px;height:50px;border-width:3px}
#s1p .pcard.on{box-shadow:0 0 0 3px rgba(232,199,119,.24)}
#s1p .pcover{min-height:280px}
#sA1 .acstory{padding:12px 12px 12px}
#sA1 .acstory .start{min-height:140px;flex:1 1 auto;aspect-ratio:auto;max-height:none;width:100%}
#sA1 .acstory{overflow:hidden;position:fixed;inset:0;height:auto;max-height:none;width:100%;max-width:430px;margin:0 auto}   /* 화면(뷰포트) 높이에 맞춘다 — 학년 화면이 길어도 버튼이 보이게 (사장님 2026-09-05) */
#sA1 .acstory .card,#sA1 .acstory .cta,#sA1 .acstory .stbar,#sA1 .acstory .stfoot{flex:none}
#sA1 .acstory .cta{margin-top:0}
#sA1 .acstory .person{object-fit:contain;object-position:center bottom}
#sA1 .acstory .card{position:static;margin-top:0;padding:12px 13px}
#sA1 .acstory .card p{font-size:13.5px}
#sA1 .acstory .q{margin-top:9px;min-height:46px;font-size:16px}
#sA1 .acstory .cta{margin-top:auto}
#sA1 .acstory .start::before{background:radial-gradient(circle at 70% 22%,rgba(232,199,119,.2),transparent 24%),linear-gradient(0deg,rgba(5,9,15,.96) 0%,rgba(5,9,15,.5) 30%,transparent 60%)}
#sA1 .acstory .card h2{margin:0 0 6px;font-size:22px;line-height:1.12;font-weight:1000;color:#f5f9ff;word-break:keep-all;text-align:left}
#sA1 .acstory .card p{font-size:14px}
#sA1 .acstory .q{font-size:17px}
#sA1 .askin .owl.me{background-size:cover;background-position:center 15%}
#sA1 .askin .speech .ml{display:inline-block;margin-right:6px;padding:2px 8px;border-radius:999px;border:1px solid rgba(232,199,119,.5);background:rgba(232,199,119,.1);color:#e8c777;font-size:10.5px;font-weight:950;font-style:normal;vertical-align:middle}
#sA1 .ac2chk .chart2 .c2wrap{position:relative;padding-bottom:16px}#sA1 .ac2chk .c2wrap svg{display:block}#sA1 .ac2chk .c2wrap i{position:absolute;font-style:normal;font-size:10px;font-weight:850;line-height:1;color:#c9d6e3;white-space:nowrap;pointer-events:none}#sA1 .ac2chk .c2wrap .c2g{left:4px;transform:translateY(-110%);color:#8fa1b6}#sA1 .ac2chk .c2wrap .c2y{bottom:0;transform:translateX(-50%);color:#8fa1b6}#sA1 .ac2chk .c2wrap .c2p{padding:3px 6px;border-radius:6px;background:rgba(8,14,22,.9);border:1px solid rgba(255,255,255,.16);transform:translate(6px,-120%)}#sA1 .ac2chk .c2wrap .c2p.r{transform:translate(calc(-100% - 6px),-120%)}#sA1 .ac2chk .c2wrap .c2p.up{color:var(--upc)}#sA1 .ac2chk .c2wrap .c2p.dn{color:var(--dnc)}
#sA1 .rwd2{text-align:left}
#sA1 .rwd2 .hero{position:relative;min-height:270px;overflow:hidden;border-radius:20px;border:1px solid rgba(232,199,119,.58);background:#0c141f}
#sA1 .rwd2 .hero .bg{position:absolute;inset:0;background-size:cover;background-position:center}
#sA1 .rwd2 .hero img.pp{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:right center;z-index:1}
#sA1 .rwd2 .hero::before{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(5,9,15,.9),rgba(5,9,15,.25) 55%,rgba(5,9,15,.7)),linear-gradient(0deg,rgba(5,9,15,.95),transparent 55%)}
#sA1 .rwd2 .hero .cp{position:absolute;left:14px;right:14px;top:10px;z-index:3}
#sA1 .rwd2 .hero .chip{display:inline-flex;align-items:center;min-height:26px;padding:4px 10px;border-radius:999px;border:1px solid rgba(232,199,119,.6);background:rgba(5,9,15,.8);color:#fff0b8;font-size:11px;font-weight:950}
#sA1 .rwd2 .hero h3{margin:8px 0 0;max-width:250px;font-size:25px;line-height:1.12;font-weight:1000;color:#f5f9ff;word-break:keep-all}
#sA1 .rwd2 .pig{margin-top:10px;border-radius:18px;border:1px solid rgba(82,133,184,.6);background:rgba(11,19,29,.88);padding:14px 14px}
#sA1 .rwd2 .pig .row{display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:10px;align-items:center}
#sA1 .rwd2 .pig .row img{width:84px;height:84px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.5));animation:pigJump .7s cubic-bezier(.3,.7,.3,1.2) .3s 3;transform-origin:50% 100%}
@keyframes pigJump{0%,100%{transform:translateY(0) scale(1,1)}30%{transform:translateY(-22px) scale(.96,1.06)}60%{transform:translateY(0) scale(1.06,.94)}80%{transform:translateY(-6px)}}
#sA1 .rwd2 .pig h2{margin:0;font-size:18px;line-height:1.15;font-weight:1000;color:#f5f9ff;word-break:keep-all}
#sA1 .rwd2 .pig .mw{text-align:right;white-space:nowrap;min-width:max-content}
#sA1 .rwd2 .pig .mw strong span{display:inline!important;font-size:inherit!important;color:inherit!important;margin:0!important}
#sA1 .rwd2 .pig .mw strong{display:block;color:#fff0b8;font-size:34px;line-height:1;font-weight:1000;font-variant-numeric:tabular-nums;white-space:nowrap}
#sA1 .rwd2 .pig .mw span{display:block;margin-top:5px;color:#fff0b8;font-size:14px;font-weight:1000}
#sA1 .rwd2 .ab{position:absolute;left:10px;right:10px;bottom:10px;z-index:3;margin:0;border-radius:15px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(232,199,119,.4);background:rgba(10,16,24,.55);padding:12px 13px}
#sA1 .rwd2 .ab b{color:#fff0b8;font-size:15px;font-weight:1000}
#sA1 .rwd2 .ab p{margin:4px 0 0;color:#e3edf4;font-size:14px;line-height:1.32;font-weight:850;word-break:keep-all}
#sA1 .askin .wrap.done .cta{position:sticky;bottom:10px;z-index:5}
#sA1 .g10t{position:relative;overflow:hidden;border-radius:22px;border:1px solid rgba(232,199,119,.65);background:linear-gradient(90deg,rgba(15,25,36,.97) 0 74%,rgba(232,199,119,.18) 74%),url(img/hero_top.jpg) center/cover;padding:16px;text-align:left;min-height:300px}
#sA1 .g10t::before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,9,15,.5),transparent 48%),radial-gradient(circle at 74% 50%,transparent 0 16px,rgba(232,199,119,.4) 17px 18px,transparent 19px)}
#sA1 .g10t .in{position:relative;z-index:2;display:grid;grid-template-columns:1fr 76px;gap:12px;min-height:268px}
#sA1 .g10t .chip{display:inline-flex;align-items:center;min-height:26px;padding:4px 10px;border-radius:999px;border:1px solid rgba(232,199,119,.65);background:rgba(5,9,15,.8);color:#fff0b8;font-size:11px;font-weight:950}
#sA1 .g10t h2{margin:10px 0 0;font-size:24px;line-height:1.08;font-weight:1000;color:#f5f9ff;word-break:keep-all}
#sA1 .g10t p{margin:9px 0 0;color:#e3edf4;font-size:12.5px;line-height:1.4;font-weight:820;word-break:keep-all}
#sA1 .g10t .ck{margin-top:12px;display:grid;gap:6px}
#sA1 .g10t .ck div{min-height:30px;border-radius:999px;border:1px solid rgba(91,202,143,.55);background:rgba(91,202,143,.13);display:flex;align-items:center;padding:0 11px;color:#d8f9e6;font-size:11px;font-weight:950}
#sA1 .g10t .mn{margin-top:10px;color:#9aa9b4;font-size:10.5px;font-weight:900}#sA1 .g10t .mn b{color:#e8c777;font-size:16px;margin-left:6px}
#sA1 .g10t .side{border-left:1px dashed rgba(232,199,119,.55);padding-left:11px;text-align:center}
#sA1 .g10t .side strong{display:block;margin-top:12px;font-size:20px;font-weight:1000;color:#f5f9ff}
#sA1 .g10t .bar{position:absolute;right:14px;bottom:14px;width:64px;height:52px;background:repeating-linear-gradient(90deg,#dce5ec 0 3px,transparent 3px 8px);opacity:.88;z-index:3}
#sA1 .g10fill{margin-top:12px;color:#cbd6df;font-size:12.5px;font-weight:850;text-align:center}
#sA1 .g10t.gate{background:linear-gradient(rgba(5,9,15,.55),rgba(5,9,15,.92)),url(img/in_nyse-96a50b92.jpg) center/cover}
#sA1 .g10t.gate::before{background:none}
#sA1 .g10t .in.one{grid-template-columns:1fr}
#sA1 .g10t .okc{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;margin-bottom:10px;border:1px solid rgba(91,202,143,.7);background:rgba(91,202,143,.16);color:#7bf0ae;font-size:24px;font-weight:1000}
#sA1 .g10t .note{margin-top:10px;padding:9px 11px;border-radius:12px;border:1px solid rgba(232,199,119,.4);background:rgba(232,199,119,.08);color:#f3e6c0;font-size:11.5px;font-weight:900;word-break:keep-all}
#s1p .pgrid{flex:0 0 auto!important;height:auto!important;min-height:0!important;flex-wrap:wrap;justify-content:center;gap:8px 10px;padding:10px}
#sA1 .acstory .card h2{font-size:20px;line-height:1.18}
#sA1 .acstory .q{background:none;color:#e8c777;padding:0;min-height:0;margin-top:8px;font-size:17px;font-weight:1000;display:block}
#sA1 .acstory .q::before{content:'\201C';margin-right:2px;opacity:.7}
#sA1 .g8quiz{margin-top:10px;border:1px solid rgba(83,132,184,.48);border-radius:16px;background:rgba(11,18,27,.86);padding:12px;text-align:left}
#sA1 .g8quiz h4{margin:0 0 9px;font-size:13.5px;line-height:1.3;font-weight:1000;color:#f5f9ff;word-break:keep-all}
#sA1 .g8quiz .qs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#sA1 .g8quiz .qs button{min-height:42px;border-radius:12px;border:1px solid rgba(83,132,184,.5);background:rgba(7,12,20,.7);color:#eef1f4;font-size:14px;font-weight:950;font-family:var(--sans);cursor:pointer}
#sA1 .g8quiz .qs button.on{border-color:#e8c777;background:rgba(232,199,119,.14);color:#fff0b8}
#sA1 .g8quiz .fb{margin-top:9px;padding:9px 11px;border-radius:11px;font-size:12px;line-height:1.4;font-weight:850;word-break:keep-all}
#sA1 .g8quiz .fb.ok{border:1px solid rgba(91,202,143,.5);background:rgba(91,202,143,.12);color:#d8f9e6}
#sA1 .g8quiz .fb.ng{border:1px solid rgba(240,109,100,.5);background:rgba(240,109,100,.1);color:#ffd9d6}
#sA1 .g8car{text-align:left}
#sA1 .g8car .goal{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 13px;border-radius:16px;border:1px solid rgba(232,199,119,.5);background:linear-gradient(180deg,rgba(232,199,119,.14),rgba(8,14,23,.9))}
#sA1 .g8car .goal b{color:#dce6ef;font-size:12.5px;font-weight:900;word-break:keep-all}
#sA1 .g8car .goal strong{color:#fff0b8;font-size:24px;font-weight:1000;white-space:nowrap}
#sA1 .g8car .picks{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}
#sA1 .g8car .picks button{min-height:58px;border-radius:13px;border:1px solid rgba(83,132,184,.5);background:rgba(7,12,20,.7);color:#eef1f4;font-family:var(--sans);cursor:pointer;padding:8px 6px}
#sA1 .g8car .picks button b{display:block;font-size:11px;font-weight:950;color:#c5d1dc}
#sA1 .g8car .picks button strong{display:block;margin-top:4px;font-size:16px;font-weight:1000;color:#fff0b8}
#sA1 .g8car .picks button.on{border-color:#e8c777;background:rgba(232,199,119,.14)}
#sA1 .g8car .row{margin-top:9px;padding:10px 12px;border-radius:13px;border:1px solid rgba(83,132,184,.4);background:rgba(7,12,18,.7);display:flex;justify-content:space-between;align-items:center;gap:8px}
#sA1 .g8car .row b{color:#9aa9b4;font-size:11px;font-weight:900;word-break:keep-all}
#sA1 .g8car .row strong{color:#fff0b8;font-size:18px;font-weight:1000;white-space:nowrap}
#sA1 .g8car .row.need{border-color:rgba(232,199,119,.6);background:rgba(232,199,119,.1)}
#sA1 .g8car .row.need strong{font-size:21px}
#sA1 .g8car .sub{margin-top:4px;color:#9aa9b4;font-size:10.5px;font-weight:800}
#sA1 .g8car .keep{margin-top:10px;padding:10px 12px;border-radius:12px;border:1px solid rgba(91,202,143,.5);background:rgba(91,202,143,.12);color:#d8f9e6;font-size:12.5px;font-weight:950;word-break:keep-all}
#sA1 .g8car .warn{margin-top:8px;color:#9aa9b4;font-size:10.5px;line-height:1.4;font-weight:800;word-break:keep-all}
#sA1 .g10a .an{grid-template-columns:1fr;gap:6px}
#sA1 .g10a .an b{text-align:left;font-size:19px}
#sA1 .g10a .an p{margin:4px 0 0;color:#c5d1dc;font-size:12px;line-height:1.42;font-weight:820;word-break:keep-all}
#sA1 .g10m .ms .cv.q{color:#9aa9b4;font-size:20px}
#s1p .pcover img.pose{object-fit:contain;object-position:right bottom;opacity:1;filter:drop-shadow(0 12px 24px rgba(0,0,0,.6))}
#s1p .pcover:has(img.pose){background:linear-gradient(90deg,rgba(6,10,16,.92),rgba(6,10,16,.38) 54%,rgba(6,10,16,.55)),url(img/in_nyse-96a50b92.jpg) center/cover}
#sA1 .acstory .person.pose{opacity:1;filter:drop-shadow(0 14px 28px rgba(0,0,0,.65));object-position:center bottom}
#sA1 .acstory .person.pose{inset:auto 0 0 0;height:87%}   /* 머리 위 여유 13% — 머리가 상자 위에 닿았다 (사장님 2026-09-06 '헤드룸 조정') */
#sA1 .acstory .stpop{position:absolute;left:50%;bottom:3%;z-index:3;height:var(--stpop,50vh);max-height:94%;width:86%;opacity:0;transform:translateX(-50%) translateY(26px) scale(.86);transition:opacity .4s ease,transform .55s cubic-bezier(.2,.8,.25,1);pointer-events:none}
#sA1 .acstory .stpop.in{opacity:1;transform:translateX(-50%)}
#sA1 .acstory .stpop.out{opacity:0;transform:translateX(-50%) translateY(-10px) scale(1.05)}
#sA1 .acstory .stpop img{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 18px 34px rgba(0,0,0,.7))}
#sA1 .acstory .start .person{transition:opacity .45s ease}
#sA1 .acstory .start.popping .person{opacity:0}
#sA1 .acstory .start::after{content:'';position:absolute;inset:0;z-index:2;background:rgba(5,9,15,0);backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);transition:background .45s ease,backdrop-filter .45s ease;pointer-events:none}
#sA1 .acstory .start.popping::after{background:rgba(5,9,15,.62);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
#sA1 .acstory .badge{z-index:4}
#sA1 .rwd2 .hero .bg.stscenebg{background-size:cover;background-position:center 6%}   /* 수료 카드 상자는 낮아서 얼굴이 잘렸다 → 위쪽 기준 */
#sA1 .g8dchart svg{width:100%;height:auto;display:block;margin-top:6px}
#sA1 .g8dchart .lg{display:flex;gap:14px;margin-top:6px;font-size:12px;font-weight:800;color:#9db0c4}
#sA1 .g8dchart .lg .l1::before{content:'';display:inline-block;width:14px;height:3px;background:#e9ca72;margin-right:6px;vertical-align:middle;border-radius:2px}
#sA1 .g8dchart .lg .l2::before{content:'';display:inline-block;width:10px;height:10px;background:#5bd291;margin-right:6px;vertical-align:middle;border-radius:2px}
#sA1 .g8dchart .s{margin-top:6px;font-size:12.5px;font-weight:800;color:#9db0c4;line-height:1.4;word-break:keep-all;text-wrap:pretty}
#sA1 .acgrad .card h2 .gm{display:inline-block;color:#ffd166;font-size:1.28em;letter-spacing:.2px;text-shadow:0 0 18px rgba(255,209,102,.35)}
#sA1 .acgrad .card h2 .gm.pop{animation:g8pop 1.4s cubic-bezier(.2,.9,.3,1.2) .1s 1}
#sA1 .acstory .card h2 .g.big,#sA1 h1 .g.big,#sA1 .qtitle .g.big{font-size:1.22em}
#sA1 .g8paths .car-img{width:52px;height:auto;display:block;filter:drop-shadow(0 6px 12px rgba(0,0,0,.55))}   /* CSS 자동차 대신 GPT 자동차 그림 (사장님 2026-09-06) */
@keyframes g8keepglow{0%{transform:scale(.96);box-shadow:0 0 0 rgba(91,202,143,0)}45%{transform:scale(1.04);box-shadow:0 0 26px rgba(91,202,143,.6)}100%{transform:scale(1);box-shadow:0 0 12px rgba(91,202,143,.3)}}
#sA1 .g8car .keep.pop{animation:g8keepglow 1.5s ease .35s 1 both}
#sA1 .g10p .lead,#sA1 .g10adv .lead{margin:0 0 10px;font-size:13.5px;font-weight:800;color:#c9d6e3;word-break:keep-all;text-wrap:pretty}
#sA1 .g10p .tbl{border:1px solid #35577a;border-radius:12px;overflow:hidden}
#sA1 .g10p .tbl .hd,#sA1 .g10p .tbl .r{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.1fr;gap:6px;padding:8px 10px;align-items:center}
#sA1 .g10p .tbl .hd{font-size:11px;font-weight:800;color:#9db0c4;background:rgba(255,255,255,.04)}
#sA1 .g10p .tbl .r{border-top:1px solid #22344a;font-size:14px;font-weight:900}
#sA1 .g10p .tbl .r b small{font-size:11px;color:#9db0c4;font-weight:800}
#sA1 .g10p .tbl .r span{text-align:right;font-variant-numeric:tabular-nums}
#sA1 .g10p .tbl .r .dn{color:var(--dnc)}
#sA1 .g10p .as{margin-top:12px;padding:12px 14px;border-radius:12px;border:1px solid rgba(232,199,119,.7);background:rgba(232,199,119,.1)}
#sA1 .g10p .as b{display:block;font-size:13px;color:#e8c777}
#sA1 .g10p .as p{margin:6px 0 0;font-size:14px;font-weight:800;word-break:keep-all;text-wrap:pretty}
#sA1 .g10p .as strong{font-size:26px;color:#ffd166;display:block;margin:2px 0}
#sA1 .g10p .case{margin-top:12px;padding:12px 14px;border-radius:12px;border:1px solid #35577a;background:rgba(8,14,22,.5)}
#sA1 .g10p .case>b{display:block;font-size:14px}
#sA1 .g10p .case>p{margin:4px 0 8px;font-size:12.5px;color:#9db0c4;word-break:keep-all;text-wrap:pretty}
#sA1 .g10p .cs{padding:8px 0;border-top:1px solid #22344a}
#sA1 .g10p .cs small{display:block;font-size:11px;color:#9db0c4;font-weight:800}
#sA1 .g10p .cs b{font-size:15px}
#sA1 .g10p .cs b i{font-style:normal;font-size:12px;color:#9db0c4;font-weight:700}
#sA1 .g10p .cs .two{display:flex;gap:8px;align-items:center;font-weight:900;font-size:14px;margin-top:2px}
#sA1 .g10p .cs .two .ar{color:#9db0c4}
#sA1 .g10p .cs .two .dn{color:var(--dnc)}
#sA1 .g10p .cs .two .up{color:var(--upc)}
#sA1 .g10p .note{margin:10px 0 0;font-size:12px;color:#9db0c4;word-break:keep-all;text-wrap:pretty}
#sA1 .g10adv .list{display:flex;flex-direction:column;gap:8px}
/* 10학년 조언: 제목만 보이고 누르면 상세(휴대폰·태블릿은 창, PC 는 카드 뒤집기) (사장님 2026-09-07) */
#sA1 .g10p .tchart{margin:6px 0 12px}#sA1 .g10p .tchart .c2wrap{position:relative;padding-bottom:16px;background:rgba(8,14,22,.6);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:8px 8px 18px}#sA1 .g10p .tchart .c2wrap svg{display:block}#sA1 .g10p .tchart .c2wrap i{position:absolute;font-style:normal;font-size:10px;font-weight:850;line-height:1;color:#8fa1b6;white-space:nowrap;pointer-events:none}#sA1 .g10p .tchart .c2wrap .c2g{left:10px;transform:translateY(-110%)}#sA1 .g10p .tchart .c2wrap .c2y{bottom:3px;transform:translateX(-50%)}#sA1 .g10p .tleg{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:12px}#sA1 .g10p .tleg span{display:inline-flex;align-items:center;gap:5px}#sA1 .g10p .tleg i{width:12px;height:3px;border-radius:2px;display:inline-block}#sA1 .g10p .tleg b{font-weight:900}#sA1 .g10p .tleg em{font-style:normal;color:#ffe9a8;font-weight:900}
#sA1 .g10adv .an .sel{display:none;width:100%;margin-top:8px;padding:11px;border-radius:12px;border:0;background:#e8c777;color:#1a1408;font:inherit;font-size:14px;font-weight:1000;cursor:pointer}#sA1 .g10adv .an .sel.on{background:rgba(232,199,119,.18);color:#ffe9a8;border:1px solid rgba(232,199,119,.7)}
#sA1 .g10adv .an{display:block!important;padding:0!important;border:0!important;background:none!important}   /* 아래 옛 .an 규칙(flex·테두리)보다 이긴다 */
#sA1 .g10adv .an .flip{display:none;width:100%}
#sA1 .g10adv .an .row{display:flex;gap:10px;align-items:center;padding:10px;border-radius:14px;border:1.5px solid #35577a;background:rgba(8,14,22,.55);cursor:pointer;position:relative}
#sA1 .g10adv .an.on .row{border-color:#e8c777;background:rgba(232,199,119,.1)}
#sA1 .g10adv .an .row h5{margin:2px 0 0;font-size:16px;line-height:1.25;color:#ffe9a8;font-weight:1000;word-break:keep-all}
#sA1 .g10adv .an .row .rec{margin-top:4px}
#sA1 .g10adv .an .row .ck{font-size:20px;color:#9db0c4}
.d10 .hd{display:flex;gap:10px;align-items:center}.d10 .hd img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.2)}.d10 .hd b{font-size:15px}.d10 .hd small{color:#9db0c4;font-weight:800;margin-left:4px}.d10 .hd h5{margin:3px 0 0;font-size:17px;color:#ffe9a8;font-weight:1000;line-height:1.2;word-break:keep-all}
.d10 .say{margin:10px 0 0;font-size:14px;line-height:1.5;color:#e3edf4;word-break:keep-all}.d10 .say b{color:#ffe9a8}
.d10 .kv{margin-top:10px;font-size:12px;color:#9db0c4;font-weight:900}.d10 .kv em{display:block;font-style:normal;color:#eef1f4;font-size:13.5px;font-weight:800;margin-top:2px}
.d10 .rec2{margin-top:10px;padding:10px 12px;border-radius:12px;border:1px solid rgba(232,199,119,.5);background:rgba(232,199,119,.08);font-size:13px}.d10 .rec2 span{display:inline-block;padding:1px 8px;border-radius:999px;border:1px solid rgba(232,199,119,.6);color:#ffe9a8;font-size:11px;font-weight:900;margin-right:6px}.d10 .rec2 strong{color:#ffe9a8}
.d10 .rec2 .st{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}.d10 .rec2 .st i{font-style:normal;font-size:11.5px;color:#9db0c4}.d10 .rec2 .st i b{color:var(--upc);margin-left:3px}.d10 .rec2 .st i b.dn{color:var(--dnc)}
.d10 table.tm{width:100%;border-collapse:collapse;margin-top:4px;font-size:12.5px}.d10 table.tm td{padding:5px 4px;border-bottom:1px solid rgba(255,255,255,.08)}.d10 table.tm td:nth-child(2){text-align:right;color:#9db0c4}.d10 table.tm td:nth-child(3){text-align:right;font-weight:900}.d10 table.tm td.up{color:var(--upc)}.d10 table.tm td.dn{color:var(--dnc)}.d10 table.tm small{color:#9db0c4;font-weight:700;margin-left:4px}
.d10 .d10go{display:block;width:100%;margin-top:12px;padding:12px;border-radius:12px;border:0;background:#e8c777;color:#1a1408;font:inherit;font-size:15px;font-weight:1000;cursor:pointer}.d10 .d10go.on{background:rgba(232,199,119,.18);color:#ffe9a8;border:1px solid rgba(232,199,119,.7)}
.ac10sheet{max-width:560px}.ac10sheet .cls{display:block;width:100%;margin-top:8px;padding:10px;background:none;border:0;color:#9db0c4;font:inherit;font-size:13px;text-decoration:underline;cursor:pointer}
@media (min-width:740px){
  #sA1 .g10adv .list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px 16px}   /* 태블릿 한 줄 2장, PC 3장, 휴대폰은 한 줄 목록 (사장님 2026-09-08) */
  #sA1 .g10adv .an .flip{display:block;perspective:1000px;aspect-ratio:5/8;cursor:pointer;scroll-margin-bottom:100px;scroll-margin-top:16px}   /* 끝까지 스크롤할 때 아래 고정 띠 위에 멈추게 */
  #sA1 .g10adv .an .flip .inner{position:relative;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.8,.25,1);transform-style:preserve-3d}
  #sA1 .g10adv .an.flipped .flip .inner{transform:rotateY(180deg)}
  #sA1 .g10adv .an .flip .front,#sA1 .g10adv .an .flip .back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:12px;overflow:hidden;border:1px solid rgba(232,199,119,.35)}
  #sA1 .g10adv .an .flip .front img{width:100%;height:100%;object-fit:cover;display:block}
  #sA1 .g10adv .an.on .flip .front{outline:2px solid #e8c777;box-shadow:0 0 18px rgba(232,199,119,.4)}
  #sA1 .g10adv .an .flip .back{transform:rotateY(180deg);background:rgba(8,14,22,.97);padding:0;overflow:auto;font-size:11px}
  #sA1 .g10adv .an .flip .back .scr{padding:10px}   /* 고르기 버튼은 설명 맨 끝, 스크롤 안 (사장님 2026-09-08) */
  #sA1 .g10adv .an .flip .back .d10 table.tm td{padding:3px 4px}
  #sA1 .g10adv .an .flip .back{padding:16px;font-size:13.5px}#sA1 .g10adv .an .flip .back .d10 .hd img{width:52px;height:52px}#sA1 .g10adv .an .flip .back .d10 .hd h5{font-size:18px}#sA1 .g10adv .an .flip .back .d10 .say{font-size:14.5px;margin-top:10px}#sA1 .g10adv .an .flip .back .d10 .kv{margin-top:10px;font-size:12.5px}#sA1 .g10adv .an .flip .back .d10 .kv em{font-size:14px}#sA1 .g10adv .an .flip .back .d10 .rec2{padding:10px 12px;margin-top:10px;font-size:14px}#sA1 .g10adv .an .flip .back .d10 table.tm{font-size:13.5px}#sA1 .g10adv .an .flip .back .d10 .d10go{padding:12px;font-size:15px;margin-top:12px}
  #sA1 .g10adv .an .row{padding:8px 2px 0;border:0;background:none;display:block;text-align:center}
  #sA1 .g10adv .an .row .face,#sA1 .g10adv .an .row .rcard,#sA1 .g10adv .an .row .ck,#sA1 .g10adv .an .row .rec{display:none!important}
  #sA1 .g10adv .an .row h5{font-size:17px;text-wrap:balance}
  #sA1 .g10adv .an .row .bd>b{font-size:15px}
}
@media (min-width:960px){ #sA1 .g10adv .list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px 20px} #sA1 .g10adv .an .flip{aspect-ratio:5/9} }   /* PC 도 한 줄 2장 — 뒷면 설명·버튼이 다 들어가게 (사장님 2026-09-08) */

#sA1 .g10adv .an{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:14px;border:1.5px solid #35577a;background:rgba(8,14,22,.55);cursor:pointer;position:relative}
#sA1 .g10adv .an.on{border-color:#e8c777;background:rgba(232,199,119,.1)}
#sA1 .g10adv .an img.face{width:46px;height:46px;border-radius:50%;object-fit:cover;flex:0 0 46px;border:2px solid rgba(255,255,255,.2)}
#sA1 .g10adv .an .row img.rcard{display:none;width:84px;height:134px;border-radius:10px;object-fit:cover;flex:0 0 84px;border:1px solid rgba(232,199,119,.45)}
@media (min-width:740px) and (max-width:959px){ #sA1 .g10adv .an .row img.face{display:none} #sA1 .g10adv .an .row img.rcard{display:block} }   /* 태블릿: 줄에 동물 카드 (사장님 2026-09-07 "공간이 되니 동물카드로") */
#sA1 .g10adv .an .bd{flex:1;min-width:0}
#sA1 .g10adv .an .bd>b{font-size:15px;display:block}
#sA1 .g10adv .an .bd p b{font-weight:900;color:#ffe9a8}
#sA1 .g10adv .an .bd>b small{font-size:11px;color:#e8c777;font-weight:800;margin-left:4px}
#sA1 .g10adv .an .bd p{margin:3px 0 0;font-size:12.5px;line-height:1.4;color:#dce6ef;word-break:keep-all;text-wrap:pretty}
#sA1 .g10adv .an .bd em{display:block;font-style:normal;font-size:11.5px;color:#9db0c4;margin-top:3px}
#sA1 .g10adv .an .rec{margin-top:6px;font-size:12.5px;font-weight:800;color:#c9d6e3}
#sA1 .g10adv .an .rec span{display:inline-block;padding:1px 7px;border-radius:999px;border:1px solid rgba(232,199,119,.6);color:#e8c777;font-size:10.5px;margin-right:6px}
#sA1 .g10adv .an .rec strong{color:#ffd166}
#sA1 .g10adv .an .ck{position:absolute;right:10px;top:10px;width:22px;height:22px;border-radius:50%;border:1.5px solid #35577a;text-align:center;line-height:20px;font-size:13px;color:#1a1408;font-weight:900}
#sA1 .g10adv .an.on .ck{background:#e8c777;border-color:#e8c777}
#sA1 .g10adv .choose{margin-top:12px;padding:12px 14px;border-radius:12px;border:1px solid rgba(232,199,119,.7);background:rgba(232,199,119,.1)}
#sA1 .g10adv .choose b{display:block;font-size:17px;color:#ffd166}
#sA1 .g10adv .choose p{margin:4px 0 0;font-size:13px;font-weight:800;word-break:keep-all;text-wrap:pretty}
/* 수료 카드: 긴 영어 제목이 아래 '수업의 답' 상자와 겹쳤다 → 상자 안을 위(제목)·아래(답) 흐름으로, 모자라면 상자가 늘어난다 (사장님 2026-09-06) */
#sA1 .rwd2 .hero{display:flex;flex-direction:column;justify-content:flex-end}
#sA1 .rwd2 .hero .cp{position:relative;left:auto;right:auto;top:auto;padding:10px 14px 0;margin-bottom:12px;z-index:3}
#sA1 .rwd2 .hero .ab{position:relative;left:auto;right:auto;bottom:auto;margin:auto 14px 14px;z-index:3}
#sA1 .acstory .start.stscene{background-size:cover;background-position:center 12%;aspect-ratio:4/5;min-height:340px;max-height:50vh;flex:0 0 auto}   /* 50vh: 수업 시작 버튼이 한 화면에 보이게 */   /* 안에 img 가 없어 높이가 0 이 되던 것 — 4:5 상자에 2:3 그림을 위쪽 기준으로 (2026-09-06) */
#sA1 .rwd2 .hero img.pp.pose{opacity:1;object-position:right bottom;filter:drop-shadow(0 10px 22px rgba(0,0,0,.6));top:auto;bottom:0;height:86%}   /* 머리 위 여유 14% — 상자 위에 머리가 닿지 않게 (사장님 2026-09-07, 여러 번) */
#sA1 .acpop{position:fixed;right:8px;bottom:84px;width:150px;height:220px;z-index:40;pointer-events:none;opacity:0;transform:translateY(24px) scale(.92);transition:opacity .35s ease,transform .45s cubic-bezier(.2,.9,.3,1.2)}
#sA1 .acpop.in{opacity:1;transform:none}
#sA1 .acpop.out{opacity:0;transform:translateY(16px) scale(.95)}
#sA1 .acpop img{width:100%;height:100%;object-fit:contain;object-position:right bottom;filter:drop-shadow(0 12px 22px rgba(0,0,0,.6))}
#sA1 .acpopc{position:fixed;right:30px;bottom:var(--popc-b,0px);z-index:41;transform:translateY(28px) scale(.88);opacity:0;transition:opacity .4s ease,transform .55s cubic-bezier(.2,.8,.25,1);display:flex;flex-direction:column;align-items:flex-end;gap:8px;cursor:pointer;--hb:min(var(--popc,90vh),800px)}
#sA1 .acpopc.in{opacity:1;transform:none}
#sA1 .acpopc.out{opacity:0;transform:translateY(-10px) scale(1.04)}
#sA1 .acpopc .half{height:calc(var(--hb)*.52);width:min(calc(var(--hb)*.74),100vw,430px);overflow:hidden;display:flex;justify-content:flex-end;-webkit-mask-image:linear-gradient(#000 80%,transparent);mask-image:linear-gradient(#000 80%,transparent);filter:drop-shadow(0 16px 30px rgba(0,0,0,.75))}
#sA1 .acpopc .half img{height:var(--hb);width:auto;max-width:none;object-fit:contain;object-position:top center;margin-right:calc(var(--hb)*-.14);transform:scaleX(-1)}   /* 좌우 뒤집어 오른쪽 구석에, 컷 여백만큼 오른쪽으로 당김 (사장님 2026-09-05) */
#sA1 .acpopc .cap{margin:0 8px 8px 0;max-width:min(86vw,360px);padding:9px 16px;border-radius:999px;border:1px solid rgba(232,199,119,.75);background:rgba(8,14,22,.92);color:#ffe9a8;font-size:15px;font-weight:1000;letter-spacing:-.2px;text-align:center;box-shadow:0 12px 30px rgba(0,0,0,.6)}
#sA1 .acpopc.center{right:auto;left:50%;bottom:0;top:auto;transform:translateX(-50%) translateY(28px) scale(.88);align-items:center}   /* 가로 가운데 + 아래선 정렬 (사장님 2026-09-05) */
#sA1 .acpopc.center.in{transform:translateX(-50%)}
#sA1 .acpopc.center.out{transform:translateX(-50%) translateY(-10px) scale(1.04)}
#sA1 .acpopc.center .half{-webkit-mask-image:linear-gradient(#000 84%,transparent);mask-image:linear-gradient(#000 84%,transparent)}
#sA1 .acpopc.center .half{justify-content:center;width:min(calc(var(--hb)*.74),100vw)}
#sA1 .acpopc.center .half img{margin:0 0 0 calc(var(--hb)*.25);transform:none}
#sA1 .acpopc.tight .half img{margin-right:0}   /* 컷 오른쪽이 잘리지 않게 (사장님 2026-09-05) */   /* 컷 안 인물이 왼쪽에 치우쳐 있어 오른쪽으로 보정 */
#sA1 .acpopc .cap.capin{position:absolute;margin:0;white-space:normal;max-width:min(64vw,280px);text-wrap:balance;line-height:1.25;z-index:2}   /* 긴 영어 자막은 두 줄로 (사장님 2026-09-06) */
#sA1 .acpopc.sideL{align-items:flex-start;bottom:62px!important;--hb:430px!important;--popc:430px!important}#sA1 .acpopc.sideL .half{justify-content:flex-start}#sA1 .acpopc.sideL .half img{transform:none;margin:0}   /* 왼쪽 배치는 안 뒤집어 오른쪽(본문)을 본다 */
#sA1 .acpopcap{position:fixed;z-index:42;left:34px;bottom:calc(min(var(--popc,90vh),800px)*.52 - 128px);white-space:nowrap;padding:9px 16px;border-radius:999px;border:1px solid rgba(232,199,119,.75);background:rgba(8,14,22,.92);color:#ffe9a8;font-size:15px;font-weight:1000;letter-spacing:-.2px;box-shadow:0 12px 30px rgba(0,0,0,.6);opacity:0;transition:opacity .4s ease .25s;pointer-events:none}
#sA1 .acpopcap.in{opacity:1}
#sA1 .acpopcap.out{opacity:0;transition-delay:0s}   /* 자막을 손가락 옆으로 (사장님 2026-09-05) */
#sA1 .a3cap{margin:8px 0 0;padding:9px 11px;border-radius:11px;border:1px solid rgba(240,109,100,.45);background:rgba(240,109,100,.1);color:#ffd9d6;font-size:12px;line-height:1.4;font-weight:850;word-break:keep-all;text-align:left}
#sA1 .ac2nv{margin:10px 0 4px;padding:12px;border-radius:16px;border:1px solid rgba(232,199,119,.5);background:rgba(232,199,119,.08);text-align:left}
#sA1 .ac2nv h4{margin:0;font-size:14px;font-weight:1000;color:#fff0b8}
#sA1 .ac2nv .s{margin:4px 0 8px;color:#c5d1dc;font-size:11.5px;font-weight:850;word-break:keep-all}
#sA1 .ac2nv .lb{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:8px}
#sA1 .ac2nv .lb button{min-height:34px;border-radius:10px;border:1px solid rgba(83,132,184,.5);background:rgba(7,12,20,.7);color:#eef1f4;font-size:12px;font-weight:950;font-family:var(--sans);cursor:pointer}
#sA1 .ac2nv .lb button.on{border-color:#e8c777;background:rgba(232,199,119,.16);color:#fff0b8}
#sA1 .ac2nv input{width:100%}
#sA1 .ac2nv .res{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
#sA1 .ac2nv .res div{padding:9px 10px;border-radius:12px;background:rgba(7,12,18,.7);border:1px solid rgba(255,255,255,.1)}
#sA1 .ac2nv .res b{display:block;color:#9aa9b4;font-size:10.5px;font-weight:900}
#sA1 .ac2nv .res strong{display:block;margin-top:3px;font-size:18px;font-weight:1000;color:#fff0b8;font-variant-numeric:tabular-nums}
#sA1 .ac2nv .res strong.dn{color:var(--dnc)}
#sA1 .g6w3{margin-top:10px;padding:11px 12px;border-radius:14px;border:1px solid rgba(83,132,184,.48);background:rgba(11,18,27,.86);text-align:left}
#sA1 .g6w3 h4{margin:0;font-size:13px;font-weight:1000;color:#f5f9ff}
#sA1 .g6w3 .s{margin:3px 0 8px;color:#9aa9b4;font-size:11px;font-weight:850}
#sA1 .g6w3 .r{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
#sA1 .g6w3 .r div{padding:8px 6px;border-radius:11px;background:rgba(7,12,18,.7);border:1px solid rgba(255,255,255,.1);text-align:center}
#sA1 .g6w3 .r b{display:block;color:#c5d1dc;font-size:10.5px;font-weight:900}
#sA1 .g6w3 .r strong{display:block;margin-top:3px;font-size:17px;font-weight:1000;color:#ff8a80;font-variant-numeric:tabular-nums}
#sA1 .g6w3 .r small{display:block;margin-top:3px;color:#9aa9b4;font-size:9.5px;font-weight:900}
#sA1 .g6w3 .r div.on{border-color:#e8c777;background:rgba(232,199,119,.12)}
#sA1 .g8car .concl{margin-top:10px;padding:12px 13px;border-radius:14px;border:1px solid rgba(232,199,119,.6);background:rgba(232,199,119,.12);color:#f5f9ff;font-size:13.5px;line-height:1.45;font-weight:900;word-break:keep-all}
#sA1 .g8car .concl b{color:#fff0b8;font-size:16px}
#sA1 .g8car .concl .t{display:block;color:#e8c777;font-size:10.5px;font-weight:950;margin-bottom:4px}
#sA1 .g10m .gs{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}
#sA1 .g10m .gs button{min-height:36px;border-radius:10px;border:1px solid rgba(83,132,184,.5);background:rgba(7,12,20,.7);color:#eef1f4;font-size:12px;font-weight:950;font-family:var(--sans);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#sA1 .g10m .gs button.on{border-color:#e8c777;background:rgba(232,199,119,.16);color:#fff0b8}
#sA1 .g10a .an .mine{display:inline-block;margin-top:6px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:950;border:1px solid rgba(255,255,255,.14);color:#c5d1dc}
#sA1 .g10a .an .mine.hit{border-color:rgba(91,202,143,.6);color:#7bf0ae}
/* 규칙: 어설픈 두 줄(끝 단어 하나만 다음 줄) 금지 — 제목은 균형 줄바꿈, 본문은 고아 단어 방지, 단어 중간 끊김 금지 (사장님 2026-09-05) */
#sA1 h1,#sA1 h2,#sA1 .qtitle,#sA1 .acstory .card h2,#sA1 .acstory .q,#sA1 .acin .wel,#s1b h1,.scene h1,.scene h2{text-wrap:balance;word-break:keep-all;overflow-wrap:anywhere}
#sA1 p,#sA1 .speech,#sA1 .acstory .card p,#sA1 .sub,.scene .sub,.scene p,#sA1 .md,#sA1 .acin .hero .s{text-wrap:pretty;word-break:keep-all;overflow-wrap:anywhere}
.itick .spark{display:block;width:100%;height:26px;margin-top:5px}
.phint{font-size:11px;color:var(--dim);line-height:1.6;margin-top:10px;text-align:center}
.mecard{display:flex;align-items:center;gap:12px;margin:10px 0 2px;padding:12px 13px;
  border-radius:14px;cursor:pointer;background:var(--card,var(--panel));
  border:1px solid var(--line);position:relative}
/* 홈의 금테는 '다음 할 일' 하나뿐 — 금테가 여럿이면 우선순위가 사라진다 (판정 2026-08-30).
   카드를 지우는 게 아니라 강조만 뺀다 */
.htools{display:flex;gap:8px;margin:10px 0}
.htools button{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;
  padding:11px 6px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.03);
  color:var(--text);font-size:11.5px;font-weight:800;cursor:pointer;word-break:keep-all;line-height:1.3}
.htools button .ic{font-size:17px;line-height:1}
.mecard.join{border-color:var(--line);background:rgba(255,255,255,.03)}
.mecard .fc{width:44px;height:44px;border-radius:50%;flex:0 0 auto;overflow:hidden;
  background:linear-gradient(135deg,var(--gold-b),var(--gold));display:flex;
  align-items:center;justify-content:center;font-size:19px}
.mecard .fc img{width:100%;height:100%;object-fit:cover;display:block}
.mecard .tx{flex:1;min-width:0}
 /* 제목 b 만 블록이다. 자손 선택자로 두면 안쪽 문장의 <b> 까지 블록·13.5px 가 돼서
    "눌러서 / 캐릭터·별명 / 을 바꿀 수 있어요" 처럼 세 줄로 쪼개졌다 (2026-08-27) */
.mecard .tx>b{display:block;font-size:13.5px;letter-spacing:-.2px}
.mecard .tx small b{color:var(--text);font-size:inherit}
.mecard .tx small{display:block;font-size:11px;color:var(--dim);margin-top:2px;line-height:1.5}
.mecard .go{font-size:16px;color:var(--gold-b);flex:0 0 auto}
.avbtn{width:54px;height:54px;border-radius:16px;flex:0 0 auto;cursor:pointer;overflow:hidden;border:1.5px solid var(--gold);background:linear-gradient(135deg,var(--gold-b),var(--gold));display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:900;color:#1a1206}
.avbtn img{width:100%;height:100%;object-fit:cover;display:block}
.lbr .mev{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--gold-b),var(--gold));display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:900;color:#1a1204;flex:none}
.lbr .b{flex:1;min-width:0}
.lbr .b b{font-size:13px;display:flex;align-items:center;gap:5px;white-space:nowrap}
.lbr .b b .ty{font-size:9px;font-weight:700;border-radius:99px;padding:1px 6px;background:var(--panel2);color:var(--dim);border:1px solid var(--line)}
.lbr .b b .cd{font-size:9px;font-weight:900;border-radius:99px;padding:1px 6px;background:var(--gold);color:#1a1204}
.lbr .b .st{font-size:9.5px;color:var(--dim);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lbr .b .st b{color:var(--text);display:inline}
.lbr .r{text-align:right;flex:none}
.lbr .r b{font-size:14px;font-weight:900;display:block}
.lbr .r small{font-size:9.5px;color:var(--dim)}
.pvtiles{display:flex;gap:6px;margin-top:10px}
.pvtiles>div{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 4px;text-align:center}
.pvtiles .k{font-size:9px;color:var(--dim)}.pvtiles .v{font-size:13px;font-weight:900;margin-top:2px}.pvtiles .s{font-size:9px;color:var(--dim);margin-top:1px}
.pvsec{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px;margin-top:10px}
.pvsec .h{font-size:13px;font-weight:900;display:flex;justify-content:space-between;align-items:center}
.pvsec .h small{font-size:10.5px;color:var(--dim);font-weight:500}
.pvdon{display:flex;gap:12px;align-items:center;margin-top:8px}.pvdon canvas{width:150px;height:150px;flex:none}
.pvport{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.pvport span{display:flex;align-items:center;gap:6px;font-size:11.5px;border:0;padding:0}.pvport span i{width:10px;height:10px;border-radius:3px;flex:none}.pvport span em{font-style:normal;flex:1;font-weight:700}.pvport span b{margin:0}.pvport span u{text-decoration:none;color:var(--dim);font-size:11px;margin-left:2px}
.pvport span{font-size:11px;border:1px solid var(--line);border-radius:99px;padding:3px 9px}
.pvport span b{color:var(--gold-b);margin-left:3px}
.pvbar{display:flex;height:8px;border-radius:99px;overflow:hidden;margin-top:8px}
.pw{display:flex;gap:6px;margin-top:8px}
.pw>div{flex:1;background:var(--panel2);border-radius:10px;padding:8px;font-size:11px;line-height:1.55}
.pw .t{font-weight:900;font-size:11.5px;margin-bottom:3px}
.pw .g .t{color:var(--green)}.pw .r .t{color:var(--red)}
.pw ul{padding-left:14px;margin:0}
.rules2 .row{display:flex;gap:8px;align-items:flex-start;padding:7px 0;border-top:1px dashed var(--line);font-size:11.5px;line-height:1.55}
.rules2 .row:first-of-type{border-top:0}
.rules2 .row img{width:28px;height:28px;border-radius:50%;object-fit:cover;border:1.5px solid var(--gold);flex:none}
.rules2 .row b{display:block;font-size:12px}
.rules2 .row .rl{color:var(--dim)}
.rules2 .row .rl i{font-style:normal;color:var(--gold-b);font-weight:700}
.linkbtn{display:block;text-align:center;font-size:11.5px;color:var(--gold-b);margin-top:10px;cursor:pointer;text-decoration:underline}


.advice{background:var(--panel);border:1px solid var(--gold);border-radius:14px;padding:12px;margin-top:10px}
.advice .h{font-size:13px;font-weight:900;display:flex;gap:8px;align-items:center}
.advice .h img{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid var(--gold)}
.advice .h small{display:block;font-size:10.5px;color:var(--dim);font-weight:500;margin-top:1px}
.alt{display:flex;align-items:center;gap:8px;background:var(--panel2);border:1.5px solid var(--line);border-radius:12px;padding:9px 10px;margin-top:6px;cursor:pointer}
.alt.on{border-color:var(--gold);background:rgba(201,162,74,.12)}
.alt .ic{font-size:20px;width:26px;text-align:center}
.alt .b{flex:1;min-width:0}
.alt .b b{font-size:12.5px;display:block}
.alt .b small{font-size:10.5px;color:var(--dim);display:block;margin-top:1px;line-height:1.45}
.alt .r{text-align:right;flex:none;font-size:10px;color:var(--dim);line-height:1.5}
.alt .r b{display:block;font-size:12.5px}
.alt .r .d{font-weight:900}
.alt .r .d.up{color:var(--upc)}.alt .r .d.dn{color:var(--dnc)}
.advice .cust{display:flex;gap:6px;margin-top:8px}
.advice .cust button{flex:1;border:1px solid var(--line);background:transparent;color:var(--dim);border-radius:10px;padding:8px;font-size:11.5px;cursor:pointer;font-family:var(--sans)}
.advice .owlsay{font-size:11.5px;color:var(--dim);line-height:1.6;margin-top:8px;border-top:1px dashed var(--line);padding-top:8px}
.advice .owlsay b{color:var(--gold-b)}


.chars{flex-wrap:wrap}.ch{flex:1 1 30%;max-width:33%}
.others{margin-top:10px;background:var(--panel);border:1px dashed var(--line);border-radius:12px;padding:10px 12px}
.others .h{font-size:12.5px;font-weight:900;display:flex;justify-content:space-between;align-items:center}
.others .h small{font-size:10.5px;color:var(--dim);font-weight:500}
.others .list{display:flex;gap:6px;margin-top:8px;overflow-x:auto;padding-bottom:2px}
.oc{flex:none;width:96px;background:var(--panel2);border:1.5px solid var(--line);border-radius:12px;padding:8px 6px;text-align:center;cursor:pointer}
.oc img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid var(--line);display:block;margin:0 auto}
.oc b{display:block;font-size:12px;margin-top:4px}
.oc small{display:block;font-size:9.5px;color:var(--dim);margin-top:1px;line-height:1.4}
.oc .add{display:inline-block;margin-top:5px;font-size:10px;font-weight:900;color:var(--gold-b);border:1px solid var(--gold);border-radius:99px;padding:1px 8px}
.oc .rk1{color:var(--gold-b);font-weight:900}
.owlwarn{margin-top:8px;font-size:11px;color:var(--dim);line-height:1.55;border-top:1px dashed var(--line);padding-top:8px}
.owlwarn b{color:var(--gold-b)}


/* ===== 홈 v2 (대시보드) ===== */
#home.on{display:flex;flex-direction:column;min-height:calc(100*var(--vh))}
#home .hpad{flex:1;overflow-y:auto;padding:0 14px}
#home .tabs{position:sticky;bottom:0}
.hdr .tot{font-size:18px}
.livechip{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;color:var(--red);font-weight:900;letter-spacing:.08em;white-space:nowrap;flex:0 0 auto}
.livechip i{width:6px;height:6px;border-radius:50%;background:var(--red);animation:blink 1.2s infinite}
.livechip b{color:var(--dim);font-weight:700;letter-spacing:0}
.livechip .qold{font-style:normal;color:#d8a05a;font-weight:700;letter-spacing:0}
#hTot .hbase{display:block;margin-top:2px;font-style:normal;font-size:10.5px;color:var(--dim);font-weight:800}
.vtog2{display:inline-flex;gap:3px;margin-top:4px}
.vtog2 span{font-size:10px;padding:2px 9px;border-radius:99px;border:1px solid var(--line);color:var(--dim);cursor:pointer}
.vtog2 span.on{border-color:var(--gold);color:var(--gold-b);background:rgba(201,162,74,.12);font-weight:900}
.alerts{margin-top:4px}
.al{display:flex;gap:9px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:9px 11px;margin-top:6px;font-size:11.5px;line-height:1.5}
.al.red{border-color:rgba(224,100,85,.6);background:rgba(224,100,85,.08)}
.al.org{border-color:rgba(232,162,74,.55);background:rgba(232,162,74,.07)}
.al.grn{border-color:rgba(63,179,122,.5);background:rgba(63,179,122,.07)}
.al .ic{font-size:16px;flex:none;margin-top:1px}
.al .b{flex:1;min-width:0}.al .b b{display:block;font-size:12px}
.al .b small{color:var(--dim);display:block;margin-top:1px}
.al .act{flex:none;font-size:10px;font-weight:900;color:var(--gold-b);border:1px solid var(--gold);border-radius:99px;padding:3px 8px;cursor:pointer;white-space:nowrap;align-self:center}
.hsec{margin-top:12px}
.hsec .h{font-size:13.5px;font-weight:900;display:flex;justify-content:space-between;align-items:center}
.hsec .h small{font-size:10.5px;color:var(--dim);font-weight:500}
.hchars{display:flex;gap:6px;margin-top:8px;overflow-x:auto;padding-bottom:2px}
.hc{flex:none;width:150px;background:var(--panel);border:1.5px solid var(--line);border-radius:14px;padding:10px;position:relative}
.hc.warn{border-color:rgba(224,100,85,.6)}
.hc .top{display:flex;gap:8px;align-items:center}
.hc .top img{width:38px;height:38px;border-radius:50%;object-fit:cover;border:2px solid var(--gold)}
.hc .top b{font-size:13px;display:block}.hc .top small{font-size:10px;color:var(--dim)}
.hc .val{font-size:15px;font-weight:900;margin-top:6px}
.hc .chg{font-size:10.5px;display:flex;flex-direction:column;gap:1px;color:var(--dim)}.hc .chg span{display:flex;justify-content:space-between}
.hc .chg b{font-weight:900}
.hc canvas{width:100%;height:auto;display:block;margin-top:4px}
.hc .stt{position:absolute;top:8px;right:8px;font-size:9px;font-weight:900;border-radius:99px;padding:1px 6px}
.stt.ok{background:rgba(63,179,122,.15);color:var(--green);border:1px solid rgba(63,179,122,.4)}
.stt.wn{background:rgba(224,100,85,.15);color:var(--red);border:1px solid rgba(224,100,85,.4)}
.stt.at{background:rgba(232,162,74,.15);color:#f0b76a;border:1px solid rgba(232,162,74,.4)}
.hr{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:9px 11px;margin-top:6px;cursor:pointer}
.hr.warn{border-color:rgba(224,100,85,.6)}
.hr .l1{display:flex;align-items:center;gap:8px}
.hr .l1 .tk{font-size:13px;font-weight:900;min-width:44px}
.hr .l1 .nm{font-size:10.5px;color:var(--dim);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hr .l1 .nm .own{color:var(--gold-b);font-weight:700}
.hr .l1 canvas{width:64px;height:24px;flex:none}
.hr .l1 .px{text-align:right;flex:none;min-width:78px}
.hr .l1 .px b{font-size:13px;display:block}
.hr .l1 .px small{font-size:10.5px;font-weight:900}
.hr .l2{display:flex;justify-content:space-between;align-items:center;font-size:10.5px;color:var(--dim);margin-top:5px;gap:8px}
.hr .l2 b{color:var(--text)}
.hr .sl{flex:1;height:5px;border-radius:3px;background:var(--panel2);position:relative;overflow:hidden;max-width:120px}
.hr .sl i{position:absolute;left:0;top:0;bottom:0;border-radius:3px}
.hr .sl i.ok{background:var(--green)}.hr .sl i.at{background:#e8a24a}.hr .sl i.wn{background:var(--red)}
.hr .ex{display:none;margin-top:8px;border-top:1px dashed var(--line);padding-top:8px}
.hr.open .ex{display:block}
.hr .ex canvas{width:100%;height:auto;display:block}
.hr .ex .cap{font-size:10px;color:var(--dim);margin-top:4px;line-height:1.5}
.hr .ex .cap i{display:inline-block;width:12px;border-top:2px dashed var(--gold-b);vertical-align:middle;margin:0 3px}
.hr .ex .cap .sl2{border-top:2px dashed var(--red)}
.nw2{display:flex;gap:9px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:9px 11px;margin-top:6px}
.nw2 .tk{font-size:10px;font-weight:900;color:var(--gold-b);border:1px solid var(--gold);border-radius:99px;padding:1px 7px;height:fit-content;flex:none;margin-top:2px}
.nw2 .b{flex:1;min-width:0}
.nw2 .b b{font-size:12px;display:block;line-height:1.45}
.nw2 .b small{font-size:10px;color:var(--dim);display:block;margin-top:2px}
.nw2 .imp{flex:none;font-size:9.5px;font-weight:900;border-radius:99px;padding:1px 6px;height:fit-content;margin-top:2px}
.imp.risk{background:rgba(224,100,85,.15);color:var(--red);border:1px solid rgba(224,100,85,.4)}
.imp.good{background:rgba(63,179,122,.15);color:var(--green);border:1px solid rgba(63,179,122,.4)}
.imp.neu{background:rgba(147,163,174,.12);color:var(--dim);border:1px solid var(--line)}
.hbtns{display:flex;gap:8px;margin-top:14px}
/* 홈 버튼 두 개가 나란히 서면 영문에서 어중간하게 두 줄로 접혔다 — 한 줄 규칙에 맞춘다
   (문구는 그대로 두고 폭·글자만 조정, 2026-08-29 전역 타이포 규칙) */
.hpad>.hbtns>.cta{white-space:nowrap;flex:1 1 auto;min-width:0;padding-left:10px;padding-right:10px;font-size:12.5px}
.hbtns .cta{flex:1;padding:12px;font-size:13px}
.hbtns .cta.ghost{flex:0 0 90px}
/* v2 시트 */
.v2s .row{display:flex;align-items:center;gap:8px;padding:6px 0}
.v2s .row img{width:30px;height:30px;border-radius:50%;object-fit:cover;border:1.5px solid var(--gold)}
.v2s .row .n{width:52px;font-size:12px;font-weight:700}
.v2s .row input{flex:1;accent-color:var(--gold)}
.v2s .row .v{width:38px;text-align:right;font-size:12px;font-weight:900}
.v2s .pre{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.v2s .pre span{font-size:11px;border:1px solid var(--line);border-radius:99px;padding:5px 10px;cursor:pointer;color:var(--dim)}
.v2s .pre span.on{border-color:var(--gold);color:var(--gold-b);background:rgba(201,162,74,.12)}
.v2s .cmp2{display:flex;gap:6px;margin-top:10px}
.v2s .cmp2>div{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px;text-align:center}
.v2s .cmp2 .k{font-size:9.5px;color:var(--dim)}.v2s .cmp2 .v{font-size:13px;font-weight:900;margin-top:2px}


.glive{margin-left:auto;text-align:right;flex:none;line-height:1.3}
.glive .lv{display:inline-flex;align-items:center;gap:4px;font-size:9px;color:var(--red);font-weight:900;letter-spacing:.1em}
.glive .lv i{width:6px;height:6px;border-radius:50%;background:var(--red);animation:blink 1.2s infinite}
.glive small{display:block;font-size:9px;color:var(--dim)}
.glive .ld{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--text);margin-top:2px}
.glive .ld img{width:16px;height:16px;border-radius:50%;object-fit:cover;border:1px solid var(--gold)}
.glive .ld b{font-weight:900}
.goal .b{flex:1;min-width:0}


/* ===== v4 batch: 밴드 · 배지 ===== */
.band-scene{padding:0 !important}
.band{position:relative;height:clamp(230px,calc(34*var(--vh)),300px);overflow:hidden;background:#05080d;animation:bandIn .6s cubic-bezier(.4,0,.2,1)}
@keyframes bandIn{from{height:calc(100*var(--vh))}to{height:clamp(230px,calc(34*var(--vh)),300px)}}
.band img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.band .fade{position:absolute;left:0;right:0;bottom:0;height:70%;background:linear-gradient(transparent,rgba(10,16,24,.75) 55%,var(--ink))}
.band .stepno.on-band{position:absolute;left:16px;right:16px;top:14px;color:#fff;text-shadow:0 1px 4px #000}
.band .stepno.on-band .back{background:rgba(10,16,24,.55);color:#fff;border-color:rgba(255,255,255,.35)}
.rise{flex:1;display:flex;flex-direction:column;padding:6px 16px calc(20px + env(safe-area-inset-bottom));animation:riseUp .6s cubic-bezier(.4,0,.2,1)}
@keyframes riseUp{from{transform:translateY(60px);opacity:0}to{transform:none;opacity:1}}
.band-scene h1{margin-top:6px}
.band-scene.on{animation:none}
.band-scene.static .band{animation:none}
.band-scene.static .rise{animation:fadeIn .3s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.vbadge{display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:900;color:var(--gold-b);border:1px solid var(--gold);border-radius:99px;padding:1px 7px;vertical-align:middle;letter-spacing:.02em;white-space:nowrap}
.vbadge.big{font-size:10.5px;padding:2px 9px;margin-left:6px}
.vbadge.dim{color:var(--dim);border-color:var(--line)}


/* ===== batch: 리그/조합/미리보기/홈 ===== */
.stickycta{position:sticky;bottom:0;padding:10px 0 calc(6px + env(safe-area-inset-bottom));margin-top:12px;background:linear-gradient(transparent,var(--ink) 35%);z-index:5}
.stickycta .cta{margin-top:0}
.momrow{display:flex;gap:6px;margin-top:8px}
.momrow>div{flex:1;background:var(--panel2);border-radius:10px;padding:8px;font-size:10.5px;line-height:1.45;border-top:3px solid}
.momrow>div b{display:block;font-size:11.5px}.momrow>div i{display:block;font-style:normal;font-weight:900;margin-top:4px}
.chars.big .ch{flex:1 1 30%;max-width:33%}
.chars.big .ch img{max-height:165px}
.chars.big .ch .lb b{font-size:12.5px}
.ch.role0.on{border-color:var(--gold);box-shadow:0 0 0 2px rgba(201,162,74,.3)}
.ch.role1.on{border-color:#3fb37a;box-shadow:0 0 0 2px rgba(63,179,122,.3)}
.ch.role2.on{border-color:#4f8fd6;box-shadow:0 0 0 2px rgba(79,143,214,.3)}
.ch.role3.on{border-color:#93a3ae;box-shadow:0 0 0 2px rgba(147,163,174,.25)}
.rolebar{display:flex;height:12px;border-radius:99px;overflow:hidden;margin-top:8px;background:var(--panel2)}
.rolebar span{display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:900;color:#0a1018;transition:flex .4s}
.rolebar+ .rolecap{font-size:10px;color:var(--dim);margin-top:4px}
.whyrec2{margin-top:8px}
.whyrec2 .r{display:flex;gap:8px;align-items:center;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:10px;padding:7px 10px;margin-top:5px;font-size:11.5px;color:var(--dim);cursor:pointer}
.whyrec2 .r.r1{border-left-color:#3fb37a}.whyrec2 .r.r2{border-left-color:#4f8fd6}.whyrec2 .r.r3{border-left-color:#93a3ae}
.whyrec2 .r img{width:26px;height:26px;border-radius:50%;object-fit:cover;flex:none}
.whyrec2 .r b{color:var(--text)}
.whyrec2 .r .more{display:none;font-size:11px;margin-top:3px}
.whyrec2 .r.open .more{display:block}
.cc.role0{border-color:var(--gold)}.cc.role1{border-color:#3fb37a}.cc.role2{border-color:#4f8fd6}.cc.role3{border-color:#93a3ae}
.cc .rolebadge{font-size:9px;font-weight:900;border-radius:99px;padding:1px 6px;margin-left:5px;color:#0a1018;vertical-align:middle}
.cc.role0 .rolebadge{background:var(--gold)}.cc.role1 .rolebadge{background:#3fb37a}.cc.role2 .rolebadge{background:#4f8fd6}.cc.role3 .rolebadge{background:#93a3ae}
/* 미리보기 조정 */
.pvsl{display:flex;align-items:center;gap:8px;padding:5px 0}
.pvsl img{width:28px;height:28px;border-radius:50%;object-fit:cover;border:2px solid;flex:none}
.pvsl .n{width:48px;font-size:12px;font-weight:700}
.pvsl input{flex:1;accent-color:var(--gold)}
.pvsl .v{width:36px;text-align:right;font-size:12px;font-weight:900}
.pvbar2{display:flex;height:16px;border-radius:6px;overflow:hidden;margin-top:8px;background:var(--panel2)}
.pvbar2 span{display:flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:900;color:#0a1018;transition:flex .35s;overflow:hidden;white-space:nowrap}
.pvbar2.stocks{height:22px;margin-top:3px}
.pvbar2.stocks span{cursor:pointer;color:#0a1018;border-right:1px solid rgba(10,16,24,.5)}
.pvlegend{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:6px;font-size:10.5px;color:var(--dim)}
.pvlegend span{display:inline-flex;align-items:center;gap:4px;cursor:pointer}
.pvlegend span i{width:9px;height:9px;border-radius:2px;display:inline-block}
.lbr{transition:transform .45s cubic-bezier(.4,0,.2,1)}
.lbr.me.flash{box-shadow:0 0 0 3px rgba(201,162,74,.6)}
/* 홈 */
.ticker{overflow:hidden;background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);height:28px;position:relative}
.tk-track{display:flex;gap:22px;white-space:nowrap;position:absolute;left:0;top:0;height:28px;align-items:center;animation:tkmove 38s linear infinite;padding-left:8px}
.ticker:hover .tk-track{animation-play-state:paused}
@keyframes tkmove{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ticker+.ticker{border-top:0}
.tk-track.rev{animation-name:tkmove2}
@keyframes tkmove2{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.tk-track .ti i.w{font-style:normal;color:var(--gold-b);font-weight:900;font-size:10.5px}
.rankchip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;border:1px solid rgba(232,199,119,.6);background:rgba(232,199,119,.1);color:#ffe9a8;font-size:11.5px;font-weight:900;cursor:pointer}
.rankchip small{color:var(--dim);font-weight:800}
.rankchip b{font-size:13px;font-weight:1000}

.tk-track .set{display:inline-flex;gap:22px;align-items:center}
.tk-track .ti{font-size:11px;color:var(--dim);display:inline-flex;gap:5px;align-items:center}
.tk-track .ti b{color:var(--text);font-weight:900}
.tk-track .ti em{font-style:normal;font-weight:900}
.tk-track .ti.idx b{color:var(--gold-b)}
.livechart{margin-top:10px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:8px 10px}
.livechart .cap{display:flex;justify-content:space-between;font-size:11.5px;color:var(--dim)}
.livechart .cap b{color:var(--gold-b)}
.livechart .wrap{position:relative;margin-top:4px}
.livechart canvas{width:100%;height:auto;display:block}
.livechart .avs img{position:absolute;width:26px;height:26px;border-radius:50%;object-fit:cover;border:2px solid;transform:translate(-50%,-50%);transition:left .9s linear,top .9s linear;box-shadow:0 2px 8px rgba(0,0,0,.6);pointer-events:none}
.livechart .lgd{display:flex;gap:10px;font-size:10px;color:var(--dim);margin-top:4px;flex-wrap:wrap}
.livechart .lgd i{display:inline-block;width:10px;height:3px;border-radius:2px;margin-right:3px;vertical-align:middle}
.mac{display:flex;gap:9px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:9px 11px;margin-top:6px}
.mac .ic{font-size:18px;flex:none}
.mac .b{flex:1;min-width:0}.mac .b b{font-size:12px;display:block;line-height:1.45}.mac .b small{font-size:10px;color:var(--dim);display:block;margin-top:2px}
.mac .r{flex:none;text-align:right}
.mac .r span{display:block;font-size:9.5px;font-weight:900;border-radius:99px;padding:1px 6px;margin-top:2px;text-align:center}
.mac .r .hi{background:rgba(224,100,85,.15);color:var(--red);border:1px solid rgba(224,100,85,.4)}
.mac .r .mid{background:rgba(232,162,74,.15);color:#f0b76a;border:1px solid rgba(232,162,74,.4)}
.mac .r .lo{background:rgba(147,163,174,.12);color:var(--dim);border:1px solid var(--line)}
.mac .r .fav{background:rgba(63,179,122,.15);color:var(--green);border:1px solid rgba(63,179,122,.4)}
.mac .r .unf{background:rgba(224,100,85,.15);color:var(--red);border:1px solid rgba(224,100,85,.4)}
.mac .r .neu{background:rgba(147,163,174,.12);color:var(--dim);border:1px solid var(--line)}
.judge{display:flex;gap:8px;align-items:center;background:var(--panel2);border-radius:10px;padding:8px 10px;margin-top:8px;font-size:11.5px;line-height:1.5}
.judge .tag{flex:none;font-size:11px;font-weight:900;border-radius:99px;padding:3px 9px}
.judge .tag.ok{background:rgba(63,179,122,.15);color:var(--green);border:1px solid rgba(63,179,122,.4)}
.judge .tag.wn{background:rgba(232,162,74,.15);color:#f0b76a;border:1px solid rgba(232,162,74,.4)}
.judge .tag.bad{background:rgba(224,100,85,.15);color:var(--red);border:1px solid rgba(224,100,85,.4)}
.verlist{margin-top:8px}
.verlist .vr{display:flex;align-items:center;gap:8px;font-size:12px;padding:6px 0;border-top:1px dashed var(--line)}
.verlist .vr b{flex:1}
.verlist .vr .del{font-size:10.5px;color:var(--red);border:1px solid rgba(224,100,85,.5);border-radius:99px;padding:2px 8px;cursor:pointer}
.verlist .vr .cur{font-size:10px;color:var(--gold-b);border:1px solid var(--gold);border-radius:99px;padding:2px 8px}


#lgdS{display:flex;flex-wrap:wrap;gap:4px 6px;font-size:10.5px;color:var(--dim);margin-top:6px}
#lgdS span{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:99px;border:1px solid transparent;cursor:pointer}
#lgdS span.on{border-color:var(--line);background:var(--panel2);color:var(--text)}#lgdS span.off{opacity:.35}
#lgdS i{width:10px;height:3px;border-radius:2px;display:inline-block}
#lgfeedS .act,.judge .act{display:inline-block;font-size:9px;font-weight:900;border-radius:99px;padding:1px 6px;vertical-align:1px;width:auto}

.act.hold{display:inline-block !important;padding:1px 6px !important;border-bottom:1px solid var(--line) !important;gap:0}

.owltip{display:flex;gap:10px;background:linear-gradient(135deg,rgba(201,162,74,.14),rgba(79,143,214,.06));border:1.5px solid var(--gold);border-radius:14px;padding:12px;margin-top:10px}
.owltip img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid var(--gold);flex:none;box-shadow:0 4px 12px rgba(0,0,0,.5)}
.owltip .b{flex:1;min-width:0}
.owltip .t{font-size:14px;font-weight:900;color:var(--gold-b)}
.owltip .s{font-size:11.5px;color:var(--dim);margin-top:2px;line-height:1.5}
.owltip ol{margin:8px 0 0;padding-left:0;list-style:none;counter-reset:n}
.owltip ol li{position:relative;padding-left:26px;font-size:12px;line-height:1.6;margin-top:6px;counter-increment:n}
.owltip ol li::before{content:counter(n);position:absolute;left:0;top:2px;width:18px;height:18px;border-radius:50%;background:var(--gold);color:#1a1204;font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center}
.owltip ol li b{color:var(--text)}


#ranch.on{display:flex;flex-direction:column;min-height:calc(100*var(--vh))}
#ranch .hpad{flex:1;overflow-y:auto;padding:0 14px}
#ranch .tabs{position:sticky;bottom:0}
.rrow{display:flex;align-items:center;gap:9px;background:var(--panel);border:1.5px solid var(--line);border-radius:14px;padding:10px 12px;margin-top:6px;cursor:pointer;border-left-width:4px}
.rrow img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid var(--line);flex:none}
.rrow .b{flex:1;min-width:0}
.rrow .b b{font-size:14px;display:flex;align-items:center;gap:6px}
.rrow .b b .ty{font-size:9px;font-weight:700;border-radius:99px;padding:1px 6px;background:var(--panel2);color:var(--dim);border:1px solid var(--line)}
.rrow .b .st{font-size:10.5px;color:var(--dim);margin-top:2px}
.rrow .b .st b{color:var(--text);display:inline}
.rrow canvas{width:56px;height:24px;flex:none}
.rrow .r{text-align:right;flex:none}
.rrow .r b{font-size:14px;font-weight:900;display:block}
.rrow .r small{font-size:10.5px;font-weight:900}
.rrow .r em{display:block;font-size:9.5px;color:var(--dim);font-style:normal}
.rlog{display:flex;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:8px 10px;margin-top:6px;font-size:11.5px;line-height:1.5}
.rlog img{width:26px;height:26px;border-radius:50%;object-fit:cover;flex:none;border:1.5px solid var(--gold)}
.rlog .b{flex:1}.rlog .b b{display:block;font-size:12px}.rlog .b small{color:var(--dim)}
.rlog .t{font-size:10px;color:var(--dim);flex:none}


#s1{justify-content:flex-start;background:#05080d}
#s1 .herowrap{position:relative;inset:auto;width:100%;flex:none}
/* 포스터(동물 줄까지 자른 860×1118)를 남는 높이에 통째로 맞춘다.
   자르지 않으므로 어떤 화면 비율에서도 동물 여섯 마리가 반토막 나지 않는다.
   화면이 짧으면 포스터가 그만큼 작아지고 좌우에 여백이 생긴다. */
#s1 img.hero{height:100%;width:auto;max-width:100%;margin:0 auto;object-fit:contain;object-position:top center;display:block}
#s1 .herowrap{flex:1;min-height:0;display:flex;justify-content:center;align-items:flex-start;overflow:hidden}
/* 동물 여섯 마리를 살리려고 아래 글을 최소로 줄였다.
   700px 부터는 동물 줄이 통째로 들어간다. 그보다 짧으면 동물 줄 위에서 끊는다. */

/* 짧은 화면에서는 아래 글을 줄여 포스터에 높이를 몰아준다 */
@media (max-height:820px){
  #s1 .tag2{display:none}
  #s1 .tag{margin:4px 0 2px}
  #s1 .cta{padding:11px;font-size:14px;margin-top:7px}
  #s1 .mini{margin-top:8px;font-size:11px;gap:16px}
  #s1 .pad{padding-bottom:calc(14px + env(safe-area-inset-bottom))}
}
@media (max-height:700px){
  #s1 .tag{margin:2px 0 0}
  #s1 .cta{padding:10px;font-size:13.5px;margin-top:6px}
  #s1 .mini{margin-top:7px;font-size:10.5px}
  #s1 .pad{padding-bottom:calc(10px + env(safe-area-inset-bottom))}
}

#s1 .fade{height:9%;background:linear-gradient(transparent,#05080d 100%)}
#s1 .pad{flex:0 0 auto;display:flex;flex-direction:column;justify-content:flex-end;padding-top:6px}
#s1 .tag{display:block;font-size:14px;color:var(--dim);margin-bottom:4px}
#s1 .tag b{color:var(--gold-b)}

#s1 .tag{display:block !important;font-size:21.5px;line-height:1.38;font-weight:800;color:#eef1f4;letter-spacing:.01em;margin:8px 0 4px;text-transform:uppercase}
#s1 .tag i{font-style:normal;color:#e0453b;font-weight:900}
#s1 .tag2{font-size:12.5px;color:var(--dim);line-height:1.5;margin-bottom:8px}
@media (max-height:780px){#s1 .tag{font-size:19.5px}#s1 .tag2{font-size:11.5px}}
@media (max-height:680px){#s1 .tag{font-size:18px}}


/* 4 적립 */
.lbl{font-size:12px;color:var(--dim);margin-top:14px}
.inp{width:100%;margin-top:6px;background:var(--panel);border:1px solid var(--line);border-radius:10px;color:var(--gold-b);padding:11px;font-size:16px;font-weight:900;text-align:center;font-family:var(--sans)}
.sum{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px;margin-top:14px;font-size:13px}
.sum .r{display:flex;justify-content:space-between;padding:5px 0}.sum .r b{color:var(--gold-b)}
/* 5 AI 제안 */
.chars{display:flex;gap:6px;margin-top:12px}
.ch{flex:1;border-radius:12px;overflow:hidden;border:2px solid var(--line);position:relative;cursor:pointer;background:var(--panel2)}
.ch.on{border-color:var(--gold);box-shadow:0 0 0 2px rgba(201,162,74,.3)}
.ch img{width:100%;aspect-ratio:320/470;object-fit:cover;object-position:top;display:block;max-height:120px}
.ch .lb{font-size:10.5px;text-align:center;padding:5px 2px;background:var(--panel)}
.ch .lb b{display:block;font-size:11.5px}
.ch .rec{position:absolute;top:4px;left:4px;background:var(--gold);color:#1a1204;font-size:9px;font-weight:900;border-radius:99px;padding:1px 6px}
.field{margin-top:12px}.field label{font-size:11px;color:var(--dim)}
.field input{width:100%;margin-top:4px;background:var(--panel);border:1px solid var(--line);border-radius:10px;color:var(--text);padding:10px 12px;font-size:14px;font-weight:700;font-family:var(--sans)}
.desc{font-size:13px;line-height:1.7;margin-top:12px}
.pts{margin-top:10px}.pts div{font-size:12.5px;padding:4px 0;color:var(--text)}.pts div::before{content:'✓ ';color:var(--green);font-weight:900}
/* 5b 배분 */
.srow{display:flex;align-items:center;gap:8px;margin-top:8px}
.srow img{width:32px;height:32px;border-radius:50%;object-fit:cover;border:1.5px solid var(--gold);flex:none}
.srow .n{width:56px;font-size:12px;font-weight:700}
.srow input{flex:1;accent-color:var(--gold)}
.srow .v{width:38px;text-align:right;font-weight:900;font-size:12.5px}
.srow .a{width:66px;text-align:right;font-size:10.5px;color:var(--dim)}
.cc{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px;margin-top:10px}
.cc .hd{display:flex;gap:10px;align-items:center}
.cc .hd img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid var(--gold)}
.cc .hd b{font-size:14px;display:block}.cc .hd small{font-size:11px;color:var(--dim)}
.cc .hd .amt{margin-left:auto;text-align:right}.cc .hd .amt b{font-size:15px;color:var(--gold-b)}.cc .hd .amt small{display:block}
.cc .say{font-size:12.5px;line-height:1.65;margin-top:8px}
.cc .row{display:flex;gap:6px;margin-top:8px}
.cc .row div{flex:1;background:var(--panel2);border-radius:10px;padding:8px;text-align:center}
.cc .row .k{font-size:9.5px;color:var(--dim)}.cc .row .v{font-size:13px;font-weight:900;margin-top:2px}
.cc .kit{font-size:11.5px;color:var(--dim);margin-top:8px;line-height:1.6}.cc .kit b{color:var(--text)}
.cc .rule{font-size:11.5px;color:var(--dim);margin-top:4px;line-height:1.6}
/* 종목 시트 */
.tks{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.tks .tk{background:var(--panel2);border:1px solid var(--line);border-radius:99px;padding:5px 10px;font-size:11.5px;cursor:pointer;color:var(--text)}
.tks .tk b{color:var(--gold-b)}.tks .tk.add{border-style:dashed;color:var(--gold)}
.ov{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;z-index:20;align-items:flex-end;justify-content:center}
.ov.on{display:flex}
.sheet{width:100%;max-width:430px;max-height:calc(86*var(--vh));overflow-y:auto;background:var(--ink);border:1px solid var(--line);border-radius:22px 22px 0 0;padding:14px 16px calc(20px + env(safe-area-inset-bottom))}
.sheet .grab{width:40px;height:4px;border-radius:2px;background:var(--line);margin:0 auto 10px}
.sheet h3{font-size:18px;font-weight:900}.sheet h3 small{color:var(--dim);font-size:12px;font-weight:500}
.sheet .one{font-size:12.5px;color:var(--dim);margin-top:8px;line-height:1.6}
.sheet .mini{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px;text-align:center}
.sheet .mini .k{font-size:9.5px;color:var(--dim)}.sheet .mini .v{font-size:14px;font-weight:900;margin-top:2px}
.pc{margin-top:10px}.pc .t{font-weight:900;font-size:12.5px;margin-bottom:4px}.pc.good .t{color:var(--green)}.pc.bad .t{color:var(--red)}.pc.hurt .t{color:#e0a055}
.pc ul{padding-left:16px;font-size:12px;line-height:1.7}.pc p{font-size:12px;line-height:1.7}
.delta{background:rgba(201,162,74,.1);border:1px solid var(--gold);border-radius:10px;padding:8px 10px;margin-top:10px;font-size:12px;line-height:1.6}
.delta b{color:var(--gold-b)}
/* 6 포트폴리오 */
.donut{display:flex;gap:14px;align-items:center;margin-top:12px}
.donut canvas{width:130px;height:130px;flex:none}
.donut .est{flex:1}.donut .est .k{font-size:11px;color:var(--dim)}.donut .est .v{font-size:24px;font-weight:900;color:var(--green)}.donut .est .s{font-size:11px;color:var(--dim)}
.hl{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid rgba(53,87,122,.65);font-size:12.5px;cursor:pointer}
.hl i{width:10px;height:10px;border-radius:2px;flex:none}
.hl b{width:48px}.hl .n{flex:1;color:var(--dim);font-size:11.5px}.hl .w{font-weight:900}
.why{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px;margin-top:12px;font-size:12.5px;line-height:1.7}
.why .t{color:var(--gold-b);font-weight:900;font-size:12px}
/* 7 백테스트 */
.vs{display:flex;gap:8px;margin-top:12px}
.vs div{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px;text-align:center}
.vs .k{font-size:11px;color:var(--dim)}.vs .v{font-size:22px;font-weight:900;margin-top:4px}.vs .s{font-size:10.5px;color:var(--dim)}
.vs .me{border-color:var(--green)}
.chartbox{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:8px;margin-top:10px}
.chartbox canvas{width:100%;height:auto;display:block}
.tbl{width:100%;border-collapse:collapse;font-size:12px;margin-top:10px}
.tbl th{color:var(--dim);font-weight:500;text-align:left;padding:6px 4px;border-bottom:1px solid var(--line)}
.tbl td{padding:7px 4px;border-bottom:1px solid rgba(53,87,122,.65)}
/* 8 출발 */
.model{background:var(--panel);border:1px solid var(--gold);border-radius:14px;padding:14px;margin-top:12px}
.model .t{display:flex;justify-content:space-between;align-items:center}
.model .t b{font-size:16px}.model .t small{background:var(--gold);color:#1a1204;font-size:10px;font-weight:900;border-radius:99px;padding:2px 8px}
.model .stats{display:flex;gap:6px;margin-top:10px}
.model .stats div{flex:1;text-align:center;background:var(--panel2);border-radius:10px;padding:8px 4px}
.model .stats .k{font-size:10px;color:var(--dim)}.model .stats .v{font-size:14px;font-weight:900;margin-top:2px}
.team{display:flex;gap:6px;margin-top:12px}
.team{justify-content:center}
.team img{width:31%;max-width:130px;border-radius:10px;border:2px solid var(--gold);aspect-ratio:320/470;object-fit:cover;object-position:top}
.mentor{display:flex;gap:10px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px;margin-top:12px;font-size:12.5px;line-height:1.6}
.mentor img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid var(--gold);flex:none}
.foot{font-size:10px;color:#5b6a76;text-align:center;margin-top:12px}

/* ===== HOME ===== */
/* 홈 그래프 */
.homechart{padding:8px 16px 4px}
.homechart .cap{display:flex;justify-content:space-between;font-size:11px;color:var(--dim);margin-bottom:4px}
.homechart .cap b{color:var(--gold-b)}
.homechart canvas{width:100%;height:auto;display:block;background:var(--panel);border:1px solid var(--line);border-radius:12px}
.homechart .legend{padding:6px 2px 0}
.scores{display:flex;gap:6px;padding:6px 16px 8px;overflow-x:auto}
.sc{flex:none;display:flex;gap:6px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:99px;padding:4px 10px 4px 4px;font-size:11.5px}
.sc img{width:24px;height:24px;border-radius:50%;object-fit:cover}
.sc b{font-weight:900}
.sc.tot{border-color:var(--gold);background:rgba(201,162,74,.12);padding-left:10px}.sc.tot small{color:var(--dim);font-size:10px;margin-left:2px}
/* 동물 상세 */
.hold{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid rgba(53,87,122,.65);cursor:pointer}
.hold .ic{font-size:18px;width:24px;text-align:center}.hold .b{flex:1}.hold .tk{font-weight:900;font-size:14px}.hold .tk small{color:var(--dim);font-weight:500;font-size:11px}
.hold .one{font-size:11px;color:var(--dim)}.hold .w{font-size:12px;color:var(--dim);width:36px;text-align:right}.hold .c{font-weight:900;width:52px;text-align:right}
.rulebox{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px;margin-top:6px}
.rule{padding:8px 0;border-bottom:1px dashed var(--line)}.rule:last-child{border:none}
.rule .t{font-weight:900;font-size:13.5px}.rule .t small{color:var(--gold);font-weight:700;font-size:11px;margin-left:6px}
.rule .e{font-size:12.5px;line-height:1.7;margin-top:3px}.rule .e b{color:var(--gold-b)}
.rule .pm{font-size:11.5px;color:var(--dim);margin-top:4px;line-height:1.6}
.rule .pm i{font-style:normal;color:var(--green)}.rule .pm u{text-decoration:none;color:#e0a055}
/* 홈 */
/* Home header - face large on the left, name under it, amount and change on the right */
.hdr{display:flex;align-items:flex-start;gap:11px;padding:12px 14px 6px}
.hdr .me{flex:0 0 auto;text-align:center;width:66px}
.hdr .me .avbtn{width:64px;height:64px;border-radius:18px;margin:0 auto}
.hdr .me .nm{margin-top:5px;font-size:10.5px;font-weight:800;color:var(--dim);cursor:pointer;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hdr .mid{flex:1;min-width:0;padding-top:2px}
.hdr .hbtns{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:4px;padding-top:2px}
.hdr .tot{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px}
.hdr .tot .amt{font-size:30px;font-weight:950;letter-spacing:-.8px;line-height:1.15;font-variant-numeric:tabular-nums}
.hdr .tot .sub{flex:1 0 100%;font-size:11px;font-weight:800;color:var(--dim);line-height:1.4}
.hdr .tot .sub b{font-weight:900}
.hdr .tot .chg{font-size:14px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1.1}
.hdr .tot .chg small{display:block;font-size:8.5px;font-weight:700;color:var(--dim);letter-spacing:0}
.hdr .tot .sub{flex:0 0 100%;font-size:11.5px;color:var(--dim);font-weight:700;line-height:1.5;margin-top:2px}
/* Pre-launch badge — this slot used to break into two lines (audit B1).
   Borrowing the return slot (.chg) pushes its <small> onto its own line */
.hdr .tot .hpre{align-self:center;font-size:10.5px;font-weight:800;color:var(--dim);white-space:nowrap;border:1px solid var(--line);border-radius:99px;padding:2px 8px;letter-spacing:0}
.hdr .tot .sub b{font-size:12px}

.hdr .lv{font-size:11px;font-weight:900;color:var(--gold-b);border:1px solid var(--gold);border-radius:99px;padding:3px 10px;cursor:pointer}
/* 원금과 등락이 홈에서 제일 중요한 숫자다 — 가장 크게 (2026-08-23) */
.hdr .tot{font-size:26px;font-weight:900;letter-spacing:-.7px;line-height:1.3;font-variant-numeric:tabular-nums}
.hdr .tot small{color:var(--dim);font-weight:700;font-size:13px;line-height:1.6}
.hdr .tot small b{font-size:13.5px}
.hdr .tot .vbadge{font-size:10px;vertical-align:3px}
.hdr .tot .tri{display:inline-block;margin-right:7px;font-size:19px;vertical-align:2px;line-height:1}
.hdr .tot .tri.up{color:var(--upc)}
.hdr .tot .tri.dn{color:var(--dnc)}
.hdr .tot .tri.fl{color:var(--dim);font-size:22px}

.chat{display:flex;flex-direction:column;gap:10px;padding:8px 16px}
.msg{display:flex;gap:8px;align-items:flex-end}
.msg img{width:38px;height:38px}
.msg .b{background:var(--panel);border:1px solid var(--line);border-radius:4px 16px 16px 16px;padding:12px 14px;font-size:14px;line-height:1.7;max-width:86%}
.msg .b b{color:var(--gold-b)}.msg .b .nm{font-size:10.5px;color:var(--gold);font-weight:700;margin-bottom:3px}
.msg.me{justify-content:flex-end}.msg.me .b{background:#1e2a3a;border-radius:16px 4px 16px 16px}
.choice{display:block;background:var(--panel2);border:1.5px solid var(--gold);border-radius:12px;padding:12px;margin-top:8px;font-size:14px;font-weight:700;cursor:pointer;text-align:center}
.choice.sub{border-color:var(--line);font-weight:500;color:var(--dim)}
.done{text-align:center;color:var(--dim);font-size:12.5px;padding:14px;line-height:1.7}
.done b{color:var(--green);display:block;font-size:16px}
/* 목장 */
.an{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:12px;margin-top:10px;display:flex;gap:12px;align-items:center;cursor:pointer}
.an img{width:70px;height:98px;object-fit:cover;object-position:top;border-radius:12px;flex:none}
.an .b{flex:1}.an .nm{font-weight:900;font-size:15px}.an .v{font-size:19px;font-weight:900;margin-top:2px}
.an .s{font-size:11.5px;color:var(--dim);margin-top:3px}
.an .go{color:var(--gold);font-size:18px}
.an.v2{border-color:var(--gold);background:rgba(201,162,74,.06)}
.total{background:linear-gradient(180deg,rgba(201,162,74,.14),transparent);border:1px solid var(--line);border-radius:18px;padding:16px;text-align:center;margin-top:10px}
.total .k{font-size:11px;color:var(--dim)}.total .v{font-size:30px;font-weight:900;margin-top:2px}
.total .vs{font-size:12.5px;margin-top:4px;color:var(--dim)}
.more{font-size:12px;color:var(--gold);font-weight:700;text-align:center;margin-top:8px;cursor:pointer}
.detail{display:none;margin-top:8px}.detail.on{display:block}
.chartbox{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:8px}
.chartbox canvas{width:100%;height:auto;display:block}
.legend{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;padding:6px 4px 2px}
.legend span::before{content:'━ ';font-weight:900}
/* 레벨 */
.lvcard{display:flex;flex-direction:column;align-items:center}
.lvcard .n{font-size:13px;font-weight:900;letter-spacing:.2em;color:var(--gold-b);border:1.5px solid var(--gold);border-radius:99px;padding:4px 16px}
.lvcard img{width:190px;border-radius:16px;border:3px solid var(--gold);margin-top:10px;box-shadow:0 12px 34px rgba(0,0,0,.5)}
.lvcard .nm{font-size:18px;font-weight:900;margin-top:10px}
.prog{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px;margin-top:12px;text-align:center}
.prog .t{font-size:13px}.prog .t b{color:var(--gold-b)}
.prog .bar{height:8px;background:var(--panel2);border-radius:4px;margin-top:8px;overflow:hidden}
.prog .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-b))}
.prog .d{font-size:11px;color:var(--dim);margin-top:6px}
/* 종목 시트 */
.ov{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;z-index:20;align-items:flex-end;justify-content:center}
.ov.on{display:flex}
.sheet{width:100%;max-width:430px;max-height:calc(86*var(--vh));overflow-y:auto;background:var(--ink);border:1px solid var(--line);border-radius:22px 22px 0 0;padding:14px 16px calc(20px + env(safe-area-inset-bottom));animation:up .28s ease}
@keyframes up{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
.sheet .grab{width:40px;height:4px;border-radius:2px;background:var(--line);margin:0 auto 10px}
.sheet h3{font-size:18px;font-weight:900}.sheet h3 small{color:var(--dim);font-size:12px;font-weight:500}
.sheet .one{font-size:12.5px;color:var(--dim);margin-top:6px;line-height:1.6}
.pc{margin-top:12px}.pc .t{font-weight:900;font-size:12.5px;margin-bottom:5px}
.pc.good .t{color:var(--green)}.pc.bad .t{color:var(--red)}.pc.hurt .t{color:#e0a055}.pc.news .t{color:var(--gold-b)}
.pc ul{padding-left:16px;font-size:12px;line-height:1.7}.pc p{font-size:12px;line-height:1.7}
.nw{border-left:2px solid var(--gold);padding:5px 10px;margin-top:6px;font-size:11.5px;line-height:1.5}
.nw b{display:block}.nw small{color:var(--dim)}
.si .more{font-size:10.5px;color:var(--gold);margin-top:2px}
/* 홈 그래프 */
.homechart{padding:8px 16px 4px}
.homechart .cap{display:flex;justify-content:space-between;font-size:11px;color:var(--dim);margin-bottom:4px}
.homechart .cap b{color:var(--gold-b)}
.homechart canvas{width:100%;height:auto;display:block;background:var(--panel);border:1px solid var(--line);border-radius:12px}
.homechart .legend{padding:6px 2px 0}
.scores{display:flex;gap:6px;padding:6px 16px 8px;overflow-x:auto}
.sc{flex:none;display:flex;gap:6px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:99px;padding:4px 10px 4px 4px;font-size:11.5px}
.sc img{width:24px;height:24px;border-radius:50%;object-fit:cover}
.sc b{font-weight:900}
.sc.tot{border-color:var(--gold);background:rgba(201,162,74,.12);padding-left:10px}.sc.tot small{color:var(--dim);font-size:10px;margin-left:2px}
/* 동물 상세 */
.hold{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid rgba(53,87,122,.65);cursor:pointer}
.hold .ic{font-size:18px;width:24px;text-align:center}.hold .b{flex:1}.hold .tk{font-weight:900;font-size:14px}.hold .tk small{color:var(--dim);font-weight:500;font-size:11px}
.hold .one{font-size:11px;color:var(--dim)}.hold .w{font-size:12px;color:var(--dim);width:36px;text-align:right}.hold .c{font-weight:900;width:52px;text-align:right}
.rulebox{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px;margin-top:6px}
.rule{padding:8px 0;border-bottom:1px dashed var(--line)}.rule:last-child{border:none}
.rule .t{font-weight:900;font-size:13.5px}.rule .t small{color:var(--gold);font-weight:700;font-size:11px;margin-left:6px}
.rule .e{font-size:12.5px;line-height:1.7;margin-top:3px}.rule .e b{color:var(--gold-b)}
.rule .pm{font-size:11.5px;color:var(--dim);margin-top:4px;line-height:1.6}
.rule .pm i{font-style:normal;color:var(--green)}.rule .pm u{text-decoration:none;color:#e0a055}
/* 입력 */
.quick{display:flex;gap:6px;padding:4px 16px 6px;overflow-x:auto}
.quick span{flex:none;border:1px solid var(--line);border-radius:99px;padding:6px 10px;font-size:11.5px;font-weight:700;cursor:pointer;background:var(--panel)}
.inputbar{display:flex;gap:6px;padding:4px 16px 8px}
.inputbar input{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:99px;padding:10px 14px;font-size:13px;color:var(--text);font-family:var(--sans);outline:none}
.inputbar button{width:40px;height:40px;border-radius:50%;background:var(--gold);color:#1a1204;border:none;font-weight:900;cursor:pointer;font-size:16px}
/* 탭 */
.tabs{display:flex;border-top:1px solid var(--line);background:var(--panel);padding:6px 0 calc(6px + env(safe-area-inset-bottom))}
.tab{flex:1;text-align:center;font-size:11px;color:var(--dim);padding:6px 0;cursor:pointer;position:relative}
.tab .ic{font-size:22px;display:block}.tab.on{color:var(--gold-b)}
.tab .badge{position:absolute;top:2px;right:28%;background:var(--red);color:#fff;font-size:9px;font-weight:900;border-radius:99px;padding:1px 5px}


.step{font-size:10.5px;color:var(--dim);letter-spacing:.06em;text-align:center;margin-top:10px}
.foot{font-size:10px;color:#5b6a76;text-align:center;margin-top:12px}/* 동물 상세 */
.hold{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid rgba(53,87,122,.65);cursor:pointer}
.hold .ic{font-size:18px;width:24px;text-align:center}.hold .b{flex:1}.hold .tk{font-weight:900;font-size:14px}.hold .tk small{color:var(--dim);font-weight:500;font-size:11px}
.hold .one{font-size:11px;color:var(--dim)}.hold .w{font-size:12px;color:var(--dim);width:36px;text-align:right}.hold .c{font-weight:900;width:52px;text-align:right}
.rulebox{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px;margin-top:6px}
.rule{padding:8px 0;border-bottom:1px dashed var(--line)}.rule:last-child{border:none}
.rule .t{font-weight:900;font-size:13.5px}.rule .t small{color:var(--gold);font-weight:700;font-size:11px;margin-left:6px}
.rule .e{font-size:12.5px;line-height:1.7;margin-top:3px}.rule .e b{color:var(--gold-b)}
.rule .pm{font-size:11.5px;color:var(--dim);margin-top:4px;line-height:1.6}
.rule .pm i{font-style:normal;color:var(--green)}.rule .pm u{text-decoration:none;color:#e0a055}
/* 탭 */
.tabs{display:flex;border-top:1px solid var(--line);background:var(--panel);padding:6px 0 calc(6px + env(safe-area-inset-bottom))}
.tab{flex:1;text-align:center;font-size:11px;color:var(--dim);padding:6px 0;cursor:pointer;position:relative}
.tab .ic{font-size:22px;display:block}.tab.on{color:var(--gold-b)}
.tab .badge{position:absolute;top:2px;right:28%;background:var(--red);color:#fff;font-size:9px;font-weight:900;border-radius:99px;padding:1px 5px}


.step{font-size:10.5px;color:var(--dim);letter-spacing:.06em;text-align:center;margin-top:10px}
.foot{font-size:10px;color:#5b6a76;text-align:center;margin-top:12px}


.pad{padding:16px 16px calc(24px + env(safe-area-inset-bottom))}
.face{border-radius:50%;object-fit:cover;border:2px solid var(--gold);flex:none}
.step{font-size:10.5px;color:var(--dim);letter-spacing:.06em;text-align:center;margin-top:10px}
#home,#ranch{height:calc(100*var(--vh));min-height:calc(100*var(--vh));padding:0;overflow:hidden}
#home .chat{overflow-y:auto;flex:1;min-height:0}#ranch .pad{overflow-y:auto}
#animal,#lv,#lvup{min-height:calc(100*var(--vh))}
.legend{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;padding:6px 4px 2px}.legend span::before{content:'━ ';font-weight:900}
.msg .choice{display:block;background:var(--panel2);border:1.5px solid var(--gold);border-radius:12px;padding:12px;margin-top:8px;font-size:14px;font-weight:700;cursor:pointer;text-align:center}
.msg .choice.sub{border-color:var(--line);font-weight:500;color:var(--dim)}


/* PLAN 4·5·6 — 투자철학 · 보유 이유 · 장점/위험 */
.whybox{margin-top:10px;border-top:1px dashed var(--line);padding-top:10px}
.whybox img.mcard{width:64px;height:102px;border-radius:9px;object-fit:cover;flex:0 0 64px;border:1px solid rgba(232,199,119,.45)}
@media (min-width:740px){ .whybox img.mcard{width:110px;height:176px;flex-basis:110px;border-radius:12px} .whybox{align-items:center} }
.whybox .wt{font-size:11px;font-weight:900;color:var(--gold-b);margin:8px 0 4px}
.whybox .wp{font-size:12px;line-height:1.65;color:var(--text)}
.whybox ul.wh{list-style:none;padding:0;margin:0}
.whybox ul.wh li{font-size:11.5px;line-height:1.6;color:var(--dim);padding:6px 0;border-bottom:1px solid var(--line)}
.whybox ul.wh li:last-child{border-bottom:0}
.whybox ul.wh li b{color:var(--text);font-size:12px}
.whybox .ww{color:var(--gold-b);font-weight:700;font-size:11px}
.whybox .w2{display:flex;gap:8px;margin-top:10px}
.whybox .w2>div{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.whybox .w2 .wg{border-color:#2f5f43}.whybox .w2 .wb{border-color:#6a3a3a}
.whybox .w2 ul{list-style:none;padding:0;margin:0}
.whybox .w2 li{font-size:11px;line-height:1.55;color:var(--dim);padding:2px 0}
.whybox .w2 li:before{content:'· '}

.whyown{margin-top:8px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--gold-b);border-radius:8px;padding:8px 10px;font-size:11.5px;line-height:1.6;color:var(--dim)}
.whyown b{color:var(--gold-b);font-size:11px}

/* PLAN 10 — LAUNCH 화면 단순화 */
.mdlist{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.mdcard{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px 14px;text-align:left}
.mdcard.on{border-color:var(--gold);box-shadow:0 0 0 1px rgba(201,162,74,.35) inset}
.mdcard .mh{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.mdcard .mn{font-size:14px;font-weight:900}
.mdcard .mv{font-size:11px;color:var(--gold-b);font-weight:700}
.mdcard .mt{font-size:11.5px;color:var(--dim);margin-top:3px}
.mdcard .me{display:flex;gap:10px;align-items:baseline;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line)}
.mdcard .me .ml{font-size:10.5px;color:var(--dim)}
.mdcard .me .mb{font-size:19px;font-weight:900;color:#3fb37a}
.mdcard .me .mp{font-size:12px;font-weight:700;color:#3fb37a}
.mdcard .mw{font-size:11px;color:var(--dim);margin-top:4px}
.mdnote{font-size:10.5px;color:var(--dim);margin-top:6px;line-height:1.5}
details.s8d{margin-top:12px;border-top:1px dashed var(--line);padding-top:10px}
details.s8d>summary{font-size:12px;color:var(--gold-b);font-weight:700;cursor:pointer;list-style:none}
details.s8d>summary::-webkit-details-marker{display:none}
details.s8d>summary:before{content:'▸ ';}
details.s8d[open]>summary:before{content:'▾ ';}

/* PLAN 7·8 — AI Tuning */
.tdir{display:flex;gap:12px;margin-top:6px;font-size:10.5px;color:var(--dim)}
.tdir .tg{color:#3fb37a;font-weight:800}.tdir .tr{color:#e06455;font-weight:800}.tdir .tq{color:var(--dim)}
.altwhy{font-size:10.5px;color:var(--dim);line-height:1.5;margin-top:4px}
.gcard{background:var(--panel);border:1px solid var(--gold);border-radius:12px;padding:10px 12px;margin-top:8px;cursor:pointer}
.gcard .gh{display:flex;gap:9px;align-items:center}
.gcard .gh img{width:34px;height:34px;border-radius:50%;object-fit:cover}
.gcard .gh b{font-size:12.5px;display:block}
.gcard .gh small{font-size:11px;color:var(--gold-b)}
.gcard .gw{font-size:11px;color:var(--dim);line-height:1.55;margin-top:7px}
.gcard .gw b{color:var(--gold-b)}

/* PLAN 1·21 — GAME MONEY / MY MONEY 트랙 */
/* 두 갈래 화면(s1b) — 색으로 두 세계를 가른다. 금색=놀이 / 파랑=진지.
   한 화면에 다 들어가야 하므로 띠·글자·여백을 전부 조인다. 스크롤 나면 실패다. */
.modewrap{display:flex;flex-direction:column;gap:9px;margin-top:9px}
.modecard{--mo:#c9a24a;--mo-b:#e8c777;--mo-t:rgba(201,162,74,.14);--mo-g:rgba(201,162,74,.32);
  position:relative;background:linear-gradient(158deg,var(--mo-t),rgba(17,26,38,.5) 58%),var(--panel);
  border:1px solid var(--mo);border-radius:18px;padding:13px 13px 12px;text-align:left;cursor:pointer;
  box-shadow:0 8px 22px rgba(0,0,0,.38)}
.modecard:active{transform:scale(.994)}
.modecard .mbadge{position:absolute;top:-9px;left:14px;background:var(--mo-b);color:#1a1206;font-size:10px;font-weight:900;border-radius:99px;padding:2px 9px;box-shadow:0 2px 9px var(--mo-g)}
.mohead{display:flex;gap:11px;align-items:flex-start}
.moic{flex:0 0 auto;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:var(--mo-b);border:1px solid var(--mo);
  background:radial-gradient(circle at 50% 42%,var(--mo-t),rgba(5,8,13,.55));
  box-shadow:0 0 18px var(--mo-g) inset,0 0 12px var(--mo-g)}
.moic svg{width:31px;height:31px}
.mohead .b{flex:1;min-width:0}
.mono{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:50%;background:var(--mo);color:#0a1018;font-size:10.5px;font-weight:900;margin-right:6px;vertical-align:1px}
.modecard .mt{font-size:16px;font-weight:900;letter-spacing:-.3px}
.modecard .mc{font-size:12px;color:var(--mo-b);font-weight:800;margin-top:3px}
.modecard .md{font-size:11px;color:var(--dim);line-height:1.5;margin-top:5px}
.mofeat{display:flex;margin-top:9px;border-top:1px solid rgba(255,255,255,.24);padding-top:8px}
.mofi{flex:1;min-width:0;text-align:center;font-size:9.5px;color:var(--dim);line-height:1.3;padding:0 2px}
.mofi+.mofi{border-left:1px solid rgba(255,255,255,.24)}
.mofi.nolg{flex:1.9}
.mofi svg{width:21px;height:21px;color:var(--mo-b);display:block;margin:0 auto 3px}
.mocta{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;margin-top:9px;height:38px;
  border:0;border-radius:11px;background:linear-gradient(180deg,var(--mo-b),var(--mo));color:#0a1018;
  font-family:inherit;font-size:13.5px;font-weight:900;cursor:pointer}
.mocta i{font-style:normal;font-weight:700}
.modeflow{font-size:10.5px;color:var(--dim);text-align:center;margin-top:10px;line-height:1.5}
#s1b .band{height:auto;flex:1 1 auto;min-height:200px}   /* 띠가 남는 공간을 다 채우고 내용은 아래 정렬 (사장님 2026-09-05) */   /* 황소 그림이 보이게 띠를 키우고 상자를 아래로 (사장님 2026-09-05) */
#s1b .band img{object-position:center 20%}
#s1b h1{font-size:21px;margin-top:4px}
#s1b h1 b{color:var(--gold-b)}
#s1b .sub{font-size:11.5px;margin-top:3px}
#s1b .rise{padding-top:4px;flex:0 0 auto;justify-content:flex-end}   /* 내용을 화면 아래에 붙여 정렬 (사장님 2026-09-05) */

/* ── 환영 화면(s1c) · 시작 자본(s2) — GPT 시안 반영 2026-08-23 ───────── */
.welh{font-size:22px;line-height:1.35;margin-top:6px}
.welh b{font-weight:400}
.welbox{background:linear-gradient(170deg,rgba(201,162,74,.10),rgba(17,26,38,.55) 55%),var(--panel);
  border:1px solid var(--gold);border-radius:18px;padding:16px 15px;text-align:center;margin-top:12px}
.welbox .wk{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:800;color:var(--gold-b);
  border:1px solid var(--gold);border-radius:99px;padding:5px 13px;background:rgba(5,8,13,.4)}
.welbox .wk svg{width:17px;height:17px}
.welbox .wv{font-size:44px;font-weight:900;color:var(--gold-b);margin-top:8px;letter-spacing:-1.5px;
  font-variant-numeric:tabular-nums;text-shadow:0 3px 18px rgba(201,162,74,.35)}
.welbox .wl{display:flex;gap:11px;align-items:center;text-align:left;margin-top:12px;padding-top:12px;
  border-top:1px solid rgba(255,255,255,.24);font-size:12px;color:#c1ccd6;line-height:1.65}
.welbox .wi{flex:0 0 auto;color:var(--gold-b);display:flex}
.welbox .wi svg{width:26px;height:26px}
.welfeat{margin-top:12px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:12px 8px}
.welfeat .wfh{text-align:center;font-size:11.5px;font-weight:800;color:var(--gold-b);margin-bottom:9px}
.welfeat .wfrow{display:flex}
.welfeat .wf{flex:1;min-width:0;text-align:center;font-size:9.5px;color:var(--dim);line-height:1.35;padding:0 3px}
.welfeat .wf+.wf{border-left:1px solid rgba(255,255,255,.24)}
.welfeat .wf svg{width:24px;height:24px;color:var(--gold-b);display:block;margin:0 auto 5px}
.capcard{margin-top:12px;background:linear-gradient(170deg,rgba(201,162,74,.08),rgba(17,26,38,.55) 55%),var(--panel);
  border:1px solid var(--gold);border-radius:18px;padding:12px 13px 14px}
.captabs{display:flex;gap:5px;background:rgba(5,8,13,.5);border:1px solid var(--line);border-radius:12px;padding:4px}
.captabs span{flex:1;text-align:center;font-size:11.5px;font-weight:800;color:var(--dim);padding:8px 4px;border-radius:9px}
.captabs span.on{background:rgba(201,162,74,.16);box-shadow:inset 0 0 0 1px var(--gold);color:var(--gold-b)}
.capk{text-align:center;font-size:11.5px;color:var(--dim);margin-top:13px;letter-spacing:.05em}
.caprow{display:flex;align-items:center;gap:10px;margin-top:2px}
.caprow .v{flex:1;text-align:center;font-size:36px;font-weight:900;color:var(--gold-b);letter-spacing:-1px;font-variant-numeric:tabular-nums}
.caprow .rnd{width:42px;height:42px;flex:0 0 auto;border-radius:50%;border:1.5px solid var(--gold);
  background:rgba(201,162,74,.08);color:var(--gold-b);font-size:21px;font-weight:700;cursor:pointer;line-height:1;font-family:inherit}
.capcard #capR{width:100%;margin-top:10px;accent-color:var(--gold-b)}
.capcard .chips{margin-top:11px}
.capcustom{display:flex;align-items:center;gap:9px;margin-top:10px;background:rgba(5,8,13,.45);
  border:1px solid var(--line);border-radius:12px;padding:0 12px}
.capcustom .pen{color:var(--gold);display:flex}
.capcustom .pen svg{width:17px;height:17px}
.capcustom input{flex:1;min-width:0;background:none;border:0;color:var(--text);font-size:14px;font-weight:700;
  font-family:inherit;padding:13px 0;outline:none}
.tip2{display:flex;gap:11px;align-items:flex-start}
.tip2 .ti{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:rgba(201,162,74,.14);
  border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;color:var(--gold-b)}
.tip2 .ti svg{width:19px;height:19px}
.tip2 b{color:var(--gold-b);font-size:13px}
/* ── 종목 화면(s3s) — GPT 시안 반영 2026-08-23 ─────────────────────── */
/* 머리를 한 덩어리로 줄였다 — 얼굴은 옆에 작게, 글은 왼쪽 한 축 (2026-08-23) */
.shophead{padding:12px 16px 4px;background:var(--ink)}
.shophead .stepno{margin-bottom:9px}
.shophead .shr{display:flex;gap:11px;align-items:center}
.shophead .sht{flex:1;min-width:0;text-align:left}
.shophead .hi{font-size:11px;font-weight:800;color:var(--gold-b);margin-bottom:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shophead h1{font-size:19px;line-height:1.28;margin:0;text-align:left}
.shophead h1 b{color:var(--gold-b)}
.shophead p{font-size:10.5px;color:var(--dim);line-height:1.5;margin:6px 0 0;text-align:left}
.shme{flex:0 0 auto;width:62px;height:62px;border-radius:50%;overflow:hidden;
  border:1.5px solid var(--gold);box-shadow:0 4px 14px rgba(0,0,0,.5)}
.shme img{width:100%;height:100%;object-fit:cover;display:block}
/* 검색칸·칩 테두리가 배경에 묻혀 안 보였다 — 카드와 같은 기준으로 올린다 (2026-08-23) */
.shopsearch{display:flex;align-items:center;gap:9px;
  background:linear-gradient(170deg,rgba(255,255,255,.05),rgba(255,255,255,0) 60%),var(--panel2);
  border:1px solid rgba(255,255,255,.24);border-radius:14px;padding:0 13px;margin-top:4px;color:var(--dim);
  box-shadow:0 3px 10px rgba(0,0,0,.4)}
.shopsearch:focus-within{border-color:var(--gold);box-shadow:0 3px 14px rgba(0,0,0,.5)}
.shopsearch svg{width:18px;height:18px;flex:0 0 auto}
.shopsearch input{flex:1;min-width:0;background:none;border:0;outline:none;color:var(--text);
  font-family:inherit;font-size:13.5px;font-weight:600;padding:12px 0}
.shopcats span{display:inline-flex;align-items:center;gap:6px}
.shopcats span svg{width:15px;height:15px}
.railwrap{margin-top:14px}
.railh{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:800;color:var(--text)}
.railh b{display:inline-flex;align-items:center;gap:7px;font-weight:800}
.railh svg{width:16px;height:16px;color:var(--gold-b)}
.railh small{font-size:11px;color:var(--dim);font-weight:600}
/* 3학년 자리 바꾸기 — 시안 그대로 (사장님 2026-08-31) */
/* 3학년 카드는 종목 카드 규격으로 — 값·등락·그래프 (사장님 2026-08-31) */
.g3row .c .stile{display:flex;align-items:center;justify-content:center;width:34px;height:34px;
  margin:0 auto 6px;border-radius:11px;font-size:10.5px;font-weight:900;letter-spacing:-.3px;
  color:var(--c,#c9a24a);background:linear-gradient(150deg,color-mix(in srgb,var(--c,#c9a24a) 30%,transparent),rgba(5,8,13,.5));
  border:1px solid color-mix(in srgb,var(--c,#c9a24a) 45%,transparent)}
.g3row .c{text-align:center}
.g3row .c .px{font-size:13px;font-weight:900;margin-top:7px}
.g3row .c .dp{font-size:11px;font-weight:800;margin-top:2px}
.g3row .c .dp.up{color:var(--upc)}.g3row .c .dp.dn{color:var(--dnc)}
.g3row .c svg.spk{display:block;margin:6px auto 0}
.g3lab{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;
  font-size:11.5px;font-weight:800;color:var(--dim);margin:12px 2px 6px}
.g3lab .k{font-size:10.5px;font-weight:700;color:var(--gold-b)}
.g3row{display:flex;gap:9px}
.g3row .c{flex:1;min-width:0;border-radius:14px;padding:11px 10px;
  background:var(--panel2);border:1px solid var(--line);cursor:pointer;position:relative}
.g3row .c .sym{font-size:19px;font-weight:900;letter-spacing:-.4px}
.g3row .c .real{font-size:10.5px;color:var(--dim);margin-top:2px}
.g3row .c .amt{font-size:12px;font-weight:800;margin-top:9px}
.g3row .c.hole{background:transparent;border:1.5px dashed rgba(201,162,74,.65);
  display:flex;align-items:center;justify-content:center;text-align:center}
.g3row .c.hole .t{font-size:12.5px;font-weight:800;color:var(--gold-b);line-height:1.4}
.g3row .c.on{border-color:var(--gold-b);box-shadow:0 0 0 1px var(--gold-b) inset}
.g3row .c .chip{display:inline-block;margin-top:8px;padding:3px 10px;border-radius:99px;
  font-size:10px;font-weight:800;color:#0a1018;background:linear-gradient(180deg,var(--gold-b),var(--gold))}
.g3up{display:flex;align-items:center;gap:8px;margin:8px 2px 0;
  font-size:11px;font-weight:800;color:var(--gold-b)}
.g3up svg{width:34px;height:26px;flex:0 0 auto}
.g3res{display:flex;gap:9px;margin-top:14px}
.g3res .b{flex:1;border-radius:14px;padding:11px 12px;background:var(--panel2);border:1px solid var(--line)}
.g3res .b.new{border-color:var(--gold-b)}
.g3res .b .k{font-size:11px;color:var(--dim);font-weight:700}
.g3res .b .v{font-size:21px;font-weight:900;margin-top:4px;letter-spacing:-.5px}
.g3res .b.new .v{color:var(--gold-b)}
.g3per{text-align:center;font-size:10.5px;color:var(--dim);margin-top:8px}
@keyframes wkpop{0%{transform:scale(1)}35%{transform:scale(1.3)}100%{transform:scale(1)}}
.wkr em.big{display:inline-block;animation:wkpop .7s 1.9s ease-out}
/* 7학년 교훈 두 줄 — 금색은 첫 줄만 (오더 2026-08-31) */
.a7les{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}
.a7les b{display:block;font-size:13.5px;font-weight:800;color:var(--gold-b);line-height:1.55}
.a7les span{display:block;font-size:12px;color:var(--dim);margin-top:6px;line-height:1.55}
/* 1학년 주간 그래프 — 세 줄이 같이 그려지고, 그다음 금액, 그다음 늘어난 돈 (사장님 2026-08-31) */
@keyframes wkfade{from{opacity:0}to{opacity:1}}
.acwk .wkdot{animation:wkfade .3s .85s both}
/* 4학년 — 시안 그대로 (사장님 2026-08-31) */
.a4h{font-size:14px;font-weight:800;margin-bottom:14px}
.a4cmp{display:flex;align-items:center;gap:10px}
.a4cmp .bx{flex:1;min-width:0;border-radius:16px;padding:14px 13px 13px;
  background:rgba(255,255,255,.03);border:1px solid var(--line)}
.a4cmp .bx.win{border-color:var(--gold-b);background:rgba(201,162,74,.07)}
.a4cmp .bx .hd{display:flex;justify-content:space-between;gap:6px;font-size:11.5px;font-weight:800;color:var(--dim)}
.a4cmp .bx .big{font-size:37px;font-weight:900;letter-spacing:-1.8px;margin-top:7px;line-height:1}
.a4cmp .bx svg{display:block;margin-top:12px;width:100%}
.a4cmp .ar{flex:0 0 auto;font-size:22px;font-weight:900;color:var(--gold-b)}
.a4why{font-size:12px;color:var(--dim);text-align:center;margin-top:14px;line-height:1.6}
.a4w{text-align:center;font-size:12.5px;font-weight:800;margin-top:13px}
.a4w b{color:var(--gold-b);margin-left:6px}
/* 도넛 조각은 제자리에서 미끄러진다 (사장님 2026-08-31) */
#sA1 .ac2d .ac2arc{transition:stroke-dasharray .5s cubic-bezier(.3,.9,.3,1), stroke-dashoffset .5s cubic-bezier(.3,.9,.3,1)}
/* 뺄 장 — 테두리 + 위쪽 딱지 (사장님 2026-08-31) */
.g3row .c.out{border-color:var(--gold-b);box-shadow:0 0 0 1px var(--gold-b) inset;overflow:visible}
.g3row .c.out .tag{position:absolute;top:-9px;left:50%;transform:translateX(-50%);
  padding:2px 10px;border-radius:99px;font-size:10px;font-weight:900;white-space:nowrap;
  color:#0a1018;background:linear-gradient(180deg,var(--gold-b),var(--gold))}
/* 멘토 두 문단 — 칸을 갈라 제목을 세운다 (사장님 2026-08-31) */
#sA1 .a3b{padding:13px 14px;border:1px solid rgba(232,199,119,.4)!important;background:rgba(10,16,24,.55)!important;border-radius:15px}   /* 수업의 답 상자와 같은 틀 (사장님 2026-09-05) */
#sA1 .a3b + .a3b{margin-top:10px}
#sA1 .a3b .t{margin-top:0; font-size:15px; letter-spacing:-.2px; font-style:normal!important; font-weight:1000; color:#fff0b8}
#sA1 .a3b p{font-size:14.5px; line-height:1.4; color:#e3edf4; margin-top:6px; font-weight:850}
#sA1 .a3b p b{color:#fff; font-weight:800}
#sA1 .a3b.good{border-color:rgba(232,199,119,.75)!important}
/* 고르는 묶음 — 테두리 + 테두리 위 제목 (사장님 2026-08-31) */
.g3grp{position:relative;border:1.5px solid rgba(201,162,74,.55);border-radius:17px;
  padding:15px 11px 12px;margin-top:16px;background:rgba(201,162,74,.04)}
.g3grp > .lg{position:absolute;top:-10px;left:15px;padding:2px 11px;border-radius:99px;
  font-size:10.5px;font-weight:900;color:#0a1018;
  background:linear-gradient(180deg,var(--gold-b),var(--gold))}
.g3grp > .g3lab{margin:0 2px 8px}
/* 5학년 — 두 선을 그은 실제 기록 (GPT 시안 55, 2026-08-31) */
#sA1 .a5head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:9px}
#sA1 .a5head b{font-size:13px;font-weight:800}
#sA1 .a5head span{font-size:10.5px;color:var(--dim)}
#sA1 .a5plot{position:relative;border-radius:13px;background:rgba(255,255,255,.03);
  border:1px solid var(--line);padding:8px 0}
#sA1 .a5c .pr{stroke:#74a7ff;stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round}
#sA1 .a5c .st{stroke:#ef665b;stroke-width:1.4;stroke-dasharray:4 4}
#sA1 .a5c line.tk{stroke:#e8c777;stroke-width:1.4;stroke-dasharray:4 4}
#sA1 .a5c circle.dt.tk{fill:#e8c777}
#sA1 .a5c circle.dt.st{fill:#ef665b}
#sA1 .a5b{position:absolute;top:6px;transform:translateX(-50%);white-space:nowrap;
  padding:3px 9px;border-radius:99px;font-size:10px;font-weight:900;color:#0a1018}
#sA1 .a5b.tk{background:linear-gradient(180deg,var(--gold-b),var(--gold))}
#sA1 .a5b.st{background:#ef665b;color:#fff}
#sA1 .a5rule{display:flex;gap:9px;margin-top:12px}
#sA1 .a5rule .r{flex:1;border-radius:13px;padding:10px 11px;background:var(--panel2);border:1px solid var(--line)}
#sA1 .a5rule .r.g{border-color:rgba(201,162,74,.5)}
#sA1 .a5rule .r.r2{border-color:rgba(239,102,91,.45)}
#sA1 .a5rule .k{font-size:11px;color:var(--dim);font-weight:700}
#sA1 .a5rule .v{font-size:21px;font-weight:900;margin-top:2px;letter-spacing:-.5px}
#sA1 .a5rule .r.g .v{color:#e8c777}
#sA1 .a5rule .r.r2 .v{color:#ef665b}
#sA1 .a5rule .sld{width:100%;margin-top:8px}
#sA1 .a5sw{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:9px;font-size:11px;color:var(--dim)}
#sA1 .a5sw .tg{cursor:pointer;font-weight:800;color:#e8c777;border:1px solid rgba(201,162,74,.5);
  border-radius:99px;padding:3px 11px}
#sA1 .a5les{font-size:11.5px;color:var(--dim);line-height:1.65;margin-top:12px}
/* ── ④ 질문 화면 (2026-08-23 시안 그대로) ───────────────────── */
.qbox{margin-top:12px;background:var(--panel);border:1px solid rgba(255,255,255,.23);
  border-radius:20px;padding:14px 12px;box-shadow:0 5px 18px rgba(0,0,0,.5)}
.qbh{display:flex;gap:11px;align-items:flex-start}
.qbi{flex:0 0 auto;font-size:26px;line-height:1}
.qbh b{display:block;font-size:15.5px;font-weight:900;line-height:1.4}
.qbh b em{font-style:normal;color:var(--gold-b)}
.qbh small{display:block;font-size:11px;color:var(--dim);margin-top:5px;line-height:1.55}
.qgrps{display:flex;flex-direction:column;gap:11px;margin-top:13px}
/* 설계 상세 — 금액·적립·인출 */
.rxcard{background:#0c1522;border:1.5px solid color-mix(in srgb,var(--c,#3a5372) 30%,#35577a);
  border-radius:15px;padding:13px}
.rxcard .l{font-size:10.5px;font-weight:900;color:var(--dim);margin-bottom:6px}
.rxcard .l:not(:first-child){margin-top:12px}
.rxchips{display:flex;flex-wrap:wrap;gap:5px}
.rxchips span{font-size:11.5px;font-weight:800;border:1px solid var(--line);border-radius:99px;padding:6px 11px;
  color:var(--dim);cursor:pointer;background:var(--ink);font-variant-numeric:tabular-nums}
.rxchips span.on{background:var(--gold);color:#1a1204;border-color:var(--gold)}
.rxres{margin-top:11px;border-radius:14px;padding:13px;border:1.5px solid var(--line);background:var(--panel)}
.rxres.ok{border-color:rgba(63,179,122,.5);background:rgba(63,179,122,.07)}
.rxres.warn{border-color:rgba(217,138,43,.5);background:rgba(217,138,43,.07)}
.rxres.bad{border-color:rgba(224,71,63,.5);background:rgba(224,71,63,.07)}
.rxres .big small{display:block;font-size:10px;color:var(--dim)}
.rxres .big b{display:block;font-size:29px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1.15;margin-top:2px}
.rxres .kv{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px;margin-top:9px;font-size:10px;color:var(--dim)}
.rxres .kv i{font-style:normal}
.rxres .kv b{font-size:12.5px;font-weight:900;color:var(--text);font-variant-numeric:tabular-nums;margin-right:9px}
.rxres p{margin:10px 0 0;font-size:11.5px;line-height:1.7;color:var(--dim)}
.rxres p b{color:#cfd6de}
.rxres .hintline,.axres .hintline{margin-top:9px;padding-top:9px;border-top:1px solid rgba(255,255,255,.24);font-size:10.5px;color:var(--dim);line-height:1.65}
.rxres .hintline b{color:var(--gold-b)}
.rxfix{width:100%;margin-top:9px;border-radius:10px;padding:9px 0;font-size:11.5px;font-weight:900;cursor:pointer;
  background:rgba(201,162,74,.15);color:var(--gold-b);border:1px solid rgba(201,162,74,.5)}
.risknote{margin-top:9px;font-size:10.5px;color:#e8917f;line-height:1.7;padding:9px 10px;border-radius:10px;
  background:rgba(224,71,63,.08);border:1px solid rgba(224,71,63,.3)}
.risknote b{color:#f5b9b1}
/* 멘토 브리핑 */
.bftrend{background:#0c1522;border:1.5px solid color-mix(in srgb,var(--c,#3a5372) 30%,#35577a);
  border-radius:15px;padding:13px}
.bftrend .h{font-size:13px;font-weight:900;margin-bottom:6px}
.bftrend p{margin:0;font-size:11.5px;line-height:1.7;color:var(--dim)}
.bftrend p+p{margin-top:7px}
.bftrend p b{color:#cfd6de}
.bftrend p.sub{padding-top:7px;border-top:1px solid rgba(255,255,255,.24)}
.bfhd{margin:15px 0 0;font-size:13.5px;font-weight:900}
.bfhd small{display:block;font-size:10.5px;color:var(--dim);font-weight:600;margin-top:4px;line-height:1.6}
.bfm{margin-top:10px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--c);
  border-radius:14px;padding:11px 12px}
.bfm .h{display:flex;align-items:center;gap:9px;margin-bottom:8px}
.bfm .h img{width:34px;height:34px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.bfm .h b{display:block;font-size:13px;font-weight:900;color:var(--c)}
.bfm .h small{display:block;font-size:9.5px;color:var(--dim);margin-top:1px}
.bfs{padding:8px 0;border-top:1px solid rgba(255,255,255,.24);cursor:pointer}
.bfs .l1{display:flex;align-items:baseline;gap:6px}
.bfs .l1 b{font-size:12.5px;font-weight:900}
.bfs .l1 .nm{font-size:10.5px;color:var(--dim);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bfs .l1 .w{font-size:12px;font-weight:900;font-variant-numeric:tabular-nums;color:var(--c)}
.bfs .why{font-size:10.5px;color:#cfd6de;margin-top:3px}
.bfs .st{font-size:10px;color:var(--dim);margin-top:3px;line-height:1.6}
.bfs .st b{color:#cfd6de;font-variant-numeric:tabular-nums}
.bfm .say{margin-top:9px;padding-top:9px;border-top:1px solid rgba(255,255,255,.24);
  font-size:11px;color:var(--dim);line-height:1.65;font-style:italic}
.bfm .say b{color:#cfd6de;font-style:normal}
.bfpn{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.bfpn .col{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:10px 11px}
.bfpn .col.good{border-color:rgba(63,179,122,.4)}
.bfpn .col.bad{border-color:rgba(224,138,85,.4)}
.bfpn .t{font-size:11.5px;font-weight:900;margin-bottom:5px}
.bfpn ul{margin:0;padding:0;list-style:none}
.bfpn li{font-size:10.5px;color:var(--dim);line-height:1.6;padding:3px 0}
.bfpn li b{color:#cfd6de}
/* 내가 가진 금액 */
.hdcard{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px}
.hdcard .l{font-size:11.5px;font-weight:900;margin-bottom:9px}
.hdcard .l small{display:block;font-size:10px;color:var(--dim);font-weight:600;margin-top:3px}
.hdr2{display:flex;align-items:center;gap:8px;padding:7px 0;border-top:1px solid rgba(255,255,255,.24)}
.hdr2 .tk{flex:1;min-width:0}
.hdr2 .tk b{display:block;font-size:12.5px;font-weight:900}
.hdr2 .tk small{display:block;font-size:10px;color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hdr2 .inp{flex:0 0 auto;display:flex;align-items:center;gap:3px;background:var(--ink);
  border:1px solid var(--line);border-radius:9px;padding:5px 9px}
.hdr2 .inp span{font-size:11px;color:var(--dim)}
.hdr2 .inp input{width:76px;background:none;border:0;outline:none;color:var(--text);
  font-size:13px;font-weight:900;font-family:var(--sans);text-align:right;font-variant-numeric:tabular-nums}
.hdr2 .p{width:38px;text-align:right;font-size:11.5px;font-weight:800;color:var(--dim);font-variant-numeric:tabular-nums}
.hdcard .sum{margin-top:9px;padding-top:9px;border-top:1px solid rgba(255,255,255,.24);
  text-align:right;font-size:11.5px;color:var(--dim)}
.hdcard .sum b{font-size:16px;font-weight:900;color:var(--text);font-variant-numeric:tabular-nums;margin-left:5px}
.hdv{margin-top:11px;background:var(--panel);border:1.5px solid var(--c);border-radius:16px;padding:13px;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 12%,transparent)}
.hdv .h{display:flex;gap:9px;align-items:flex-start}
.hdv .h .ic{font-size:22px;flex:0 0 auto}
.hdv .h b{font-size:14px;font-weight:900}
.hdv .h b em{font-style:normal;color:var(--c)}
.hdv .h small{display:block;font-size:10px;color:var(--dim);margin-top:3px;line-height:1.55}
.hdv p{margin:9px 0 0;font-size:11.5px;line-height:1.7;color:var(--dim)}
.hdv p b{color:#cfd6de}
.hdsw{margin-top:11px;padding-top:10px;border-top:1px solid rgba(255,255,255,.24)}
.hdsw .t{font-size:11.5px;font-weight:900;color:var(--c);margin-bottom:6px}
.hdsw .sw{padding:6px 0;border-top:1px solid rgba(255,255,255,.24)}
.hdsw .sw:first-of-type{border-top:0}
.hdsw .sw b{font-size:12px;font-weight:900}
.hdsw .sw .nm{font-size:10px;color:var(--dim)}
.hdsw .sw .cmp{font-size:10.5px;color:var(--dim);margin-top:2px}
.hdsw .sw .cmp b{font-variant-numeric:tabular-nums}
.hdsw .n{margin-top:8px;font-size:10px;color:var(--dim);line-height:1.65}
.hdsw .n b{color:#cfd6de}
.hdm{display:flex;gap:6px;margin-top:11px;padding-top:10px;border-top:1px solid rgba(255,255,255,.24)}
.hdm .m{flex:1;min-width:0;display:flex;align-items:center;gap:5px;background:var(--ink);
  border:1px solid var(--line);border-radius:10px;padding:6px 7px}
.hdm .m img{width:22px;height:22px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.hdm .m b{display:block;font-size:10.5px;font-weight:900}
.hdm .m small{display:block;font-size:8px;color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hdm .m .g{margin-left:auto;font-size:13px;font-weight:900;font-variant-numeric:tabular-nums}
.hdm .m .g i{font-style:normal;font-size:8px;color:var(--dim)}
.rpbar{display:flex;align-items:center;gap:8px;padding:14px 14px 4px}
.rpbar .back,.rpbar .help{width:34px;height:34px;flex:0 0 auto;border-radius:50%;cursor:pointer;
  background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.23);color:#dbe3ea;
  font-size:15px;font-weight:900;display:flex;align-items:center;justify-content:center;padding:0}
.rpbar .ttl{flex:1;text-align:center;font-size:15px;font-weight:900}
.rpbar .ttl i{font-style:normal;color:var(--gold-b);margin-right:3px}
.shopwel{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:10px 14px 0;padding:9px 12px;border:1px solid rgba(201,162,74,.35);background:rgba(201,162,74,.10);border-radius:12px}
.shopwel .k{font-size:12px;color:var(--dim)}
.shopwel b{font-size:19px;font-weight:900;color:var(--gold-b,#e8c777);font-variant-numeric:tabular-nums}
/* 3문항 진단 — 경험자 월반. 막는 관문이 아니라 길 안내다 (2026-08-28 오더 확정) */
/* 시안 10 v02 검수 — 담은 종목·규칙은 요약 한 줄로 접어 둔다 (2026-08-28 GPT 기준) */
.foldline{display:flex;align-items:center;gap:9px;margin-top:10px;padding:12px 14px;border-radius:13px;
  border:1px solid var(--line);background:var(--panel);cursor:pointer}
.foldline .t{flex:1;min-width:0;font-size:13px;color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.foldline .t b{color:var(--text);font-weight:700}
.foldline .arw{flex:0 0 auto;color:var(--dim);font-size:13px}
.foldline:hover{border-color:var(--gold)}
/* 시안 10 v02 — 멘토 의견과 비중을 한 화면에 (2026-08-28) */
.pfwrap{margin-top:16px;padding-top:4px;border-top:1px solid var(--line)}
.pfh2{display:flex;align-items:center;gap:10px;padding:12px 2px 10px}
.pfh2 b{flex:1;font-size:18px;font-weight:600}
.pfh2 .tot{padding:6px 13px;border-radius:999px;font-size:12.5px;font-weight:700;
  border:1px solid var(--green);color:var(--green)}
.pfh2 .tot.no{border-color:var(--red);color:var(--red)}
/* Lv + Academy 학년 병기 — 잠금이 아니라 표시로 (2026-08-28 순서 5) */
.acadb{display:inline-flex;align-items:center;gap:7px;margin-top:6px;padding:5px 11px;
  border-radius:999px;border:1px solid var(--line);background:var(--ink);
  font-size:11.5px;font-weight:700;color:var(--dim);white-space:nowrap}
.acadb b{font-size:12.5px;font-weight:900;color:var(--gold-b)}
.acadb i{font-style:normal;color:#3f5163}
.acadb.go{border-color:var(--gold);color:var(--gold-b);cursor:pointer}
.acadrow{display:flex;align-items:center;gap:10px;margin-top:9px;padding:11px 13px;
  border-radius:12px;border:1px solid var(--line);background:var(--ink)}
.acadrow .t{flex:1;min-width:0;font-size:12.5px;color:var(--dim)}
.acadrow .t b{display:block;font-size:14px;font-weight:900;color:var(--text)}
.acadb.xp{border-color:var(--gold);color:var(--gold-b)}
.acxp .sub{display:flex;justify-content:center;gap:10px;margin-top:8px}
.acxp .sub span{padding:5px 12px;border-radius:999px;border:1px solid var(--line);
  font-size:12px;font-weight:700;color:var(--dim)}
.acadrow .t em{display:block;margin-top:4px;font-style:normal;font-size:11.5px;color:var(--gold-b)}
.acxp{margin:16px 16px 0;padding:18px 16px;border-radius:16px;border:1.5px solid var(--gold);
  background:rgba(201,162,74,.07);text-align:center}
.acxp .v{font-size:30px;font-weight:600;color:var(--gold-b);letter-spacing:-.5px}
.acxp .k{margin-top:4px;font-size:12.5px;color:var(--dim)}
.acadrow .rv{flex:0 0 auto;font-size:14px;font-weight:600;color:var(--gold-b)}
/* 14 v02 — 계정 시트 안내 한 줄 + 표시 배지 (이미 가진 상태를 배지 모양으로만 보여준다) */
.acnote{font-size:11px;color:var(--dim);margin:1px 0 7px}
.acbadges{margin-top:12px;padding-top:11px;border-top:1px solid rgba(255,255,255,.14);
  display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.acbadges>.t{width:100%;font-size:10.5px;font-weight:800;color:var(--dim);margin-bottom:1px}
.acbadges .bg{padding:6px 12px;border-radius:999px;font-size:11.5px;font-weight:900;
  border:1px solid rgba(255,255,255,.2);color:var(--text)}
.acbadges .bg.lv{border-color:rgba(90,150,220,.55);color:#9cc3ee}
.acbadges .bg.ac{border-color:rgba(201,162,74,.6);color:var(--gold-b)}
.acbadges .bg.dn{border-color:rgba(70,180,130,.55);color:#7fd6ab}
.acadrow .go{flex:0 0 auto;padding:7px 13px;border-radius:999px;border:1px solid var(--gold);
  background:none;color:var(--gold-b);font:inherit;font-size:12px;font-weight:700;cursor:pointer}
/* 07 첫 화면 v03 + Academy 카드 v04 (2026-08-28 GPT 시안) */
/* ⚠️ 화면이 짧으면(765px 등) 주 버튼이 잘린 채 스크롤도 안 됐다. 반드시 스크롤되게 둔다 (2026-08-28) */
#s1{position:relative;overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding-bottom:calc(18px + env(safe-area-inset-bottom))}
#s1 .herowrap{flex:0 0 auto;height:auto}
#s1 .hero{display:block;width:100%;height:auto;object-fit:contain}
/* 1087~1119 의 '첫 화면 한 화면에' 규칙은 폰(사파리)에서 버튼이 사라져 전부 되돌렸다 (사장님 2026-09-07) */

.s1login{position:absolute;top:calc(12px + env(safe-area-inset-top));right:14px;z-index:5;
  padding:9px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.30);
  background:rgba(10,16,24,.55);backdrop-filter:blur(4px);
  color:var(--text);font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.acad{display:flex;align-items:center;gap:12px;position:relative;overflow:hidden;
  flex:0 0 auto;width:calc(100% - 28px);margin:10px 14px 0;padding:14px 16px;border-radius:14px;
  border:1.5px solid var(--gold);background:var(--ink);color:inherit;font:inherit;
  text-align:left;cursor:pointer}
.acad .b{flex:1;min-width:0;position:relative;z-index:1}
.acad .r1{display:flex;align-items:center;gap:10px}
.acad .bd{flex:0 0 auto;padding:4px 11px;border-radius:999px;background:var(--gold-b);
  color:#1a1204;font-size:12px;font-weight:900}
.acad .r1 b{font-size:20px;font-weight:600;letter-spacing:.2px}
.acad small{display:block;margin-top:7px;font-size:13.5px;color:#c9d3db;word-break:keep-all}
.acad .dec{position:absolute;right:0;top:0;bottom:0;width:46%;z-index:0;opacity:.55}
.acad .dec svg{width:100%;height:100%}
.acad .no{position:absolute;right:16px;top:50%;transform:translateY(-50%);z-index:1;
  padding:5px 14px;border-radius:999px;background:rgba(255,255,255,.14);
  color:#e6ecf1;font-size:12px;font-weight:600}
.s1h em{font-style:normal;color:var(--gold-b);font-size:1.16em;font-weight:700}
.s1h b{font-weight:800}
.s1s em{font-style:normal;color:var(--gold-b);font-weight:600}
.s1s b{font-weight:600;color:#c2ccd6}
.s1h{margin:14px 16px 0;font-size:28px;font-weight:600;line-height:1.3;text-align:left;
  letter-spacing:-.5px;word-break:keep-all}
.s1s{margin:10px 16px 0;font-size:13.5px;line-height:1.6;color:var(--dim);text-align:left;
  word-break:keep-all}
#s1 .pad{padding:0 14px}
#s1 .cta{margin-top:12px}
#s1 .cta.ghost{margin-top:8px}
/* Academy — GPT 13 v02 (2026-08-28). 배경은 기존 자산만 쓴다(새 그림 없음) */
.achero{position:relative;overflow:hidden;padding-bottom:16px}
.achero::before{content:'';position:absolute;inset:0;background:var(--achero) center 40%/cover;
  opacity:.52;filter:saturate(.85)}
.achero::after{content:'';position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(5,8,13,.30) 0,rgba(5,8,13,.55) 58%,#05080d 100%)}
.achero>*{position:relative;z-index:1}
.acstep{margin:10px 14px 0;padding:11px 14px 13px;border-radius:14px;
  border:1px solid rgba(255,255,255,.10);background:rgba(10,16,24,.62);backdrop-filter:blur(3px)}
.acstep .r{display:flex;align-items:baseline;gap:14px}
.acstep .n{font-size:13px;font-weight:900;color:var(--gold-b);white-space:nowrap}
.acstep .w{font-size:13px;font-weight:700;color:var(--text)}
.acbar{display:flex;gap:8px;margin-top:10px}
.acbar i{flex:1;height:5px;border-radius:3px;background:rgba(255,255,255,.16)}
.acbar i.on{background:var(--gold-b)}
.achd{display:flex;align-items:center;gap:14px;padding:20px 24px 0}
.achd .tx{flex:1;min-width:0;text-align:left}
.achd h1,.achd .ln,.achd .sb{text-align:left}
.achd h1{font-size:31px;font-weight:500;line-height:1.2;margin:0;letter-spacing:-.5px}
.achd h1 em{display:block;font-style:normal;color:var(--gold-b)}
.achd .ln{margin:9px 0 0;font-size:14px;color:var(--gold-b);font-weight:600}
.achd .sb{margin:6px 0 0;font-size:13.5px;color:var(--dim)}
/* 17 안내형 v01 — 부엉이 말풍선 · 한 화면 한 가지 */
.achd{align-items:flex-start}
.acbub{flex:1;min-width:0;padding:14px 16px;border-radius:16px;
  border:1px solid var(--gold);background:rgba(18,26,20,.88);position:relative}
.acbub p{margin:0;font-size:14px;line-height:1.6;color:var(--text);word-break:keep-all}
.acbub p:first-child{color:var(--gold-b);font-weight:700}
.acbub p+p{margin-top:7px}
.acwhy{padding:22px 20px 0}
.acwhy h1{margin:0;font-size:31px;font-weight:500;letter-spacing:-.5px}
.acwhy .big{margin:16px 0 0;font-size:21px;font-weight:600;line-height:1.5;
  color:var(--gold-b);word-break:keep-all}
.acwhy .big+.sm{margin-top:14px}
.acwhy .sm{font-size:13.5px;color:var(--dim)}
.acwhy .gold{margin:9px 0 0;font-size:13.5px;color:var(--gold-b);word-break:keep-all}
.acone{padding:26px 20px 0;text-align:center}
.acone .k{font-size:12.5px;color:var(--dim);font-weight:700}
.acone .tk{margin-top:16px;font-size:44px;font-weight:400;letter-spacing:1px;color:var(--c)}
.acone .am{margin-top:8px;font-size:26px;font-weight:600;color:var(--gold-b)}
.acone .ex{margin:22px auto 0;max-width:340px;padding:18px 18px;border-radius:16px;
  border:1px solid #2c4a6b;background:#0d1727;font-size:15px;line-height:1.65;word-break:keep-all}
.acchk{padding:20px 16px 0}
.acchk .h{font-size:24px;font-weight:500;letter-spacing:-.3px}
.acchk .cel{margin-top:12px;padding:18px 16px;border-radius:14px;border:1px solid #2c4a6b;
  background:#0d1727;text-align:center}
.acchk .cel small{display:block;font-size:12px;color:var(--dim)}
.acchk .cel b{display:block;margin-top:6px;font-size:22px;font-weight:600;color:var(--gold-b)}
.acchk .cel b.wait{font-size:14px;font-weight:600;color:#7d8ea3}
.acdonehd{padding:8px 16px 0}
.acdonehd h1{margin:0;font-size:31px;font-weight:500;letter-spacing:-.5px}
.acdonehd h1 em{display:block;font-style:normal;color:var(--gold-b)}
.acdid2{margin:16px;padding:16px;border-radius:16px;border:1px solid #2c4a6b;background:#0d1727}
.acdid2 .k{font-size:12px;font-weight:900;color:var(--gold-b)}
.acdid2 .r{display:flex;gap:10px;margin-top:11px;font-size:13.5px;line-height:1.5;word-break:keep-all}
.acdid2 .r span{flex:0 0 auto;color:var(--dim);font-weight:800}
.achd img{width:96px;height:96px;border-radius:50%;object-fit:cover;object-position:top;
  border:3px solid var(--gold);flex:0 0 auto;box-shadow:0 6px 20px rgba(0,0,0,.55)}
/* 13 v03 — 안내 칩 4개 · 요건 4 확인 줄 · 요건 2 쉬운 말 세 줄 */
.acchips{display:flex;gap:7px;margin:12px 16px 0;flex-wrap:wrap}
.acchips span{flex:1 1 auto;text-align:center;padding:7px 10px;border-radius:999px;
  font-size:11px;font-weight:800;color:#c8d4e2;background:#131e2e;border:1px solid #2c4260;white-space:nowrap}
.acdid{margin:12px 16px 0;padding:10px 13px;border-radius:12px;font-size:12.5px;line-height:1.5;
  color:#9fd6b6;background:rgba(70,180,130,.1);border:1px solid rgba(70,180,130,.4);word-break:keep-all}
.acwhat{margin-top:12px;display:flex;flex-direction:column;gap:7px}
.acwhat>div{display:flex;gap:9px;align-items:flex-start;padding:9px 11px;border-radius:11px;
  background:#0e1826;border:1px solid #24384f}
.acwhat b{flex:0 0 auto;font-size:12px;font-weight:900;color:var(--c)}
.acwhat span{flex:1;min-width:0;font-size:11.5px;line-height:1.55;color:#a9b8c9;word-break:keep-all}
.acsay{margin:16px 16px 0;padding:14px 16px;border-radius:14px;border:1px solid var(--gold);
  background:rgba(201,162,74,.07);display:flex;align-items:center;gap:12px}
.acsay .b{flex:1;min-width:0}
.acsay .k{font-size:11.5px;font-weight:900;color:var(--gold-b)}
.acsay p{margin:5px 0 0;font-size:14px;line-height:1.5;word-break:keep-all}
.acsay .bg{flex:0 0 auto;padding:7px 12px;border-radius:999px;border:1px solid var(--gold);
  color:var(--gold-b);font-size:11.5px;font-weight:900;white-space:nowrap}
.acdcard{margin:16px 16px 0;padding:18px 16px;border-radius:18px;border:1px solid var(--line);background:var(--panel)}
.acdcard>.h{font-size:18px;font-weight:600}
.acdcard>.s{margin:4px 0 16px;font-size:12px;color:var(--dim)}
.actok{display:flex;align-items:flex-start;gap:6px}
.actok .lk{flex:0 0 auto;height:2px;margin-top:44px;background:var(--line);flex:1 1 auto;min-width:8px}
.actk{flex:0 0 auto;width:31%;background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer;text-align:center}
.actk .o{width:88px;height:88px;margin:0 auto;border-radius:50%;border:2.5px solid var(--c);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;color:var(--c)}
.actk .o svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round}
.actk .o b{margin-top:2px;font-size:15px;font-weight:600;color:var(--text);line-height:1}
.actk .wg{display:block;margin-top:9px;font-size:14px;font-weight:600;color:var(--c)}
.actk .rl{display:block;margin-top:3px;font-size:12px;color:var(--dim)}
.actk.on .o{box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 22%,transparent)}
.acexp{margin:14px 0 0;padding:12px 14px;border-radius:12px;border:1px solid var(--line);
  background:var(--ink);font-size:13px;line-height:1.6}
.acexp b{color:var(--gold-b)}
.acnk{margin:18px 0 8px;font-size:12.5px;font-weight:900;color:var(--dim)}
.acnum{display:flex;gap:10px}
.acnum>div{flex:1;padding:12px 13px;border-radius:13px;border:1px solid var(--line);background:var(--ink)}
.acnum small{display:block;font-size:12px;color:var(--dim)}
.acnum b{display:block;margin-top:4px;font-size:17px;font-weight:600;color:var(--gold-b)}
.acnum b.wait{font-size:13.5px;font-weight:700;opacity:.75}
.acnote{margin-top:9px;font-size:11.5px;color:var(--dim)}
.acdone{margin:16px 16px 0;padding:14px 16px;border-radius:14px;border:1px solid var(--gold);
  background:rgba(201,162,74,.07)}
.acdone .k{font-size:11.5px;font-weight:900;color:var(--gold-b)}
.acdone .v{margin-top:5px;font-size:13.5px}
.acnext{margin:14px 16px 0;padding:17px 16px;border-radius:16px;border:1.5px solid var(--gold);
  background:rgba(201,162,74,.05);display:flex;align-items:center;gap:14px}
.acnext .b{flex:1;min-width:0}
.acnext .k{font-size:11.5px;font-weight:900;color:var(--gold-b)}
.acnext .t{margin-top:5px;font-size:19px;font-weight:600}
.acnext .d{margin-top:4px;font-size:12.5px;color:var(--dim)}
.acnext .bg{flex:0 0 auto;padding:9px 16px;border-radius:999px;border:1px solid var(--gold);
  color:var(--gold-b);font-size:13px;font-weight:600}
.acph{padding:24px 24px 12px;font-size:21px;font-weight:600}
.acpath{padding:0 16px}
.acpr{display:flex;align-items:flex-start;margin-bottom:14px}
.acpn{flex:0 0 auto;width:19%;text-align:center}
.acpn .d{width:46px;height:46px;margin:0 auto;border-radius:50%;border:2px solid var(--line);
  display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;color:var(--dim)}
.acpn.ok .d{border-color:var(--gold);color:var(--gold-b)}
.acpn.open .d{border-color:var(--gold-b);color:var(--gold-b);
  box-shadow:0 0 0 4px rgba(232,199,119,.14)}
.acpn small{display:block;margin-top:7px;font-size:11.5px;color:var(--gold-b);font-weight:700}
.acpr .lk{flex:1 1 auto;height:2px;margin-top:23px;background:var(--line)}
.acsticky{position:sticky;bottom:0;z-index:3;margin-top:18px;padding:22px 0 12px;
  background:linear-gradient(to top,#05080d 0,#05080d 74%,rgba(5,8,13,0) 100%)}
.acsticky .cta{margin:0}
.acfootnote{margin-top:9px;text-align:center;font-size:11.5px;color:var(--dim)}
.acskip{display:block;width:100%;margin:6px 0 0;padding:12px 6px;min-height:44px;background:none;border:0;
  color:var(--dim);font:inherit;font-size:12.5px;cursor:pointer;text-decoration:underline}
.acsub{padding:2px 16px 0;text-align:center;font-size:14px;font-weight:700;color:var(--dim)}
.dgbar{display:flex;gap:6px;padding:12px 16px 0}
.dgbar i{flex:1;height:4px;border-radius:2px;background:var(--line)}
.dgbar i.on{background:var(--gold-b)}
.dgskip{font-size:12.5px;color:var(--dim);cursor:pointer;white-space:nowrap}
.dgq{padding:18px 16px 0}
.dgq h1{font-size:23px;font-weight:900;line-height:1.35;margin:0 0 6px}
.dgq .sb{font-size:13px;color:var(--dim);margin:0 0 16px}
.dgopt{display:block;width:100%;text-align:left;margin:0 0 10px;padding:15px 16px;border-radius:14px;
  border:1.5px solid var(--line);background:var(--panel);color:var(--text);font:inherit;
  font-size:14.5px;font-weight:700;cursor:pointer}
/* 19 진단 스펙 CSS — 한글판에만 있고 영문판엔 통째로 빠져 있었다.
   그래서 영문 진단 화면이 옛 껍데기 안에 민짜로 그려졌다 (사장님 발견 2026-08-29).
   전부 `#s1q` 안쪽 규칙이라 다른 화면에 새지 않는다. */
#s1q .bg{position:absolute; inset:0}
#s1q .q-D1 .bg{position:absolute; inset:0}
#s1q .q-P2 .bg{position:absolute; inset:0}
#s1q .q-K3 .bg{position:absolute; inset:0}
#s1q .q-S1 .bg{position:absolute; inset:0}
#s1q .q-K1 .bg{position:absolute; inset:0}
#s1q .q-RES .bg{position:absolute; inset:0}
#s1q .bg::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,16,24,.42) 0%, rgba(10,16,24,.60) 33%, rgba(10,16,24,.70) 58%, rgba(8,13,20,.78) 100%)}
#s1q .q-RES .bg::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,16,24,.42) 0%, rgba(10,16,24,.62) 33%, rgba(10,16,24,.72) 58%, rgba(8,13,20,.8) 100%)}
#s1q .wrap{position:relative; z-index:2; height:100%}
#s1q .topbar{display:flex; align-items:center; justify-content:space-between; padding:16px 16px 0}
#s1q .circ{width:34px; height:34px; border-radius:50%; background:rgba(10,16,24,.5); border:1px solid rgba(255,255,255,.16); color:#cfd8e3; font-size:15px; display:flex; align-items:center; justify-content:center}
#s1q .titlebox{text-align:center}
#s1q .titlebox .t1{font-size:16px; font-weight:700}
#s1q .titlebox .t2{font-size:11.5px; color:#a9bacb; margin-top:2px}
#s1q .meta{display:flex; align-items:center; gap:14px; padding:24px 22px 0}
#s1q .q-D1 .meta{display:flex; align-items:center; gap:14px; padding:26px 22px 0}
#s1q .q-S1 .meta{display:flex; align-items:center; gap:14px; padding:22px 22px 0}
#s1q .badge{background:rgba(10,16,24,.6); border:1px solid #c9a24a; color:#e8c777; font-size:12px; font-weight:700; padding:5px 12px; border-radius:999px}
#s1q .dots{display:flex; gap:8px; align-items:center}
#s1q .dot{width:8px; height:8px; border-radius:50%; background:#3a4d63}
#s1q .dot.on{width:11px; height:11px; background:#e8c777; box-shadow:0 0 8px rgba(232,199,119,.8)}
#s1q .qrow{display:flex; align-items:center; gap:16px; padding:52px 22px 0}
#s1q .q-D1 .qrow{display:flex; align-items:center; gap:16px; padding:96px 22px 0}
#s1q .q-S1 .qrow{display:flex; align-items:center; gap:16px; padding:34px 22px 0}
#s1q .q-RES .qrow{display:flex; align-items:center; gap:16px; padding:24px 22px 0}
#s1q .owl{width:96px; height:124px; border-radius:18px; flex:0 0 96px; border:2.5px solid #c9a24a; box-shadow:0 4px 16px rgba(0,0,0,.55), 0 0 14px rgba(201,162,74,.25);  background-image:url(img/owl_wallst-0d837ed3.jpg); background-color:#0d1622; background-size:233px auto; background-position:-68px -14px}
#s1q .qtitle{font-size:27px; line-height:1.36; font-weight:800; letter-spacing:-.8px}
#s1q .q-D1 .qtitle{font-size:29px; line-height:1.34; font-weight:800; letter-spacing:-.8px}
#s1q .q-S1 .qtitle{font-size:26px; line-height:1.36; font-weight:800; letter-spacing:-.8px}
#s1q .qtitle .g{color:#e8c777}
#s1q .sub{padding:14px 22px 0; font-size:14px; color:#9db0c4}
#s1q .q-S1 .sub{font-size:13.5px; color:#9db0c4}
#s1q .q-RES .sub{padding:12px 22px 0; font-size:14px; color:#9db0c4}
#s1q .sub b{color:#d8c48e; font-weight:600}
#s1q .q-RES .sub b{color:#d8c48e}
#s1q .cards{padding:28px 20px 0; display:flex; flex-direction:column; gap:15px}
#s1q .q-D1 .cards{padding:52px 20px 0; display:flex; flex-direction:column; gap:16px}
#s1q .card{position:relative; display:flex; align-items:center; gap:16px; background:linear-gradient(135deg, rgba(22,33,48,.60) 0%, rgba(15,23,36,.66) 100%); backdrop-filter: blur(12px) saturate(1.15); -webkit-backdrop-filter: blur(12px) saturate(1.15); border:1.5px solid #2c415a; border-radius:20px; padding:21px 18px; box-shadow:0 8px 22px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.06)}
#s1q .q-D1 .card{position:relative; display:flex; align-items:center; gap:16px; background:linear-gradient(135deg, rgba(22,33,48,.60) 0%, rgba(15,23,36,.66) 100%); backdrop-filter: blur(12px) saturate(1.15); -webkit-backdrop-filter: blur(12px) saturate(1.15); border:1.5px solid #2c415a; border-radius:20px; padding:27px 18px; box-shadow:0 8px 22px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.06)}
#s1q .card .bar{position:absolute; left:-1.5px; top:14px; bottom:14px; width:4.5px; border-radius:4px}
#s1q .q-D1 .card .bar{position:absolute; left:-1.5px; top:16px; bottom:16px; width:4.5px; border-radius:4px}
#s1q .card.green .bar{background:#3fb37a}
#s1q .card.blue .bar{background:#5a8ff0}
#s1q .ic{width:50px; height:50px; border-radius:50%; flex:0 0 50px; display:flex; align-items:center; justify-content:center}
#s1q .q-D1 .ic{width:52px; height:52px; border-radius:50%; flex:0 0 52px; display:flex; align-items:center; justify-content:center}
#s1q .card.green .ic{background:rgba(63,179,122,.14); border:1.5px solid #3fb37a}
#s1q .card.blue .ic{background:rgba(90,143,240,.13); border:1.5px solid #5a8ff0}
#s1q .q-D1 .card.blue .ic{background:rgba(90,143,240,.14); border:1.5px solid #5a8ff0}
#s1q .card .tx{flex:1}
#s1q .q-D1 .card .tx{font-size:17.5px; font-weight:700; flex:1}
#s1q .card .chev{color:#63768d; font-size:20px}
#s1q .foot{position:absolute; bottom:16px; left:0; right:0; text-align:center; font-size:12px; color:#6b7f95}
#s1q .q-RES .foot{position:absolute; bottom:16px; left:0; right:0; text-align:center; font-size:12px; color:#8b9cb0}
#s1q .dot.done{background:#8f7b45}
#s1q .card.red .bar{background:#e06455}
#s1q .card.gold .bar{background:#e8c777}
#s1q .card.sel{border:2px solid #e8c777; box-shadow:0 0 22px rgba(232,199,119,.35), 0 8px 22px rgba(0,0,0,.5)}
#s1q .card.red .ic{background:rgba(224,100,85,.13); border:1.5px solid #e06455}
#s1q .card.gold .ic{background:rgba(232,199,119,.13); border:1.5px solid #c9a24a}
#s1q .card .tx .m{font-size:17px; font-weight:700}
#s1q .card .tx .s{font-size:13px; color:#8fa1b6; margin-top:3px}
#s1q .chk{width:30px; height:30px; border-radius:50%; background:#e8c777; color:#1a2434; font-weight:800; font-size:15px; display:flex; align-items:center; justify-content:center}
#s1q .chev{color:#63768d; font-size:20px}
#s1q .subrow{display:flex; align-items:center; gap:10px; padding:14px 22px 0}
#s1q .multi{background:rgba(232,199,119,.14); border:1px solid #c9a24a; color:#e8c777; font-size:12px; font-weight:700; padding:4px 11px; border-radius:999px}
#s1q .grid{padding:22px 20px 0; display:grid; grid-template-columns:1fr 1fr; gap:13px}
#s1q .tile{position:relative; background:linear-gradient(135deg, rgba(22,33,48,.60), rgba(15,23,36,.66)); backdrop-filter: blur(12px) saturate(1.15); -webkit-backdrop-filter: blur(12px) saturate(1.15); border:1.5px solid #2c415a; border-radius:18px; padding:18px 14px 15px; box-shadow:0 8px 22px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.06)}
#s1q .tile.sel{border:2px solid #e8c777; box-shadow:0 0 20px rgba(232,199,119,.32), 0 8px 22px rgba(0,0,0,.5)}
#s1q .tile .ic{width:46px; height:46px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:10px}
#s1q .tile .nm{font-size:16px; font-weight:800; letter-spacing:-.3px}
#s1q .tile .ds{font-size:12px; color:#8fa1b6; margin-top:4px; line-height:1.45; letter-spacing:-.2px}
#s1q .tile .chk{position:absolute; top:12px; right:12px; width:26px; height:26px; border-radius:50%; background:#e8c777; color:#1a2434; font-weight:800; font-size:13px; display:flex; align-items:center; justify-content:center}
#s1q .t-stock .ic{background:rgba(90,143,240,.13); border:1.5px solid #5a8ff0}
#s1q .t-etf .ic{background:rgba(63,179,122,.13); border:1.5px solid #3fb37a}
#s1q .t-bond .ic{background:rgba(201,162,74,.13); border:1.5px solid #c9a24a}
#s1q .t-gold .ic{background:rgba(232,199,119,.15); border:1.5px solid #e8c777}
#s1q .t-btc .ic{background:rgba(167,139,250,.13); border:1.5px solid #a78bfa}
#s1q .cta{position:absolute; left:20px; right:20px; bottom:52px; background:linear-gradient(180deg,#ecd28a,#dcb45f); color:#1a2434; font-size:18px; font-weight:800; text-align:center; padding:18px 0; border-radius:18px; box-shadow:0 10px 26px rgba(201,162,74,.35); letter-spacing:-.3px}
#s1q .q-RES .cta{position:absolute; left:20px; right:20px; bottom:52px; background:linear-gradient(180deg,#ecd28a,#dcb45f); color:#1a2434; font-size:18px; font-weight:800; text-align:center; padding:18px 0; border-radius:18px; box-shadow:0 10px 26px rgba(201,162,74,.35)}
#s1q .done-badge{text-align:center; margin-top:22px}
#s1q .done-badge span{background:rgba(63,179,122,.15); border:1px solid #3fb37a; color:#7fd6ab; font-size:12.5px; font-weight:700; padding:6px 14px; border-radius:999px}
#s1q .panel{margin:24px 20px 0; background:linear-gradient(135deg, rgba(22,33,48,.60), rgba(15,23,36,.66)); backdrop-filter: blur(12px) saturate(1.15); -webkit-backdrop-filter: blur(12px) saturate(1.15); border:1.5px solid #2c415a; border-radius:20px; padding:20px 18px; box-shadow:0 8px 22px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.06)}
#s1q .panel .h{font-size:13px; color:#8fa1b6; font-weight:700; letter-spacing:.2px; margin-bottom:12px}
#s1q .style-row{display:flex; align-items:center; gap:14px}
#s1q .style-big{font-size:24px; font-weight:800; color:#e8c777}
#s1q .style-desc{font-size:13px; color:#9db0c4; margin-top:3px}
#s1q .chips{display:flex; flex-wrap:wrap; gap:10px}
#s1q .chip{font-size:14.5px; font-weight:700; padding:9px 16px; border-radius:999px}
#s1q .chip.open{background:rgba(232,199,119,.14); border:1.5px solid #c9a24a; color:#e8c777}
#s1q .chip.skip{background:rgba(63,179,122,.10); border:1.5px solid rgba(63,179,122,.55); color:#7fd6ab}
#s1q .note{font-size:12.5px; color:#7e92a8; margin-top:12px; line-height:1.5}
#s1q{padding:0;display:none;position:relative;overflow:hidden}
#s1q.on{display:block}
#s1q .circ:after{display:none}
#s1q .chip{flex:0 0 auto}
#s1q .dgspec{position:relative;min-height:calc(100*var(--vh));overflow-y:auto;-webkit-overflow-scrolling:touch}
#s1q .wrap{display:flex;flex-direction:column;min-height:calc(100*var(--vh))}
#s1q .foot{position:static;margin-top:auto;padding:22px 0 16px}
#s1q .cta{position:static;margin:26px 20px 0;width:auto}
#s1q .card,#s1q .tile,#s1q .panel{background:linear-gradient(135deg,rgba(22,33,48,.92),rgba(15,23,36,.92))}
/* 20 Academy 1학년 스킨 — 오더의 HTML 6장 CSS 를 값 그대로 옮김. 화면별 차이는 #sA1 .a-XX 로 분리 */
.acver{text-align:center; font-size:11px; color:#6b7c90; margin-top:10px; letter-spacing:.3px}
#sA1 .bg{position:absolute; inset:0}
#sA1 .a-a03 .bg{position:absolute; inset:0}
#sA1 .a-a05 .bg{position:absolute; inset:0}
#sA1 .a-a04 .bg{position:absolute; inset:0}
#sA1 .a-a06 .bg{position:absolute; inset:0}
/* 배경마다 밝기가 달라 한 값으로 덮으면 밝은 사진에서 글자가 눌린다 (판정 2026-08-30).
   화면이 `--ov` 를 주면 위쪽 덮개를 그만큼 진하게 한다 — 안 주면 지금 값(.42) 그대로. */
#sA1 .bg::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,16,24,var(--ov,.42)) 0%, rgba(10,16,24,calc(var(--ov,.42) + .18)) 33%, rgba(10,16,24,calc(var(--ov,.42) + .28)) 58%, rgba(8,13,20,calc(var(--ov,.42) + .36)) 100%)}   /* 아래쪽 덮개도 --ov 를 따라간다 — 배경 그림이 보이는 화면(2학년 신문)을 위해 (2026-09-05) */
/* 6학년 — 서브프라임 골짜기 (오더 2026-08-30) */
#sA1 .cr{display:block; border-radius:10px; overflow:hidden}
/* 쉬는 상태를 '다 그려진' 것으로 둔다 — 애니메이션이 안 돌면 선이 아예 안 보이던 사고를 막는다 (2026-08-30) */
#sA1 .cr path{fill:none; stroke-width:2; stroke-linejoin:round;
  stroke-dasharray:1; stroke-dashoffset:0; animation:crdraw 1.2s ease}
@keyframes crdraw{from{stroke-dashoffset:1} to{stroke-dashoffset:0}}
#sA1 .cr path.crs{stroke:#4f8fd6}
#sA1 .cr path.crb{stroke:#3fb37a; animation-delay:.5s}
#sA1 .cr .cd{fill:#e8edf4; stroke:#0d1622; stroke-width:1.5}
#sA1 .crbig{text-align:center; font-size:15px; color:#cfd8e3; margin-top:12px; letter-spacing:-.2px}
#sA1 .crbig b{font-size:26px; font-weight:900; color:#e0473f; margin-left:5px; font-variant-numeric:tabular-nums}
#sA1 .crrow{display:flex; justify-content:space-between; align-items:center; padding:7px 0; font-size:13.5px}
#sA1 .crrow + .crrow{border-top:1px solid rgba(255,255,255,.08)}
#sA1 .crrow .n{display:flex; align-items:center; gap:7px; font-weight:700}
#sA1 .crrow i{width:9px; height:9px; border-radius:50%}
#sA1 .crrow i.s{background:#4f8fd6} #sA1 .crrow i.b{background:#3fb37a}
#sA1 .crrow b{font-variant-numeric:tabular-nums; font-weight:800}
#sA1 .crchip{margin-top:9px; text-align:center; font-size:12px; color:#8fa1b6;
  border:1px solid rgba(255,255,255,.12); border-radius:999px; padding:5px 0}
/* 2학년 — 도넛·슬라이더·금액 한 화면 (오더 2026-08-30) */
#sA1 .ac2top{display:flex; align-items:center; gap:16px; margin-bottom:6px}
#sA1 .ac2d{width:96px; height:96px; flex:0 0 96px}
#sA1 .ac2c{flex:1}
#sA1 .ac2c .k{font-size:12.5px; color:#8fa1b6}
#sA1 .ac2c .v{font-size:26px; font-weight:900; letter-spacing:-.6px; font-variant-numeric:tabular-nums}
#sA1 .ac2c .s{font-size:12.5px; color:#8fa1b6; margin-top:4px}
#sA1 .ac2r{display:flex; align-items:center; gap:8px; padding:5px 0; font-size:12.5px}
#sA1 .ac2r i{width:9px; height:9px; border-radius:50%; flex:0 0 9px; background:var(--c)}
#sA1 .ac2r .n{width:34px; font-weight:800; letter-spacing:-.2px}
#sA1 .ac2r .sld{flex:1; min-width:0}
#sA1 .ac2r .p{width:38px; text-align:right; font-variant-numeric:tabular-nums; font-weight:700}
#sA1 .ac2r .m{width:58px; text-align:right; color:#8fa1b6; font-variant-numeric:tabular-nums}
#sA1 .ac2tg{display:flex; gap:8px; margin:10px 0 8px}
#sA1 .ac2tg .t{flex:1; text-align:center; padding:9px 0; border-radius:11px; font-size:13.5px; font-weight:700;
  border:1px solid rgba(255,255,255,.14); color:#8fa1b6; cursor:pointer}
#sA1 .ac2tg .t.on{border-color:#c9a24a; color:#e8c777; background:rgba(201,162,74,.10)}
#sA1 .ac2res .r{display:flex; justify-content:space-between; padding:6px 0; font-size:13px}
#sA1 .ac2res .r + .r{border-top:1px solid rgba(255,255,255,.08)}
#sA1 .ac2res .r span{color:#cfd8e3}
#sA1 .ac2res .r b{font-variant-numeric:tabular-nums}
#sA1 .ac2res .r.me{border-bottom:1px dashed rgba(255,255,255,.16); padding-bottom:8px; margin-bottom:2px}
#sA1 .ac2res .r.me span{color:#e8edf4; font-weight:700}
#sA1 .ac2res .r b.g{color:#e8c777}
/* 8학년 배당 — 받은 배당과 주가 변화를 나란히 (오더 2026-08-30) */
#sA1 .d8nm{text-align:center; font-size:15px; font-weight:800; letter-spacing:-.2px; margin-bottom:9px}
#sA1 .d8two{display:flex; gap:10px}
#sA1 .d8two .c{flex:1; text-align:center; padding:12px 6px; border-radius:14px;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.10)}
#sA1 .d8two .c .k{font-size:12px; color:#8fa1b6; letter-spacing:-.2px}
#sA1 .d8two .c .v{font-size:20px; font-weight:900; margin-top:4px; font-variant-numeric:tabular-nums}
#sA1 .d8two.big .c .v{font-size:24px}
#sA1 .d8two .c .v.up{color:var(--upc)} #sA1 .d8two .c .v.dn{color:var(--dnc)}
#sA1 .d8list{margin-top:14px}
#sA1 .d8r{display:flex; align-items:center; gap:8px; padding:9px 0; font-size:13px}
#sA1 .d8r + .d8r{border-top:1px solid rgba(255,255,255,.09)}
#sA1 .d8r .n{flex:1; font-weight:800; letter-spacing:-.2px}
#sA1 .d8r .v{width:82px; text-align:right; font-variant-numeric:tabular-nums; color:#cfd8e3}
#sA1 .d8r .v.up{color:var(--upc)} #sA1 .d8r .v.dn{color:var(--dnc)}
#sA1 .d8r.on{color:#e8c777} #sA1 .d8r.on .n{color:#e8c777}
#sA1 .d8tg{display:flex; gap:8px; margin-bottom:14px}
#sA1 .d8tg .t{flex:1; text-align:center; padding:11px 0; border-radius:12px; font-size:14px; font-weight:700;
  border:1px solid rgba(255,255,255,.14); color:#8fa1b6; cursor:pointer}
#sA1 .d8tg .t.on{border-color:#c9a24a; color:#e8c777; background:rgba(201,162,74,.10)}
#sA1 .d8big{text-align:center; font-size:34px; font-weight:900; letter-spacing:-1px; margin:6px 0 8px;
  font-variant-numeric:tabular-nums}
#sA1 .d8big.up{color:var(--upc)} #sA1 .d8big.dn{color:var(--dnc)}
#sA1 .d8bench{margin-top:12px; text-align:center; font-size:12.5px; color:#8fa1b6;
  padding-top:11px; border-top:1px dashed rgba(255,255,255,.14)}
#sA1 .d8bench b{color:#e8edf4; font-variant-numeric:tabular-nums}
#sA1 .pick .dd{font-size:14px; font-weight:800; color:#e8c777; margin-top:3px; font-variant-numeric:tabular-nums}
/* 4학년 흔들림 — 선이 하나씩 그려진다. 마지막 선이 제일 잔잔하다 (오더 2026-08-30) */
#sA1 .stkh{font-size:14px; font-weight:800; letter-spacing:-.3px; margin-bottom:10px}
#sA1 .stk text.nm{fill:#cfd8e3; font-size:10.5px; font-weight:800; letter-spacing:-.2px}
#sA1 .stk text.sub{fill:#8fa1b6; font-size:9px; font-variant-numeric:tabular-nums}
#sA1 .stkcut{display:flex; align-items:center; gap:9px; margin:10px 0 6px; font-size:12px; color:#8fa1b6}
#sA1 .stkcut:before,#sA1 .stkcut:after{content:""; flex:1; height:1px; background:rgba(255,255,255,.16)}
#sA1 .stk text.tk{fill:#7b8da3; font-size:8.5px; font-variant-numeric:tabular-nums}
#sA1 .stk{display:block; overflow:visible; width:100%; height:auto}
#sA1 .stk line.z{stroke:rgba(255,255,255,.18); stroke-width:1; stroke-dasharray:3 4}
#sA1 .stk path{fill:none; stroke-width:1.6; stroke-linejoin:round; stroke-linecap:round;
  stroke-dasharray:1; stroke-dashoffset:0; animation:crdraw 1.1s ease; animation-delay:var(--d)}
@keyframes stkdraw{to{stroke-dashoffset:0}}
#sA1 .stkr{display:flex; align-items:center; gap:9px; padding:9px 0; font-size:12.5px}
#sA1 .stkr + .stkr{border-top:1px solid rgba(255,255,255,.09)}
#sA1 .stkr i{width:9px; height:9px; border-radius:50%; flex:0 0 9px; background:var(--c)}
#sA1 .stkr .nm2{flex:1; font-weight:700; letter-spacing:-.2px}
#sA1 .stkr .nm{flex:1; font-weight:700; letter-spacing:-.2px}
#sA1 .stkr .v{font-variant-numeric:tabular-nums; color:#cfd8e3}
#sA1 .stkr .v b{color:#e8edf4; font-weight:800}
/* 금색은 이 학년이 가르치는 값(흔들림)에만 — 나쁜 값(최대 하락)에 금색을 쓰면
   좋아 보인다 (판정 2026-08-30) */
#sA1 .stkr:last-child .v b.g{color:#e8c777}
/* ── 입학 인트로 — 시안 43(PM 확정, 사장님 결정 2026-08-30) ─────────
   화면을 새로 만들지 않고 1학년 1단계 자리를 그대로 쓴다. 자산은 앱에 있는 것만.
   문구가 비면(영문 미도착) 이 화면을 그리지 않고 옛 화면으로 돌아간다. */
#sA1 .acin{position:relative; z-index:2; height:100%; padding:0 20px; display:flex; flex-direction:column}
#sA1 .acin .top{margin:0 -20px; padding:24px 20px 4px;
  background:linear-gradient(180deg,rgba(8,13,20,.72) 0%,rgba(8,13,20,.30) 70%,rgba(8,13,20,0) 100%)}
#sA1 .acin .logo{margin:0 auto; width:248px; display:block; filter:drop-shadow(0 3px 14px rgba(0,0,0,.85))}
#sA1 .acin .wel{text-align:center; margin-top:15px; font-size:21px; font-weight:800;
  letter-spacing:-.6px; text-shadow:0 2px 10px rgba(0,0,0,.75); white-space:nowrap}
#sA1 .acin .wel b{color:#e8c777}
#sA1 .acin .hero{display:flex; align-items:center; gap:16px; margin-top:24px}
#sA1 .acin .hero .t{flex:1}
#sA1 .acin .hero .s{font-size:15.5px; color:#b9c7d6; line-height:1.5; letter-spacing:-.2px;
  word-break:keep-all; text-shadow:0 1px 8px rgba(0,0,0,.85)}
#sA1 .acin .card{background:rgba(22,33,48,.60); border:1px solid rgba(255,255,255,.14); border-radius:20px;
  backdrop-filter:blur(12px) saturate(1.15); -webkit-backdrop-filter:blur(12px) saturate(1.15);
  box-shadow:0 8px 24px rgba(0,0,0,.45)}
#sA1 .acin .steps{margin-top:24px; padding:17px 14px 15px}
#sA1 .acin .dots{display:flex; justify-content:space-between}
#sA1 .acin .dots i{width:27px; height:27px; border-radius:50%; display:flex; align-items:center;
  justify-content:center; font-size:11.5px; font-weight:800; font-style:normal; color:#7b8da3;
  border:1px solid rgba(255,255,255,.16)}
#sA1 .acin .dots i.on{background:#e8c777; color:#1a1206; border-color:#e8c777; box-shadow:0 0 14px rgba(232,199,119,.45)}
#sA1 .acin .dots i.done{background:rgba(232,199,119,.16); color:#e8c777; border-color:rgba(232,199,119,.55)}
/* 졸업 폭죽 (사장님 2026-09-02). 그림 파일 없이 조각만 날린다 — 무게 0 */
/* 발사 후 보고 (2026-09-03) */
#home{position:relative}
#home .lpreport .rp-medal.tick{animation:rpTick .18s ease}
#home .lpreport .rp-medal.stop{animation:rpStop .7s cubic-bezier(.2,.9,.3,1.3)}
@keyframes rpTick{0%{transform:scale(1.1)}100%{transform:scale(1)}}
@keyframes rpStop{0%{transform:scale(1)}40%{transform:scale(1.22)}100%{transform:scale(1)}}
#home .lpreport{position:absolute;inset:0;z-index:30;overflow:auto;background:linear-gradient(180deg,rgba(6,10,16,.8),rgba(6,10,16,.9) 38%,rgba(6,10,16,.99)),url(img/in_wall.jpg) center/cover;backdrop-filter:blur(3px)}
#s8 .launchpad{position:absolute;inset:0;z-index:30;overflow:auto;background:linear-gradient(180deg,rgba(6,10,16,.7),rgba(6,10,16,.88) 36%,rgba(6,10,16,.99)),url(img/in_nyse-96a50b92.jpg) center/cover;backdrop-filter:blur(3px)}
.lp-stage{position:relative;min-height:100%;display:flex;flex-direction:column;gap:10px;padding:16px 16px 14px;text-align:center}
@media (min-width:740px){
  /* 리그 입장 화면: 왼쪽 축하·등수, 오른쪽 잘한 점·버튼 (사장님 2026-09-08 "좌우로 나눠줘") */
  .lp-stage{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-rows:auto auto 1fr auto;column-gap:20px;align-content:start;max-width:1080px;margin:0 auto;padding:18px 20px 16px}
  .lp-stage>.lp-x,.lp-stage>.lp-head{grid-column:1/-1}
  .lp-stage>.rp-hero{grid-column:1;grid-row:3;align-self:start}
  .lp-stage>.rp-card{grid-column:1;grid-row:4;align-self:start}
  .lp-stage>.lp-list{grid-column:2;grid-row:3/span 2;align-self:start;margin:0}
  .lp-stage>.lp-foot{grid-column:2;grid-row:5;margin:6px 0 0}
  .lp-stage>.cta{grid-column:2;margin-top:8px}
  .lp-stage>.rp-hero{grid-row:3} .lp-stage>.rp-card{grid-row:4;margin:0}
}
.lp-stage .lp-x{position:absolute;left:16px;top:14px;width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(6,10,16,.55);color:#eef4ff;display:grid;place-items:center;font-size:18px;font-weight:950;cursor:pointer}
.lp-head{min-height:44px;padding:0 40px}
.lp-head .lp-step{font-size:16px;font-weight:950;color:#f5f9ff;line-height:1.1}
.lp-head .lp-sub{margin-top:5px;font-size:11.5px;font-weight:850;color:#c1ccdb}
.lp-status{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;text-align:left}
.lp-pill{border:1px solid #e8c777;border-radius:999px;padding:7px 11px;background:rgba(233,203,114,.08);color:#e8c777;font-size:12px;line-height:1;font-weight:950;white-space:nowrap}
.lp-next{min-width:0;color:#ccd6e4;font-size:11.5px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp-next b{color:#e8c777}
.lp-stage h2{margin:0;font-size:28px;line-height:1.08;font-weight:950;color:#f8fbff;word-break:keep-all}
.lp-stage .gold{color:#e8c777}
.lp-quote{margin:6px auto 0;max-width:320px;font-size:12.5px;line-height:1.38;font-weight:760;color:#d2dbe8;word-break:keep-all}
.lp-scene{position:relative;height:312px;flex:none;display:grid;place-items:center;padding:20px 14px;border:1px solid rgba(54,94,131,.8);border-radius:8px;overflow:hidden;background:radial-gradient(circle at 50% 18%,rgba(233,203,114,.18),transparent 31%),radial-gradient(circle at 50% 88%,rgba(103,169,255,.13),transparent 42%),linear-gradient(180deg,rgba(18,30,44,.9),rgba(8,15,25,.92));box-shadow:0 14px 30px rgba(0,0,0,.3)}
.lp-scene::before{content:'';position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:linear-gradient(180deg,transparent,black 18%,black 84%,transparent);mask-image:linear-gradient(180deg,transparent,black 18%,black 84%,transparent);opacity:.38;pointer-events:none}
.lp-ticket{position:relative;z-index:1;width:100%;max-width:344px;height:208px;color:#101927;border-radius:10px;background:linear-gradient(135deg,#fff8df 0%,#f6df91 55%,#e4bd59 100%);box-shadow:0 24px 42px rgba(0,0,0,.48),0 0 0 1px rgba(255,255,255,.18) inset,0 0 36px rgba(233,203,114,.18);display:grid;grid-template-columns:minmax(0,1fr) 86px;overflow:hidden;transform:rotate(-1deg);text-align:left}
.lp-ticket::before,.lp-ticket::after{content:'';position:absolute;inset:0;border-radius:10px;pointer-events:none;z-index:0}
.lp-ticket::before{background:linear-gradient(115deg,rgba(255,255,255,.58),transparent 29%),radial-gradient(circle at 18% 18%,rgba(255,255,255,.55),transparent 26%);opacity:.24}
.lp-ticket::after{box-shadow:inset 0 -18px 32px rgba(64,41,0,.11)}
.lp-tmain{position:relative;z-index:1;min-width:0;overflow:hidden;padding:14px 12px 13px 15px}
.lp-tstub{position:relative;z-index:1;display:grid;grid-template-rows:auto 1fr auto 30px;gap:6px;padding:13px 8px 11px;border-left:1px dashed rgba(17,25,39,.46);background:linear-gradient(180deg,rgba(16,25,39,.08),rgba(255,255,255,.12));text-align:center}
.lp-tstub::before,.lp-tstub::after{content:'';position:absolute;left:-10px;width:20px;height:20px;border-radius:50%;background:#0d1724;box-shadow:0 0 0 1px rgba(233,203,114,.22);z-index:2}
.lp-tstub::before{top:-10px}.lp-tstub::after{bottom:-10px}
.lp-thead{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:11px}
.lp-thead span{color:#152234;font-size:11.5px;line-height:1;font-weight:1000;letter-spacing:.6px}
.lp-thead .lp-kind{padding:5px 7px;border-radius:999px;background:#102033;color:#ffe9a8;font-size:8.5px;letter-spacing:.5px;white-space:nowrap}
.lp-route{display:grid;grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);align-items:end;gap:6px;margin-bottom:9px}
.lp-route small{display:block;color:#647084;font-size:8.5px;line-height:1;font-weight:950;letter-spacing:.7px}
.lp-route b{display:block;margin-top:4px;color:#101927;font-size:19px;line-height:1;font-weight:1000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp-route em{display:block;margin-top:5px;color:#6d7889;font-size:8px;line-height:1;font-style:normal;font-weight:950;letter-spacing:.5px}
.lp-arrow{height:2px;margin-bottom:7px;border-radius:999px;background:linear-gradient(90deg,#141f2d,#2f6fc1);position:relative}
.lp-arrow::after{content:'';position:absolute;right:-2px;top:50%;width:7px;height:7px;border-top:2px solid #2f6fc1;border-right:2px solid #2f6fc1;transform:translateY(-50%) rotate(45deg)}
.lp-tname{display:grid;gap:4px;margin-top:3px}
.lp-tname small{color:#647084;font-size:8px;line-height:1;font-weight:1000;letter-spacing:.7px}
.lp-tname b{color:#101927;font-size:20px;line-height:1;font-weight:1000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp-tbars{display:flex;height:11px;margin:9px 0 8px;overflow:hidden;border-radius:999px;background:rgba(16,25,39,.18)}
.lp-tbars i{display:block;height:100%}
.lp-tmeta{display:flex;flex-wrap:nowrap;gap:4px;overflow:hidden}
.lp-tmeta span{padding:4px 7px;border:1px solid rgba(16,25,39,.18);border-radius:999px;color:#142033;background:rgba(255,255,255,.34);font-size:9.5px;line-height:1;font-weight:900;white-space:nowrap}
.lp-stamp{justify-self:center;align-self:center;transform:rotate(-7deg);padding:6px 7px;border:2px solid rgba(16,125,70,.76);border-radius:8px;color:#0b6f3d;background:rgba(255,255,255,.35);font-size:11px;line-height:1;font-weight:1000;letter-spacing:.5px}
.lp-stubT{display:block;color:#5c4a15;font-size:10px;line-height:1.1;font-weight:1000;letter-spacing:.4px}
.lp-stubC{display:block;margin-top:4px;color:#101927;font-size:21px;line-height:1;font-weight:1000}
.lp-mini small{display:block;color:#647084;font-size:8px;line-height:1;font-weight:950;letter-spacing:.4px}
.lp-mini b{display:block;margin-top:3px;color:#101927;font-size:10px;line-height:1;font-weight:1000;white-space:nowrap}
.lp-bar{height:30px;border-radius:6px;opacity:.9;background:repeating-linear-gradient(90deg,#152234 0 2px,transparent 2px 5px,#152234 5px 6px,transparent 6px 10px);-webkit-mask-image:linear-gradient(180deg,black,rgba(0,0,0,.72));mask-image:linear-gradient(180deg,black,rgba(0,0,0,.72))}
.lp-list{display:grid;gap:7px;text-align:left}
.lp-row{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:10px;min-height:50px;padding:9px 12px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(7,12,20,.7);opacity:0;transform:translateY(7px);animation:lpIn .48s ease forwards;animation-delay:calc(.2s + var(--i)*.36s)}
@keyframes lpIn{to{opacity:1;transform:translateY(0)}}
.lp-row i{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:rgba(88,207,143,.15);border:1px solid rgba(88,207,143,.72);color:#7bf0ae;font-size:15px;font-weight:950;font-style:normal}
.lp-row b{display:block;color:#f7fbff;font-size:14px;line-height:1.15;font-weight:950}
.lp-row small{display:block;margin-top:3px;color:#aebdcc;font-size:10.5px;line-height:1.25;font-weight:850;word-break:keep-all}
.lp-stage .cta{margin-top:auto;width:100%}
.lp-go{opacity:.5;transition:opacity .25s}
.lp-go.ready{opacity:1;animation:lppulse 1.2s ease-in-out infinite}
@keyframes lppulse{0%,100%{transform:scale(1)}50%{transform:scale(1.03)}}
.lp-stage .cta.ghost{margin-top:0}
.lp-foot{color:#99a7b8;font-size:10.5px;line-height:1.35;font-weight:760}
#s8 .launchpad.liftoff .lp-stage{animation:lpEnter .8s ease forwards}
@keyframes lpEnter{to{opacity:0;transform:scale(1.04)}}
.rp-hero{min-height:190px;display:grid;place-items:center;padding:14px;border:1px solid rgba(233,203,114,.55);border-radius:8px;background:radial-gradient(circle at 50% 42%,rgba(233,203,114,.22),transparent 36%),linear-gradient(180deg,rgba(30,33,28,.92),rgba(9,15,23,.93));box-shadow:0 14px 30px rgba(0,0,0,.3)}
.rp-medal{width:80px;height:80px;display:grid;place-items:center;margin:0 auto 8px;border-radius:50%;border:2px solid rgba(233,203,114,.72);background:radial-gradient(circle at 36% 28%,#fff0ac,#c5963f 72%,#6f4b16);color:#08111d;font-size:26px;font-weight:1000;box-shadow:0 18px 28px rgba(0,0,0,.38),0 0 34px rgba(233,203,114,.18)}
.rp-medal{position:relative;isolation:isolate}
.rp-medal.live{animation:rpMedalPop .76s cubic-bezier(.18,1.36,.3,1) .18s both,rpMedalGlow 1.8s ease-in-out 1.04s 2}
.rp-medal.live::before{content:'';position:absolute;inset:-12px;z-index:-1;border:2px solid rgba(233,203,114,.8);border-radius:50%;opacity:0;animation:rpMedalRing 1.25s ease-out .58s 2}
@keyframes rpMedalPop{0%{opacity:0;transform:scale(.58) rotate(-8deg)}62%{opacity:1;transform:scale(1.14) rotate(2deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@keyframes rpMedalRing{0%{opacity:.72;transform:scale(.78)}100%{opacity:0;transform:scale(1.42)}}
@keyframes rpMedalGlow{0%,100%{box-shadow:0 18px 28px rgba(0,0,0,.38),0 0 34px rgba(233,203,114,.18)}50%{box-shadow:0 20px 34px rgba(0,0,0,.44),0 0 52px rgba(233,203,114,.54)}}
.rp-main.live b{position:relative;isolation:isolate;display:inline-flex;align-items:flex-end;text-shadow:0 0 18px rgba(233,203,114,.35);animation:rpRankPop .68s cubic-bezier(.18,1.32,.3,1) .38s both,rpRankGlow 1.7s ease-in-out 1.12s 2}
.rp-main.live b::before{content:'';position:absolute;inset:-9px -13px -8px;z-index:-1;border-radius:12px;background:linear-gradient(90deg,rgba(233,203,114,.08),rgba(233,203,114,.34),rgba(103,169,255,.1));opacity:0;animation:rpRankFlash 1.05s ease .72s both}
@keyframes rpRankPop{0%{opacity:0;transform:translateY(9px) scale(.86)}68%{opacity:1;transform:translateY(-2px) scale(1.08)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes rpRankGlow{0%,100%{text-shadow:0 0 18px rgba(233,203,114,.35)}50%{text-shadow:0 0 26px rgba(233,203,114,.76),0 0 10px rgba(255,255,255,.36)}}
@keyframes rpRankFlash{0%{opacity:0;transform:scaleX(.4)}45%{opacity:1;transform:scaleX(1)}100%{opacity:0;transform:scaleX(1.08)}}
.rp-card{padding:12px 14px;border:1px solid rgba(54,94,131,.84);border-radius:8px;background:linear-gradient(180deg,rgba(18,30,44,.94),rgba(8,15,25,.91));box-shadow:0 14px 30px rgba(0,0,0,.3);text-align:left}
.rp-main{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:9px}
.rp-main span{color:#d8e2ef;font-size:12.5px;line-height:1.25;font-weight:900}
.rp-main b{color:#fff3c2;font-size:38px;line-height:.9;font-weight:1000;white-space:nowrap}
.rp-main b small{color:#c9d4e1;font-size:15px;font-weight:950}
.rp-main.none b{font-size:15px;line-height:1.3;white-space:normal;text-align:right}
.rp-ahead{margin:0;color:#d7e2ee;font-size:12.5px;line-height:1.36;font-weight:850;word-break:keep-all}
.rp-ahead b{color:#7bf0ae}
.rp-praise{display:grid;grid-template-columns:32px 1fr;gap:9px;align-items:center;padding:9px 10px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(7,12,20,.7);text-align:left}
.rp-praise i{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:rgba(233,203,114,.12);border:1px solid rgba(233,203,114,.55);color:#fff3c2;font-size:16px;font-weight:950;font-style:normal}
.rp-praise b{display:block;color:#f7fbff;font-size:13.5px;line-height:1.25;font-weight:950;word-break:keep-all}
.rp-praise small{display:block;margin-top:3px;color:#aebdcc;font-size:10.5px;line-height:1.25;font-weight:850;word-break:keep-all}
.rp-praise b em{font-style:normal;color:#e8c777}
#home .lpreport .cta{background:linear-gradient(180deg,#86c2ff,#4c8de1);color:#06111f;box-shadow:0 16px 28px rgba(103,169,255,.28)}
#home .lpreport .cta.ghost{background:none;color:#dce6f5;box-shadow:none}
@media (prefers-reduced-motion: reduce){.lp-row{animation:none;opacity:1;transform:none} .lp-go.ready,.rp-medal.live,.rp-medal.live::before,.rp-main.live b,.rp-main.live b::before{animation:none}}
#sA1 .boom{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:9}
#sA1 .boom i{position:absolute;width:9px;height:14px;border-radius:2px;opacity:0;
  animation:boomfly var(--d) cubic-bezier(.15,.65,.35,1) var(--t) forwards}
@keyframes boomfly{
  0%{opacity:0;transform:translate3d(0,0,0) rotate(0) scale(.6)}
  10%{opacity:1;transform:translate3d(calc(var(--x)*.25),calc(var(--y)*.12),0) rotate(60deg) scale(1)}
  100%{opacity:0;transform:translate3d(var(--x),var(--y),0) rotate(var(--r)) scale(.9)}
}
@media (prefers-reduced-motion: reduce){ #sA1 .boom{display:none} }
#sA1 .acin .steps .lab{display:flex; justify-content:space-between; margin-top:11px;
  font-size:12.5px; color:#cfd8e3; letter-spacing:-.2px}
#sA1 .acin .steps .lab b{color:#e8edf4; font-weight:700}
#sA1 .acin .steps .lab span{color:#8fa1b6; font-variant-numeric:tabular-nums}
#sA1 .acin .rows{margin-top:18px; padding:8px 16px}
#sA1 .acin .row{display:flex; align-items:center; gap:13px; padding:14px 0}
#sA1 .acin .row + .row{border-top:1px solid rgba(255,255,255,.09)}
#sA1 .acin .row .n{width:26px; height:26px; flex:0 0 26px; border-radius:50%; border:1px solid #c9a24a;
  color:#e8c777; font-size:12px; font-weight:800; display:flex; align-items:center; justify-content:center;
  background:rgba(201,162,74,.10)}
#sA1 .acin .row .a{font-size:15px; font-weight:700; letter-spacing:-.3px}
#sA1 .acin .row .b{font-size:12.5px; color:#8fa1b6; margin-top:2px; letter-spacing:-.2px}
#sA1 .acin .card.me{margin-top:10px;padding:10px 12px;display:flex;align-items:center;gap:12px;cursor:pointer}
#sA1 .acin .card.me img{width:46px;height:46px;flex:0 0 46px;border-radius:50%;object-fit:cover;border:2px solid rgba(232,199,119,.7)}
#sA1 .acin .card.me .a{font-size:14.5px;font-weight:700;letter-spacing:-.3px;line-height:1.45;word-break:keep-all}
#sA1 .acin .card.me .b{font-size:12.5px;color:#8fa1b6;margin-top:3px;letter-spacing:-.2px}
#sA1 .acin .card.me .chg{margin-left:auto;font-size:12.5px;font-weight:800;color:#e8c777;white-space:nowrap}
#sA1 .acin .card.me.none .a{color:#e8c777}
#sA1 .acin .pig{margin-top:18px; padding:16px; display:flex; align-items:center; gap:15px}
#sA1 .acin .pig img{width:78px; height:78px; flex:0 0 78px; object-fit:contain;
  filter:drop-shadow(0 6px 16px rgba(0,0,0,.5))}
#sA1 .acin .pig .a{font-size:14.5px; font-weight:700; letter-spacing:-.3px; line-height:1.45; word-break:keep-all}
#sA1 .acin .pig .b{font-size:12.5px; color:#8fa1b6; margin-top:4px; letter-spacing:-.2px}
#sA1 .acin .go{margin-top:20px; background:linear-gradient(180deg,#f2d489,#dfb75f); color:#1a1206;
  font-size:19px; font-weight:800; text-align:center; padding:19px 0; border-radius:18px;
  box-shadow:0 8px 22px rgba(201,162,74,.35); letter-spacing:-.3px; cursor:pointer}
#sA1 .acin .ft{margin-top:14px; text-align:center; font-size:11.5px; color:#7b8da3; padding-bottom:16px}
#sA1 .acin{justify-content:flex-end}   /* 내용 아래 정렬 — 위 그림이 보이게 (사장님 2026-09-05) */
/* 휴대폰 높이(≈800px)에서 입학 화면 버튼이 잘리던 것 — 세로 여백·크기를 줄여 한 화면에 (사장님 2026-09-05) */
@media (max-height:900px){
#sA1 .acin .top{padding:12px 20px 2px}
#sA1 .acin .logo{width:190px}
#sA1 .acin .wel{margin-top:8px;font-size:18px}
#sA1 .acin .hero{margin-top:12px;gap:12px}
#sA1 .acin .hero .s{font-size:14px}
#sA1 .acin .steps{margin-top:12px;padding:11px 12px 10px}
#sA1 .acin .dots i{width:24px;height:24px;font-size:11px}
#sA1 .acin .steps .lab{margin-top:7px}
#sA1 .acin .rows{margin-top:10px;padding:4px 14px}
#sA1 .acin .row{padding:9px 0;gap:11px}
#sA1 .acin .row .a{font-size:14px}
#sA1 .acin .row .b{font-size:12px}
#sA1 .acin .pig{margin-top:10px;padding:10px 12px;gap:12px}
#sA1 .acin .pig img{width:54px;height:54px;flex:0 0 54px}
#sA1 .acin .go{margin-top:12px;padding:15px 0;font-size:17px}
#sA1 .acin .ft{padding-bottom:8px;font-size:10.5px;margin-top:8px}
}
@media (max-height:760px){
#sA1 .acin .logo{width:160px}
#sA1 .acin .row{padding:7px 0}
#sA1 .acin .pig img{width:46px;height:46px;flex:0 0 46px}
}
#sA1 .wrap{position:relative; z-index:2; height:100%}
#sA1 .topbar{display:flex; align-items:center; justify-content:space-between; padding:16px 16px 0}
#sA1 .circ{width:34px; height:34px; border-radius:50%; background:rgba(10,16,24,.5); border:1px solid rgba(255,255,255,.16); color:#cfd8e3; font-size:15px; display:flex; align-items:center; justify-content:center}
#sA1 .titlebox{text-align:center}
#sA1 .titlebox .t1{font-size:16px; font-weight:700}
#sA1 .titlebox .t2{font-size:11.5px; color:#a9bacb; margin-top:2px}
#sA1 .meta{display:flex; align-items:center; gap:14px; padding:20px 22px 0}
#sA1 .badge{background:rgba(10,16,24,.6); border:1px solid #c9a24a; color:#e8c777; font-size:12px; font-weight:700; padding:5px 12px; border-radius:999px}
#sA1 .next{font-size:13px; color:#9db0c4}
#sA1 .next b{color:#e8c777}
#sA1 .confirm{margin:14px 20px 0; background:rgba(27,52,42,.72); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border:1.5px solid #3fb37a; color:#a9e6c6; border-radius:14px; padding:11px 15px; font-size:13.5px; font-weight:600}
#sA1 .qrow{display:flex; align-items:center; gap:16px; padding:26px 22px 0}
#sA1 .owl{width:96px; height:124px; border-radius:18px; flex:0 0 96px; border:2.5px solid #c9a24a; box-shadow:0 4px 16px rgba(0,0,0,.55), 0 0 14px rgba(201,162,74,.25);  background-image:url(img/owl_wallst-0d837ed3.jpg); background-color:#0d1622; background-size:233px auto; background-position:-68px -14px}
#sA1 .qtitle{font-size:27px; line-height:1.36; font-weight:800; letter-spacing:-.8px}
#sA1 .qtitle .g{color:#e8c777}
#sA1 .speech{padding:12px 22px 0; font-size:14px; color:#9db0c4}
#sA1 .speech b{color:#d8c48e}
#sA1 .content{padding:24px 20px 0}
#sA1 .glass{background:linear-gradient(135deg, rgba(22,33,48,.60), rgba(15,23,36,.66)); backdrop-filter:blur(12px) saturate(1.15); -webkit-backdrop-filter:blur(12px) saturate(1.15); border:1.5px solid #2c415a; border-radius:20px; padding:22px 20px; box-shadow:0 8px 22px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.06)}
#sA1 .tick{text-align:center}
#sA1 .tick .sym{font-size:44px; font-weight:800; letter-spacing:-.5px}
#sA1 .tick .real{font-size:15px; color:#9db0c4; font-weight:700; margin-top:2px}
#sA1 .tick .amt{font-size:26px; color:#e8c777; font-weight:800; margin-top:10px}
#sA1 .desc{margin-top:16px; font-size:16.5px; line-height:1.6; text-align:center; color:#dfe7f0; letter-spacing:-.3px}
#sA1 .desc b{color:#e8c777}
#sA1 .mini{margin-top:14px; text-align:center; font-size:12.5px; color:#7e92a8}
#sA1 .two{display:flex; gap:13px; margin-top:16px}
#sA1 .two .glass{flex:1; padding:18px 14px; text-align:center}
#sA1 .two .h{font-size:14.5px; font-weight:700; color:#cdd9e6}
#sA1 .two .v{font-size:13px; color:#e8c777; margin-top:8px}
#sA1 .biglist{margin-top:16px}
#sA1 .biglist .row{display:flex; gap:10px; font-size:15px; margin-top:10px; color:#dfe7f0}
#sA1 .biglist .n{color:#e8c777; font-weight:800}
#sA1 .xp{text-align:center}
#sA1 .xp .big{font-size:40px; font-weight:800; color:#e8c777}
#sA1 .xp .chips{display:flex; gap:10px; justify-content:center; margin-top:12px}
#sA1 .xp .chip{border:1px solid #c9a24a; color:#e8c777; font-size:13px; font-weight:700; padding:6px 13px; border-radius:999px; background:rgba(10,16,24,.5)}
#sA1 .cta{position:absolute; left:20px; right:20px; bottom:52px; background:linear-gradient(180deg,#ecd28a,#dcb45f); color:#1a2434; font-size:18px; font-weight:800; text-align:center; padding:18px 0; border-radius:18px; box-shadow:0 10px 26px rgba(201,162,74,.35); letter-spacing:-.3px}
#sA1 .foot{position:absolute; bottom:16px; left:0; right:0; text-align:center; font-size:12px; color:#8b9cb0}
/* 앱의 `.gauge div{flex:1;border;background;padding}` 규칙이 스펙 게이지를 눌러서 먼저 되돌린다.
   이 줄은 스펙 CSS 앞에 있어야 한다 — 뒤에 두면 스펙 값을 덮어쓴다. */
#sA1 .gauge div:not(.gbar):not(.fill){flex:none;border:0;background:none;padding:0;border-radius:0}
#sA1 .gauge .gbar{flex:none;border:0;padding:0}
/* 30 10학년 — 가정 카드와 세 줄 비교, 졸업 */
#sA1 .ifc{border:1.5px solid #2c415a; border-radius:16px; padding:13px 14px; background:rgba(10,16,24,.45); font-size:14px; line-height:1.55; color:#dfe7f0; margin-top:11px; cursor:pointer}
#sA1 .ifc.sel{border:2px solid #e8c777; box-shadow:0 0 18px rgba(232,199,119,.26)}
#sA1 .ifc.off{opacity:.45; cursor:default}
#sA1 .ifc b{color:#e8c777}
#sA1 .r3 .r{display:flex; font-size:14.5px; margin-top:10px; color:#dfe7f0}
#sA1 .r3 .r .n{flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
#sA1 .r3 .r .v{font-weight:800; white-space:nowrap}
#sA1 .r3 .r.me .v{color:#e8c777}
#sA1 .r3 .r.if2 .v{color:#a9e6c6}
#sA1 .r3 .r.sp .v{color:#8fb4df}
#sA1 .tools{display:grid; grid-template-columns:1fr 1fr; gap:7px 12px; margin-top:14px}
#sA1 .tools div{font-size:13px; color:#dfe7f0}
#sA1 .tools i{color:#e8c777; font-style:normal; font-weight:800; margin-right:5px}
#sA1 .grad{text-align:center; font-size:34px; font-weight:800; color:#e8c777; letter-spacing:-.5px; margin-top:4px}
/* 28 8학년 — 배당 갈래 카드 */
#sA1 .dvrow{display:flex; align-items:center; gap:10px; font-size:15px; margin-top:12px; color:#dfe7f0}
#sA1 .dvrow .n{flex:1; min-width:0; font-weight:800}
#sA1 .dvrow .g2{border:1.5px solid #2c415a; border-radius:999px; padding:5px 12px; font-size:12.5px; font-weight:800; color:#9db0c4; white-space:nowrap}
#sA1 .dvrow .g2.pay{border-color:#c9a24a; color:#e8c777}
#sA1 .b-h02 .glass{padding-top:14px; padding-bottom:14px}
#sA1 .b-h02 .two2{gap:8px; margin-top:10px}
#sA1 .b-h02 .two2 .b{padding:11px 13px; font-size:13.5px}
#sA1 .b-h02 .whead{margin-top:12px}
#sA1 .b-h02 .react{margin-top:10px}
#sA1 .b-h02 .foot{padding:14px 0 12px}
/* 오답 칩이 뜨면 한 줄이 더 늘어 버튼이 밀린다 — 이 화면만 더 좁힌다 */
#sA1 .b-h02 .qrow{padding-top:18px}
#sA1 .b-h02 .speech{padding-top:8px; font-size:13px}
#sA1 .b-h02 .content{padding-top:14px}
#sA1 .b-h02 .react{font-size:13px; padding:9px 13px}
#sA1 .b-h02 .cta{margin-top:16px}
#sA1 .b-h02 .two2 .b{padding:10px 12px; font-size:13px}
#sA1 .b-h02 .meta{padding-top:14px}
/* 오답 칩이 뜨면 한 줄 늘어 버튼이 밀린다 — 고르기 화면들을 같은 방식으로 좁힌다 */
#sA1 .b-g03 .glass,#sA1 .b-i03 .glass{padding-top:14px; padding-bottom:14px}
#sA1 .b-g03 .two2,#sA1 .b-i03 .two2{gap:8px; margin-top:10px}
#sA1 .b-g03 .two2 .b,#sA1 .b-i03 .two2 .b{padding:10px 12px; font-size:13px}
#sA1 .b-g03 .whead,#sA1 .b-i03 .whead{margin-top:12px}
#sA1 .b-g03 .react,#sA1 .b-i03 .react{margin-top:10px; font-size:13px; padding:9px 13px}
#sA1 .b-g03 .qrow,#sA1 .b-i03 .qrow{padding-top:18px}
#sA1 .b-g03 .speech,#sA1 .b-i03 .speech{padding-top:8px; font-size:13px}
#sA1 .b-g03 .content,#sA1 .b-i03 .content{padding-top:14px}
#sA1 .b-g03 .cta,#sA1 .b-i03 .cta{margin-top:16px}
#sA1 .b-g03 .foot,#sA1 .b-i03 .foot{padding:14px 0 12px}
#sA1 .b-i03 .desc{font-size:14px; line-height:1.55}
#sA1 .b-g03 .two2 .b,#sA1 .b-h02 .two2 .b{padding:9px 12px}
#sA1 .b-g03 .cta,#sA1 .b-h02 .cta{margin-top:14px}
/* 29 9학년 — 무게 순 막대와 연습 슬라이더 */
#sA1 .wrow{margin-top:12px}
#sA1 .wrow .l{display:flex; justify-content:space-between; font-size:14px; font-weight:700; color:#cdd9e6}
#sA1 .wrow.top .l{color:#e8c777; font-weight:800}
#sA1 .wrow .bar{height:10px; border-radius:7px; background:rgba(40,57,78,.8); margin-top:6px; overflow:hidden}
#sA1 .wrow .bar i{display:block; height:100%; border-radius:7px; background:#4f8fd6}
#sA1 .wrow.top .bar i{background:#e8c777}
#sA1 .rule{margin-top:16px; font-size:13.5px; line-height:1.55; color:#dfe7f0}
#sA1 .rule{word-break:keep-all}
#sA1 .rule b{color:#e8c777; white-space:nowrap}
#sA1 .b-i04 .glass{padding-top:14px; padding-bottom:14px}
#sA1 .b-i04 .wrow{margin-top:8px}
#sA1 .b-i04 .sld{margin-top:8px}
#sA1 .b-i04 .confirm{margin-top:10px; padding:9px 15px}
#sA1 .b-i04 .foot{padding:14px 0 12px}
/* 27 7학년 — 금액 고르기 · 양면 카드 · 적립형 리그 줄 */
#sA1 .amts{display:grid; grid-template-columns:1fr 1fr; gap:11px; margin-top:16px}
#sA1 .amt1{position:relative; text-align:center; border:1.5px solid #2c415a; border-radius:16px; padding:15px 8px; background:rgba(10,16,24,.45); font-size:21px; font-weight:800; cursor:pointer}
#sA1 .amt1.sel{border:2px solid #e8c777; color:#e8c777; box-shadow:0 0 18px rgba(232,199,119,.28)}
#sA1 .two2{display:flex; flex-direction:column; gap:11px; margin-top:14px}
#sA1 .two2 .b{border:1.5px solid #2c415a; border-radius:16px; padding:13px 14px; background:rgba(10,16,24,.45); font-size:14px; line-height:1.55; color:#dfe7f0}
#sA1 .two2 .b b{color:#e8c777}
#sA1 .lgrow{display:flex; align-items:center; gap:10px; font-size:14px; margin-top:10px; color:#dfe7f0}
#sA1 .lgrow img{width:30px; height:30px; border-radius:9px; object-fit:cover; flex:0 0 30px}
#sA1 .lgrow .n{flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
#sA1 .lgrow .v{font-weight:800; color:#e8c777; white-space:nowrap}
#sA1 .b-g04 .glass{padding-top:14px; padding-bottom:14px}
#sA1 .b-g04 .lgrow{margin-top:7px; font-size:13.5px}
#sA1 .b-g04 .lgrow img{width:26px; height:26px; flex:0 0 26px}
#sA1 .b-g04 .confirm{margin-top:10px; padding:9px 15px}
#sA1 .b-g04 .foot{padding:14px 0 12px}
/* 26 6학년 — 구간 카드와 구간 비교 */
#sA1 .vcard .dd{font-size:30px; font-weight:800; color:#e8917f; letter-spacing:-.5px}
#sA1 .vcard .sub{font-size:12px; color:#9db0c4; margin-top:6px; line-height:1.45}
#sA1 .vcard .nm{font-size:14.5px; font-weight:800; letter-spacing:-.3px}
#sA1 .cmpline{display:flex; gap:10px; margin-top:14px}
#sA1 .cmpline .c{flex:1; text-align:center; border:1.5px solid #2c415a; border-radius:14px; padding:11px 6px; background:rgba(10,16,24,.45)}
#sA1 .cmpline .c .k{font-size:11.5px; color:#9db0c4; font-weight:700}
#sA1 .cmpline .c .v{font-size:22px; font-weight:800; margin-top:5px; letter-spacing:-.5px}
#sA1 .cmpline .c.me{border-color:#c9a24a}
#sA1 .cmpline .c.me .v{color:#e8c777}
#sA1 .cmpline .c.sp .v{color:#8fb4df}
#sA1 .whead{font-size:12.5px; color:#9db0c4; font-weight:700; text-align:center; margin-top:16px}
#sA1 .btchart{width:100%; height:130px; display:block; margin-top:10px}
#sA1 .verdict{margin-top:14px; font-size:14.5px; line-height:1.55; font-weight:600; color:#dfe7f0; text-align:center}
#sA1 .limit{margin-top:14px; font-size:11.5px; line-height:1.5; color:#7e92a8}
#sA1 .tb4 .r{display:flex; font-size:13.5px; margin-top:10px; color:#dfe7f0}
#sA1 .tb4 .r.hd{font-size:11.5px; color:#7e92a8; font-weight:800; margin-top:0}
#sA1 .tb4 .c1{flex:1.5; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
#sA1 .tb4 .c2,#sA1 .tb4 .c3{flex:1; text-align:right; font-weight:700; white-space:nowrap}
#sA1 .tb4 .c2{color:#e8c777}
#sA1 .tb4 .c3{color:#8fb4df}
/* f03·f04 는 차트가 들어가 제일 길다 — 두 화면만 세로를 줄인다 (버튼이 첫 화면에 보여야 한다) */
#sA1 .b-f03 .glass,#sA1 .b-f04 .glass{padding-top:14px; padding-bottom:14px}
#sA1 .b-f03 .btchart,#sA1 .b-f04 .btchart{height:96px; margin-top:6px}
#sA1 .b-f03 .whead,#sA1 .b-f04 .whead{margin-top:10px}
#sA1 .b-f03 .cmpline,#sA1 .b-f04 .cmpline{gap:8px; margin-top:8px}
#sA1 .b-f03 .cmpline .c,#sA1 .b-f04 .cmpline .c{padding:8px 5px}
#sA1 .b-f03 .cmpline .c .v,#sA1 .b-f04 .cmpline .c .v{font-size:19px; margin-top:3px}
#sA1 .b-f03 .verdict,#sA1 .b-f04 .verdict{margin-top:11px; font-size:14px}
#sA1 .b-f03 .foot,#sA1 .b-f04 .foot{padding:14px 0 12px}
#sA1 .b-f04 .confirm{margin-top:10px; padding:9px 15px}
#sA1 .b-f04 .btchart{height:74px}
#sA1 .b-f04 .verdict{margin-top:9px}
/* 검수 모드 — 사장님이 학년을 골라 바로 들어가는 자리. 손님에게는 안 보인다 */
#sRVW{padding:0;display:none;position:relative;overflow-x:hidden;overflow-y:auto}
#sRVW.on{display:block}
#sRVW .rvwrap{min-height:calc(100*var(--vh)); padding:22px 20px 28px; background:#0a1018}
#sRVW .rvh{font-size:22px; font-weight:800; letter-spacing:-.5px}
#sRVW .rvs{margin-top:8px; font-size:13px; line-height:1.6; color:#9db0c4}
#sRVW .rvs b{color:#e8c777}
#sRVW .rvgrid{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:18px}
#sRVW .rvb{border:1.5px solid #2c415a; border-radius:14px; padding:13px 12px; background:rgba(22,33,48,.6); cursor:pointer}
#sRVW .rvb .n{font-size:12px; font-weight:800; color:#e8c777}
#sRVW .rvb .t{font-size:14px; font-weight:700; margin-top:4px; letter-spacing:-.3px}
#sRVW .rvb.wide{grid-column:1 / -1; border-color:#c9a24a}
#sRVW .rvfoot{margin-top:20px; font-size:12px; color:#7e92a8; line-height:1.6}
/* 25 5학년 — 고른 값이 주인공, 끄기 스위치는 따로 보이게 */
#sA1 .big1{text-align:center; font-size:46px; font-weight:800; color:#e8c777; letter-spacing:-1px; line-height:1.1}
#sA1 .big1.off{color:#7e92a8}
#sA1 .from{margin-top:8px; text-align:center; font-size:12.5px; color:#9db0c4}
#sA1 .sld{width:100%; margin-top:16px; accent-color:#e8c777}
#sA1 .sld:disabled{opacity:.4}
#sA1 .note{margin-top:14px; font-size:13px; line-height:1.55; color:#9db0c4}
#sA1 .offrow{margin-top:16px; padding-top:14px; border-top:1px solid rgba(255,255,255,.14); display:flex; align-items:center; gap:10px}
#sA1 .offrow .t{flex:1; font-size:13.5px; font-weight:700; color:#cdd9e6}
#sA1 .offrow .tg{border:1.5px solid #c9a24a; color:#e8c777; font-size:12.5px; font-weight:800; padding:6px 14px; border-radius:999px; background:rgba(10,16,24,.5); cursor:pointer}
#sA1 .rules .r{font-size:16px; line-height:1.5; margin-top:12px; color:#dfe7f0}   /* 한 문장이라 flex 로 쪼개지 않는다 */
#sA1 .rules .r b{color:#e8c777; font-weight:800}
#sA1 .rules .r:first-child{margin-top:0}
#sA1 .saved{margin-top:16px; font-size:12.5px; color:#7e92a8; text-align:center}
#sA1 .whybox{margin-top:16px; padding-top:14px; border-top:1px solid rgba(255,255,255,.14); display:flex; gap:11px; align-items:center; font-size:13px; color:#cdd9e6; line-height:1.5}
#sA1 .whybox img{width:44px; height:44px; border-radius:12px; object-fit:cover; flex:0 0 44px}
#sA1 .whybox img.mcard{width:72px;height:115px;border-radius:10px;object-fit:cover;flex:0 0 72px;border:1px solid rgba(232,199,119,.45)}   /* 황소 카드 크게 (사장님 2026-09-08) — 위 44px 규칙보다 뒤 */
@media (min-width:740px){ #sA1 .whybox img.mcard{width:120px;height:192px;flex-basis:120px;border-radius:12px} }
#sA1 .whybox small{display:block; margin-top:3px; color:#7e92a8; font-size:11.5px}
/* e04 는 담을 게 많아 바닥글이 25px 잘렸다 — 이 화면만 세로 간격을 줄인다 (GPT 지시) */
#sA1 .b-e04 .glass{padding-top:15px; padding-bottom:15px}
#sA1 .b-e04 .saved{margin-top:11px}
#sA1 .b-e04 .whybox{margin-top:11px; padding-top:11px}
#sA1 .b-e04 .foot{padding:14px 0 12px}
/* 24 4학년 — 팀과 세 장을 나란히 읽는 표 */
#sA1 .cmp{margin-top:16px}
#sA1 .cmp .hd{display:flex; font-size:11.5px; font-weight:800; color:#7e92a8; letter-spacing:-.2px}
#sA1 .cmp .r{display:flex; align-items:center; font-size:14px; margin-top:9px; color:#dfe7f0}
#sA1 .cmp .r.me{color:#e8c777; font-weight:800}
#sA1 .cmp .c1{flex:1.2; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
#sA1 .cmp .c2,#sA1 .cmp .c3{flex:1; text-align:right; font-weight:700; white-space:nowrap}
#sA1 .cmp .r.me .c2,#sA1 .cmp .r.me .c3{color:#e8c777}
#sA1 .react{margin-top:14px; font-size:14px; line-height:1.55; color:#a9e6c6; background:rgba(27,52,42,.72); border:1.5px solid #3fb37a; border-radius:14px; padding:11px 15px; font-weight:600}
#sA1 .react.other{color:#e8c777; background:rgba(52,44,27,.72); border-color:#c9a24a}
/* 23 3학년 — 고르는 카드. 19 의 확정 규격(금테 2px + 글로우 + 금색 체크)을 그대로 옮겨 온다 */

#sA1 .a9{padding:16px 16px 14px}
#sA1 .a9 .a9top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
#sA1 .a9 .a9top>span{font-size:12.5px;color:#8fa1b6;font-weight:700}
#sA1 .a9 .a9top>b{font-size:17px;font-weight:800;font-variant-numeric:tabular-nums}
#sA1 .a9 .a9chips{display:flex;gap:6px}
#sA1 .a9 .a9chip{font-size:12px;font-weight:800;padding:5px 10px;border-radius:999px;
  border:1px solid #2c415a;color:#8fa1b6;cursor:pointer}
#sA1 .a9 .a9chip.on{border-color:#e8c777;color:#e8c777;background:rgba(232,199,119,.10)}
#sA1 .a9 .a9c{margin-top:12px;padding-top:11px;border-top:1px solid rgba(255,255,255,.09)}
#sA1 .a9 .a9k{font-size:12.5px;color:#8fa1b6;font-weight:700}
#sA1 .a9 .a9v{font-size:23px;font-weight:800;font-variant-numeric:tabular-nums;margin-top:2px}
#sA1 .a9 .a9v.dn{color:var(--dnc)}
#sA1 .a9 .a9s{font-size:11.5px;color:#7e92a8}
#sA1 .a9 .a9lead{margin-top:13px;text-align:center;font-size:14px;font-weight:800;color:#e8c777;word-break:keep-all}
#sA1 .a9 .a9r{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px;padding:9px 0;
  border-top:1px solid rgba(255,255,255,.09);font-size:13.5px;font-variant-numeric:tabular-nums}
#sA1 .a9 .a9r.hd{color:#8fa1b6;font-size:12px;font-weight:700;border-top:0;line-height:1.35;align-items:end}
#sA1 .a9 .a9r .c2,#sA1 .a9 .a9r .c3{text-align:right;font-weight:800}
#sA1 .picks{display:grid; grid-template-columns:1fr 1fr; gap:13px; margin-top:16px}
#sA1 .picks.p3{grid-template-columns:1fr 1fr 1fr; gap:9px; margin-top:8px}
#sA1 .picks.p3 .pick{padding:12px 9px 11px}
#sA1 .picks.p3 .pick.sm{padding:11px 8px 10px}
#sA1 .swaplab{margin-top:14px; font-size:12.5px; font-weight:800; color:#8fa1b6; letter-spacing:-.2px}
#sA1 .swaplab.dn{color:#e8c777}
#sA1 .pick.hole{border-style:dashed; border-color:#c9a24a; background:rgba(201,162,74,.06);
  display:flex; align-items:center; justify-content:center; min-height:92px}
#sA1 .pick.hole .holek{font-size:12.5px; font-weight:800; color:#c9a24a}
#sA1 .pick.new{border-color:#e8c777}
#sA1 .pick{position:relative; background:linear-gradient(135deg, rgba(22,33,48,.60), rgba(15,23,36,.66)); backdrop-filter: blur(12px) saturate(1.15); -webkit-backdrop-filter: blur(12px) saturate(1.15); border:1.5px solid #2c415a; border-radius:18px; padding:16px 14px 14px; box-shadow:0 8px 22px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.06); cursor:pointer}
#sA1 .pick.sel{border:2px solid #e8c777; box-shadow:0 0 20px rgba(232,199,119,.32), 0 8px 22px rgba(0,0,0,.5)}
#sA1 .pick .sym{font-size:19px; font-weight:800; letter-spacing:-.3px}
#sA1 .pick .real{font-size:12.5px; color:#9db0c4; font-weight:700; margin-top:2px}
#sA1 .pick .ds{font-size:12px; color:#8fa1b6; margin-top:6px; line-height:1.45; letter-spacing:-.2px}
#sA1 .pick .now{font-size:13px; color:#e8c777; font-weight:800; margin-top:8px}
#sA1 .pick .chk{position:absolute; top:12px; right:12px; width:26px; height:26px; border-radius:50%; background:#e8c777; color:#1a2434; font-weight:800; font-size:13px; display:flex; align-items:center; justify-content:center}
#sA1 .cta.off{opacity:.45}
#sA1 .adv .t{font-size:13px; font-weight:800; color:#e8c777; margin-top:14px}
#sA1 .adv .t:first-child{margin-top:0}
#sA1 .adv p{font-size:14.5px; line-height:1.6; color:#dfe7f0; margin:5px 0 0; letter-spacing:-.2px}
#sA1 .adv .per{margin-top:14px; font-size:12.5px; color:#7e92a8; text-align:center}
/* 22 홈 다음 미션 줄 — GPT 시안 그대로 (collab/drafts/22-home-next-mission-row-spec) */
#home .academy-mission-row{margin:10px 0 10px; width:100%; min-height:74px; display:flex; align-items:center; gap:12px; padding:12px 13px;
  border:1.5px solid rgba(201,162,74,.72); border-radius:16px;
  background:linear-gradient(90deg,rgba(201,162,74,.18),rgba(22,33,48,.70) 34%,rgba(12,18,29,.72)), rgba(10,16,24,.72);
  box-shadow:0 10px 22px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.07);
  color:var(--text); cursor:pointer; -webkit-backdrop-filter:blur(12px) saturate(1.12); backdrop-filter:blur(12px) saturate(1.12)}
#home .academy-mission-row .mark{width:38px; height:38px; flex:0 0 38px; border-radius:12px; display:flex; align-items:center; justify-content:center;
  border:1px solid rgba(201,162,74,.68); background:rgba(201,162,74,.12); color:#e8c777; font-size:19px; font-weight:900}
#home .academy-mission-row .body{flex:1; min-width:0}
#home .academy-mission-row .k{display:flex; align-items:center; gap:7px; font-size:10px; font-weight:900; color:#e8c777; letter-spacing:.08em; text-transform:uppercase}
#home .academy-mission-row .k b{color:#9db0c4; font-size:10.5px; letter-spacing:0; text-transform:none}
#home .academy-mission-row .t{margin-top:3px; font-size:15.5px; line-height:1.25; font-weight:900; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
#home .academy-mission-row .d{margin-top:2px; font-size:11px; color:#9db0c4; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
#home .academy-mission-row .state{flex:0 0 auto; border:1px solid rgba(201,162,74,.72); border-radius:999px; padding:3px 8px; color:#e8c777; font-size:10px; font-weight:900; background:rgba(201,162,74,.10)}
#home .academy-mission-row .arr{flex:0 0 auto; color:#e8c777; font-size:25px; line-height:1}
/* 21 허브·2학년 스킨 — 오더의 HTML 6장 CSS 값 그대로. 화면별 차이는 .b-XX 로 분리 */
#sA1 .bg,#sACH .bg{position:absolute; inset:0}
#sA1 .b-b01 .bg,#sACH .b-b01 .bg{position:absolute; inset:0}
#sA1 .b-b02 .bg,#sACH .b-b02 .bg{position:absolute; inset:0}
#sA1 .b-b04 .bg,#sACH .b-b04 .bg{position:absolute; inset:0}
#sA1 .b-b05 .bg,#sACH .b-b05 .bg{position:absolute; inset:0}
#sA1 .bg::after,#sACH .bg::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,16,24,var(--ov,.42)) 0%, rgba(10,16,24,calc(var(--ov,.42) + .18)) 33%, rgba(10,16,24,calc(var(--ov,.42) + .28)) 58%, rgba(8,13,20,calc(var(--ov,.42) + .36)) 100%)}   /* 아래쪽 덮개도 --ov 를 따라간다 — 배경 그림이 보이는 화면(2학년 신문)을 위해 (2026-09-05) */
#sA1 .wrap,#sACH .wrap{position:relative; z-index:2; height:100%}
#sA1 .topbar,#sACH .topbar{display:flex; align-items:center; justify-content:space-between; padding:16px 16px 0}
#sA1 .circ,#sACH .circ{width:34px; height:34px; border-radius:50%; background:rgba(10,16,24,.5); border:1px solid rgba(255,255,255,.16); color:#cfd8e3; font-size:15px; display:flex; align-items:center; justify-content:center}
#sA1 .titlebox,#sACH .titlebox{text-align:center}
#sA1 .titlebox .t1,#sACH .titlebox .t1{font-size:16px; font-weight:700}
#sA1 .titlebox .t2,#sACH .titlebox .t2{font-size:11.5px; color:#a9bacb; margin-top:2px}
/* 상단 머리띠 압축 — 자리를 많이 차지해서 (사장님 2026-09-05) */
#sA1 .topbar{padding:8px 12px 0}
#sA1 .circ{width:30px;height:30px;font-size:14px}
#sA1 .titlebox .t1{font-size:14.5px}
#sA1 .titlebox .t2{font-size:10.5px;margin-top:1px}
#sA1 .meta{padding:10px 22px 0;flex-wrap:nowrap}
#sA1 .meta .next{white-space:nowrap}   /* '다음: 3학년 시작' 한 줄 (사장님 2026-09-05) */
#sA1 .ac2nv .crash{margin-top:10px;border:1px solid rgba(255,138,128,.45);background:rgba(255,120,110,.08);border-radius:12px;padding:10px 12px}
#sA1 .ac2nv .crash b{display:block;color:#ff8a80;font-size:12px;font-weight:1000}
#sA1 .ac2nv .crash p{margin:4px 0 0;font-size:13px;line-height:1.4;color:#e3edf4;font-weight:800}
#sA1 .ac2nv .crash p.on{color:#ffe08a;font-size:17px;font-weight:1000;margin:6px 0}
#sA1 .ac2nv .crash p.yours{margin-top:8px;color:#fff0b8;font-size:14px;font-weight:1000;text-align:right}
#sA1 .meta,#sACH .meta{display:flex; align-items:center; gap:14px; padding:20px 22px 0}
#sA1 .badge,#sACH .badge{background:rgba(10,16,24,.6); border:1px solid #c9a24a; color:#e8c777; font-size:12px; font-weight:700; padding:5px 12px; border-radius:999px}
#sA1 .next,#sACH .next{font-size:13px; color:#9db0c4}
#sA1 .next b,#sACH .next b{color:#e8c777}
#sA1 .confirm,#sACH .confirm{margin:14px 20px 0; background:rgba(27,52,42,.72); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border:1.5px solid #3fb37a; color:#a9e6c6; border-radius:14px; padding:11px 15px; font-size:13.5px; font-weight:600}
#sA1 .qrow,#sACH .qrow{display:flex; align-items:center; gap:16px; padding:26px 22px 0}
#sA1 .owl,#sACH .owl{width:96px; height:124px; border-radius:18px; flex:0 0 96px; border:2.5px solid #c9a24a; box-shadow:0 4px 16px rgba(0,0,0,.55), 0 0 14px rgba(201,162,74,.25);  background-image:url(img/owl_wallst-0d837ed3.jpg); background-color:#0d1622; background-size:233px auto; background-position:-68px -14px}
#sA1 .qtitle,#sACH .qtitle{font-size:27px; line-height:1.36; font-weight:800; letter-spacing:-.8px}
#sA1 .qtitle .g,#sACH .qtitle .g{color:#e8c777}
#sA1 .speech,#sACH .speech{padding:12px 22px 0; font-size:14px; color:#9db0c4}
#sA1 .speech b,#sACH .speech b{color:#d8c48e}
#sA1 .content,#sACH .content{padding:24px 20px 0}
#sA1 .glass,#sACH .glass{background:linear-gradient(135deg, rgba(22,33,48,.60), rgba(15,23,36,.66)); backdrop-filter:blur(12px) saturate(1.15); -webkit-backdrop-filter:blur(12px) saturate(1.15); border:1.5px solid #2c415a; border-radius:20px; padding:22px 20px; box-shadow:0 8px 22px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.06)}
#sA1 .tick,#sACH .tick{text-align:center}
#sA1 .tick .sym,#sACH .tick .sym{font-size:44px; font-weight:800; letter-spacing:-.5px}
#sA1 .tick .real,#sACH .tick .real{font-size:15px; color:#9db0c4; font-weight:700; margin-top:2px}
#sA1 .tick .amt,#sACH .tick .amt{font-size:26px; color:#e8c777; font-weight:800; margin-top:10px}
#sA1 .desc,#sACH .desc{margin-top:16px; font-size:16.5px; line-height:1.6; text-align:center; color:#dfe7f0; letter-spacing:-.3px}
#sA1 .desc b,#sACH .desc b{color:#e8c777}
#sA1 .mini,#sACH .mini{margin-top:14px; text-align:center; font-size:12.5px; color:#7e92a8}
/* 1-1 게임 머니 카드 — 시안 39 (2026-08-29 사장님 지시) */
#sA1 .money{text-align:center; padding:26px 20px 22px}
#sA1 .money .lb .pigsm{width:16px;height:16px;vertical-align:-3px;margin-right:3px}
#sA1 .money .lb{display:inline-block; font-size:12.5px; font-weight:700; color:#e8c777;
  border:1px solid #c9a24a; border-radius:999px; padding:5px 14px; letter-spacing:.4px;
  background:rgba(201,162,74,.12)}
#sA1 .money .amt{font-size:56px; font-weight:800; color:#e8c777; letter-spacing:-1.5px; margin-top:12px;
  text-shadow:0 0 24px rgba(232,199,119,.35); font-variant-numeric:tabular-nums}
#sA1 .money .amt .cur{font-size:34px; vertical-align:6px; margin-right:2px}
#sA1 .money .ln{font-size:16.5px; font-weight:700; margin-top:12px; letter-spacing:-.4px; line-height:1.5}
#sA1 .money .sub{font-size:12.5px; color:#8fa1b6; margin-top:10px; letter-spacing:-.2px}


/* 굵은 강조 구절은 줄에 걸쳐 찢지 않는다 — 꼬리 한 단어가 홀로 남으면 읽기가 끊긴다 (2026-08-29) */
#sA1 .speech .nb{white-space:nowrap}
/* 1-3 지난 한 주 — 그래프·요일·범례·결과 (2026-08-29) */
#sA1 .wkc{padding:14px 12px 12px}
#sA1 .wkg{position:relative}
#sA1 .wkg .acwk{width:100%; height:132px; display:block; overflow:visible}
#sA1 .wkg .z{position:absolute; left:2px; top:50%; transform:translateY(-50%);
  font-style:normal; font-size:10px; color:#7e92a8; background:rgba(10,16,26,.75); padding:0 3px; border-radius:3px}
#sA1 .wkd{display:flex; justify-content:space-between; margin:4px 8px 0; font-size:10.5px; color:#7e92a8}
#sA1 .wkl{display:flex; justify-content:center; gap:14px; flex-wrap:wrap; margin-top:10px; font-size:12px}
#sA1 .wkl span{display:inline-flex; align-items:center; gap:5px; white-space:nowrap}
#sA1 .wkl i{width:8px; height:8px; border-radius:2px; display:inline-block}
#sA1 .wkl b{font-weight:800}
#sA1 .wkl em{font-style:normal; font-weight:800; font-variant-numeric:tabular-nums}
#sA1 .wkl em.up,#sA1 .wkr em.up{color:var(--upc)} #sA1 .wkl em.dn,#sA1 .wkr em.dn{color:var(--dnc)}
/* 결과 카드 — 가운데 정렬이 아니라 두 줄 좌우 배치 (2026-08-29 확정) */
#sA1 .wkr{margin-top:12px; padding:14px 16px; text-align:left}
#sA1 .wkr .k{font-size:13px; color:#8fa1b6; word-break:keep-all}
#sA1 .wkr .row{display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-top:5px}
#sA1 .wkr .row b{font-size:22px; font-weight:800; color:#eef1f4; font-variant-numeric:tabular-nums}
#sA1 .wkr .row em{font-style:normal; font-size:17px; font-weight:800; font-variant-numeric:tabular-nums; white-space:nowrap}
#sA1 .wkr .row em.big{font-size:26px}
#sA1 .wkr .sub{margin-top:3px; text-align:right}
#sA1 .wkr .sub em{font-style:normal; font-size:14px; font-weight:700; font-variant-numeric:tabular-nums}
/* 1-2~1-4 세 장 — 본게임 종목 카드를 그대로 쓴다(.rail/.scard). 여기서 더하는 건 두 줄뿐이다.
   ① 세 장이 한 줄에 들어오게 가로 스크롤 없이 균등 배분 ② 설명 중인 카드 테두리 (2026-08-29) */
#sA1 .acrail{margin:0 0 12px;padding:2px 0 4px;overflow:visible}
#sA1 .a-a02 .badge{white-space:nowrap}   /* 미션 배지는 한 줄로 (2026-08-29 사장님 지시) */
#sA1 .acrail .scard{flex:1 1 0;width:auto;min-width:0}
#sA1 .acrail .scard.now{border:2px solid var(--gold-b)}
#sA1 .acrail .scard.todo{border-color:rgba(232,199,119,.55);animation:tapglow 1.8s ease-in-out infinite}
@keyframes tapglow{0%,100%{box-shadow:0 0 0 0 rgba(232,199,119,.34)}50%{box-shadow:0 0 0 6px rgba(232,199,119,0)}}
#sA1 .acrail .scard .tapme{position:absolute;left:50%;top:-9px;transform:translateX(-50%);padding:2px 8px;border-radius:999px;background:#e8c777;color:#1a1408;font-size:10px;font-weight:1000;white-space:nowrap;z-index:3}
@media (prefers-reduced-motion:reduce){ #sA1 .acrail .scard.todo{animation:none} }

/* 🐞 `#sA1 .pick` 는 다른 아카데미 화면의 큰 유리 카드 스타일이라, 종목 카드의 작은 ✓ 자리를
   둥근 빈 상자로 만들어 글자를 밀어냈다(사장님 발견 2026-08-29). 종목 카드 안에서는 본게임 값으로 되돌린다. */
#sA1 .acrail .scard .pick{position:absolute; right:7px; top:6px; font-size:13px; font-weight:900;
  background:none; border:0; padding:0; border-radius:0; box-shadow:none;
  backdrop-filter:none; -webkit-backdrop-filter:none; cursor:pointer}
/* 설명 카드는 제목·핵심·보조가 모두 가운데다 — 옛 카드 CSS 를 걷어낼 때 이 한 줄이 같이 빠져
   글줄이 왼쪽으로 풀려 있었다(사장님 발견 2026-08-29). 한·영 공통이었다. */
#sA1 .card1{padding:20px 16px 18px; text-align:center}
#sA1 .card1 .hd{display:flex; align-items:baseline; justify-content:center; gap:8px; flex-wrap:wrap}
#sA1 .card1 .hd b{font-size:22px; font-weight:800; letter-spacing:-.5px}
#sA1 .card1 .hd span{font-size:12.5px; color:#8fa1b6; font-variant-numeric:tabular-nums}
#sA1 .card1 .key{font-size:17px; font-weight:700; margin-top:10px; line-height:1.45; letter-spacing:-.3px; word-break:keep-all}
#sA1 .card1 .sub2{font-size:13.5px; color:#8fa1b6; margin-top:6px; line-height:1.5; word-break:keep-all}
/* 강조는 금색·굵게에 크기까지 조금 (핵심 1.10em · 보조 1.15em) — 새 강조를 만들지는 않는다 (시안 40 추가 4) */
#sA1 .card1 .key b{color:#e8c777; font-size:1.10em}
#sA1 .card1 .sub2 b{color:#e8c777; font-weight:800; font-size:1.15em}
/* 수료 보상 카드 — 돼지가 껑충 뛰고, 동전이 떨어지고, 금액이 차오른다 (2026-08-29 사장님 지시).
   연출 순서: 점프(0~0.6초) → 동전 낙하(0.35초부터) → 카운트업(0.9초) — 총 1.5초 안쪽.
   저금통 165px(카드 폭의 ~38%) — 전 학년 CTA 여유 20px 이상을 지키는 크기다 (2026-08-29 ⓑ 승인). */
#sA1 .rwd{text-align:center; padding:12px 16px 10px}   /* 돼지를 키운 만큼 여백에서 덜어낸다 — 글자 크기는 그대로 */
#sA1 .rwd .pig{position:relative; width:165px; height:165px; margin:0 auto}
/* 확정본 PNG 는 배경이 잘려 있지 않은 다크 네이비 사각형이라 카드 위에 상자로 보인다.
   `lighten` 으로 배경보다 어두운 픽셀을 죽여 상자 티를 크게 줄인다 — 진짜 컷아웃이 오면 이 줄은 지워도 된다. */
#sA1 .rwd .pig img{width:165px; height:165px; display:block;
  transform-origin:50% 100%; animation:acjump .62s cubic-bezier(.3,.7,.4,1) 2}
/* 껑충 — 내려앉을 때 살짝 눌렸다 튀긴다(스쿼시&스트레치). 짧고 귀엽게, 두 번만. */
@keyframes acjump{
  0%{transform:translateY(0) scale(1,1)}
  14%{transform:translateY(0) scale(1.06,.94)}
  38%{transform:translateY(-22px) scale(.96,1.05)}
  62%{transform:translateY(0) scale(1.07,.93)}
  80%{transform:translateY(0) scale(.99,1.01)}
  100%{transform:translateY(0) scale(1,1)}
}
#sA1 .rwd .coin{position:absolute; left:50%; top:-16px; width:15px; height:15px; margin-left:-7px;
  border-radius:50%; background:radial-gradient(circle at 35% 32%, #ffe9a8, #c9a24a 70%);
  box-shadow:0 0 8px rgba(232,199,119,.55); opacity:0;
  animation:acdrop .8s ease-in .35s forwards}   /* 점프가 한 번 끝난 뒤에 떨어진다 */
#sA1 .rwd .coin.c2{animation-delay:.6s; margin-left:-20px}
#sA1 .rwd .coin.c3{animation-delay:.85s; margin-left:6px}
@keyframes acdrop{
  0%{opacity:0; transform:translateY(0) scale(.85)}
  18%{opacity:1}
  70%{opacity:1; transform:translateY(74px) scale(1)}
  100%{opacity:0; transform:translateY(84px) scale(.7)}
}
#sA1 .rwd .amt{display:block; font-size:40px; font-weight:800; color:#e8c777; margin-top:2px;
  font-variant-numeric:tabular-nums; text-shadow:0 0 20px rgba(232,199,119,.32); letter-spacing:-1px}
#sA1 .rwd .amt .cur{font-size:26px; vertical-align:5px; margin-right:1px}
#sA1 .rwd .lb{display:block; font-size:12px; color:#8fa1b6; margin-top:2px}
/* 이름이 흔해서 앱 전역 `.sum`(상자+테두리) 이 끼어들었다 — 전용 이름을 쓴다 (2026-08-29) */
#sA1 .rwd .rsum{margin-top:10px; padding-top:8px; border-top:1px dashed #2c415a;
  font-size:12.5px; color:#8fa1b6; word-break:keep-all}
@media (prefers-reduced-motion:reduce){ #sA1 .rwd .coin{animation:none; opacity:0} #sA1 .rwd .pig img{animation:none} }
/* 빨간펜 마크 — 글자에 겹쳐 붙는 손그림. 글자 자리를 밀지 않게 절대 배치한다 (세트 v1, 2026-08-29) */
#sA1 .pen{position:absolute; pointer-events:none; display:block}
#sA1 .pen svg{width:100%; height:100%; display:block; overflow:visible}
#sA1 .pen-wavy{left:-2%; right:-2%; width:104%; bottom:-7px; height:9px}
#sA1 .penw{position:relative; display:inline-block; text-decoration:none}
#sA1 .card1 u{text-decoration:none}   /* 밑줄은 손그림 물결로만 긋는다 — 브라우저 기본 밑줄은 끈다 */
#sA1 .speech b,#sACH .speech b,#sA1 .desc b,#sACH .desc b,#sA1 .qtitle .g,#sACH .qtitle .g{font-size:1.10em}
#sA1 .cta.waitall{opacity:.45}
#sA1 #acHint{min-height:16px; color:#c9a24a; margin-top:10px}
#sA1 .two,#sACH .two{display:flex; gap:13px; margin-top:16px}
#sA1 .two .glass,#sACH .two .glass{flex:1; padding:18px 14px; text-align:center}
#sA1 .two .h,#sACH .two .h{font-size:14.5px; font-weight:700; color:#cdd9e6}
#sA1 .two .v,#sACH .two .v{font-size:13px; color:#e8c777; margin-top:8px}
#sA1 .biglist,#sACH .biglist{margin-top:16px}
#sA1 .biglist .row,#sACH .biglist .row{display:flex; gap:10px; font-size:15px; margin-top:10px; color:#dfe7f0}
#sA1 .biglist .n,#sACH .biglist .n{color:#e8c777; font-weight:800}
#sA1 .xp,#sACH .xp{text-align:center}
#sA1 .xp .big,#sACH .xp .big{font-size:40px; font-weight:800; color:#e8c777}
#sA1 .xp .chips,#sACH .xp .chips{display:flex; gap:10px; justify-content:center; margin-top:12px}
#sA1 .xp .chip,#sACH .xp .chip{border:1px solid #c9a24a; color:#e8c777; font-size:13px; font-weight:700; padding:6px 13px; border-radius:999px; background:rgba(10,16,24,.5)}
#sA1 .cta,#sACH .cta{position:absolute; left:20px; right:20px; bottom:52px; background:linear-gradient(180deg,#ecd28a,#dcb45f); color:#1a2434; font-size:18px; font-weight:800; text-align:center; padding:18px 0; border-radius:18px; box-shadow:0 10px 26px rgba(201,162,74,.35); letter-spacing:-.3px}
#sA1 .foot,#sACH .foot{position:absolute; bottom:16px; left:0; right:0; text-align:center; font-size:12px; color:#8b9cb0}
#sA1 .gauge,#sACH .gauge{margin-top:18px}
#sA1 .gauge .lab,#sACH .gauge .lab{display:flex; justify-content:space-between; font-size:14px; color:#cdd9e6; font-weight:700}
#sA1 .gauge .lab .v,#sACH .gauge .lab .v{color:#e8c777}
#sA1 .gauge .lab span,#sACH .gauge .lab span{white-space:nowrap}  /* '합계' 가 두 줄로 접히던 것 */
#sA1 .gbar,#sACH .gbar{height:12px; border-radius:8px; background:rgba(40,57,78,.8); margin-top:8px; overflow:hidden}
#sA1 .gbar .fill,#sACH .gbar .fill{height:100%; border-radius:8px}
#sA1 .cash,#sACH .cash{margin-top:10px; font-size:13px; color:#9db0c4}
#sA1 .cash b,#sACH .cash b{color:#e8c777}
#sA1 .path,#sACH .path{display:flex; gap:14px; justify-content:center; margin-top:6px}
#sA1 .pnode,#sACH .pnode{width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:16px; font-weight:800; border:2px solid #3a4d63; color:#54677e; background:rgba(10,16,24,.5)}
#sA1 .pnode.done,#sACH .pnode.done{border-color:#e8c777; color:#e8c777}
#sA1 .pnode.open,#sACH .pnode.open{border-color:#e8c777; color:#0a1018; background:#e8c777; box-shadow:0 0 14px rgba(232,199,119,.5)}
#sA1 .plabel,#sACH .plabel{display:flex; gap:14px; justify-content:center; margin-top:8px}
#sA1 .plabel span,#sACH .plabel span{width:44px; text-align:center; font-size:11.5px; color:#9db0c4; font-weight:700}
#sA1 .plabel .g,#sACH .plabel .g{color:#e8c777}
#sA1 .nextcard,#sACH .nextcard{margin-top:16px}
#sA1 .nextcard .k,#sACH .nextcard .k{font-size:12.5px; color:#e8c777; font-weight:800; letter-spacing:.3px}
#sA1 .nextcard .t,#sACH .nextcard .t{font-size:21px; font-weight:800; margin-top:6px}
#sA1 .nextcard .d,#sACH .nextcard .d{font-size:13.5px; color:#9db0c4; margin-top:6px}
#sA1 .pill-open,#sACH .pill-open{float:right; border:1.5px solid #c9a24a; color:#e8c777; font-size:12.5px; font-weight:800; padding:5px 13px; border-radius:999px}
/* 스펙은 430 폭 화면을 통째로 그린다 — 앱 기본 여백·세로배치를 끈다 */
#sA1,#sACH{padding:0;display:none;position:relative;overflow-x:hidden;overflow-y:auto}
#sA1.on,#sACH.on{display:block}
#sA1 .circ:after,#sACH .circ:after{display:none}
#sA1 .gauge,#sACH .gauge{display:block}   /* 앱의 다른 .gauge 규칙(가로 flex)이 게이지를 눌러서 */
#sA1 .qtitle,#sACH .qtitle,#sA1 .speech,#sACH .speech,#sA1 .desc,#sACH .desc{word-break:keep-all}  /* 한글 단어 중간에서 줄바꿈 금지 */   /* 앱의 다른 .circ 규칙(빨간 링) 차단 */
#sA1 .chip,#sACH .chip{flex:0 0 auto}        /* 앱의 .chip{flex:1} 이 칩을 늘리던 것 차단 */
#sA1 .acbody,#sACH .acbody{position:relative;min-height:calc(100*var(--vh));overflow-y:auto;-webkit-overflow-scrolling:touch}
/* 시안은 932px 한 화면 기준인데 실제 폰은 더 짧다 — 바닥글을 흐름으로 두어 겹치지 않게 */
#sA1 .wrap,#sACH .wrap{display:flex;flex-direction:column;min-height:calc(100*var(--vh))}
#sA1 .foot,#sACH .foot{position:static;margin-top:auto;padding:22px 0 16px}
#sA1 .cta,#sACH .cta{position:static;margin:26px 20px 0;width:auto}   /* 기본 .cta{width:100%} 가 오른쪽을 잘랐다 */
/* 버튼 자리를 학년마다 같게 — 내용이 짧으면 버튼이 중간에 뜨고 바닥글만 아래 남았다.
   내용칸이 남은 높이를 먹게 해서 버튼이 늘 바닥글 위에 선다 (사장님 2026-09-02).
   실측: 짧은 화면 빈틈 280px → 42px, 긴 화면도 42px 로 같아짐. */
#sA1 .wrap,#sACH .wrap{display:flex;flex-direction:column}
#sA1 .content,#sACH .content{flex:1 1 auto}
#sA1 .cta,#sACH .cta{margin-bottom:42px}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
  #sA1 .glass,#sACH .glass{background:linear-gradient(135deg,rgba(22,33,48,.92),rgba(15,23,36,.92))}
}
.dgopt.on{border-color:var(--gold);background:rgba(201,162,74,.14);color:var(--gold-b)}
.dgsay{margin-top:12px;padding:11px 13px;border-radius:12px;font-size:12.5px;line-height:1.55;
  color:var(--gold-b);background:rgba(201,162,74,.10);border:1px solid rgba(201,162,74,.4);word-break:keep-all}
.dgbadge{display:inline-block;margin-top:12px;padding:8px 16px;border-radius:999px;
  font-size:13px;font-weight:900;color:var(--gold-b);border:1px solid var(--gold);background:rgba(201,162,74,.10)}
.picknote{margin:10px 16px 0;padding:11px 13px;border-radius:12px;font-size:12.5px;line-height:1.6;
  color:var(--gold-b);background:rgba(201,162,74,.10);border:1px solid rgba(201,162,74,.4);word-break:keep-all}
.picknote.warn{color:#e8c777;background:rgba(224,160,60,.08);border-color:rgba(224,160,60,.45)}
.dgopenh{margin-top:18px;font-size:11.5px;font-weight:800;color:var(--dim)}
.dgopen{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.dgopen span{padding:9px 14px;border-radius:12px;font-size:13px;font-weight:700;
  color:var(--text);background:#0d1727;border:1px solid #2c4a6b}
.dgq .cta:disabled{opacity:.45}
.dgopt:hover{border-color:var(--gold)}
.dgnote{margin:2px 0 14px;padding:13px 15px;border-radius:13px;border:1px solid var(--gold);
  background:rgba(201,162,74,.10);font-size:13.5px;line-height:1.65}
.rphead{display:flex;align-items:center;gap:12px;padding:14px 14px 6px}
.rphead .tx{flex:1;min-width:0;text-align:left}
.rphead h1{font-size:29px;font-weight:900;margin:0;line-height:1.2;letter-spacing:-1px;text-align:left;word-break:keep-all}
.rphead h1 b{color:var(--gold-b)}
.rphead p{margin:8px 0 0;font-size:11.5px;color:var(--dim);line-height:1.65;text-align:left;word-break:keep-all}
.rphead p b{color:#cfd6de}
.rphead .av{width:82px;height:82px;flex:0 0 auto;border-radius:50%;overflow:hidden;
  border:2px solid rgba(201,162,74,.55);box-shadow:0 4px 18px -6px rgba(201,162,74,.6)}
.rphead .av img{width:100%;height:100%;object-fit:cover;display:block}
.rphead .av .hi,.rphead .av small{display:none}
.rsteps{display:flex;align-items:center;gap:4px;margin-bottom:12px;overflow-x:auto}
.rsteps span{flex:0 0 auto;display:flex;align-items:center;gap:4px;font-size:10px;color:var(--dim);
  border:1px solid var(--line);border-radius:99px;padding:5px 10px;white-space:nowrap}
.rsteps span b{font-weight:800}
.rsteps span.on{color:var(--gold-b);border-color:rgba(201,162,74,.5);background:rgba(201,162,74,.1)}
.rsteps span.done{color:var(--green);border-color:rgba(63,179,122,.4)}
.rsteps i{flex:0 0 auto;font-style:normal;color:#465767;font-size:11px}
.rgrp{margin-top:11px;border:1.5px solid color-mix(in srgb,var(--c) 42%,#1d2c42);border-radius:17px;
  background:color-mix(in srgb,var(--c) 11%,#08111f);overflow:hidden}
.rgrp.open{background:color-mix(in srgb,var(--c) 7%,#08111f);
  border-color:color-mix(in srgb,var(--c) 58%,#1d2c42)}
.rgrp .gh{display:flex;align-items:center;gap:13px;padding:13px 14px;cursor:pointer}
.rgrp .gi{width:50px;height:50px;flex:0 0 auto;border-radius:50%;display:flex;align-items:center;
  justify-content:center;font-size:23px;background:color-mix(in srgb,var(--c) 12%,#060e19);
  border:1.5px solid color-mix(in srgb,var(--c) 55%,transparent)}
.rgrp .gi img{max-width:58%;max-height:62%;display:block}
.rgrp .gt{flex:1;min-width:0}
.rgrp .gt b{display:block;font-size:17px;font-weight:900;color:#fff;letter-spacing:-.4px}
.rgrp .gt small{display:block;font-size:12px;color:#93a3b8;margin-top:3px}
.rgrp .arw{flex:0 0 auto;font-size:15px;color:#8fa1b8}
.rgrp.open .arw{color:var(--c)}
.rgrp .rbody{padding:0 12px 12px}
.ropt{position:relative;background:#0f1a2e;border:1.5px solid color-mix(in srgb,var(--c) 32%,#35577a);
  border-radius:14px;padding:11px 10px;margin-bottom:12px;cursor:pointer}
.ropt.on{border-color:color-mix(in srgb,var(--c) 65%,transparent);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--c) 20%,transparent)}
.ropt .no{position:absolute;left:9px;top:9px;width:27px;height:27px;border-radius:50%;z-index:2;
  display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:900;color:#fff;
  background:color-mix(in srgb,var(--c) 35%,#0c1a33);
  border:1.5px solid color-mix(in srgb,var(--c) 60%,transparent)}
.ropt .rh{display:flex;gap:8px;align-items:flex-start}
.ropt .rem{width:70px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;
  align-self:stretch;min-height:104px;padding-top:6px;font-size:44px;line-height:1}
.ropt .rem img{max-width:100%;max-height:112px;display:block;
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.55))}
.ropt .rt{flex:1;min-width:0;padding-top:2px}
.ropt .rt .l1{display:flex;align-items:center;gap:7px;flex-wrap:wrap;row-gap:4px}
.ropt .rt .l1 b{font-size:17.5px;font-weight:900;color:#fff;letter-spacing:-.5px}
.ropt .rt .tag{flex:0 0 auto;font-size:10.5px;font-weight:800;border-radius:99px;padding:3px 9px;
  background:color-mix(in srgb,var(--c) 22%,#0d1830);color:color-mix(in srgb,var(--c) 74%,#ffffff);
  border:1px solid color-mix(in srgb,var(--c) 40%,transparent);white-space:nowrap}
.ropt .rt small{display:block;font-size:12.5px;color:#c3cfdf;margin-top:6px;line-height:1.5;word-break:keep-all}
.rnum{display:flex;margin-top:11px;background:#0b1626;
  border:1px solid color-mix(in srgb,var(--c) 26%,#35577a);border-radius:11px;flex-wrap:wrap}
.rnum>div{flex:1;min-width:0;text-align:center;padding:9px 1px;
  border-right:1px solid color-mix(in srgb,var(--c) 22%,#35577a)}
.rnum>div:last-of-type{border-right:0}
.rnum small{display:block;font-size:10px;color:#93a5bb;white-space:nowrap;letter-spacing:-.3px;line-height:1.35}
.rnum b{display:block;font-size:20px;font-weight:900;font-variant-numeric:tabular-nums;
  margin-top:3px;letter-spacing:-.5px;color:var(--c)}
.rnum .short{flex:0 0 100%;border-right:0;border-top:1px solid color-mix(in srgb,var(--c) 22%,#35577a);
  font-size:9.5px;color:#e8917f;padding:6px 8px;text-align:left}
.rstar{display:flex;gap:7px;align-items:flex-start;margin-top:12px;
  font-size:12.5px;color:#dbe4f0;line-height:1.5;word-break:keep-all}
.rstar span{color:#e8b44a;flex:0 0 auto;font-size:13px}
.rpick{width:100%;margin-top:12px;border-radius:11px;padding:11px 0;font-size:15px;font-weight:900;
  cursor:pointer;color:#fff;border:0;letter-spacing:-.2px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--c) 58%,#0a1018),color-mix(in srgb,var(--c) 46%,#0a1018))}
.ropt.on .rpick{background:linear-gradient(180deg,var(--gold-b),var(--gold));color:#1a1204}
.rwarn{background:rgba(224,71,63,.07);border:1px solid rgba(224,71,63,.35);border-radius:12px;padding:11px}
.rwarn .t{font-size:11.5px;font-weight:900;color:#f0a099;margin-bottom:5px}
.rwarn ul{margin:0;padding-left:15px}
.rwarn li{font-size:10.5px;color:var(--dim);line-height:1.7}
#s1d .qbox{padding:14px 0}
.dstep{display:flex;align-items:center;gap:5px;padding:10px 12px 0;overflow-x:auto}
.dstep span{flex:0 0 auto;display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;
  color:#7d8ea3;padding:6px 2px 8px;border-bottom:2px solid transparent;white-space:nowrap}
.dstep span i{width:22px;height:22px;flex:0 0 auto;border-radius:50%;display:flex;align-items:center;
  justify-content:center;font-style:normal;font-size:11px;background:#1b2636;color:#8ea0b6}
.dstep span i img{max-width:64%;max-height:64%;display:block}
.dstep span.done i{background:color-mix(in srgb,var(--c) 30%,#0d1726);color:#fff}
.dstep span.on{color:var(--c);border-bottom-color:var(--c)}
.dstep span.on i{background:color-mix(in srgb,var(--c) 26%,#0d1726);
  border:1.5px solid var(--c);box-shadow:0 0 12px -3px var(--c)}
.dstep span em{font-style:normal;display:none}
.dstep span.on em{display:inline}
.dstep b{flex:0 0 auto;color:#3f4e60;font-size:12px;font-weight:400}
.dhero{display:flex;align-items:flex-start;gap:16px;padding:14px 0 4px}
.dhero .gi{width:50px;height:50px;margin-top:5px;flex:0 0 auto;border-radius:50%;display:flex;align-items:center;
  justify-content:center;background:color-mix(in srgb,var(--c) 12%,#060e19);
  border:1.5px solid color-mix(in srgb,var(--c) 60%,transparent)}
.dhero .gi img{max-width:58%;max-height:62%;display:block}
.dhero .tx{flex:1;min-width:0;text-align:left}
.dhero h1{margin:0;font-size:22px;font-weight:900;line-height:1.28;letter-spacing:-.7px;color:#fff;text-align:left;word-break:keep-all}
.dhero h1 b{color:var(--c)}
.dhero p{margin:8px 0 0;font-size:10.5px;color:#9dacbe;line-height:1.75;word-break:keep-all}
.dhero .art{width:114px;flex:0 0 auto;align-self:center;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.6))}
.dwho{display:flex;gap:11px;align-items:center;margin-top:13px;padding:12px 13px;
  border:1.5px solid color-mix(in srgb,var(--c) 34%,#35577a);border-radius:14px;background:#0d1522}
.dwho img{width:42px;flex:0 0 auto}
.dwho b{display:block;font-size:12px;font-weight:900;color:var(--c)}
.dwho small{display:block;font-size:11px;color:#9dacbe;margin-top:4px;line-height:1.65;word-break:keep-all}
.dopt{position:relative;margin-top:13px;padding:12px 10px 11px;border-radius:15px;
  background:#0c1522;border:1.5px solid color-mix(in srgb,var(--c) 38%,#35577a)}
.dopt.on{border-color:var(--c);box-shadow:0 0 0 2px color-mix(in srgb,var(--c) 22%,transparent)}
.dopt .no{position:absolute;left:10px;top:11px;width:26px;height:26px;border-radius:50%;z-index:2;
  display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;color:#fff;
  background:color-mix(in srgb,var(--c) 42%,#0c1a33);
  border:1.5px solid color-mix(in srgb,var(--c) 62%,transparent)}
.dopt .dtop{display:flex;align-items:center;gap:7px;padding-left:62px;min-height:26px;flex-wrap:wrap;row-gap:4px}
.dopt .dtop b{font-size:16.5px;font-weight:900;color:#fff;letter-spacing:-.5px}
.dopt .dtop .tag{flex:0 0 auto;font-size:9.5px;font-weight:800;border-radius:99px;padding:3px 8px;
  background:color-mix(in srgb,var(--c) 22%,#0d1830);color:color-mix(in srgb,var(--c) 74%,#ffffff);
  border:1px solid color-mix(in srgb,var(--c) 40%,transparent);white-space:nowrap}
.dopt .dh{display:flex;gap:8px;align-items:flex-start;margin-top:8px}
.dopt .dem{width:58px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;
  align-self:stretch;min-height:86px}
.dopt .dem img{max-width:100%;max-height:96px;display:block;filter:drop-shadow(0 5px 12px rgba(0,0,0,.55))}
.dopt .dt{flex:1;min-width:0}
.dopt .dt>small{display:block;font-size:11.5px;color:#c3cfdf;line-height:1.6;word-break:keep-all}
.dwho2{margin-top:8px}
.dwho2 .h{display:flex;align-items:center;gap:5px;font-size:10.5px;font-weight:900;color:var(--c)}
.dwho2 .h i{font-style:normal;color:#e8b44a}
.dwho2 small{display:block;font-size:10.5px;color:#93a3b8;margin-top:3px;line-height:1.6;word-break:keep-all}
.dnum{width:118px;flex:0 0 auto;border:1px solid color-mix(in srgb,var(--c) 30%,#35577a);
  border-radius:11px;background:#0a1320;overflow:hidden}
.dnum>div{display:flex;align-items:baseline;justify-content:space-between;gap:5px;padding:8px 9px;
  border-bottom:1px solid color-mix(in srgb,var(--c) 24%,#35577a)}
.dnum>div:last-child{border-bottom:0}
.dnum small{font-size:9.5px;color:#93a5bb;white-space:nowrap}
.dnum b{font-size:15px;font-weight:900;font-variant-numeric:tabular-nums;color:var(--c);letter-spacing:-.4px}
.dshort{font-size:9.5px;color:#e8917f;margin-top:7px;line-height:1.5}
.dpick{width:100%;margin-top:11px;border-radius:11px;padding:11px 0;font-size:14.5px;font-weight:900;
  cursor:pointer;color:#fff;border:0;letter-spacing:-.2px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--c) 62%,#0a1018),color-mix(in srgb,var(--c) 48%,#0a1018))}
.dopt.on .dpick{background:linear-gradient(180deg,var(--gold-b),var(--gold));color:#1a1204}
.dwarn{margin-top:14px;display:flex;gap:11px;align-items:flex-start;padding:13px;
  background:rgba(224,71,63,.07);border:1px solid rgba(224,71,63,.34);border-radius:14px}
.dwarn .tx{flex:1;min-width:0}
.dwarn .t{font-size:12px;font-weight:900;color:#f0a099;margin-bottom:6px}
.dwarn ul{margin:0;padding-left:14px}
.dwarn li{font-size:10.5px;color:#9dacbe;line-height:1.75}
.dwarn img{width:54px;flex:0 0 auto;align-self:center}
/* ── 멘토 브리핑 (시안 05) ─────────────────────────────────── */
.bfsum{border:2px solid rgba(201,162,74,.78);border-radius:16px;background:rgba(201,162,74,.05);
  padding:14px 13px;margin-top:12px}
.bfsum .h{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.bfsum .h b{font-size:16px;font-weight:900;color:#fff;flex:1;min-width:0}
.bfsum .h .tag{font-size:10px;font-weight:800;border-radius:99px;padding:3px 9px;white-space:nowrap;
  border:1px solid rgba(201,162,74,.55);color:var(--gold-b)}
.bfnum{display:flex;margin-top:12px;border:1px solid #35577a;border-radius:12px;background:#0a1320;overflow:hidden}
.bfnum>div{flex:1;min-width:0;text-align:center;padding:10px 2px;border-right:1px solid #35577a}
.bfnum>div:last-child{border-right:0}
.bfnum small{display:block;font-size:10px;color:#93a5bb;white-space:nowrap;letter-spacing:-.3px}
.bfnum b{display:block;font-size:19px;font-weight:900;margin-top:4px;font-variant-numeric:tabular-nums;letter-spacing:-.5px}
.bfsum .ln{margin-top:10px;font-size:11.5px;color:#c3cfdf;line-height:1.6;word-break:keep-all}
.bfvd{margin-top:12px;padding:12px 12px;border-radius:13px;
  background:rgba(201,162,74,.09);border:1.5px solid rgba(201,162,74,.45);
  font-size:12px;color:#e2e8f0;line-height:1.8;word-break:keep-all}
.bfvd .t{display:block;font-size:11px;font-weight:900;color:var(--gold-b);margin-bottom:5px}
.bfvd b{color:var(--gold-b)}
/* ── 장이 닫힌 시간에 할 것 ─────────────────────────────────
   한국에서 보면 낮 시간엔 늘 장이 닫혀 있다. 그때 화면이
   "오늘 장은 끝났어요"로 끝나면 다시 올 이유가 없다. */
.offdo{margin:10px 0 2px;border:1.5px solid #35577a;border-radius:16px;background:#0b1320;padding:13px}
.offdo .t{display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:900;color:#fff}
.offdo .t small{font-size:10.5px;font-weight:600;color:#93a3b8;margin-left:auto}
.offdo .list{display:flex;flex-direction:column;gap:8px;margin-top:11px}
.offdo a{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:13px;cursor:pointer;
  border:1px solid #2f4d6d;background:#0d1726;text-decoration:none}
.offdo .ic{width:34px;height:34px;flex:0 0 auto;border-radius:10px;display:flex;align-items:center;
  justify-content:center;font-size:17px;background:rgba(201,162,74,.13);border:1px solid rgba(201,162,74,.4)}
.offdo .bd{flex:1;min-width:0}
.offdo .bd b{display:block;font-size:12.5px;font-weight:900;color:#e6edf6}
.offdo .bd small{display:block;font-size:10.5px;color:#93a3b8;margin-top:2px;line-height:1.5;word-break:keep-all}
.offdo .go{flex:0 0 auto;color:#7d8ea3;font-size:15px}
/* 14 v02 — 'XP' 글자 토큰. XP 줄만 금색 테두리로 앞세운다 */
.offdo a:has(.xptok){border-color:rgba(201,162,74,.55)}
.xptok{font-size:13px;font-weight:900;color:var(--gold-b);letter-spacing:.4px}
.offdo .ic:has(.xptok),.offdo a:has(.xptok) .ic{border:1px solid rgba(201,162,74,.55);background:rgba(201,162,74,.09)}
.nw2,.mac{position:relative;cursor:pointer}
.nw2,.mac{flex-wrap:wrap}
.nw2 .nwd,.mac .nwd{display:none;flex:0 0 100%;width:100%;order:9;margin-top:8px;padding-top:9px;border-top:1px dashed var(--line)}
.nw2 .b,.mac .b{min-width:0}   /* 제목 칸이 한 글자씩 세로로 쪼개지던 것 (사장님 2026-09-08) */
.nw2.open .nwd,.mac.open .nwd{display:block}
.nw2 .nwd p,.mac .nwd p{margin:0;color:#d7e2ec;font-size:12.5px;line-height:1.55;word-break:keep-all}
.nwtk{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.nwtk span{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;border:1px solid var(--line);background:rgba(7,12,18,.6);font-size:11.5px;font-weight:900;color:#c9d6e3}
.nwtk span.mine{border-color:rgba(232,199,119,.7);background:rgba(232,199,119,.12);color:#ffe9a8}
.nwtk span i{font-style:normal;font-weight:800;color:var(--dim);font-size:11px}
.nwtk span b{font-weight:1000}
.nwar{position:absolute;right:10px;bottom:6px;color:var(--dim);font-size:13px;transition:transform .2s}
.nw2.open .nwar,.mac.open .nwar{transform:rotate(180deg)}
.nwmore{display:block;text-align:center;margin-top:8px;padding:11px;border-radius:12px;cursor:pointer;
  border:1px solid var(--line);background:rgba(255,255,255,.04);font-size:12px;color:#9dacbe}
.bfhd2{margin:18px 0 9px;font-size:15px;font-weight:900;color:#fff}
.bfm2{display:flex;gap:11px;align-items:center;padding:12px 11px;margin-bottom:10px;cursor:pointer;
  border:1.5px solid color-mix(in srgb,var(--c) 62%,#35577a);border-radius:15px;
  background:color-mix(in srgb,var(--c) 7%,#0b1320)}
.bfm2 .fc{width:52px;height:52px;flex:0 0 auto;border-radius:50%;overflow:hidden;
  border:2px solid var(--c);background:#0a1320}
.bfm2 .fc img{width:100%;height:100%;object-fit:cover;display:block}
.bfm2 .bd{flex:1;min-width:0}
.bfm2 .nm{font-size:14.5px;font-weight:900;color:var(--c)}
.bfm2 .ty{font-size:10.5px;color:#93a3b8;margin-top:2px;word-break:keep-all}
.bfm2 .tk{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-top:7px}
.bfm2 .tk i{font-style:normal;font-size:9.5px;color:#7d8ea3}
.bfm2 .tk span{font-size:10.5px;font-weight:900;border-radius:7px;padding:3px 7px;color:#e6edf6;
  background:color-mix(in srgb,var(--c) 18%,#0d1830);
  border:1px solid color-mix(in srgb,var(--c) 35%,transparent)}
.bfm2 .say{font-size:11px;color:#c3cfdf;margin-top:7px;line-height:1.55;word-break:keep-all}
.bfm2 .arw{flex:0 0 auto;color:#7d8ea3;font-size:17px}
.bfdo{display:flex;gap:14px;align-items:center;padding:13px;border:1.5px solid #35577a;
  border-radius:15px;background:#0b1320}
.bfdo svg{flex:0 0 auto}
.bfdo .lg{flex:1;min-width:0}
.bfdo .lg>div{display:flex;align-items:center;gap:7px;font-size:11px;padding:3px 0}
.bfdo .lg i{width:9px;height:9px;border-radius:3px;flex:0 0 auto}
.bfdo .lg b{color:#fff;font-weight:900;flex:0 0 auto}
.bfdo .lg small{flex:1;min-width:0;color:#93a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bfdo .lg em{font-style:normal;font-weight:900;color:#dbe4f0;font-variant-numeric:tabular-nums;flex:0 0 auto}
.bffit{display:flex;gap:8px}
.bffit>div{flex:1;min-width:0;border:1.5px solid #35577a;border-radius:13px;background:#0b1320;
  padding:11px 8px;text-align:center}
.bffit .ic{font-size:17px}
.bffit small{display:block;font-size:10px;color:#c3cfdf;margin-top:5px;line-height:1.5;word-break:keep-all}
.bfmore{display:block;text-align:center;margin:10px 0 4px;font-size:12px;color:#93a3b8;
  text-decoration:underline;cursor:pointer}
/* ── 멘토 자세한 의견 (#s1n) ───────────────────────────────── */
.mnhero{display:flex;gap:13px;align-items:flex-start;padding:14px 0 4px}
.mnhero .fc{width:96px;height:96px;flex:0 0 auto;border-radius:50%;overflow:hidden;
  border:2.5px solid var(--c);background:#0a1320;box-shadow:0 0 22px -6px var(--c)}
.mnhero .fc img{width:100%;height:100%;object-fit:cover;display:block}
.mnhero .bd{flex:1;min-width:0;padding-top:4px}
.mnhero .nm{font-size:20px;font-weight:900;color:var(--c);letter-spacing:-.5px}
.mnhero .ty{font-size:11px;color:#93a3b8;margin-top:4px;word-break:keep-all}
.mnhero .say{margin-top:11px;font-size:13.5px;font-weight:800;color:var(--gold-b);
  line-height:1.55;word-break:keep-all}
.mnbox{margin-top:13px;border:1.5px solid #35577a;border-radius:15px;background:#0b1320;padding:13px}
.mnbox>.t{font-size:13px;font-weight:900;color:#fff;margin-bottom:10px}
.mnbox>.t.c{color:var(--c)}
.mnrow{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid #2f4d6d}
.mnrow:first-of-type{border-top:0;padding-top:2px}
.mnrow .ic{width:38px;height:38px;flex:0 0 auto;border-radius:11px;display:flex;align-items:center;
  justify-content:center;font-size:18px;background:color-mix(in srgb,var(--c) 16%,#0d1830);
  border:1px solid color-mix(in srgb,var(--c) 34%,transparent)}
.mnrow .bd{flex:1;min-width:0}
.mnrow .l1{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.mnrow .l1 b{font-size:14px;font-weight:900;color:#fff}
.mnrow .l1 .tag{font-size:9px;font-weight:700;border-radius:99px;padding:2px 7px;color:#9dacbe;
  border:1px solid #26344c;white-space:nowrap}
.mnfoot{font-size:10px;color:var(--dim);font-weight:700;line-height:1.5;margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}
.cnm{white-space:nowrap}
.offnm{font-size:10px;color:var(--dim);font-weight:700;margin-top:2px;letter-spacing:0}
.mnrow .l1 .w{margin-left:auto;font-size:14px;font-weight:900;color:var(--c);font-variant-numeric:tabular-nums}
.mnrow small{display:block;font-size:11px;color:#a8b6c6;margin-top:4px;line-height:1.55;word-break:keep-all}
.mnbox p{margin:0;font-size:11.5px;color:#c3cfdf;line-height:1.7;word-break:keep-all}
.mnnote{font-size:9.5px;color:#6b7885;margin-top:9px;line-height:1.5}
.mnfold{display:flex;align-items:center;gap:11px;margin-top:10px;padding:12px 12px;cursor:pointer;
  border:1.5px solid color-mix(in srgb,var(--c) 62%,#35577a);border-radius:15px;
  background:color-mix(in srgb,var(--c) 7%,#0b1320)}
.mnfold img{width:38px;height:38px;flex:0 0 auto;border-radius:50%;object-fit:cover;border:1.5px solid var(--c)}
.mnfold b{flex:1;min-width:0;font-size:14px;font-weight:900;color:var(--c)}
.mnfold span{flex:0 0 auto;color:#7d8ea3;font-size:14px}
.mncmp{display:flex;gap:9px;margin-top:4px}
.mncmp>div{flex:1;min-width:0;border:1.5px solid #35577a;border-radius:13px;background:#0a1320;padding:10px 9px}
.mncmp .k{font-size:11px;font-weight:900;color:#c3cfdf}
.mncmp .v{font-size:17px;font-weight:900;margin-top:3px;font-variant-numeric:tabular-nums}
.mncmp svg{display:block;margin-top:6px;width:100%;height:56px}
/* ── 금액 정하기 (시안 06) ───────────────────────────────── */
.axc{border:1.5px solid #35577a;border-radius:16px;background:#0b1320;padding:13px;margin-top:12px}
.axc .h{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.axc .h .ic{font-size:19px}
.axc .h b{font-size:14.5px;font-weight:900;color:#fff}
.axchips{display:flex;flex-wrap:wrap;gap:8px}
.axchips span{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:800;
  border:1.5px solid #3d6288;border-radius:12px;padding:10px 13px;cursor:pointer;color:#cfd8e4;
  background:#0d1726;font-variant-numeric:tabular-nums}
.axchips span.on{background:linear-gradient(180deg,var(--gold-b),var(--gold));color:#1a1204;
  border-color:var(--gold-b);box-shadow:0 4px 14px -6px var(--gold)}
.axchips span.on i{font-style:normal;font-size:11px}
.axchips span.edit{color:#9dacbe}
.axchips input{width:104px;font-size:13px;font-weight:800;background:#0d1726;color:#fff;
  border:1.5px solid var(--gold-b);border-radius:12px;padding:9px 11px;outline:none}
.axsp{border:1.5px solid #35577a;border-radius:16px;background:#0b1320;padding:13px;margin-top:12px}
.axsp .h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:9px}
.axsp .h .ic{font-size:18px}
.axsp .h b{font-size:14px;font-weight:900;color:#fff}
.axsp .h small{font-size:10.5px;color:#93a3b8}
.axsp .row{display:flex;align-items:center;gap:8px;font-size:12px;padding:7px 0;
  border-top:1px solid #2f4d6d}
.axsp .row:first-of-type{border-top:0}
.axsp .row i{width:9px;height:9px;border-radius:3px;flex:0 0 auto}
.axsp .row b{font-weight:900;color:#fff;flex:0 0 auto}
.axsp .row small{flex:1;min-width:0;color:#93a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.axsp .row em{font-style:normal;font-weight:900;color:#9dacbe;font-variant-numeric:tabular-nums}
.axsp .row span{font-style:normal;font-weight:900;color:var(--gold-b);font-variant-numeric:tabular-nums;
  min-width:62px;text-align:right}
.axsp .ft{margin-top:9px;font-size:10.5px;color:#93a3b8;line-height:1.6;word-break:keep-all}
.axres{position:relative;margin-top:14px;border:1.5px solid rgba(63,179,122,.55);border-radius:18px;
  background:linear-gradient(180deg,rgba(63,179,122,.07),#08111c 60%);padding:16px 13px 14px;overflow:hidden}
.axres.warn{border-color:rgba(217,138,43,.6);background:linear-gradient(180deg,rgba(217,138,43,.08),#08111c 60%)}
.axres.bad{border-color:rgba(224,71,63,.6);background:linear-gradient(180deg,rgba(224,71,63,.08),#08111c 60%)}
.axres .bdg{display:block;width:fit-content;margin:0 auto;font-size:11px;font-weight:900;
  color:var(--gold-b);border:1px solid rgba(201,162,74,.5);border-radius:99px;padding:5px 13px;
  background:rgba(201,162,74,.1)}
.axres .cv{position:absolute;right:8px;top:44px;width:120px;height:78px;opacity:.85;pointer-events:none}
.axres .big{display:block;text-align:center;margin:12px 0 4px;font-size:38px;font-weight:900;
  letter-spacing:-1.5px;font-variant-numeric:tabular-nums;
  background:linear-gradient(180deg,#f4dc9a,#c9a24a);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent}
.axk{display:flex;margin-top:12px;border:1px solid #2f4d6d;border-radius:13px;background:#0a1320;overflow:hidden}
.axk>div{flex:1;min-width:0;text-align:center;padding:10px 3px;border-right:1px solid #2f4d6d}
.axk>div:last-child{border-right:0}
.axk small{display:block;font-size:10px;color:#93a5bb;white-space:nowrap;letter-spacing:-.3px}
.axk b{display:block;font-size:16px;font-weight:900;margin-top:4px;color:#fff;
  font-variant-numeric:tabular-nums;letter-spacing:-.5px}
.axbar{display:flex;height:26px;border-radius:9px;overflow:hidden;margin-top:11px}
.axbar i,.axbar em{display:flex;align-items:center;justify-content:center;font-style:normal;
  font-size:11.5px;font-weight:900;color:#fff;min-width:0}
.axbar i{background:#3d7fd6}
.axbar em{background:#3fb37a}
.axbl{display:flex;margin-top:6px}
.axbl>div{flex:1;min-width:0;text-align:center}
.axbl small{display:block;font-size:10.5px;color:#93a5bb}
.axbl b{display:block;font-size:13px;font-weight:900;color:#dbe4f0;margin-top:2px;font-variant-numeric:tabular-nums}
.axres p{margin:12px 0 0;text-align:center;font-size:12px;color:#c3cfdf;line-height:1.7;word-break:keep-all}
.axres p b{color:var(--gold-b)}
/* ── 내 투자금 설계 인트로 (튜토리얼) ─────────────────────── */
.tutlead{border:1.5px solid rgba(201,162,74,.55);border-radius:16px;background:rgba(201,162,74,.06);
  padding:13px;margin-top:12px;font-size:12.5px;color:#d8e0ea;line-height:1.75;word-break:keep-all}
.tutlead b{color:var(--gold-b)}
.tutc{border:1.5px solid color-mix(in srgb,var(--c) 45%,#35577a);border-radius:16px;
  background:color-mix(in srgb,var(--c) 7%,#0b1320);padding:13px;margin-top:12px}
.tutc .h{display:flex;align-items:center;gap:11px}
.tutc .gi{width:46px;height:46px;flex:0 0 auto;border-radius:50%;display:flex;align-items:center;
  justify-content:center;background:color-mix(in srgb,var(--c) 14%,#060e19);
  border:1.5px solid color-mix(in srgb,var(--c) 60%,transparent)}
.tutc .gi img{max-width:58%;max-height:62%;display:block}
.tutc .tx{flex:1;min-width:0}
.tutc .tx b{display:block;font-size:15px;font-weight:900;color:var(--c)}
.tutc .tx small{display:block;font-size:11px;color:#93a3b8;margin-top:2px;word-break:keep-all}
.tutc .cg{flex:0 0 auto;text-align:right}
.tutc .cg b{display:block;font-size:14px;font-weight:900;color:var(--c);font-variant-numeric:tabular-nums;letter-spacing:-.5px}
.tutc .cg small{display:block;font-size:9.5px;color:#93a3b8}
.tutn{display:flex;margin-top:11px;border:1px solid color-mix(in srgb,var(--c) 26%,#35577a);
  border-radius:12px;background:#0a1320;overflow:hidden}
.tutn>div{flex:1;min-width:0;text-align:center;padding:9px 3px;
  border-right:1px solid color-mix(in srgb,var(--c) 22%,#35577a)}
.tutn>div:last-child{border-right:0}
.tutn small{display:block;font-size:9.5px;color:#93a5bb;white-space:nowrap;letter-spacing:-.3px}
.tutn b{display:block;font-size:15.5px;font-weight:900;margin-top:4px;color:#fff;
  font-variant-numeric:tabular-nums;letter-spacing:-.4px}
.tutc .ln{margin-top:10px;font-size:11.5px;color:#c3cfdf;line-height:1.65;word-break:keep-all}
.tutc .ln b{color:var(--c)}
.tutc .warn{margin-top:9px;font-size:11px;color:#f0a099;line-height:1.6;word-break:keep-all;
  border-top:1px solid rgba(224,71,63,.3);padding-top:9px}
.tutend{border:1.5px solid #35577a;border-radius:16px;background:#0b1320;padding:14px;margin-top:14px;
  text-align:center;font-size:13px;color:#d8e0ea;line-height:1.75;word-break:keep-all}
.tutend b{color:var(--gold-b)}
.tutskip{display:block;text-align:center;margin:10px 0 4px;font-size:12px;color:#93a3b8;
  text-decoration:underline;cursor:pointer}
.tutlink{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;
  margin:6px 0 14px;padding:16px 14px;border:2px solid var(--gold-b);border-radius:15px;
  background:linear-gradient(180deg,rgba(201,162,74,.22),rgba(201,162,74,.09));
  color:#f2e6c8;font-size:13.5px;font-weight:800;cursor:pointer;text-align:center;
  line-height:1.55;word-break:keep-all;
  box-shadow:0 0 0 3px rgba(201,162,74,.14),0 8px 24px -10px rgba(201,162,74,.85);
  animation:tutpulse 2.6s ease-in-out infinite}
.tutlink b{color:var(--gold-b)}
.tutlink .go{flex:0 0 auto;font-size:17px;color:var(--gold-b);font-weight:900}
@keyframes tutpulse{
  0%,100%{box-shadow:0 0 0 3px rgba(201,162,74,.14),0 8px 24px -10px rgba(201,162,74,.8)}
  50%{box-shadow:0 0 0 6px rgba(201,162,74,.05),0 10px 32px -8px rgba(201,162,74,1)}}
@media (prefers-reduced-motion:reduce){.tutlink{animation:none}}
.qopt .rst i.shortw{flex:0 0 100%;font-size:9px;color:#e8917f;margin-top:3px}
.qopt .rmix{display:flex;flex-wrap:wrap;gap:3px;margin-top:7px}
.qopt .rmix span{font-size:9.5px;border:1px solid var(--line);border-radius:99px;padding:2px 6px;color:var(--dim)}
.qopt .rmix span b{color:var(--text);font-weight:900;margin-right:3px}
.qopt .rst{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px;margin-top:7px;font-size:9.5px;color:var(--dim)}
.qopt .rst i{font-style:normal}
.qopt .rst b{font-size:11.5px;font-weight:900;font-variant-numeric:tabular-nums;margin-right:7px;color:var(--text)}
.qgrp{border:1px solid color-mix(in srgb,var(--c) 45%,rgba(255,255,255,.23));border-radius:16px;padding:12px 11px;
  background:linear-gradient(165deg,color-mix(in srgb,var(--c) 13%,transparent),rgba(255,255,255,0) 62%),rgba(5,8,13,.35)}
.qgrp .gh{display:flex;align-items:flex-start;gap:9px}
.qgrp .gi{flex:0 0 auto;font-size:21px;line-height:1.1}
.qgrp .gh b{display:block;font-size:14.5px;font-weight:900;color:var(--c)}
.qgrp .gh small{display:block;font-size:10.5px;color:var(--dim);margin-top:3px;line-height:1.5}
.qgrp .gopts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}
.qopt{position:relative;cursor:pointer;background:rgba(5,8,13,.55);border:1px solid rgba(255,255,255,.21);
  border-radius:14px;padding:11px 10px 28px;transition:border-color .15s}
.qopt.on{border-color:var(--c);background:color-mix(in srgb,var(--c) 13%,rgba(5,8,13,.55));
  box-shadow:0 4px 14px -4px color-mix(in srgb,var(--c) 55%,transparent)}
.qopt .qem{display:block;font-size:24px;line-height:1.1;margin-bottom:7px}
.qopt b{display:block;font-size:12.5px;font-weight:800;letter-spacing:-.2px}
.qopt small{display:block;font-size:10px;color:var(--dim);margin-top:4px;line-height:1.55}
.qopt .rd{position:absolute;right:10px;bottom:9px;width:17px;height:17px;border-radius:50%;
  border:2px solid rgba(255,255,255,.28)}
.qopt.on .rd{border-color:var(--c);background:radial-gradient(circle,var(--c) 0 42%,transparent 46%)}
.qskip{text-align:center;margin-top:13px}
.qskip span{font-size:11.5px;color:var(--dim);cursor:pointer;border-bottom:1px solid var(--line);padding-bottom:2px}
/* 멘토 답변은 어느 화면에서나 같은 모양이다 — 한 줄 결론 → 이유 3 → 자세히 보기 (2026-08-28 오더 순서4) */
.mana .sum .t i{display:inline-flex;width:17px;height:17px;margin-right:6px;border-radius:50%;font-style:normal;
  background:color-mix(in srgb,var(--c) 34%,#0d1726);color:#fff;font-size:10.5px;font-weight:900;
  align-items:center;justify-content:center;vertical-align:1px}
.mmore{display:block;width:100%;margin:11px 0 0;padding:10px;border-radius:11px;cursor:pointer;
  border:1px solid var(--line);background:transparent;color:var(--dim);font:inherit;font-size:12.5px;font-weight:700}
.mmore:hover{color:var(--text)}
.qtip{display:flex;align-items:center;gap:8px;margin-top:12px;background:var(--panel);
  border:1px solid var(--line);border-radius:14px;padding:11px 12px;font-size:11px;color:var(--dim);line-height:1.5}
.qtip .ti{font-size:15px;line-height:1}
.qtip b{color:var(--gold-b);font-size:12px;flex:0 0 auto}
#s3q .cta:disabled{opacity:.45}

/* ── AI 멘토 평가(s3a) — 시안 반영. 신뢰도 %·추천 문구는 넣지 않는다 (2026-08-23) */
.advempty{font-size:12px;color:var(--dim);text-align:center;padding:14px 0}
.advcart{margin-top:10px;background:linear-gradient(170deg,rgba(255,255,255,.05),rgba(255,255,255,0) 58%),var(--panel2);
  border:1px solid rgba(255,255,255,.24);border-radius:15px;padding:11px 12px;box-shadow:0 3px 12px rgba(0,0,0,.4)}
.advcart .h{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800;color:var(--text)}
.advcart .h b{color:var(--gold-b)}
.advcart .h .ed{margin-left:auto;font-size:11px;font-weight:700;color:var(--gold-b);cursor:pointer;
  border:1px solid var(--gold);border-radius:99px;padding:3px 10px}
.advcart .rows{margin-top:8px}
.advcart .r{display:flex;align-items:center;gap:8px;padding:7px 0;cursor:pointer;
  border-top:1px solid rgba(255,255,255,.24);font-size:12px}
.advcart .r:first-child{border-top:0}
.advcart .ck{width:17px;height:17px;flex:0 0 auto;border-radius:5px;background:var(--gold-b);color:#1a1206;
  font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center}
.advcart .tk{font-weight:900;letter-spacing:.02em}
.advcart .nm{color:var(--dim);font-size:11px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.advcart .px{margin-left:auto;text-align:right;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.advcart .px i{display:block;font-style:normal;font-size:10.5px;font-weight:700}
.advcart .px i.up{color:var(--upc)}.advcart .px i.dn{color:var(--dnc)}
.advcart .hint{font-size:10px;color:var(--dim);margin-top:7px;text-align:center}
.mcard .bub{position:relative;margin-top:10px;background:var(--panel2);border:1px solid var(--line);
  border-radius:13px;padding:11px 12px;font-size:12px;line-height:1.65;color:#c9d3dc}
.mcard .bub:before{content:'';position:absolute;top:-7px;left:24px;width:12px;height:12px;
  background:var(--panel2);border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}
.mcard .fitb{display:flex;align-items:center;gap:8px;margin-top:11px;font-size:11px;color:var(--dim)}
.mcard .fitb .n{font-size:13px;font-weight:900;color:var(--c)}
.mcard .fitb .n i{font-style:normal;font-size:11px;color:var(--dim);font-weight:700}
.mcard .fitb .bar{flex:1;height:5px;border-radius:3px;background:rgba(255,255,255,.18);overflow:hidden}
.mcard .fitb .bar i{display:block;height:100%;border-radius:3px;background:var(--c)}
.mcard .howto{margin-top:11px;border-left:3px solid var(--c);padding:2px 0 2px 10px}
.mcard .howto .t{font-size:11.5px;font-weight:800;color:var(--c)}
.mcard .howto p{margin:4px 0 0;font-size:11.5px;color:var(--dim);line-height:1.6}
/* ── ⑤ AI 멘토 분석 (2026-08-23) ───────────────────────────── */
/* 멘토 탭 = 열린 폴더 (GPT 시안 69, 2026-09-02). 세 탭은 같은 크기·같은 자리에 고정한다 —
   멘토를 바꿔도 좌우로 흔들리면 안 된다. 고른 탭만 키우고 본문 위로 2px 겹쳐 붙인다. */
.mtabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:end;
  margin:13px 0 -2px;position:relative;z-index:3}
.mtab{min-width:0;height:58px;cursor:pointer;color:var(--c);
  border:2px solid currentColor;border-bottom:0;border-radius:14px 14px 0 0;
  background:linear-gradient(180deg,color-mix(in srgb,var(--c) 26%,transparent),
    color-mix(in srgb,var(--c) 8%,transparent) 62%,rgba(10,17,28,.96));
  padding:8px 7px 10px;display:grid;grid-template-columns:32px minmax(0,1fr);gap:7px;
  align-items:center;opacity:.82;box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
.mtab.on{height:70px;opacity:1;z-index:4;
  background:linear-gradient(180deg,color-mix(in srgb,var(--c) 42%,transparent),
    color-mix(in srgb,var(--c) 16%,transparent) 58%,var(--panel));
  box-shadow:0 14px 24px -14px var(--c),inset 0 1px 0 rgba(255,255,255,.12)}
.mtab img{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid currentColor}
.mtab div{min-width:0}
.mtab b{display:block;color:#f5f9ff;font-size:15px;line-height:1;font-weight:900;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mtab small{display:block;color:#aebdcc;margin-top:3px;font-size:9px;line-height:1.1;
  font-weight:800;word-break:keep-all}
.mana{margin-top:12px;background:var(--panel);border:1px solid color-mix(in srgb,var(--c) 40%,rgba(255,255,255,.23));
  border-radius:18px;padding:13px 12px;box-shadow:0 4px 16px rgba(0,0,0,.45)}
.mana .h{display:flex;align-items:center;gap:9px}
.mana .h img{width:28px;height:28px;border-radius:50%;object-fit:cover;border:1.5px solid var(--c)}
.mana .h b{font-size:14px;font-weight:900}
.mana .h .tag{margin-left:auto;font-size:10px;font-weight:800;color:var(--c);
  border:1px solid color-mix(in srgb,var(--c) 50%,transparent);border-radius:99px;padding:3px 9px}
.mana .sum{margin-top:11px;background:rgba(5,8,13,.5);border-radius:13px;padding:11px 12px}
.mana .sum .t{font-size:11.5px;font-weight:800;color:var(--c)}
.mana .sum p{margin:6px 0 0;font-size:12px;line-height:1.7;color:#c9d3dc}
.mana .pn{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:11px}
.mana .col{background:rgba(5,8,13,.5);border-radius:13px;padding:10px 11px}
.mana .col .t{font-size:11.5px;font-weight:800}
.mana .col.good .t{color:var(--green)}
.mana .col.bad .t{color:#e8a33d}
.mana .col ul{list-style:none;margin:7px 0 0;padding:0}
.mana .col li{font-size:10.5px;color:var(--dim);line-height:1.55;padding:3px 0 3px 9px;position:relative}
.mana .col li:before{content:'';position:absolute;left:0;top:9px;width:3px;height:3px;border-radius:50%;background:currentColor}
.mana .one{margin-top:11px;border-left:3px solid var(--c);padding-left:10px}
.mana .one .t{font-size:11px;font-weight:800;color:var(--c)}
.mana .one p{margin:4px 0 0;font-size:12px;line-height:1.6;color:#c9d3dc;font-style:italic}
/* ── 멘토 분석 본문 = 폴더 몸통 (GPT 시안 69). 폴더 테두리는 고른 멘토 색, 위쪽은 탭이 덮는다 ── */
/* 폴더 몸통은 윗변이 평평하다 — 위 모서리를 둥글리면 탭 각진 끝과 만나 턱이 생긴다 (2026-09-02) */
.mana{position:relative;z-index:1;border-width:2px;border-color:var(--c);margin-top:0;border-radius:0 0 14px 14px}
.ma-head{display:flex;align-items:center;gap:9px}
.ma-head b{font-size:14px;font-weight:900;color:#f1f6ff}
.ma-head span{font-size:10px;color:var(--dim);font-weight:800}
.ma-pill{margin-left:auto;font-size:10px;font-weight:900;color:var(--c);white-space:nowrap;
  border:1px solid color-mix(in srgb,var(--c) 55%,transparent);border-radius:99px;padding:4px 9px}
.ma-hero{display:flex;align-items:center;gap:13px;margin-top:12px}
/* 세로 가운데 정렬 — grid 로 두면 점수 증감 칸(.vgd)이 한 줄을 차지해 숫자가 위로 밀린다 (2026-09-02) */
.ma-dial{flex:0 0 auto;width:88px;height:88px;border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:conic-gradient(var(--c) calc(var(--p)*1%),rgba(255,255,255,.08) 0);position:relative}
.ma-dial .vgd{position:absolute;z-index:2;top:2px;left:50%;transform:translateX(-50%);
  font-size:9.5px;font-weight:900;white-space:nowrap}
.ma-dial .vgd.up{color:var(--upc)}
.ma-dial .vgd.dn{color:var(--dnc)}
.ma-dial::after{content:'';position:absolute;inset:7px;border-radius:50%;background:var(--panel)}
.ma-dial strong{position:relative;z-index:1;font-size:30px;font-weight:950;color:#f5f9ff;
  line-height:1;font-variant-numeric:tabular-nums}
.ma-dial>span{position:relative;z-index:1;font-size:10px;color:var(--dim);font-weight:800;margin-top:1px;line-height:1}
.ma-copy{min-width:0;flex:1}
.ma-copy small{display:block;font-size:10px;color:var(--dim);font-weight:800}
.ma-copy h2{margin:3px 0 0;font-size:19px;line-height:1.2;font-weight:950;color:#f5f9ff;word-break:keep-all}
.ma-copy p{margin:5px 0 0;font-size:11.5px;line-height:1.5;color:#c9d3dc;word-break:keep-all}
.ma-scale{display:flex;align-items:center;gap:7px;margin-top:8px;font-size:9px;color:var(--dim);font-weight:800}
.ma-scale i{flex:1;height:5px;border-radius:99px;background:linear-gradient(90deg,var(--red),#e8a33d,var(--green));position:relative}
.ma-scale i b{position:absolute;top:-3px;width:11px;height:11px;border-radius:50%;background:#fff;
  border:2px solid var(--c);left:calc(var(--p)*1% - 5px)}
.ma-alert{display:flex;align-items:center;gap:8px;margin-top:12px;padding:9px 11px;border-radius:12px;
  background:rgba(5,8,13,.5);border:1px solid color-mix(in srgb,var(--c) 34%,rgba(255,255,255,.14))}
.ma-traffic{display:flex;gap:4px;flex:0 0 auto}
.ma-traffic i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.13)}
.ma-traffic i.red.on{background:var(--red);box-shadow:0 0 9px var(--red)}
.ma-traffic i.yellow.on{background:#e8a33d;box-shadow:0 0 9px #e8a33d}
.ma-traffic i.green.on{background:var(--green);box-shadow:0 0 9px var(--green)}
.ma-alert strong{font-size:12px;font-weight:900;color:#f1f6ff;white-space:nowrap}
.ma-alert span{font-size:10.5px;color:var(--dim);font-weight:800;word-break:keep-all}
.ma-signal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:11px}
.ma-mini{min-width:0;background:rgba(5,8,13,.5);border-radius:12px;padding:9px 8px;
  border:1px solid rgba(255,255,255,.1)}
.ma-mini span{display:block;font-size:9px;color:var(--c);font-weight:900}
.ma-mini b{display:block;margin-top:5px;font-size:12.5px;font-weight:950;color:#f5f9ff;
  line-height:1.25;word-break:keep-all}
.ma-mini em{display:block;margin-top:4px;font-size:9px;color:var(--dim);font-style:normal;
  font-weight:800;line-height:1.35;word-break:keep-all}
.ma-visual{margin-top:11px;background:rgba(5,8,13,.5);border-radius:12px;padding:10px 11px;
  border:1px solid rgba(255,255,255,.1)}
.ma-vt{display:flex;justify-content:space-between;align-items:baseline;font-size:10px;
  color:var(--dim);font-weight:800}
.ma-vt b{color:var(--c);font-size:10.5px;font-weight:900}
.ma-bar{display:grid;grid-template-columns:56px 1fr 40px;gap:8px;align-items:center;margin-top:8px}
.ma-bar b{font-size:11px;font-weight:900;color:#dce6f5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ma-bar-track{height:8px;border-radius:99px;background:rgba(255,255,255,.09);overflow:hidden}
.ma-bar-track span{display:block;height:100%;border-radius:99px;width:calc(var(--w)*1%);background:var(--c)}
.ma-bar em{font-size:10px;font-style:normal;font-weight:900;color:#aebdcc;text-align:right;
  font-variant-numeric:tabular-nums}
.mport{margin-top:12px;background:var(--panel);border:1px solid rgba(255,255,255,.23);border-radius:18px;
  padding:13px 12px;box-shadow:0 4px 16px rgba(0,0,0,.45)}
.mport .h{display:flex;align-items:baseline;gap:8px}
.mport .h b{font-size:14px;font-weight:900}
.mport .h small{margin-left:auto;font-size:11px;color:var(--dim);font-variant-numeric:tabular-nums}
.mport .dwrap{position:relative;width:170px;margin:11px auto 0}
.mport .dleg{margin:12px 2px 2px;display:flex;flex-direction:column;gap:6px}
.mport .dleg .dlr{display:grid;grid-template-columns:10px auto 1fr auto auto;align-items:center;gap:8px;padding:7px 10px;border-radius:11px;background:rgba(7,12,18,.55);border:1px solid var(--line);font-size:13px}
.mport .dleg .dlr i{width:10px;height:10px;border-radius:3px;display:block}
.mport .dleg .dlr b{font-weight:900;letter-spacing:-.2px}
.mport .dleg .dlr .nm{color:var(--dim);font-size:11.5px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mport .dleg .dlr .p{font-weight:1000;color:var(--gold-b);font-variant-numeric:tabular-nums}
.mport .dleg .dlr .m{color:#c5d1dc;font-weight:900;font-variant-numeric:tabular-nums;min-width:64px;text-align:right}
@media (min-width:740px){ #pfDonutCard{display:grid;grid-template-columns:190px minmax(0,1fr);grid-template-rows:auto auto;column-gap:18px;align-items:center}
  #pfDonutCard>.h{grid-column:1/-1} #pfDonutCard>.dwrap{grid-column:1;margin:0} #pfDonutCard>.dleg{grid-column:2;margin:0} }

.mport .donut{width:170px;height:170px;display:block}
.mport .dc{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.mport .dc small{font-size:10px;color:var(--dim)}
.mport .dc b{font-size:17px;font-weight:900;font-variant-numeric:tabular-nums}
.mport .drows{margin-top:11px}
.mport .dr{display:flex;align-items:center;gap:8px;padding:6px 0;border-top:1px solid rgba(255,255,255,.24);font-size:12px}
.mport .dr:first-child{border-top:0}
.mport .dr i{width:9px;height:9px;border-radius:2px;flex:0 0 auto}
.mport .dr b{font-weight:900}
.mport .dr .nm{color:var(--dim);font-size:10.5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mport .dr .p{margin-left:auto;font-weight:800;font-variant-numeric:tabular-nums}
.mport .dr .m{width:64px;text-align:right;color:var(--dim);font-variant-numeric:tabular-nums}
.mport .dr .dlt{width:30px;text-align:right;font-size:10.5px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--dim)}
.mport .dr .dlt.up{color:var(--upc)}
.mport .dr .dlt.dn{color:var(--dnc)}
.mport .note{margin-top:10px;font-size:10.5px;color:var(--dim);line-height:1.6}
circle.dseg,.donut circle{transition:stroke-dasharray .75s cubic-bezier(.34,1.05,.5,1),stroke-dashoffset .75s cubic-bezier(.34,1.05,.5,1)}
#pfDonut circle,#lgDonut circle,#advDonut circle{transition:stroke-dasharray .45s cubic-bezier(.34,1.05,.5,1),stroke-dashoffset .45s cubic-bezier(.34,1.05,.5,1)}


/* ── ⑥ 포트폴리오 구성 (2026-08-23) ─────────────────────────── */
.pftabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:12px -16px 0;padding:2px 16px 4px}
.pftabs::-webkit-scrollbar{display:none}
.pftabs span{flex:0 0 auto;font-size:11.5px;font-weight:700;padding:8px 13px;border-radius:99px;cursor:pointer;
  border:1px solid rgba(255,255,255,.24);color:var(--dim);background:rgba(5,8,13,.5);white-space:nowrap}
.pftabs span.on{border-color:var(--gold-b);color:var(--gold-b);background:rgba(201,162,74,.14)}
.pfcard{margin-top:12px;background:var(--panel);border:1px solid rgba(255,255,255,.23);border-radius:18px;
  padding:13px 12px;box-shadow:0 4px 16px rgba(0,0,0,.45)}
.pfh{display:flex;align-items:baseline;gap:8px}
.pfh b{font-size:14px;font-weight:900}
.pfh .tot{margin-left:auto;font-size:12px;font-weight:900;font-variant-numeric:tabular-nums}
.pfh .tot.ok{color:var(--green)} .pfh .tot.no{color:var(--red)}
.pfrows{margin-top:10px}
.pfr{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid rgba(255,255,255,.24)}
.pfr:first-child{border-top:0}
.pfr .t{flex:0 0 74px;min-width:0}
.pfr .t b{display:block;font-size:12.5px;font-weight:900}
.pfr .t small{display:block;font-size:9.5px;color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pfr input[type=range]{flex:1;min-width:0;accent-color:var(--gold-b)}
.pfr .v{flex:0 0 62px;text-align:right}
.pfr .v b{display:block;font-size:13px;font-weight:900;color:var(--gold-b);font-variant-numeric:tabular-nums}
.pfr .v small{display:block;font-size:10px;color:var(--dim);font-variant-numeric:tabular-nums}
.pfrest{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.24);font-size:12px;color:var(--dim)}
.pfrest b{color:var(--text);font-weight:800;font-variant-numeric:tabular-nums}
.pfrest.no b{color:var(--red)}
.pfrest span{font-variant-numeric:tabular-nums}
#s3p .cta:disabled{opacity:.45}
/* ── ⑦ 백테스트 (2026-08-23) ───────────────────────────────── */
.btper{display:flex;gap:6px;margin-top:12px}
.btper span{flex:1;text-align:center;font-size:12px;font-weight:800;padding:9px 4px;border-radius:11px;cursor:pointer;
  border:1px solid rgba(255,255,255,.24);color:var(--dim);background:rgba(5,8,13,.5)}
.btper span.on{border-color:var(--gold-b);color:var(--gold-b);background:rgba(201,162,74,.14)}
.btper span.off{opacity:.4;cursor:not-allowed;font-size:10.5px}
.btcard{margin-top:12px;background:var(--panel);border:1px solid rgba(255,255,255,.23);border-radius:18px;
  padding:12px;box-shadow:0 4px 16px rgba(0,0,0,.45)}
.btlg{display:flex;flex-direction:column;gap:5px;font-size:11.5px;color:var(--dim)}
.btlg i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px;vertical-align:-1px}
.btlg b{color:var(--text);font-weight:900;font-variant-numeric:tabular-nums}
.btlg em{font-style:normal;font-weight:900;font-variant-numeric:tabular-nums}
.btlg em.up{color:var(--upc)} .btlg em.dn{color:var(--dnc)}
.btchart{width:100%;height:150px;display:block;margin-top:9px}
.btstats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:11px}
.btstats .st{background:var(--panel2);border:1px solid rgba(255,255,255,.21);border-radius:13px;padding:9px 8px;text-align:center}
.btstats .st small{display:block;font-size:9.5px;color:var(--dim)}
.btstats .st b{display:block;font-size:15px;font-weight:900;margin-top:3px;font-variant-numeric:tabular-nums}
.btstats .st b.up{color:var(--upc)} .btstats .st b.dn{color:var(--dnc)}
.btstats .st i{display:block;font-style:normal;font-size:9.5px;color:var(--dim);margin-top:2px;font-variant-numeric:tabular-nums}
.btwarn{margin-top:11px;background:rgba(224,100,85,.10);border:1px solid rgba(224,100,85,.4);border-radius:13px;
  padding:10px 12px;font-size:11px;color:#e6c8c2;line-height:1.65}
.btwarn b{color:#ffb4a6}
.btyr{margin-top:12px;background:var(--panel);border:1px solid rgba(255,255,255,.23);border-radius:16px;padding:12px}
.btyr .h{font-size:13px;font-weight:900}
.btyr .tb{margin-top:9px}
.btyr .row{display:flex;font-size:11.5px;padding:6px 0;border-top:1px solid rgba(255,255,255,.24);font-variant-numeric:tabular-nums}
.btyr .row.hd{border-top:0;color:var(--dim);font-size:10.5px;font-weight:700}
.btyr .row span{flex:1;text-align:right}
.btyr .row span:first-child{text-align:left;font-weight:700}
.btyr .row .up{color:var(--upc)} .btyr .row .dn{color:var(--dnc)}
.btadj{margin-top:12px;background:var(--panel);border:1px solid rgba(255,255,255,.23);border-radius:16px;padding:12px}
.btadj .h{font-size:12.5px;font-weight:800;color:var(--gold-b);margin-bottom:6px}
.btadj .pfrest .rst{margin-left:auto;float:right;color:var(--gold-b);cursor:pointer;border-bottom:1px solid var(--line)}
.btno{margin-top:14px;background:rgba(224,100,85,.10);border:1px solid rgba(224,100,85,.42);border-radius:16px;padding:14px}
.btno b{color:#ffb4a6;font-size:14px;font-weight:900}
.btno p{margin:9px 0 0;display:flex;flex-direction:column;gap:5px}
.btno p span{font-size:12px;color:#e6c8c2}
.btno small{display:block;margin-top:9px;font-size:11px;color:var(--dim);line-height:1.6}
#s3b .cta:disabled{opacity:.45}
.btshort{margin-top:12px;background:rgba(201,162,74,.10);border:1px solid rgba(201,162,74,.45);
  border-radius:13px;padding:10px 12px;font-size:11px;color:#e7dcc4;line-height:1.65}
.btshort b{color:var(--gold-b)}
.mktbar{margin:8px 0 2px;background:rgba(201,162,74,.10);border:1px solid rgba(201,162,74,.42);
  border-radius:13px;padding:10px 12px;font-size:11.5px;color:#e7dcc4;line-height:1.6}
.mktbar b{color:var(--gold-b)}
.bench{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:4px 0 8px;padding:9px 11px;
  background:var(--panel2);border:1px solid rgba(255,255,255,.22);border-radius:12px;font-size:11.5px;color:var(--dim)}
.bench .bl{font-size:9.5px;font-weight:800;color:#0a1018;background:var(--gold-b);border-radius:99px;padding:2px 7px}
.bench b{color:var(--text);font-weight:800}
.bench .bp{font-variant-numeric:tabular-nums}
.bench .bd{font-weight:900;font-variant-numeric:tabular-nums}
.bench .bd.up{color:var(--upc)} .bench .bd.dn{color:var(--dnc)}
.bench i{font-style:normal;font-size:10px}
.bench .bm{margin-left:auto;font-size:11px}
.bench .bm b.up{color:var(--upc)} .bench .bm b.dn{color:var(--dnc)}
/* ── 리그 순위표 (2026-08-23) ──────────────────────────────── */
#sLG{background:var(--ink)}
.lghd{position:sticky;top:0;z-index:5;background:var(--ink);padding:12px 16px 6px;border-bottom:1px solid var(--line)}
.lghd .t{display:flex;align-items:center;gap:10px}
.lghd .t .back{padding:6px 11px}
.lghd .t b{font-size:16px;font-weight:900;display:block}
.lghd .t small{font-size:10.5px;color:var(--dim);display:block;margin-top:1px}
.lghd .t .livechip{margin-left:auto}
.lgtabs,.lgfil{display:flex;gap:6px;margin-top:9px;overflow-x:auto;scrollbar-width:none}
.lgtabs::-webkit-scrollbar,.lgfil::-webkit-scrollbar{display:none}
.lgtabs span,.lgfil span{flex:0 0 auto;font-size:11.5px;font-weight:700;padding:6px 12px;border-radius:99px;cursor:pointer;
  border:1px solid rgba(255,255,255,.23);color:var(--dim);white-space:nowrap}
.lgtabs span.on{border-color:var(--gold-b);color:var(--gold-b);background:rgba(201,162,74,.14)}
.lgfil span.on{border-color:var(--text);color:var(--text)}
.lgfil{margin-top:6px;margin-bottom:2px}
/* 홈은 어느 크기에서나 한 줄씩 옆으로 넘겨 본다 (사장님 2026-09-08). 큰 화면은 340px 씩, 작은 화면은 한 화면씩 */
#home .hpad{display:flex;flex-wrap:nowrap;gap:14px;overflow-x:auto;overflow-y:visible;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;align-items:flex-start}
#home .hpad>.hcol{flex:0 0 100%;width:100%;display:flex;flex-direction:column;gap:10px;min-width:0;scroll-snap-align:start}
#home .hpad>.hcol:empty{display:none}
#home .hpad>.hcol>*{margin:0!important}
#home .hpad::-webkit-scrollbar{height:0}
@media (max-width:739px){
  /* 휴대폰: 안내 캐릭터가 다음 버튼을 덮지 않게 — 높이 42vh, 버튼 위 24px 에서 멈춘다 (GPT 배치 감사 1순위, 2026-09-09) */
  #sA1 .acpopc:not(.center){--hb:40vh!important;--popc:40vh!important;bottom:calc(env(safe-area-inset-bottom) + 140px)!important;z-index:5}
  #sA1 .acpopc .half{height:var(--hb);width:min(240px,58vw)}
  #sA1 .acpopc .half img{height:var(--hb)}   /* 그림과 보이는 칸 높이를 같게 — 칸 밖으로 나간 그림이 버튼 위에 걸쳤다 */
  #sA1 .wrap>.cta{z-index:21}
  #sA1 .acpopcap{bottom:calc(env(safe-area-inset-bottom) + 140px + 40vh - 92px)!important;max-width:58vw;white-space:normal}   /* 자막은 가슴 높이 — 위 카드 숫자를 안 가리게 */
  /* 휴대폰 입장 화면: 팝업이 '첫 수업 시작' 버튼과 글을 덮고 있었다 (검수 2026-09-08 실측) */
  #sA1:has(.acin) .acpopc{--hb:400px!important;--popc:400px!important;bottom:120px!important;right:8px!important;left:auto!important}
  #sA1:has(.acin) .acpopc .half{width:min(300px,72vw)}
  #sA1:has(.acin) .acpopcap,#sA1:has(.acin) .acpopc .cap.capin{max-width:58vw;white-space:normal;text-align:left;margin-top:-96px}   /* 자막이 돼지 상자를 덮지 않게 머리 위로 */
  /* 휴대폰: 스크롤 상자가 따로 없어 sticky 가 안 붙는다 → 화면 아래 고정 (검수 2026-09-08 B-1) */
  #sA1 .wrap>.cta{position:fixed;left:12px;right:12px;width:auto;bottom:calc(env(safe-area-inset-bottom) + 10px);z-index:20;box-shadow:0 8px 24px rgba(0,0,0,.5)}
  #sA1 .wrap>.content{padding-bottom:96px}
  #sA1 .wrap>.foot{padding-bottom:84px}
  #sA1 .acsticky{position:static;margin-top:0}
  /* 휴대폰: 줄마다 좌우를 조금 줄이고 가운데 정렬, 옆 줄이 살짝 보이게 (사장님 2026-09-08) */
  #home .hpad{padding-left:18px;padding-right:18px;scroll-padding-left:18px;gap:12px}
  #home .hpad>.hcol{flex:0 0 calc(100% - 36px);width:calc(100% - 36px)}
}
.hdots{display:flex;justify-content:center;gap:7px;padding:8px 0 2px}
.hdots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.22);cursor:pointer;transition:all .2s}
.hdots i.on{width:20px;border-radius:4px;background:var(--gold-b)}
@media (min-width:740px){
  /* 큰 화면에서 8.5~10.5px 은 안 읽힌다 — 12px 이상으로 (검수 2026-09-08 B-2) */
  #sA1 .stk text.nm,#sA1 .stk text.sub,#sA1 .stk text.tk{font-size:12px}
  #sA1 .foot,#sA1 .lp-foot,#sA1 .acnote{font-size:12px}
  #sA1 .speech .ml,#sA1 .askin .speech .ml{font-size:12px}
  #sA1 .acrail .scard .px,#sA1 .acrail .scard .stile+div{font-size:12px}
  #sA1 .g3cmp .sw em{font-size:12px}
  #sA1 .g6w3 .r small,#sA1 .g6w3 .r b{font-size:12px}
  #sA1 .g10p .tleg,#sA1 .g10p .tbl .hd{font-size:12px}
  #sA1 .topbar small,#sA1 .meta small,#sA1 .qrow small,#sA1 .acstory .stk{font-size:12px}
  #sA1 .g6mix .bar span,#sA1 .g6mix .lgd span,#sA1 .g6bar span,#sA1 .mixbar span{font-size:12px}
  #sA1 .t2,#sA1 .stepno .t2{font-size:12px!important}
  #sA1 .d10 .rec2 span,#sA1 .g10adv .rec span{font-size:11.5px}
  #sA1 [class*='g6'] span,#sA1 [class*='g10'] span{font-size:max(12px,1em)}
  #sA1 .g3cmp .sw em,#sA1 .g3cmp .sw small{font-size:12px}
  #sA1 .g6w3 .r b,#sA1 .g6w3 .r small{font-size:12px}
  #sA1 .g10p .tchart .c2wrap i,#sA1 .ac2chk .c2wrap i{font-size:12.5px}
  #sA1 .acrail .scard .nm,#sA1 .acrail .scard small{font-size:12.5px}
  #s1i .icard small,#s1i .ic-list small{font-size:12.5px}
  #sA1 .mixrow small,#sA1 .g6mix small,#sA1 .g6mix .lb{font-size:12.5px}
}
.lgbody{padding:6px 12px 150px}
@media (min-width:960px){
  /* 리그: 왼쪽 전체 순위, 오른쪽 내 순위 (사장님 2026-09-08) */
  #sLG .lgbody{display:grid!important;grid-template-columns:minmax(0,1fr) 360px!important;column-gap:20px;align-items:start;max-width:none;width:100%;margin:0;padding:6px 16px 90px}
  #sLG .lgbody>#lgTop,#sLG .lgbody>.lgtabs,#sLG .lgbody>.lgfil{grid-column:1/-1}
  #sLG .lgbody>#lgBody{grid-column:1} #sLG .lgbody>#lgSide{grid-column:2;position:sticky;top:12px}
  #sLG .lghd .lgview{display:none}
  #sLG .lgme{display:none}
}

.lgload{padding:30px 0;text-align:center;font-size:12px;color:var(--dim)}
.lgcols{display:flex;align-items:center;gap:8px;padding:7px 6px;font-size:9.5px;color:var(--dim)}
.lgcols span:nth-child(1){width:26px}.lgcols .w{flex:1}
.lgcols span:nth-child(3){width:64px;text-align:right}
.lgcols span:nth-child(4){width:58px;text-align:right}
.lgcols span:nth-child(5){width:54px;text-align:right}
.lgrow{display:flex;align-items:center;gap:8px;padding:9px 6px;border-top:1px solid rgba(255,255,255,.24);cursor:pointer}
.lgrow.me{background:rgba(201,162,74,.10);border-radius:12px;border-top-color:transparent;
  box-shadow:inset 0 0 0 1px rgba(201,162,74,.45)}
.lgrow .rk{width:26px;text-align:center;font-size:13px;font-weight:900;color:var(--dim)}
.lgrow .fc{width:34px;height:34px;flex:0 0 auto;border-radius:10px;overflow:hidden;background:var(--panel2);
  border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.lgrow .fc img{width:100%;height:100%;object-fit:cover;display:block}
.lgrow .fc .ini{font-size:10px;font-weight:900;color:var(--gold-b)}
/* 대가(13F) */
.lgrow .fc .ini.guru{color:#0d1218;background:var(--c);width:100%;height:100%;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:15px}
.ghd{display:flex;align-items:center;gap:10px;margin:2px 0 10px}
.ghd .ini.guru{width:42px;height:42px;flex:0 0 auto;border-radius:12px;background:var(--c);color:#0d1218;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:900}
.ghd small{color:var(--dim);font-size:11px;display:block;margin-top:2px}
.gnums{display:flex;gap:6px;margin:2px 0 10px}
.gnums .c{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:8px 9px}
.gnums .c small{display:block;font-size:9.5px;color:var(--dim);line-height:1.3}
.gnums .c b{font-size:15px;font-weight:900;font-variant-numeric:tabular-nums}
.gch{width:100%;height:110px;display:block;margin-top:2px}
.glgd{display:flex;gap:12px;justify-content:center;font-size:10.5px;color:var(--dim);margin-top:2px}
.glgd i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:4px;vertical-align:-1px}
.ghold{margin-top:12px}
.ghold .t{font-size:12.5px;font-weight:900;margin-bottom:4px}
.ghold .t small{font-weight:600;color:var(--dim);font-size:10.5px;margin-left:4px}
.gr{display:flex;align-items:center;gap:7px;padding:6px 0;border-top:1px solid rgba(255,255,255,.24);font-size:12px}
.gr b{font-weight:900;width:52px;flex:0 0 auto}
.gr .nm{flex:1;min-width:0;color:var(--dim);font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gr .w{width:34px;text-align:right;font-weight:800;font-variant-numeric:tabular-nums}
.gr .px{width:62px;text-align:right;color:var(--dim);font-variant-numeric:tabular-nums;font-size:11px}
.gr .ch{width:52px;text-align:right;font-weight:800;font-variant-numeric:tabular-nums;font-size:11px}
.gr .ch{background:none !important;border:0 !important;padding:0 !important;border-radius:0 !important;box-shadow:none !important}
.gr .ch.up{color:var(--upc)}
.gr .ch.dn{color:var(--dnc)}

.gnote{margin-top:12px;font-size:10.5px;color:var(--dim);line-height:1.65}
.gnote p{margin:0 0 6px}
.gnote b{color:#cfd6de}
.gnote .src{color:#6b7885;font-size:9.5px;margin-top:8px}
.fnote{margin-top:10px;background:var(--panel);border:1px solid rgba(201,162,74,.35);border-radius:14px;padding:11px 12px}
.fnote .h{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.fnote .h b{font-size:13px;font-weight:900}
.fnote .h .ini.guru{width:26px;height:26px;flex:0 0 auto;border-radius:8px;background:var(--c);color:#0d1218;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900}
.fnote p{margin:0 0 5px;font-size:10.5px;color:var(--dim);line-height:1.65}
.fnote b{color:#cfd6de}
.fnote .do{color:var(--gold-b)}
/* ── 대가 따라잡기 화면 (시안 구성 그대로 · 내용은 SEC 공시) ── */
#sGU{padding:0}
#sGU.on{display:flex;flex-direction:column;height:calc(100*var(--vh));min-height:0;overflow:hidden}
/* ── 길드 ─────────────────────────────────── */
#sGD{padding:0}
#sGD.on{display:flex;flex-direction:column;height:calc(100*var(--vh));min-height:0;overflow:hidden}
#sGD .gubody{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 14px 110px}
.gdhero{display:flex;gap:11px;align-items:center;background:var(--panel);border:1.5px solid var(--c);
  border-radius:16px;padding:13px;box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 12%,transparent)}
.gdhero .em{font-size:34px;flex:0 0 auto;line-height:1}
.gdhero .b{flex:1;min-width:0}
.gdhero .l1{display:flex;align-items:baseline;gap:8px}
.gdhero .l1 b{font-size:17px;font-weight:900;color:var(--c)}
.gdhero .l1 .rk{margin-left:auto;font-size:11px;font-weight:800;color:var(--dim);font-variant-numeric:tabular-nums}
.gdhero .rule{font-size:11.5px;color:#cfd6de;margin-top:3px}
.gdhero .men{display:flex;align-items:center;gap:4px;margin-top:7px;font-size:9.5px;color:var(--dim)}
.gdhero .men img{width:20px;height:20px;border-radius:50%;object-fit:cover}
/* 길드 — 시안 구성 */
.gdtabs{display:flex;gap:2px;margin-top:11px;border-bottom:1px solid var(--line);overflow-x:auto}
.gdtabs span{flex:1;text-align:center;white-space:nowrap;padding:9px 8px;font-size:11.5px;font-weight:800;
  color:var(--dim);cursor:pointer;border-bottom:2px solid transparent}
.gdtabs span.on{color:var(--gold-b);border-bottom-color:var(--gold-b)}
.gdrow{cursor:pointer}
.gdasset{display:flex;gap:10px;align-items:flex-end;margin:2px 0 9px}
.gdasset>div{flex:1;min-width:0}
.gdasset small{display:block;font-size:9.5px;color:var(--dim);line-height:1.4}
.gdasset b{display:block;font-size:26px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1.1;margin-top:3px}
.gdasset i{font-style:normal;font-size:12.5px;font-weight:900;font-variant-numeric:tabular-nums}
.gdasset .sub{flex:0 0 auto;text-align:right}
.gdasset .sub b{font-size:15px}
.gdlg{display:flex;flex-wrap:wrap;gap:9px;font-size:9.5px;color:var(--dim);margin:4px 0 2px}
.gdlg i{display:inline-block;width:12px;height:2.5px;border-radius:2px;margin-right:3px;vertical-align:3px}
.gdlg b{font-variant-numeric:tabular-nums}
.gdch{width:100%;height:150px;display:block}
.gd6{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}
.gd6>div{background:var(--ink);border:1px solid var(--line);border-radius:11px;padding:8px 7px;text-align:center}
.gd6 .ic{font-size:14px;display:block}
.gd6 small{display:block;font-size:8.5px;color:var(--dim);margin-top:2px;line-height:1.3}
.gd6 b{display:block;font-size:14px;font-weight:900;font-variant-numeric:tabular-nums;margin-top:2px}
.gd5{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.gd5>div{background:var(--ink);border:1px solid var(--line);border-radius:11px;padding:8px 9px}
.gd5 small{display:block;font-size:9px;color:var(--dim)}
.gd5 b{display:block;font-size:16px;font-weight:900;font-variant-numeric:tabular-nums;margin-top:2px}
.gd5 i{display:block;font-style:normal;font-size:9px;color:var(--dim);margin-top:2px}
.gdmix .r{display:flex;align-items:center;gap:7px;padding:6px 0;font-size:11.5px}
.gdmix .r i{width:9px;height:9px;border-radius:2px;flex:0 0 auto}
.gdmix .r b{width:66px;flex:0 0 auto;font-weight:800}
.gdmix .bar{flex:1;height:6px;border-radius:99px;background:rgba(255,255,255,.18);overflow:hidden}
.gdmix .bar u{display:block;height:100%;text-decoration:none}
.gdmix .p{width:42px;text-align:right;font-weight:900;font-variant-numeric:tabular-nums}
.gdmix .m{width:64px;text-align:right;font-size:10px;color:var(--dim);font-variant-numeric:tabular-nums}
.gdtop .hd,.gdtop .r{display:flex;align-items:center;gap:6px;font-size:11.5px;padding:7px 0;border-top:1px solid rgba(255,255,255,.24)}
.gdtop .hd{border-top:0;font-size:9.5px;color:var(--dim)}
.gdtop .r{cursor:pointer}
.gdtop .tk{flex:1;min-width:0}
.gdtop .tk b{display:block;font-weight:900;font-size:12px}
.gdtop .tk small{display:block;font-size:9.5px;color:var(--dim)}
.gdtop .hd span:first-child{flex:1}
.gdtop .p{width:44px;text-align:right;font-weight:800;font-variant-numeric:tabular-nums}
.gdtop .m{width:72px;text-align:right;color:var(--dim);font-variant-numeric:tabular-nums}
.gdtop .r2{width:62px;text-align:right;font-weight:800;font-variant-numeric:tabular-nums}
.gdheat .hd,.gdheat .r{display:grid;grid-template-columns:44px 1fr 1fr 1fr;gap:4px;align-items:center;padding:3px 0}
.gdheat .hd{font-size:9px;color:var(--dim);text-align:center}
.gdheat .hd span:first-child{text-align:left}
.gdheat .y{font-size:10.5px;color:var(--dim);font-variant-numeric:tabular-nums}
.gdheat .c{display:block;text-align:center;font-size:10.5px;font-weight:800;border-radius:6px;padding:4px 0;
  font-variant-numeric:tabular-nums;background:rgba(255,255,255,.05)}
.gdheat .c.up{background:rgba(63,179,122,calc(var(--a)*.5 + .08));color:#8fe0b5}
.gdheat .c.dn{background:rgba(224,71,63,calc(var(--a)*.5 + .08));color:#f0a099}
.gdsec .r{display:flex;align-items:center;gap:7px;padding:6px 0;border-top:1px solid rgba(255,255,255,.24);font-size:12px}
.gdsec .r:first-child{border-top:0}
.gdsec .rk{width:17px;height:17px;flex:0 0 auto;border-radius:5px;background:rgba(255,255,255,.17);
  font-size:9.5px;font-weight:900;display:flex;align-items:center;justify-content:center;color:var(--dim)}
.gdsec b{font-weight:900}
.gdsec .w{font-size:10px;color:var(--dim)}
.gdsec .v{margin-left:auto;font-weight:900;font-variant-numeric:tabular-nums}
.gdm .rk{width:16px;flex:0 0 auto;text-align:center;font-size:10.5px;font-weight:900;color:var(--dim)}
.gdm .role{font-style:normal;font-size:8.5px;font-weight:900;border-radius:99px;padding:1px 5px;margin-right:4px}
.gdm .role.lead{background:rgba(201,162,74,.2);color:var(--gold-b)}
.gdm .role.hon{background:rgba(143,91,214,.2);color:#b48ce6}
.gdm .role.me{background:rgba(63,179,122,.2);color:var(--green)}
.gdm.me{background:rgba(201,162,74,.07);margin:0 -12px;padding-left:12px;padding-right:12px}
.gdcard.lock{border-style:dashed}
.gdcard .lk{display:flex;align-items:baseline;gap:7px;padding:6px 0;border-top:1px solid rgba(255,255,255,.24);opacity:.65}
.gdcard .lk b{font-size:12px;font-weight:900}
.gdcard .lk small{font-size:10px;color:var(--dim)}
.gdtip{margin:8px 0 2px;padding:9px 10px;border-radius:11px;background:color-mix(in srgb,var(--c) 10%,transparent);
  border:1px solid color-mix(in srgb,var(--c) 35%,var(--line));font-size:10.5px;line-height:1.65;color:var(--dim)}
.gdtip b{color:#cfd6de}
.gdrow.view{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 55%,transparent)}
.gdrow .b b i.v{background:rgba(255,255,255,.14);color:var(--dim)}
.gdcard.mk{border-style:dashed;border-color:rgba(201,162,74,.45)}
.mkbody{margin-top:2px}
.mkrow{display:flex;gap:9px;align-items:flex-start;padding:7px 0;border-top:1px solid rgba(255,255,255,.24)}
.mkrow:first-child{border-top:0}
.mkrow .ic{font-size:16px;flex:0 0 auto;width:22px;text-align:center}
.mkrow b{display:block;font-size:12px;font-weight:900}
.mkrow small{display:block;font-size:10px;color:var(--dim);margin-top:2px;line-height:1.5}
.mkbtn{width:100%;margin-top:10px;border-radius:10px;padding:11px 0;font-size:12px;font-weight:900;cursor:pointer;
  background:rgba(201,162,74,.14);color:var(--gold-b);border:1px solid rgba(201,162,74,.5)}
.gdcard{margin-top:11px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:11px 12px}
.gdcard.warn{border-color:rgba(224,100,85,.4);background:rgba(224,71,63,.06)}
.gdcard .h{display:flex;align-items:baseline;gap:7px;margin-bottom:7px}
.gdcard .h b{font-size:13px;font-weight:900}
.gdcard .h small{font-size:10px;color:var(--dim)}
.gdcard .h .per{margin-left:auto;display:flex;gap:0;border:1px solid var(--line);border-radius:99px;overflow:hidden}
.gdcard .h .per span{font-size:10px;font-weight:800;color:var(--dim);padding:4px 9px;cursor:pointer}
.gdcard .h .per span.on{background:var(--gold);color:#1a1204}
.gdrow{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px solid rgba(255,255,255,.24);font-size:12px}
.gdrow:first-of-type{border-top:0}
.gdrow.me{background:rgba(201,162,74,.07);margin:0 -12px;padding-left:12px;padding-right:12px}
.gdrow .rk{width:16px;text-align:center;font-weight:900;color:var(--dim);flex:0 0 auto}
.gdrow .em{font-size:17px;flex:0 0 auto}
.gdrow .b{flex:1;min-width:0}
.gdrow .b b{display:block;font-size:12.5px;font-weight:900;color:var(--c)}
.gdrow .b b i{font-style:normal;font-size:9px;background:var(--gold);color:#1a1204;border-radius:99px;padding:1px 5px;vertical-align:1px}
.gdrow .b small{display:block;font-size:9.5px;color:var(--dim);margin-top:1px}
.gdrow .ret{font-size:13px;font-weight:900;font-variant-numeric:tabular-nums}
.gdcard .note{margin-top:8px;font-size:10.5px;color:var(--dim);line-height:1.65}
.gdcard .note b{color:#cfd6de}
.gdme{display:flex;gap:6px}
.gdme div{flex:1;background:var(--ink);border:1px solid var(--line);border-radius:10px;padding:8px 9px}
.gdme small{display:block;font-size:9px;color:var(--dim)}
.gdme b{display:block;font-size:14px;font-weight:900;font-variant-numeric:tabular-nums;margin-top:2px}
.gdcard .chips{display:flex;flex-wrap:wrap;gap:5px}
.gdcard .chips span{font-size:10.5px;border:1px solid var(--line);border-radius:99px;padding:4px 9px;color:var(--dim)}
.gdcard .chips span.on{border-color:rgba(63,179,122,.55);color:var(--green)}
.gdcard .chips span b{color:var(--text);font-weight:900;margin-right:3px}
.gdcard .chips span.on b{color:var(--green)}
.gdcard .chips span i{font-style:normal;font-size:9px;opacity:.7;margin-left:3px}
.gdm{display:flex;align-items:center;gap:8px;padding:7px 0;border-top:1px solid rgba(255,255,255,.24);cursor:pointer;font-size:12px}
.gdm .fc{width:28px;height:28px;flex:0 0 auto;border-radius:9px;overflow:hidden}
.gdm .fc img{width:100%;height:100%;object-fit:cover;display:block}
.gdm .fc .ini.guru{width:28px;height:28px;border-radius:9px;background:var(--c);color:#0d1218;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900}
.gdm .b{flex:1;min-width:0}
.gdm .b b{display:block;font-size:12px;font-weight:900}
.gdm .b small{display:block;font-size:9.5px;color:var(--dim)}
.gdm .ret{font-weight:900;font-variant-numeric:tabular-nums}
.pvbase{font-size:11px;color:var(--dim);font-weight:700;line-height:1.6;margin:0 0 8px;text-align:center}
#sA1 .rwd .rtot{font-size:11px;color:var(--dim);font-weight:700;margin-top:6px;letter-spacing:0}
#sA1 .rwd .rtot b{font-size:15px;color:#e8c777;font-weight:800}
.nosam{color:var(--dim);font-weight:700;font-size:11.5px;letter-spacing:0}
.gdfoot{margin-top:13px;font-size:10.5px;color:var(--dim);line-height:1.7}
.gdfoot b{color:#cfd6de}
.hsec .h .hgo{margin-left:auto;font-size:10.5px;font-weight:800;color:var(--gold-b);cursor:pointer;
  border:1px solid rgba(201,162,74,.45);border-radius:99px;padding:3px 9px;white-space:nowrap}
.hsec .h{display:flex;align-items:center;gap:6px}
.guhd{display:flex;align-items:center;gap:9px;padding:12px 14px 10px;border-bottom:1px solid var(--line);background:var(--panel);flex:0 0 auto}
.guhd .back{background:none;border:0;color:var(--text);font-size:20px;cursor:pointer;padding:0 2px;line-height:1}
.guhd .t{flex:1;min-width:0}
.guhd h1{font-size:17px;font-weight:900;margin:0;line-height:1.2}
.guhd small{display:block;font-size:10px;color:var(--dim);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.guhd .lgb{flex:0 0 auto;background:rgba(201,162,74,.12);border:1px solid rgba(201,162,74,.45);color:var(--gold-b);border-radius:99px;padding:6px 11px;font-size:11px;font-weight:800;cursor:pointer}
.gubody{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 14px 110px}

/* 주인공 카드 — 왼쪽 누구인지 / 오른쪽 얼마인지 */
.guhero{display:flex;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:12px}
.guhero .l{display:flex;align-items:center;gap:9px;flex:0 0 auto;width:47%;min-width:0}
.guhero .rkb{position:relative;flex:0 0 auto}
.guhero .ini.guru{width:46px;height:46px;border-radius:13px;background:var(--c);color:#0d1218;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:900}
.guhero .rkn{position:absolute;left:-5px;top:-6px;background:var(--gold);color:#1a1204;font-size:9.5px;font-weight:900;border-radius:99px;padding:1px 5px;border:2px solid var(--panel)}
.guhero .who{min-width:0}
.guhero .who b{display:block;font-size:14.5px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.guhero .who .tag{display:inline-block;font-size:9px;font-weight:800;color:var(--gold-b);border:1px solid rgba(201,162,74,.45);border-radius:99px;padding:1px 6px;margin-top:3px}
.guhero .who small{display:block;font-size:9.5px;color:var(--dim);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.guhero .r{flex:1;display:flex;gap:8px;min-width:0;border-left:1px solid var(--line);padding-left:10px}
.guhero .c{flex:1;min-width:0}
.guhero .c small{display:block;font-size:9px;color:var(--dim)}
.guhero .c b{display:block;font-size:15px;font-weight:900;font-variant-numeric:tabular-nums;margin-top:1px}
.guhero .c svg{width:100%;height:26px;display:block;margin-top:3px}

/* 탭 — 밑줄형 */
.gutabs{display:flex;gap:2px;margin-top:12px;border-bottom:1px solid var(--line);overflow-x:auto}
.gutabs span{flex:1;text-align:center;white-space:nowrap;padding:9px 6px;font-size:12px;font-weight:800;color:var(--dim);cursor:pointer;border-bottom:2px solid transparent}
.gutabs span.on{color:var(--gold-b);border-bottom-color:var(--gold-b)}

.gucard{margin-top:12px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:12px}
.gucard .hd{display:flex;align-items:baseline;gap:7px;margin-bottom:8px}
.gucard .hd b{font-size:13.5px;font-weight:900}
.gucard .hd small{font-size:10px;color:var(--dim)}
.gucard .hd .tg{margin-left:auto;display:flex;gap:0;border:1px solid var(--line);border-radius:99px;overflow:hidden}
.gucard .hd .tg i{font-style:normal;font-size:10px;font-weight:800;color:var(--dim);padding:4px 9px;cursor:pointer}
.gucard .hd .tg i.on{background:var(--gold);color:#1a1204}

/* 도넛 위 · 목록 아래 (430px 에서 2열은 도넛이 뭉개진다) */
.gudn{position:relative;width:172px;margin:2px auto 10px}
.gudn svg{width:172px;height:172px;display:block}
.gudn .dc{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.gudn .dc small{font-size:9.5px;color:var(--dim)}
.gudn .dc b{font-size:16px;font-weight:900;font-variant-numeric:tabular-nums}
.gurow{display:flex;align-items:center;gap:8px;padding:7px 0;border-top:1px solid rgba(255,255,255,.24);font-size:12px}
.gurow .dot{width:22px;height:22px;flex:0 0 auto;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:900;color:#0d1218}
.gurow .n{flex:1;min-width:0}
.gurow .n b{display:block;font-weight:900;font-size:12px}
.gurow .n small{display:block;font-size:9.5px;color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gurow .w{width:36px;text-align:right;font-weight:800;font-variant-numeric:tabular-nums}
.gurow .m{width:62px;text-align:right;font-size:11px;color:var(--dim);font-variant-numeric:tabular-nums}
.gurow .sp{width:52px;flex:0 0 auto}
.gurow .sp svg{width:52px;height:20px;display:block}

/* 나의 성과 vs 대가 — 왼쪽 그래프 / 오른쪽 요약 */
.guvs{display:flex;gap:10px;margin-top:12px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:12px}
.guvs .g{flex:1;min-width:0}
.guvs .g h4{margin:0 0 6px;font-size:13px;font-weight:900}
.guvs .lg{display:flex;gap:9px;font-size:9.5px;color:var(--dim);margin-bottom:4px}
.guvs .lg i{display:inline-block;width:12px;height:2.5px;border-radius:2px;margin-right:3px;vertical-align:3px}
.guvs .guch{width:100%;height:118px;display:block}
.guvs .s{flex:0 0 auto;width:42%;min-width:0}
.guvs .s .msg{font-size:11.5px;font-weight:800;line-height:1.45}
.guvs .s .msg small{display:block;font-weight:600;color:var(--dim);font-size:10px;margin-top:3px}
.guvs .s .r{display:flex;align-items:center;gap:6px;background:var(--ink);border:1px solid var(--line);border-radius:10px;padding:7px 8px;margin-top:7px;font-size:11.5px}
.guvs .s .r .ini.guru{width:20px;height:20px;flex:0 0 auto;border-radius:6px;background:var(--c);color:#0d1218;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:900}
.guvs .s .r img{width:20px;height:20px;border-radius:6px;object-fit:cover;flex:0 0 auto}
.guvs .s .r b{flex:1;min-width:0;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.guvs .s .r .v{font-weight:900;font-variant-numeric:tabular-nums}

/* 2열 카드 (분기 변화 요약 · 따라하기) */
.gutwo{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}
.gutwo .k{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:11px}
.gutwo .k .t{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:900;margin-bottom:6px}
.gutwo .k .t .ic{font-size:14px}
.gutwo .k ul{margin:0;padding:0;list-style:none}
.gutwo .k li{font-size:11px;padding:3px 0;display:flex;gap:5px;align-items:baseline}
.gutwo .k li b{font-weight:900}
.gutwo .k li span{margin-left:auto;font-variant-numeric:tabular-nums;font-size:10.5px;color:var(--dim)}
.gutwo .k .no{font-size:10.5px;color:var(--dim);padding:3px 0}
.gutwo.copy .k{border-color:rgba(201,162,74,.4)}
.gutwo.copy .k.b{border-color:rgba(79,143,214,.45)}
.gutwo.copy .k .t{color:var(--gold-b)}
.gutwo.copy .k.b .t{color:#7fb0e8}
.gutwo.copy .k p{margin:0;font-size:10.5px;color:var(--dim);line-height:1.55;min-height:44px}
.gutwo.copy .k button{width:100%;margin-top:8px;border-radius:10px;padding:9px 0;font-size:11.5px;font-weight:900;cursor:pointer;background:rgba(201,162,74,.16);color:var(--gold-b);border:1px solid rgba(201,162,74,.5)}
.gutwo.copy .k.b button{background:rgba(79,143,214,.16);color:#7fb0e8;border-color:rgba(79,143,214,.5)}
.guhead2{margin:14px 0 0;font-size:13.5px;font-weight:900}
.guhead2 small{display:block;font-size:10px;color:var(--dim);font-weight:600;margin-top:3px;line-height:1.5}
.gufoot{margin-top:14px;font-size:10px;color:#6b7885;line-height:1.65}
.gufoot b{color:#9fb0c0}
.gukv{display:flex;gap:6px;margin-top:8px}
.gukv .c{flex:1;background:var(--ink);border:1px solid var(--line);border-radius:11px;padding:8px 9px}
.gukv .c small{display:block;font-size:9px;color:var(--dim);line-height:1.35}
.gukv .c b{display:block;font-size:13.5px;font-weight:900;font-variant-numeric:tabular-nums;margin-top:2px}

/* 칼·방패·갑옷 */
/* 지금 성향 판정 — 이 화면에서 제일 먼저 눈에 들어와야 한다 */
.gearnow{border:1.5px solid var(--c) !important;box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 14%,transparent)}
.gearnow .stance{display:flex;align-items:flex-end;gap:10px;padding-bottom:9px;border-bottom:1px solid rgba(255,255,255,.24)}
.gearnow .stance .l{flex:1;min-width:0}
.gearnow .stance small{display:block;font-size:10px;color:var(--dim);margin-bottom:2px}
.gearnow .stance .l b{display:block;font-size:23px;font-weight:900;color:var(--c);line-height:1.1;font-variant-numeric:tabular-nums}
.gearnow .stance .l b .ic{font-size:18px;margin-right:4px}
.gearnow .stance .l b em{font-style:normal;font-size:17px;margin-left:3px}
.gearnow .stance .r{flex:0 0 auto;text-align:right}
.gearnow .stance .r b{font-size:16px;font-weight:900;font-variant-numeric:tabular-nums}
.spec{position:relative;height:26px;margin:11px 0 9px;border-radius:99px;
  background:linear-gradient(90deg,#4f8fd6 0%,#c9a24a 50%,#e0473f 100%);opacity:.9}
.spec i{position:absolute;top:-4px;width:4px;height:34px;border-radius:3px;background:#fff;
  box-shadow:0 0 0 2px rgba(0,0,0,.55),0 2px 8px rgba(0,0,0,.6);transform:translateX(-50%);
  transition:left .55s cubic-bezier(.34,1.05,.5,1)}
.spec span{position:absolute;top:50%;transform:translateY(-50%);font-size:9.5px;font-weight:900;color:#0d1218;text-shadow:0 1px 0 rgba(255,255,255,.25)}
.spec .a{left:8px}.spec .b{left:50%;transform:translate(-50%,-50%)}.spec .c{right:8px}
/* 세 갈래 카드 — 테두리로 확실히 갈라 보이게 */
.gearc{border:1.5px solid color-mix(in srgb,var(--gc) 45%,var(--line)) !important;position:relative;flex:0 0 68% !important}
.gearc .t b{color:var(--gc)}
.gearc.near{border-color:var(--gc) !important;box-shadow:0 0 0 3px color-mix(in srgb,var(--gc) 18%,transparent)}
.gearc.on{border-color:var(--gc) !important;box-shadow:0 0 0 3px color-mix(in srgb,var(--gc) 30%,transparent)}
.gearc .badge{position:absolute;right:9px;top:-8px;font-size:9px;font-weight:900;border-radius:99px;padding:2px 7px;
  background:var(--gc);color:#0d1218}
.gearc .badge.on{background:var(--gold);color:#1a1204}
.gearc .pipset i.on{background:var(--gc)}
.gearc button{border-color:color-mix(in srgb,var(--gc) 50%,var(--line)) !important;color:var(--gc) !important}
.gearc button.on{background:var(--gc) !important;color:#0d1218 !important}
/* 방어형 — 지킬 것 고르기 */
.gsafe{margin-top:9px;padding:9px;border-radius:11px;background:rgba(79,143,214,.08);border:1px solid rgba(79,143,214,.3)}
.gsafe .l{font-size:9.5px;font-weight:900;color:#7fb0e8;margin-bottom:4px}
.gsafe .l:not(:first-child){margin-top:8px}
.gsafe .chips{display:flex;flex-wrap:wrap;gap:4px}
.gsafe .chips span{font-size:10px;font-weight:800;border:1px solid var(--line);border-radius:99px;padding:4px 8px;
  color:var(--dim);cursor:pointer;background:var(--ink);white-space:nowrap}
.gsafe .chips span.on{background:#4f8fd6;color:#06121f;border-color:#4f8fd6}
.gsafe .chips.w span{min-width:44px;text-align:center;font-variant-numeric:tabular-nums}
.gsafe .d{margin-top:8px;font-size:9.5px;color:var(--dim);line-height:1.55}
.gsafe .d b{color:#cfd6de;font-variant-numeric:tabular-nums}
/* 용어 밑줄 */
.gl{border-bottom:1px dashed rgba(201,162,74,.65);cursor:pointer;color:var(--gold-b)}
.gl:after{content:'?';font-size:.62em;vertical-align:super;margin-left:1px;opacity:.75}
.gldef{font-size:12.5px;line-height:1.75;color:#cfd6de;margin:6px 0 0}
.gldef b{color:var(--gold-b)}
.glmore{display:flex;flex-wrap:wrap;gap:5px;margin-top:14px}
.glmore span{font-size:10.5px;border:1px solid var(--line);border-radius:99px;padding:4px 9px;color:var(--dim);cursor:pointer}
/* 셋을 합친 총평 */
.cvd{margin-top:12px;background:var(--panel);border:1.5px solid rgba(201,162,74,.45);border-radius:16px;padding:13px;
  box-shadow:0 0 0 3px rgba(201,162,74,.08)}
.cvd .h{display:flex;align-items:center;gap:7px;margin-bottom:9px}
.cvd .h .ic{font-size:17px}
.cvd .h b{font-size:13.5px;font-weight:900;color:var(--gold-b)}
.cvd .row{display:flex;gap:8px;align-items:flex-start;padding:7px 0;border-top:1px solid rgba(255,255,255,.24)}
.cvd .row:first-of-type{border-top:0}
.cvd .tag{flex:0 0 auto;width:42px;text-align:center;font-size:9.5px;font-weight:900;border-radius:99px;padding:3px 0;margin-top:1px}
.cvd .tag.long{background:rgba(63,179,122,.18);color:var(--green)}
.cvd .tag.short{background:rgba(224,71,63,.18);color:#f0a099}
.cvd .tag.keep{background:rgba(79,143,214,.18);color:#7fb0e8}
.cvd .row p{margin:0;font-size:11.5px;line-height:1.7;color:var(--dim)}
.cvd .row p b{color:#cfd6de}
.cvd .ex{margin-top:9px;padding-top:9px;border-top:1px solid rgba(255,255,255,.24);font-size:10.5px;color:var(--dim);line-height:1.65}
.cvd .ex b{color:#cfd6de}
.cvd .foot{margin-top:8px;font-size:9.5px;color:#6b7885}
.gearhd{margin:16px 0 0;font-size:14px;font-weight:900}
.gearhd small{display:block;font-size:10.5px;color:var(--dim);font-weight:600;margin-top:4px;line-height:1.6}
.gearhd small b{color:#cfd6de}
.gearnow{margin-top:10px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:11px 12px}
.gearnow .h{display:flex;align-items:baseline;gap:6px;margin-bottom:7px}
.gearnow .h b{font-size:12.5px;font-weight:900}
.gearnow .h small{font-size:10px;color:var(--dim)}
.gb{display:flex;align-items:center;gap:7px;padding:4px 0;font-size:11.5px}
.gb .ic{font-size:13px}
.gb .lb{width:96px;flex:0 0 auto;font-weight:800}
.gb .pips{display:flex;gap:3px;flex:0 0 auto}
.gb .pips i,.pipset i{display:block;width:11px;height:7px;border-radius:2px;background:rgba(255,255,255,.13)}
.gb .pips i.on{background:var(--gold-b)}
.gb .v{margin-left:auto;font-size:10.5px;color:var(--dim);font-variant-numeric:tabular-nums}
.gearnow .n{margin-top:7px;font-size:10px;color:var(--dim);line-height:1.6}
.gearnow .n b{color:#cfd6de}
.gearlist{display:flex;gap:8px;margin-top:10px;overflow-x:auto;padding-bottom:4px}
.gearc{flex:0 0 62%;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:11px;cursor:pointer}
.gearc.on{border-color:var(--gold);box-shadow:0 0 0 1px rgba(201,162,74,.35)}
.gearc .t{display:flex;align-items:center;gap:6px}
.gearc .t .ic{font-size:15px}
.gearc .t b{font-size:13px;font-weight:900}
.gearc .t .r{margin-left:auto;font-size:12.5px;font-weight:900;font-variant-numeric:tabular-nums}
.pipset{display:flex;gap:9px;margin-top:7px;font-size:11px}
.pipset span{display:flex;align-items:center;gap:2px}
.pipset i.on{background:var(--gold-b)}
.gearc .mix{display:flex;flex-wrap:wrap;gap:3px;margin-top:8px}
.gearc .mix span{font-size:9.5px;border:1px solid var(--line);border-radius:99px;padding:2px 6px;color:var(--dim)}
.gearc .mix span b{color:var(--text);font-weight:900;margin-right:3px}
.gearc .why{margin-top:7px;font-size:10.5px;color:var(--dim);line-height:1.55;min-height:32px}
.gearc .why b{color:#cfd6de}
.gearc .kv{display:flex;align-items:baseline;gap:4px;margin-top:7px;font-size:10px;color:var(--dim);flex-wrap:wrap}
.gearc .kv b{font-size:11.5px;font-weight:900;color:var(--text);font-variant-numeric:tabular-nums;margin-right:6px}
.gearc .kv i{font-style:normal}
.gearc button{width:100%;margin-top:9px;border-radius:9px;padding:8px 0;font-size:11px;font-weight:900;cursor:pointer;
  background:rgba(255,255,255,.05);color:var(--text);border:1px solid var(--line)}
.gearc button.on{background:var(--gold);color:#1a1204;border-color:var(--gold)}

/* 멘토 판정 */
.verd{display:flex;align-items:center;gap:10px;margin:8px 0 2px;padding:10px 11px;background:var(--ink);border:1px solid var(--line);border-radius:12px}
.verd .vt{flex:1;min-width:0;font-size:13.5px;font-weight:900;line-height:1.4}
.verd .vg{flex:0 0 auto;text-align:center;font-size:20px;font-weight:900;color:var(--c);font-variant-numeric:tabular-nums;line-height:1}
.verd .vg i{font-style:normal;font-size:11px;color:var(--dim);font-weight:700}
.verd .vg small{display:block;font-size:8.5px;color:var(--dim);font-weight:600;margin-top:3px}
.mana .sum.good{border-left:2px solid var(--green)}
.mana .sum.plan{border-left:2px solid var(--c)}
.verd .vg{position:relative}
.verd .vg b{font-weight:900;font-size:inherit;color:inherit}
.verd .vg.pop{animation:vgpop .76s cubic-bezier(.2,1.3,.4,1)}
@keyframes vgpop{0%{transform:scale(2.05);opacity:.25}45%{transform:scale(1.18);opacity:1}100%{transform:scale(1)}}
.verd .vgd{position:absolute;left:50%;top:-11px;transform:translateX(-50%);font-size:9.5px;font-weight:900;white-space:nowrap;
  animation:vgd .5s ease .6s both}
.verd .vgd.up{color:var(--upc)}.verd .vgd.dn{color:var(--dnc)}
@keyframes vgd{from{opacity:0;transform:translate(-50%,5px)}to{opacity:1;transform:translate(-50%,0)}}
.vadd{margin-top:8px;width:100%;border-radius:9px;padding:9px 0;font-size:11.5px;font-weight:900;cursor:pointer;
  background:rgba(201,162,74,.15);color:var(--gold-b);border:1px solid rgba(201,162,74,.5)}

.gpsub{font-size:11px;color:var(--dim);line-height:1.6;margin:4px 0 10px}
.gpsub b,.gpfoot b{color:#cfd6de}
.gplist{border-top:1px solid rgba(255,255,255,.24)}
.gpr{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.24);cursor:pointer}
.gpr .ini.guru{width:32px;height:32px;flex:0 0 auto;border-radius:9px;background:var(--c);color:#0d1218;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:900}
.gpr .b{min-width:0;flex:0 0 auto;width:34%}
.gpr .b b{display:block;font-size:12.5px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gpr .b small{display:block;font-size:10px;color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gpr .tks{flex:1;min-width:0;font-size:10px;color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gpr .ret{flex:0 0 auto;font-size:12px;font-weight:900;font-variant-numeric:tabular-nums}
.gpfoot{font-size:10px;color:var(--dim);line-height:1.6;margin:10px 0 0}
.railh .mineb{flex:0 0 auto;font-size:9.5px;font-weight:800;border-radius:99px;
  padding:2px 8px;margin-left:6px;color:var(--gold-b);
  background:rgba(201,162,74,.14);border:1px solid rgba(201,162,74,.5)}
.railh .gobtn{margin-left:auto;font-size:10.5px;font-weight:800;color:var(--gold-b);border:1px solid rgba(201,162,74,.45);border-radius:99px;padding:3px 9px;cursor:pointer}


.ghold.gwho{margin-top:10px}
.ghr{display:flex;align-items:center;gap:8px;padding:6px 0;border-top:1px solid rgba(255,255,255,.24);font-size:12px;cursor:pointer}
.ghr .ini.guru{width:24px;height:24px;flex:0 0 auto;border-radius:7px;background:var(--c);color:#0d1218;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900}
.ghr b{font-weight:900}
.ghr small{color:var(--dim);font-size:10.5px}
.ghr .w{margin-left:auto;font-weight:800;font-variant-numeric:tabular-nums}
.ghold .src{margin-top:7px;font-size:9.5px;color:#6b7885;line-height:1.55}

/* 실적 추이 */
.fund{margin-top:10px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:10px 11px}
.fund .t{font-size:12.5px;font-weight:900}
.fund .t small{font-weight:600;color:var(--dim);font-size:10px;margin-left:5px}
.fund .bars{display:flex;align-items:flex-end;gap:3px;height:74px;margin:9px 0 3px}
.fund .fb{flex:1;display:flex;flex-direction:column;justify-content:flex-end;height:100%;min-width:0}
.fund .fb .cols{display:flex;align-items:flex-end;gap:1px;height:100%}
.fund .fb i{flex:1;border-radius:2px 2px 0 0;display:block}
.fund .fb i.r{background:#4f8fd6}
.fund .fb i.n{background:#3fb37a}
.fund .fb i.n.neg{background:var(--red)}
.fund .fb small{font-size:8.5px;color:var(--dim);text-align:center;margin-top:3px}
.fund .lgd{display:flex;gap:10px;justify-content:center;font-size:10px;color:var(--dim);margin-top:2px}
.fund .lgd i{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:3px;vertical-align:-1px}
.fund .lgd i.r{background:#4f8fd6}.fund .lgd i.n{background:#3fb37a}
.fund .rows{margin-top:8px;display:grid;grid-template-columns:1fr 1fr;gap:4px 8px}
.fund .rows .r{display:flex;align-items:baseline;gap:5px;font-size:11.5px}
.fund .rows .r i{font-style:normal;color:var(--dim);font-size:10.5px}
.fund .rows .r b{margin-left:auto;font-weight:900;font-variant-numeric:tabular-nums}
.fund .src{margin-top:8px;font-size:10px;color:var(--dim);line-height:1.55}
.fund .src b{color:#cfd6de}


.lgrow .b{flex:1;min-width:0}
.lgrow .b b{display:block;font-size:12.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lgrow .b b i{font-style:normal;font-size:9px;background:var(--gold-b);color:#1a1206;border-radius:99px;padding:1px 5px;vertical-align:1px}
.lgrow .b small{display:block;font-size:9.5px;color:var(--dim);margin-top:2px}
.lgrow .ty{border-radius:99px;padding:1px 6px;border:1px solid var(--line)}
.lgrow .ty.ai{color:var(--gold-b);border-color:rgba(201,162,74,.5)}
.lgrow .ty.in{color:#9fb0c0}
.lgrow .ty.my{color:var(--green);border-color:rgba(63,179,122,.5)}
.lgrow .ty.gu{color:#8fb6e6;border-color:rgba(143,182,230,.45)}
.lgrow .val{width:64px;text-align:right;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}
.lgrow .ret{width:58px;text-align:right;font-size:12.5px;font-weight:900;font-variant-numeric:tabular-nums}
.lgrow .ret.up{color:var(--upc)}.lgrow .ret.dn{color:var(--dnc)}
.lgrow .sp{width:54px;display:flex;justify-content:flex-end}
.lgsp{width:54px;height:20px;display:block}
.lgme{position:fixed;left:0;right:0;bottom:0;max-width:430px;margin:0 auto;z-index:6;
  background:linear-gradient(180deg,rgba(10,16,24,.6),var(--ink) 30%);padding:10px 12px calc(12px + env(safe-area-inset-bottom))}
.mebar{background:var(--panel);border:1px solid var(--gold);border-radius:16px;padding:10px 11px;
  box-shadow:0 -4px 20px rgba(0,0,0,.55)}
.mebar .l1{display:flex;align-items:center;gap:9px}
.mebar .rk{font-size:12px;font-weight:900;color:var(--gold-b)}
.mebar .fc{width:34px;height:34px;border-radius:10px;overflow:hidden;flex:0 0 auto;border:1px solid var(--gold);
  display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900}
.mebar .fc img{width:100%;height:100%;object-fit:cover;display:block}
.mebar .b{flex:1;min-width:0}
.mebar .b b{display:block;font-size:13px;font-weight:900}
.mebar .b small{display:flex;align-items:center;gap:4px;font-size:9.5px;color:var(--dim);margin-top:3px}
.mebar .mn{width:18px;height:18px;border-radius:50%;object-fit:cover;border:1px solid var(--line)}
.mebar .ret{font-size:14px;font-weight:900;font-variant-numeric:tabular-nums}
.mebar .ret.up{color:var(--upc)}.mebar .ret.dn{color:var(--dnc)}
.mebar .chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}
.mebar .chips span{font-size:10px;color:var(--dim);border:1px solid var(--line);border-radius:99px;padding:3px 8px}
.mebar .chips b{color:var(--text);font-weight:800}
.lgview{display:flex;gap:6px;margin-top:9px}
.lgview span{flex:1;text-align:center;font-size:12px;font-weight:800;padding:8px 4px;border-radius:11px;cursor:pointer;
  border:1px solid rgba(255,255,255,.24);color:var(--dim)}
.lgview span.on{border-color:var(--gold-b);color:var(--gold-b);background:rgba(201,162,74,.14)}
.lgstat{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}
.lgstat .c{background:var(--panel);border:1px solid rgba(255,255,255,.22);border-radius:13px;padding:9px 8px;text-align:center}
.lgstat small{display:block;font-size:9.5px;color:var(--dim)}
.lgstat b{display:block;font-size:14px;font-weight:900;margin-top:3px;font-variant-numeric:tabular-nums}
.lgstat i{display:block;font-style:normal;font-size:9px;color:var(--dim);margin-top:2px}
.lgidx{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}
.lgidx .i{background:var(--panel2);border:1px solid rgba(255,255,255,.21);border-radius:11px;padding:8px 5px;text-align:center}
.lgidx small{display:block;font-size:9px;color:var(--dim)}
.lgidx b{display:block;font-size:12px;font-weight:900;margin-top:2px;font-variant-numeric:tabular-nums}
.lgidx i{display:block;font-style:normal;font-size:10px;font-weight:800;margin-top:1px;font-variant-numeric:tabular-nums}
.lgidx i.up{color:var(--upc)}.lgidx i.dn{color:var(--dnc)}
.me4{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.me4 .c{background:var(--panel);border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:11px 10px}
.me4 small{display:block;font-size:10px;color:var(--dim)}
.me4 b{display:block;font-size:19px;font-weight:900;margin-top:4px;font-variant-numeric:tabular-nums}
.me4 i{display:block;font-style:normal;font-size:11px;color:var(--dim);margin-top:2px;font-weight:700}
.me4 i.up{color:var(--upc)}.me4 i.dn{color:var(--dnc)}
.lgcard{margin-top:12px;background:var(--panel);border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:12px}
.lgcard .h{display:flex;align-items:baseline;gap:8px}
.lgcard .h b{font-size:13.5px;font-weight:900}
.lgcard .h small{margin-left:auto;font-size:11px;color:var(--dim)}
.mmen{display:flex;gap:8px;margin-top:10px}
.mmen .m{flex:1;display:flex;align-items:center;gap:7px;background:rgba(5,8,13,.5);border:1px solid var(--line);
  border-radius:12px;padding:8px;cursor:pointer;min-width:0}
.mmen .m img{width:30px;height:30px;border-radius:50%;object-fit:cover;flex:0 0 auto;border:1px solid var(--gold)}
.mmen .m b{display:block;font-size:11.5px;font-weight:800}
.mmen .m small{display:block;font-size:9px;color:var(--dim)}
.mrows{margin-top:10px}
.mr{display:flex;align-items:center;gap:7px;padding:7px 0;border-top:1px solid rgba(255,255,255,.24);font-size:11.5px}
.mr:first-child{border-top:0}
.mr i{width:9px;height:9px;border-radius:2px;flex:0 0 auto}
.mr b{font-weight:900}
.mr .nm{color:var(--dim);font-size:10px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mr .p{margin-left:auto;font-weight:800;font-variant-numeric:tabular-nums}
.mr .m{width:58px;text-align:right;color:var(--dim);font-variant-numeric:tabular-nums}
.mr .d{width:54px;text-align:right;font-weight:800;font-variant-numeric:tabular-nums}
.mr .d.up{color:var(--upc)}.mr .d.dn{color:var(--dnc)}
.lgnote{margin-top:12px;font-size:10.5px;color:var(--dim);line-height:1.6;text-align:center}
.lgnote b{color:var(--gold-b)}
#sLG.on{display:flex;flex-direction:column;height:calc(100*var(--vh));min-height:0;overflow:hidden}
#sLG .lgbody{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:120px}
#sLG .tabs{flex:0 0 auto}
.lgme{bottom:calc(62px + env(safe-area-inset-bottom))}

.lgcard .dwrap{position:relative;width:170px;margin:11px auto 0}
.lgcard .donut{width:170px;height:170px;display:block}
.lgcard .dc{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.lgcard .dc small{font-size:10px;color:var(--dim)}
.lgcard .dc b{font-size:17px;font-weight:900;font-variant-numeric:tabular-nums}
.meprof{display:flex;align-items:center;gap:12px;margin-top:12px;background:var(--panel);
  border:1px solid rgba(255,255,255,.22);border-radius:18px;padding:13px 12px}
.meprof .av{width:62px;height:62px;border-radius:50%;overflow:hidden;flex:0 0 auto;border:2px solid var(--gold);
  display:flex;align-items:center;justify-content:center;font-weight:900}
.meprof .av img{width:100%;height:100%;object-fit:cover;display:block}
.meprof .l1{display:flex;align-items:center;gap:8px}
.meprof .rkb{font-size:12px;font-weight:900;color:#1a1206;background:var(--gold-b);border-radius:8px;padding:2px 8px}
.meprof .l1 b{font-size:18px;font-weight:900}
.meprof .tags{display:flex;align-items:center;gap:8px;margin-top:6px}
.meprof .ty{font-size:10.5px;font-weight:800;color:var(--gold-b);border:1px solid var(--gold);border-radius:99px;padding:3px 9px}
.meprof .men{display:flex;gap:3px}
.meprof .men img{width:22px;height:22px;border-radius:50%;object-fit:cover;border:1px solid var(--line)}
.me4{grid-template-columns:repeat(4,1fr)!important;gap:6px!important}
.me4 .c{padding:9px 6px!important;text-align:center}
.me4 b{font-size:14px!important}
.me4 small{font-size:9px}
.me4 i{font-size:10px}
.mix{display:grid;grid-template-columns:132px 1fr;gap:10px;align-items:center;margin-top:10px}
.lgcard .mix .dwrap{width:126px;margin:0}
.lgcard .mix .donut{width:126px;height:126px}
.lgcard .mix .dc b{font-size:13px}
.mix .mrows{margin-top:0}
.mix .mr{gap:5px;font-size:10.5px;padding:5px 0}
.mix .mr .m{width:52px} .mix .mr .d{width:46px}
.perper{display:flex;gap:5px;margin-top:9px;overflow-x:auto;scrollbar-width:none}
.perper::-webkit-scrollbar{display:none}
.perper span{flex:1 0 auto;text-align:center;font-size:11px;font-weight:800;padding:6px 10px;border-radius:9px;cursor:pointer;
  border:1px solid rgba(255,255,255,.23);color:var(--dim)}
.perper span.on{border-color:var(--gold-b);color:var(--gold-b);background:rgba(201,162,74,.14)}
.perper span.off{opacity:.35;cursor:not-allowed}
.perlg{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px;font-size:11px;color:var(--dim)}
.perlg i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.perlg b{font-weight:900;font-variant-numeric:tabular-nums}
.perlg b.up{color:var(--upc)} .perlg b.dn{color:var(--dnc)}
.perst{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}
.perst div{background:rgba(5,8,13,.5);border-radius:11px;padding:8px 5px;text-align:center}
.perst small{display:block;font-size:9px;color:var(--dim)}
.perst b{display:block;font-size:13px;font-weight:900;margin-top:2px;font-variant-numeric:tabular-nums}
.perst b.up{color:var(--upc)} .perst b.dn{color:var(--dnc)}
.pernote{margin-top:9px;font-size:10px;color:var(--dim);line-height:1.6}
.pernote b{color:#ffb4a6}

.lgcard .h{flex-wrap:nowrap}


/* ── 손절·익절 규칙 (2026-08-23) ────────────────────────────── */
.stopcard{margin-top:12px;background:var(--panel);border:1px solid rgba(255,255,255,.23);border-radius:18px;
  padding:13px 12px;box-shadow:0 4px 16px rgba(0,0,0,.45)}
.stopcard .sh b{font-size:14px;font-weight:900}
.stopcard .sh small{display:block;font-size:10.5px;color:var(--dim);margin-top:3px}
.stopcard .sr{margin-top:12px;padding-top:11px;border-top:1px solid rgba(255,255,255,.24)}
.stopcard .sr.off{opacity:.55}
.stopcard .l{display:flex;align-items:center;gap:8px}
.stopcard .l b{font-size:12.5px;font-weight:800}
.stopcard .l .v{font-size:16px;font-weight:900;font-variant-numeric:tabular-nums}
.stopcard .l .v.dn{color:var(--dnc)} .stopcard .l .v.up{color:var(--upc)}
.stopcard .l .tg{margin-left:auto;font-size:10.5px;font-weight:800;color:var(--gold-b);cursor:pointer;
  border:1px solid var(--gold);border-radius:99px;padding:3px 10px}
.stopcard input[type=range]{width:100%;margin-top:8px;accent-color:var(--gold-b)}
.stopcard p{margin:7px 0 0;font-size:11px;color:var(--dim);line-height:1.6}
.stopcard p b{color:var(--text)}
.stopcard .sw{display:flex;gap:9px;align-items:flex-start;margin-top:12px;padding-top:11px;
  border-top:1px solid rgba(255,255,255,.24);font-size:11px;color:#c9d3dc;line-height:1.6}
.stopcard .sw img{width:30px;height:30px;border-radius:50%;object-fit:cover;flex:0 0 auto;border:1.5px solid var(--gold)}
.stopcard .sw b{color:var(--gold-b)}
.stopcard .sw small{display:block;font-size:10px;color:var(--dim);margin-top:3px}







.msum2{margin-top:14px;background:linear-gradient(170deg,rgba(201,162,74,.10),rgba(255,255,255,0) 58%),var(--panel2);
  border:1px solid var(--gold);border-radius:16px;padding:13px 14px;box-shadow:0 4px 14px rgba(0,0,0,.45)}
.msum2 .h{font-size:13px;font-weight:900;color:var(--gold-b)}
.msum2 p{margin:7px 0 0;font-size:12px;line-height:1.65;color:#c9d3dc}
.msum2 .rows{margin-top:11px}
.msum2 .r{display:flex;align-items:baseline;gap:10px;padding:6px 0;border-top:1px solid rgba(255,255,255,.24);font-size:12px}
.msum2 .r:first-child{border-top:0}
.msum2 .r i{flex:0 0 104px;font-style:normal;color:var(--dim);font-size:11px}
.msum2 .r b{font-weight:800;font-variant-numeric:tabular-nums}
.msum2 .r b.dn{color:var(--dnc)}
.msum2 .r b span{color:var(--dim);font-weight:600;font-size:10.5px;margin-left:3px}
.msum2 .note{margin-top:10px;font-size:10.5px;color:var(--dim);line-height:1.55}
.advnote{margin-top:12px;background:rgba(201,162,74,.10);border:1px solid rgba(201,162,74,.45);border-radius:12px;padding:9px 11px;font-size:11px;color:#c9d3dc;line-height:1.6}
.advnote b{color:var(--gold-b)}


.railh small{margin-left:auto;font-size:10.5px;color:var(--c,var(--dim));font-weight:800;opacity:.85}
.rail{display:flex;gap:8px;overflow-x:auto;margin:9px -16px 0;padding:2px 16px 4px;scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}
/* 카드 테두리가 배경에 묻혀 구분이 안 됐다 — 바탕을 한 단계 올리고 테두리에 테마색을 섞는다 (2026-08-23) */

/* 홈 다이어트 1단계 — 내 팀 카드 (2026-08-29). 기존 카드 톤을 그대로 따른다 */
.teamcard{margin-top:10px;padding:14px 14px 12px;border-radius:16px;cursor:pointer;
  background:linear-gradient(170deg,rgba(255,255,255,.05),rgba(255,255,255,0) 58%),var(--panel2);
  border:1px solid var(--line);box-shadow:0 4px 14px rgba(0,0,0,.5)}
.teamcard .tc-h{display:flex;align-items:baseline;gap:8px;font-size:14px}
.teamcard .tc-h b{font-weight:900}
.teamcard .tc-go{margin-left:auto;font-size:11.5px;color:var(--gold-b);font-weight:800;white-space:nowrap}
.teamcard .tc-bar{height:8px;border-radius:5px;overflow:hidden;background:rgba(255,255,255,.10);margin-top:10px}
.teamcard .tc-bar i{display:block;height:100%}
.teamcard .tc-lgd{display:flex;flex-wrap:wrap;gap:10px;margin-top:7px;font-size:10.5px;color:var(--dim)}
.teamcard .tc-lgd i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:4px;vertical-align:-1px}
.teamcard .tc-num{display:flex;gap:18px;margin-top:10px}
.teamcard .tc-num small{display:block;font-size:10.5px;color:var(--dim)}
.teamcard .tc-num b{font-size:17px;font-weight:900;font-variant-numeric:tabular-nums}
.teamcard .tc-num b.up{color:var(--upc)}.teamcard .tc-num b.dn{color:var(--dnc)}
.teamcard .tc-rule{margin-top:9px;padding-top:8px;border-top:1px dashed var(--line);
  font-size:11px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.scard{position:relative;flex:0 0 auto;width:118px;
  background:linear-gradient(170deg,rgba(255,255,255,.05),rgba(255,255,255,0) 58%),var(--panel2);
  border:1px solid color-mix(in srgb,var(--c,#c9a24a) 32%, rgba(255,255,255,.24));
  border-radius:15px;padding:12px 10px 11px;text-align:center;cursor:pointer;
  box-shadow:0 4px 14px rgba(0,0,0,.5);transition:border-color .15s,box-shadow .15s}
.scard.on{border-color:var(--gold-b);background:rgba(201,162,74,.10)}
.scard:active{transform:scale(.985)}
.scard .rk{position:absolute;left:7px;top:7px;width:17px;height:17px;border-radius:50%;
  background:rgba(201,162,74,.9);color:#1a1206;font-size:10px;font-weight:900;
  display:flex;align-items:center;justify-content:center}
.scard .pick{position:absolute;right:7px;top:6px;font-size:13px;color:var(--dim);font-weight:900}
.scard.on .pick{color:var(--gold-b)}
.scard .stile{display:flex;align-items:center;justify-content:center;width:38px;height:38px;margin:2px auto 7px;
  border-radius:11px;background:linear-gradient(150deg,rgba(201,162,74,.22),rgba(5,8,13,.5));
  border:1px solid var(--line);color:var(--gold-b);font-size:11px;font-weight:900;letter-spacing:-.3px}
.scard .tk{font-size:13px;font-weight:900;letter-spacing:.02em}
.scard .nm{font-size:9.5px;color:var(--dim);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.scard .px{font-size:13.5px;font-weight:900;margin-top:6px;font-variant-numeric:tabular-nums}
.scard .dp{font-size:11px;font-weight:800;margin-top:1px;font-variant-numeric:tabular-nums}
.scard .dp.up{color:var(--upc)}.scard .dp.dn{color:var(--dnc)}
.scard .bar{height:3px;border-radius:2px;background:rgba(255,255,255,.16);margin-top:7px;overflow:hidden}
.scard .bar i{display:block;height:100%;border-radius:2px;background:var(--dim)}
.scard .dp .asof{font-style:normal;font-size:9px;color:var(--dim);font-weight:700}
.scard .bar i.up{background:var(--green)}.scard .bar i.dn{background:var(--red)}
.scard .spark{width:100%;height:30px;display:block;margin-top:6px}

.livepx{display:flex;align-items:baseline;gap:8px;margin-top:8px;font-size:12px;color:var(--dim)}
.livepx b{font-size:19px;color:var(--text);font-variant-numeric:tabular-nums}
.livepx span{font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}
.livepx span.up{color:var(--upc)}.livepx span.dn{color:var(--dnc)}
.livepx i{font-style:normal;font-size:10.5px}
.pc.corp .crow{display:flex;align-items:baseline;gap:10px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.24);font-size:12px}
.pc.corp .crow:last-child{border-bottom:0}
.pc.corp .crow i{flex:0 0 74px;font-style:normal;color:var(--dim);font-size:11px}
.pc.corp .crow b{flex:1;min-width:0;font-weight:700;word-break:break-all}
.pc.corp .crow b span{color:var(--dim);font-weight:600;font-size:11px}
.pc.corp .crow a{flex:1;color:var(--gold-b);text-decoration:none;font-weight:700;word-break:break-all}
.pc.chartb .chw{margin-top:8px;height:92px}
.pc.chartb svg{width:100%;height:92px;display:block}
.pc.chartb .chf{display:flex;align-items:center;justify-content:space-between;margin-top:6px;font-size:10.5px;color:var(--dim);font-variant-numeric:tabular-nums}
.pc.chartb .chf b{font-size:14px;font-weight:900}
.pc.chartb .chf b.up{color:var(--upc)}.pc.chartb .chf b.dn{color:var(--dnc)}
.pc.chartb .chn{font-size:10px;color:var(--dim);margin-top:4px;text-align:center;font-variant-numeric:tabular-nums}

.cartbar .cartn{font-size:11px;color:var(--dim);margin-bottom:5px}
.cartbar .cartn b{color:var(--gold-b);font-weight:900;font-size:12.5px}
/* ── 종목 화면 — 테마마다 색, 칩은 네모 타일, 줄마다 넘김 점 (2026-08-23) ── */
#s3s .shopcats{gap:8px;padding-top:4px;padding-bottom:6px}
#s3s .shopcats span{width:78px;height:76px;padding:0;border-radius:16px;flex-direction:column;
  gap:6px;justify-content:center;font-size:11px;line-height:1.25;text-align:center;
  background:linear-gradient(170deg,rgba(255,255,255,.05),rgba(255,255,255,0) 58%),var(--panel2);
  border:1px solid color-mix(in srgb,var(--c,#c9a24a) 30%, rgba(255,255,255,.24));
  color:var(--dim);white-space:normal;box-shadow:0 3px 10px rgba(0,0,0,.4)}
#s3s .shopcats span svg{width:24px;height:24px;color:var(--c,var(--gold-b))}
#s3s .shopcats span.on{background:linear-gradient(160deg,var(--c),rgba(0,0,0,.28)),var(--c);
  border-color:var(--c);color:#0a1018;font-weight:800;box-shadow:0 6px 18px -6px var(--c)}
#s3s .shopcats span.on svg{color:#0a1018}
.railh{border-left:3px solid var(--c,var(--gold));padding-left:9px}
.railh svg{color:var(--c,var(--gold-b))}
.scard.on{border-color:var(--c,var(--gold-b));border-width:1.5px;
  background:linear-gradient(170deg,color-mix(in srgb,var(--c,#c9a24a) 20%,transparent),rgba(255,255,255,0) 70%),var(--panel2);
  box-shadow:0 6px 18px -4px color-mix(in srgb,var(--c,#c9a24a) 45%,transparent)}
.scard.on .pick{color:var(--c,var(--gold-b))}
.scard .stile{background:linear-gradient(150deg,color-mix(in srgb,var(--c,#c9a24a) 30%,transparent),rgba(5,8,13,.5));
  color:var(--c,var(--gold-b))}
.scard .rk{background:var(--c,rgba(201,162,74,.9))}
.raildots{display:flex;justify-content:center;gap:5px;margin-top:8px}
.raildots i{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.18);transition:all .2s}
.raildots i.on{width:16px;border-radius:3px;background:var(--c,var(--gold-b))}
.railhint{text-align:center;font-size:9.5px;color:var(--dim);margin-top:5px}




/* 작은 폰에서도 두 화면이 한 화면에 들어오게 — 글은 그대로, 여백과 띠만 조인다 */
@media (max-height:880px){
  #s1c .band,#s2 .band{height:clamp(96px,calc(16*var(--vh)),190px)}
  .welh{font-size:20px}
  .welbox{padding:13px 13px}
  .welbox .wv{font-size:38px}
  .welbox .wl{margin-top:10px;padding-top:10px}
  .welfeat{padding:10px 6px;margin-top:10px}
  .capcard{padding:11px 12px 12px}
  .caprow .v{font-size:32px}
  .caprow .rnd{width:38px;height:38px;font-size:19px}
}
@media (max-height:660px){
  #s1c .band,#s2 .band{height:86px}
  #s1c .sub,#s2 .sub{display:none}
  .welh{font-size:18px}
  .welbox .wv{font-size:33px}
  .welbox .wl:last-child{display:none}
  .welfeat .wfh{display:none}
  .capk{margin-top:9px}
  .tip2{padding:9px 11px;font-size:11px}
  .tip2 .ti{width:30px;height:30px}
}


/* ── 데스크톱에서 폰 크기로 미리보기 ─────────────────────────────
   큰 창에서도 손님이 실제로 보는 화면(430×932)을 그대로 본다.
   --vh 를 폰 높이 기준으로 바꿔야 띠·인트로 높이가 창 크기를 따라가지 않는다.
   transform 을 주면 시트·하단탭 같은 고정 요소도 이 틀 안에 갇힌다. */
/* 데스크톱 폰 틀 미리보기는 큰 화면 배치(판 1122~)와 부딪혀 껐다 — 필요하면 max-width 조건을 지우면 되살아난다 (2026-09-07) */
@media (min-width:760px) and (min-height:980px) and (max-width:0px){
  html{background:#05080d}
  body{background:#05080d;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px 0}
  #app{--vh:9.32px;width:430px;height:932px;min-height:0;flex:0 0 auto;
    overflow-y:auto;overflow-x:hidden;border-radius:30px;transform:translateZ(0);
    box-shadow:0 26px 80px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.10)}
  #app::-webkit-scrollbar{width:0}
}

/* ── 아바타 고르기 — 8명이 한 화면에 다 들어오게 ──────────────────
   칸 높이를 고정하지 않고 남는 높이를 4줄이 나눠 갖는다.
   어떤 폰에서도 스크롤 없이 여덟이 다 보인다. */
#s1p .band.logo{height:auto;padding:0 0 8px}
#s1p .band.logo img{height:46px;margin:44px auto 0}
/* 아직 안 골랐을 때의 이름 칸 — 자리는 잡되 눈에 덜 띄게 */
.pbig.idle{opacity:.55}
/* 짧은 화면에서는 안내 두 줄을 접어 얼굴에 높이를 준다 */
@media (max-height:760px){ #s1p .phint{display:none} #s1p h1{font-size:17px} #s1p .sub{font-size:10.5px} }
.pbig .fc .ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:26px;background:var(--panel2)}
#s1p h1{font-size:19px;margin-top:2px}
#s1p .sub{font-size:11px;margin-top:3px}
#s1p .pgrid{flex:1;min-height:0;grid-auto-rows:minmax(0,1fr);margin-top:9px;gap:9px}
#s1p .pcard{aspect-ratio:auto;height:50px;min-height:0}   /* 얼굴 띠 동그라미 — 위 규칙과 같은 크기 (2026-09-04) */
#s1p .phint{font-size:9.5px;line-height:1.5;margin-top:6px}
#s1p .grow{display:none}
/* 화면 높이를 딱 맞춰야 4줄이 남는 높이를 나눠 갖는다 (min-height 만으론 계속 늘어난다) */
#s1p.on{height:calc(100*var(--vh));min-height:calc(100*var(--vh));overflow:hidden}
#s1p .rise{min-height:0;overflow:hidden}
#s1p .cta{margin-top:8px}
/* 캐릭터 화면이 한 화면에 안 들어와 '다음' 버튼이 잘렸다 — 표지 사진 높이를 화면에 맞추고 로고·얼굴 간격을 조여 한 화면에 (사장님 2026-09-06) */
#s1p .pcover{min-height:0!important;height:clamp(170px,27vh,280px)}
#s1p .band.logo img{height:40px;margin:22px auto 0}
#s1p .pgrid{padding:8px 8px;gap:6px 6px}
#s1p .pcard{flex:0 0 46px;width:46px;height:46px}
#s1p #pbig{margin-top:8px}
#s1p .cta{position:sticky;bottom:8px;z-index:3;box-shadow:0 10px 26px rgba(0,0,0,.5)}
/* 표지가 낮아지자 글이 얼굴을 가렸다 — 인물은 오른쪽으로, 글은 왼쪽 56% 안에 (사장님 2026-09-06) */
#s1p .pcover img{object-position:80% 0%}   /* 머리가 위에서 잘렸다(마이클) → 맨 위부터 (사장님 2026-09-06) */
#s1p .pcover .cp{right:auto;max-width:56%}
#s1p .pcover strong{font-size:20px;max-width:none}
#s1p .pcover p{font-size:12px;max-width:none;margin-top:6px}
#s1p .pcover .chip{min-height:24px;padding:3px 9px}
/* 흰 글씨가 밝은 사진에 묻혔다 — 글 뒤 왼쪽·아래에 어두운 그늘 + 글자 그림자 (사장님 2026-09-06) */
#s1p .pcover::after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(6,10,16,.86) 0%,rgba(6,10,16,.62) 42%,rgba(6,10,16,.12) 68%,rgba(6,10,16,0) 100%),linear-gradient(0deg,rgba(6,10,16,.72) 0%,rgba(6,10,16,.25) 45%,rgba(6,10,16,0) 70%)}
#s1p .pcover strong,#s1p .pcover p{text-shadow:0 2px 8px rgba(0,0,0,.85),0 0 2px rgba(0,0,0,.9)}


@media (max-height:720px){ #s1p h1.tw{font-size:20px} #s1p .pcover{height:clamp(150px,24vh,220px)} #s1p .pcard{flex:0 0 42px;width:42px;height:42px} }



.s1note{font-size:10.5px;color:var(--dim);line-height:1.55;text-align:center;margin-top:10px}
.zbox{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px;margin-top:12px}.zbox .zk{font-size:13px;font-weight:800;color:var(--gold-b)}.zbox .zd{font-size:11.5px;color:var(--dim);line-height:1.65;margin-top:6px}
#s1b .grow{flex:0 0 auto;height:clamp(10px,3.5vh,34px)}
@media (min-width:960px){
  /* '어떻게 시작할까요?' — 왼쪽 포스터, 오른쪽 고르기 (사장님 2026-09-08: 그림이 화면을 다 먹었다) */
  #s1b.on{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px;align-items:center;min-height:100dvh;padding:20px 24px}
  #s1b>.band{grid-column:1;grid-row:1/span 3;height:min(70dvh,620px);min-height:0;border-radius:18px;overflow:hidden}
  #s1b>.band img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
  #s1b>.stepno{grid-column:2;grid-row:1;align-self:end}
  #s1b>.rise{grid-column:2;grid-row:2;justify-content:center;padding-top:0}
  #s1b>.grow{display:none}
  #s1b h1{font-size:28px}
  #s1b .sub{font-size:14px}
}
@media (min-width:740px) and (max-width:959px){
  #s1b .band{max-height:44dvh}
}

/* 큰 화면에서는 아래가 휑해 보이지 않게 조금씩 키운다 */
@media (min-height:820px){
  #s1b h1{font-size:23px}
  .modewrap{gap:12px}
  .modecard{padding:15px 14px 13px}
  .moic{width:66px;height:66px}
  .moic svg{width:34px;height:34px}
  .modecard .mt{font-size:17px}
  .modecard .mc{font-size:12.5px}
  .modecard .md{font-size:11.5px}
  .mofi{font-size:10px}
  .mocta{height:42px;font-size:14px}
}
/* 작은 화면(아이폰 SE 667px 등)에서도 스크롤이 나지 않게 — 정보는 그대로 두고 여백만 조인다 */
@media (max-height:720px){
  #s1b .band{height:104px}
  #s1b h1{font-size:19px}
  .modecard{padding:11px 12px 10px}
  .mocta{height:35px}
  .modeflow{margin-top:6px}
  #s1b .grow{height:6px}
  #s1b .rise{padding-bottom:calc(10px + env(safe-area-inset-bottom))}
}
.welbox{background:var(--panel);border:1px solid var(--gold);border-radius:18px;padding:22px 18px;text-align:center;margin-top:16px}
.welbox .wk{font-size:12px;color:var(--dim)}
.welbox .wv{font-size:42px;font-weight:900;color:var(--gold-b);margin-top:4px;letter-spacing:-1px}
.welbox .wd{font-size:12px;color:var(--dim);line-height:1.7;margin-top:12px}

/* PLAN 13·14 — 내 모델 카드 · 비교 그래프 */
.mmwrap{display:flex;flex-direction:column;gap:7px}
.mmcard{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer}
.mmcard.on{border-color:var(--gold)}
.mmh{display:flex;justify-content:space-between;align-items:baseline}
.mmh b{font-size:13px}
.mmv{font-size:10px;color:var(--gold-b);font-weight:700}
.mmt{font-size:10.5px;color:var(--dim);margin-top:2px}
.mmr{display:flex;gap:10px;align-items:baseline;margin-top:7px;flex-wrap:wrap}
.mmr span{font-size:12px}
.mmr i{font-style:normal;font-size:9.5px;color:var(--dim);margin-right:3px}
.mmr b{font-size:14px;font-weight:900}
.mmr .up{color:#3fb37a;font-weight:800}.mmr .dn{color:#e06455;font-weight:800}
.mmr .mmd{font-size:11px}
.mmchart{margin-top:9px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:8px 10px}
.mmchart .cap{font-size:11px;color:var(--dim);font-weight:700;margin-bottom:4px}
.mmchart canvas{width:100%;height:110px;display:block}
.mmlgd{display:flex;gap:10px;flex-wrap:wrap;margin-top:5px;font-size:10px;color:var(--dim)}
.mmlgd i{display:inline-block;width:9px;height:3px;border-radius:2px;margin-right:4px;vertical-align:middle}

/* PLAN #1 — 투자 유형: 포스터형 큰 카드 */
.gwrap{position:relative;margin-top:12px}
.grail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:2px 12px 10px;margin:0 -14px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.grail::-webkit-scrollbar{display:none}
.gcard2{flex:0 0 88%;scroll-snap-align:center;background:var(--panel);
  border:0;border-radius:20px;overflow:hidden;cursor:pointer;text-align:left;
  transition:transform .18s, box-shadow .18s}
.gcard2.on{transform:none;box-shadow:none}
/* 상단 = 포스터가 꽉 차는 영역 */
.gposter{position:relative;background:#0a0e14;padding:10px 10px 0}
.gposter img{width:100%;height:auto;display:block;border-radius:12px}
.gposter .veil{display:none}
.gposter .glow{display:none}
.gposter .en{display:none}
.gposter .ico{display:none}
.gcard2 .bar{display:none}
.gposter .ttl{display:none}
.gposter .gt{font-size:24px;font-weight:900;line-height:1.15;text-shadow:0 2px 12px rgba(0,0,0,.75)}
.gposter .gs{font-size:12px;color:var(--gcol,#c9a24a);font-weight:800;margin-top:3px;
  text-shadow:0 2px 10px rgba(0,0,0,.8)}
.gbody{padding:14px 16px 16px}
.ghead{margin-bottom:12px}
.ghead .gt{font-size:21px;font-weight:900;line-height:1.2}
.ghead .gs{font-size:12px;color:var(--gcol,#c9a24a);font-weight:800;margin-top:3px}
.gstat{display:flex;flex-direction:column;gap:6px}
.gstat .r{display:flex;align-items:center;gap:8px;font-size:12px}
.gstat .r i{font-style:normal;width:62px;color:var(--dim)}
.gstat .st{letter-spacing:2.5px;font-size:14px}
.gstat .st.a{color:#e0a34a}.gstat .st.d{color:#5b9bd6}.gstat .st.c{color:#3fb37a}
.gnum{display:flex;gap:8px;margin-top:12px}
.gnum>div{flex:1;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:9px 6px;text-align:center}
.gnum .k{border:0;background:none;padding:0}
.gnum .v{border:0;background:none;padding:0}
.gnum .k{font-size:9.5px;color:var(--dim)}
.gnum .v{font-size:17px;font-weight:900;margin-top:2px}
.gnum .v.up{color:var(--upc)}.gnum .v.dn{color:var(--dnc)}
.gdesc{font-size:13.5px;color:var(--text);line-height:1.85;margin-top:14px}
.gtk{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px}
.gtk span{font-size:10px;color:var(--dim);background:var(--bg);border:1px solid var(--line);
  border-radius:6px;padding:2px 7px}
.gwho{font-size:12px;line-height:1.55;margin-top:11px;padding:9px 11px;
  background:var(--bg);border-left:3px solid var(--gcol,#c9a24a);border-radius:8px}
.gwho b{color:var(--gcol,#c9a24a);font-size:10.5px;display:block;margin-bottom:3px}
.gwarn{font-size:11.5px;line-height:1.55;color:var(--dim);margin-top:8px;padding:8px 11px;
  background:var(--bg);border-left:3px solid #e06455;border-radius:8px}
.gwarn b{color:#e06455;font-size:10.5px;display:block;margin-bottom:3px}
.gdots{display:flex;justify-content:center;gap:5px;margin-top:10px}
.gdots i{width:6px;height:6px;border-radius:50%;background:var(--line);transition:.2s}
.gdots i.on{background:var(--gold);width:18px;border-radius:99px}
.ghint{text-align:center;font-size:10.5px;color:var(--dim);margin-top:6px}

/* PLAN #2 — 유형 결과 · 상위 1·2·3 · 시대 배경 */
.rsel{background:var(--panel);border:1px solid var(--gold);border-radius:14px;padding:12px 14px;margin-top:10px}
.rsel .k{font-size:11px;color:var(--dim)}
.rsel .v{font-size:17px;font-weight:900;margin-top:2px}
.rank3{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.rk{background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden;cursor:pointer}
.rk.on{border-color:var(--gold);box-shadow:0 0 0 2px rgba(201,162,74,.28)}
.rk .rh{display:flex;gap:11px;align-items:center;padding:12px 14px 0}
.rk .medal{font-size:22px;width:30px;text-align:center}
.rk .rh img{width:54px;height:54px;border-radius:12px;object-fit:cover}
.rk .rn{font-size:16px;font-weight:900}
.rk .rt{font-size:11px;color:var(--gold-b);font-weight:700;margin-top:2px}
.rk .rv{margin-left:auto;text-align:right}
.rk .rv b{font-size:19px;font-weight:900;color:#3fb37a;display:block}
.rk .rv small{font-size:10px;color:var(--dim)}
.rkbody{padding:10px 14px 14px}
.rkst{display:flex;gap:10px;font-size:11px;color:var(--dim);margin-bottom:8px}
.rkst b{color:var(--text)}
.pro,.con{font-size:11.5px;line-height:1.6;padding:8px 10px;border-radius:8px;background:var(--bg);margin-top:6px;word-break:keep-all}
.pro b,.con b{display:block}
.pro>b,.con>b{margin-bottom:2px}
.pro{border-left:3px solid #3fb37a}.con{border-left:3px solid #e06455}
.pro>b:first-child{color:#3fb37a;font-size:10.5px}
.con>b:first-child{color:#e06455;font-size:10.5px}
.pro b:not(:first-child),.con b:not(:first-child){display:inline}
.era{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--gold);
  border-radius:12px;padding:13px 15px;margin-top:14px}
.era h4{font-size:13px;font-weight:900;color:var(--gold-b);margin:0 0 7px}
.era p{font-size:12px;line-height:1.7;color:var(--dim);margin:0 0 7px}
.era b{color:var(--text)}
.erabar{display:flex;gap:6px;margin-top:9px}
.erabar div{flex:1;text-align:center;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:7px 4px}
.erabar .k{font-size:9px;color:var(--dim)}
.erabar .v{font-size:14px;font-weight:900;margin-top:2px}
.y22{margin-top:12px}
.y22 h4{font-size:12.5px;font-weight:900;margin:0 0 8px}
.y22 .row{display:flex;align-items:center;gap:8px;font-size:11.5px;padding:4px 0}
.y22 .nm{width:52px;color:var(--dim)}
.y22 .bar{flex:1;height:14px;background:var(--bg);border-radius:4px;position:relative;overflow:hidden}
.y22 .bar i{position:absolute;right:50%;top:0;bottom:0;background:#e06455;border-radius:3px}
.y22 .bar i.pos{right:auto;left:50%;background:#3fb37a}
.y22 .bar em{position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--line)}
.y22 .pc{width:52px;text-align:right;font-weight:800}
.y22 .pc.dn{color:var(--dnc)}.y22 .pc.up{color:var(--upc)}
.y22 .spyrow{border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);margin:4px 0}
.y22 .none{color:var(--dim);font-size:10.5px}
.y22 .note{font-size:11px;color:var(--dim);line-height:1.6;margin-top:9px}

/* PLAN #3·#4 — Tuning: 장비 장착 방식 */
.tunehd{background:var(--panel);border:1px solid var(--gold);border-radius:14px;padding:13px 15px;margin-top:10px}
.tunehd .who{display:flex;gap:11px;align-items:center}
.tunehd img{width:52px;height:52px;border-radius:12px;object-fit:cover}
.tunehd .n{font-size:17px;font-weight:900}
.tunehd .r{font-size:11px;color:var(--gold-b);font-weight:700;margin-top:2px}
.tstat{display:flex;gap:14px;margin-top:11px;font-size:12px}
.tstat .s{display:flex;align-items:center;gap:5px}
.tstat i{font-style:normal;color:var(--dim);font-size:10.5px}
.tstat .st{letter-spacing:2px;font-size:13px}
.tstat .a{color:#e0a34a}.tstat .d{color:#5b9bd6}
.tnum{display:flex;gap:8px;margin-top:10px}
.tnum div{flex:1;background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:7px;text-align:center}
.tnum .k{font-size:9px;color:var(--dim)}
.tnum .v{font-size:15px;font-weight:900;margin-top:2px}
.tlayer{margin-top:16px}
.tlayer .lh{font-size:13px;font-weight:900}
.tlayer .ls{font-size:11px;color:var(--dim);line-height:1.55;margin-top:3px}
.titem{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-top:9px;cursor:pointer}
.titem.on{border-color:var(--gold);box-shadow:0 0 0 2px rgba(201,162,74,.25)}
.titem .ih{display:flex;align-items:center;gap:9px}
.titem .ih img{width:34px;height:34px;border-radius:50%;object-fit:cover}
.titem .it{font-size:13px;font-weight:900}
.titem .ix{font-size:11px;color:var(--dim);margin-top:2px;line-height:1.5}
.titem .btn{margin-left:auto;font-size:11px;font-weight:900;color:var(--gold-b);
  border:1px solid var(--gold);border-radius:99px;padding:4px 12px;white-space:nowrap}
.titem.on .btn{background:var(--gold);color:#1a1206}
.delta{display:flex;gap:8px;margin-top:10px}
.delta div{flex:1;background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:7px 8px}
.delta .k{font-size:9px;color:var(--dim)}
.delta .v{font-size:12px;font-weight:800;margin-top:2px}
.delta .v .ar{font-size:13px}
.delta .good{color:#3fb37a}.delta .bad{color:#e06455}
.tbadge{display:inline-block;font-size:9.5px;font-weight:900;border-radius:99px;padding:2px 8px;margin-left:6px}
.tbadge.cheap{background:rgba(63,179,122,.18);color:#3fb37a}
.tbadge.free{background:rgba(201,162,74,.2);color:var(--gold-b)}
.twarn{font-size:11px;line-height:1.55;color:var(--dim);margin-top:10px;padding:8px 11px;
  background:var(--bg);border-left:3px solid #e06455;border-radius:8px}
.twarn b{color:#e06455}

/* PLAN #2 개편 — 카드가 펼쳐지는 구조 */
.pickcard{max-width:300px;margin:14px auto 0;border-radius:18px;overflow:hidden;
  border:2px solid var(--pc,#c9a24a);box-shadow:0 10px 34px rgba(0,0,0,.55);
  animation:dealIn .5s cubic-bezier(.2,.9,.3,1) both}
.pickcard img{width:100%;display:block}
@keyframes dealIn{from{opacity:0;transform:translateY(26px) scale(.9) rotate(-3deg)}
  to{opacity:1;transform:none}}
.stage{margin-top:22px}
.stage .sh{font-size:15px;font-weight:900;text-align:center}
.stage .ss{font-size:12px;color:var(--dim);text-align:center;margin-top:4px;line-height:1.6}
/* 카드 3장 한 줄 — 포커패처럼 */
.hand{display:flex;gap:8px;justify-content:center;align-items:flex-start;margin-top:14px}
.hand .h{flex:1 1 0;min-width:0;cursor:pointer;
  animation:dealIn .5s cubic-bezier(.2,.9,.3,1) both}
.hand .h:nth-child(1){animation-delay:.05s}
.hand .h:nth-child(2){animation-delay:.18s}
.hand .h:nth-child(3){animation-delay:.31s}
.hand .card{border-radius:13px;overflow:hidden;border:2px solid var(--line);
  transition:transform .18s,border-color .18s,box-shadow .18s;position:relative}
.hand .h.on .card{border-color:var(--hc);transform:translateY(-6px);
  box-shadow:0 12px 28px rgba(0,0,0,.55),0 0 0 2px var(--hg)}
.hand .card img{width:100%;display:block}
.hand .medal{position:absolute;top:5px;left:5px;font-size:17px;
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.9))}
.hand .rt{position:absolute;left:0;right:0;bottom:0;padding:16px 5px 5px;
  background:linear-gradient(180deg,transparent,rgba(6,9,14,.94));text-align:center}
.hand .rt b{display:block;font-size:15px;font-weight:900;color:#3fb37a;line-height:1.1}
.hand .rt small{font-size:9px;color:#d8dee6}
.hand .nm{text-align:center;font-size:11.5px;font-weight:800;margin-top:6px}
.hand .why{display:block;margin:5px auto 0;font-size:10px;font-weight:900;
  color:var(--hc);border:1px solid var(--hc);border-radius:99px;padding:2px 9px;background:none}
/* 왜? 펼침 */
.whybox2{margin-top:12px;background:var(--panel);border:1px solid var(--hc);
  border-radius:14px;padding:13px 15px;animation:dealIn .3s both}
.whybox2 .wh{display:flex;align-items:center;gap:9px}
.whybox2 .wh img{width:38px;height:38px;border-radius:9px;object-fit:cover}
.whybox2 .wn{font-size:15px;font-weight:900}
.whybox2 .wr{font-size:10.5px;color:var(--hc);font-weight:700;margin-top:1px}
.whybox2 .wv{margin-left:auto;text-align:right}
.whybox2 .wv b{display:block;font-size:18px;font-weight:900;color:#3fb37a}
.whybox2 .wv small{font-size:9.5px;color:var(--dim)}
.whyrow{display:flex;gap:6px;margin-top:10px}
.whyrow div{flex:1;background:var(--bg);border:1px solid var(--line);border-radius:9px;
  padding:6px 4px;text-align:center}
.whyrow .k{font-size:8.5px;color:var(--dim)}
.whyrow .v{font-size:13px;font-weight:900;margin-top:1px}
.wtk{display:flex;gap:4px;flex-wrap:wrap;margin-top:9px}
.wtk span{font-size:10px;color:var(--dim);background:var(--bg);border:1px solid var(--line);
  border-radius:6px;padding:2px 7px}
.wgood,.wbad{font-size:11.5px;line-height:1.55;margin-top:7px;padding:8px 10px;
  border-radius:8px;background:var(--bg)}
.wgood{border-left:3px solid #3fb37a}.wbad{border-left:3px solid #e06455}
.wgood>b{color:#3fb37a;font-size:10.5px;display:block;margin-bottom:2px}
.wbad>b{color:#e06455;font-size:10.5px;display:block;margin-bottom:2px}
.askline{text-align:center;font-size:15px;font-weight:900;margin-top:22px;line-height:1.5}
.askline small{display:block;font-size:11.5px;color:var(--dim);font-weight:400;margin-top:5px}

/* Tuning 도입부 — 최종 선택 카드 + 약점 지적 */
.finalwrap{text-align:center;margin-top:6px}
.finalwrap .fl{font-size:11.5px;color:var(--gold-b);font-weight:800;letter-spacing:.06em}
.finalcard{max-width:262px;margin:10px auto 0;border-radius:16px;overflow:hidden;
  border:2px solid var(--fc,#c9a24a);box-shadow:0 12px 34px rgba(0,0,0,.6);
  animation:dealIn .5s cubic-bezier(.2,.9,.3,1) both}
.finalcard img{width:100%;display:block}
.blade{margin-top:16px;background:var(--panel);border:1px solid var(--line);
  border-left:3px solid var(--fc,#c9a24a);border-radius:12px;padding:13px 15px}
.blade .bt{font-size:13.5px;font-weight:900;line-height:1.5}
.blade .bd{font-size:12px;color:var(--dim);line-height:1.7;margin-top:7px}
.blade b{color:var(--text)}
.gauge{display:flex;gap:10px;margin-top:12px}
.gauge div{flex:1;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:9px}
.gauge .k{font-size:9.5px;color:var(--dim)}
.gauge .v{font-size:14px;letter-spacing:2px;margin-top:3px}
.gauge .a{color:#e0a34a}.gauge .d{color:#5b9bd6}
.gauge .lack{color:#e06455;font-size:9.5px;font-weight:900;margin-top:3px}

/* 유형별 비교 그래프 */
.cmpwrap{margin-top:14px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px 13px}
.cmpwrap .ct{font-size:12.5px;font-weight:900}
.cmpwrap .cx{font-size:10.5px;color:var(--dim);margin-top:3px}
.cmpwrap canvas{width:100%;height:190px;display:block;margin-top:8px}
.cmplgd{display:flex;gap:9px;flex-wrap:wrap;margin-top:7px;font-size:10px;color:var(--dim)}
.cmplgd span{display:inline-flex;align-items:center;gap:4px}
.cmplgd i{width:10px;height:3px;border-radius:2px}
.cmplgd b{color:var(--text);font-weight:700}

/* 빨간 색연필 밑줄 — 중요한 대목 강조 */
.pen{position:relative;display:inline;font-weight:800;color:var(--text);
  background-image:linear-gradient(90deg,
    rgba(232,52,42,.15) 0%, rgba(232,52,42,1) 4%, rgba(232,52,42,.8) 28%,
    rgba(232,52,42,1) 55%, rgba(232,52,42,.85) 80%, rgba(232,52,42,.2) 100%);
  background-repeat:no-repeat;
  background-size:100% 3.5px;
  background-position:0 calc(100% + 4px);
  padding-bottom:5px}
.pen.thick{background-size:100% 5px;background-position:0 calc(100% + 5px);padding-bottom:6px}
/* 별표 — 색연필로 그린 듯 */
.star{color:#e23c32;font-size:.95em;margin-right:3px;
  display:inline-block;transform:rotate(-12deg)}
/* 동그라미 강조 */
.circ{position:relative;display:inline-block;padding:1px 6px;font-weight:900;color:var(--text)}
.circ:after{content:'';position:absolute;inset:-4px -2px;
  border:2px solid rgba(226,60,50,.8);
  border-radius:52% 48% 45% 55%/58% 42% 58% 42%;
  transform:rotate(-1.5deg);pointer-events:none}

.homebtn{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:800;
  color:var(--dim);border:1px solid var(--line);border-radius:99px;padding:3px 9px;
  cursor:pointer;white-space:nowrap;background:var(--panel)}
.homebtn:active{border-color:var(--gold);color:var(--gold-b)}
/* ---- 첫 방문 인트로 (PLAN 24) : 사진 전면 + 아래로 어두워지는 판 ---- */
.ic-scene{padding:0;position:relative;overflow:hidden;background:#05080d}
.ibg{position:absolute;inset:0;z-index:0;cursor:pointer}
.ibg img{width:100%;height:100%;object-fit:cover;object-position:center top;animation:iZoom 16s ease-out both}
@keyframes iZoom{from{transform:scale(1.09)}to{transform:scale(1)}}
.ibg:after{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(5,8,13,.62) 0%,rgba(5,8,13,.12) 20%,rgba(5,8,13,.68) 46%,rgba(5,8,13,.96) 66%,#05080d 76%)}
.iwrap{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;pointer-events:none;overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:calc(16px + env(safe-area-inset-top)) 20px calc(22px + env(safe-area-inset-bottom))}
.itop{display:flex;align-items:center;gap:10px;pointer-events:auto}
.idots{display:flex;gap:5px}
.idots i{width:16px;height:3px;border-radius:2px;background:rgba(255,255,255,.22);transition:.35s;cursor:pointer}
.idots i.on{background:var(--gold-b);width:26px}
.iskip{margin-left:auto;background:transparent;border:0;color:rgba(255,255,255,.45);font-size:12px;font-family:var(--sans);cursor:pointer;padding:4px 0}
.ibody{margin-top:auto;position:relative;pointer-events:auto;animation:iUp .55s cubic-bezier(.2,.7,.3,1) both}
@keyframes iUp{from{transform:translateY(26px);opacity:0}to{transform:none;opacity:1}}
.itex{position:absolute;left:-20px;right:-20px;top:-40px;height:300px;z-index:-1;pointer-events:none;
  background:url(img/in_chart.jpg) center 42%/cover;opacity:.22;mix-blend-mode:screen;
  -webkit-mask-image:radial-gradient(75% 60% at 40% 55%,#000 0%,rgba(0,0,0,.55) 45%,transparent 100%);
  mask-image:radial-gradient(75% 60% at 40% 55%,#000 0%,rgba(0,0,0,.55) 45%,transparent 100%)}
.ieye{font-size:11px;letter-spacing:.18em;color:var(--gold-b);font-weight:800;margin-bottom:11px}
.ih{font-size:25px;line-height:1.42;font-weight:900;letter-spacing:-.025em;text-shadow:0 2px 26px rgba(0,0,0,.75)}
.ih em{font-style:normal;color:var(--gold-b)}
.ibig{margin:18px 0 3px;font-size:clamp(38px,11.5vw,50px);font-weight:900;letter-spacing:-.035em;line-height:1;
  background:linear-gradient(175deg,#fff 8%,var(--gold-b) 92%);-webkit-background-clip:text;background-clip:text;color:transparent}
.iunit{font-size:12.5px;color:var(--dim)}
.ip{margin-top:14px;font-size:13.5px;line-height:1.8;color:#c1ccd6}
.ip b{color:#fff;font-weight:800}
.irow{display:flex;align-items:baseline;gap:10px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.24)}
.irow:last-of-type{border-bottom:0}
.irk{font-size:12.5px;color:#a5b3bf;flex:1;line-height:1.5}
.irv{font-size:19px;font-weight:900;color:#fff;letter-spacing:-.025em;white-space:nowrap}
.irv small{font-size:10.5px;color:#7d8b96;font-weight:600;margin-left:4px}
.inote{margin-top:16px;font-size:13px;line-height:1.75;color:var(--gold-b);border-left:2px solid var(--gold);padding-left:13px}
.isrc{margin-top:14px;font-size:10px;color:#5c6b78;line-height:1.65}
.ibtns{margin-top:22px;display:flex;flex-direction:column;gap:9px}
@media (min-width:960px){ #s1i .ibtns{align-items:flex-start} #s1i .ibtn{width:50%;min-width:280px;max-width:520px} }   /* PC: 다음 버튼은 왼쪽 글 아래, 절반 폭 (사장님 2026-09-08) */
.ibtn{border:none;border-radius:13px;padding:15px;font-size:15px;font-weight:900;font-family:var(--sans);cursor:pointer;
  background:linear-gradient(180deg,var(--gold-b),var(--gold));color:#1a1204}
.ibtn.g{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.24);color:#b9c5d0;font-weight:700}
.iecho{margin-top:14px;font-size:13px;line-height:1.75;color:#c1ccd6;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.21);border-radius:12px;padding:13px 14px;animation:iUp .45s ease both}
.iecho b{color:var(--gold-b)}
/* 3장 캐릭터 띠 — 손으로 밀지 않는다(슬라이드 넘김과 충돌하므로 자동으로 흐른다) */
.icrail{margin:16px -20px 2px;overflow:hidden;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent)}
/* gap 이 아니라 margin 을 쓴다 — 20칸 폭이 정확히 10칸의 2배라야 -50% 에서 이어진다 */
.icrow{display:flex;width:max-content;animation:icDrift 36s linear infinite}
@keyframes icDrift{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.icchip{width:116px;margin-right:12px;flex:none}
.icchip i{display:block;border-radius:10px;overflow:hidden;border:1px solid var(--cc);
  box-shadow:0 0 16px -5px var(--cc),0 6px 16px rgba(0,0,0,.6)}
.icchip img{width:100%;display:block}
/* 출처 접기 — 정직함은 남기고 화면은 가볍게 */
.isrcwrap{margin-top:14px}
.isrcbtn{display:inline-block;font-size:10.5px;color:#6d7c89;border:1px solid rgba(255,255,255,.22);
  border-radius:99px;padding:3px 10px;cursor:pointer}
.isrcwrap .isrc{display:none;margin-top:8px}
.isrcwrap.open .isrc{display:block}
.isrcwrap.open .isrcbtn{color:var(--gold-b);border-color:var(--gold)}
.ibg.dim img{filter:brightness(.56) saturate(.9)}
.ibody.lg .ih{font-size:30px;line-height:1.4}
.ibody.lg .ip{font-size:16px;line-height:1.85;margin-top:18px}
.ibody.lg .ieye{font-size:12px}
.ibody.tight .irow{padding:8px 0}
.ibody.tight .icrail{margin-top:12px}
.ibody.tight .ip{margin-top:11px;line-height:1.72}
.ibody.tight .isrcwrap{margin-top:10px}
/* 3·4 화면 상단은 황소 그림 없이 로고만 (2026-08-20 사장님 지시) */
.band.logo{height:auto;padding:10px 0 14px;background:#05080d;animation:none}
.band.logo img{height:46px;width:auto;max-width:72%;margin:34px auto 0;object-fit:contain;display:block}
.band.logo .fade{display:none}
/* 3번: 카드 자체가 폴더다. 누르면 그 폴더 아래로 열리고, 다시 누르면 닫힌다 (2026-08-20) */
.grail{align-items:flex-start}                 /* 카드마다 높이가 다르게 */
.gcard2{overflow:visible;position:relative;background:none;transition:none}
/* 상세 설명 태그 — 카드 아래에 달린 손잡이. 누르면 그 아래로 열린다 */
.ftab{margin:-1px 0 0 18px;width:52%;min-height:28px;padding:0 12px;
  background:var(--panel2);border:1px solid var(--line);border-top:0;
  border-radius:0 0 11px 11px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:8px;
  font-size:11px;font-weight:800;color:var(--dim);letter-spacing:.02em;
  transition:background .2s, border-color .2s, color .2s}
.ftab i{display:block;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;
  border-top:7px solid var(--gcol,#c9a24a);
  transition:transform .3s cubic-bezier(.2,.7,.3,1), border-top-color .2s}
.gcard2.on .ftab{background:var(--gcol,#c9a24a);border-color:var(--gcol,#c9a24a);color:#12161c}
.gcard2.on .ftab i{border-top-color:#12161c;transform:rotate(180deg)}
/* 폴더 몸통 */
.gposter{background:var(--panel2);border:1px solid var(--line);border-radius:14px;
  padding:10px;transition:border-color .2s, box-shadow .2s}
.gcard2.on .gposter{border-color:rgba(255,255,255,.23);box-shadow:0 10px 26px rgba(0,0,0,.45)}
/* 열리는 서랍 */
.fdrawer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .38s cubic-bezier(.2,.7,.3,1)}
.gcard2.on .fdrawer{grid-template-rows:1fr}
.fdrawer>div{overflow:hidden;min-height:0}
.fin{padding-top:10px}
.fclose{display:block;width:100%;margin-top:10px;background:none;border:1px solid var(--line);
  color:var(--dim);border-radius:10px;padding:9px;font-size:11.5px;font-family:var(--sans);cursor:pointer}
.gopenhint{text-align:center;font-size:11px;color:#6d7c89;margin-top:8px}
.gtkh{font-size:11px;color:var(--dim);font-weight:800;margin-top:14px}
.gtklist{margin-top:7px;display:flex;flex-direction:column;gap:1px;
  border:1px solid var(--line);border-radius:12px;overflow:hidden}
.tkrow{display:flex;gap:10px;align-items:flex-start;padding:9px 11px;background:var(--bg)}
.tkrow b{flex:0 0 52px;font-size:11.5px;font-weight:900;color:var(--gcol,#c9a24a);letter-spacing:.01em}
.tkrow span{font-size:11.5px;line-height:1.55;color:#b7c3ce}
.tkrow span b{display:inline;flex:none;color:var(--text);font-size:11.5px}
.gbody{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px}
/* 카드 맨 위 이름표 — 캐릭터 이름보다 '투자 방법'이 먼저 보여야 한다 */
.gname{display:block;text-align:center;background:var(--gcol,#c9a24a);color:#12161c;
  border-radius:11px;padding:10px 12px;font-size:21px;font-weight:900;letter-spacing:-.03em}
.gsub{text-align:center;font-size:12px;font-weight:800;color:var(--gcol,#c9a24a);
  margin:7px 0 10px;letter-spacing:.01em}
.gsub i{font-style:normal;color:var(--dim);font-weight:700}
/* 인트로 — 후회로 여는 첫 장의 따옴표 문장 */
/* Intro slide 2 — the three names people buy, with their real move today (2026-08-23) */
.itick{display:flex;gap:7px;margin-top:13px}
.itick .t{flex:1;min-width:0;background:rgba(10,16,24,.55);border:1px solid rgba(255,255,255,.22);
  border-radius:12px;padding:9px 6px;text-align:center}
.itick .nm{font-size:11.5px;font-weight:800;color:#eef1f4;white-space:nowrap}
.itick .tk{font-size:9px;color:#93a3ae;letter-spacing:.05em;margin-top:1px}
.itick .pc{font-size:15px;font-weight:900;margin-top:5px;font-variant-numeric:tabular-nums}
.itick .pc.up{color:var(--upc)}
.itick .pc.dn{color:var(--dnc)}
.itick .px{font-size:9.5px;color:#93a3ae;margin-top:1px;font-variant-numeric:tabular-nums}
.itickcap{font-size:10.5px;color:#93a3ae;margin-top:7px;text-align:center;line-height:1.5}
.itickcap b{color:#e8c777}
.iquote{font-size:16px;line-height:1.6;color:#e6d6ae;font-style:italic;
  margin:14px 0 2px;padding-left:12px;border-left:2px solid var(--gold)}
/* 오늘 등수 (워커에서 실시간) */
/* 인트로 다리 문장 — 무엇을 왜 보는지 (2026-09-02) */
.ilead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;
  font-size:11px;font-weight:800;color:#aebdcc;letter-spacing:-.2px}
.ilead b{flex:0 0 auto;color:#e8c777;font-size:10.5px;font-weight:900;
  border:1px solid rgba(232,199,119,.5);border-radius:99px;padding:3px 8px}
.ilive i{font-style:normal}
/* 캐릭터 화면 지급 완료 띠 — 받은 돈이 화면에서 사라지지 않게 (2026-09-02) */
.paidband{display:flex;align-items:center;gap:9px;margin:0 0 11px;padding:9px 12px;border-radius:12px;
  background:rgba(232,199,119,.1);border:1px solid rgba(232,199,119,.45)}
.paidband .pk{font-size:11px;font-weight:900;color:#57d090;white-space:nowrap}
.paidband b{font-size:17px;font-weight:950;color:#e8c777;font-variant-numeric:tabular-nums}
.paidband .ps{margin-left:auto;font-size:9.5px;font-weight:800;color:#8b9cb0;
  text-align:right;word-break:keep-all}
/* 담기 버튼이 흐린 이유 — 버튼 바로 아래 (2026-09-02) */
#sA1 .ctawhy{margin:9px 20px 0;text-align:center;font-size:11px;font-weight:800;color:#e8c777}
#sA1 .qtitle .wk{display:block;font-size:19px;line-height:1.32}   /* 지난 한 주 제목은 두 줄에 맞게 한 단계 작게 */
#sA1 .askin.b-b01 .bg,#sA1 .askin.b-b02 .bg,#sA1 .askin.b-b03 .bg,#sA1 .askin.b-b04 .bg,#sA1 .askin.b-b05 .bg{filter:brightness(1.45) saturate(1.1)}   /* 2학년 신문 배경이 보이게 밝힘 (사장님 2026-09-05) */
#sA1 .ac2chk{padding:4px 2px 2px}
#sA1 .ac2chk h4{margin:0;font-size:18px;font-weight:1000;color:#fff0b8}
#sA1 .ac2chk .s{margin-top:3px;font-size:12px;color:#9aa9b4;font-weight:800}
#sA1 .ac2chk .chart2 svg{display:block;width:100%!important;height:120px!important;max-width:none}
#sA1 .ac2chk .chart2{margin-top:8px;border-radius:12px;background:rgba(5,9,15,.55);border:1px solid rgba(255,255,255,.1);padding:6px 4px 2px}
#sA1 .ac2chk .per{display:flex;flex-direction:column;gap:3px;margin-top:8px;font-size:12.5px;font-weight:900}
#sA1 .ac2chk .dn{color:var(--dnc)}#sA1 .ac2chk .up{color:var(--upc)}
#sA1 .ac2chk .if{margin-top:12px;font-size:14px;font-weight:1000;color:#f5f9ff}
#sA1 .ac2chk table{width:100%;margin-top:6px;border-collapse:collapse;font-variant-numeric:tabular-nums}
#sA1 .ac2chk th{font-size:11px;color:#9aa9b4;font-weight:900;text-align:right;padding:4px 6px;border-bottom:1px solid rgba(255,255,255,.12)}
#sA1 .ac2chk th:first-child,#sA1 .ac2chk td:first-child{text-align:left}
#sA1 .ac2chk td{padding:7px 6px;text-align:right;font-size:14px;font-weight:900;border-bottom:1px solid rgba(255,255,255,.07)}
#sA1 .ac2chk tr.all td{color:#9aa9b4;font-size:12.5px}
#sA1 .ac2chk tr.on td{font-size:18px;font-weight:1000;background:rgba(255,224,138,.10)}
#sA1 .ac2chk tr.on td:first-child{color:#ffe08a}
#sA1 .ac2chk .vd{margin-top:12px;font-size:14.5px;font-weight:1000;color:#f5f9ff;text-align:center}
#sA1 .ac2chk .cho{margin-top:2px;font-size:12.5px;color:#fff0b8;font-weight:900;text-align:center}
#sA1 .ac2chk .lb{display:flex;gap:8px;margin-top:8px}
#sA1 .ac2chk .lb button{flex:1;padding:10px 0;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(10,16,24,.75);color:#e3edf4;font-weight:1000;font-size:14px}
#sA1 .ac2chk .lb button.on{border-color:#e8c777;background:rgba(232,199,119,.22);color:#fff0b8}
#sA1 .ac2chk input[type=range]{width:100%;margin-top:10px}
#sA1 .ac2chk .why{margin-top:10px;border-left:3px solid rgba(232,199,119,.6);padding:2px 0 2px 10px}
#sA1 .ac2chk .why b{display:block;font-size:12px;color:#fff0b8;font-weight:1000}
#sA1 .ac2chk .why p{margin:4px 0 0;font-size:13.5px;line-height:1.45;color:#e3edf4;font-weight:800}
#sA1 .ac2chk .four{margin-top:6px;font-size:13px;line-height:1.4;color:#9db0c4;font-weight:800;text-align:center}
#sA1 .ac2chk .yours{margin-top:10px;text-align:right;color:#fff0b8;font-size:14px;font-weight:1000}
#sA1 .ac2chk.rise h4{color:#5bca8f}
#sA1 .qtitle .g{font-size:1.1em}
#sA1 .r .dnl{color:#ff8a80;font-weight:1000}#sA1 .r .dnl b{color:#ff8a80}
#sA1 .r .upl{color:#5bca8f;font-weight:1000}#sA1 .r .upl b{color:#5bca8f}
#sA1 .r.note{font-size:12.5px;color:#9db0c4;font-weight:800;margin-top:6px}
#sA1 .askin .qrow .qtitle,#sA1 .askin .speech{text-align:left}   /* 4학년 등 스킨이 가운데 정렬을 물려받던 것 — 엔딩 통일 (사장님 2026-09-05) */
#sA1 .meta .next b{display:inline!important}   /* '다음: 5학년 시작' 두 줄 방지 */
#sA1 .g3res .b.new.pop{animation:g3pop .75s cubic-bezier(.2,.9,.3,1.2)}
#sA1 .g3res .b.new.pop .v{animation:g3glow .9s ease}
@keyframes g3pop{0%{transform:scale(1)}35%{transform:scale(1.08)}100%{transform:scale(1)}}
@keyframes g3glow{0%{color:#fff;text-shadow:0 0 18px rgba(255,224,138,.9)}100%{text-shadow:none}}
#sA1 .g7t h4{margin:0;font-size:17px;line-height:1.3;font-weight:1000;color:#fff0b8;word-break:keep-all;text-wrap:balance}
#sA1 .g7t .s{margin-top:3px;font-size:12px;color:#9aa9b4;font-weight:800}
#sA1 .g7t .gT{margin-top:12px;font-size:14px;font-weight:1000;color:#f5f9ff}
#sA1 .g7t .chart2{margin-top:6px;border-radius:12px;background:rgba(5,9,15,.55);border:1px solid rgba(255,255,255,.1);padding:6px 4px 2px}
#sA1 .g7t .chart2 svg{display:block;width:100%!important;height:130px!important;max-width:none}
#sA1 .g7t .gL{display:flex;gap:14px;margin-top:6px;font-size:11.5px;font-weight:900;color:#9aa9b4}
#sA1 .g7t .gL .p::before{content:'';display:inline-block;width:14px;border-top:2px dashed #9aa9b4;vertical-align:middle;margin-right:5px}
#sA1 .g7t .gL .v{color:#ffe08a}#sA1 .g7t .gL .v::before{content:'';display:inline-block;width:14px;border-top:2.4px solid #ffe08a;vertical-align:middle;margin-right:5px}
#sA1 .g7t .gR{margin-top:4px;font-size:14px;font-weight:1000;color:#ffe08a;font-variant-numeric:tabular-nums}
#sA1 .g7t .rows{margin-top:14px;display:flex;flex-direction:column;gap:8px}
#sA1 .g7t .tr{display:grid;grid-template-columns:20px 112px 1fr auto;gap:6px;align-items:center;font-size:12.5px;font-weight:900;color:#c9d4df}
#sA1 .g7t .tr .rk{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:1000;background:rgba(255,255,255,.1);color:#c9d4df}
#sA1 .g7t .tr.best .rk{background:#e8c777;color:#1a1206}
#sA1 .g7t .tr .bar{height:14px;border-radius:7px;background:rgba(255,255,255,.08);overflow:hidden}
#sA1 .g7t .tr .bar i{display:block;height:100%;border-radius:7px;background:linear-gradient(90deg,#6fa7e6,#3d7fd6)}
#sA1 .g7t .tr b{font-variant-numeric:tabular-nums;color:#e3edf4;font-size:13px}
#sA1 .g7t .tr.me .lb,#sA1 .g7t .tr.me b{color:#ffe08a;font-weight:1000}
#sA1 .g7t .tr.me .bar i{background:linear-gradient(90deg,#f2d489,#dfb75f)}
#sA1 .g7t .tr.best .bar i{box-shadow:0 0 12px rgba(255,224,138,.5)}
#sA1 .g7t .vd{margin-top:12px;font-size:14px;font-weight:1000;color:#f5f9ff;line-height:1.4;word-break:keep-all;text-wrap:pretty}
#sA1 .g7t .vd2{word-break:keep-all;text-wrap:pretty}
#sA1 .g7t .vd2{margin-top:6px;font-size:13.5px;font-weight:900;color:#ffe08a;line-height:1.4}
#sA1 .g7n .two{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
#sA1 .g7n .two>div{border-radius:12px;padding:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);text-align:center}
#sA1 .g7n .two span{display:block;font-size:11.5px;font-weight:900;color:#9aa9b4;min-height:2.6em;line-height:1.3}
#sA1 .g7n .two b{display:block;margin-top:4px;font-size:18px;font-weight:1000;font-variant-numeric:tabular-nums;color:#e3edf4}
#sA1 .g7n .two .a{border:2px solid #ffe08a;background:rgba(232,199,119,.16);box-shadow:0 0 0 1px rgba(255,224,138,.35),0 0 16px rgba(255,224,138,.35)}#sA1 .g7n .two .a b{color:#ffe08a}#sA1 .g7n .two .a span{color:#fff0b8}
#sA1 .g7n .put{margin-top:8px;text-align:center;font-size:12px;font-weight:900;color:#9aa9b4}
#sA1 .g8car .sub.apr{margin-top:2px;font-size:12px;color:#9aa9b4;font-weight:800}
#sA1 .g8car .h3q{margin-top:14px;font-size:15px;font-weight:1000;color:#fff0b8}
#sA1 .g8car .eq{display:grid;grid-template-columns:1fr auto 1fr auto 1.2fr;gap:6px;align-items:center;margin-top:12px}
#sA1 .g8car .eq>div{border-radius:12px;padding:8px 6px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);text-align:center}
#sA1 .g8car .eq span{display:block;font-size:10.5px;color:#9aa9b4;font-weight:900}
#sA1 .g8car .eq b{display:block;margin-top:2px;font-size:16px;font-weight:1000;color:#e3edf4;font-variant-numeric:tabular-nums}
#sA1 .g8car .eq b.up{color:var(--upc)}
#sA1 .g8car .eq i{font-style:normal;font-size:18px;font-weight:1000;color:#9aa9b4}
#sA1 .g8car .eq .net{border-color:#e8c777;background:rgba(232,199,119,.14)}#sA1 .g8car .eq .net b{color:#ffe08a;font-size:18px}
#sA1 .g8car .eqn{margin-top:8px;font-size:12.5px;line-height:1.4;color:#c9d4df;font-weight:800}
#sA1 .g8car .gap{margin-top:8px;font-size:14px;font-weight:1000;padding:8px 10px;border-radius:10px}
#sA1 .g8car .gap.dn{color:#ff8a80;background:rgba(255,120,110,.1);border:1px solid rgba(255,138,128,.4)}
#sA1 .g8car .gap.up{color:#5bca8f;background:rgba(91,202,143,.1);border:1px solid rgba(91,202,143,.4)}
#sA1 .g8two .cols{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#sA1 .g8two .tw{border-radius:14px;padding:10px 8px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14)}
#sA1 .g8two .tw.r{border:2px solid #ffe08a;background:rgba(232,199,119,.12);box-shadow:0 0 14px rgba(255,224,138,.25)}
#sA1 .g8two .h{font-size:13px;font-weight:1000;color:#fff0b8;text-align:center;min-height:2.6em;line-height:1.3}
#sA1 .g8two .row{display:grid;grid-template-columns:26px 1fr auto;gap:4px;align-items:center;margin-top:8px;font-size:12px;font-weight:900;color:#c9d4df}
#sA1 .g8two .row .ic{font-size:18px;text-align:center}#sA1 .g8two .row .ic img{width:24px;height:24px;object-fit:contain;vertical-align:middle}
#sA1 .g8two .row b{font-size:13px;color:#e3edf4;font-variant-numeric:tabular-nums}
#sA1 .g8two .mo{margin-top:10px;border-top:1px dashed rgba(255,255,255,.15);padding-top:8px;text-align:center}
#sA1 .g8two .mo span,#sA1 .g8two .af span{display:block;font-size:10.5px;color:#9aa9b4;font-weight:900}
#sA1 .g8two .mo b{display:block;font-size:17px;font-weight:1000;color:#e3edf4}
#sA1 .g8two .mo em{display:block;font-style:normal;font-size:12px;color:#5bca8f;font-weight:900;margin-top:2px}#sA1 .g8two .mo em u{text-decoration:none}
#sA1 .g8two .mo strong{display:block;margin-top:4px;font-size:13.5px;font-weight:1000;color:#ffe08a}
#sA1 .g8two .af{margin-top:10px;text-align:center}#sA1 .g8two .af b{display:block;font-size:13px;font-weight:1000;color:#e3edf4}
#sA1 .g8two .vd{margin-top:12px;font-size:14px;font-weight:1000;color:#f5f9ff;line-height:1.4;word-break:keep-all;text-wrap:pretty}
#sA1 .g8two .cv{margin-top:8px;font-size:12.5px;font-weight:800;color:#9db0c4;line-height:1.4;word-break:keep-all;text-wrap:pretty}
#sA1 .g8three h4{margin:0;font-size:18px;font-weight:1000;color:#fff0b8}
#sA1 .g8three .s{margin-top:3px;font-size:12px;color:#9aa9b4;font-weight:800}
#sA1 .g8three .hd,#sA1 .g8three .tr{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:6px}
#sA1 .g8three .hd{margin-top:12px}
#sA1 .g8three .hd .c{font-size:12px;font-weight:1000;color:#e3edf4;text-align:center;line-height:1.25;word-break:keep-all;padding:8px 4px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);min-height:3em;display:grid;place-items:center}
#sA1 .g8three .hd .c.b{border:2px solid #ffe08a;background:rgba(232,199,119,.14);color:#fff0b8}
#sA1 .g8three .lb{margin-top:10px;font-size:11px;font-weight:900;color:#9aa9b4}
#sA1 .g8three .tr .c{margin-top:4px;text-align:center;font-size:13px;font-weight:900;color:#e3edf4;padding:8px 4px;border-radius:10px;background:rgba(255,255,255,.04);font-variant-numeric:tabular-nums;line-height:1.3;word-break:keep-all}
#sA1 .g8three .tr .c.b{background:rgba(232,199,119,.08)}
#sA1 .g8three .tr .c b{display:block;font-size:15px;font-weight:1000}#sA1 .g8three .tr .c b.gold{color:#ffe08a}
#sA1 .g8three .tr .c small{display:block;margin-top:2px;font-size:10px;color:#9aa9b4;font-weight:800}
#sA1 .g8three .vd{margin-top:12px;font-size:14px;font-weight:1000;color:#f5f9ff;line-height:1.4;word-break:keep-all;text-wrap:pretty}
#sA1 .g8three .cv{margin-top:8px;font-size:12.5px;font-weight:800;color:#9db0c4;line-height:1.4;word-break:keep-all;text-wrap:pretty}
#sA1 .g8paths .section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
#sA1 .g8paths .section-head h2{margin:0;color:#f7fbff;font-size:22px;line-height:1.16;font-weight:1000;word-break:keep-all}
#sA1 .g8paths .section-head p{margin:5px 0 0;color:#bfccd9;font-size:12.5px;line-height:1.34;font-weight:800;word-break:keep-all}
#sA1 .g8paths .step-mark{flex:0 0 auto;min-width:46px;height:30px;border-radius:999px;border:1px solid rgba(240,207,117,.7);background:rgba(240,207,117,.1);color:#fff0b8;display:grid;place-items:center;font-size:12px;font-weight:1000}
#sA1 .g8paths .condition{margin:0 0 12px;min-height:42px;display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:14px;border:1px solid rgba(103,169,255,.48);background:rgba(103,169,255,.08);color:#d8e9ff;font-size:13.5px;font-weight:1000;word-break:keep-all}
#sA1 .g8paths .condition span{color:#9db0c4;font-size:12px}#sA1 .g8paths .condition b{color:#fff0b8}
#sA1 .g8paths .path-list{display:grid!important;gap:10px}
#sA1 .g8paths .path{display:block!important;width:auto;flex:none;margin:0}
#sA1 .g8paths .path-top{display:grid!important}
#sA1 .g8paths .facts{display:grid!important}
#sA1 .g8paths .facts li{display:flex!important}
#sA1 .g8paths .path{position:relative;overflow:hidden;border-radius:18px;border:1px solid rgba(82,145,208,.44);background:rgba(5,10,18,.66);padding:12px}
#sA1 .g8paths .path.featured{border-color:rgba(240,207,117,.86);background:radial-gradient(circle at 92% 20%,rgba(240,207,117,.16),transparent 28%),rgba(28,26,17,.74)}
#sA1 .g8paths .path-top{display:grid;grid-template-columns:60px 1fr;gap:12px;align-items:center;min-width:0}
#sA1 .g8paths .path-visual{position:relative;width:60px;height:60px;border-radius:16px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02)),rgba(255,255,255,.05);display:grid;place-items:center}
#sA1 .g8paths .car-mini{position:relative;width:44px;height:23px;border-radius:14px 16px 8px 8px;background:linear-gradient(180deg,#f9dc84,#cfa044);box-shadow:0 0 14px rgba(240,207,117,.32);display:block}
#sA1 .g8paths .car-mini::before{content:'';position:absolute;left:8px;top:-11px;width:25px;height:17px;border-radius:18px 18px 4px 4px;background:linear-gradient(180deg,#dcefff,#6aaaf0)}
#sA1 .g8paths .car-mini::after{content:'';position:absolute;left:5px;right:5px;bottom:-5px;height:10px;background:radial-gradient(circle at 8px 5px,#07101b 0 5px,transparent 5.6px),radial-gradient(circle at calc(100% - 8px) 5px,#07101b 0 5px,transparent 5.6px)}
#sA1 .g8paths .piggy-mini{width:50px;height:50px;object-fit:contain;filter:drop-shadow(0 10px 13px rgba(0,0,0,.35))}
#sA1 .g8paths .path h3{margin:0;color:#f8fbff;font-size:17px;line-height:1.18;font-weight:1000;word-break:keep-all}
#sA1 .g8paths .path h3 span{display:block;margin-bottom:4px;color:#f0cf75;font-size:12px;line-height:1;font-weight:1000}
#sA1 .g8paths .facts{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:7px}
#sA1 .g8paths .facts li{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;border-radius:12px;background:rgba(255,255,255,.045);color:#c9d5e2;font-size:12.5px;line-height:1.22;font-weight:850;word-break:keep-all}
#sA1 .g8paths .facts strong{color:#fff;font-size:13.5px;line-height:1.18;font-weight:1000;text-align:right;white-space:nowrap}
@keyframes g8pop{0%{transform:scale(1)}40%{transform:scale(1.06)}100%{transform:scale(1)}}
#sA1 .g8paths .facts li.hi.pop{animation:g8pop 1.4s cubic-bezier(.2,.9,.3,1.2) .2s 1}
#sA1 .g8paths .facts li.hi{background:rgba(240,207,117,.16);border:1px solid rgba(240,207,117,.8);box-shadow:0 0 12px rgba(240,207,117,.3)}
#sA1 .g8paths .facts li.hi span{color:#fff0b8;font-weight:1000}
#sA1 .g8paths .facts li.hi strong{color:#ffe08a;font-size:19px}
#sA1 .g8paths .facts em{display:block;margin-top:3px;color:#aab7c5;font-style:normal;font-size:10.5px;white-space:normal}
#sA1 .g8paths .result{margin-top:12px;display:grid;gap:8px}
#sA1 .g8paths .result-box{padding:12px 13px;border-radius:14px;border:1px solid rgba(240,207,117,.5);background:rgba(240,207,117,.09);color:#fff0b8;font-size:14px;line-height:1.45;font-weight:1000;word-break:keep-all;text-wrap:pretty}
#sA1 .g8paths .result-box .hl{display:block;margin-top:6px;color:#ffe08a;font-size:16px;line-height:1.4;font-weight:1000}
#sA1 .g8paths .result-box.warning{border-color:rgba(255,118,109,.58);background:rgba(255,118,109,.08);color:#ffc8c4}
#sA1 .g9risk h4{margin:0;font-size:17px;font-weight:1000;color:#fff0b8;word-break:keep-all}
#sA1 .g9risk .s{margin-top:3px;font-size:12px;color:#9aa9b4;font-weight:800}
#sA1 .g9risk .chart2{margin-top:10px;border-radius:12px;background:rgba(5,9,15,.55);border:1px solid rgba(255,255,255,.1);padding:6px 4px 2px}
#sA1 .g9risk .chart2 svg{display:block;width:100%!important;height:150px!important;max-width:none}
#sA1 .g9risk .lg{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px;font-size:11.5px;font-weight:900;color:#c9d4df}
#sA1 .g9risk .lg span::before{content:'';display:inline-block;width:14px;border-top:3px solid var(--c);vertical-align:middle;margin-right:5px}
#sA1 .g9risk .cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:10px}
#sA1 .g9risk .rc{border-radius:12px;padding:8px 6px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-top:3px solid var(--c);text-align:center}
#sA1 .g9risk .rc b{display:block;font-size:11px;font-weight:1000;color:#e3edf4;min-height:2.6em;line-height:1.3;word-break:keep-all}
#sA1 .g9risk .rc .r{margin-top:6px}#sA1 .g9risk .rc .r span{display:block;font-size:10px;color:#9aa9b4;font-weight:900}#sA1 .g9risk .rc .r strong{display:block;font-size:13px;font-weight:1000;color:#fff;font-variant-numeric:tabular-nums}
#sA1 .g9risk .rc em{display:block;margin-top:6px;font-style:normal;font-size:11px;font-weight:1000;padding:4px 0;border-radius:8px}
#sA1 .g9risk .rc em.ok{color:#5bca8f;background:rgba(91,202,143,.12)}#sA1 .g9risk .rc em.no{color:#ff8a80;background:rgba(255,120,110,.12)}
#sA1 .g9risk .vd{margin-top:12px;font-size:14px;font-weight:1000;color:#f5f9ff;line-height:1.4;word-break:keep-all;text-wrap:pretty}
#sA1 .g9risk .note{margin-top:8px;font-size:12.5px;font-weight:800;color:#9db0c4;line-height:1.4;word-break:keep-all;text-wrap:pretty}
#sA1 .g9risk .vd2{margin-top:6px;font-size:13.5px;font-weight:900;color:#ffe08a;line-height:1.4;word-break:keep-all;text-wrap:pretty}
#sA1 .glass.card1{min-height:152px;display:flex;flex-direction:column;justify-content:center}   /* SPY·BIL·GLD 설명 상자 크기 통일 (사장님 2026-09-05) */
/* 휴대폰 높이(≈800px)에서 1학년 세 장 화면이 버튼까지 한 화면에 (사장님 2026-09-05) */
@media (max-height:900px){
#sA1 .qrow{padding:12px 22px 0;gap:12px}
#sA1 .qrow .owl{width:78px;height:100px;flex:0 0 78px}
#sA1 .qtitle{font-size:22px;line-height:1.3}
#sA1 .speech{padding:8px 22px 0;font-size:13px}
#sA1 .content{padding:12px 20px 0}
#sA1 .acrail{margin:0 0 8px}
#sA1 .acrail .scard{padding:9px 6px 8px}
#sA1 .acrail .scard .stile{width:32px;height:32px;margin:0 auto 4px}
#sA1 .acrail .scard .px{margin-top:3px}
#sA1 .mini{margin-top:6px;font-size:11.5px}
#sA1 .glass{padding:14px 16px}
#sA1 .cta{bottom:40px;padding:14px 0;font-size:17px}
#sA1 .ctawhy{margin-top:6px}
#sA1 .foot{bottom:10px;font-size:11px}
#sA1 .rwd2 .hero{min-height:250px}
#sA1 .rwd2 .hero h3{font-size:23px}
}
.ilive{margin-top:14px;border:1px solid rgba(255,255,255,.23);border-radius:12px;
  background:rgba(255,255,255,.04);padding:11px 13px;font-size:12.5px;line-height:1.7}
.ilive b{color:var(--gold-b)}
.ilive .lv{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:900;
  color:#e06455;letter-spacing:.08em;margin-right:6px}
.ilive .lv i{width:6px;height:6px;border-radius:50%;background:#e06455;display:block;
  animation:lvp 1.6s ease-in-out infinite}
@keyframes lvp{0%,100%{opacity:1}50%{opacity:.25}}
/* 시작 전 설명 — 칼·방패·갑옷 (2026-08-20) */
.tut{padding:0 4px}
.tstage{position:relative;height:224px;border-radius:20px;overflow:hidden;
  background:radial-gradient(120% 90% at 50% 15%, #16222f 0%, #0a1018 60%, #05080d 100%);
  border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
/* 바닥 */
.tstage:after{content:'';position:absolute;left:8%;right:8%;bottom:34px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent)}
/* 캐릭터 */
.thero{position:relative;z-index:2;width:104px;height:104px;border-radius:50%;overflow:hidden;
  border:3px solid var(--tc,#c9a24a);box-shadow:0 0 26px -6px var(--tc,#c9a24a),0 10px 24px rgba(0,0,0,.6);
  animation:tbob 2.2s ease-in-out infinite}
.thero img{width:100%;height:100%;object-fit:cover;display:block}
@keyframes tbob{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-9px) rotate(1deg)}}
.tut.slow .thero{animation-duration:4.2s}
/* 장비 */
.tgear{position:absolute;z-index:3;font-size:26px;line-height:1;
  width:52px;height:52px;display:flex;align-items:center;justify-content:center;
  border-radius:50%;background:rgba(10,16,24,.82);border:2px solid var(--tc,#c9a24a);
  box-shadow:0 0 18px -4px var(--tc,#c9a24a), 0 6px 16px rgba(0,0,0,.6)}
.tgear.pop{animation:tpop .5s cubic-bezier(.2,1.5,.4,1) both}
.tsword.pop{animation:tpop .5s cubic-bezier(.2,1.5,.4,1) both, tsw 1.1s ease-in-out .5s infinite}
@keyframes tpop{0%{transform:scale(0) rotate(-40deg);opacity:0}60%{transform:scale(1.25) rotate(8deg)}100%{transform:scale(1) rotate(0);opacity:1}}
.tsword{left:calc(50% + 40px);top:52px}
@keyframes tsw{0%,100%{transform:rotate(-12deg)}50%{transform:rotate(16deg)}}
.tshield{left:calc(50% - 92px);top:68px}
.tarmor{left:calc(50% + 44px);top:128px}
/* 속도선 */
.tspeed{position:absolute;z-index:1;left:0;right:0;top:50%;height:60px;pointer-events:none;opacity:0;transition:opacity .3s}
.tut.fast .tspeed{opacity:1}
.tspeed i{position:absolute;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--tc,#c9a24a));
  animation:tzip 900ms linear infinite}
.tspeed i:nth-child(1){top:6px;width:56px;left:-60px;animation-delay:0s}
.tspeed i:nth-child(2){top:26px;width:38px;left:-60px;animation-delay:.25s}
.tspeed i:nth-child(3){top:44px;width:48px;left:-60px;animation-delay:.5s}
@keyframes tzip{to{transform:translateX(420px)}}
/* 반짝임(방패) */
.tglint{position:absolute;z-index:1;inset:0;pointer-events:none;opacity:0;transition:opacity .4s;
  background:radial-gradient(60% 40% at 30% 45%, rgba(120,190,255,.22), transparent 70%)}
.tut.guard .tglint{opacity:1}
/* 능력 막대 */
.tbars{margin-top:14px;display:flex;flex-direction:column;gap:9px}
.tbar{display:flex;align-items:center;gap:10px;font-size:12px}
.tbar b{flex:0 0 62px;font-weight:800;color:var(--dim)}
.tbar .tr{flex:1;height:9px;border-radius:99px;background:rgba(255,255,255,.16);overflow:hidden}
.tbar .tr i{display:block;height:100%;border-radius:99px;transition:width .7s cubic-bezier(.2,.8,.3,1)}
.tbar.atk .tr i{background:linear-gradient(90deg,#e8a24a,#e06455)}
.tbar.def .tr i{background:linear-gradient(90deg,#4f8fd6,#2fa96b)}
.tbar em{flex:0 0 30px;text-align:right;font-style:normal;font-weight:900;font-size:12px}
/* 결과 */
.tres{display:flex;gap:9px;margin-top:14px}
.tres>div{flex:1;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:11px 8px;text-align:center}
.tres .k{font-size:10px;color:var(--dim)}
.tres .v{font-size:19px;font-weight:900;margin-top:3px;letter-spacing:-.02em}
.tres .v.up{color:var(--upc)}.tres .v.dn{color:var(--dnc)}
.tdelta{margin-top:11px;font-size:12px;line-height:1.7;color:#b7c3ce;
  background:var(--bg);border-left:3px solid var(--tc,#c9a24a);border-radius:9px;padding:10px 12px}
.tdelta b{color:var(--text)}
.tsay{margin-top:12px;font-size:13.5px;line-height:1.75}
.tdots{display:flex;justify-content:center;gap:6px;margin-top:14px}
.tdots i{width:20px;height:3px;border-radius:2px;background:rgba(255,255,255,.18);transition:.3s}
.tdots i.on{background:var(--tc,#c9a24a);width:30px}
/* 4단계 · 2022년 각자 성적 — 한쪽이 무너져도 다른 쪽이 버틴다 */
.t22{margin-top:12px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.t22 .h{font-size:11px;font-weight:800;color:var(--dim);padding:9px 12px;background:rgba(255,255,255,.04)}
.t22 .r{display:flex;align-items:center;gap:9px;padding:8px 12px;background:var(--bg);border-top:1px solid var(--line)}
.t22 .r img{width:26px;height:26px;border-radius:50%;object-fit:cover;border:1px solid var(--line)}
.t22 .r b{flex:1;font-size:12px;font-weight:800;color:#c8d3dd}
.t22 .r .w{font-size:11px;color:var(--dim);margin-right:2px}
.t22 .r .v{font-size:13px;font-weight:900;min-width:56px;text-align:right}
.t22 .r .v.up{color:var(--upc)}.t22 .r .v.dn{color:var(--dnc)}
.t22 .sum{display:flex;align-items:center;gap:9px;padding:10px 12px;background:rgba(232,199,119,.08);
  border-top:1px solid var(--gold)}
.t22 .sum b{flex:1;font-size:12px;font-weight:900;color:var(--gold-b)}
.t22 .sum .v{font-size:16px;font-weight:900;color:#e8c777}
.t22 .alone{padding:9px 12px;font-size:11.5px;color:var(--dim);background:var(--bg);border-top:1px solid var(--line)}
.t22 .alone b{color:#e06455}

/* ── 줄바꿈은 언어마다 다르다 ─────────────────────────────────────────
   위쪽 규칙들의 word-break:keep-all 은 한국어에서 '단어 중간에서 끊지 마라'는 뜻이라 옳다.
   그런데 일본어·중국어·태국어는 띄어쓰기가 없어 keep-all 이면 한 줄이 통째로 화면을 넘는다
   (일본어 7학년 제목이 오른쪽으로 잘렸다 — 라이브 확인 2026-09-01).
   한국어가 아닌 언어에서는 보통 규칙으로 되돌린다. */
html:not([lang="ko"]) *{word-break:normal; overflow-wrap:break-word}

/* g6- — 한글판과 같은 화면을 쓰므로 규칙도 같이 온다 (2026-09-02) */
/* 5학년 그래프 — 한글판에서 옮김 (영문판에 통째로 빠져 있었다, 2026-09-02) */
#sA1 .g5-chart{border:1px solid rgba(53,87,122,.78);border-radius:12px;padding:13px 13px 12px;
  background:linear-gradient(180deg,rgba(18,30,44,.94),rgba(8,15,25,.9));box-shadow:0 14px 30px rgba(0,0,0,.3)}
#sA1 .g5-chart-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
#sA1 .g5-chart-head strong{color:#f1f6ff;font-size:14px;font-weight:900}
#sA1 .g5-chart-head span{color:#aab8ca;font-size:11px;font-weight:800;white-space:nowrap}
#sA1 .g5-plot{position:relative;height:244px;border-radius:8px;
  background:linear-gradient(180deg,rgba(255,255,255,.045),transparent),rgba(8,14,23,.78);
  overflow:hidden;border:1px solid rgba(255,255,255,.08)}
#sA1 .g5-gridlines{position:absolute;inset:0;
  background:linear-gradient(transparent 24%,rgba(255,255,255,.08) 25%,transparent 26%),
    linear-gradient(transparent 49%,rgba(255,255,255,.12) 50%,transparent 51%),
    linear-gradient(transparent 74%,rgba(255,255,255,.08) 75%,transparent 76%);opacity:.9}
#sA1 .g5-price{position:absolute;inset:0;width:100%;height:100%}
#sA1 .g5-line-profit,#sA1 .g5-line-stop{position:absolute;left:0;right:0;border-top:2px dashed}
#sA1 .g5-line-profit{top:72px;border-color:rgba(232,199,119,.9)}
#sA1 .g5-line-stop{top:112px;border-color:rgba(239,102,91,.9)}
#sA1 .g5-line-zero{position:absolute;left:0;right:0;top:120px;border-top:1px solid rgba(255,255,255,.22)}
#sA1 .g5-axis{position:absolute;right:8px;color:#aebbd0;font-size:10px;line-height:1;font-weight:800}
#sA1 .g5-axis.up{top:67px;color:#e8c777}
#sA1 .g5-axis.mid{top:115px}
#sA1 .g5-sell{position:absolute;display:flex;align-items:center;gap:6px;padding:6px 9px;
  border-radius:999px;background:#f6f0da;color:#171b22;font-size:12px;line-height:1;font-weight:900;
  box-shadow:0 12px 24px rgba(0,0,0,.28);white-space:nowrap}
#sA1 .g5-sell::before{content:"";width:8px;height:8px;border-radius:50%;background:#ef665b}
#sA1 .g5-sell.stop{left:77.75%;transform:translateX(-50%);top:121px}
#sA1 .g5-sell.profit{left:19.8%;top:51px}
#sA1 .g5-sell.profit::before{background:#c9a24a}
#sA1 .g5-sell.profit,#sA1 .g5-profit-hit,#sA1 .g5-line-profit,#sA1 .g5-axis.up{
  transition:opacity .18s ease,transform .18s ease}
#sA1 .g5-chart.profit-off .g5-sell.profit,#sA1 .g5-chart.profit-off .g5-profit-hit,
#sA1 .g5-chart.profit-unhit .g5-sell.profit,#sA1 .g5-chart.profit-unhit .g5-profit-hit{
  opacity:0;transform:scale(.92);pointer-events:none}
#sA1 .g5-chart.profit-off .g5-line-profit,#sA1 .g5-chart.profit-off .g5-axis.up{opacity:.32}
#sA1 .g5-drop-cap,#sA1 .g5-drop-arrow-line{stroke:#ff574e;stroke-width:3;stroke-linecap:round;
  vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 8px rgba(239,102,91,.52))}
#sA1 .g5-drop-arrow-head{fill:#ff574e;filter:drop-shadow(0 0 8px rgba(239,102,91,.52))}
#sA1 .g5-drop-label{position:absolute;left:64.8%;top:78px;padding:5px 8px;
  border:1px solid rgba(255,137,128,.82);border-radius:999px;background:rgba(73,17,20,.82);
  color:#ffe3df;font-size:12px;line-height:1;font-weight:900;white-space:nowrap;
  box-shadow:0 8px 18px rgba(0,0,0,.34),0 0 16px rgba(239,102,91,.22);
  text-shadow:0 1px 4px rgba(0,0,0,.55)}
#sA1 .g5-profit-hit{position:absolute;left:46.2%;top:68px;width:9px;height:9px;
  border-radius:50%;background:#e8c777;box-shadow:0 0 0 3px rgba(232,199,119,.18),0 3px 10px rgba(0,0,0,.38)}
#sA1 .g5-controls{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:11px}
#sA1 .g5-rule{border:1px solid rgba(53,87,122,.8);border-radius:10px;padding:10px 11px;background:rgba(10,17,27,.78)}
#sA1 .g5-rule.red{border-color:rgba(239,102,91,.62)}
#sA1 .g5-rule.gold{border-color:rgba(232,199,119,.66)}
#sA1 .g5-rule .k{color:#c6d1e0;font-size:11px;line-height:1;font-weight:900}
#sA1 .g5-rule .v{margin-top:8px;color:#fff2c9;font-size:26px;line-height:1;font-weight:900;font-variant-numeric:tabular-nums}
#sA1 .g5-rule.red .v{color:#ff8b82}
#sA1 .g5-track{height:8px;margin-top:12px;border-radius:999px;background:rgba(255,255,255,.18);position:relative}
#sA1 .g5-track::before{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--fill,52%);
  background:linear-gradient(90deg,rgba(239,102,91,.5),rgba(232,199,119,.82));border-radius:inherit;pointer-events:none}
#sA1 .g5-track::after{content:"";position:absolute;top:50%;left:var(--fill,52%);width:14px;height:14px;
  border-radius:50%;background:#e8c777;transform:translate(-50%,-50%);box-shadow:0 2px 8px rgba(0,0,0,.35);pointer-events:none}
#sA1 .g5-range{position:absolute;left:0;top:-12px;width:100%;height:32px;
  -webkit-appearance:none;appearance:none;background:transparent;margin:0;padding:0;opacity:0;cursor:pointer}
#sA1 .g5-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:32px;height:32px;background:transparent;cursor:pointer}
#sA1 .g5-range::-moz-range-thumb{width:32px;height:32px;background:transparent;border:0;cursor:pointer}
#sA1 .g5-switch{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px;
  color:#dce6f5;font-size:11px;font-weight:900}
#sA1 .g5-toggle-profit{border:1px solid rgba(232,199,119,.72);background:rgba(232,199,119,.08);
  color:#e8c777;border-radius:999px;padding:4px 10px;line-height:1;font:inherit;font-weight:900;cursor:pointer}
#sA1 .g5-chart.profit-off .g5-toggle-profit{border-color:rgba(255,255,255,.26);
  background:rgba(255,255,255,.07);color:#b8c3d4}
#sA1 .g5-switch{flex-wrap:wrap}
#sA1 .g5-switch>span{flex:1 1 100%;white-space:nowrap}
#sA1 .g5-seg{display:flex;gap:6px;flex:1 1 100%}
#sA1 .g5-seg button{white-space:nowrap;flex:1}
#sA1 .g5-seg button{font:inherit;font-weight:1000;font-size:12px;line-height:1;padding:7px 12px;border-radius:999px;cursor:pointer;border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.07);color:#b8c3d4}
#sA1 .g5-seg .g5-toggle-profit{border-color:#e8c777;background:#e8c777;color:#1a1206}
#sA1 .g5-chart.profit-off .g5-seg .g5-toggle-profit{border-color:rgba(255,255,255,.26);background:rgba(255,255,255,.07);color:#b8c3d4}
#sA1 .g5-chart.profit-off .g5-seg .g5-toggle-off{border-color:#ff8a80;background:#ff8a80;color:#1a0d0b}
#sA1 .g5-lesson{margin:10px 0 0;color:#cbd7e7;font-size:12px;line-height:1.42;font-weight:800;
  text-align:center;word-break:keep-all}
#sA1 .g6-builder,#sA1 .g6-lesson-panel{border:1px solid rgba(53,87,122,.78);border-radius:12px;padding:13px;
  background:linear-gradient(180deg,rgba(18,30,44,.94),rgba(8,15,25,.9));box-shadow:0 14px 30px rgba(0,0,0,.3)}
#sA1 .g6-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
#sA1 .g6-panel-head strong{color:#f1f6ff;font-size:14px;font-weight:900}
#sA1 .g6-profile{border:1px solid rgba(232,199,119,.55);border-radius:999px;padding:5px 9px;
  color:#e8c777;background:rgba(232,199,119,.08);font-size:11px;line-height:1;font-weight:900;white-space:nowrap}
#sA1 .g6-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:11px}
#sA1 .g6-preset{min-height:36px;border:1px solid rgba(255,255,255,.16);border-radius:999px;
  background:rgba(255,255,255,.06);color:#dce6f5;font-size:12px;font-weight:900;cursor:pointer}
#sA1 .g6-preset.active{border-color:rgba(232,199,119,.9);background:rgba(232,199,119,.14);
  color:#e8c777;box-shadow:0 0 0 2px rgba(232,199,119,.1)}
#sA1 .g6-stack-wrap{position:relative;border:1px solid rgba(255,255,255,.08);border-radius:10px;
  padding:20px 10px 14px;background:rgba(7,14,23,.76);overflow:hidden}
#sA1 .g6-scale{position:absolute;left:10px;right:10px;top:8px;display:flex;justify-content:space-between;
  color:#8e9db2;font-size:9px;font-weight:800}
#sA1 .g6-stack{position:relative;display:flex;height:52px;border-radius:8px;overflow:hidden;
  background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
#sA1 .g6-seg{position:relative;min-width:0;height:100%;display:grid;place-items:center;
  border-right:1px solid rgba(5,8,13,.42);transition:width .22s ease,opacity .22s ease}
#sA1 .g6-seg{background:linear-gradient(180deg,#b9c3cf,#8a96a6)}
#sA1 .g6-seg[data-key="NVDA"]{background:linear-gradient(180deg,#c9a6ff,#8f6ae0)}
#sA1 .g6-seg[data-key="QQQ"]{background:linear-gradient(180deg,#f7d783,#d4a84e)}
#sA1 .g6-seg[data-key="BIL"]{background:linear-gradient(180deg,#62d99a,#2fae70)}
#sA1 .g6-seg[data-key="GLD"]{background:linear-gradient(180deg,#d9b05e,#a87b2f)}
#sA1 .g6-seg[data-key="SPY"]{background:linear-gradient(180deg,#6fa7e6,#3d7fd6)}
#sA1 .g6-seg:last-child{border-right:0}
#sA1 .g6-seg span{display:block;max-width:100%;padding:0 4px;color:#07101a;font-size:11px;line-height:1.08;
  font-weight:900;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  text-shadow:0 1px rgba(255,255,255,.24)}
#sA1 .g6-label-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}
#sA1 .g6-asset-label{min-width:0;border:1px solid rgba(255,255,255,.11);border-radius:8px;padding:6px 4px;
  background:rgba(255,255,255,.045);font-size:10px;line-height:1.18;font-weight:900;text-align:center;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;
  justify-content:center;gap:3px}
#sA1 .g6-asset-label b{font-weight:900}
#sA1 .g6-mix-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:9px 0 10px;
  color:#dce6f5;font-size:12px;line-height:1.25;font-weight:900}
#sA1 .g6-mix-line b{color:#e8c777;font-size:15px;font-weight:900;white-space:nowrap}
#sA1 .g6-controls{display:grid;gap:7px}
#sA1 .g6-control{display:grid;grid-template-columns:52px 1fr 42px;gap:8px;align-items:center;min-height:34px}
#sA1 .g6-control label{font-size:12px;font-weight:900;white-space:nowrap;text-align:left}
#sA1 .g6-control output{color:#f7fbff;font-size:12px;font-weight:900;text-align:right;font-variant-numeric:tabular-nums}
#sA1 .g6-control input[type="range"]{width:100%;accent-color:#e8c777}
#sA1 .g6-note{margin:10px 0 0;color:#cbd7e7;font-size:12px;line-height:1.4;font-weight:800;
  text-align:center;word-break:keep-all}
#sA1 .g6-personality{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;
  margin-top:10px;color:#b9c6d8;font-size:11px;font-weight:900}
#sA1 .g6-meter{height:8px;min-width:126px;border-radius:999px;
  background:linear-gradient(90deg,#56c98b,#e8c777,#ef665b);position:relative;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
#sA1 .g6-meter-dot{position:absolute;top:50%;left:50%;width:16px;height:16px;border-radius:50%;
  background:#f6f0da;transform:translate(-50%,-50%);box-shadow:0 4px 12px rgba(0,0,0,.38);
  transition:left .22s ease}
#sA1 .g6-lesson-list{display:grid;gap:9px}
#sA1 .g6-lesson-card{border:1px solid rgba(255,255,255,.09);border-radius:10px;padding:11px;background:rgba(7,14,23,.7)}
#sA1 .g6-lesson-card strong{display:block;color:#f4f8ff;font-size:14px;line-height:1.15;font-weight:900}
#sA1 .g6-lesson-card p{margin:6px 0 0;color:#cbd7e7;font-size:12px;line-height:1.34;font-weight:800;word-break:keep-all}
#sA1 .g6-lesson-bar{display:flex;height:28px;margin-top:9px;border-radius:999px;overflow:hidden;
  background:rgba(255,255,255,.14)}
#sA1 .g6-lesson-bar span{display:grid;place-items:center;height:100%;min-width:0;color:#07101a;
  font-size:10px;line-height:1;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:clip;
  text-shadow:0 1px rgba(255,255,255,.2)}
#sA1 .g6-lesson-bar span[data-small="true"]{color:transparent;text-shadow:none}
#sA1 .g6-lesson-bar .nvda{background:#69a8ff}
#sA1 .g6-lesson-bar .qqq{background:#f0c96a}
#sA1 .g6-lesson-bar .bil{background:#56c98b}
#sA1 .g6-lesson-bar .gld{background:#d6a84f}
#sA1 .g6-lesson-bar .spy{background:#4f8fd6}
#sA1 .g6-lesson-bar .nvda{background:#b48cff}
#sA1 .g6-lesson-bar span{background:#8a96a6}
#sA1 .g6-lesson-bar .spy,#sA1 .g6-lesson-bar .nvda,#sA1 .g6-lesson-bar .qqq,#sA1 .g6-lesson-bar .bil,#sA1 .g6-lesson-bar .gld{background-clip:padding-box}
#sA1 .g6-lesson-key{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:7px}
#sA1 .g6-lesson-key span{min-width:0;border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:4px 5px;
  background:rgba(255,255,255,.055);color:#e9f0fb;font-size:9px;line-height:1;font-weight:900;text-align:center;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#sA1 .g6-summary{margin-top:11px;border:1px solid rgba(232,199,119,.5);border-radius:10px;padding:12px;
  background:rgba(232,199,119,.08);color:#f2dfaa;font-size:13px;line-height:1.38;font-weight:900;word-break:keep-all}

/* g9- — 한글판과 같은 화면을 쓰므로 규칙도 같이 온다 (2026-09-02) */
/* 7·8·10학년 CSS — 한글판에서 옮김 (2026-09-02) */
/* 7·8·10학년 CSS — 한글판에서 옮김 (영문판에 통째로 빠져 있었다, 2026-09-02) */
/* 7학년 — 타이밍 비교 (GPT 시안 59, 사장님 2026-08-31 "이걸로 7학년 교체") */
#sA1 .g7-card{border:1px solid rgba(56,97,133,.82);border-radius:12px;padding:12px;
  background:linear-gradient(180deg,rgba(18,30,44,.95),rgba(8,15,25,.91));box-shadow:0 14px 30px rgba(0,0,0,.3)}
#sA1 .g7-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
#sA1 .g7-panel-head strong{color:#f1f6ff;font-size:14px;font-weight:900}
/* 사장님 지시(2026-08-31): 교훈 페이지 제목 "세 방식이 가르치는 것" 강조 */
#sA1 .g7-panel-head strong.hi{color:#ffe097;font-size:15px;
  text-shadow:0 0 12px rgba(232,199,119,.35);letter-spacing:.2px}
#sA1 .g7-basis{border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:5px 8px;
  color:#d6e1ef;background:rgba(255,255,255,.06);font-size:10px;line-height:1;font-weight:900;white-space:nowrap}
#sA1 .g7-periods{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
#sA1 .g7-period{min-height:36px;border:1px solid rgba(255,255,255,.18);border-radius:999px;
  background:rgba(255,255,255,.055);color:#d9e2ee;font-size:12px;font-weight:900;cursor:pointer}
#sA1 .g7-period.active{border-color:rgba(233,202,114,.92);background:rgba(233,202,114,.14);
  color:#e9ca72;box-shadow:0 0 0 2px rgba(233,202,114,.1)}
#sA1 .g7-chart{position:relative;height:222px;border:1px solid rgba(255,255,255,.08);border-radius:10px;
  overflow:hidden;background:linear-gradient(180deg,rgba(5,10,18,.74),rgba(5,9,15,.92))}
#sA1 .g7-chart svg{display:block;width:100%;height:100%}
#sA1 .g7-gridline{stroke:rgba(255,255,255,.12);stroke-width:1}
#sA1 .g7-axis-label{fill:#aebbd0;font-size:10px;font-weight:800}
#sA1 .g7-market{fill:none;stroke:#7fb7ff;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;
  filter:drop-shadow(0 7px 10px rgba(106,169,255,.2))}
/* 7학년 시안 74 — 실측 위에 매달 산 점 (2026-09-02) */
#sA1 .g7-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
#sA1 .g7-head b{font-size:12.5px;font-weight:900;color:#f1f6ff}
#sA1 .g7-put{font-size:10.5px;font-weight:900;color:#e8c777;
  border:1px solid rgba(232,199,119,.5);border-radius:99px;padding:3px 9px;white-space:nowrap}
#sA1 .g7-toplab{fill:#ff8b84;font-size:11px;font-weight:900}
#sA1 .g7-lgd{display:flex;gap:14px;justify-content:center;margin-top:7px;font-size:9.5px;
  font-weight:800;color:#aebdcc}
#sA1 .g7-lgd span{display:inline-flex;align-items:center;gap:5px}
#sA1 .g7-lgd span::before{content:'';width:7px;height:7px;border-radius:50%}
#sA1 .g7-lgd .d1::before{background:#57d090}
#sA1 .g7-lgd .d2::before{background:#ff5750}
#sA1 .g7-wins{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:11px}
#sA1 .g7-win{min-width:0;background:rgba(5,8,13,.5);border:1px solid rgba(255,255,255,.1);
  border-radius:12px;padding:9px 8px;text-align:center}
#sA1 .g7-win span{display:block;font-size:9.5px;font-weight:900;color:#aebdcc}
#sA1 .g7-win b{display:block;margin-top:4px;font-size:16px;font-weight:950;color:#e8c777;
  font-variant-numeric:tabular-nums;line-height:1}
#sA1 .g7-win em{display:block;margin-top:4px;font-size:9px;font-style:normal;font-weight:800;
  color:#8b9cb0;word-break:keep-all}
#sA1 .g7-lesson{margin-top:11px;padding:10px 12px;border-radius:12px;
  background:rgba(232,199,119,.1);border:1px solid rgba(232,199,119,.45);
  font-size:11.5px;font-weight:900;color:#f1f6ff;line-height:1.5;word-break:keep-all}
#sA1 .g7-two{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}
#sA1 .g7-two div{background:rgba(5,8,13,.5);border:1px solid rgba(255,255,255,.1);border-radius:11px;
  padding:9px 10px;text-align:center}
#sA1 .g7-two div.ok{border-color:rgba(87,208,144,.55);background:rgba(87,208,144,.09)}
#sA1 .g7-two span{display:block;font-size:9.5px;font-weight:900;color:#aebdcc}
#sA1 .g7-two b{display:block;margin-top:4px;font-size:17px;font-weight:950;color:#ff8b84;
  font-variant-numeric:tabular-nums;line-height:1}
#sA1 .g7-two div.ok b{color:#57d090}
#sA1 .g7-two em{display:block;margin-top:3px;font-size:9px;font-style:normal;font-weight:800;
  color:#8b9cb0;word-break:keep-all}
#sA1 .g7-cond{margin-top:8px;font-size:9.5px;font-weight:800;color:#8b9cb0;line-height:1.5;
  text-align:center;word-break:keep-all}
#sA1 .g7-monthly-dot{fill:#57d090;stroke:#d9ffe8;stroke-width:1.4}
#sA1 .g7-first-dot{fill:#e9ca72;stroke:#fff1bd;stroke-width:3;filter:drop-shadow(0 5px 10px rgba(233,202,114,.45))}
#sA1 .g7-top-dot{fill:#ff6b6b;stroke:#ffd7d7;stroke-width:3;filter:drop-shadow(0 5px 10px rgba(255,107,107,.42))}
#sA1 .g7-drop-line{stroke:#ff6b6b;stroke-width:4;stroke-linecap:round;opacity:.95}
#sA1 .g7-drop-head{fill:#ff6b6b;opacity:.96}
#sA1 .g7-badge-bg{fill:rgba(6,11,18,.92);stroke-width:1.4}
#sA1 .g7-badge-text{font-size:11px;font-weight:900;fill:#f5f8ff;letter-spacing:0}
#sA1 .g7-badge-text.gold{fill:#fff0ad}
#sA1 .g7-badge-text.green{fill:#a9f5c9}
#sA1 .g7-badge-text.red{fill:#ffc0c0}
#sA1 .g7-timebase{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0 0;
  color:#9fb0c6;font-size:10px;font-weight:800;white-space:nowrap}
#sA1 .g7-results{display:grid;gap:6px;margin-top:10px}
#sA1 .g7-row{display:grid;grid-template-columns:92px 1fr 76px;align-items:center;gap:8px;min-height:32px}
#sA1 .g7-row-name{color:#dce6f5;font-size:12px;line-height:1.18;font-weight:900;word-break:keep-all}
#sA1 .g7-bar{height:10px;border-radius:999px;background:rgba(255,255,255,.13);overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
#sA1 .g7-fill{height:100%;width:20%;min-width:7px;border-radius:999px;transition:width .22s ease}
#sA1 .g7-row[data-method="monthly"] .g7-fill{background:linear-gradient(90deg,#42b879,#57d090)}
#sA1 .g7-row[data-method="first"] .g7-fill{background:linear-gradient(90deg,#d4a447,#e9ca72)}
#sA1 .g7-row[data-method="top"] .g7-fill{background:linear-gradient(90deg,#c35050,#ff6b6b)}
#sA1 .g7-value{font-size:14px;line-height:1;font-weight:900;text-align:right;
  font-variant-numeric:tabular-nums;color:#eef4ff;white-space:nowrap}
#sA1 .g7-row.is-best .g7-value{color:#e9ca72}
#sA1 .g7-row.is-tie .g7-value{color:#ffe8a5}
/* 사장님 지시(2026-08-31): "첫 달 전부" 값 강조 애니메이션 */
@keyframes g7-pulse-value{
  0%,100%{color:#e9ca72;text-shadow:0 0 0 rgba(232,199,119,0);transform:scale(1)}
  50%{color:#fff2ba;text-shadow:0 0 14px rgba(232,199,119,.75);transform:scale(1.08)}
}
#sA1 .g7-row.is-best .g7-value{animation:g7-pulse-value 1.6s ease-in-out infinite;transform-origin:right center}
#sA1 .g7-note{margin:9px 0 0;color:#cbd7e7;font-size:12px;line-height:1.38;font-weight:800;word-break:keep-all}
#sA1 .g7-note b{color:#e9ca72}
#sA1 .g7-mini{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
#sA1 .g7-mini span{min-height:30px;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:6px 8px;background:rgba(255,255,255,.045);
  color:#c8d4e4;font-size:11px;line-height:1.18;font-weight:800;text-align:center;word-break:keep-all}
#sA1 .g7-lesson-list{display:grid;gap:8px}
#sA1 .g7-lesson-item{display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:start;min-height:70px;
  border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:10px;background:rgba(7,14,23,.68)}
#sA1 .g7-icon{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;
  font-size:18px;font-weight:900;color:#07101a;box-shadow:inset 0 0 0 1px rgba(255,255,255,.24)}
#sA1 .g7-icon.gold{background:#e9ca72}
#sA1 .g7-icon.green{background:#57d090}
#sA1 .g7-icon.red{background:#ff6b6b}
#sA1 .g7-lesson-item strong{display:block;color:#f4f8ff;font-size:14px;line-height:1.16;font-weight:900}
/* 사장님 지시(2026-08-31): 세 방식 이름 밑줄 */
#sA1 .g7-lesson-item strong{text-decoration:underline;text-decoration-color:rgba(233,202,114,.7);
  text-decoration-thickness:2px;text-underline-offset:3px}
#sA1 .g7-lesson-item p{margin:5px 0 0;color:#cbd7e7;font-size:12px;line-height:1.34;font-weight:800;word-break:keep-all}
#sA1 .g7-table{display:grid;gap:6px;margin-top:10px;border-top:1px dashed rgba(255,255,255,.16);padding-top:10px}
#sA1 .g7-table-row{display:grid;grid-template-columns:74px repeat(3,1fr);gap:5px;align-items:stretch}
#sA1 .g7-table-row span{min-height:30px;display:flex;align-items:center;justify-content:center;
  border-radius:8px;padding:5px 3px;background:rgba(255,255,255,.055);color:#d7e1ee;font-size:10px;
  line-height:1.12;font-weight:900;text-align:center;word-break:keep-all}
#sA1 .g7-table-row.header span{background:rgba(255,255,255,.08);color:#aebbd0;font-size:9px}
#sA1 .g7-table-row span.gold{color:#fff0ad}
#sA1 .g7-table-row span.green{color:#a9f5c9}
#sA1 .g7-table-row span.red{color:#ffc0c0}
#sA1 .g7-callout{margin-top:11px;border:1px solid rgba(233,202,114,.72);border-radius:10px;padding:12px;
  background:rgba(233,202,114,.1);color:#fff0b8;font-size:14px;line-height:1.36;font-weight:900;word-break:keep-all}
#sA1 .g7-callout small{display:block;margin-top:7px;color:#cbd7e7;font-size:11px;line-height:1.34;font-weight:800}
/* 8학년 — 배당·주가 (GPT 시안 63 polished, 사장님 2026-08-31 "이걸로해". 실측 DIVX 값 사용) */
/* 8학년 시안 74 — 흐름 그림 + 갈래 3 + 숫자 3 (2026-09-02) */
#sA1 .g8-money{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:11px 12px;border:1px solid rgba(54,95,135,.74);border-radius:8px;background:linear-gradient(180deg,rgba(16,28,43,.92),rgba(8,14,23,.9));box-shadow:0 12px 28px rgba(0,0,0,.28);text-align:left}
#sA1 .g8-money small{display:block;color:#aebccc;font-size:10px;line-height:1;font-weight:900}
#sA1 .g8-money b{display:block;margin-top:5px;color:#f7fbff;font-size:20px;line-height:1;font-weight:1000;white-space:nowrap}
#sA1 .g8-money .out b{color:#8af0b6}
#sA1 .g8-marr{width:36px;height:2px;border-radius:999px;background:linear-gradient(90deg,#f0cf69,#55d38e);position:relative}
#sA1 .g8-marr::after{content:'';position:absolute;right:-1px;top:50%;width:8px;height:8px;border-top:2px solid #55d38e;border-right:2px solid #55d38e;transform:translateY(-50%) rotate(45deg)}
#sA1 .g8-fcw{position:relative;width:100%;margin-top:10px}
#sA1 .g8-fc{position:relative;width:354px;height:326px;margin:0;transform-origin:top left;border:1px solid rgba(54,95,135,.8);border-radius:8px;overflow:hidden;text-align:left;background:radial-gradient(circle at 50% 42%,rgba(240,207,105,.16),transparent 34%),radial-gradient(circle at 84% 23%,rgba(85,211,142,.12),transparent 32%),linear-gradient(180deg,rgba(15,27,41,.95),rgba(6,11,18,.93));box-shadow:0 14px 34px rgba(0,0,0,.35)}
#sA1 .g8-fc::before{content:'';position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:36px 36px;opacity:.45;pointer-events:none}
#sA1 .g8-ft{position:absolute;left:14px;top:12px;right:14px;display:flex;justify-content:space-between;align-items:center;gap:10px;z-index:6}
#sA1 .g8-ft b{color:#f7fbff;font-size:13.5px;line-height:1;font-weight:1000}
#sA1 .g8-ft span{color:#fff1b8;border:1px solid rgba(240,207,105,.48);border-radius:999px;padding:6px 9px;background:rgba(240,207,105,.08);font-size:10px;line-height:1;font-weight:950;white-space:nowrap}
#sA1 .g8-arr{position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none}
#sA1 .g8-arr line{stroke-linecap:round;vector-effect:non-scaling-stroke}
#sA1 .g8-arr .halo{stroke:#020713;stroke-width:17;opacity:.9;filter:drop-shadow(0 5px 8px rgba(0,0,0,.5))}
#sA1 .g8-arr .main{stroke-width:9;filter:drop-shadow(0 0 14px rgba(240,207,105,.5))}
#sA1 .g8-arr .one,#sA1 .g8-arr .three{stroke:#f0cf69}
#sA1 .g8-arr .two{stroke:#55d38e;filter:drop-shadow(0 0 14px rgba(85,211,142,.58))}
#sA1 .g8-arr .flash{stroke:#fff8c7;stroke-width:4;stroke-dasharray:7 9;opacity:0;filter:drop-shadow(0 0 14px rgba(255,248,199,.88))}
#sA1 .g8-arr .f1{animation:g8fl1 5.7s ease-in-out infinite,g8dash 1.1s linear infinite}
#sA1 .g8-arr .f2{animation:g8fl2 5.7s ease-in-out infinite,g8dash 1.1s linear infinite}
#sA1 .g8-arr .f3{animation:g8fl3 5.7s ease-in-out infinite,g8dash 1.1s linear infinite}
@keyframes g8dash{to{stroke-dashoffset:-32}}
@keyframes g8fl1{0%,5%,34%,100%{opacity:0}10%,26%{opacity:1}}
@keyframes g8fl2{0%,34%,67%,100%{opacity:0}42%,59%{opacity:1}}
@keyframes g8fl3{0%,66%,100%{opacity:0}74%,92%{opacity:1}}
#sA1 .g8-step{position:absolute;z-index:7;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#fff8d4;color:#101927;border:2px solid rgba(5,10,17,.9);font-size:13px;line-height:1;font-weight:1000;box-shadow:0 0 0 2px rgba(240,207,105,.64),0 8px 15px rgba(0,0,0,.3)}
#sA1 .g8-step.s1{left:106px;top:124px}#sA1 .g8-step.s2{right:106px;top:124px}#sA1 .g8-step.s3{left:134px;top:209px}
#sA1 .g8-node{position:absolute;z-index:3;border-radius:8px;background:linear-gradient(180deg,rgba(26,40,56,.96),rgba(9,16,26,.96));border:1px solid rgba(255,255,255,.13);box-shadow:0 14px 28px rgba(0,0,0,.32)}
#sA1 .g8-node small{display:block;color:#aebccd;font-size:10px;line-height:1;font-weight:900}
#sA1 .g8-node b{display:block;margin-top:5px;color:#f8fbff;font-size:13.5px;line-height:1.08;font-weight:1000;word-break:keep-all}
#sA1 .g8-co{left:18px;top:114px;width:76px;height:94px;padding:10px 8px}
#sA1 .g8-bld{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;height:31px;margin-bottom:7px;align-items:end}
#sA1 .g8-bld i{display:block;border-radius:4px 4px 2px 2px;background:linear-gradient(180deg,#8ed0ff,#316da9);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
#sA1 .g8-bld i:nth-child(1){height:21px}#sA1 .g8-bld i:nth-child(2){height:31px}#sA1 .g8-bld i:nth-child(3){height:26px}#sA1 .g8-bld i:nth-child(4){height:19px}
#sA1 .g8-coin{position:absolute;z-index:3;left:50%;top:107px;width:86px;height:86px;transform:translateX(-50%);display:grid;place-items:center;text-align:center;border-radius:50%;border:2px solid rgba(240,207,105,.82);background:radial-gradient(circle at 36% 26%,#fff5bd,#e1b84e 62%,#936724);color:#101927;box-shadow:0 20px 40px rgba(0,0,0,.36),0 0 40px rgba(240,207,105,.28);animation:g8coin 2.2s ease-in-out infinite}
@keyframes g8coin{0%,100%{transform:translateX(-50%) scale(1)}50%{transform:translateX(-50%) scale(1.035);box-shadow:0 22px 46px rgba(0,0,0,.4),0 0 56px rgba(240,207,105,.44)}}
#sA1 .g8-coin small{color:#64480f;font-size:9px;font-weight:1000}
#sA1 .g8-coin b{display:block;margin-top:5px;color:#101927;font-size:20px;line-height:1;font-weight:1000}
#sA1 .g8-coin em{display:block;margin-top:5px;color:#735319;font-size:9px;line-height:1;font-style:normal;font-weight:950}
#sA1 .g8-wal{right:18px;top:113px;width:76px;height:91px;padding:10px 8px}
#sA1 .g8-wic{width:48px;height:29px;margin-bottom:7px;border-radius:7px;background:linear-gradient(180deg,#84e4b0,#2f9761);box-shadow:inset 0 -8px 0 rgba(0,0,0,.13);position:relative}
#sA1 .g8-wic::after{content:'';position:absolute;right:6px;top:11px;width:12px;height:12px;border-radius:50%;background:#fff2b8;box-shadow:0 0 0 4px rgba(255,242,184,.14)}
#sA1 .g8-rei{left:83px;bottom:17px;width:194px;min-height:78px;padding:11px;display:grid;grid-template-columns:44px 1fr;align-items:center;gap:10px}
#sA1 .g8-sh{height:43px;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;align-items:end}
#sA1 .g8-sh i{display:block;border-radius:5px;background:linear-gradient(180deg,#fff1aa,#d19f38);box-shadow:0 8px 14px rgba(240,207,105,.18)}
#sA1 .g8-sh i:nth-child(1){height:24px}#sA1 .g8-sh i:nth-child(2){height:34px}#sA1 .g8-sh i:nth-child(3){height:43px}
#sA1 .g8-chip{position:absolute;z-index:5;padding:4px 7px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(5,10,17,.72);font-size:10px;line-height:1;font-weight:1000;white-space:nowrap;box-shadow:0 8px 14px rgba(0,0,0,.22)}
#sA1 .g8-chip.p{left:99px;top:80px;color:#ffe487;border-color:rgba(240,207,105,.5)}#sA1 .g8-chip.w{right:75px;top:83px;color:#8ff0b8;border-color:rgba(85,211,142,.42)}#sA1 .g8-chip.r{left:198px;top:204px;color:#ffe487;border-color:rgba(240,207,105,.5)}
@media (prefers-reduced-motion:reduce){#sA1 .g8-arr .flash,#sA1 .g8-coin{animation:none!important}}
#sA1 .g8-picks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:11px}
#sA1 .g8-pick{min-width:0;text-align:left;border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:9px 9px;
  background:rgba(5,8,13,.5);color:#f5f9ff;cursor:pointer;appearance:none;-webkit-appearance:none}
#sA1 .g8-pick.active{border-color:#e8c777;background:rgba(232,199,119,.12);box-shadow:0 0 0 1.5px #e8c777 inset}
#sA1 .g8-pick b{display:block;font-size:12px;font-weight:900;line-height:1.2;word-break:keep-all}
#sA1 .g8-pick small{display:block;margin-top:3px;font-size:9px;font-weight:800;color:#aebdcc;line-height:1.3;word-break:keep-all}
#sA1 .g8-pick em{display:block;margin-top:5px;font-size:9.5px;font-style:normal;font-weight:900;color:#e8c777;font-variant-numeric:tabular-nums}
#sA1 .g8-nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:11px}
#sA1 .g8-nums div{min-width:0;background:rgba(5,8,13,.5);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:9px 8px;text-align:center}
#sA1 .g8-nums div.gold{border-color:rgba(232,199,119,.6);background:rgba(232,199,119,.1)}
#sA1 .g8-nums span{display:block;font-size:9.5px;font-weight:900;color:#aebdcc;word-break:keep-all}
#sA1 .g8-nums b{display:block;margin-top:4px;font-size:16px;font-weight:950;color:#f5f9ff;font-variant-numeric:tabular-nums;line-height:1}
#sA1 .g8-nums div.gold b{color:#e8c777}
#sA1 .g8-two{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}
#sA1 .g8-two div{background:rgba(5,8,13,.5);border:1px solid rgba(255,255,255,.1);border-radius:11px;padding:9px 10px}
#sA1 .g8-two b{display:block;font-size:12px;font-weight:900;color:#f5f9ff}
#sA1 .g8-two span{display:block;margin-top:3px;font-size:9.5px;font-weight:800;color:#aebdcc;word-break:keep-all}
#sA1 .g8-invest{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:stretch;margin-bottom:10px}
#sA1 .g8-money-box{min-height:82px;border:1px solid rgba(255,255,255,.1);border-radius:10px;
  background:rgba(255,255,255,.055);padding:10px;display:flex;flex-direction:column;justify-content:center}
#sA1 .g8-money-box.gold{border-color:rgba(233,202,114,.7);background:rgba(233,202,114,.11)}
#sA1 .g8-money-box span{color:#aebbd0;font-size:11px;line-height:1.12;font-weight:800;word-break:keep-all}
#sA1 .g8-money-box b{display:block;margin-top:6px;color:#f7fbff;font-size:26px;line-height:1;
  font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}
#sA1 .g8-money-box.gold b{color:#fff0ad}
#sA1 .g8-arrow-small{width:30px;display:grid;place-items:center;color:#e9ca72;font-size:26px;font-weight:900}
#sA1 .g8-mode-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:9px}
#sA1 .g8-flow-panel{position:relative;height:198px;border:1px solid rgba(255,255,255,.08);border-radius:10px;
  overflow:hidden;background:linear-gradient(180deg,rgba(5,10,18,.78),rgba(5,9,15,.9))}
#sA1 .g8-flow-panel svg{display:block;width:100%;height:100%}
#sA1 .g8-flow-card{fill:rgba(255,255,255,.07);stroke:rgba(255,255,255,.14);stroke-width:1.4;transition:all .18s ease}
#sA1 .g8-flow-card.active-wallet{stroke:rgba(233,202,114,.9);fill:rgba(233,202,114,.1)}
#sA1 .g8-flow-card.active-reinvest{stroke:rgba(91,210,145,.9);fill:rgba(91,210,145,.1)}
#sA1 .g8-flow-title{fill:#eef3fb;font-size:13px;font-weight:900}
#sA1 .g8-flow-sub{fill:#aebbd0;font-size:10px;font-weight:800}
#sA1 .g8-flow-money{fill:#fff0ad;font-size:24px;font-weight:900}
#sA1 .g8-flow-line{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;transition:opacity .18s ease}
#sA1 .g8-flow-line.wallet{stroke:#e9ca72}
#sA1 .g8-flow-line.reinvest{stroke:#5bd291}
#sA1 .g8-muted{opacity:.18}
#sA1 .g8-mini-list{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px}
#sA1 .g8-mini-row{min-height:54px;display:grid;grid-template-columns:1fr;gap:3px;align-items:center;
  border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:6px 5px;
  background:rgba(255,255,255,.045);text-align:center}
#sA1 .g8-mini-row strong{font-size:12px;font-weight:900;color:#f4f8ff}
#sA1 .g8-mini-row span{font-size:9.5px;font-weight:800;color:#aebbd0;word-break:keep-all}
#sA1 .g8-mini-row b{font-size:13px;font-weight:900;color:#fff0ad;white-space:nowrap}
/* 옛 스타일 유지 (아래 이어짐) */
/* 8학년 — 배당·주가 같이 보기 (옛 시안 61 CSS · 일부 시안 63에서도 사용) */
#sA1 .g8-card{border:1px solid rgba(56,97,133,.82);border-radius:12px;padding:11px;
  background:linear-gradient(180deg,rgba(18,30,44,.95),rgba(8,15,25,.91));box-shadow:0 14px 30px rgba(0,0,0,.3)}
#sA1 .g8-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
#sA1 .g8-panel-head strong{color:#f1f6ff;font-size:14px;font-weight:900}
#sA1 .g8-basis{border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:5px 8px;
  color:#d6e1ef;background:rgba(255,255,255,.06);font-size:10px;line-height:1;font-weight:900;white-space:nowrap}
#sA1 .g8-picks{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:9px}
#sA1 .g8-pick{min-height:42px;border:1px solid rgba(255,255,255,.15);border-radius:10px;
  background:rgba(255,255,255,.055);color:#dbe5f1;font-size:13px;line-height:1.12;font-weight:900;cursor:pointer}
#sA1 .g8-pick small{display:block;margin-top:3px;color:#9fb0c6;font-size:9px;font-weight:800}
#sA1 .g8-pick.active{border-color:rgba(233,202,114,.94);background:rgba(233,202,114,.13);
  color:#e9ca72;box-shadow:0 0 0 2px rgba(233,202,114,.1)}
#sA1 .g8-chart{position:relative;height:198px;border:1px solid rgba(255,255,255,.08);border-radius:10px;
  overflow:hidden;background:linear-gradient(180deg,rgba(5,10,18,.74),rgba(5,9,15,.92))}
#sA1 .g8-chart svg{display:block;width:100%;height:100%}
#sA1 .g8-gridline{stroke:rgba(255,255,255,.12);stroke-width:1}
#sA1 .g8-axis-label{fill:#aebbd0;font-size:10px;font-weight:800}
#sA1 .g8-price{fill:none;stroke:#6aa9ff;stroke-width:5.4;stroke-linecap:round;stroke-linejoin:round;
  filter:drop-shadow(0 6px 9px rgba(106,169,255,.2))}
#sA1 .g8-price.negative{stroke:#ff8a8a}
#sA1 .g8-bar{fill:rgba(233,202,114,.82)}
#sA1 .g8-bar.alt{fill:rgba(87,208,144,.78)}
#sA1 .g8-bubble{fill:rgba(6,11,18,.94);stroke:rgba(233,202,114,.76);stroke-width:1.2}
#sA1 .g8-bubble-text{fill:#fff0ad;font-size:11px;font-weight:900}
#sA1 .g8-legend{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:8px 0 0}
#sA1 .g8-legend span{display:flex;align-items:center;gap:6px;color:#c8d4e4;font-size:11px;font-weight:800;white-space:nowrap}
#sA1 .g8-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:9px}
#sA1 .g8-metric{min-height:64px;border:1px solid rgba(255,255,255,.1);border-radius:10px;
  padding:8px;background:rgba(255,255,255,.045)}
#sA1 .g8-metric span{display:block;color:#aebbd0;font-size:10px;line-height:1.1;font-weight:800;word-break:keep-all}
#sA1 .g8-metric b{display:block;margin-top:6px;color:#f5f8ff;font-size:17px;line-height:1;font-weight:900;
  font-variant-numeric:tabular-nums;white-space:nowrap}
#sA1 .g8-metric b.good{color:#8ef0b6}
#sA1 .g8-metric b.warn{color:#ff8a8a}
#sA1 .g8-note{margin:8px 0 0;color:#cbd7e7;font-size:12px;line-height:1.36;font-weight:800;word-break:keep-all}
#sA1 .g8-note b{color:#e9ca72}
/* 사장님 지시(2026-08-31): 종목 설명 카드 (What is this stock) */
#sA1 .g8-desc{margin-top:9px;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:10px 11px;
  background:rgba(255,255,255,.04)}
#sA1 .g8-desc-head{display:flex;align-items:baseline;gap:7px;margin-bottom:5px}
#sA1 .g8-desc-head b{color:#e9ca72;font-size:13px;font-weight:900}
#sA1 .g8-desc-head span{color:#aebbd0;font-size:11px;font-weight:800}
#sA1 .g8-desc p{margin:0;color:#cbd7e7;font-size:11.5px;line-height:1.5;font-weight:800;word-break:keep-all}
#sA1 .g8-desc-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
#sA1 .g8-desc-tags span{border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:3px 8px;
  background:rgba(255,255,255,.05);color:#c8d4e4;font-size:9.5px;font-weight:800;white-space:nowrap}
#sA1 .g8-mode{min-height:40px;border:1px solid rgba(255,255,255,.17);border-radius:999px;
  background:rgba(255,255,255,.055);color:#dce6f5;font-size:13px;font-weight:900;cursor:pointer}
#sA1 .g8-mode.active{border-color:rgba(233,202,114,.92);background:rgba(233,202,114,.14);color:#e9ca72}
#sA1 .g8-flow-visual{position:relative;height:194px;border:1px solid rgba(255,255,255,.08);border-radius:10px;
  background:rgba(5,10,18,.76);overflow:hidden}
#sA1 .g8-flow-visual svg{width:100%;height:100%;display:block}
#sA1 .g8-node{fill:rgba(255,255,255,.07);stroke:rgba(255,255,255,.16);stroke-width:1.4}
#sA1 .g8-node-label{fill:#eef3fb;font-size:12px;font-weight:900}
#sA1 .g8-node-sub{fill:#aebbd0;font-size:10px;font-weight:800}
#sA1 .g8-arrow-wallet{stroke:#e9ca72;stroke-width:6;stroke-linecap:round;fill:none}
#sA1 .g8-arrow-reinvest{stroke:#57d090;stroke-width:6;stroke-linecap:round;fill:none}
#sA1 .g8-arrow-muted{opacity:.22}
#sA1 .g8-table{display:grid;gap:6px;margin-top:9px}
#sA1 .g8-table-row{display:grid;grid-template-columns:76px 1fr 1fr 1fr;gap:5px;align-items:stretch}
#sA1 .g8-table-row span{min-height:30px;display:flex;align-items:center;justify-content:center;
  border-radius:8px;padding:5px 3px;background:rgba(255,255,255,.055);color:#d7e1ee;font-size:10px;
  line-height:1.12;font-weight:900;text-align:center;word-break:keep-all}
#sA1 .g8-table-row.header span{background:rgba(255,255,255,.08);color:#aebbd0;font-size:9px}
#sA1 .g8-table-row .gold{color:#fff0ad}
#sA1 .g8-table-row .green{color:#9ff0bf}
#sA1 .g8-table-row .red{color:#ffb1b1}
#sA1 .g8-callout{margin-top:9px;border:1px solid rgba(233,202,114,.72);border-radius:10px;padding:11px;
  background:rgba(233,202,114,.1);color:#fff0b8;font-size:14px;line-height:1.34;font-weight:900;word-break:keep-all}
#sA1 .g8-callout small{display:block;margin-top:7px;color:#cbd7e7;font-size:11px;line-height:1.34;font-weight:800}
/* 10학년 — 졸업 테스트 (GPT 시안 65, 사장님 2026-08-31 "이걸로해") */
/* 10학년 시안 74 — 손잡이 실제로 움직임 + 실측 그래프 + 졸업 3칸 (2026-09-03) */
#sA1 .g10-track{position:relative}
#sA1 .g10-track input[type=range]{position:absolute;inset:-8px 0;width:100%;height:calc(100% + 16px);margin:0;opacity:0;cursor:pointer}
#sA1 .g10-metric.warn b{color:#ff8b84}
#sA1 .g10-metric b small{display:block;font-size:9px;font-weight:800;color:#aebdcc;margin-top:2px}
#sA1 .g10-real-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:10px 0}
#sA1 .g10-real-row div{min-width:0;background:rgba(5,8,13,.5);border:1px solid rgba(232,199,119,.35);border-radius:12px;padding:9px 6px;text-align:center}
#sA1 .g10-real-row span{display:block;font-size:9px;font-weight:900;color:#aebdcc;word-break:keep-all}
#sA1 .g10-real-row b{display:block;margin-top:4px;font-size:13px;font-weight:950;color:#e8c777;font-variant-numeric:tabular-nums;word-break:keep-all}
#sA1 .g10-card{border:1px solid rgba(56,97,133,.82);border-radius:12px;padding:12px;
  background:linear-gradient(180deg,rgba(18,30,44,.95),rgba(8,15,25,.91));box-shadow:0 14px 30px rgba(0,0,0,.3)}
#sA1 .g10-scenario{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
#sA1 .g10-stat{min-height:66px;border:1px solid rgba(255,255,255,.13);border-radius:10px;padding:10px;
  background:rgba(255,255,255,.055)}
#sA1 .g10-stat.wide{grid-column:1/-1}
#sA1 .g10-stat span{display:block;color:#afbed0;font-size:11px;line-height:1.15;font-weight:800;word-break:keep-all}
#sA1 .g10-stat b{display:block;margin-top:7px;color:#fff0ad;font-size:24px;line-height:1;
  font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}
#sA1 .g10-stat.wide b{font-size:15px;line-height:1.22;color:#f2f7ff;white-space:normal}
#sA1 .g10-question{margin:0 0 8px;color:#f6f9ff;font-size:16px;line-height:1.28;font-weight:900;word-break:keep-all}
#sA1 .g10-choice-list{display:grid;gap:8px}
#sA1 .g10-choice{width:100%;border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:11px 12px;
  background:rgba(255,255,255,.045);color:#dfe8f5;text-align:left;display:grid;
  grid-template-columns:32px 1fr auto;align-items:center;gap:10px;cursor:pointer;min-height:56px;font:inherit;transition:all .18s ease}
#sA1 .g10-choice strong{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.2);color:#f6fbff;font-size:14px;font-weight:900;background:rgba(255,255,255,.06)}
#sA1 .g10-choice span{color:#e7eef8;font-size:13px;line-height:1.24;font-weight:900;word-break:keep-all}
#sA1 .g10-choice em{color:#95a4b8;font-size:11px;line-height:1;font-style:normal;font-weight:900;white-space:nowrap}
#sA1 .g10-choice.is-right{border-color:rgba(233,202,114,.95);
  background:linear-gradient(180deg,rgba(233,202,114,.13),rgba(233,202,114,.06));
  box-shadow:0 0 0 1px rgba(233,202,114,.18) inset,0 12px 24px rgba(233,202,114,.08)}
#sA1 .g10-choice.is-right strong{background:#e9ca72;color:#07101b;border-color:#e9ca72}
#sA1 .g10-choice.is-right em{color:#e9ca72}
#sA1 .g10-choice.is-wrong{border-color:rgba(255,114,114,.6);background:rgba(255,114,114,.08)}
#sA1 .g10-choice.is-wrong strong{background:rgba(255,114,114,.4);color:#fff;border-color:rgba(255,114,114,.6)}
#sA1 .g10-hints{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
#sA1 .g10-hint{border:1px solid rgba(105,168,255,.34);border-radius:999px;padding:6px 8px;
  background:rgba(105,168,255,.08);color:#cfe2ff;font-size:11px;line-height:1;font-weight:900;white-space:nowrap}
#sA1 .g10-note{margin:0;color:#b8c6d8;font-size:12px;line-height:1.45;font-weight:800;text-align:center;word-break:keep-all}
#sA1 .g10-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:10px}
#sA1 .g10-metric{min-height:66px;border:1px solid rgba(255,255,255,.13);border-radius:10px;padding:10px 8px;
  background:rgba(255,255,255,.055)}
#sA1 .g10-metric span{display:block;color:#afbed0;font-size:10px;line-height:1.12;font-weight:900;word-break:keep-all}
#sA1 .g10-metric b{display:block;margin-top:7px;color:#fff0ad;font-size:15px;line-height:1.12;font-weight:900;word-break:keep-all}
#sA1 .g10-sliders{display:grid;gap:8px}
#sA1 .g10-slider{display:grid;grid-template-columns:66px 1fr 38px;gap:9px;align-items:center;min-height:34px}
#sA1 .g10-slider>b{color:#edf4ff;font-size:12px;line-height:1.1;font-weight:900;word-break:keep-all}
#sA1 .g10-slider>em{color:#fff0ad;font-size:12px;line-height:1;font-style:normal;font-weight:900;
  text-align:right;font-variant-numeric:tabular-nums}
#sA1 .g10-track{position:relative;height:9px;border-radius:999px;background:rgba(255,255,255,.18);overflow:visible}
#sA1 .g10-fill{position:absolute;inset:0 auto 0 0;width:var(--w);border-radius:999px;
  background:linear-gradient(90deg,var(--c),rgba(255,240,173,.9))}
#sA1 .g10-knob{position:absolute;top:50%;left:var(--w);width:16px;height:16px;border-radius:50%;
  background:#fff0ad;border:2px solid rgba(6,12,20,.72);transform:translate(-50%,-50%);box-shadow:0 3px 10px rgba(0,0,0,.36)}
#sA1 .g10-total{display:flex;justify-content:space-between;align-items:center;margin-top:10px;
  padding-top:9px;border-top:1px solid rgba(255,255,255,.09);color:#d6e0ee;font-size:12px;line-height:1;font-weight:900}
#sA1 .g10-total b{color:#fff0ad;font-size:15px}
#sA1 .g10-chart{height:140px;position:relative;border:1px solid rgba(56,97,133,.72);border-radius:10px;
  overflow:hidden;background:linear-gradient(180deg,rgba(11,18,29,.92),rgba(6,12,20,.88));margin-top:10px}
#sA1 .g10-chart svg{position:absolute;inset:0;width:100%;height:100%}
#sA1 .g10-cut{position:absolute;left:70%;top:14px;bottom:16px;border-left:3px solid #ff7272;
  box-shadow:0 0 12px rgba(255,114,114,.42)}
#sA1 .g10-cut span{position:absolute;top:-3px;left:8px;color:#ff9a9a;font-size:11px;font-weight:900;
  white-space:nowrap;text-shadow:0 2px 8px rgba(0,0,0,.8)}
#sA1 .g10-chart-label{position:absolute;left:12px;bottom:8px;color:#c9d6e8;font-size:10.5px;font-weight:900}
#sA1 .g10-score{border:1px solid rgba(233,202,114,.72);border-radius:10px;background:rgba(233,202,114,.1);
  padding:13px 12px;display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;margin-bottom:9px}
#sA1 .g10-score-mark{width:54px;height:54px;border-radius:50%;background:#e9ca72;color:#07101b;
  display:grid;place-items:center;font-size:26px;font-weight:900;box-shadow:0 10px 24px rgba(233,202,114,.18)}
#sA1 .g10-score strong{display:block;color:#fff2b2;font-size:19px;line-height:1.1;font-weight:900}
#sA1 .g10-score span{display:block;margin-top:5px;color:#dce5f2;font-size:12px;line-height:1.35;font-weight:800;word-break:keep-all}
#sA1 .g10-checks{display:grid;gap:8px}
#sA1 .g10-check{display:grid;grid-template-columns:86px 1fr;gap:10px;align-items:center;min-height:44px;
  border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:8px}
#sA1 .g10-check:last-child{border-bottom:0;padding-bottom:0}
#sA1 .g10-check b{color:#fff0ad;font-size:12.5px;line-height:1.1;font-weight:900;word-break:keep-all}
#sA1 .g10-check span{color:#e4edf8;font-size:12.5px;line-height:1.28;font-weight:800;word-break:keep-all}
#sA1 .g10-route{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-top:9px}
#sA1 .g10-route span{min-height:38px;border:1px solid rgba(91,210,145,.38);border-radius:8px;
  background:rgba(91,210,145,.08);display:grid;place-items:center;text-align:center;
  color:#cbf5dc;font-size:10px;line-height:1.12;font-weight:900;word-break:keep-all}
#sA1 .g10-lesson{margin-top:9px;border:1px solid rgba(233,202,114,.55);border-radius:10px;padding:12px;
  background:rgba(233,202,114,.09);color:#fff1b5;font-size:15px;line-height:1.35;font-weight:900;word-break:keep-all}
/* 10학년 졸업 = 실전 입장 카드 (사장님 2026-09-01). */
#sA1 .g10-real{padding:16px 8px 12px;text-align:center}
#sA1 .g10-real-badge{display:inline-block;padding:6px 14px;border-radius:99px;background:rgba(232,199,119,.14);
  border:1px solid rgba(232,199,119,.55);color:#fff0ad;font-size:11px;font-weight:900;letter-spacing:2px;margin-bottom:16px}
#sA1 .g10-real-cap{border:2px solid #e8c777;border-radius:14px;padding:18px 12px 16px;
  background:rgba(232,199,119,.07);box-shadow:0 0 22px rgba(232,199,119,.20)}
#sA1 .g10-real-cap span{display:block;color:#dfe7f0;font-size:12.5px;font-weight:900;margin-bottom:6px}
#sA1 .g10-real-cap b{display:block;color:#ffe08a;font-size:46px;line-height:1;font-weight:900;
  letter-spacing:-1px;font-variant-numeric:tabular-nums}
#sA1 .g10-real-note{margin-top:12px;padding:14px 14px;border:1px solid rgba(232,199,119,.32);border-radius:12px;
  background:rgba(232,199,119,.06);color:#dfe7f0;font-size:14px;font-weight:800;letter-spacing:-.2px;line-height:1.4}
#sA1 .g10-real-note b{color:#ffe08a;font-weight:900}
@keyframes crdraw{from{stroke-dashoffset:1} to{stroke-dashoffset:0}}
@keyframes stkdraw{to{stroke-dashoffset:0}}
/* 9학년 시안 74 — 목돈 인출 두 선 + 손잡이 (2026-09-03) */
#sA1 .g9-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:10px}
#sA1 .g9-three div{min-width:0;background:rgba(5,8,13,.5);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:9px 8px}
#sA1 .g9-three span{display:block;font-size:9.5px;font-weight:900;color:#aebdcc}
#sA1 .g9-three b{display:block;margin-top:4px;font-size:18px;font-weight:950;color:#f5f9ff;font-variant-numeric:tabular-nums;line-height:1}
#sA1 .g9-wchart{display:block;width:100%;height:auto;margin-top:8px}
#sA1 .g9-wchart .gl{stroke:rgba(255,255,255,.14);stroke-width:1}
#sA1 .g9-wchart .gl.start{stroke:rgba(232,199,119,.45);stroke-dasharray:4 4}
#sA1 .g9-wchart .ax{fill:#dce6f5;font-size:11px;font-weight:900}
#sA1 .g9-wchart .l16{fill:none;stroke:#69a8ff;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
#sA1 .g9-wchart .l07{fill:none;stroke:#ff5750;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
#sA1 .g9-wchart .lowdot{fill:#ff5750;stroke:#fff;stroke-width:2;filter:drop-shadow(0 0 8px rgba(255,87,80,.6))}
#sA1 .g9-wchart .lowlab{fill:#ff8b84;font-size:11px;font-weight:900}
#sA1 .g9-wchart .lowdot.soft{fill:#ffb3ad;filter:none;opacity:.9}
#sA1 .g9-wchart .lowlab.soft{fill:#ffb3ad;font-size:10px}
#sA1 .g9-wchart .lab16{fill:#8fc1ff;font-size:11px;font-weight:900;text-anchor:end}
#sA1 .g9-wchart .lab07{fill:#ff8b84;font-size:11px;font-weight:900;text-anchor:end}
#sA1 .g9-slds{margin-top:9px}
#sA1 .g9-sld{display:grid;grid-template-columns:64px 1fr 56px;gap:10px;align-items:center;padding:6px 0}
#sA1 .g9-sld span{font-size:11px;font-weight:900;color:#dce6f5}
#sA1 .g9-sld b{font-size:12px;font-weight:900;color:#e8c777;text-align:right;font-variant-numeric:tabular-nums}
#sA1 .g9-sld input[type=range]{width:100%;accent-color:#e8c777}
#sA1 .g9-res{display:grid;grid-template-columns:76px 1fr 1fr;gap:8px;align-items:center;padding:10px 4px;border-bottom:1px solid rgba(255,255,255,.08)}
#sA1 .g9-res:last-child{border-bottom:0}
#sA1 .g9-res>b{font-size:12px;font-weight:900;color:#8fc1ff}
#sA1 .g9-res.bad>b{color:#ff8b84}
#sA1 .g9-res span{display:block;font-size:9px;font-weight:800;color:#aebdcc}
#sA1 .g9-res em{display:block;margin-top:3px;font-size:13px;font-style:normal;font-weight:950;color:#f5f9ff;font-variant-numeric:tabular-nums;word-break:keep-all}
#sA1 .g9-res.bad em{color:#ffd0cc}
#sA1 .g9-card{border:1px solid rgba(56,97,133,.82);border-radius:12px;padding:11px;
  background:linear-gradient(180deg,rgba(18,30,44,.95),rgba(8,15,25,.91));box-shadow:0 14px 30px rgba(0,0,0,.3)}
#sA1 .g9-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
#sA1 .g9-panel-head strong{color:#f1f6ff;font-size:14px;font-weight:900}
#sA1 .g9-basis{border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:5px 8px;
  color:#d6e1ef;background:rgba(255,255,255,.06);font-size:10px;line-height:1;font-weight:900;white-space:nowrap}
#sA1 .g9-money{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:stretch;margin-bottom:9px}
#sA1 .g9-money-box{min-height:78px;border:1px solid rgba(255,255,255,.1);border-radius:10px;
  background:rgba(255,255,255,.055);padding:10px;display:flex;flex-direction:column;justify-content:center}
#sA1 .g9-money-box.gold{border-color:rgba(233,202,114,.7);background:rgba(233,202,114,.11)}
#sA1 .g9-money-box span{color:#aebbd0;font-size:11px;line-height:1.12;font-weight:800;word-break:keep-all}
#sA1 .g9-money-box b{display:block;margin-top:6px;color:#f7fbff;font-size:26px;line-height:1;
  font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}
#sA1 .g9-money-box.gold b{color:#fff0ad}
#sA1 .g9-arrow{width:28px;display:grid;place-items:center;color:#e9ca72;font-size:26px;font-weight:900}
#sA1 .g9-rate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
#sA1 .g9-rate{min-width:0;overflow:hidden}
#sA1 .g9-rate em{white-space:normal!important;word-break:keep-all;text-align:center;line-height:1.2;font-size:10.5px!important;padding:3px 6px!important;max-width:100%}
#sA1 .g9-subhead{margin:12px 0 6px;display:flex;flex-direction:column;gap:2px}
#sA1 .g9-subhead b{color:#f1f6ff;font-size:13.5px;font-weight:900;letter-spacing:-.2px}
#sA1 .g9-subhead small{color:#8fa1b6;font-size:11.5px;line-height:1.3;font-weight:800;word-break:keep-all}
#sA1 .g9-rate{min-height:110px;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:8px;
  background:rgba(255,255,255,.05);appearance:none;-webkit-appearance:none;color:inherit;font:inherit;
  text-align:left;cursor:pointer;transition:border-color .15s, box-shadow .15s, background .15s}
#sA1 .g9-rate:hover{border-color:rgba(233,202,114,.38);background:rgba(255,255,255,.075)}
#sA1 .g9-rate.active{border-color:#e8c777;background:rgba(232,199,119,.12);
  box-shadow:0 0 0 1.5px #e8c777 inset, 0 0 14px rgba(232,199,119,.35)}
#sA1 .g9-rate.active strong,#sA1 .g9-rate.active b{color:#fff5c9}
#sA1 .g9-rate strong{display:block;color:#fff0ad;font-size:26px;line-height:1;font-weight:900;font-variant-numeric:tabular-nums}
#sA1 .g9-rate em{display:inline-flex;align-items:center;min-height:22px;margin-top:7px;
  border:1px solid rgba(233,202,114,.42);border-radius:999px;padding:4px 7px;color:#fff0ad;
  background:rgba(233,202,114,.09);font-size:10px;line-height:1;font-style:normal;font-weight:900;white-space:nowrap}
#sA1 .g9-rate span{display:block;margin-top:6px;color:#dce6f5;font-size:12px;line-height:1.18;font-weight:900;word-break:keep-all}
#sA1 .g9-rate b{display:block;margin-top:4px;color:#f7fbff;font-size:18px;line-height:1;
  font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}
#sA1 .g9-note{margin:8px 0 0;color:#cbd7e7;font-size:12px;line-height:1.34;font-weight:800;word-break:keep-all}
#sA1 .g9-note b{color:#e9ca72}
#sA1 .g9-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:9px}
#sA1 .g9-tab{min-height:42px;border:1px solid rgba(255,255,255,.15);border-radius:10px;
  background:rgba(255,255,255,.055);color:#dbe5f1;font-size:13px;line-height:1.12;font-weight:900;cursor:pointer}
#sA1 .g9-tab small{display:block;margin-top:3px;color:#9fb0c6;font-size:9px;font-weight:800}
#sA1 .g9-tab.active{border-color:rgba(233,202,114,.94);background:rgba(233,202,114,.13);
  color:#e9ca72;box-shadow:0 0 0 2px rgba(233,202,114,.1)}
#sA1 .g9-flow{height:220px;border:1px solid rgba(255,255,255,.08);border-radius:10px;
  padding:12px;background:linear-gradient(180deg,rgba(5,10,18,.74),rgba(5,9,15,.93));overflow:hidden}
#sA1 .g9-cash-head{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start;margin-bottom:9px}
#sA1 .g9-cash-head strong{display:block;color:#fff0ad;font-size:19px;line-height:1;font-weight:900;
  font-variant-numeric:tabular-nums;white-space:nowrap}
#sA1 .g9-cash-head span{display:block;margin-top:6px;color:#aebbd0;font-size:10px;line-height:1.18;font-weight:800;word-break:keep-all}
#sA1 .g9-rhythm{border:1px solid rgba(233,202,114,.42);border-radius:999px;padding:6px 8px;color:#fff0ad;
  background:rgba(233,202,114,.09);font-size:10px;line-height:1;font-weight:900;white-space:nowrap}
#sA1 .g9-month-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
#sA1 .g9-month{min-height:36px;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:5px 6px;
  background:rgba(255,255,255,.045)}
#sA1 .g9-month.has-dividend{border-color:rgba(233,202,114,.72);background:rgba(233,202,114,.12)}
#sA1 .g9-month.has-interest{border-color:rgba(91,210,145,.62);background:rgba(91,210,145,.1)}
#sA1 .g9-month.has-mix{border-color:rgba(105,168,255,.58);background:linear-gradient(90deg,rgba(233,202,114,.12),rgba(91,210,145,.1))}
#sA1 .g9-month span{display:block;color:#9fb0c6;font-size:9px;line-height:1;font-weight:900}
#sA1 .g9-month b{display:block;margin-top:4px;color:#f5f8ff;font-size:11px;line-height:1;
  font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}
#sA1 .g9-month.is-empty b{color:#657386}
#sA1 .g9-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:9px}
#sA1 .g9-metric{min-height:64px;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:8px;background:rgba(255,255,255,.045)}
#sA1 .g9-metric span{display:block;color:#aebbd0;font-size:10px;line-height:1.1;font-weight:800;word-break:keep-all}
#sA1 .g9-metric b{display:block;margin-top:6px;color:#f5f8ff;font-size:16px;line-height:1;
  font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}
#sA1 .g9-metric b.warn{color:#ffb1b1}
#sA1 .g9-metric b.good{color:#9ff0bf}
#sA1 .g9-targets{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:9px}
#sA1 .g9-target{min-height:50px;border:1px solid rgba(255,255,255,.15);border-radius:10px;
  background:rgba(255,255,255,.055);color:#dce6f5;font-size:13px;line-height:1.12;font-weight:900;cursor:pointer;word-break:keep-all}
#sA1 .g9-target small{display:block;margin-top:3px;color:#9fb0c6;font-size:9px;font-weight:800}
#sA1 .g9-target.active{border-color:rgba(105,168,255,.88);background:rgba(105,168,255,.13);color:#dceaff}
#sA1 .g9-gauge{height:170px;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:14px 12px 12px;
  background:linear-gradient(180deg,rgba(5,10,18,.74),rgba(5,9,15,.93))}
#sA1 .g9-big-cash{text-align:center;color:#f1f6ff;font-size:22px;line-height:1.28;font-weight:900;
  letter-spacing:-.2px;font-variant-numeric:tabular-nums;word-break:keep-all}
#sA1 .g9-big-cash em{display:block;font-style:normal;color:#fff0ad;font-size:30px;line-height:1.1;font-weight:900;margin-top:2px}
#sA1 .g9-big-cash em small{font-size:15px;font-weight:800;color:#aebbd0;margin-left:5px;letter-spacing:0}
#sA1 .g9-big-cash>span{display:block;margin-top:8px;color:#aebbd0;font-size:11.5px;line-height:1.25;font-weight:800}
#sA1 .g9-bar{height:22px;margin-top:16px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
#sA1 .g9-bar-fill{width:var(--w,33%);height:100%;border-radius:999px;background:linear-gradient(90deg,#5bd291,#b3f5ca)}
#sA1 .g9-bar-labels{display:flex;justify-content:space-between;gap:10px;margin-top:8px;
  color:#aebbd0;font-size:10px;font-weight:800;white-space:nowrap}
#sA1 .g9-callout{margin-top:9px;border:1px solid rgba(233,202,114,.72);border-radius:10px;padding:11px;
  background:rgba(233,202,114,.1);color:#fff0b8;font-size:14px;line-height:1.32;font-weight:900;word-break:keep-all}
#sA1 .g9-callout small{display:block;margin-top:7px;color:#cbd7e7;font-size:11px;line-height:1.34;font-weight:800}

/* ══ 태블릿 세로 (740~959): 휴대폰 배치를 그대로 560px 기둥에 가운데 놓는다 — 두 기둥으로 안 가른다 (사장님 2026-09-07 "모바일처럼 한 줄") ══ */
@media (min-width:740px) and (max-width:959px){
  #app{max-width:560px;margin:0 auto}
  #sA1 .acpopc .half{justify-content:flex-start;width:min(calc(var(--hb)*.95),100vw)}   /* 든 손까지 잘리지 않게 */
  #sA1 .acpopc .half img{transform:none;margin:0}   /* 손가락이 오른쪽을 보게 — 안 뒤집으니 얼굴이 왼쪽에 있어 왼쪽 기준으로 자른다 (사장님 2026-09-07) */
  #sA1 .acpopc,#sA1 .acpopcap{--popc:680px!important;--hb:680px!important}   /* 태블릿 팝업 크게(그림 높이 680, 원본 1000px 이라 2배 화면에서 흐려지지 않는 선) — 상반신만 (사장님 2026-09-07) */
  #sA1 .acpopc .half{height:calc(var(--hb)*.46)}
  #sA1 .acpopc:not(.center){bottom:185px!important}   /* 아래 고정 버튼(다음) 위의 빈 띠에 앉힌다 */
  #sA1 .acpopcap{bottom:420px!important}   /* 자막은 얼굴 옆 높이로 */
  #sA1:has(.a02wk) .acpopc,#sA1:has(.a02wk) .acpopcap{--hb:430px!important;--popc:430px!important}   /* 그래프까지 든 1학년 화면은 빈 띠가 좁아 430 (사장님 2026-09-07) */
  #sA1:has(.a02wk) .acpopc:not(.center){bottom:186px!important}
  #sA1:has(.a02wk) .acpopcap{bottom:318px!important}
  #sA1 .acpopc.sideL:not(.center){bottom:62px!important;--hb:430px!important;--popc:430px!important}   /* 왼쪽 아래 팝업(8학년)은 버튼 바로 위 — 위 185px 규칙보다 뒤에 두어 이긴다 */
  #sA1 .acpopc .cap.capin{margin-left:48px;margin-top:-66px}   /* 입장 화면 자막: 기둥 안쪽·머리 위 왼쪽 (얼굴 안 가리게) */
  /* 1학년 세 장 + 지난 한 주(태블릿): 왼쪽 설명 | 오른쪽 그래프·결과 두 칸 — 세로로 쌓으면 팝업 자리가 없다 (사장님 2026-09-07) */
  #sA1 .wrap>.content.a02wk{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-rows:auto auto auto auto auto;gap:6px 10px;align-items:stretch;align-content:start}   /* 본문 칸이 세로로 늘어나도 줄이 벌어지지 않게 */
  #sA1 .wrap>.content.a02wk>.rail{grid-column:1/-1;grid-row:1;margin:0!important;padding-bottom:0!important}
  #sA1 .wrap>.content.a02wk>.mini:not(.wkcap){grid-column:1/-1;grid-row:2;margin:0!important;font-size:12px}
  #sA1 .wrap>.content.a02wk>.glass.card1{grid-column:1/-1;grid-row:3;margin:0;padding:10px 10px}   /* 설명 가로로 넓게, 그래프는 그 아래 (사장님 2026-09-07) */
  #sA1 .wrap>.content.a02wk>.glass.card1 .key{font-size:15px}
  #sA1 .wrap>.content.a02wk>.glass.wkc{grid-column:1;grid-row:4;margin:0;padding:8px 8px 6px}
  #sA1 .wrap>.content.a02wk>.glass.wkr{grid-column:2;grid-row:4;margin:0;padding:8px 12px;display:flex;flex-direction:column;justify-content:center}
  #sA1 .wrap>.content.a02wk>.mini.wkcap{grid-column:1/-1;grid-row:5;margin-top:0!important}
  #sA1 .wrap>.content.a02wk .wkg svg{height:84px;width:100%}
  #sA1 .wrap>.content.a02wk .wkl{font-size:11px;gap:3px 8px;flex-wrap:nowrap;justify-content:center}
  #sA1 .wrap>.content.a02wk .wkr .k{font-size:11px}
  #sA1 .wrap>.content.a02wk .wkr .row{flex-wrap:wrap;gap:2px 8px;align-items:baseline}
  #sA1 .wrap>.content.a02wk .wkr .row b{font-size:20px}
  #sA1 .wrap>.content.a02wk .wkr .row em.big{font-size:16px}
  #sA1 .wrap>.content.a02wk .wkr .sub{display:inline-block;margin-left:8px;font-size:12px}
  /* 수료 카드(태블릿): 상자 낮게, 인물은 안 흐리게 (사장님 2026-09-07 "캐릭터 흐리고 박스 큼") */
  #sA1 .rwd2>.hero{min-height:clamp(220px,calc(100dvh - 820px),330px)!important}
  #sA1 .rwd2 .hero::before{background:linear-gradient(90deg,rgba(5,9,15,.88),rgba(5,9,15,.2) 42%,rgba(5,9,15,0) 62%),linear-gradient(0deg,rgba(5,9,15,.92),transparent 42%)}
  #sA1 .rwd2 .hero img.pp{opacity:1}
  /* 3학년 바꿀 장 고르기: 카드·상자를 조여 버튼까지 한 화면 */
  #sA1 .picks.p3 .pick,#sA1 .picks.p3 .pick.sm{padding:8px 6px 7px}
  #sA1 .pick .sym{font-size:16px}
  #sA1 .pick .real{font-size:11px;margin-top:1px}
  #sA1 .pick .now{margin-top:4px;font-size:12px}
  #sA1 .pick svg{height:26px!important}
  #sA1 .picks{margin-top:8px;gap:8px}
  #sA1 .g3cmp .b{padding:8px}
  #sA1 .g3cmp .sw{min-height:60px;padding:7px 8px}
  #sA1 .g3cmp .h{min-height:32px;padding:6px 12px}
  #sA1 .g3lab{margin-top:6px}
  #sA1 .g3res .b .v{font-size:22px}
  /* 다음 버튼은 늘 화면 맨 아래 같은 자리 (사장님 2026-09-07) */
  #sA1 .wrap{display:flex;flex-direction:column;min-height:calc(100dvh - 12px)}
  #sA1 .wrap>.cta{margin-top:auto;position:sticky;bottom:calc(env(safe-area-inset-bottom) + 10px);z-index:6}
  #sA1,#acBody{overflow:visible!important}   /* 이 둘이 overflow:auto 라 sticky 기준을 가로채 버튼이 창 바닥에 안 붙었다 — 큰 화면은 문서가 스크롤한다 (2026-09-07) */
  #sA1 .wrap>.content{padding-bottom:84px}
  #sA1 .acsticky{position:static;padding:8px 0 12px;margin-top:0}   /* 옛 하단 띠(종목 직접 고르기 링크)가 고정 버튼 위에 겹치던 것 — 흐름으로 */
  /* 버튼은 어느 화면이든 맨 아래 (사장님 2026-09-07 "전체 버튼 위치 고정") */
  #s1p .rise{min-height:calc(100dvh - 24px);display:flex;flex-direction:column;justify-content:flex-start;overflow:visible}
  #s1p .band{flex:none}   /* 기둥이 길어지자 위 띠가 flex 로 눌려 글자가 잘렸다 */
  #s1p .rise .cta{margin-top:auto;position:sticky;bottom:10px;z-index:6}
  #sA1 .acstory .cta{margin-top:auto;position:sticky;bottom:6px;z-index:6}
  /* 입장 화면(세로 태블릿): 로고·환영 문구는 위, 내 캐릭터·과정·미션·돼지는 세로 가운데, 시작 버튼·안내는 맨 아래 고정 (사장님 2026-09-07) */
  #sA1 .acin{min-height:calc(100dvh - 24px);height:auto}   /* 세로로 꽉 차야 가운데·맨 아래 배치가 된다 */
  #sA1 .acin>.lcol,#sA1 .acin>.rcol{display:contents}
  #sA1 .acin>.rcol>.go{margin-top:auto}   /* 본문은 환영 문구 바로 아래, 시작 버튼은 맨 아래 — 남는 띠에 팝업 캐릭터 */
  #sA1 .acin>.ft{padding-bottom:12px}
  #sA1:has(.acin) .acpopc:not(.center){bottom:124px!important}   /* 팝업은 맨 아래 버튼 바로 위 오른쪽 (팝업은 #acBody 밖 #sA1 자식이라 형제 선택자 안 됨) */   /* 세로 태블릿은 화면이 길어 80vh 팝업이 버튼을 덮었다 — 520px 로 고정하고 버튼 위로 올린다 (--hb 는 스크립트가 inline 으로 넣어 !important 필요) */
  #sA1 .rwd2>.hero{min-height:clamp(260px,calc(100dvh - 720px),420px)}   /* 수료 카드 장면은 작게, 돼지는 크게 (사장님 2026-09-07 "장면 박스 너무 큼") */
  #sA1 .rwd2 .pig{padding:22px 20px}
  #sA1 .rwd2 .pig .row img{width:104px;height:104px}
  #sA1 .rwd2 .pig .row h2{font-size:22px}
  #sA1 .rwd2 .pig .mw strong{font-size:40px}
  #sA1 .acstory{max-width:none!important;width:560px;left:calc((100vw - 560px)/2)!important;right:auto!important;margin:0}   /* 사연 첫 장이 휴대폰 폭(430)으로만 떠서 양옆에 뒤 화면이 비쳤다 — 기둥(560) 폭에 딱 맞춤 (사장님 2026-09-07) */
  #sA1 .wrap>.qrow>.av,#sA1 .wrap>.qrow>.owl{background-position:center 18%!important}   /* 왼쪽 얼굴 상자 헤드룸 (사장님 2026-09-07) */
  #sA1 .rwd2>.hero .bg{background-position:center 12%!important}   /* 장면 인물 헤드룸 */
  /* 캐릭터 화면: 표지를 위아래로 키워 전신 컷, 머리 위 여유 (사장님 2026-09-07) */
  #s1p #pcover{height:min(640px,calc(100dvh - 500px))!important;min-height:420px!important;aspect-ratio:auto}
  #s1p .pcover img.pose{position:absolute;inset:0;width:100%;height:88%!important;top:auto!important;bottom:0!important;object-fit:contain;object-position:center bottom;opacity:1;filter:drop-shadow(0 12px 24px rgba(0,0,0,.6))}
  #s1p .pcover::after{background:linear-gradient(0deg,rgba(6,10,16,.85) 0%,rgba(6,10,16,.25) 40%,rgba(6,10,16,0) 60%)}
  /* 얼굴 동그라미: 크게, 얼굴을 가운데·머리 위 여유 */
  #s1p #pgrid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px 10px}
  #s1p #pgrid .pcard{width:88px!important;height:88px!important;flex-basis:88px!important;border-width:3px}
  #s1p #pgrid .pcard img{transform:none!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 22%!important}
  #sA1 .rwd2 .pig .row img{margin-right:14px}
}
/* ══ 큰 화면 (iPad 768+ · PC 1100+) — 사장님 2026-09-07 "PC·iPad 버전". 폰(≤767px)엔 아무 영향 없음. GPT 방향표(iPad=큰 동화책, PC=왼쪽 이야기·오른쪽 조작) 기준 ══ */
@media (min-width:960px){
  :root{--wide:1}
  #app{max-width:820px}
  #sheet{max-width:640px;margin:0 auto}
  #sA1 .acstory{max-width:820px}
  /* 학년 화면: 왼쪽 인물·제목·멘토 조언, 오른쪽 수업 본문 */
  #sA1 .wrap{display:grid;grid-template-columns:300px minmax(0,1fr);column-gap:24px;align-content:start}   /* 4행이 남는 높이를 가져 멘토 조언이 제목 바로 아래에 붙는다 */
  #sA1 .wrap>.topbar,#sA1 .wrap>.meta,#sA1 .wrap>.foot{grid-column:1/-1}
  #sA1 .wrap>.topbar{grid-row:1} #sA1 .wrap>.meta{grid-row:2}
  #sA1 .wrap>.qrow{grid-column:1;grid-row:3;align-self:start;background:rgba(6,10,16,.66);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:14px 14px 18px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}   /* 왼쪽 칸에 어두운 판 — 2학년처럼 배경 사진이 밝으면 글이 안 읽혔다 (2026-09-07) */ #sA1 .wrap>.speech{grid-column:1;grid-row:4}
  #sA1 .wrap>.qrow>.speech{margin-top:12px;width:100%}
  #sA1 .wrap>.qrow>.acpopc{width:100%}
  #sA1 .wrap>.content{grid-column:2;grid-row:3}
  #sA1 .wrap>.cta{grid-column:2;grid-row:4} #sA1 .wrap>.ctawhy{grid-column:2;grid-row:5} #sA1 .wrap>.foot{grid-row:6}
  #sA1 .wrap>.qrow{flex-direction:column;align-items:flex-start;gap:12px}
  #sA1 .wrap>.qrow>.av,#sA1 .wrap>.qrow>img,#sA1 .wrap>.qrow>.owl{width:170px!important;height:170px!important;flex:0 0 170px!important;border-radius:24px;background-size:cover!important;background-position:center 22%!important;object-fit:cover;object-position:center 22%}   /* 얼굴 상자 크게 + 머리 위 여유 (사장님 2026-09-07). 다른 규칙이 높이를 100px 로 잡고 있어 !important */
  #sA1 .wrap>.qrow .acpopc .half img{width:auto;height:var(--hb)}   /* 팝업 그림은 아바타 크기 규칙에서 제외 */
  #sA1 .wrap>.qrow .acpopc{padding-top:54px}   /* 자막(머리 위) 자리 */
  #sA1 .wrap>.qrow .qtitle,#sA1 .wrap>.qrow h1{font-size:24px}
  #sA1 .wrap>.speech{align-self:start}
  /* 오른쪽 기둥은 왼쪽 판 높이와 무관하게 본문→다음 버튼→이유 순 (태블릿 세로에서도) — 남는 자리는 6행(1fr), 왼쪽 판이 3~6행에 걸침 (2026-09-07) */
  #sA1 .wrap{grid-template-rows:auto auto auto 1fr auto auto auto;min-height:calc(100dvh - 12px)}   /* 4행(1fr)이 남는 높이를 먹어 다음 버튼이 늘 맨 아래 같은 자리 (사장님 2026-09-07) */
  #sA1 .wrap>.qrow{grid-row:3/span 4}
  #sA1 .wrap>.cta{grid-row:5;position:sticky;bottom:10px;z-index:6} #sA1 .wrap>.ctawhy{grid-row:6} #sA1 .wrap>.foot{grid-row:7}
  #sA1,#acBody{overflow:visible!important}   /* sticky 가 창 기준으로 붙게 (2026-09-07) */
  #sA1 .wrap>.content{padding-bottom:84px}   /* 아래 고정 버튼 띠(반투명)가 본문 끝을 덮지 않게 — 10학년 카드 뒷면 버튼이 그 밑에 숨었다 (사장님 2026-09-08) */
  #sA1 .acsticky{position:static;padding:8px 0 12px;margin-top:0}   /* 옛 하단 띠가 고정 버튼 위에 겹치던 것 — 흐름으로 */
  #sA1 .wrap>.content{min-width:0}
  /* 단계 배경 사진(흐린 화면 그림)이 넓은 화면에서 글자처럼 비쳐 보여 어둡게 덮는다 */
  #sA1 .askin{position:relative}
  #sA1 .askin::before{content:'';position:absolute;inset:0;background:rgba(6,10,16,.62);z-index:1;pointer-events:none}
  #sA1 .askin>*{position:relative;z-index:2}
  #sA1 .askin>.bg{position:absolute!important;inset:0;z-index:0}   /* 배경 그림은 예외 — 위 규칙에 걸려 높이 0 이 되며 사라졌다 (2026-09-07) */
  #sA1 .wrap>.cta{align-self:start}   /* 버튼은 본문 바로 아래 */
  /* 사연 첫 장: 왼쪽 큰 장면, 오른쪽 사연·버튼 */
  #sA1 .acstory{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);column-gap:22px;align-content:start;padding:14px 18px}
  #sA1 .acstory .stbar,#sA1 .acstory .stfoot{grid-column:1/-1}
  #sA1 .acstory .start{grid-column:1;grid-row:2/4;min-height:420px;max-height:none;aspect-ratio:3/4}
  #sA1 .acstory .start.stscene{aspect-ratio:3/4;max-height:none}
  #sA1 .acstory .card{grid-column:2;grid-row:2;align-self:end}
  #sA1 .acstory .card h2{font-size:24px}
  #sA1 .acstory{grid-template-rows:auto minmax(0,1fr) auto}
  #sA1 .acstory .cta{grid-column:2;grid-row:3;align-self:end}   /* 사연 첫 장도 버튼은 맨 아래 */
  /* 수료 카드: 장면 옆에 돼지·금액 */
  #sA1 .rwd2{display:grid;grid-template-columns:1fr;gap:14px;align-items:start}   /* 수료 카드: 장면 위·돼지 아래, 장면이 오른쪽 기둥을 거의 채움 (사장님 2026-09-07) */
  /* 수료 카드(PC): 왼쪽 글, 오른쪽 320px 세로 칸에 인물 — 넓고 낮은 상자에 세로 그림을 cover 로 깔면 인물이 안 보였다. 학년마다 같은 틀 (사장님 2026-09-07) */
  #sA1 .rwd2>.hero{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-template-rows:auto 1fr;min-height:340px;max-height:none}
  #sA1 .rwd2>.hero .bg{inset:0 0 0 auto;width:320px;background-size:cover;background-position:center top!important}
  #sA1 .rwd2>.hero img.pp{left:auto;right:0;width:320px;object-position:center bottom}
  #sA1 .rwd2>.hero::before{background:linear-gradient(90deg,#0c141f 0%,#0c141f calc(100% - 340px),rgba(12,20,31,0) calc(100% - 290px)),linear-gradient(0deg,rgba(5,9,15,.5),transparent 35%)}
  #sA1 .rwd2>.hero .cp{grid-column:1;grid-row:1;padding:16px 18px 0;margin-bottom:0}
  #sA1 .rwd2>.hero h3{max-width:none;font-size:28px}
  #sA1 .rwd2>.hero .ab{grid-column:1;grid-row:2;align-self:end;margin:14px 18px 16px}
  #sA1 .rwd2 .pig{padding:22px 24px}
  #sA1 .rwd2 .pig .row img{margin-right:16px}
  #sA1 .rwd2 .pig .row img{width:104px;height:104px}
  #sA1 .rwd2 .pig .row h2{font-size:22px}
  #sA1 .rwd2 .pig .mw strong{font-size:40px}
  /* 캐릭터 고르기: 얼굴 8개 한 줄, 표지 크게 */
  #s1p .pgrid{grid-template-columns:repeat(8,minmax(0,1fr))!important}
  #s1p .pcover{height:clamp(240px,34vh,340px)}
  #s1p .pcover strong{font-size:24px}
  /* 첫 화면: 포스터 가운데, 버튼 그 아래 */
  #s1 .herowrap{max-width:560px;margin:0 auto}
  #s1 .pad{max-width:560px;margin:0 auto;width:100%}
  /* 학년별 넓은 표·카드 */
  #sA1 .g10adv .list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  #sA1 .g10adv .an{align-self:start}
  #sA1 .g8paths .path-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
  #sA1 .g9-rate-grid{gap:12px}
  #sA1 .g9risk .cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  /* 홈: 위 헤더는 그대로, 본문은 두 칸 — 왼쪽 시장·팀·행동, 오른쪽 뉴스·리그 */
  #home .hpad{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);column-gap:20px;align-items:start}
  #home .hpad{grid-auto-flow:dense}
  #home .hpad>*{grid-column:1}
  #home .hpad>#mktBar,#home .hpad>.tip{grid-column:1/-1}
  #home .hpad>.hsec{grid-column:2}
  #home .hpad>.hsec:nth-child(9){grid-row:2/span 6}
  #home .hpad>.hsec:nth-child(10){grid-row:8/span 8}
  #home .tabs{max-width:820px}
  /* 리그: 표 넓게, 내 카드 옆 고정 */
  #sLG .lgbody{max-width:none}
  #sLG .lgrow{font-size:14px}
  /* 종목 고르기·리그 입장 */
  #s3s .rise,#s8{max-width:760px;margin:0 auto;width:100%}
}
@media (min-width:960px){
  #sA1 .wrap>.qrow .qpop{margin-top:14px;width:100%;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer}
  #sA1 .wrap>.qrow .qpop .qwin{width:100%;display:flex;justify-content:center}
  #sA1 .wrap>.qrow .qpop img{height:min(48vh,420px);width:auto;max-width:100%;object-fit:contain;filter:drop-shadow(0 16px 30px rgba(0,0,0,.75));-webkit-mask-image:linear-gradient(#000 82%,transparent);mask-image:linear-gradient(#000 82%,transparent)}
  #sA1 .wrap>.qrow .qpop .qcap{padding:9px 16px;border-radius:999px;border:1px solid rgba(232,199,119,.75);background:rgba(8,14,22,.92);color:#ffe9a8;font-size:15px;font-weight:1000;text-align:center;max-width:100%;text-wrap:balance}
  #sA1 .acpopc.wideL{display:flex;flex-direction:column;align-items:center;transform:none;opacity:1;transition:none;padding-top:0!important}
  #sA1 .acpopc.wideL .half{justify-content:center;width:100%;max-width:300px}
  #sA1 .acpopc.wideL .half img{margin:0;left:0!important;position:static!important}
  #sA1 .acpopc.wideL .cap{position:relative!important;left:auto!important;top:auto!important;order:-1;margin:0 auto 8px;white-space:nowrap}
  #sA1 .acpopc.wideL .acpopcap,#sA1 .wrap>.qrow .acpopcap{position:relative!important;left:auto!important;bottom:auto!important;margin:0 auto 8px}
}
@media (min-width:960px){
  #app{max-width:1080px}
  #sA1 .acpopc.wideL .half{max-width:360px}
  #sA1 .acstory{max-width:1080px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);column-gap:32px}
  #sA1 .wrap{grid-template-columns:360px minmax(0,1fr);column-gap:32px}
  #sA1 .wrap>.qrow>.av,#sA1 .wrap>.qrow>img,#sA1 .wrap>.qrow>.owl{width:210px!important;height:210px!important;flex-basis:210px!important}
  #sA1 .wrap>.qrow .qtitle,#sA1 .wrap>.qrow h1{font-size:27px}
  /* PC 홈은 3분할 — 왼쪽 할 일·내 팀·계정, 가운데 관련주 뉴스, 오른쪽 종합 뉴스 (사장님 2026-09-07 "3분할") */
  #sA1 .wrap>.content:has(> .glass + .glass){display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}   /* 8학년 4장: 계산과 그래프를 둘로 잘라 나란히 (사장님 2026-09-07) */
  #sA1 .wrap>.content:has(> .glass + .glass) .g8dchart svg{max-height:340px}
  #sA1 .wrap>.content:has(> .glass + .glass){grid-template-rows:auto 1fr}
  #sA1 .wrap>.content:has(> .glass + .glass)>.glass:first-child{grid-column:1;grid-row:1/span 2}
  #sA1 .wrap>.content:has(> .glass + .glass)>.glass:nth-child(2){grid-column:2;grid-row:1}
  #sA1 .wrap>.content .qpop.inContent{grid-column:2;grid-row:2;align-self:start;margin-top:4px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer}
  #sA1 .wrap>.content .qpop.inContent .qwin{width:100%;height:var(--qh,420px);overflow:hidden;display:flex;justify-content:center;align-items:flex-start;-webkit-mask-image:linear-gradient(#000 84%,transparent);mask-image:linear-gradient(#000 84%,transparent)}
  #sA1 .wrap>.content .qpop.inContent img{height:420px;width:auto;max-width:100%;object-fit:contain;object-position:top center;transform:scaleX(-1);filter:drop-shadow(0 16px 30px rgba(0,0,0,.75))}
  #sA1 .wrap>.content .qpop.inContent .qcap{padding:9px 16px;border-radius:999px;border:1px solid rgba(232,199,119,.75);background:rgba(8,14,22,.92);color:#ffe9a8;font-size:15px;font-weight:1000;text-align:center;text-wrap:balance}
  #sA1 .wrap>.qpop.inWrap{position:absolute;z-index:3;display:flex;flex-direction:column;align-items:flex-end;gap:8px;cursor:pointer;pointer-events:auto}
  #sA1 .wrap>.qpop.inWrap .qwin{width:100%;height:var(--qh,420px);overflow:hidden;display:flex;justify-content:flex-end;align-items:flex-start;-webkit-mask-image:linear-gradient(#000 84%,transparent);mask-image:linear-gradient(#000 84%,transparent)}
  #sA1 .wrap>.qpop.inWrap img{height:520px;width:auto;max-width:100%;object-fit:contain;object-position:top center;transform:scaleX(-1);filter:drop-shadow(0 16px 30px rgba(0,0,0,.75))}
  #sA1 .wrap>.qpop.inWrap .qcap{padding:9px 16px;border-radius:999px;border:1px solid rgba(232,199,119,.75);background:rgba(8,14,22,.92);color:#ffe9a8;font-size:15px;font-weight:1000;text-align:center;text-wrap:balance;margin-right:40px}
  /* 홈은 여섯 줄을 옆으로 밀어 본다 (사장님 2026-09-08) */
  #home .hpad{display:flex!important;flex-wrap:nowrap;gap:16px;overflow-x:auto;overflow-y:visible;scroll-snap-type:x proximity;padding:10px 16px 90px;align-items:flex-start}
  #home .hpad>.hcol{flex:0 0 340px;width:340px;display:flex;flex-direction:column;gap:12px;min-width:0;scroll-snap-align:start}
  #home .hpad>.hcol:empty{display:none}
  #home .hpad>.hcol>*{margin:0!important}
  #home .hpad::-webkit-scrollbar{height:10px}
  #home .hpad::-webkit-scrollbar-thumb{background:rgba(232,199,119,.35);border-radius:5px}
  #home .tabs{max-width:none}
  #home .tabs{max-width:1080px}
  #s1 .herowrap,#s1 .pad{max-width:620px}
  /* 사장님 창(약 1000×640)에 왼쪽 기둥이 통째로 들어가게 — 인물 상자·제목을 줄이고, 팝업 캐릭터는 남는 높이만큼(넉넉하면 전신, 모자라면 상반신) (사장님 2026-09-07 "사이즈 맞춰줘") */
  #sA1 .wrap>.qrow{max-height:calc(100dvh - 108px);overflow:hidden;gap:10px;padding:12px 14px 14px;box-sizing:border-box}
  #sA1 .wrap>.qrow:has(.qpop){height:calc(100dvh - 108px)}   /* 팝업이 있을 때만 판 높이를 창에 고정 — 세로 flex 는 남는 높이가 있어야 팝업이 자란다(auto 높이면 0 으로 접힘) */
  /* 오른쪽 기둥은 왼쪽 판 높이와 무관하게 본문→다음 버튼→이유 순으로 붙는다. 남는 자리는 6행(1fr)이 먹고 왼쪽 판이 3~6행에 걸친다 */
  #sA1 .wrap{grid-template-rows:auto auto auto 1fr auto auto auto}
  #sA1 .wrap>.qrow{grid-row:3/span 4}
  #sA1 .wrap>.cta{grid-row:5} #sA1 .wrap>.ctawhy{grid-row:6} #sA1 .wrap>.foot{grid-row:7}
  /* 1학년 세 장 고르기 + 지난 한 주 그래프를 한 화면에: 위 카드 세 장, 아래 왼쪽 설명·오른쪽 그래프와 결과 (사장님 2026-09-07) */
  #sA1 .wrap>.content.a02wk{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:auto auto auto auto auto;gap:6px 12px;align-items:stretch}
  #sA1 .wrap>.content.a02wk>.rail{grid-column:1/-1;grid-row:1;margin:0!important;padding-bottom:0!important}
  #sA1 .wrap>.content.a02wk>.mini:not(.wkcap){grid-column:1/-1;grid-row:2;margin:0!important}
  #sA1 .wrap>.content.a02wk>.glass.card1{grid-column:1/-1;grid-row:3;margin:0;padding-top:10px;padding-bottom:10px}   /* 설명은 가로로 넓게, 그래프는 그 아래 (사장님 2026-09-07 "그래프는 금 아래") */
  #sA1 .wrap>.content.a02wk>.glass.wkc{grid-column:1;grid-row:4;margin:0;padding:10px 10px 8px}
  #sA1 .wrap>.content.a02wk>.glass.wkr{grid-column:2;grid-row:4;margin:0;padding:10px 14px;display:flex;flex-direction:column;justify-content:center}
  #sA1 .wrap>.content.a02wk>.mini.wkcap{grid-column:1/-1;grid-row:5;margin-top:0!important}
  #sA1 .wrap>.content.a02wk .wkg svg{height:92px;width:100%}
  #sA1 .wrap>.content.a02wk .wkl{font-size:12px;gap:4px 10px;flex-wrap:nowrap;justify-content:center}
  #sA1 .wrap>.content.a02wk .wkr .k{font-size:12px}
  #sA1 .wrap>.content.a02wk .wkr .row{flex-wrap:wrap;gap:2px 10px;align-items:baseline}
  #sA1 .wrap>.content.a02wk .wkr .row b{font-size:24px}
  #sA1 .wrap>.content.a02wk .wkr .row em.big{font-size:18px}
  #sA1 .wrap>.content.a02wk .wkr .sub{display:inline-block;margin-left:10px;font-size:13px}
  #sA1 .wrap>.content.a02wk{gap:4px 12px}
  #sA1 .wrap>.content.a02wk>.mini:not(.wkcap){font-size:12px;line-height:1.2}
  #sA1 .wrap>.content.a02wk .wkg svg{height:78px}
  #sA1 .wrap>.content.a02wk>.glass.wkr{padding:8px 14px}
  #sA1 .wrap>.content.a02wk .wkr .row b{font-size:22px}
  #sA1 .wrap>.content.a02wk>.glass.card1{padding-top:12px;padding-bottom:12px}
  #sA1 .wrap>.content.a02wk + .cta{margin-top:6px}
  #sA1 .wrap>.qrow>.av,#sA1 .wrap>.qrow>img,#sA1 .wrap>.qrow>.owl{width:150px!important;height:150px!important;flex-basis:150px!important}
  #sA1 .wrap>.qrow .qtitle,#sA1 .wrap>.qrow h1{font-size:22px}
  #sA1 .wrap>.qrow>.speech{margin-top:4px}
  #sA1 .wrap>.qrow .qpop{flex:1 1 0;min-height:0;margin-top:6px;overflow:hidden;gap:6px}
  #sA1 .wrap>.qrow .qpop .qwin{flex:1 1 0;min-height:0;overflow:hidden;align-items:flex-start;-webkit-mask-image:linear-gradient(#000 84%,transparent);mask-image:linear-gradient(#000 84%,transparent)}
  #sA1 .wrap>.qrow .qpop img{height:min(640px,80vh);-webkit-mask-image:none;mask-image:none}   /* 그림은 크게, 칸(.qwin)이 남는 높이만큼만 보여 상반신이 크게 나온다 (사장님 2026-09-07 "팝업 너무 작음") */
  #sA1 .g10adv .list{grid-template-columns:1fr 1fr 1fr}
  /* 2학년 엔비디아 확인 칸: 왼쪽 그래프·설명, 오른쪽 표·선택 — 버튼까지 한 화면 (사장님 2026-09-07) */
  #sA1 .ac2chk{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-template-rows:auto auto;column-gap:22px;row-gap:14px;align-items:start}
  #sA1 .ac2chk>.c2L{grid-column:1;grid-row:1} #sA1 .ac2chk>.c2R{grid-column:2;grid-row:1}
  #sA1 .ac2chk>.why{grid-column:1/-1;grid-row:2;margin-top:0}   /* '왜 떨어졌을까/올랐을까' 상자는 두 칸 아래 가로 전체 (사장님 2026-09-08) */
  #sA1 .ac2chk .c2R{padding-top:4px}
  #sA1 .wrap>.content:has(> .glass + .glass):has(.a4h){display:block!important}   /* 4학년 두 상자(조합 차이·세 장 움직임)는 가로 두 칸보다 세로 두 칸 (사장님 2026-09-08) */
  #sA1 .wrap>.content:has(.a4h)>.glass{max-width:none}
  /* PC: 그래프와 옆 표를 크게 — 상자가 반만 차고 아래가 비었다 (사장님 2026-09-08) */
  #sA1 .ac2chk .chart2 svg{height:230px!important}   /* 기본 규칙이 120px!important 라 여기도 !important */
  #sA1 .ac2chk .c2wrap i{font-size:12px}
  #sA1 .ac2chk .c2wrap .c2p{font-size:12.5px;padding:4px 8px}
  #sA1 .ac2chk h4{font-size:22px}
  #sA1 .ac2chk .per{font-size:16px;margin-top:10px}
  #sA1 .ac2chk .why p{font-size:15px;line-height:1.5}
  #sA1 .ac2chk .c2R .if{font-size:17px;margin-bottom:8px}
  #sA1 .ac2chk table{font-size:17px}
  #sA1 .ac2chk table td,#sA1 .ac2chk table th{padding-top:14px;padding-bottom:14px}
  #sA1 .ac2chk table tr.on td{font-size:20px}
  #sA1 .ac2chk .c2R .vd,#sA1 .ac2chk .c2R .four,#sA1 .ac2chk .c2R .cho{font-size:15px}
  #sA1 .ac2chk .lb button{padding:12px 8px;font-size:15px}
  #sA1 .ac2chk .c2R .if{margin-top:0}
  #sA1 .ac2chk .c2R .if,#sA1 .ac2chk .c2R .vd,#sA1 .ac2chk .c2R .four{text-wrap:balance;word-break:keep-all}   /* 끝 낱말 하나만 둘째 줄로 떨어지지 않게 */
}
/* 낮은 창(사장님 PC 640): 2학년 확인 칸을 조금 조여 버튼까지 보이게 */
@media (min-width:960px) and (max-height:720px){
  #sA1 .ac2chk .chart2 svg{height:96px!important}
  #sA1 .ac2chk .why p{font-size:13px;line-height:1.35}
  #sA1 .ac2chk .why{padding:8px 12px}
  #sA1 .ac2chk table td,#sA1 .ac2chk table th{padding-top:6px;padding-bottom:6px}
  #sA1 .ac2chk .c2R .four,#sA1 .ac2chk .c2R .cho{margin-top:4px;font-size:13px}
  #sA1 .ac2chk .lb button{padding:9px 6px}
  #sA1 .wrap>.content>.glass{padding-top:12px;padding-bottom:12px}
}

/* 큰 화면 첫 화면·로그인: 포스터 왼쪽, 오른쪽에 투자 시작·로그인 (사장님 2026-09-07). 로그인 시트는 오른쪽 패널로 */
@media (min-width:960px){
  #s1.on{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;column-gap:28px;min-height:100dvh;padding:24px 28px}
  #s1 .herowrap{grid-column:1;max-width:none;margin:0;display:flex;flex-direction:column;align-items:center;gap:12px}
  #s1 .herowrap .tag{font-size:24px;text-align:center;margin-top:8px}
  #s1 .herowrap .tag2{display:block;text-align:center;font-size:14px;color:#c9d6e3}
  #s1 .logo{grid-column:2}
  #s1 .pad{grid-column:2;max-width:480px;margin:0 auto;justify-content:center;text-align:center}
  #s1 .pad .tag{font-size:24px}
  #s1 .pad .cta{padding:14px;font-size:16px}
  .ov.on{align-items:stretch;justify-content:flex-end}
  #sheet.sheet{max-width:min(520px,46vw);height:100dvh;max-height:none;border-radius:0;border-left:1px solid var(--line);padding:32px 28px calc(24px + env(safe-area-inset-bottom));animation:sheetR .28s ease}
  #sheet.sheet .grab{display:none}
}
@media (min-width:960px){ .itick{flex-wrap:wrap;gap:10px} .itick .t{flex:1 1 calc(25% - 10px);min-width:0} }
@media (min-width:960px){
  /* 캐릭터 화면: 왼쪽 전신, 오른쪽 얼굴 8개 → 이름 → 다음 (사장님 2026-09-07) */
  #s1p.on{height:auto;min-height:100dvh;overflow:auto}
  #s1p .band.logo{display:none}
  #s1p .rise{display:flex;flex-direction:row;gap:28px;align-items:flex-start;overflow:visible;min-height:0}
  #s1p .rise>.lcol{flex:1 1 0;min-width:0}
  #s1p .rise{min-height:calc(100dvh - 40px)}
  #s1p .rise>.rcol{flex:1.1 1 0;min-width:0;align-self:stretch;display:flex;flex-direction:column}   /* 얼굴·이름은 세로 가운데, 다음 버튼은 맨 아래 (사장님 2026-09-07) */
  #s1p .rise>.rcol>#pgrid{margin-top:auto}
  #s1p .rise>.rcol>.cta{margin-top:auto;position:sticky;bottom:10px;z-index:6}
  #s1p #pTtl{text-align:left;font-size:26px;margin-top:6px}
  #s1p #pTtl::before{content:'';display:block;width:190px;height:60px;margin:0 0 10px;background:url(img/logo_wide-1754feaa.webp) left center/contain no-repeat}
  #s1p #pLead{text-align:left;font-size:13px;margin-top:4px}
  #s1p #pcover{height:min(560px,calc(100dvh - 180px))!important;min-height:0!important;aspect-ratio:auto;margin-top:14px}   /* 사장님 창 640 높이에도 전신 칸이 한 화면에 (2026-09-07) */
  #s1p .pcover img.pose{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;opacity:1;filter:drop-shadow(0 12px 24px rgba(0,0,0,.6));top:auto!important;bottom:0!important;height:90%!important}
  #s1p .pcover::after{background:linear-gradient(90deg,rgba(6,10,16,.55) 0%,rgba(6,10,16,.25) 40%,rgba(6,10,16,0) 70%),linear-gradient(0deg,rgba(6,10,16,.8) 0%,rgba(6,10,16,.2) 40%,rgba(6,10,16,0) 60%)}
  #s1p #pgrid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px 10px;padding:14px;margin-top:0}
  #s1p #pgrid .pcard{width:96px!important;height:96px!important;flex-basis:96px!important;border-width:3px}
  #s1p #pgrid .pcard img{transform:none!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 22%!important}   /* 큰 동그라미에선 얼굴을 가운데에 (사장님 2026-09-07) */
  #s1p .phint{display:block;margin-top:10px}
  /* 아카데미 입장 화면(PC): 왼쪽 환영 문구·내 캐릭터·팝업, 오른쪽 과정 목록·돼지·시작 (사장님 2026-09-07) */
  #sA1 .acin{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);column-gap:32px;align-content:start;height:auto;min-height:100%;padding:0 28px}
  #sA1 .acin>.lcol{grid-column:1;display:flex;flex-direction:column}
  #sA1 .acin>.rcol{grid-column:2;align-self:center;padding-top:24px}
  #sA1 .acin>.ft{grid-column:1/-1}
  #sA1 .acin .top{margin:0;padding:24px 0 4px;text-align:left}
  #sA1 .acin .logo{margin:0;width:210px}
  #sA1 .acin .wel{text-align:left;font-size:24px}
  #sA1 .acin .card.me{align-self:flex-start;min-width:280px}
  #sA1 .acin .popslot{margin-top:16px;display:flex;flex-direction:column;align-items:center}
  #sA1 .acin .popslot .qpop{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer}
  #sA1 .acin .popslot .qwin{display:flex;justify-content:center;width:100%}
  #sA1 .acin .popslot img{height:min(50vh,400px);width:auto;max-width:100%;object-fit:contain;filter:drop-shadow(0 16px 30px rgba(0,0,0,.75));-webkit-mask-image:linear-gradient(#000 82%,transparent);mask-image:linear-gradient(#000 82%,transparent)}
  #sA1 .acin .popslot .qcap{padding:9px 16px;border-radius:999px;border:1px solid rgba(232,199,119,.75);background:rgba(8,14,22,.92);color:#ffe9a8;font-size:15px;font-weight:1000;text-align:center;text-wrap:balance}
  #sA1 .acin .steps{margin-top:0}
  #s1p .grow{display:none}
  #s1p .cta{position:static;margin-top:14px}
}
@keyframes sheetR{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}
/* 등락 삼각형 — 오르면 ▲, 내리면 ▼ (사장님 2026-09-07) */
.itick .pc.up::before,.lgrow .ret.up::before,.hr .l1 .px .up::before,#sA1 .scard .dp.up::before,.tc-num b.up::before,#sA1 .pct.up::before,#sA1 .chg.up::before,#sA1 .tk3 .up::before,#sA1 .acard .up::before,.hsec .up::before,.lgme .up::before,#sA1 .gteam .gtr i.up::before{content:'▲ ';font-size:.8em}
.itick .pc.dn::before,.lgrow .ret.dn::before,.hr .l1 .px .dn::before,#sA1 .scard .dp.dn::before,.tc-num b.dn::before,#sA1 .pct.dn::before,#sA1 .chg.dn::before,#sA1 .tk3 .dn::before,#sA1 .acard .dn::before,.hsec .dn::before,.lgme .dn::before,#sA1 .gteam .gtr i.dn::before{content:'▼ ';font-size:.8em}

/* ── 8학년 배당 흐름 = 세 줄, 한 줄에 화살표 하나 (GPT 151 시안 · 2026-09-08) ── */
#sA1 .g8f{margin-top:10px;display:flex;flex-direction:column;gap:8px}
#sA1 .g8fh{display:flex;align-items:center;justify-content:space-between;gap:8px}
#sA1 .g8fh b{color:#f7fbff;font-size:13.5px;font-weight:1000}
#sA1 .g8fh span{color:#fff1b8;border:1px solid rgba(240,207,105,.48);border-radius:999px;padding:5px 9px;background:rgba(240,207,105,.1);font-size:11px;font-weight:900;white-space:nowrap}
#sA1 .g8fr{display:grid;grid-template-columns:1fr 58px 1fr;align-items:stretch;gap:6px;opacity:.58;animation:g8lit 6.6s ease-in-out infinite;animation-delay:var(--d,0s)}
@keyframes g8lit{0%,3%{opacity:.58}9%,29%{opacity:1}35%,100%{opacity:.58}}
#sA1 .g8fc{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:12px 9px;border-radius:14px;border:1px solid rgba(255,255,255,.11);background:linear-gradient(180deg,rgba(26,40,56,.96),rgba(14,22,34,.96));box-shadow:0 10px 22px rgba(0,0,0,.3)}
#sA1 .g8ft b{display:block;color:#f8fbff;font-size:12.5px;line-height:1.15;font-weight:1000;word-break:keep-all;text-wrap:balance}
#sA1 .g8ft small{display:block;margin-top:3px;color:#a7b6c8;font-size:10.5px;line-height:1.34;font-weight:800;word-break:keep-all}
#sA1 .g8fi{flex:0 0 auto;width:72px;height:72px;border-radius:20px;display:grid;place-items:center;position:relative}
#sA1 .g8fi.bld{grid-template-columns:repeat(4,1fr);gap:4px;align-items:end;padding:15px 13px;background:rgba(103,169,255,.13);border:1px solid rgba(103,169,255,.32)}
#sA1 .g8fi.bld i{display:block;width:100%;border-radius:3px 3px 1px 1px;background:linear-gradient(180deg,#8ed0ff,#316da9)}
#sA1 .g8fi.bld i:nth-child(1){height:15px}#sA1 .g8fi.bld i:nth-child(2){height:26px}#sA1 .g8fi.bld i:nth-child(3){height:20px}#sA1 .g8fi.bld i:nth-child(4){height:36px}
#sA1 .g8fi.coin{border-radius:50%;background:radial-gradient(circle at 32% 26%,#ffeaa6,#d9a531 78%);border:1px solid rgba(255,242,196,.55);box-shadow:0 8px 18px rgba(217,165,49,.32)}
#sA1 .g8fi.coin b{color:#3b2b06;font-size:16px;line-height:1;font-weight:1000;letter-spacing:-.3px}
#sA1 .g8fi.wal{background:rgba(85,211,142,.14);border:1px solid rgba(85,211,142,.34)}
#sA1 .g8fi.wal::after{content:'';width:42px;height:29px;border-radius:8px;background:linear-gradient(180deg,#84e4b0,#2f9e69);box-shadow:inset -7px 0 0 rgba(0,0,0,.12)}
#sA1 .g8fi.sh{grid-template-columns:repeat(3,1fr);gap:5px;align-items:end;padding:15px 14px;background:rgba(240,207,105,.12);border:1px solid rgba(240,207,105,.32)}
#sA1 .g8fi.sh i{display:block;width:100%;border-radius:3px;background:linear-gradient(180deg,#fff1aa,#d19f38)}
#sA1 .g8fi.sh i:nth-child(1){height:18px}#sA1 .g8fi.sh i:nth-child(2){height:28px}#sA1 .g8fi.sh i:nth-child(3){height:38px}
#sA1 .g8fa{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
#sA1 .g8fn{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;color:#0b1220;font-size:11px;font-weight:1000;background:#e9cb72;box-shadow:0 4px 10px rgba(0,0,0,.35)}
#sA1 .g8ftx{display:none;color:#cfe0f2;font-size:10.5px;font-weight:900;white-space:nowrap}
#sA1 .g8fsv{width:100%;height:16px;display:block}
#sA1 .g8fsv .ln{fill:none;stroke-width:5;stroke-linecap:round}
#sA1 .g8fr.a .g8fsv .ln,#sA1 .g8fr.c .g8fsv .ln{stroke:#f0cf69}#sA1 .g8fr.a .g8fsv .hd,#sA1 .g8fr.c .g8fsv .hd{fill:#f0cf69}
#sA1 .g8fr.b .g8fsv .ln{stroke:#55d38e}#sA1 .g8fr.b .g8fsv .hd{fill:#55d38e}
#sA1 .g8fr.c .g8fn{background:#7fb6ff}#sA1 .g8fr.c .g8fsv .ln{stroke:#7fb6ff}#sA1 .g8fr.c .g8fsv .hd{fill:#7fb6ff}
#sA1 .g8fr.b .g8fn{background:#55d38e}
@media (min-width:740px){
  #sA1 .g8fr{grid-template-columns:1fr 158px 1fr;gap:10px}
  #sA1 .g8fc{flex-direction:row;text-align:left;padding:14px;gap:15px;border-radius:16px}
  #sA1 .g8fi{width:104px;height:104px;border-radius:26px}
  #sA1 .g8fi.bld{padding:22px 18px;gap:5px}
  #sA1 .g8fi.bld i:nth-child(1){height:22px}#sA1 .g8fi.bld i:nth-child(2){height:38px}#sA1 .g8fi.bld i:nth-child(3){height:29px}#sA1 .g8fi.bld i:nth-child(4){height:52px}
  #sA1 .g8fi.sh{padding:22px 20px;gap:7px}
  #sA1 .g8fi.sh i:nth-child(1){height:26px}#sA1 .g8fi.sh i:nth-child(2){height:40px}#sA1 .g8fi.sh i:nth-child(3){height:55px}
  #sA1 .g8fi.wal::after{width:60px;height:42px;border-radius:11px}
  #sA1 .g8fi.coin b{font-size:22px}
  #sA1 .g8ft b{font-size:15.5px}#sA1 .g8ft small{font-size:12px;margin-top:5px}
  #sA1 .g8ftx{display:block}
  #sA1 .g8fn{width:22px;height:22px;font-size:12px}
  #sA1 .g8fa{flex-direction:column}
  #sA1 .g8fa>.g8lab{display:flex;align-items:center;gap:6px}
  #sA1 .g8fsv{height:26px}
}
@media (prefers-reduced-motion:reduce){#sA1 .g8fr{animation:none;opacity:1}}
/* 졸업 2장 — 이미 담겨 있는 내 팀 (사장님 2026-09-08) */
#sA1 .gteam{margin-top:12px;border-top:1px solid rgba(255,255,255,.1);padding-top:10px}
#sA1 .gteam .gth{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}
#sA1 .gteam .gth b{color:#ffe9a8;font-size:12px;font-weight:1000}
#sA1 .gteam .gth span{color:#9fb0c2;font-size:10.5px;font-weight:900}
#sA1 .gteam .gtr{display:grid;grid-template-columns:52px 1fr auto auto;align-items:center;gap:8px;padding:6px 8px;border-radius:10px;background:rgba(255,255,255,.045)}
#sA1 .gteam .gtr+.gtr{margin-top:4px}
#sA1 .gteam .gtr b{color:#f7fbff;font-size:12px;font-weight:1000}
#sA1 .gteam .gtr span{color:#b9c7d7;font-size:11px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#sA1 .gteam .gtr em{color:#ffe9a8;font-size:11px;font-style:normal;font-weight:1000;font-variant-numeric:tabular-nums}
#sA1 .gteam .gtr i{font-style:normal;font-size:11.5px;font-weight:1000;font-variant-numeric:tabular-nums;min-width:62px;text-align:right;color:#9fb0c2}
#sA1 .gteam .gtr i.up{color:var(--upc)}#sA1 .gteam .gtr i.dn{color:var(--dnc)}

/* ══ PC 2열 (GPT 151 · 2026-09-08) — 3·6·10학년만. 태블릿 세로(≤959)는 손대지 않는다 ══ */
@media (min-width:1100px){
  #app{max-width:1180px}
  /* 3학년: 왼쪽 = 비교·내 팀, 오른쪽 = 바꿀 후보·바뀐 결과 */
  #sA1 .wrap>.content:has(>.g3cmp){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:18px;align-content:start;align-items:start}
  #sA1 .wrap>.content:has(>.g3cmp)>.g3cmp{grid-column:1;grid-row:1/span 2;margin-top:0}
  #sA1 .wrap>.content:has(>.g3cmp)>.g3grp{grid-column:1;grid-row:3/span 2}
  #sA1 .wrap>.content:has(>.g3cmp)>.g3lab{grid-column:2;grid-row:1;margin-top:0;align-self:start}
  #sA1 .wrap>.content:has(>.g3cmp)>.g3row{grid-column:2;grid-row:2;align-self:start;margin-top:0}
  #sA1 .wrap>.content:has(>.g3cmp)>.g3res{grid-column:2;grid-row:3;align-self:start}
  #sA1 .wrap>.content:has(>.g3cmp)>.g3per{grid-column:2;grid-row:4;align-self:start}
  /* 6학년: 왼쪽 = 비중 조절, 오른쪽 = 성향·결과 카드 */
  #sA1 .g6-builder{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);column-gap:18px;align-content:start;align-items:start}
  #sA1 .g6-builder>.g6-panel-head{grid-column:1/-1}
  #sA1 .g6-builder>.g6-presets{grid-column:1;grid-row:2}
  #sA1 .g6-builder>.g6-stack-wrap{grid-column:1;grid-row:3;padding-top:26px}
  #sA1 .g6-builder>.g6-mix-line{grid-column:1;grid-row:4}
  #sA1 .g6-builder>.g6-controls{grid-column:1;grid-row:5}
  #sA1 .g6-builder>.g6-personality{grid-column:2;grid-row:2;margin-top:0;align-self:start}
  #sA1 .g6-builder>.g6w3{grid-column:2;grid-row:3/span 3;align-self:start;margin-top:10px}
  #sA1 .g6-lesson-panel{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);column-gap:18px;align-content:start;align-items:start}
  #sA1 .g6-lesson-panel>.g6-panel-head{grid-column:1/-1}
  #sA1 .g6-lesson-panel>.g6-lesson-list{grid-column:1}
  #sA1 .g6-lesson-panel>.g6-summary{grid-column:2;margin-top:0;align-self:start}
  /* 10학년 졸업 문제: 왼쪽 = 그래프·표, 오른쪽 = 가정·사례 */
  #sA1 .glass.g10p{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:18px;align-content:start;align-items:start}
  #sA1 .glass.g10p>.lead,#sA1 .glass.g10p>.note{grid-column:1/-1}
  #sA1 .glass.g10p>.tchart,#sA1 .glass.g10p>.tbl{grid-column:1}
  #sA1 .glass.g10p>.as,#sA1 .glass.g10p>.case{grid-column:2}
  #sA1 .glass.g10p>.as{margin-top:0}
}

@media (min-width:740px){
  /* 리그 출발 확인판 = 펼친 책 — 왼쪽 출전권 그림, 오른쪽 확인 목록과 버튼 (GPT 151 · 2026-09-08) */
  #s8 .launchpad .lp-stage{grid-template-rows:auto auto auto auto 1fr auto auto auto}
  #s8 .launchpad .lp-stage>.lp-head,#s8 .launchpad .lp-stage>.lp-status{grid-column:1/-1}
  #s8 .launchpad .lp-stage>.lp-head{grid-row:1} #s8 .launchpad .lp-stage>.lp-status{grid-row:2}
  #s8 .launchpad .lp-stage>.lp-scene{grid-column:1;grid-row:3/span 6;align-self:start;height:auto;min-height:340px}
  #s8 .launchpad .lp-stage>.lp-ttl{grid-column:2;grid-row:3;text-align:left}
  #s8 .launchpad .lp-stage>.lp-list{grid-column:2;grid-row:4;margin:0;align-self:start}
  #s8 .launchpad .lp-stage>.lp-go{grid-column:2;grid-row:6;margin-top:0}
  #s8 .launchpad .lp-stage>.lp-back{grid-column:2;grid-row:7}
  #s8 .launchpad .lp-stage>.lp-foot{grid-column:2;grid-row:8}
  #s8 .launchpad .lp-stage>.lp-ttl h2{font-size:32px}
}

#sA1 .a3cap.sw{border-color:rgba(232,199,119,.45);background:rgba(232,199,119,.09);color:#ffe9a8}

#sA1 .d10 .lev,.d10 .lev{display:inline-block;margin-left:5px;padding:1px 5px;border-radius:6px;border:1px solid rgba(224,100,85,.6);background:rgba(224,100,85,.14);color:#ff9f94;font-size:10px;font-weight:1000;vertical-align:middle}
#sA1 .d10 .tws,.d10 .tws{margin-top:7px;padding:7px 9px;border-radius:10px;border:1px solid rgba(224,100,85,.4);background:rgba(224,100,85,.09);color:#ffc9c2;font-size:11.5px;font-weight:900;line-height:1.35}
#sA1 .d10 .tws b,.d10 .tws b{color:#ff8f82;font-weight:1000}

#sA1 .g9risk .note.bull{border-color:rgba(232,199,119,.42)!important;background:rgba(232,199,119,.09)!important;color:#ffe9a8!important}

/* 큰 화면 작은 글씨 마무리 — 1440에서 남아 있던 10~11.5px 자리 (검수 2026-09-08) */
@media (min-width:960px){
  #sA1 .g3cmp .n,#sA1 .g3grp .lg,#sA1 .g3lab span,#sA1 .g3lab,
  #sA1 .c .stile,#sA1 .c .real,#sA1 .c .dp,
  #sA1 .b .k,#sA1 .g3per,#sA1 .wrap>.foot,#sA1 .acfootnote,
  #sA1 .g6-asset-label b,#sA1 .g6w3 .s,#sA1 .h span{font-size:12px!important;line-height:1.3}
}

/* 터치 영역 44px — 그림은 그대로 두고 눌리는 칸만 넓힌다 (완성도 감사 B-2, 2026-09-08) */
#sA1 .topbar .circ,#sACH .topbar .circ{position:relative;width:44px;height:44px;background:transparent;border:0}
#sA1 .topbar .circ::before,#sACH .topbar .circ::before{content:'';position:absolute;left:50%;top:50%;width:34px;height:34px;transform:translate(-50%,-50%);border-radius:50%;background:rgba(10,16,24,.5);border:1px solid rgba(255,255,255,.16);z-index:-1}
#sA1 .g6-presets button,#sA1 .g6-presets .g6-preset{min-height:44px}
#sA1 .g9-tabs button,#sA1 .g9-tabs .tab,#sA1 .g9-pick span{min-height:44px;display:inline-flex;align-items:center}
#sA1 .picks .pick.sm{min-height:44px}

/* 큰 화면 작은 글씨 마무리 2 — 1·5·9·10학년 (완성도 감사 C, 2026-09-08) */
@media (min-width:960px){
  #sA1 .scard .rk,#sA1 .scard .stile,#sA1 .scard .dp,#sA1 .scard .tapme,
  #sA1 .wkg .z,#sA1 .wrap>.ctawhy,
  #sA1 .g5-chart-head span,#sA1 .g5-axis,#sA1 .g5-rule .k,#sA1 .g5-switch span,
  #sA1 .lg span,#sA1 .rc b,#sA1 .rc em,#sA1 .g9-card .r span,#sA1 .r span,
  #sA1 .glass small,#sA1 .cs small{font-size:12px!important;line-height:1.3}
}

@media (min-width:960px){
  #sA1 .glass th,#sA1 .a4cmp .hd span,#sA1 .glass>.mini,
  #sA1 .g7 .a span,#sA1 .g7 .b span,#sA1 .g8car .goal em,#sA1 .g8car em,
  #sA1 table th,#sA1 .cmp .hd>*{font-size:12px!important;line-height:1.3}
}

@media (min-width:960px){
  #sA1 .g7-card .two .a span,#sA1 .g7-card .two .b span,
  #sA1 ul.facts li strong em,#sA1 ul.facts em{font-size:12px!important;line-height:1.3}
}

/* 태블릿 세로 1학년 주간 요약 — 범례가 상자 안쪽 여백을 넘어 양끝에 붙던 것 (GPT 153 감사) */
@media (min-width:740px) and (max-width:959px){
  #sA1 .content.a02wk .wkl{gap:5px 7px;font-size:11px;flex-wrap:wrap!important}
  #sA1 .content.a02wk .wkl span{gap:3px}
  #sA1 .content.a02wk .wkl i{width:7px;height:7px}
}

/* 100점 감사 4번 — 실제 누르는 것은 전부 44px 이상, 꼬리말은 12px 이상 (GPT 153) */
#sA1 .acfootnote,.acfootnote{font-size:12px}
#sA1 .wrap>.foot,.foot{font-size:12px}
@media (min-width:740px){ #sA1 .acfootnote,.acfootnote,#sA1 .wrap>.foot,.foot{font-size:12.5px} }

/* 100점 감사 3번 — 휴대폰에서 캐릭터를 10% 줄이고 안전영역 안으로 (GPT 153: 8~12% 축소·오른쪽/아래 안전영역) */
@media (max-width:739px){
  /* 칸과 그림 높이는 같게 둔 채(머리가 잘리면 안 된다) 10% 만 줄이고, 오른쪽으로 당기는 양을 줄여 카드 위에 안 올라타게 */
  #sA1 .acpopc .half{height:calc(var(--hb)*.90);width:min(216px,52vw)}
  #sA1 .acpopc .half img{height:calc(var(--hb)*.90);margin-right:0}   /* 좌우 반전이라 오른쪽으로 당기면 머리가 잘린다 (2026-09-09) */
  #sA1 .acpopc{padding-right:8px}
  /* 1학년 세 장 화면은 카드가 오른쪽 위까지 차 있어 40vh 면 머리가 카드 뒤로 숨는다 → 이 화면만 더 낮게 */
  #sA1:has(.scard) .acpopc:not(.center){--hb:31vh!important;--popc:31vh!important}
}

/* 메인 아래 보조 링크 — 눈에 보이는 크기는 그대로, 누르는 칸만 44px (GPT 154 2번) */
#s1 .mini .s1link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 10px;background:none;border:0;font:inherit;color:inherit;cursor:pointer}
#s1 .mini{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 4px}

/* 좁은 폰(405 이하)에서 환영 문장이 nowrap 이라 칸을 넘던 것 (GPT 154 4번) */
@media (max-width:479px){
  #sA1 .acin .wel{white-space:normal;word-break:keep-all;text-wrap:balance}
  #sA1 .acin>.lcol,#sA1 .acin .top{min-width:0}
}

/* 휴대폰 안내 글자 12px 이상 — 카드 안 숫자(3열이라 폭이 없음)와 그래프 축은 그대로 (GPT 154 3번) */
@media (max-width:739px){
  #sA1 .titlebox .t2,#sA1 .askin .speech .ml,#sA1 .wrap>.ctawhy,#sA1 .acrail .scard .tapme{font-size:12px}
}

/* 버전 만들기 — 안내 줄과 0% 종목 (검수 ④⑥ · GPT 의견 2026-09-09) */
.v2s .v2note{margin:8px 0 0;padding:9px 11px;border-radius:11px;border:1px solid rgba(232,199,119,.45);
  background:rgba(232,199,119,.10);color:#ffe9a8;font-size:12.5px;line-height:1.45;font-weight:800}
.v2s .v2note.warn{border-color:rgba(224,100,85,.45);background:rgba(224,100,85,.10);color:#ffc9c2}
.v2s .row.zero{opacity:.45}
.v2s .row.zero .n{text-decoration:line-through}
