*, *::before, *::after { box-sizing: border-box; }
:root {
  --paper:#E5D5A8; --paper-2:#DCC894; --cream:#F6EDD4; --ink:#1D1709; --ink-2:#4C4023;
  --muted:#85744A; --rule:#B49F68; --green:#067450; --green-br:#28CC95;
  --brand-dk:#003221; --rust:#B0461F;
  padding-top: env(safe-area-inset-top,0px); padding-bottom: env(safe-area-inset-bottom,0px);
}
body { margin:0; background:var(--paper); color:var(--ink);
  font-family:"Oswald",Impact,sans-serif; line-height:1.45; }
.wrap { max-width:820px; margin:0 auto; padding:24px 18px 60px; }
.sheet { border:9px solid var(--ink); box-shadow:inset 0 0 0 4px var(--paper),inset 0 0 0 6px var(--ink);
  background:var(--paper); padding:26px 24px; }
.orn { display:flex; align-items:center; gap:9px; }
.orn i { flex:1; height:6px; border-top:3px solid var(--ink); border-bottom:1px solid var(--ink); }
.orn b { width:7px; height:7px; background:var(--ink); transform:rotate(45deg); }
.brandline { font-family:"Manrope",Arial,sans-serif; font-weight:800; font-size:26px;
  letter-spacing:-0.035em; color:var(--green); }
h1 { font-family:"Ultra",Georgia,serif; font-size:clamp(34px,7vw,62px); line-height:0.92;
  text-transform:uppercase; margin:10px 0 0; }
h2 { font-family:"Ultra",Georgia,serif; font-size:21px; text-transform:uppercase; margin:0 0 10px; }
.lede { display:grid; gap:3px; text-align:center; margin:16px 0 4px; font-family:"Courier Prime",Courier,monospace;
  font-size:14px; letter-spacing:0.14em; text-transform:uppercase; color:var(--ink-2); }
.lede span:nth-child(2) { color:var(--ink); font-weight:700; }
.mono { font-family:"Courier Prime",Courier,monospace; }
label { display:block; font-family:"Courier Prime",monospace; font-size:11px; letter-spacing:0.18em;
  text-transform:uppercase; color:var(--muted); margin:18px 0 6px; }
input, select { width:100%; font:inherit; font-size:17px; padding:11px 12px; background:var(--cream);
  border:2px solid var(--ink); color:var(--ink); }
input:focus, select:focus { outline:3px solid var(--green-br); outline-offset:-1px; }
.row2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
button { font-family:"Oswald",sans-serif; font-weight:600; font-size:14px; letter-spacing:0.16em;
  text-transform:uppercase; padding:12px 20px; background:var(--ink); color:var(--paper);
  border:2px solid var(--ink); cursor:pointer; }
button.ghost { background:transparent; color:var(--ink); }
button[disabled] { opacity:0.45; cursor:not-allowed; }
.step { border-top:2px solid var(--ink); margin-top:26px; padding-top:18px; }
.games { display:flex; flex-direction:column; max-height:330px; overflow:auto; border:2px solid var(--ink);
  background:var(--cream); }
.game { display:flex; align-items:center; gap:12px; padding:11px 12px; border:0; background:transparent;
  border-bottom:1px solid var(--rule); text-align:left; cursor:pointer; letter-spacing:0; text-transform:none;
  font-family:"Oswald",sans-serif; font-size:15px; color:var(--ink); font-weight:500; }
.game:last-child { border-bottom:0; }
.game[aria-pressed="true"] { background:var(--green); color:var(--cream); }
.game .when { margin-left:auto; font-family:"Courier Prime",monospace; font-size:11px; color:var(--muted);
  white-space:nowrap; }
.game[aria-pressed="true"] .when { color:var(--cream); }
.badge { font-family:"Courier Prime",monospace; font-size:10px; letter-spacing:0.1em; text-transform:uppercase;
  padding:2px 7px; border:1px solid currentColor; white-space:nowrap; }
.badge.good { color:var(--green); } .badge.thin { color:var(--rust); } .badge.poor { color:var(--rust); opacity:0.8; }
.legs { border-top:2px solid var(--ink); margin-top:12px; }
.leg { display:flex; align-items:baseline; gap:12px; padding:9px 2px; border-bottom:1px solid var(--rule); }
.leg .p { font-family:"Ultra",Georgia,serif; font-size:22px; color:var(--green); min-width:52px; }
.leg .n { font-weight:600; text-transform:uppercase; font-size:15px; }
.leg .m { margin-left:auto; font-family:"Courier Prime",monospace; font-size:11px; color:var(--muted); }
.note { font-family:"Courier Prime",monospace; font-size:12px; color:var(--ink-2); margin-top:10px; line-height:1.6; }
.warn { border:2px dashed var(--rust); color:var(--ink); padding:12px 14px; margin-top:14px;
  font-family:"Courier Prime",monospace; font-size:12.5px; line-height:1.6; }
.ok { border:2px solid var(--green); background:rgba(40,204,149,0.1); padding:12px 14px; margin-top:14px;
  font-family:"Courier Prime",monospace; font-size:12.5px; }
code { font-family:"Courier Prime",monospace; background:var(--paper-2); padding:2px 5px; word-break:break-all; }
a { color:var(--green); }
.bar { display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }

.seg { display:inline-flex; border:2px solid var(--ink); margin:0 0 10px; }
.seg button { font-family:"Courier Prime",monospace; font-size:12px; letter-spacing:0.16em; text-transform:uppercase;
  padding:8px 16px; background:var(--cream); color:var(--ink-2); border:0; cursor:pointer; }
.seg button + button { border-left:2px solid var(--ink); }
.seg button[aria-pressed="true"] { background:var(--ink); color:var(--cream); }
.ghead { font-family:"Courier Prime",monospace; font-size:10px; letter-spacing:0.2em; text-transform:uppercase;
  color:var(--muted); background:var(--paper-2); padding:7px 12px; border-bottom:1px solid var(--rule); }
.game.later { color:var(--ink-2); }
.game.later[aria-pressed="true"] { color:var(--cream); }
.bookmark { font-family:"Courier Prime",monospace; font-size:12px; line-height:1.6; color:var(--ink-2);
  border-left:3px solid var(--rule); padding:8px 12px; margin-top:16px; }
.bookmark.loud { border-left-color:var(--green); background:rgba(40,204,149,0.1); color:var(--ink); }
.money { display:flex; align-items:center; border:2px solid var(--ink); background:var(--cream); }
.money:focus-within { outline:3px solid var(--green-br); outline-offset:-1px; }
.money span { font-family:"Ultra",Georgia,serif; font-size:22px; padding:0 4px 0 12px; color:var(--muted); }
.money input { border:0; font-family:"Ultra",Georgia,serif; font-size:26px; padding:8px 10px; -moz-appearance:textfield; }
.money input:focus { outline:none; }
.money input::-webkit-outer-spin-button, .money input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.primary { width:100%; font-size:18px; padding:18px 20px; background:var(--green); border-color:var(--green); color:var(--cream); }
.primary[disabled] { opacity:0.5; }
.tvlink { border:3px solid var(--ink); background:var(--cream); padding:16px; text-align:center; }
.tvlink .bar { justify-content:center; }
#live > .note { text-align:center; max-width:60ch; margin-left:auto; margin-right:auto; }
.tvlink .mono { font-size:17px; font-weight:700; word-break:break-all; }
.tag { font-family:"Courier Prime",monospace; font-size:10px; letter-spacing:0.12em; color:var(--muted); }
.game[aria-pressed="true"] .tag { color:var(--cream); opacity:0.8; }
.game .change { font-family:"Courier Prime",monospace; font-size:11px; letter-spacing:0.14em; text-transform:uppercase;
  border:1px solid var(--cream); padding:3px 8px; margin-left:14px; opacity:0.9; }
