
:root{
  --paper:#f4f3ef; --surface:#ffffff; --surface2:#fbfaf7;
  --line:#e4e1d9; --line2:#eeebe3;
  --ink:#1a1d1a; --mut:#5d635e; --faint:#8e948e;
  --deep:#16241e; --deepline:#2c3c34; --ondeep:#ffffff; --ondeepmut:#a7b6ae;
  --gold:#8a6a2c; --goldlt:#d8bd85; --goldsoft:#f4ecdd;
  --acc:#1f4436; --accsoft:#e6efea;
  --ok:#0e6b48; --oksoft:#e3f0e9;
  --warn:#8a6a2c; --warnsoft:#f7efe0;
  --crit:#9b3f2f; --critsoft:#f6e7e3;
  --blue:#1a5ea8;
  --s1:#1f8a6b; --s2:#c2901a; --s3:#3e6fb0; --s4:#b5533f;
  --sans:"IBM Plex Sans KR",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#0f1210; --surface:#171b17; --surface2:#1c211c;
  --line:#2a2f29; --line2:#232821;
  --ink:#eae8e0; --mut:#9aa199; --faint:#727972;
  --deep:#13201a; --deepline:#2e3e36;
  --gold:#c2a05a; --goldlt:#e0c58f; --goldsoft:#292318;
  --acc:#57957a; --accsoft:#1a2a22;
  --ok:#4cb78c; --oksoft:#152a21;
  --warn:#c2a05a; --warnsoft:#292318;
  --crit:#d98570; --critsoft:#2c1d19;
  --blue:#6aa8e8;
  --s1:#35a07e; --s2:#b3852a; --s3:#5b8ccf; --s4:#c86a52;
  color-scheme:dark;
}}
:root[data-theme="dark"]{
  --paper:#0f1210; --surface:#171b17; --surface2:#1c211c;
  --line:#2a2f29; --line2:#232821;
  --ink:#eae8e0; --mut:#9aa199; --faint:#727972;
  --deep:#13201a; --deepline:#2e3e36;
  --gold:#c2a05a; --goldlt:#e0c58f; --goldsoft:#292318;
  --acc:#57957a; --accsoft:#1a2a22;
  --ok:#4cb78c; --oksoft:#152a21;
  --warn:#c2a05a; --warnsoft:#292318;
  --crit:#d98570; --critsoft:#2c1d19;
  --blue:#6aa8e8;
  --s1:#35a07e; --s2:#b3852a; --s3:#5b8ccf; --s4:#c86a52;
  color-scheme:dark;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;
  line-height:1.6;word-break:keep-all;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{margin:0;letter-spacing:0}
p{margin:0}ul{margin:0;padding:0;list-style:none}
button{font-family:inherit;font-size:inherit;color:inherit;cursor:pointer}
input,select{font-family:inherit;font-size:inherit;color:inherit}
.m{font-family:var(--mono);font-variant-numeric:tabular-nums}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:2px}

/* ---- top ---- */
.gnb{background:var(--deep);color:var(--ondeep);position:sticky;top:0;z-index:40}
.gin{max-width:1360px;margin:0 auto;min-height:60px;display:flex;align-items:center;gap:30px;padding:0 26px}
.wm{font-family:var(--mono);font-weight:600;letter-spacing:0;font-size:15px;flex:none}
.wm em{font-style:normal;color:var(--goldlt);font-size:12px;letter-spacing:0;margin-left:8px}
.tabs{display:flex;gap:2px}
.tabs button{background:none;border:0;color:var(--ondeepmut);font-size:14.5px;padding:8px 13px;border-radius:3px;
  position:relative;transition:color .2s,background .2s;white-space:nowrap}
.tabs button:hover{color:var(--ondeep);background:rgba(255,255,255,.06)}
.tabs button.on{color:var(--ondeep);font-weight:600}
.tabs button.on::after{content:"";position:absolute;left:13px;right:13px;bottom:-11px;height:2px;background:var(--goldlt)}
.tabs button i{font-style:normal;font-family:var(--mono);font-size:12px;background:var(--crit);color:#fff;
  padding:1px 5px;border-radius:7px;margin-left:5px;vertical-align:1px}
.gright{margin-left:auto;display:flex;align-items:center;gap:13px;font-size:12.3px;color:var(--ondeepmut);flex:none}
.gright a{color:var(--ondeepmut);text-decoration:none;transition:color .2s}
.gright a:hover{color:#fff}
.gsep{width:1px;height:14px;background:var(--deepline)}
.ghost{background:none;border:1px solid var(--deepline);color:#cfdad4;border-radius:3px;padding:5px 11px;font-size:12px;transition:background .2s}
.ghost:hover{background:rgba(255,255,255,.07)}

main{max-width:1360px;margin:0 auto;padding:24px 26px 74px}
.phead{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:5px}
.phead h1{font-size:23px;font-weight:700}
.phead .sub{font-size:12.5px;color:var(--mut)}
.plead{color:var(--mut);font-size:13.5px;max-width:80ch}

/* ---- subnav ---- */
.sub{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0 20px}
.sb{border:1px solid var(--line);background:var(--surface);border-radius:3px;padding:8px 14px;font-size:13px;
  color:var(--mut);transition:background .18s,color .18s;white-space:nowrap}
.sb:hover{border-color:var(--acc);color:var(--acc)}
.sb.on{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:600}
.sb em{font-style:normal;font-size:12px;color:var(--faint);margin-left:5px}
.sb.on em{color:#bfd2c8}

.strip{display:flex;gap:10px;margin:20px 0 22px;flex-wrap:wrap}
.chipcard{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:10px 15px;
  display:flex;align-items:center;gap:11px;font-size:13px}
.chipcard .k{font-family:var(--mono);font-size:12px;letter-spacing:0;color:var(--faint)}
.chipcard .v{font-weight:600}
.chipcard.gold{background:var(--acc);border-color:var(--acc);color:#fff}
.chipcard.gold .k{color:#bfd2c8}
.mini{border:1px solid var(--line);background:none;border-radius:3px;padding:3px 9px;font-size:12px;color:var(--acc);
  transition:background .2s,border-color .2s}
.mini:hover{background:var(--accsoft);border-color:var(--acc)}
.chipcard.gold .mini{border-color:#4d6a5c;color:#fff}
.chipcard.gold .mini:hover{background:rgba(255,255,255,.12)}

.cols{display:grid;grid-template-columns:minmax(0,1fr) 348px;gap:20px;align-items:start}
.stack{display:grid;gap:18px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:5px;overflow:hidden}
.ch{display:flex;align-items:center;gap:10px;padding:13px 18px;border-bottom:1px solid var(--line2);flex-wrap:wrap}
.ch .n{font-family:var(--mono);font-size:12px;letter-spacing:0;color:var(--gold);font-weight:600}
.ch h3{font-size:14.5px;font-weight:700}
.ch .r{margin-left:auto;font-size:12px;color:var(--faint)}
.ch .r button{background:none;border:0;color:var(--acc);font-size:12px;padding:0}
.ch .r button:hover{text-decoration:underline}
.cbody{padding:16px 18px}

/* ---- tiles ---- */
.tiles{display:grid;grid-template-columns:repeat(4,1fr)}
.tile{padding:16px 18px 18px;border-right:1px solid var(--line2)}
.tile:last-child{border-right:0}
.tile .k{font-family:var(--mono);font-size:12px;letter-spacing:0;color:var(--faint)}
.tile .v{font-family:var(--mono);font-size:22px;font-weight:600;margin-top:5px;letter-spacing:0}
.tile .v small{font-size:12px;font-weight:500;color:var(--mut);margin-left:2px}
.tile .v.up{color:var(--ok)}.tile .v.dn{color:var(--crit)}
.tile .d{font-size:12px;color:var(--mut);margin-top:3px}

/* ---- todo ---- */
.trow{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line2)}
.trow:last-child{border-bottom:0}
.dot{width:6px;height:6px;border-radius:50%;flex:none;background:var(--gold)}
.dot.a{background:var(--acc)}.dot.c{background:var(--crit)}.dot.o{background:var(--ok)}
.trow p{flex:1;font-size:13.3px;min-width:0}
.trow p b{font-weight:700}
.trow .t{font-family:var(--mono);font-size:12px;color:var(--faint);flex:none}
.empty{padding:26px 18px;text-align:center;color:var(--faint);font-size:13px}

/* ---- copy ---- */
.cp{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface2);
  border-radius:3px;padding:4px 9px;font-family:var(--mono);font-size:12.5px;font-weight:600;letter-spacing:0;
  transition:background .18s,color .18s}
.cp:hover{border-color:var(--acc);background:var(--accsoft);color:var(--acc)}
.cp span{font-family:var(--sans);font-size:12px;font-weight:500;color:var(--faint);letter-spacing:0}
.cp:hover span{color:var(--acc)}
.cp.done{border-color:var(--ok);background:var(--oksoft);color:var(--ok)}

/* ---- buttons ---- */
.btn{border:1px solid var(--acc);background:none;color:var(--acc);border-radius:3px;padding:6px 13px;
  font-size:12.5px;font-weight:600;transition:background .18s,transform .18s;white-space:nowrap}
.btn:hover{background:var(--accsoft)}
.btn.fill{background:var(--acc);color:#fff}
.btn.fill:hover{filter:brightness(1.14);transform:translateY(-1px)}
.btn.crit{border-color:var(--crit);color:var(--crit)}
.btn.crit:hover{background:var(--critsoft)}
.btn.plain{border-color:var(--line);color:var(--mut)}
.btn.plain:hover{background:var(--line2)}
.btn.sm{padding:4px 10px;font-size:12px}
.btn.lg{padding:11px 22px;font-size:14px}
.btn:disabled{opacity:.42;cursor:not-allowed;transform:none}
.skip{background:none;border:0;padding:0;font-size:12px;color:var(--faint);text-decoration:underline;text-underline-offset:2px}
.skip:hover{color:var(--mut)}

/* ---- table ---- */
.scroller{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13px;min-width:640px}
th{text-align:left;font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:0;color:var(--faint);
  padding:10px 16px;border-bottom:1px solid var(--line2);background:var(--surface2);white-space:nowrap}
td{padding:12px 16px;border-bottom:1px solid var(--line2);vertical-align:middle}
tr:last-child td{border-bottom:0}
td.r,th.r{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}
td.c,th.c{text-align:center}
tr.clk{cursor:pointer;transition:background .15s}
tr.clk:hover{background:var(--surface2)}
tr.clk.open{background:var(--surface2)}
.pill{display:inline-block;font-size:12px;padding:3px 9px;border-radius:2px;background:var(--line2);color:var(--mut);white-space:nowrap}
.pill.a{background:var(--accsoft);color:var(--acc)}
.pill.w{background:var(--warnsoft);color:var(--warn)}
.pill.c{background:var(--critsoft);color:var(--crit)}
.pill.o{background:var(--oksoft);color:var(--ok)}
.pd{display:flex;gap:10px;align-items:center}
.pth{width:38px;height:46px;border-radius:3px;flex:none;background:var(--surface2);font-size:12px;letter-spacing:0;color:var(--faint)}
.pd .n{font-size:12.8px;font-weight:600;line-height:1.35}
.pd .o{font-family:var(--mono);font-size:12px;color:var(--mut)}
.gn{display:block;font-size:12px;font-weight:600;margin-top:2px}
.days{font-family:var(--mono);font-weight:600;line-height:1.35}
.days small{display:block;font-weight:500;font-size:12px;color:var(--faint);margin-top:1px}
.days.ok{color:var(--mut)}.days.soon{color:var(--warn)}.days.hit{color:var(--crit)}
.gn.up{color:var(--ok)}.gn.dn{color:var(--crit)}
.bts{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.ckb{width:16px;height:16px;accent-color:var(--acc);cursor:pointer}

/* ---- expand panel ---- */
.exp td{background:var(--surface2);padding:0;border-bottom:1px solid var(--line)}
.ex{padding:18px 18px 20px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px}
.exg{display:grid;gap:7px}
.exl{font-family:var(--mono);font-size:12px;letter-spacing:0;color:var(--faint);margin-bottom:3px}
.exr{display:flex;font-size:12.8px;gap:12px}
.exr .k{width:92px;color:var(--faint);flex:none}
.exr .v{color:var(--ink);font-weight:500}
.exacts{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}
.exside{border-left:1px solid var(--line);padding-left:22px}
.stepline{display:flex;align-items:center;gap:0;margin:4px 0 12px}
.stp{flex:1;text-align:center;font-size:12px;color:var(--faint);position:relative;line-height:1.35}
.stp::before{content:"";position:absolute;top:7px;left:-50%;right:50%;height:2px;background:var(--line)}
.stp:first-child::before{display:none}
.stp.done::before,.stp.on::before{background:var(--acc)}
.stp i{display:block;width:15px;height:15px;border-radius:50%;border:1.5px solid var(--line);background:var(--surface);
  margin:0 auto 5px;position:relative;z-index:1}
.stp.done i{background:var(--acc);border-color:var(--acc)}
.stp.on{color:var(--acc);font-weight:700}
.stp.on i{border-color:var(--acc);box-shadow:inset 0 0 0 2.5px var(--surface),inset 0 0 0 8px var(--acc)}
.tl{display:grid;gap:0;margin-top:6px}
.tli{display:grid;grid-template-columns:70px 1fr;gap:10px;font-size:12px;padding:4px 0}
.tli .tt{font-family:var(--mono);font-size:12px;color:var(--faint)}
.tli .tx{color:var(--mut)}
.tli .tx b{color:var(--ink);font-weight:600}

/* ---- bulk bar ---- */
.bulk{position:sticky;bottom:0;z-index:30;background:var(--deep);color:#fff;border-radius:5px;
  padding:13px 18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:14px;
  box-shadow:0 -8px 28px -18px rgba(0,0,0,.5)}
.bulk .c{font-family:var(--mono);font-size:14px;font-weight:600;color:var(--goldlt)}
.bulk .d{font-size:12.5px;color:var(--ondeepmut);flex:1;min-width:150px}
.bulk .btn{border-color:#4d6a5c;color:#fff}
.bulk .btn:hover{background:rgba(255,255,255,.1)}
.bulk .btn.fill{background:var(--goldlt);border-color:var(--goldlt);color:#1b2a22}

/* ---- asset ledger ---- */
.led{padding:18px 20px 6px;display:grid;gap:14px}
.lr{display:grid;grid-template-columns:118px minmax(0,1fr) auto;gap:14px;align-items:center}
.lk{font-size:12.8px;color:var(--mut)}
.lk em{font-style:normal;display:block;font-size:12px;color:var(--faint);margin-top:1px}
.ltr{height:15px;background:var(--line2);border-radius:3px;overflow:hidden}
.lf{display:block;height:100%;border-radius:0 4px 4px 0;transition:width .55s cubic-bezier(.2,.7,.3,1)}
.lf.a{background:#9aa39c}.lf.b{background:var(--s3)}.lf.c{background:var(--s1)}.lf.d{background:var(--s2)}
.lv{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:15.5px;font-weight:600;text-align:right;white-space:nowrap}
.lv b{display:block;font-size:12px;font-weight:500;margin-top:2px;color:var(--faint)}
.lv b.up{color:var(--ok)}
.ledcap{padding:8px 20px 18px;font-size:12px;color:var(--faint);line-height:1.7}
.ledcap b{color:var(--mut)}
.eq{margin:2px 20px 0;padding:11px 14px;background:var(--surface2);border:1px solid var(--line2);border-radius:4px;
  font-family:var(--mono);font-size:12px;color:var(--mut);text-align:center}
.eq b{color:var(--ink)}


/* ---- order sheet grid ---- */
.shrow{cursor:pointer}
.shrow:hover{background:var(--surface2)}
.moq{display:flex;align-items:center;gap:9px;min-width:150px}
.moqt{flex:1;height:7px;background:var(--line2);border-radius:4px;overflow:hidden;min-width:70px}
.moqt i{display:block;height:100%;background:var(--s1);transition:width .5s cubic-bezier(.2,.7,.3,1)}
.moqt i.full{background:var(--ok)}
.moq .pc2{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--mut);white-space:nowrap}
.pdtag{display:inline-block;font-family:var(--mono);font-size:12px;letter-spacing:0;font-weight:600;
  background:var(--deep);color:var(--goldlt);padding:2px 7px;border-radius:2px;white-space:nowrap}

.shinfo{display:flex;gap:9px;flex-wrap:wrap;margin:16px 0 14px}
.shi{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:9px 14px;font-size:12.6px;
  display:flex;align-items:baseline;gap:9px}
.shi .k{font-size:12px;color:var(--faint);font-weight:500}
.shi .dd{font-family:var(--mono);font-size:12px;font-weight:700;color:#fff;background:var(--crit);
  padding:2px 7px;border-radius:3px}
.shi .hint{font-size:12px;color:var(--faint);font-weight:400}
.shi .v{font-weight:600}
.shi.due{border-color:var(--crit);background:var(--critsoft)}
.shi.due .k{color:var(--crit)}
.shi.rule{background:var(--goldsoft);border-color:color-mix(in srgb,var(--gold) 32%,var(--line))}
.shi.rule .k{color:var(--gold)}

.gtool{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--line2);
  background:var(--surface2)}
.gsearch{flex:1;min-width:150px;max-width:280px;border:1px solid var(--line);border-radius:3px;background:var(--surface);
  padding:7px 11px;font-size:13px;outline:none}
.gsearch:focus{border-color:var(--acc)}
.curs{display:flex;border:1px solid var(--line);border-radius:3px;overflow:hidden}
.curs button{background:var(--surface);border:0;padding:6px 13px;font-size:12.5px;color:var(--mut);
  font-family:var(--mono);font-weight:600}
.curs button.on{background:var(--acc);color:#fff}
.fxnote{font-size:12px;color:var(--mut);line-height:1.5}
.fxnote b{color:var(--ink);font-weight:600}
.fxnote .m{font-size:12px;color:var(--faint)}
.orb{display:inline-block;font-family:var(--mono);font-size:12px;letter-spacing:0;font-weight:600;
  padding:1px 5px;border-radius:2px;vertical-align:1px}
.orb.eu{background:var(--accsoft);color:var(--acc)}
.orb.non{background:var(--warnsoft);color:var(--warn)}
.hb{display:inline-block;font-family:var(--mono);font-size:12px;letter-spacing:0;font-weight:700;
  padding:2px 6px;border-radius:2px;vertical-align:1px}
.hb.hot{background:var(--crit);color:#fff}
.hb.st{background:var(--acc);color:#fff}
.vol{font-family:var(--mono);font-size:12px;color:var(--faint)}
.gtd{display:inline-block;font-size:12px;color:var(--gold);font-weight:600;margin-left:5px}
.rulechip{display:flex;gap:7px;flex-wrap:wrap;margin-top:7px;align-items:center}
.rlab{font-size:12px;color:var(--faint);margin-right:2px}
.rc{display:flex;align-items:center;gap:7px;font-size:12.2px;background:var(--surface);
  border:1px solid var(--line);border-radius:3px;padding:5px 10px}
.rc b{font-family:var(--mono);font-size:12px;letter-spacing:0;padding:2px 6px;border-radius:2px;font-weight:700}
.rc.auto b{background:var(--line2);color:var(--mut)}
.rc.chk b{background:var(--accsoft);color:var(--acc)}
.rc.warn b{background:var(--critsoft);color:var(--crit)}
.rc span{color:var(--mut)}
.ruleraw{margin-top:8px;padding:10px 13px;background:var(--surface2);border:1px solid var(--line2);
  border-radius:4px;font-family:var(--mono);font-size:12px;color:var(--mut);line-height:1.7;white-space:pre-line}
.obrow{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.balbar{flex:1;min-width:120px;height:8px;background:rgba(255,255,255,.15);border-radius:4px;overflow:hidden;
  display:flex}
.balbar i{display:block;height:100%}
.balbar i.h{background:var(--goldlt)}
.balbar i.s{background:var(--s1)}
.balbar i.o{background:#e08a72}
.mixbar{flex:1;min-width:140px;height:9px;background:rgba(255,255,255,.14);border-radius:4px;
  overflow:hidden;display:flex}
.mixbar i{display:block;height:100%}
.mixbar i.c0{background:var(--goldlt)} .mixbar i.c1{background:var(--s1)}
.mixbar i.c2{background:var(--s3)} .mixbar i.c3{background:#b08cc4} .mixbar i.c4{background:#7e8a84}
.sseg.g4{background:#9aa39c}
.slgi i.g4{background:#9aa39c}
.mixbar i.c0.over{background:#e08a72}
.mynote{font-size:12px;color:var(--ondeepmut);line-height:1.5}
.mynote b{color:#fff}
.picks{background:var(--surface);border:1px solid var(--line);border-radius:5px;margin-top:12px;overflow:hidden}
.picks .ph{padding:12px 16px;border-bottom:1px solid var(--line2);display:flex;align-items:center;gap:10px;
  background:var(--surface2);flex-wrap:wrap}
.picks .ph h4{font-size:13.5px;font-weight:700}
.pk{display:flex;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid var(--line2);font-size:12.8px}
.pk:last-child{border-bottom:0}
.pk .nm{flex:1;min-width:0}
.pk .nm b{font-weight:600}
.pk .pr{font-family:var(--mono);font-weight:600}
.taker{display:flex;align-items:center;gap:13px;flex-wrap:wrap}
.taker .szlist{font-family:var(--mono);font-size:12px;color:var(--mut)}
.taker .tot{font-family:var(--mono);font-size:13px;font-weight:600}
.tgl{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--mut);cursor:pointer}

table.grid{min-width:1260px}
table.grid th:first-child,table.grid td:first-child{min-width:238px;width:238px}
th i{display:block;font-style:normal;font-weight:400;letter-spacing:0;
  font-family:var(--sans);font-size:12px;color:var(--faint);opacity:.75}
td.gc{font-size:12.3px;white-space:nowrap;line-height:1.5;vertical-align:top;padding-top:12px}
td.gc .s2{color:var(--mut)}
td.gc .s3{color:var(--faint);font-size:12px}
.gsel{border:1px solid var(--line);border-radius:3px;background:var(--surface);height:32px;
  padding:0 8px;font-size:12.3px;color:var(--mut);max-width:152px}
.gsel:focus{border-color:var(--acc);outline:none}
.gtool2{padding:9px 16px;border-bottom:1px solid var(--line2);background:var(--surface2)}
table.grid .gsku{min-width:0;flex:1}
table.grid .gsku .b{white-space:normal;line-height:1.4}
table.grid th{padding:8px 12px;line-height:1.45}
table.grid td{padding:10px 12px}
.gsku .b{font-family:var(--mono);font-size:12px;letter-spacing:0;color:var(--faint)}
.gsku .n{font-size:12.6px;font-weight:600;line-height:1.35;margin-top:1px}
.gsku .c{font-size:12px;color:var(--mut);margin-top:1px}
.gprice{font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:600;font-size:13.5px;color:var(--blue)}
.gsub{display:block;font-family:var(--mono);font-size:12px;color:var(--faint);font-weight:500;margin-top:2px}
.gmg{font-family:var(--mono);font-size:12.5px;font-weight:600}
.gmg.hi{color:var(--ok)}.gmg.mid{color:var(--warn)}.gmg.lo{color:var(--mut)}
.szc{text-align:center;min-width:62px}
.szc b{display:block;font-family:var(--mono);font-size:12px;font-weight:600}
.szc span{display:block;font-family:var(--mono);font-size:12px;color:var(--faint);margin:1px 0 4px}
.szc input{width:52px;height:30px;border:1px solid var(--line);border-radius:3px;background:var(--surface);
  text-align:center;font-family:var(--mono);font-size:13px;font-weight:600;outline:none;padding:0}
.szc input:focus{border-color:var(--acc);box-shadow:inset 0 0 0 1px var(--acc)}
.szc input.has{border-color:var(--acc);background:var(--accsoft);color:var(--acc)}
.szc.off{opacity:.3}

.obar{position:sticky;bottom:0;z-index:30;background:var(--deep);color:#fff;border-radius:5px;
  padding:13px 18px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:14px;
  box-shadow:0 -8px 28px -18px rgba(0,0,0,.5)}
.obar .ob{display:flex;align-items:baseline;gap:8px}
.obar .k{font-size:12px;color:var(--ondeepmut)}
.obar .v{font-family:var(--mono);font-size:16px;font-weight:600;color:var(--goldlt)}
.obar .v small{font-size:12px;color:var(--ondeepmut);margin-left:3px}
.obar .sp{margin-left:auto;display:flex;gap:9px;align-items:center}
.obar .btn{border-color:#4d6a5c;color:#fff}
.obar .btn:hover{background:rgba(255,255,255,.1)}
.obar .btn.fill{background:var(--goldlt);border-color:var(--goldlt);color:#1b2a22}
.obar .moqt{background:rgba(255,255,255,.15);min-width:90px}
.obar .pc2{color:#cfdad4}
.obar .warn2{font-size:12px;color:var(--goldlt)}
.obrow.cond{border-top:1px solid var(--deepline);padding-top:11px;gap:13px}
.stp{font-size:12px;font-weight:700;padding:3px 10px;border-radius:3px;white-space:nowrap;flex:none}
.stp.ok{background:rgba(159,227,196,.16);color:#9fe3c4}
.stp.warn{background:rgba(232,211,164,.17);color:#e8d3a4}
.stp.no{background:rgba(240,185,168,.18);color:#f0b9a8}
.ob2{display:flex;flex-direction:column;gap:3px;min-width:215px}
.ob2 b{font-size:12.6px;color:#fff;font-weight:600}
.ob2 em{font-style:normal;font-family:var(--mono);font-size:12px;color:var(--ondeepmut)}
.obar .pc2.ok{color:#9fe3c4}
.obar .pc2{font-size:12px}

.otabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:18px}
.otabs button{background:none;border:0;border-bottom:2px solid transparent;padding:9px 16px;
  font-size:13.5px;color:var(--mut);margin-bottom:-1px;transition:color .18s,border-color .18s}
.otabs button:hover{color:var(--ink)}
.otabs button.on{color:var(--acc);font-weight:700;border-bottom-color:var(--acc)}
.otabs button em{font-style:normal;font-family:var(--mono);font-size:12px;margin-left:6px;color:var(--faint)}
.otabs button.on em{color:var(--acc)}
.ohs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.ohs button{border:1px solid var(--line);background:var(--surface);border-radius:3px;padding:7px 12px;
  font-size:12.5px;color:var(--mut)}
.ohs button.on{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:600}
.ohs button em{font-style:normal;font-family:var(--mono);font-size:12px;margin-left:5px;color:var(--faint)}
.ohs button.on em{color:#bfd2c8}
.docs{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:12px}
.doc{border:1px solid var(--line);border-radius:4px;padding:11px 12px;background:var(--surface)}
.doc .t{font-size:12.3px;font-weight:600}
.doc .c{font-family:var(--mono);font-size:12px;color:var(--faint);margin-top:2px}
@media (max-width:900px){.docs{grid-template-columns:1fr 1fr}}

/* ---- stacked composition bar ---- */
.sbar{display:flex;height:30px;border-radius:4px;overflow:hidden;margin:8px 0 14px;background:var(--line2)}
.sseg{display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px;
  font-weight:600;color:#fff;border:0;padding:0;min-width:3px;transition:filter .18s;white-space:nowrap;overflow:hidden}
.sseg:hover{filter:brightness(1.15)}
.sseg.g1{background:var(--s1)}.sseg.g2{background:var(--s2)}.sseg.g3{background:var(--s3)}
.slg{display:flex;gap:20px;flex-wrap:wrap}
.slgi{display:flex;align-items:center;gap:8px;font-size:12.5px;background:none;border:0;padding:0;
  transition:opacity .18s}
.slgi:hover{opacity:.7}
.slgi i{width:10px;height:10px;border-radius:2px;flex:none}
.slgi i.g1{background:var(--s1)}.slgi i.g2{background:var(--s2)}.slgi i.g3{background:var(--s3)}
.slgi .n{color:var(--mut)}
.slgi .v{font-family:var(--mono);font-weight:600;color:var(--ink)}
.slgi .c{font-family:var(--mono);font-size:12px;color:var(--faint)}

/* ---- bars ---- */
.bars{display:flex;align-items:flex-end;gap:10px;height:140px;padding:20px 20px 0}
.bg{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:6px}
.bg .bb{width:100%;max-width:40px;background:var(--s1);border-radius:3px 3px 0 0;min-height:3px;
  transition:height .5s cubic-bezier(.2,.7,.3,1)}
.bg .bb.pale{background:color-mix(in srgb,var(--s1) 34%,var(--line2))}
.bg .bl{font-family:var(--mono);font-size:12px;color:var(--faint)}
.bg .bv{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--mut)}
.barcap{padding:8px 20px 16px;font-size:12px;color:var(--faint)}

/* ---- P&L ---- */
.pnl{padding:6px 20px 16px}
.pl{display:flex;align-items:baseline;gap:16px;padding:10px 0;border-bottom:1px solid var(--line2)}
.pl:last-child{border-bottom:0}
.pk{font-size:13.4px;font-weight:500}
.pk em{font-style:normal;display:block;font-size:12px;color:var(--faint);font-weight:400;margin-top:1px}
.pv{margin-left:auto;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:15px;font-weight:600;
  text-align:right;white-space:nowrap}
.pv b{display:block;font-size:12px;font-weight:500;color:var(--faint);margin-top:2px}
.pv.neg{color:var(--mut)}.pv.up{color:var(--ok)}.pv.dn{color:var(--crit)}
.pl.sum{background:var(--surface2);margin-inline:-20px;padding-inline:20px;border-bottom:1px solid var(--line)}
.pl.sum .pv{font-size:18px}
.pl.tot{border-top:2px solid var(--ink);border-bottom:0;margin-top:4px;padding-top:12px}
.pl.tot .pv{font-size:21px;font-weight:700}

/* ---- ask / forms ---- */
.ask{display:grid;grid-template-columns:minmax(0,1fr) 288px;gap:22px;align-items:start;
  padding:18px;background:var(--surface2);border-top:1px solid var(--line)}
.askmain{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap}
.asktx{min-width:168px;max-width:218px;font-size:12.8px;padding-bottom:2px}
.asktx b{display:block;color:var(--ink)}
.asktx span{color:var(--mut);font-size:12px;line-height:1.55;display:block;margin-top:3px}
.askf label{display:block;font-family:var(--mono);font-size:12px;letter-spacing:0;color:var(--faint);margin-bottom:7px}
.askin{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:4px;background:var(--surface);padding:0 12px;height:42px}
.askin input{width:140px;border:0;background:none;outline:none;font-family:var(--mono);font-variant-numeric:tabular-nums;
  font-size:18px;font-weight:600;color:var(--ink);text-align:right;padding:0}
.askin span{color:var(--mut);font-size:13px}
.askin:focus-within{border-color:var(--acc);box-shadow:inset 0 0 0 1px var(--acc)}
.chips2{display:flex;gap:6px;flex-wrap:wrap;max-width:420px}
.ch2{border:1px solid var(--line);background:var(--surface);border-radius:3px;padding:7px 11px;font-size:12.3px;
  color:var(--mut);transition:background .18s,color .18s;white-space:nowrap}
.ch2:hover{border-color:var(--acc);color:var(--acc)}
.ch2.on{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:600}
.ch2 .chn{display:block;font-size:12px;color:var(--faint);margin-top:1px;font-weight:500}
.ch2.on .chn{color:#bfd2c8}
.askact{display:flex;flex-direction:column;align-items:stretch;gap:7px}
.askact .btn{padding:10px 20px;font-size:13.5px}
.feenote{margin-top:7px;font-size:12px;color:var(--faint)}
.feenote b{color:var(--acc);font-weight:600}
.etcin{margin-top:8px}
.feerow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.feerow .fl{font-family:var(--mono);font-size:12px;letter-spacing:0;color:var(--faint)}
.feerow .fnote{font-size:12px;color:var(--faint)}
.feerow .fnote b{color:var(--acc);font-weight:600}
.feerow .adin input{width:62px}
.etcin input{width:100%;max-width:400px;border:1px solid var(--acc);border-radius:3px;background:var(--surface);
  padding:8px 11px;font-size:13px;outline:none}
.perks{border-left:1px solid var(--line);padding-left:19px}
.perks .pt{font-family:var(--mono);font-size:12px;letter-spacing:0;color:var(--gold);font-weight:600;margin-bottom:8px}
.perks li{font-size:12px;color:var(--mut);line-height:1.5;padding:4px 0 4px 13px;position:relative}
.perks li::before{content:"";position:absolute;left:0;top:11px;width:4px;height:4px;border-radius:50%;background:var(--acc)}
.perks li b{display:block;color:var(--ink);font-weight:600;font-size:12.3px}

/* ---- order grid ---- */
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.pc{background:var(--surface);border:1px solid var(--line);border-radius:5px;overflow:hidden;text-align:left;padding:0;
  transition:transform .25s cubic-bezier(.2,.7,.3,1),box-shadow .25s,border-color .25s;display:block;width:100%}
.pc:hover{transform:translateY(-4px);box-shadow:0 14px 30px -18px rgba(22,36,30,.45);
  border-color:color-mix(in srgb,var(--gold) 50%,var(--line))}
.pimg{height:150px;background:var(--surface2);
  position:relative;border-bottom:1px solid var(--line2)}
.pimg .tag{position:absolute;top:9px;left:9px;background:rgba(22,36,30,.86);color:#fff;font-family:var(--mono);
  font-size:12px;letter-spacing:0;padding:3px 8px;border-radius:2px}
.pb{padding:13px 14px 15px}
.pbr{display:flex;justify-content:space-between;font-family:var(--mono);font-size:12px;letter-spacing:0;color:var(--faint)}
.pnm{font-size:13px;font-weight:600;line-height:1.42;margin:6px 0 11px;height:37px;overflow:hidden}
.psup{display:flex;align-items:baseline;gap:6px}
.psup .k{font-size:12px;color:var(--faint);font-family:var(--mono)}
.psup .v{font-family:var(--mono);font-size:19px;font-weight:600;color:var(--blue);letter-spacing:0}
.prow{display:flex;align-items:center;font-size:12px;color:var(--mut);padding:2px 0}
.prow .k{width:68px;color:var(--faint)}
.prow .v{font-family:var(--mono);font-weight:500;color:var(--ink)}
.prow .g{margin-left:auto;font-family:var(--mono);font-weight:600;color:var(--ok)}
.pdiv{margin-top:9px;border-top:1px solid var(--line2);padding-top:8px}
.pmeta{margin-top:9px;font-family:var(--mono);font-size:12px;color:var(--faint)}
.pfoot{padding:0 14px 14px}
.pfoot .btn{width:100%;padding:8px 0;text-align:center}

/* ---- soon strip ---- */
.soon{margin-top:22px;border:1px dashed color-mix(in srgb,var(--gold) 42%,var(--line));border-radius:5px;
  background:var(--goldsoft);padding:14px 18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.soon .t{font-family:var(--mono);font-size:12px;letter-spacing:0;color:var(--gold);font-weight:600}
.soon .l{display:flex;gap:9px;flex-wrap:wrap}
.soon .l button{font-size:12.8px;color:var(--mut);font-weight:500;background:transparent;border:0;
  border-bottom:1px solid color-mix(in srgb,var(--gold) 45%,transparent);padding:1px 0}
.soon .l button:hover{color:var(--gold)}
.whatis{margin:14px 0 0;padding:13px 17px;border:1px solid var(--line);border-radius:5px;
  background:var(--surface);font-size:12.9px;color:var(--mut);line-height:1.7;max-width:84ch}
.whatis b{color:var(--ink);font-weight:600}
.whatis .wt{display:block;font-size:12px;color:var(--gold);font-weight:600;margin-bottom:4px}
.nbn{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 18px;padding:11px 16px;
  border:1px dashed color-mix(in srgb,var(--gold) 45%,var(--line));border-radius:5px;
  background:var(--goldsoft);font-size:12.6px;color:var(--mut)}
.nbn .btn{margin-left:auto}
.spv{border:1px solid var(--line);border-radius:5px;background:var(--surface);overflow:hidden}
.spv .top{padding:20px 22px 18px;background:var(--goldsoft);
  border-bottom:1px solid color-mix(in srgb,var(--gold) 30%,var(--line))}
.spv .top h2{font-size:19px;font-weight:700;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.spv .top p{margin-top:7px;font-size:13.2px;color:var(--mut);line-height:1.65;max-width:620px}
.sflow{display:flex;gap:10px;flex-wrap:wrap;padding:20px 22px}
.sfs{flex:1;min-width:175px;border:1px solid var(--line2);border-radius:4px;padding:13px 15px;
  background:var(--surface2)}
.sfs i{font-style:normal;font-family:var(--mono);font-size:12px;letter-spacing:0;color:var(--gold);
  font-weight:700}
.sfs b{display:block;font-size:13px;font-weight:600;margin:5px 0 4px}
.sfs span{font-size:12px;color:var(--mut);line-height:1.6}
.smock{margin:0 22px 20px;border:1px dashed var(--line);border-radius:4px;padding:16px 18px;
  background:var(--surface2)}
.smock .mh{font-size:12px;color:var(--faint);margin-bottom:11px}
.sfoot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 22px;
  border-top:1px solid var(--line2);background:var(--surface2)}
.sfoot .nt{font-size:12px;color:var(--mut);line-height:1.6;flex:1;min-width:220px}
.mrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12.6px;padding:7px 0}
.mrow+.mrow{border-top:1px solid var(--line2)}
.mrow .lb{min-width:76px;color:var(--faint);font-size:12px;flex:none}
.mfld{border:1px solid var(--line);border-radius:3px;background:var(--surface);padding:6px 11px;
  font-size:12.5px;color:var(--mut);min-width:120px}
.mbar{flex:1;min-width:120px;height:9px;background:var(--line2);border-radius:4px;overflow:hidden;display:flex}
.mbar i{display:block;height:100%}
.mbar i.a{background:var(--s1)} .mbar i.b{background:var(--s2)}
.mbar i.c{background:var(--s3)} .mbar i.d{background:var(--s4)}
.soon .l span::after{content:"·";margin-left:9px;color:var(--faint)}
.soon .l span:last-child::after{display:none}

.note{background:var(--goldsoft);border:1px solid color-mix(in srgb,var(--gold) 34%,var(--line));
  border-radius:4px;padding:14px 16px;font-size:13px;line-height:1.7}
.note.a{background:var(--accsoft);border-color:color-mix(in srgb,var(--acc) 30%,var(--line))}
.note .nt{font-family:var(--mono);font-size:12px;letter-spacing:0;color:var(--gold);font-weight:600;margin-bottom:5px}
.note.a .nt{color:var(--acc)}
.note b{font-weight:700}

#toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,16px);z-index:80;
  background:var(--deep);color:#fff;border-radius:4px;padding:13px 20px;font-size:13.5px;
  box-shadow:0 16px 40px -16px rgba(0,0,0,.6);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;
  max-width:min(600px,92vw)}
#toast.show{opacity:1;transform:translate(-50%,0)}
#toast b{color:var(--goldlt)}
#toast.bad{background:var(--crit)}
#toast.bad b{color:#fff}

@media (max-width:1180px){
  .cols{grid-template-columns:1fr}
  .tiles{grid-template-columns:1fr 1fr}
  .tile{border-bottom:1px solid var(--line2)}
  .ex,.ask{grid-template-columns:1fr}
  .exside,.perks{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:14px}
  .pgrid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:760px){
  .gin{gap:12px;padding:10px 16px;flex-wrap:wrap}
  .tabs{order:4;width:100%;overflow-x:auto}
  .tabs button.on::after{bottom:-4px}
  .gright{order:3}
  main{padding:18px 16px 60px}
  .pgrid{grid-template-columns:1fr 1fr}
  .lr{grid-template-columns:100px minmax(0,1fr)}
  .lr .lv{grid-column:1/-1;text-align:left}
}
@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms !important}}
