:root {
  --ink: #f0e7c7;
  --paper: #d9cfaa;
  --night: #06120d;
  --panel: #0c2519;
  --green: #4df27c;
  --green-dim: #1a8e46;
  --amber: #ffc857;
  --red: #ff5d5d;
  --blue: #68b8ff;
  --shadow: #020705;
}
[hidden] { display:none !important; }

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  background:
    radial-gradient(circle at 50% 12%, #173421 0, #07150e 42%, #020604 100%);
  font-family: "Courier New", Courier, monospace;
  line-height: 1.45;
  -webkit-text-size-adjust: 100%;
}
body[data-text-size="large"] { font-size:18px; }
body[data-text-size="extra large"] { font-size:21px; }
.week-ribbon { display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid #285139;background:#071810;position:sticky;top:0;z-index:8; }
.week-ribbon span { padding:9px 5px;text-align:center;font-size:.72rem;color:#6e927d;border-right:1px solid #173b29; }
.week-ribbon span.active { color:#08110b;background:var(--amber);font-weight:900;box-shadow:0 0 16px rgba(255,200,87,.35); }
.arcade-mode-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px; }
.broadcast-strip { padding:10px 14px;border:1px solid #315f46;background:#08160f;color:#b9d7c4;margin:12px 0; }
.commentary p { animation:commentary-in .32s ease both; }
body[data-commentary="relaxed"] .commentary p { animation-duration:.8s; }
body[data-commentary="brisk"] .commentary p { animation-duration:.12s; }
@keyframes commentary-in { from { opacity:0;transform:translateY(5px); } }
.momentum { display:grid;grid-template-columns:auto minmax(100px,1fr) auto;align-items:center;gap:9px;font-size:.72rem;color:#9ab3a3;margin:12px 0; }
.momentum>div { height:13px;background:#481c25;border:1px solid #527661; }
.momentum i { display:block;height:100%;background:linear-gradient(90deg,#d84e57,var(--amber),var(--green));transition:width .35s ease; }
.match-timeline { display:flex;justify-content:space-between;gap:4px;margin:10px 0 14px; }
.match-timeline span { flex:1;text-align:center;padding:5px 2px;border:1px solid #274c37;color:#698676;font-size:.72rem; }
.match-timeline .won { background:#174c2e;color:#8dffae; }.match-timeline .lost { background:#501c25;color:#ff9b9b; }.match-timeline .current { border-color:var(--amber);color:var(--amber);box-shadow:0 0 8px rgba(255,200,87,.3); }
.match-briefing-grid,.post-match-room { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0; }
.scout-card { border-top:4px solid var(--amber); }
.scout-card h3 { color:var(--amber);letter-spacing:.08em; }
.verdict.small { font-size:1.05rem;line-height:1.25; }
.tactical-choice-grid .choice { min-height:166px; }
.tactical-choice-grid em { display:block;color:#9bb4a4;margin-top:8px;font-style:normal;font-size:.84em; }
.match-day-strip { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#315f46;border:1px solid #315f46;margin:12px 0; }
.match-day-strip span { background:#07160f;padding:9px 10px;color:#b9d7c4;font-size:.72rem; }
.match-day-strip b { color:var(--amber); }
.crowd-call { border-left:4px solid var(--green);padding:9px 12px;background:#0a2116;color:#d2e3d7;font-size:.82rem;margin:8px 0; }
.situation-label { display:inline-block;background:var(--amber);color:#111708;font-weight:900;font-size:.72rem;letter-spacing:.09em;padding:4px 8px;margin-bottom:5px; }
.post-match-room .card:first-child { border-color:var(--amber); }
.collection-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px; }
.collectible { display:grid;grid-template-columns:42px 1fr;gap:3px 9px;align-items:center;border:1px solid #315f46;padding:10px;background:#07170f; }
.collectible span { grid-row:1/3;font-size:2rem; }.collectible small { color:#86a491; }

button, input, select { font: inherit; }

button { touch-action: manipulation; }

.crt {
  pointer-events: none;
  position: fixed;
  inset: 0;
  z-index: 20;
  background: repeating-linear-gradient(0deg, rgba(0,0,0,.18) 0, rgba(0,0,0,.18) 1px, transparent 1px, transparent 4px);
  mix-blend-mode: multiply;
  opacity: .52;
}

.game-shell {
  width: min(1060px, calc(100% - 24px));
  margin: 18px auto 42px;
  border: 4px double var(--green-dim);
  background: rgba(4, 15, 10, .96);
  box-shadow: 0 0 0 6px #020604, 0 0 42px rgba(77, 242, 124, .16);
  min-height: calc(100vh - 60px);
}

body[data-layout="iphone"] .game-shell { width:min(390px,100%);margin:0 auto;min-height:100dvh;border-width:0; }
body[data-layout="android"] .game-shell { width:min(430px,100%);margin:0 auto;min-height:100dvh;border-width:0; }
body[data-layout="tablet"] .game-shell { width:min(900px,100%);margin:10px auto 30px; }
body[data-layout="desktop"] .game-shell { width:min(1180px,calc(100% - 28px)); }
body[data-layout="tablet"] .content { padding:28px; }
body[data-layout="desktop"] .content { padding:40px; }

body[data-layout="iphone"] .masthead,
body[data-layout="android"] .masthead { grid-template-columns:1fr;padding:10px 14px 12px;gap:9px; }
body[data-layout="iphone"] .brand-lockup,
body[data-layout="android"] .brand-lockup { display:grid;justify-items:center; }
body[data-layout="iphone"] .title-masthead .brand-lockup,
body[data-layout="android"] .title-masthead .brand-lockup { display:none; }
body[data-layout="iphone"] .brand-lockup img,
body[data-layout="android"] .brand-lockup img { width:min(310px,88vw);height:90px;object-position:center; }
body[data-layout="iphone"] .brand-lockup p,
body[data-layout="android"] .brand-lockup p { text-align:center;font-size:.52rem;letter-spacing:.12em;margin-top:-2px; }
body[data-layout="iphone"] .header-controls,
body[data-layout="android"] .header-controls { display:grid;grid-template-columns:repeat(3,1fr);width:100%;gap:7px; }
body[data-layout="iphone"] .header-button,
body[data-layout="android"] .header-button { width:100%;min-width:0;padding:9px 4px;font-size:.6rem; }
body[data-layout="iphone"] .save-light,
body[data-layout="android"] .save-light { display:none; }
body[data-layout="iphone"] .content,
body[data-layout="android"] .content { padding:22px 16px 30px; }
body[data-layout="iphone"] .hud,
body[data-layout="android"] .hud { grid-template-columns:repeat(3,1fr); }
body[data-layout="iphone"] .hud-item,
body[data-layout="android"] .hud-item { padding:8px 4px;font-size:.58rem; }
body[data-layout="iphone"] .hud-item strong,
body[data-layout="android"] .hud-item strong { font-size:.78rem; }
body[data-layout="iphone"] .form-grid,body[data-layout="iphone"] .dashboard,body[data-layout="iphone"] .selection-board,
body[data-layout="android"] .form-grid,body[data-layout="android"] .dashboard,body[data-layout="android"] .selection-board { grid-template-columns:1fr; }
body[data-layout="iphone"] .choice-grid,body[data-layout="android"] .choice-grid { grid-template-columns:1fr;gap:10px; }
body[data-layout="iphone"] .choice,body[data-layout="android"] .choice { min-height:0;padding:15px; }
body[data-layout="iphone"] .button-row,body[data-layout="android"] .button-row { display:grid;grid-template-columns:1fr;width:100%;gap:10px; }
body[data-layout="iphone"] .button-row .btn,body[data-layout="android"] .button-row .btn { width:100%; }
body[data-layout="iphone"] .save-slot-list,body[data-layout="android"] .save-slot-list { grid-template-columns:1fr;gap:9px; }
body[data-layout="iphone"] .title-hero,body[data-layout="android"] .title-hero { min-height:0;padding:18px 16px 26px; }
body[data-layout="iphone"] .title-logo,body[data-layout="android"] .title-logo { width:min(350px,98%);max-height:190px; }
body[data-layout="iphone"] .scoreboard,body[data-layout="android"] .scoreboard { grid-template-columns:1fr auto 1fr;padding:11px 6px;gap:5px; }
body[data-layout="iphone"] .score,body[data-layout="android"] .score { font-size:1.8rem; }
body[data-layout="iphone"] .score-crest,body[data-layout="android"] .score-crest { width:45px;height:45px; }
body[data-layout="iphone"] .arcade-mode-grid,body[data-layout="android"] .arcade-mode-grid { grid-template-columns:1fr; }
body[data-layout="iphone"] .moment .button-row,body[data-layout="android"] .moment .button-row { grid-template-columns:1fr 1fr; }
body[data-layout="tablet"] .save-slot-list { grid-template-columns:repeat(3,1fr); }
body[data-layout="tablet"] .training-grid { grid-template-columns:repeat(2,1fr); }
body[data-layout="desktop"] .training-grid { grid-template-columns:repeat(3,1fr); }
.layout-setting { border-color:var(--amber); }

.masthead {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 20px;
  padding: 18px 22px 13px;
  color: var(--green);
  border-bottom: 2px solid var(--green-dim);
  text-shadow: 0 0 10px rgba(77,242,124,.55);
}

.logo { margin: 0; font-size: clamp(1.65rem, 5vw, 3.8rem); line-height: .88; letter-spacing: -.06em; }
.logo small { display: block; font-size: .3em; letter-spacing: .25em; color: var(--amber); margin-top: 11px; }
.brand-lockup { min-width:0; }
.brand-lockup img { display:block;width:clamp(250px,42vw,430px);max-height:118px;object-fit:contain;object-position:left center;filter:drop-shadow(0 4px 8px rgba(0,0,0,.6)); }
.brand-lockup p { margin:2px 0 0;color:var(--amber);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase; }
.title-masthead { grid-template-columns:1fr;justify-items:end;padding-top:11px;padding-bottom:11px; }
.title-masthead .brand-lockup { display:none; }
.save-light { font-size: .78rem; color: var(--green); }
.save-light::before { content: "●"; margin-right: 7px; animation: blink 1.4s steps(1) infinite; }
.header-controls { display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px; }
.header-button { min-height:42px;border:1px solid #4a7259;background:linear-gradient(#10271a,#06110b);color:#c9d8cd;padding:8px 11px;cursor:pointer;font:inherit;font-size:.7rem;font-weight:800;text-transform:uppercase;box-shadow:2px 2px 0 var(--shadow); }
.header-button span { color:var(--amber);margin-right:3px; }
.header-button:hover,.header-button:focus-visible { color:#06110b;background:var(--amber);border-color:var(--amber);outline:none; }
.sound-toggle { border: 1px solid var(--green-dim); background: #04110a; color: var(--green); padding: 7px 10px; cursor: pointer; font: inherit; font-size: .72rem; font-weight: 700; box-shadow: 2px 2px 0 var(--shadow); }
.sound-toggle[aria-pressed="false"] { color: #91a398; border-color: #496052; }
.sound-toggle:hover,.sound-toggle:focus-visible { border-color: var(--amber); color: var(--amber); outline: none; }

.content { padding: clamp(20px, 4vw, 38px); }
.screen-title { color: var(--amber); margin: 0 0 6px; font-size: clamp(1.35rem, 4vw, 2.25rem); text-transform: uppercase; }
.kicker { margin: 0 0 24px; color: #a8cbb2; }
.lede { max-width: 720px; font-size: 1.07rem; }

.hero {
  min-height: 430px;
  display: grid;
  align-content: center;
  justify-items: center;
  text-align: center;
  padding: 35px;
  background:
    linear-gradient(rgba(4,15,10,.46), rgba(4,15,10,.92)),
    var(--hero-image, radial-gradient(ellipse at center, #194d2f 0%, #06120d 72%));
  background-size: cover;
  background-position: center;
}

.hero .logo { font-size: clamp(2.4rem, 10vw, 6.8rem); }
.hero-copy { max-width: 650px; margin: 26px 0; color: var(--paper); }
.title-hero { min-height:560px;padding-top:28px; }
.title-logo { width:min(680px,92%);height:auto;max-height:285px;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,0,0,.7)); }
.save-slot-list { width:min(760px,100%);display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:2px 0 22px; }
.save-slot { min-height:112px;text-align:left;display:grid;align-content:center;gap:3px;position:relative;overflow:hidden; }
.save-slot::after { content:"›";position:absolute;right:13px;top:50%;transform:translateY(-50%);font-size:2rem;opacity:.7; }
.save-slot .slot-number { color:var(--amber);font-size:.7rem;letter-spacing:.12em; }
.save-slot strong { font-size:1rem;padding-right:20px; }
.save-slot small { color:#b7c8bc;text-transform:none;font-weight:400;padding-right:20px; }
.save-slot:hover small,.save-slot:focus-visible small,.save-slot:hover .slot-number,.save-slot:focus-visible .slot-number { color:#07130d; }
.save-manager { margin-top:28px;padding-top:22px;border-top:1px solid #356348; }
.save-manager > h3 { color:var(--amber);text-transform:uppercase;margin:0 0 8px; }
.save-manager-notice { border-left:4px solid var(--green);padding:9px 12px;background:rgba(86,255,126,.08); }
.settings-save-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:16px; }
.settings-save-slot { display:flex;flex-direction:column;min-width:0; }
.settings-save-slot .slot-number { color:var(--amber);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase; }
.settings-save-slot h3 { margin:8px 0 3px;overflow-wrap:anywhere; }
.settings-save-slot p { color:#b7c8bc;margin:0 0 16px; }
.settings-save-slot .btn { width:100%;margin-top:auto; }
.settings-save-slot.empty { opacity:.72; }
.settings-save-slot.confirming { border-color:var(--red); }
.save-delete-confirm { display:grid;gap:9px;margin-top:auto;padding-top:12px;border-top:1px solid rgba(255,91,91,.45); }
.save-delete-confirm > strong { color:var(--red);font-size:.82rem;line-height:1.45; }
.music-button { margin-bottom:5px;border-color:#7ca08a;color:#d9e6dc; }

.btn {
  border: 2px solid var(--green);
  background: #071a10;
  color: var(--green);
  padding: 12px 16px;
  cursor: pointer;
  text-transform: uppercase;
  font-weight: 700;
  box-shadow: 4px 4px 0 var(--shadow);
  min-height:48px;
  border-radius:2px;
  line-height:1.25;
}
.btn:hover, .btn:focus-visible { background: var(--green); color: #04110a; outline: none; transform: translate(-1px,-1px); }
.btn:active { transform: translate(3px,3px); box-shadow: 1px 1px 0 var(--shadow); }
.btn.amber { border-color: var(--amber); color: var(--amber); }
.btn.amber:hover, .btn.amber:focus-visible { background: var(--amber); color: #211400; }
.btn.red { border-color: var(--red); color: var(--red); }
.btn.red:hover, .btn.red:focus-visible { background: var(--red); color: #210000; }
.btn.subtle { border-color: #587162; color: #a8b9ae; }
.btn:disabled { cursor: not-allowed; opacity: .42; filter: grayscale(1); transform: none; }

.button-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.choice-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 13px; margin-top: 20px; }
.choice { text-align: left; min-height: 132px; display: flex; flex-direction: column; justify-content: space-between; }
.choice strong { display: block; font-size: 1.08rem; margin-bottom: 8px; }
.choice span { font-weight: normal; text-transform: none; color: var(--ink); font-size: .88rem; }
.choice:hover span, .choice:focus-visible span { color: #071a10; }
.promise-badge { display: inline-block; margin-top: 10px; padding: 3px 6px; color: #210000; background: var(--amber); font-style: normal; font-size: .72rem; }
.goal-card { position: relative; overflow: hidden; border-width: 3px; background: linear-gradient(135deg,#102318,#07130d); }
.goal-card::after { content:"⚽"; position:absolute; right:-8px; bottom:-25px; font-size:5.5rem; opacity:.09; }
.goal-card.gc-1 { border-color:#b97545; }.goal-card.gc-2 { border-color:#b9c6cb; }.goal-card.gc-3 { border-color:#ffc857; }.goal-card.gc-4 { border-color:#ffef73; box-shadow:0 0 18px rgba(255,239,115,.25); }
.goal-card-reward { border:2px solid var(--amber); background:#28210b; color:var(--amber); padding:12px; margin:12px 0; }
.goal-card-reveal { max-width:780px; margin:auto; }
.goal-card-deal { position:relative; overflow:hidden; margin:24px 0; padding:clamp(26px,6vw,56px); text-align:center; border:5px double var(--amber); background:radial-gradient(circle at 50% 35%,#173b26 0,#0b2116 52%,#031009 100%); box-shadow:0 0 0 5px #06120c,10px 12px 0 #020604; }
.goal-card-deal::before,.goal-card-deal::after { content:"★"; position:absolute; top:18px; color:var(--amber); font-size:2rem; opacity:.45; }
.goal-card-deal::before { left:22px; }.goal-card-deal::after { right:22px; }
.deal-stamp { display:inline-block; padding:6px 12px; border:1px solid var(--green); color:var(--green); letter-spacing:.14em; }
.deal-mode { margin:22px 0 14px; color:var(--amber); font-family:Georgia,serif; font-size:clamp(2.3rem,9vw,5rem); font-weight:900; line-height:.9; text-shadow:4px 4px #482008; }
.deal-slots { display:flex; justify-content:center; flex-wrap:wrap; gap:9px; margin-top:25px; }
.deal-slots span { min-width:82px; padding:8px 10px; border:2px solid #40634d; color:#779080; background:#07150e; font-size:.76rem; }
.deal-slots .current { border-color:var(--amber); color:var(--amber); box-shadow:0 0 12px rgba(255,200,87,.22); }
.deal-slots .spent { color:var(--green); border-color:var(--green); }.deal-slots .sealed { font-size:1.2rem; }
.goal-card-history { list-style:none; padding:0; margin:18px 0; border-top:1px solid #315c43; }
.goal-card-history li { display:grid; grid-template-columns:90px 1fr auto; gap:12px; align-items:center; padding:10px 4px; border-bottom:1px solid #315c43; }
.goal-card-history span { color:#8ba596; font-size:.72rem; }.goal-card-history em { font-style:normal; font-weight:700; }

.form-grid, .dashboard { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.field { display: grid; gap: 7px; }
label { color: var(--green); font-weight: 700; text-transform: uppercase; }
input, select {
  width: 100%;
  color: var(--ink);
  background: #020b07;
  border: 2px solid #2b6643;
  padding: 12px;
  outline: none;
}
input:focus, select:focus { border-color: var(--green); box-shadow: 0 0 12px rgba(77,242,124,.22); }

.hud { display: grid; grid-template-columns: repeat(6, 1fr); border-bottom: 1px solid #245338; }
.hud-item { padding: 10px 9px; border-right: 1px solid #245338; text-align: center; font-size: .78rem; text-transform: uppercase; color: #96b69f; }
.hud-item strong { display: block; color: var(--ink); font-size: .98rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.card { border: 1px solid #356348; border-top:3px solid #3e8c59; background:linear-gradient(145deg,#0e2a1c,#081b12); padding: 19px; box-shadow: inset 0 0 20px rgba(0,0,0,.26),4px 5px 0 rgba(0,0,0,.28); }
.card h3 { margin: 0 0 12px; color: var(--green); text-transform: uppercase; }
.card.full { grid-column: 1 / -1; }
.asset-hook { min-height: 185px; display: grid; place-items: center; border: 2px dashed #326746; color: #72907b; text-align: center; background-size: cover; background-position: center; }
.asset-hook span { background: rgba(2,11,7,.78); padding: 7px 10px; }
.asset-hook.illustrated { min-height: 270px; border: 2px solid #326746; box-shadow: inset 0 0 0 2px #07130d; }
.asset-hook.player-reference { background-size: cover; background-position: 50% 28%; }
.expansion-art { background-color: #030805; background-size: contain; background-repeat: no-repeat; background-position: center; }
.asset-hook.illustrated.expansion-art { min-height: 0; aspect-ratio: 3 / 2; }

.stat-row { display: grid; grid-template-columns: 90px 1fr 34px; align-items: center; gap: 9px; margin: 8px 0; font-size: .86rem; }
.bar { height: 10px; background: #020905; border: 1px solid #2e6845; }
.bar > i { display: block; height: 100%; background: var(--green); box-shadow: 0 0 8px rgba(77,242,124,.4); }
.bar.amber > i { background: var(--amber); }

.event-copy { border-left: 5px solid var(--amber); padding: 4px 0 4px 18px; max-width: 760px; font-size: 1.06rem; }
.quote { color: var(--amber); font-size: 1.18rem; }
.result-box { border: 2px solid var(--amber); background: #171708; color: var(--ink); padding: 17px; margin: 20px 0; }
.positive { color: var(--green); }
.negative { color: var(--red); }

.selection-board { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.match-venue { min-height: 290px; margin: 0 0 18px; border: 3px solid #326746; background-size: cover; background-position: center; display: flex; align-items: end; box-shadow: inset 0 -90px 60px rgba(0,0,0,.7); }
.match-venue.compact { min-height: 210px; }
.match-venue.expansion-art { min-height: 0; height: clamp(280px, 48vw, 520px); }
.match-venue.compact.expansion-art { min-height: 0; height: clamp(230px, 40vw, 430px); }
.match-venue span { width: 100%; padding: 14px 18px; color: var(--amber); font-size: 1.15rem; font-weight: 700; letter-spacing: .08em; text-shadow: 2px 2px #000; }
.training-heading { margin: 24px 0 8px; color: var(--amber); letter-spacing: .12em; }
.training-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.club-crest { display: block; width: 92px; height: 92px; object-fit: contain; margin: 0 auto 10px; filter: drop-shadow(4px 5px 0 #020604); }
.offer-crest { width: 58px; height: 58px; object-fit: contain; float: right; margin: -4px 0 8px 10px; }
.shirt { font-size: 4.4rem; line-height: 1; color: var(--amber); text-align: center; text-shadow: 4px 4px #783c25; }
.verdict { font-size: clamp(1.8rem, 6vw, 4rem); color: var(--green); text-transform: uppercase; line-height: 1; margin: 6px 0 14px; }

.scoreboard { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 13px; text-align: center; border: 3px double var(--ink); padding: 18px; margin-bottom: 18px; }
.scoreboard > span { display: grid; justify-items: center; gap: 6px; }
.score-crest { width: 66px; height: 66px; object-fit: contain; filter: drop-shadow(3px 3px 0 #020604); }
.score { font-size: 2.7rem; color: var(--amber); }
.commentary { min-height: 112px; padding: 15px; background: #020b07; border: 1px solid #285139; }
.commentary p { margin: 0 0 8px; }
.moment { border: 3px solid var(--amber); padding: 18px; margin-top: 17px; background: #181706; }
.minute { color: var(--amber); font-weight: bold; }
.arcade-screen { max-width:900px; margin:auto; }
.arcade-cabinet { border:8px solid #24104b; padding:8px; background:#070314 var(--arcade-ground) center top / 100% auto no-repeat; box-shadow:0 0 0 4px #df268b,8px 10px 0 #020604; }
#goal-card-canvas { display:block; width:100%; aspect-ratio:16/9; background:transparent; image-rendering:pixelated; image-rendering:crisp-edges; }
.arcade-message { min-height:48px; padding:11px; color:#fff36a; background:#08031b; text-align:center; font-weight:700; text-transform:uppercase; }
.arcade-controls { display:grid; grid-template-columns:1fr 1.15fr 1fr; gap:12px; margin-top:20px; }
.arcade-controls.aim-controls { grid-template-columns:minmax(240px,520px); justify-content:center; }
.lifestyle-grid .choice { overflow:hidden; }
.lifestyle-thumb { display:block; width:100%; aspect-ratio:4/3; border:1px solid rgba(111,255,137,.35); margin:-2px 0 12px; background-repeat:no-repeat; }
.lifestyle-scene { background-repeat:no-repeat; }
.lifestyle-inspection .lifestyle-scene { min-height:390px; background-color:#09180f; border:3px solid #3f8255; }
.arcade-controls .btn { min-height:58px; font-size:1.05rem; }

.newspaper { background: var(--paper); color: #17150f; padding: clamp(18px, 4vw, 38px); box-shadow: 8px 8px 0 #020604; transform: rotate(-.3deg); }
.paper-name { text-align: center; border-top: 5px solid #17150f; border-bottom: 3px double #17150f; font-family: Georgia, serif; font-size: clamp(1.8rem, 6vw, 4.2rem); font-weight: 900; line-height: 1; padding: 8px; }
.paper-date { text-align: center; font-size: .75rem; padding: 6px; border-bottom: 1px solid #17150f; }
.headline { font-family: Impact, Haettenschweiler, sans-serif; font-size: clamp(2rem, 7vw, 5.5rem); line-height: .92; text-align: center; text-transform: uppercase; margin: 25px 0 13px; }
.subhead { text-align: center; font-weight: bold; font-size: 1.08rem; }
.paper-columns { columns: 2 250px; column-gap: 30px; column-rule: 1px solid #5a5544; margin-top: 24px; }
.paper-photo { min-height: 170px; border: 3px solid #17150f; background: #777; display: grid; place-items: end center; margin-bottom: 12px; background-size: cover; background-position: center; filter: grayscale(1) contrast(1.3); }
.paper-photo span { background: var(--paper); padding: 4px; font-size: .7rem; }
.paper-roundup { margin-top:18px; padding:12px 14px; border-top:3px double #17150f; border-bottom:1px solid #17150f; font-family:"Courier New",monospace; line-height:1.45; }
.paper-sporting .paper-name { font-family:Impact,Haettenschweiler,sans-serif; letter-spacing:.025em; text-transform:uppercase; }
.paper-sporting .headline { border-top:6px solid #17150f; border-bottom:6px solid #17150f; padding:14px 0; }
.paper-tabloid .paper-name { font-family:Impact,Haettenschweiler,sans-serif; font-style:italic; }
.paper-tabloid .headline { background:#17150f; color:var(--paper); padding:16px 12px; transform:rotate(.25deg); }
.paper-player-story { margin-top:20px; padding:14px 16px; border:2px solid #17150f; font-family:"Courier New",monospace; }
.paper-player-story small { display:block; margin-bottom:5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.paper-player-story h3 { margin:0 0 8px; font-family:Impact,Haettenschweiler,sans-serif; font-size:clamp(1.2rem,3vw,2rem); line-height:1; text-transform:uppercase; }
.paper-player-story p { margin:0; line-height:1.45; }
.paper-player-story.snippet { margin-left:auto; width:min(100%,590px); border-width:1px 0; }
.paper-player-story.brief { border-style:double; border-width:4px 0; }
.paper-player-story.feature { display:grid; grid-template-columns:minmax(170px,.72fr) 1.4fr; gap:16px; align-items:center; border-width:4px; }
.paper-player-photo { min-height:150px; align-self:stretch; background-size:cover; background-position:center; filter:grayscale(1) contrast(1.3); border:2px solid #17150f; }
.newspaper-wrap { max-width:1180px; margin:0 auto; }
.paper-sporting-post { padding:clamp(12px,2.6vw,26px); transform:none; font-family:Georgia,"Times New Roman",serif; background:repeating-linear-gradient(0deg,rgba(62,59,48,.055) 0,rgba(62,59,48,.055) 1px,transparent 1px,transparent 4px),#e9e4d2; }
.sp-masthead { display:grid; grid-template-columns:minmax(150px,.72fr) minmax(300px,2.1fr) minmax(150px,.72fr); gap:12px; align-items:stretch; border-top:4px solid #17150f; padding-top:8px; }
.sp-title { display:flex; min-width:0; flex-direction:column; justify-content:center; align-items:center; text-align:center; }
.sp-title-logo { display:block; width:100%; height:auto; max-height:150px; object-fit:contain; }
.sp-title span { width:100%; padding:5px 0 1px; border-top:1px solid #17150f; font:700 .58rem/1.25 "Courier New",monospace; letter-spacing:.04em; }
.sp-ad { display:grid; grid-template-columns:minmax(54px,.72fr) 1fr; gap:7px; align-items:center; min-height:92px; padding:6px; border:3px solid #17150f; font-family:"Arial Narrow",Arial,sans-serif; background:rgba(255,255,255,.16); }
.sp-ad-art { width:100%; aspect-ratio:1/1; background-repeat:no-repeat; filter:grayscale(1) contrast(1.35); }
.sp-ad b { display:block; font:900 clamp(.64rem,1.25vw,.92rem)/.98 Impact,Haettenschweiler,sans-serif; letter-spacing:.035em; text-transform:uppercase; }
.sp-ad span { display:block; margin-top:4px; font-size:clamp(.5rem,.8vw,.62rem); line-height:1.18; }
.sp-rule { height:8px; margin:7px 0 9px; border-top:2px solid #17150f; border-bottom:5px solid #17150f; }
.sp-front-grid { display:grid; grid-template-columns:minmax(190px,.82fr) minmax(0,2.7fr); gap:14px; }
.sp-lead { grid-column:2; min-width:0; }
.sp-kicker { padding:4px 7px; border:3px solid #17150f; font:900 .72rem/1 Impact,Haettenschweiler,sans-serif; text-align:center; letter-spacing:.11em; }
.sp-lead h1 { margin:8px 0 5px; font:900 clamp(2.5rem,7.2vw,6.9rem)/.82 Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif; letter-spacing:-.035em; text-align:center; text-transform:uppercase; }
.sp-lead h2 { margin:0 0 8px; padding:5px 0 7px; border-bottom:3px solid #17150f; font:900 clamp(.78rem,1.55vw,1.14rem)/1.14 Georgia,serif; text-align:center; }
.sp-lead-grid { display:grid; grid-template-columns:minmax(250px,1.45fr) minmax(180px,.82fr); gap:12px; }
.sp-main-photo { width:100%; aspect-ratio:1.55/1; border:3px solid #17150f; background-repeat:no-repeat; filter:grayscale(1) contrast(1.28); }
.sp-caption { margin:3px 0 6px; font-size:.57rem; font-style:italic; line-height:1.22; }
.sp-byline { margin:4px 0; padding-top:5px; border-top:2px solid #17150f; font-size:.76rem; font-weight:900; }
.sp-copy { columns:2 145px; column-gap:13px; column-rule:1px solid #77705e; font-size:clamp(.68rem,1.05vw,.82rem); line-height:1.35; text-align:justify; }
.sp-copy p { margin:0 0 9px; break-inside:avoid; }
.sp-results { grid-column:1; grid-row:1; min-width:0; border-right:2px solid #17150f; padding-right:12px; font-family:"Arial Narrow",Arial,sans-serif; }
.sp-results > h2 { margin:0 0 8px; padding:5px 3px; border-top:3px solid #17150f; border-bottom:3px solid #17150f; font:900 clamp(1.05rem,2vw,1.6rem)/.9 Impact,Haettenschweiler,sans-serif; text-align:center; letter-spacing:.05em; }
.sp-results > h2 span { display:block; color:#f1ecdb; background:#17150f; padding:4px; margin:-5px -3px 3px; }
.sp-result-group { margin:0 0 11px; break-inside:avoid; }
.sp-result-group h3 { margin:0 0 4px; padding:3px 2px; border-top:1px solid #17150f; border-bottom:1px solid #17150f; font:900 .67rem/1.1 "Arial Narrow",Arial,sans-serif; text-align:center; text-transform:uppercase; }
.sp-result { padding:3px 0 5px; border-bottom:1px dotted #7b7565; }
.sp-scoreline { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:4px; align-items:start; font-size:clamp(.55rem,.85vw,.67rem); font-weight:800; line-height:1.12; }
.sp-scoreline span:last-child { text-align:right; }
.sp-scoreline b { font-size:.72rem; white-space:nowrap; }
.sp-result small { display:block; margin-top:2px; padding-left:5px; font:400 .48rem/1.2 "Courier New",monospace; }
.sp-no-results { font-size:.7rem; }
.sp-small-story { display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.45fr); column-gap:10px; margin-top:10px; padding:8px 10px; border-top:5px double #17150f; border-bottom:2px solid #17150f; font-family:"Arial Narrow",Arial,sans-serif; }
.sp-small-story small,.sp-small-story h3,.sp-small-story p { grid-column:2; }
.sp-small-story.no-photo small,.sp-small-story.no-photo h3,.sp-small-story.no-photo p { grid-column:1/-1; }
.sp-small-story small { font-size:.55rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.sp-small-story h3 { margin:2px 0 4px; font:900 clamp(1.05rem,2.3vw,1.65rem)/.95 Impact,Haettenschweiler,sans-serif; text-transform:uppercase; }
.sp-small-story p { margin:0; font-size:.72rem; line-height:1.32; }
.sp-small-photo { grid-column:1; grid-row:1/4; min-height:120px; border:2px solid #17150f; background-size:cover; background-position:center; filter:grayscale(1) contrast(1.3); }
.sp-odd-sport { position:relative; margin-top:14px; padding:12px 15px 10px 148px; min-height:112px; border-top:7px double #17150f; border-bottom:4px solid #17150f; background:rgba(255,255,255,.14); font-family:"Arial Narrow",Arial,sans-serif; }
.sp-odd-label { position:absolute; inset:12px auto 10px 0; display:grid; place-items:center; width:132px; padding:10px; color:#eee9d8; background:#17150f; font:900 1rem/.95 Impact,Haettenschweiler,sans-serif; text-align:center; letter-spacing:.045em; }
.sp-odd-sport h2 { margin:0 0 4px; font:900 clamp(1.35rem,3vw,2.25rem)/.92 Impact,Haettenschweiler,sans-serif; text-transform:uppercase; letter-spacing:.01em; }
.sp-odd-sport p { margin:0 0 5px; font-size:.76rem; line-height:1.34; }
.sp-odd-sport small { display:block; padding-top:4px; border-top:1px solid #77705e; font-size:.5rem; font-style:italic; }
.teleprinter-screen { max-width:980px; margin:auto; }
.teleprinter-machine { padding:14px 18px 20px; border:4px solid #57544a; background:linear-gradient(#25241f,#0e0e0c); box-shadow:8px 10px 0 #020604,inset 0 0 0 2px #080806; }
.teleprinter-top { display:flex; justify-content:space-between; gap:14px; padding:8px 10px; color:#f2cc5e; background:#090a08; border:1px solid #5d5b50; font-size:.75rem; letter-spacing:.08em; }
.teleprinter-paper { position:relative; min-height:500px; max-height:62vh; overflow:auto; padding:28px clamp(17px,5vw,52px) 52px; color:#14130f; background:repeating-linear-gradient(0deg,rgba(62,59,48,.055) 0,rgba(62,59,48,.055) 1px,transparent 1px,transparent 5px),#eeeadd; border:1px solid #050505; box-shadow:inset 0 0 35px rgba(58,50,30,.18); }
.teleprinter-date { padding-bottom:10px; margin-bottom:14px; border-bottom:3px double #17150f; text-align:center; font:700 clamp(.66rem,1.6vw,.82rem)/1.3 "Courier New",monospace; }
#teleprinter-output { min-height:380px; margin:0; white-space:pre-wrap; font:700 clamp(.78rem,2vw,1.05rem)/1.5 "Courier New",monospace; letter-spacing:.025em; }
.teleprinter-cursor { color:#111; animation:teleprinter-blink .5s steps(1) infinite; }
.teleprinter-slot { width:84%; height:9px; margin:14px auto 0; border:2px solid #020202; background:#060606; box-shadow:inset 0 2px 3px #000; }
.teleprinter-actions { justify-content:center; }
.classified-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.classified-card p { padding-bottom:9px; border-bottom:1px dotted #366145; }
.classified-card small { color:#9db0a1; }
.section-label { margin:28px 0 12px; color:var(--amber); text-transform:uppercase; }
.player-ledger th:nth-child(2),.player-ledger td:nth-child(2),.player-ledger th:nth-child(3),.player-ledger td:nth-child(3){text-align:left;}
@keyframes teleprinter-blink { 50% { opacity:0; } }

.ticker { padding: 8px 12px; border-top: 1px solid #245338; color: var(--amber); white-space: nowrap; overflow: hidden; }
.ticker span { display: inline-block; animation: crawl 22s linear infinite; }
.footer-note { color: #728678; font-size: .76rem; margin-top: 24px; }
.promise-line { border-left: 4px solid var(--amber); padding-left: 10px; }
.promise-line.kept { border-color: var(--green); color: var(--green); }
.promise-line.broken { border-color: var(--red); color: var(--red); }
.table-wrap { overflow-x: auto; }
.league-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0 0 18px; }
.league-tab { min-height:68px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:5px; text-align:left; }
.league-tab strong { color:inherit; }
.league-tab span { color:#86a28f; font-size:.7rem; text-transform:uppercase; }
.league-tab.active { border-color:var(--amber); background:rgba(255,200,87,.13); color:var(--amber); box-shadow:inset 0 -4px 0 var(--amber); }
.league-tab.active span { color:#f4df9b; }
.league-table { width: 100%; border-collapse: collapse; min-width: 570px; }
.league-table th, .league-table td { padding: 7px 9px; border-bottom: 1px solid #2b5d40; text-align: right; }
.league-table th:nth-child(2), .league-table td:nth-child(2) { text-align: left; }
.table-crest { width: 26px; height: 26px; object-fit: contain; vertical-align: middle; margin-right: 8px; }
.league-table .our-club { color: var(--amber); background: rgba(255,200,87,.08); }
.fixture-table td:first-child, .fixture-table th:first-child { text-align:center; color:var(--amber); }
.fixture-table .played { background:rgba(77,242,124,.055); }
.fixture-table .future { color:#9ab3a1; }
.award-reveal { text-align:center; overflow:hidden; }
.award-eyebrow { color:var(--amber); letter-spacing:.16em; font-size:.8rem; }
.award-stage { position:relative; max-width:690px; margin:28px auto; padding:35px 24px; border:5px double var(--amber); background:radial-gradient(circle at 50% 20%,#324d27 0,#0a1a10 48%,#020905 100%); box-shadow:0 0 35px rgba(255,200,87,.22),inset 0 0 50px #000; }
.award-stage h3 { position:relative; margin:8px 0; color:var(--amber); font-size:clamp(2.2rem,7vw,5.2rem); line-height:.95; text-transform:uppercase; text-shadow:4px 4px #401d12; }
.award-season { color:#a9c5af; letter-spacing:.2em; }
.award-club { color:var(--green); font-size:1.35rem; text-transform:uppercase; }
.award-burst { position:absolute; inset:-34px auto auto 50%; transform:translateX(-50%); width:68px; height:68px; display:grid; place-items:center; border-radius:50%; border:3px solid var(--amber); background:#1b2a16; color:var(--amber); font-size:2.5rem; animation:award-pulse 1.2s ease-in-out infinite alternate; }
@keyframes award-pulse { to { transform:translateX(-50%) scale(1.12); box-shadow:0 0 26px var(--amber); } }

@keyframes blink { 50% { opacity: .2; } }
@keyframes crawl { from { transform: translateX(100%); } to { transform: translateX(-100%); } }

@media (max-width: 720px) {
  .training-grid { grid-template-columns: 1fr; }
  .game-shell { width: 100%; margin: 0; border-width: 0; min-height: 100vh;min-height:100dvh;padding-bottom:env(safe-area-inset-bottom); }
  .masthead { grid-template-columns:1fr;padding:10px 14px 12px;gap:9px;padding-top:max(10px,env(safe-area-inset-top)); }
  .title-masthead { padding:8px 12px;border-bottom:1px solid #244b34; }
  .brand-lockup { display:grid;justify-items:center; }
  .brand-lockup img { width:min(310px,88vw);height:95px;object-position:center; }
  .brand-lockup p { text-align:center;font-size:.52rem;letter-spacing:.12em;margin-top:-2px; }
  .header-controls { display:grid;grid-template-columns:repeat(3,1fr);width:100%;gap:7px; }
  .header-button { width:100%;min-width:0;padding:9px 4px;font-size:.62rem; }
  .save-light { display: none; }
  .hud { grid-template-columns: repeat(3, 1fr); }
  .hud-item { min-width:0;padding:8px 4px;font-size:.58rem; }
  .hud-item strong { font-size:.78rem; }
  .content { padding:22px 16px 30px; }
  .screen-title { font-size:1.55rem;line-height:1.08; }
  .kicker { margin-bottom:18px;font-size:.86rem; }
  .form-grid, .dashboard, .selection-board { grid-template-columns: 1fr; }
  .choice-grid { grid-template-columns:1fr;gap:10px;margin-top:15px; }
  .choice { min-height:0;padding:15px; }
  .choice strong { font-size:1rem; }
  .button-row { display:grid;grid-template-columns:1fr;width:100%;gap:10px;margin-top:20px; }
  .button-row .btn { width:100%; }
  .card { padding:16px; }
  .asset-hook.illustrated { min-height:0;aspect-ratio:4/3; }
  .match-venue.expansion-art, .match-venue.compact.expansion-art { height: auto; aspect-ratio: 3 / 2; }
  .card.full { grid-column: auto; }
  .scoreboard { grid-template-columns:1fr auto 1fr;padding:11px 6px;gap:5px; }
  .score { font-size:1.8rem; }
  .score-crest { width:45px;height:45px; }
  .scoreboard strong { font-size:.7rem; }
  .arcade-controls { grid-template-columns:1fr 1fr; }.arcade-controls .red { grid-column:1/-1; grid-row:1; }
  .arcade-mode-grid { grid-template-columns:1fr; }
  .week-ribbon span { font-size:.55rem;padding:8px 2px; }
  .moment .button-row,.arcade-controls { position:sticky;bottom:0;z-index:12;background:rgba(4,15,9,.96);padding:8px;box-shadow:0 -8px 18px rgba(0,0,0,.65); }
  .moment { padding:13px;margin-left:-5px;margin-right:-5px; }
  .moment .button-row { grid-template-columns:1fr 1fr; }
  .moment .btn { min-height:58px;width:100%;padding:10px 7px;font-size:.82rem; }
  .match-briefing-grid,.post-match-room { grid-template-columns:1fr;gap:10px; }
  .match-day-strip { grid-template-columns:1fr; }
  .tactical-choice-grid .choice { min-height:0; }
  .ticker { font-size:.72rem; }
  .title-hero { min-height:0;padding:18px 16px 26px;align-content:start; }
  .title-logo { width:min(350px,98%);max-height:190px; }
  .hero-copy { margin:10px auto 20px;font-size:.91rem;line-height:1.55; }
  .save-slot-list { grid-template-columns:1fr;gap:9px;margin-bottom:18px; }
  .settings-save-grid { grid-template-columns:1fr; }
  .save-slot { width:100%;min-height:76px;padding:11px 16px; }
  .music-button { width:100%; }
  .footer-note { line-height:1.45; }
  .league-tabs { gap:6px; }
  .league-tab { min-height:62px; padding:9px 6px; font-size:.72rem; align-items:center; text-align:center; }
  .league-tab span { font-size:.58rem; }
  .teleprinter-machine { padding:8px; margin-left:-7px; margin-right:-7px; }
  .teleprinter-top { font-size:.55rem; }
  .teleprinter-paper { min-height:440px; max-height:66svh; padding:18px 12px 40px; }
  #teleprinter-output { min-height:350px; font-size:.67rem; line-height:1.45; letter-spacing:0; }
  .classified-grid { grid-template-columns:1fr; }
  .paper-player-story.feature { grid-template-columns:1fr; }
  .paper-player-photo { min-height:180px; }
  .paper-sporting-post { margin-left:-4px; margin-right:-4px; padding:10px; }
  .sp-masthead { grid-template-columns:1fr 1fr; gap:7px; }
  .sp-title { grid-column:1/-1; grid-row:1; padding:3px 0 6px; }
  .sp-title-logo { max-height:none; }
  .sp-ad { grid-row:2; min-height:78px; grid-template-columns:51px 1fr; }
  .sp-ad b { font-size:.66rem; }
  .sp-ad span { font-size:.49rem; }
  .sp-front-grid { display:flex; flex-direction:column; }
  .sp-lead { order:1; }
  .sp-results { order:2; border-right:0; border-top:5px double #17150f; padding:10px 0 0; columns:auto; }
  .sp-results > h2 { column-span:all; }
  .sp-lead-grid { grid-template-columns:1fr; }
  .sp-copy { columns:1; font-size:.69rem; }
  .sp-main-photo { aspect-ratio:1.42/1; }
  .sp-small-story { grid-template-columns:minmax(100px,.72fr) 1.3fr; }
  .sp-odd-sport { padding:10px 10px 9px; }
  .sp-odd-label { position:static; width:auto; min-height:0; margin-bottom:8px; padding:6px; }
  .sp-odd-sport h2 { font-size:1.35rem; }
}

@media (max-width:400px) {
  .brand-lockup img { height:82px; }
  .header-button { font-size:.56rem; }
  .content { padding-left:13px;padding-right:13px; }
  .week-ribbon span { font-size:.48rem; }
  .sp-results { columns:auto; column-count:1; column-width:auto; }
  .sp-results > h2 { column-span:none; }
  .sp-copy { columns:1; }
  .sp-small-story { grid-template-columns:1fr; }
  .sp-small-story small,.sp-small-story h3,.sp-small-story p { grid-column:1; }
  .sp-small-photo { grid-column:1; grid-row:auto; min-height:150px; margin-bottom:7px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; scroll-behavior: auto !important; }
}
