/* Mind the Gap. Builds on lgu.css: same bar, buttons and focus ring. Paper panels and dark dialogue cards on a night platform that changes colour with the era. */
body.gap-page{--bg:#16252c;--era:#dca54e;--paper:#fbf7ec;--ink:#193832;--shadow:#0b1210;--pmuted:#526d62;--card:#1c1a17;--cardfg:#e8dcc4;--green:#2f9b7a;--red:#d44d33;--bar-h:60px;--strip-h:0px;background:var(--bg);color:var(--fg,#efe7d4)}
body.gap-page[data-era="1"]{--bg:#2a2321;--era:#f0946a}
body.gap-page[data-era="2"]{--bg:#241a10;--era:#ffc978}
body.gap-page[data-era="3"]{--bg:#1d2440;--era:#a9bcf7}
body.gap-page[data-era="4"]{--bg:#2b3031;--era:#ffffff}
.gap-page main.gap{margin-left:0;padding:calc(var(--bar-h) + 22px) 24px 72px;max-width:1340px;margin-inline:auto}
.gap-clock{font-variant-numeric:tabular-nums;font-weight:700;margin-right:6px}
.speed{display:flex;gap:6px}.gap-page .speed button{padding:.4rem .8rem;min-height:44px}
.gap-nojs{max-width:640px;margin:20vh auto;text-align:center;font-family:Georgia,serif;font-size:1.2rem}
.gap h2,.gap h3{font-family:Inter,system-ui,sans-serif}
.gap .small,.gap small{font-size:.86rem}
kbd{display:inline-grid;place-items:center;min-width:1.6em;height:1.6em;margin-right:8px;padding:0 .3em;border:1.5px solid currentColor;border-radius:4px;font:700 .8rem Inter,system-ui,sans-serif;vertical-align:1px}
button:disabled{opacity:.5;cursor:not-allowed}
.gap-page button{-webkit-tap-highlight-color:transparent}

/* The layout: chart and meters on the left, the decision and the controls on the right. On a phone one column, with the decision right under the painting. */
.gap-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.gap-grid[hidden]{display:none}
.gap-left{display:contents}
.gap-left>*{min-width:0}
.gap-left:focus-visible{outline:3px solid #f4d06f;outline-offset:2px}
.era-art{order:1}.era-line{order:2}.era-bar{order:3}.dock{order:4}.wire{order:5}.pace{order:6}.chart{order:7}.gm-grid{order:8}.vitals{order:9}.gap-right{order:10;display:grid;gap:18px;align-content:start;min-width:0;outline:none}
.gap-strip{display:none}
@media(min-width:1100px){
 .gap-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);grid-template-areas:"left dock" "left ctrl";grid-template-rows:auto 1fr;column-gap:30px;row-gap:0;align-items:start}
 .gap-left{display:grid;grid-auto-rows:max-content;gap:10px;align-content:start;min-width:0;grid-area:left;position:sticky;top:calc(var(--bar-h) + 14px);max-height:calc(100vh - var(--bar-h) - 28px);overflow:auto;padding:0 6px 10px 0;scrollbar-width:thin}
 .dock{grid-area:dock}.dock:not(:empty){margin-bottom:18px}
 .gap-right{grid-area:ctrl}
 .gap-left>*{order:0}
}
@media(max-width:1099px){
 body.gap-page{--strip-h:54px}
 .gap-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));position:sticky;top:var(--bar-h);z-index:30;background:var(--paper);color:var(--ink);border-bottom:3px solid var(--shadow);box-shadow:0 4px 0 rgba(11,18,16,.35)}
 .gap-strip .cell{display:grid;gap:1px;padding:5px 2px 6px;text-align:center;border-right:1.5px solid rgba(25,56,50,.25)}
 .gap-strip .cell:last-child{border-right:0}
 .gap-strip .cell span{font:800 .58rem Inter,system-ui,sans-serif;letter-spacing:.08em;color:var(--pmuted)}
 .gap-strip .cell b{font:800 .95rem Inter,system-ui,sans-serif;font-variant-numeric:tabular-nums}
 .gap-strip .m-gap b{color:#b3321c}.gap-strip .m-al b{color:#1d7357}
 .gap-page main.gap{padding:calc(var(--bar-h) + 14px) 14px 64px}
 .dock:empty{display:none}
}
@media(max-width:480px){.gap-page main.gap{padding-inline:12px}.gap-page .lgu-bar{padding-inline:10px}.gap-page .bar-tools{gap:5px}.gap-page .bar-tools button{padding:.25rem .5rem;font-size:.8rem}.gap-page .wordmark{font-size:0}.gap-page .wordmark::before{content:'LGU';font-size:1rem}.speed{gap:4px}.speed button{min-width:44px;padding:.3rem .4rem}.gap-clock{display:none}}

/* The era painting and the progress through the era. */
.era-art{margin:0;aspect-ratio:1000/250;overflow:hidden;border:3px solid var(--shadow);box-shadow:6px 6px 0 var(--shadow);background:#0b1210}
.era-svg{display:block;width:100%;height:100%}
.era-line{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:6px 0 0;font-size:.95rem}.era-line b{color:var(--era)}.era-line span{color:#c7cfc9;font-variant-numeric:tabular-nums}
.era-bar{height:8px;background:rgba(255,255,255,.14);border-radius:99px;overflow:hidden}.era-bar i{display:block;height:100%;width:0;background:var(--era);transition:width .5s ease}
.pace{margin:0;color:#c7cfc9;line-height:1.45;min-height:2.9em}
/* Before the runtime has drawn, boot.js says what the dock will hold. A card that is coming keeps its room, and one that is not gives it back, so nothing below jumps. */
/* Lines the runtime fills in keep their room from the first paint. */
.rates{min-height:4.4em}.press{min-height:2.9em}
@media(max-width:1099px){.pace{min-height:2.9em}.rates{min-height:5.8em}.press{min-height:4.4em}.gm .gm-x small{display:block;min-height:1.3em}}
html[data-dock-state=none] .dock{display:none}
html[data-dock-state=resume] .dock>*,html[data-dock-state=damaged] .dock>*{display:none}
html[data-dock-state=resume] .dock,html[data-dock-state=damaged] .dock{min-height:var(--card-h,267px)}
@media(min-width:1100px){html[data-dock-state=resume] .dock,html[data-dock-state=damaged] .dock{--card-h:232px}}
.chart{background:var(--paper);color:var(--ink);border:3px solid var(--shadow);box-shadow:6px 6px 0 var(--shadow);padding:6px 8px 2px}
.chart svg{display:block;width:100%;height:auto}
body.danger .chart{box-shadow:6px 6px 0 #7a1d12}

/* The wire, the desk and the incident card. */
.wire{list-style:none;margin:0;padding:8px 12px;display:grid;gap:5px;background:rgba(0,0,0,.28);border-left:4px solid var(--era);font-size:.88rem;line-height:1.4;color:#d8dfda}
.wire:empty{display:none}.wire li{display:block}.wire li span{font:700 .68rem Inter,system-ui,sans-serif;color:#9fb0a8;margin-right:5px;white-space:nowrap}.wire li b{font:800 .68rem Inter,system-ui,sans-serif;letter-spacing:.06em;margin-right:3px}
.wire li:nth-child(n+5){display:none}
@media(min-width:1100px){.wire{padding:6px 10px;font-size:.84rem;gap:3px}.wire li:nth-child(n+4){display:none}.era-art{aspect-ratio:1000/215}.pace{min-height:2.9em}}
.wire .wk-i{color:#ffb3a0}.wire .wk-r{color:#c9d3da}.wire .wk-e{color:var(--era)}
.wire .v-hype b{color:#ff8a3d}.wire .v-dread b{color:#ff6a5f}.wire .v-hope b{color:#f0c15a}.wire .v-forecaster b{color:#8db6f0}.wire .v-sci-fi b{color:#c4a1f5}.wire .v-scale b{color:#7fd6c8}.wire .v-market b{color:#6fd48a}.wire .v-pigeon b{color:#b7bdb9}
.desk{position:fixed;z-index:55;left:16px;bottom:14px;width:min(380px,calc(100vw - 32px))}.desk:empty{display:none}
@media(max-width:1099px){.desk{left:10px;right:10px;bottom:10px;width:auto}}
.desk-card{box-shadow:6px 6px 0 var(--shadow);background:var(--paper);color:var(--ink);border:3px dashed var(--ink);padding:10px 14px 12px;box-shadow:4px 4px 0 var(--shadow)}
.desk-card .kicker{color:#7a5a00}.desk-card h3{margin:0 0 2px;font-size:1rem}.desk-body{margin:0 0 8px;font-size:.9rem;line-height:1.4;color:#33524a}
.desk-card .dock-actions{margin:0!important;gap:8px 12px;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center}.desk-card button{min-height:40px;padding:6px 14px}.desk-card .kicker{margin:0 0 2px}.desk-card kbd{margin-right:6px}.desk-take{border-radius:10px;font-weight:800;background:var(--ink);color:var(--paper);border-color:var(--ink)}.desk-take span{font-weight:600;opacity:.85;margin-left:6px}
.desk-card .quiet{color:var(--ink)}.desk-bar{display:block;height:4px;margin-top:8px;background:rgba(25,56,50,.15);border-radius:9px;overflow:hidden}.desk-bar b{display:block;height:100%;background:#c98a2a;transition:width 1s linear}
body[data-motion=reduced] .desk-bar b{transition:none}
.card.inc{border-top-color:#ef6a4f}.card.inc .kicker{color:#ff9f8c}.card.inc h2{font-size:1.25rem}
.card.tabs{border-top-color:#8db6f0}.note-ro{margin:0;padding:10px 14px;background:#26221d;border:2px solid rgba(232,220,196,.5);color:#e8dcc4;font:600 .9rem Inter,system-ui,sans-serif}.note-ro button{color:#e8dcc4}
.b-advice{display:block;margin-top:2px;font-size:.78rem;font-weight:800;color:#1d6b4f}.b-advice[hidden]{display:none}
/* Meters. */
.gm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:2px 0 0}
.gm{position:relative;background:var(--card);color:var(--cardfg);border:3px solid var(--shadow);box-shadow:4px 4px 0 var(--shadow);padding:8px 10px 10px;min-width:0}
.gm dt{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#a9b3ad}
.gm dd{margin:2px 0 0;font-size:1.5rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1}
.gm dd.gm-x{margin:0;font:inherit;font-size:1rem;font-weight:400;line-height:inherit}
.gm small{display:block;color:#b9c2bc;font-size:.74rem;line-height:1.3;min-height:2.1em}
.gm .bar{display:block;height:5px;margin-top:6px;background:rgba(255,255,255,.14);border-radius:9px;overflow:hidden}.gm .bar b{display:block;height:100%;width:0;background:#e8dcc4;transition:width .4s ease}
.m-al .bar b{background:#47c79a}.m-gap .bar b{background:#ef6a4f}.m-gap dd{color:#ff8a70}.m-al dd{color:#7be0ba}.m-cash .bar{display:none}.m-rival .bar b{background:#9aa0a5}
.vitals{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0;color:#c7cfc9}.vitals b{color:#fff;font-variant-numeric:tabular-nums}.vitals em{font-style:normal;color:#ffb3a0}
@media(max-width:1099px){.gm-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.gm{padding:6px 10px 8px}.gm small{min-height:0}.gm .bar{margin-top:4px}}

/* The dock: one card at a time, above the controls, never over the chart. */
.dock,.dock .card{scroll-margin-top:calc(var(--bar-h) + var(--strip-h) + 14px)}.dock:empty{display:none}
.card{background:var(--card);color:var(--cardfg);border:3px solid var(--shadow);border-top:6px solid var(--era);box-shadow:8px 8px 0 var(--shadow);padding:18px 22px 22px;font-family:Georgia,"Libre Baskerville","Times New Roman",serif;font-size:1.06rem;line-height:1.5;scroll-margin-top:calc(var(--bar-h) + var(--strip-h) + 10px)}
.card:focus,#gap-controls:focus{outline:none}.card:focus{outline:none}.card:focus-visible{outline:3px solid var(--era);outline-offset:4px}
.card h2{margin:.15rem 0 .55rem;font-size:1.4rem;line-height:1.2;letter-spacing:-.01em}
.card p{margin:0 0 .7em}.kicker{font:800 .7rem Inter,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--era);margin:0 0 4px}
.narrator{font-style:italic;color:#f4ead3}.ev-paused{font:600 .8rem Inter,system-ui,sans-serif;color:#b9c2bc;margin-bottom:12px}
.how-steps{margin:0 0 .8em;padding-left:1.2em;display:grid;gap:8px}.how-steps li::marker{font:800 .9rem Inter,system-ui,sans-serif;color:var(--era)}
.opts{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.opt{display:block;width:100%;text-align:left;border-radius:12px;border:2px solid rgba(232,220,196,.5);background:#26221d;color:var(--cardfg);padding:12px 14px;font:inherit;font-family:Inter,system-ui,sans-serif;line-height:1.35}
@media(hover:hover) and (pointer:fine){.opt:hover:not(:disabled){background:#312c25;border-color:var(--era)}}
.opt-top{display:flex;align-items:baseline;gap:2px}.opt-label{font-weight:800;font-size:1.02rem}
.opt-check{display:inline-block;margin:6px 0 4px;padding:2px 8px;border-radius:6px;font:700 .76rem ui-monospace,Menlo,Consolas,monospace;letter-spacing:.01em;border:1.5px solid}
.opt-check.hint{color:#c7cfc9;border-color:#5f6f68;background:rgba(95,111,104,.14);font-family:inherit;font-weight:600}.forecast{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:10px 0 0}.forecast button span{font-weight:600;opacity:.85;margin-left:6px}.forecast-done{margin:10px 0 0}
.opt-check.pass{color:#8fe3bd;border-color:#3f8f6d;background:rgba(63,143,109,.16)}.opt-check.fail{color:#ff9f8c;border-color:#b5523f;background:rgba(181,82,63,.16)}
.opt-hint{display:block;margin:2px 0 0;font-family:Georgia,serif;font-style:italic;font-size:.94rem;color:#e0d5bd}.opt-hint b{font:800 .68rem Inter,system-ui,sans-serif;font-style:normal;letter-spacing:.08em;margin-right:4px}
.opt-note{display:block;margin-top:6px;font:600 .8rem Inter,system-ui,sans-serif;color:#b9c2bc}.opt-note.short{color:#ffb3a0}
.voice b{font-family:Inter,system-ui,sans-serif;letter-spacing:.08em;font-size:.8em;margin-right:6px}.voice i{font-family:Inter,system-ui,sans-serif;font-style:normal;font-size:.75em;opacity:.8;margin-right:4px}
.v-hype b{color:#ff8a3d}.v-dread b{color:#ff5a4f}.v-hope b{color:#f0c15a}.v-forecaster b{color:#8db6f0}.v-sci-fi b{color:#c4a1f5}.v-scale b{color:#7fd6c8}.v-market b{color:#6fd48a}.v-pigeon b{color:#b7bdb9}
.skill-list{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:8px 0;padding:0}.skill-list li{border:1.5px solid rgba(232,220,196,.35);border-radius:999px;padding:3px 10px;font:600 .8rem Inter,system-ui,sans-serif}.skill-list span{font-weight:800;font-size:.95rem;margin:0 3px}.skill-list small{opacity:.75}
.skills summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font:700 .86rem Inter,system-ui,sans-serif;color:#c7cfc9}
.chips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:10px 0 14px;padding:0}.chips li{background:#2d2a24;border:1.5px solid rgba(232,220,196,.6);border-radius:999px;padding:4px 11px;font:700 .8rem Inter,system-ui,sans-serif}
.res-text{font-size:1.14rem}.dock-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:14px 0 0!important}
.card button.primary{background:var(--cardfg);color:#1c1a17;border-color:var(--cardfg)}.card button.quiet{color:var(--cardfg)}
button.big{font-size:1.05rem;padding:.75rem 1.6rem}
.dialogue-lite{margin:0 0 4px}

/* Controls: paper panels. */
.panel{background:var(--paper);color:var(--ink);border:3px solid var(--shadow);box-shadow:6px 6px 0 var(--shadow);padding:16px 18px 18px}
.panel h2{margin:0 0 12px;font-size:1.02rem;letter-spacing:.08em;text-transform:uppercase}.panel h3{margin:18px 0 4px;font-size:.92rem;letter-spacing:.06em;text-transform:uppercase}
.panel .small{color:var(--pmuted);margin:0 0 8px;line-height:1.4}
.gap-left .small,.gap-right .foot .small,.gap-page .vitals.small{color:#c7cfc9}.card .small{color:#b9c2bc}
.panel button,.panel input,.panel label{color:var(--ink)}
.alloc-bar{display:flex;height:16px;border:2.5px solid var(--ink);border-radius:9px;overflow:hidden;margin:0 0 14px}
.alloc-bar i{display:block;flex:1 1 0;min-width:0;transition:flex-grow .25s ease}.a-train{background:#193832}.a-safe{background:#2f9b7a}.a-dep{background:#dca54e}
.slider{display:grid;gap:2px;margin:0 0 10px}.slider label{display:flex;justify-content:space-between;align-items:baseline;font-weight:800}.slider label b{font-variant-numeric:tabular-nums}
.slider input{width:100%;min-height:44px;margin:0}.a-0 input{accent-color:#193832}.a-1 input{accent-color:#2f9b7a}.a-2 input{accent-color:#c98a2a}
.slider small{color:var(--pmuted);margin-top:-6px}
.rates{margin:6px 0 0!important;padding-top:10px;border-top:2px dashed rgba(25,56,50,.3);font-variant-numeric:tabular-nums}
.buys,.projects-list,.ledger{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.buys{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.buy,.proj{display:grid;gap:3px;width:100%;height:100%;text-align:left;border-radius:10px;padding:10px 13px;background:transparent;border:2px solid var(--ink);line-height:1.3}
.b-top,.p-top{display:flex;align-items:baseline;gap:8px}.b-top b,.p-name{font-weight:800;flex:1;min-width:0}
.b-count{font-size:.8rem;font-weight:700;padding:1px 8px;border-radius:99px;background:rgba(25,56,50,.12);font-variant-numeric:tabular-nums}
.b-cost,.p-cost{font-variant-numeric:tabular-nums;font-weight:800;white-space:nowrap}
.b-what,.p-what,.p-trade,.p-state{font-size:.82rem;color:var(--pmuted)}.p-trade{font-style:italic}.p-state{font-weight:700;color:var(--ink)}
.projects-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.proj{grid-template-rows:auto auto auto auto auto}.proj.owned{background:#dff0e6;border-color:#2f9b7a;opacity:1}.proj.owned .p-state{color:#1f6b52}
.proj.running{background:#f6ecd0;border-color:#c98a2a;opacity:1}.proj:disabled:not(.owned):not(.running){opacity:.62}
.p-bar{display:block;height:5px;background:rgba(25,56,50,.14);border-radius:9px;overflow:hidden}.p-bar b{display:block;height:100%;width:0;background:#c98a2a}
@media(hover:hover) and (pointer:fine){.buy:hover:not(:disabled),.proj:hover:not(:disabled){background:rgba(25,56,50,.07)}}
.ledger li{display:grid;grid-template-columns:1fr;gap:1px;padding:8px 12px;border-left:5px solid var(--era);background:rgba(25,56,50,.06)}.ledger b{font-size:.95rem}.ledger span{font-size:.78rem;color:var(--pmuted)}.ledger em{font-style:normal;font-size:.84rem;font-weight:700}.ledger .empty{border-left-color:transparent;font-size:.88rem;color:var(--pmuted)}
.ledger-wrap summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700;font-size:.92rem}.ledger-wrap .ledger{margin-bottom:10px}
.standing .skills summary,.standing .skills{color:var(--ink)}.standing .skill-list li{border-color:rgba(25,56,50,.4)}.standing .v-hype b{color:#a84a00}.standing .v-dread b{color:#b3261a}.standing .v-hope b{color:#835a00}.standing .v-forecaster b{color:#2d5f9e}.standing .v-sci-fi b{color:#6d3fb8}.standing .v-scale b{color:#1f7f72}.standing .v-market b{color:#1f7a3a}
.gap-log{background:var(--card);color:var(--cardfg);border:3px solid var(--shadow);box-shadow:6px 6px 0 var(--shadow);padding:14px 18px;font-family:Georgia,serif}
.gap-log h2{margin:0 0 10px;font-size:1.02rem;letter-spacing:.08em;text-transform:uppercase}.gap-log ol{list-style:none;margin:0;padding:0;display:grid;gap:6px}.gap-log li span{font-family:Inter,system-ui,sans-serif;font-size:.74rem;color:#a9b3ad;margin-right:6px}
.foot{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;justify-content:space-between;margin:0;color:#c7cfc9}.foot code{font-size:.95rem;letter-spacing:.06em;color:#fff}
.jump{position:fixed;right:14px;bottom:14px;z-index:70;background:var(--era);color:#10161a;border:3px solid var(--shadow);box-shadow:4px 4px 0 var(--shadow);font-weight:800;padding:.6rem 1.1rem}.jump[hidden]{display:none}
.fine{max-width:760px;margin:28px auto 0;color:#c7cfc9;font-size:.9rem;line-height:1.55}.fine summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700}.fine ul{padding-left:18px}.fine a{color:#e8dcc4}

/* The end screen: the epilogue, the recap, the map and the ticket. */
.gap-end .dialogue [data-epilogue]{margin-top:14px;display:grid;gap:6px}.gap-end .dialogue .voice{margin:0;font-size:1.02rem}.gap-end .dialogue .voice b{font:800 .7rem Inter,system-ui,sans-serif;letter-spacing:.08em;margin-right:6px}
.recap{text-align:left;background:var(--paper);color:var(--ink);border:3px solid var(--shadow);box-shadow:8px 8px 0 var(--shadow);padding:16px 18px 18px}
.recap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0}.rc{border:2px solid var(--ink);padding:8px 10px}.rc dt{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--pmuted)}.rc dd{margin:2px 0 0;font-size:1.4rem;font-weight:800;font-variant-numeric:tabular-nums}.rc .rc-note{display:block;margin:2px 0 0;font-size:.76rem;font-weight:400;color:var(--pmuted);line-height:1.3}
.recap h3{margin:16px 0 6px;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}.recap-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.recap-list li{display:grid;padding:6px 10px;border-left:5px solid var(--era);background:rgba(25,56,50,.06)}.recap-list b{font-size:.95rem}.recap-list span{font-size:.78rem;color:var(--pmuted)}.recap-list em{font-style:normal;font-size:.84rem;font-weight:700}.inc-list li{border-left-color:#d44d33;font-size:.9rem}
.vitals b{font-variant-numeric:tabular-nums}
.gap-end{max-width:780px;margin:4vh auto;text-align:center}.gap-end [data-end-title]{font-size:clamp(2.4rem,7vw,4rem);margin:4px 0 24px;outline:none}.gap-end h2{margin:48px 0 14px}
.gap-end .dialogue{text-align:left;margin:0 auto;background:var(--card);color:var(--cardfg);border:3px solid var(--shadow);box-shadow:8px 8px 0 var(--shadow);padding:22px 28px;font-family:Georgia,serif;font-size:1.15rem;line-height:1.55}
.land{overflow-x:auto}.land-hint{display:none;margin:6px 0 0;text-align:center}.land svg,.ticket svg{display:block;width:100%;height:auto;border:3px solid var(--shadow);box-shadow:8px 8px 0 var(--shadow)}
.ticket svg{border:0;box-shadow:none;filter:drop-shadow(8px 8px 0 var(--shadow))}
.epi{display:flex;flex-direction:column;gap:6px;max-width:520px;margin:0 auto 22px;text-align:left;font-size:.9rem;font-weight:700}.epi input{min-height:44px;border:2px solid currentColor;border-radius:10px;padding:.5rem .8rem;font:inherit;background:transparent;color:inherit}
.end-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:36px}
.door{display:inline-block;padding:.7rem 1.4rem;border:2px solid currentColor;border-radius:999px;text-decoration:none;background:var(--fg);color:var(--bg,#111)}
body.ended .speed,body.ended .gap-clock,body.ended .gap-strip{display:none}
body[data-motion=reduced] .era-bar i,body[data-motion=reduced] .gm .bar b,body[data-motion=reduced] .alloc-bar i{transition:none}
@media(max-width:560px){.land svg{min-width:540px}.land-hint{display:block}.land{-webkit-mask-image:linear-gradient(90deg,transparent,#000 22px,#000 calc(100% - 22px),transparent);mask-image:linear-gradient(90deg,transparent,#000 22px,#000 calc(100% - 22px),transparent)}}
@media(max-width:480px){.card{padding:16px 16px 18px}.card h2{font-size:1.25rem}.opt{padding:12px}.panel{padding:14px 14px 16px}.gm dd{font-size:1.3rem}}
/* The fine print's links are real targets: tall enough to hit with a thumb. */
.gap-page .fine a{display:inline-block;padding:11px 2px;min-height:44px;box-sizing:border-box}
.gap-page .fine li{margin:0}
