
/* layout: จอเกมพิกเซลซ้าย + แผงตัดสินใจขวา (PC) / ซ้อนบนล่าง (มือถือ) · โลกเดียว: กลางคืนแบบตู้เกม ทองวัดไทยเป็นสีเน้น */
:root{
  --bg:#0b1026; --bg2:#121a3a; --panel:#151f45; --line:#2b3a72; --ink:#f3ecd9; --dim:#a9b0cf; --faint:#6e78a3;
  --gold:#e8b04a; --gold2:#ffd77a; --teal:#3fd1c4; --good:#38e07b; --bad:#ff4d6d; --karma:#b58cff; --warn:#ffcf4d;
  --f-disp:"Chakra Petch", "IBM Plex Sans Thai", system-ui, sans-serif; --f-body:"IBM Plex Sans Thai", "Chakra Petch", system-ui, sans-serif; --f-px:"Silkscreen", "Chakra Petch", monospace;
  color-scheme: dark;
}
[hidden]{display:none!important}
html,body{height:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.6;margin:0;
  background-image:radial-gradient(circle at 20% -10%, #1d2b5a 0, transparent 50%), radial-gradient(circle at 110% 120%, #2a1840 0, transparent 45%);}
*{box-sizing:border-box}
button{font:inherit;color:inherit}
#app{max-width:1180px;margin:0 auto;padding-block:12px 28px;padding-left:max(16px, env(safe-area-inset-left, 0px));padding-right:max(16px, env(safe-area-inset-right, 0px));display:flex;flex-direction:column;gap:12px;min-height:100%}
/* HUD */
.income-line{flex:1 0 100%;color:var(--gold2);font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.hud{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;background:var(--bg2);border:2px solid var(--line);padding:8px 12px;box-shadow:0 4px 0 #050817}
.who{display:flex;align-items:baseline;gap:10px;min-width:0;flex:1 1 220px}
.who b{font-family:var(--f-disp);font-size:18px;letter-spacing:.02em;white-space:nowrap}
.who .age{font-family:var(--f-px);font-size:12px;color:var(--gold2);white-space:nowrap}
.who .where{color:var(--dim);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stats{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}
.stat{display:flex;align-items:center;gap:5px;font-family:var(--f-px);font-size:12px;font-variant-numeric:tabular-nums;transition:transform .2s}
.stat img{width:14px;height:14px;image-rendering:pixelated}
.stat .bar{width:42px;height:6px;background:#0a0f24;border:1px solid var(--line);position:relative}
.stat .bar i{position:absolute;inset:0 auto 0 0;background:currentColor}
.stat.flash{transform:scale(1.15)}
.stat.H{color:#ff6b81}.stat.J{color:var(--warn)}.stat.S{color:#6cc6ff}.stat.C{color:var(--teal)}.stat.M{color:var(--gold2)}.stat.D{color:var(--bad)}
.stat .v{color:var(--ink);min-width:2ch}
/* main */
.main{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:14px;align-items:start}
@media (max-width:880px){ .main{grid-template-columns:minmax(0,1fr)} }
.screen{position:relative;border:3px solid #050817;outline:2px solid var(--line);background:#000;box-shadow:0 6px 0 #050817}
.screen canvas{display:block;width:100%;aspect-ratio:16/9;image-rendering:pixelated;image-rendering:crisp-edges;max-width:100%}
.scan{pointer-events:none;position:absolute;inset:0;background:repeating-linear-gradient(0deg, rgba(0,0,0,.045) 0 1px, transparent 1px 3px);mix-blend-mode:multiply}
.chips{position:absolute;left:8px;top:8px;display:flex;flex-direction:column;gap:4px;pointer-events:none}
.chip{font-family:var(--f-px);font-size:12px;padding:2px 6px;background:rgba(5,8,23,.85);border:1px solid var(--line);animation:rise 2.2s ease-out forwards}
.chip.up{color:var(--good)}.chip.down{color:var(--bad)}
@keyframes rise{0%{opacity:0;transform:translateY(6px)}12%{opacity:1;transform:none}80%{opacity:1}100%{opacity:0;transform:translateY(-10px)}}
.timeline{margin-top:10px;position:relative;height:22px}
.timeline .track{position:absolute;left:0;right:0;top:9px;height:4px;background:#0a0f24;border:1px solid var(--line)}
.timeline .fill{position:absolute;left:0;top:9px;height:4px;background:var(--gold)}
.timeline .now{position:absolute;top:3px;width:10px;height:16px;margin-left:-5px;background:var(--gold2);box-shadow:0 0 0 2px #050817}
.timeline .tick{position:absolute;top:0;font-family:var(--f-px);font-size:9px;color:var(--faint);transform:translateX(-50%)}
.timeline .ev{position:absolute;top:8px;width:4px;height:6px;margin-left:-2px;background:var(--teal);opacity:.8}
.under{display:flex;justify-content:flex-end;gap:10px;align-items:center;margin-top:6px;flex-wrap:wrap}
.linkbtn{background:none;border:1px solid var(--line);color:var(--dim);padding:4px 10px;font-size:12.5px;cursor:pointer}
.ubtns{display:flex;gap:6px}
.linkbtn.snd b{color:var(--gold);font-weight:700}
.linkbtn.snd.off b{color:var(--faint);text-decoration:line-through}
.linkbtn.snd.off{color:var(--faint)}
.linkbtn:hover{color:var(--ink);border-color:var(--gold)}

/* panel */
.panel{background:var(--panel);border:2px solid var(--line);box-shadow:0 6px 0 #050817;padding:16px 16px 18px;min-width:0;display:flex;flex-direction:column;gap:10px}
.eyebrow{font-family:var(--f-px);font-size:11px;letter-spacing:.08em;color:var(--gold);text-transform:uppercase;display:flex;gap:8px;flex-wrap:wrap}
.eyebrow span{color:var(--faint)}
.panel h2{font-family:var(--f-disp);font-weight:700;font-size:22px;line-height:1.3;margin:0;text-wrap:balance}
.panel .txt{white-space:pre-line;color:var(--dim);margin:0;max-width:62ch}
.head{border-left:4px solid var(--warn);background:rgba(255,207,77,.07);padding:8px 10px}
.head b{font-family:var(--f-disp);display:block;color:var(--warn)}
.head p{margin:2px 0 0;color:var(--dim);white-space:pre-line}
.arch{border:2px solid var(--teal);background:rgba(63,209,196,.08);padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.arch b{font-family:var(--f-disp);font-size:20px;color:var(--teal)}
.arch span{color:var(--dim);font-size:14px}
.arch.rare{border-color:var(--gold2);background:rgba(255,215,122,.1)}
.arch.rare b{color:var(--gold2)}
.story{margin:0;padding:8px 12px;border-left:3px solid var(--gold);background:rgba(232,176,74,.07);color:var(--ink);font-size:15px;line-height:1.65}
.story + .pend{margin-top:-4px}
.pend{display:flex;flex-direction:column;gap:4px;border:1px dashed var(--line);padding:8px 10px;background:rgba(0,0,0,.18)}
.pend div{font-size:13.5px;color:var(--ink)}
.pend div::before{content:"▸ ";color:var(--gold)}
.choices{display:flex;flex-direction:column;gap:8px;margin-top:2px}
.ch{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:2px 10px;align-items:center;text-align:left;background:#1b2757;border:2px solid #31438a;padding:9px 11px;cursor:pointer;box-shadow:0 3px 0 #0a0f24;transition:transform .08s, border-color .12s}
.ch:hover:not(:disabled),.ch:focus-visible{border-color:var(--gold);outline:none;transform:translateY(-1px)}
.ch:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 #0a0f24}
.ch .k{font-family:var(--f-px);font-size:11px;color:var(--faint);grid-row:1/3}
.ch .l{font-family:var(--f-disp);font-weight:600;font-size:15.5px;min-width:0}
.ch .s{grid-column:2;font-size:12.5px;color:var(--dim);min-width:0}
.ch .price{grid-row:1/3;grid-column:3;font-family:var(--f-px);font-size:11.5px;color:var(--gold2);text-align:right;white-space:nowrap}
.ch .price small{display:block;font-family:var(--f-body);font-size:10px;color:var(--faint);letter-spacing:0}
.ch .loan{grid-column:2;font-size:12px;color:var(--warn)}
.ch:disabled{opacity:.5;cursor:not-allowed;filter:saturate(.4)}
.ch .lock{grid-column:2;font-size:12px;color:var(--bad)}
.ch.on{border-color:var(--teal);background:#183a52}
.ch .box{grid-row:1/3;width:14px;height:14px;border:2px solid var(--faint)}
.ch.on .box{background:var(--teal);border-color:var(--teal)}
.go{align-self:flex-start;font-family:var(--f-disp);font-weight:700;font-size:16px;background:var(--gold);color:#1a1205;border:0;padding:10px 22px;cursor:pointer;box-shadow:0 4px 0 #8a5d12}
.go:hover,.go:focus-visible{background:var(--gold2);outline:none}
.go:active{transform:translateY(3px);box-shadow:0 1px 0 #8a5d12}
.go.ghost{background:transparent;color:var(--ink);border:2px solid var(--line);box-shadow:none}
.row{display:flex;gap:10px;flex-wrap:wrap}
/* timeskip chart */
.chart{display:flex;align-items:center;gap:2px;height:96px;border-bottom:1px solid var(--line);border-top:1px solid var(--line);position:relative;overflow:hidden}
.chart .b{flex:1 1 0;min-width:2px;max-width:22px;position:relative;height:100%}
.chart .b i{position:absolute;left:0;right:0;background:var(--good)}
.chart .b.neg i{background:var(--bad)}
.chart .b.rec i{background:#8b93b8}
.chart .zero{position:absolute;left:0;right:0;top:50%;height:1px;background:var(--faint)}
.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--faint)}
.legend i{display:inline-block;width:9px;height:9px;margin-right:4px;vertical-align:-1px}
.omen{color:var(--karma);font-style:italic}
.kv{display:grid;grid-template-columns:auto 1fr;gap:2px 14px;font-size:13.5px}
.kv dt{color:var(--faint)} .kv dd{margin:0;font-variant-numeric:tabular-nums}
/* title */
.title-art{font-family:var(--f-disp);font-weight:700;font-size:clamp(34px,6vw,56px);line-height:1;margin:4px 0 0;color:var(--gold2);text-shadow:3px 3px 0 #7a3a22, 6px 6px 0 #050817;letter-spacing:.01em}
.title-art small{display:block;font-family:var(--f-px);font-size:12px;color:var(--teal);text-shadow:none;letter-spacing:.12em;margin-top:10px}
/* karma */
.ledger{display:flex;flex-direction:column;gap:6px;max-height:340px;overflow:auto;padding-right:4px}
.led{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:2px 8px;padding:6px 8px;border-left:4px solid var(--karma);background:rgba(181,140,255,.08);animation:pop .4s both}
.led.good{border-color:var(--gold);background:rgba(232,176,74,.08)}
.led .a{font-family:var(--f-px);font-size:10px;color:var(--faint)}
.led .t{font-size:13.5px}
.led .st{font-family:var(--f-px);font-size:10px;text-align:right}
.led .st.y{color:var(--warn)} .led .st.n{color:var(--faint)}
.led .e{grid-column:2/4;font-size:12.5px;color:var(--dim)}
@keyframes pop{from{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:none}}
.bigK{font-family:var(--f-px);font-size:26px}
.score{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.score .n{font-family:var(--f-disp);font-weight:700;font-size:44px;color:var(--gold2);line-height:1}
.score .p{font-family:var(--f-disp);font-size:18px}
.parts{display:flex;flex-direction:column;gap:5px}
.part{display:grid;grid-template-columns:96px minmax(0,1fr) 44px;gap:8px;align-items:center;font-size:12.5px}
.part .bar{height:8px;background:#0a0f24;border:1px solid var(--line);position:relative}
.part .bar i{position:absolute;inset:0 auto 0 0;background:var(--teal)}
.part span:last-child{font-family:var(--f-px);font-size:11px;text-align:right}
.card{max-width:100%;width:300px;image-rendering:pixelated;border:2px solid var(--line);display:block}
.cardwrap{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-start}
.cardwrap > div{min-width:0;flex:1 1 200px}
/* drawer */
.drawer{position:fixed;inset:0;background:rgba(5,8,23,.7);display:flex;justify-content:flex-end;z-index:20}
.drawer .in{width:min(420px,100%);height:100%;background:var(--bg2);border-left:2px solid var(--line);padding:16px;padding-top:calc(16px + env(safe-area-inset-top,0px));padding-right:max(16px, env(safe-area-inset-right,0px));overflow:auto}
.drawer h3{font-family:var(--f-disp);margin:0 0 8px}
.drawer ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.drawer li{display:grid;grid-template-columns:44px 1fr;font-size:13.5px}
.drawer li b{font-family:var(--f-px);font-size:11px;color:var(--gold)}
.tree{display:flex;flex-direction:column;gap:8px}
.gen{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:8px 10px;border:2px solid var(--line);background:#121a3a}
.gen .g{font-family:var(--f-px);font-size:11px;color:var(--gold)}
.gen .d{font-size:12.5px;color:var(--dim)}
.gen .sc{font-family:var(--f-disp);font-weight:700;font-size:18px;color:var(--gold2)}
.help{font-size:12px;color:var(--faint)}
/* สัญลักษณ์แทนตัวอักษร */
.ic{width:13px;height:13px;image-rendering:pixelated;vertical-align:-2px;margin:0 2px 0 0}
.ic.big{width:18px;height:18px;vertical-align:-4px}
.ic.huge{width:34px;height:34px}
.fx{white-space:nowrap;font-family:var(--f-px);font-size:11.5px;margin-right:4px}
.fx.up{color:var(--good)} .fx.dn{color:var(--bad)}
.chip{display:flex;align-items:center;gap:2px}
.chip .arw{font-size:9px;margin-left:3px}
.mgcard{display:flex;flex-direction:column;gap:8px;padding:10px 12px;margin:10px 0;border:1px solid rgba(233,181,86,.35);border-radius:8px;background:rgba(10,14,30,.45);font-size:13.5px;color:var(--dim)}
.mgcard b{color:var(--text,#f5e4bd)}.mg-goal{line-height:1.6}.mg-sus{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px}
.mgcard .sus{display:flex;flex-direction:column;gap:3px;padding:7px 9px;border-radius:6px;background:rgba(255,255,255,.04);border-left:3px solid #e9b556}
.mgcard .sus small{opacity:.8}.mgcard .sus em{font-style:normal;font-size:12.5px;color:#e9b556}.mgcard .sus.out{opacity:.5;border-left-color:#b04a4a}.mgcard .sus.out em{color:#e07a7a}.mgcard .sus.hidden{opacity:.45;border-left-color:#666}
.mgcard .traits{display:flex;flex-wrap:wrap;gap:3px}.mgcard .t{font-size:11.5px;padding:1px 6px;border-radius:10px;background:rgba(255,255,255,.08)}.mgcard .t.ok{background:rgba(90,170,110,.35);color:#d8f5df}.mgcard .t.no{background:rgba(180,70,70,.35);color:#ffd6d6}
.mg-clues ul{margin:4px 0 0;padding-left:18px}.mg-left{font-weight:bold;color:#e9b556}.mgcard.love .hearts{font-size:16px;color:#ff7a9a;letter-spacing:1px}.mgcard.love .hearts small{font-size:12px;color:var(--dim);letter-spacing:0}.mg-heart{display:flex;flex-direction:column;gap:2px}.mg-row.recap{opacity:.85;font-size:12.5px}
.lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.lines li{color:var(--dim);padding-left:16px;position:relative}
.lines li::before{content:"";position:absolute;left:2px;top:.6em;width:6px;height:6px;background:var(--gold)}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}
.tile{background:#101836;border:2px solid var(--line);padding:8px 10px;display:grid;grid-template-columns:auto 1fr;gap:0 8px;align-items:center;min-width:0}
.tile .ic{grid-row:1/4}
.tile .lab{font-size:11.5px;color:var(--faint)}
.tile b{font-family:var(--f-disp);font-size:17px;line-height:1.25;min-width:0;overflow-wrap:anywhere}
.tile b.neg{color:var(--bad)} .tile b.pos{color:var(--good)}
.tile .note{font-size:11.5px;color:var(--gold2);grid-column:2}
.tile .meter{grid-column:1/3;height:4px;background:#0a0f24;margin-top:5px;position:relative}
.tile .meter i{position:absolute;inset:0 auto 0 0;background:var(--gold)}
.ladder{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;align-items:end;padding:10px 6px 4px;border:2px solid var(--line);background:#0e1532}
.rung{display:flex;flex-direction:column;align-items:center;gap:3px;position:relative;opacity:.55}
.rung.me{opacity:1}
.rung .pc{font-family:var(--f-px);font-size:10px;color:var(--dim)}
.rung .col{width:100%;max-width:34px;height:70px;position:relative;background:#0a0f24}
.rung .col i{position:absolute;left:0;right:0;bottom:0;background:#4b5a99}
.rung.me .col i{background:var(--gold);box-shadow:0 0 0 2px var(--gold2)}
.rung .cn{display:flex;flex-wrap:wrap;justify-content:center;max-width:42px;min-height:13px}
.rung .cn .ic{width:9px;height:9px;margin:0}
.rung .nm{font-size:10.5px;color:var(--faint);text-align:center;line-height:1.2}
.rung.me .nm{color:var(--gold2);font-weight:600}
.rung .you{position:absolute;top:-12px;font-family:var(--f-px);font-size:9px;background:var(--gold);color:#1a1205;padding:0 4px}
.money{display:flex;align-items:center;gap:12px;padding:8px 12px;border:2px solid #6b4f16;background:linear-gradient(90deg,#2a2210,#151f45)}
.money b{font-family:var(--f-disp);font-size:26px;color:var(--gold2);display:block;line-height:1.1}
.money span{font-size:12px;color:var(--dim)}
.statrow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.sb{display:flex;align-items:center;gap:5px;min-width:0}
.sb .bar{flex:1;height:6px;background:#0a0f24;border:1px solid var(--line);position:relative;min-width:20px}
.sb .bar i{position:absolute;inset:0 auto 0 0;background:var(--teal)}
.sb b{font-family:var(--f-px);font-size:11px}
.outcome{align-self:flex-start;font-family:var(--f-disp);font-weight:700;font-size:20px;padding:4px 14px;border:2px solid;display:flex;gap:8px;align-items:center}
.outcome.good{color:var(--good);background:rgba(56,224,123,.1)} .outcome.mid{color:var(--warn);background:rgba(255,207,77,.08)} .outcome.bad{color:var(--bad);background:rgba(255,77,109,.1)}
.legendgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px 12px}
.legendgrid div{display:grid;grid-template-columns:auto 1fr;gap:0 6px;align-items:center}
.legendgrid .ic{grid-row:1/3}
.legendgrid b{font-family:var(--f-disp);font-size:14px}
.legendgrid span{font-size:11.5px;color:var(--faint)}
/* ---------- มือถือแนวตั้ง: HUD + จอเกมติดด้านบน แผงเลือกเลื่อนอยู่ข้างล่าง ---------- */
@media (max-width:640px){
  body{font-size:14.5px}
  #app{padding-block:0 18px;padding-left:max(8px, env(safe-area-inset-left, 0px));padding-right:max(8px, env(safe-area-inset-right, 0px));gap:8px}
  .hud{padding:5px 8px;gap:2px 8px;box-shadow:none;border-width:0 0 2px;margin-inline:-8px;padding-top:max(5px, env(safe-area-inset-top, 0px))}
  .who{flex:1 1 100%;gap:8px}
  .who b{font-size:15px}
  .who .where{font-size:11.5px}
  .stats{gap:2px 9px;flex-wrap:nowrap;width:100%;justify-content:space-between}
  .stat{font-size:11px;gap:3px}
  .stat img{width:12px;height:12px}
  .stat .bar{width:22px;height:5px}
  .main{gap:10px}
  .main > section:first-child{background:var(--bg);padding-bottom:4px;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;align-items:center}
  .main > section:first-child .screen{grid-column:1 / -1}
  .timeline{margin-right:14px}
  .under{margin-top:6px!important}
  #sndTxt{display:none}
  .screen{box-shadow:none;border-width:2px}
  .timeline{margin-top:6px;height:16px}
  .under{margin-top:2px}

  .under{justify-content:flex-end}
  .linkbtn{padding:2px 8px;font-size:12px}
  .panel{padding:12px 12px 14px;box-shadow:none;scroll-margin-top:calc(var(--stickH, 0px) + 6px)}
  .panel h2{font-size:19px;line-height:1.35}
  .ch{padding:9px 11px}
}
@media (max-width:640px) and (min-height:600px){
  .hud{position:sticky;top:0;z-index:20}
  .main > section:first-child{position:sticky;top:var(--hudH, 0px);z-index:10}
}
@media (hover:none) and (pointer:coarse){ .kbd{display:none} }
@media (prefers-reduced-motion: reduce){ .chip,.led{animation:none} .ch,.stat{transition:none} }

/* Pixel refresh: presentation only; original responsive layout remains in place. */
:root{--bg:#0c1226;--bg2:#121c36;--panel:#16213d;--line:#354d70;--ink:#f3ead5;--dim:#bac3d5;--faint:#8e9fb9;--gold:#e8b252;--gold2:#f6cf79;--teal:#70b9b0;--good:#80c393;--bad:#ed8191;--warn:#e9c76d;--karma:#b39bcf}
body{background:#0c1226;background-image:none}
#app{max-width:1240px;padding-top:24px;gap:16px}
.main{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:22px}
.screen{border:3px solid #0a1020;outline:2px solid #b8924f;box-shadow:0 5px 0 #070b17}
.scan{opacity:.15}
.hud{background:#121c36;border:1px solid #354d70;border-top:2px solid #b8924f;padding:12px 14px;box-shadow:0 4px 0 #070b17;gap:10px 16px}
.who b{color:var(--gold2)}
.panel{background:#16213d;border:1px solid #354d70;border-top:2px solid #b8924f;padding:22px;gap:14px;box-shadow:0 5px 0 #070b17}
.panel h2{font-size:24px;line-height:1.45;color:var(--ink)}
.panel .txt,.story{line-height:1.85}
.title-art{font-size:clamp(34px,4.8vw,54px);line-height:1.2;text-shadow:2px 2px 0 #69452b}
.title-art small{font-size:10px;line-height:1.7;letter-spacing:.08em;margin-top:12px}
.panel:has(.title-art) .go{width:100%;text-align:center;font-size:19px}
.legendgrid{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
.legendgrid>div{padding:10px 8px;background:#121c34;border:1px solid #2d4363;gap:1px 8px}
.legendgrid .ic{width:20px;height:20px}
.legendgrid span{line-height:1.6}
.choices{gap:10px}
.ch{background:#1b2b49;border:1px solid #405779;border-left:3px solid #536c8c;padding:12px;box-shadow:0 3px 0 #0a1020;transition:background .12s,border-color .12s,transform .08s}
.ch:hover:not(:disabled),.ch:focus-visible{background:#253654;border-color:var(--gold);box-shadow:0 3px 0 #0a1020}
.ch .l{font-size:16px;line-height:1.5}.ch .s{line-height:1.65}.ch .k{color:#9cabc2}
.ch.on{background:#1d3c48;border-color:var(--teal)}
.go{background:var(--gold);padding:12px 26px;border:1px solid #f1cc80;box-shadow:0 3px 0 #805b28;min-height:46px}
.go:focus-visible,.linkbtn:focus-visible{outline:2px solid var(--gold2);outline-offset:4px}
.linkbtn{background:#121c34;border-color:#405779;padding:5px 10px;min-height:32px}
.timeline .track,.part .bar,.stat .bar,.sb .bar{background:#091122;border-color:#354d70}
.story{background:#1d2b40;border-left-color:#cfa058;padding:11px 13px}
.head{background:#302c27}.pend{background:#121c34;border-color:#405779}
.tile,.gen{background:#121c34;border:1px solid #354d70;padding:10px}
.money{background:#252838;border:1px solid #957442}
.drawer .in{background:#121c34;border-color:#b8924f}
.ledger{gap:9px}.led{padding:9px 10px}.help{line-height:1.7}
@media(max-width:880px){.main{grid-template-columns:minmax(0,1fr);gap:18px}#app{max-width:720px}}
@media(max-width:640px){#app{padding-top:0;gap:8px}.main{gap:12px}.panel{padding:15px 13px;gap:12px}.panel h2{font-size:21px}.hud{padding:6px 8px;border-width:0 0 1px;gap:3px 8px}.ch{padding:11px 10px}.ch .l{font-size:15px}.legendgrid>div{padding:8px 6px}.legendgrid{gap:7px}.title-art{font-size:38px}.title-art small{font-size:9px}.linkbtn{min-height:32px}.screen{box-shadow:none}.go{min-height:46px}}


/* More spacious typography, matching the approved reference. */
 .scan{display:none}
 .panel .txt{font-size:15.5px;line-height:1.9}
 .legendgrid{background:transparent;gap:14px 10px}
 .legendgrid>div{background:transparent;border:0;padding:8px 3px}
 .legendgrid .ic{width:23px;height:23px}
 .legendgrid b{font-size:15px}.legendgrid span{font-size:12px}
 .screen{outline-color:#dfb663}
 .panel:has(.title-art){gap:22px}
 .panel:has(.title-art) .go{font-size:22px}
 .panel:has(.cardwrap) .score{padding:16px 0;border-bottom:1px solid #46516b;gap:12px 18px}
 .panel:has(.cardwrap) .score .n{font-size:56px}
 .panel:has(.cardwrap) .arch{background:#24273f;border:1px solid #7f6c7f;padding:14px}
 .panel:has(.cardwrap) .parts{gap:9px;padding:8px 0}
 .cardwrap{gap:16px}.cardwrap .card{width:min(100%,360px);border:1px solid #a48764;image-rendering:auto;box-shadow:0 6px 16px #080d1d}
 @media(max-width:640px){.panel:has(.title-art){gap:16px}.panel .txt{font-size:14.5px}.legendgrid{gap:10px}.legendgrid b{font-size:14px}.legendgrid span{font-size:11px}}
 
/* Latest update announcement */

/* Public privacy link remains available before sign-in and during play. */
.site-footer{margin-top:auto;padding:12px 0 0;text-align:center;font-size:13px;color:var(--dim)}
.site-footer a{display:inline-block;padding:8px 12px;color:var(--dim);text-underline-offset:4px}
.site-footer a:hover{color:var(--gold2)}
.site-footer a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

