/* The author's paper workshop surrounds an actual, playable night street. */
.release-game.release-game {
  --rg-paper:#f1eadb; --rg-sheet:#fffaf0; --rg-ink:#24231f; --rg-muted:#665d4f;
  --rg-rule:#cfc2ad; --rg-red:#dc4b2b; --rg-red-ink:#a32e18; --rg-night:#151a2e;
  --rg-lamp:#ffcd6e; --rg-road:#333f58; --rg-window:#789eb3;
  --rg-width:min(1120px,calc(100vw - 48px));
  container:rg-game / inline-size; position:relative; isolation:isolate; z-index:1; min-width:0; width:var(--rg-width);
  margin-block:3rem; margin-inline:calc((100% - var(--rg-width)) / 2); background:var(--rg-paper); color:var(--rg-ink);
  font-family:var(--font-sans,Inter,Arial,sans-serif); font-size:1rem; line-height:1.55;
  scroll-margin-top:0; overflow-anchor:none;
}
.release-game.release-game *, .release-game.release-game *::before, .release-game.release-game *::after { box-sizing:border-box; }
.release-game.release-game [hidden] { display:none !important; }
.release-game.release-game :is(h2,h3,h4,p,figure,blockquote) { margin:0; color:inherit; }
.release-game.release-game :is(h2,h3,h4) { font-family:inherit; overflow-wrap:break-word; text-wrap:balance; }
.release-game.release-game :is(button,input,select,textarea) { font:inherit; }
.release-game.release-game button { cursor:pointer; }
.release-game.release-game button:disabled { cursor:not-allowed; }
.release-game.release-game :is(button,input,select,textarea,a,[tabindex]):focus-visible { outline:3px solid var(--rg-red-ink); outline-offset:4px; }
.release-game.release-game :is(h2,h3,h4)[tabindex="-1"]:focus { outline:none; }
.release-game.release-game::selection, .release-game.release-game ::selection { background:#ffe0a2; color:var(--rg-ink); }
.release-game.release-game .rg-sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; border:0; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; }
.release-game.release-game .rg-shell { padding:clamp(1rem,3.5cqi,1.75rem); border:1px solid var(--rg-rule); }
.release-game.release-game .rg-topbar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.55rem 1rem; padding-bottom:1rem; margin-bottom:1.2rem; border-bottom:1px solid var(--rg-rule); }
.release-game.release-game .rg-kicker, .release-game.release-game .rg-build-label { display:block; font-size:.75rem; line-height:1.5; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.release-game.release-game .rg-clock { display:flex; align-items:baseline; flex-wrap:wrap; gap:.3rem 1rem; font-size:.875rem; line-height:1.4; }
.release-game.release-game .rg-clock > * { min-width:0; max-width:100%; }
.release-game.release-game .rg-clock strong { font-size:1rem; letter-spacing:-.025em; font-variant-numeric:tabular-nums; }
.release-game.release-game .rg-heading { max-width:38rem; font-size:clamp(1.5rem,2.5cqi,1.75rem); line-height:1.18; letter-spacing:-.025em; font-weight:750; }
.release-game.release-game .rg-copy { max-width:65ch; margin-top:.8rem; color:var(--rg-muted); font-size:1rem; line-height:1.6; }
.release-game.release-game .rg-actions { display:flex; align-items:center; flex-wrap:wrap; gap:.65rem .85rem; margin-top:1.2rem; }
.release-game.release-game .rg-btn, .release-game.release-game .rg-btn-secondary { display:inline-flex; align-items:center; justify-content:center; gap:.6rem; min-height:46px; padding:.75rem 1rem; border:1px solid var(--rg-ink); border-radius:0; background:var(--rg-ink); color:var(--rg-sheet); font-size:.9375rem; line-height:1.4; font-weight:750; text-decoration:none; text-align:center; transition:background-color 140ms ease,border-color 140ms ease; }
.release-game.release-game .rg-btn:hover { background:var(--rg-red-ink); border-color:var(--rg-red-ink); }
.release-game.release-game .rg-btn-secondary { background:transparent; border-color:var(--rg-rule); color:var(--rg-ink); }
.release-game.release-game .rg-btn-secondary:hover { border-color:var(--rg-ink); background:#e9dfcd; }
.release-game.release-game .rg-btn:disabled, .release-game.release-game .rg-btn-secondary:disabled { opacity:.45; }
.release-game.release-game .rg-link { display:inline-flex; align-items:center; min-height:44px; padding:.4rem 0; border:0; background:transparent; color:var(--rg-muted); font-size:.875rem; line-height:1.5; text-decoration:underline; text-underline-offset:.25em; }
.release-game.release-game .rg-link:hover { color:var(--rg-red-ink); }

/* A small playable invitation; the first meaningful action stays in view. */
.release-game.release-game .rg-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:clamp(1.3rem,3.5cqi,2rem); align-items:center; padding:clamp(1rem,3.5cqi,1.75rem); border:1px solid var(--rg-rule); }
.release-game.release-game .rg-intro-game { position:relative; min-width:0; padding:1rem; background:var(--rg-night); color:var(--rg-sheet); box-shadow:4px 5px 0 #d4c5ac; transform:rotate(-2deg); }
.release-game.release-game .rg-intro-game::before { content:""; position:absolute; width:60px; height:14px; top:-7px; left:30%; background:#c8ad8099; transform:rotate(3deg); }
.release-game.release-game .rg-intro-game > :is(h3,strong) { display:block; margin:.5rem 0 .8rem; font-size:clamp(1.4rem,4.5cqi,2rem); line-height:1; letter-spacing:-.045em; font-weight:800; }
.release-game.release-game .rg-intro-game .rg-kicker { font-size:.55rem; color:#b9bfd0; }
.release-game.release-game .rg-intro-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:3px; width:100%; aspect-ratio:1; }
.release-game.release-game .rg-intro-cell { position:relative; min-width:0; min-height:0; background:#212b45; }
.release-game.release-game .rg-intro-cell.is-road, .release-game.release-game .rg-intro-cell.is-street { background:var(--rg-road); }
.release-game.release-game .rg-intro-cell.is-lamp::after { content:""; position:absolute; width:10px; height:10px; left:calc(50% - 5px); top:calc(50% - 5px); background:var(--rg-lamp); border-radius:50%; box-shadow:0 0 0 7px #ffcd6e15; }
.release-game.release-game .rg-intro-cell.is-home::after { content:""; position:absolute; inset:22%; background:var(--rg-lamp); clip-path:polygon(50% 0,100% 40%,85% 40%,85% 100%,15% 100%,15% 40%,0 40%); }
.release-game.release-game .rg-intro-cell.is-hero::after { content:""; position:absolute; width:12px; height:16px; top:calc(50% - 8px); left:calc(50% - 6px); border-top:5px solid var(--rg-sheet); background:var(--rg-window); box-shadow:8px 7px 0 -3px var(--rg-lamp); }
.release-game.release-game .rg-intro-cell.is-tower::after { content:""; position:absolute; inset:20%; background:#e6e3cb; border-top:6px solid var(--rg-red); clip-path:polygon(50% 0,100% 30%,85% 30%,85% 100%,15% 100%,15% 30%,0 30%); }
.release-game.release-game .rg-intro-cell.is-enemy::after { content:""; position:absolute; width:45%; height:45%; left:27%; top:28%; border-radius:40%; background:#171c2b; box-shadow:0 -3px 0 #273042; }
.release-game.release-game .rg-intro-cell.is-base::after { content:""; position:absolute; inset:12%; background:var(--rg-lamp); clip-path:polygon(50% 0,100% 35%,85% 35%,85% 100%,15% 100%,15% 35%,0 35%); }
.release-game.release-game .rg-intro-copy { min-width:0; }
.release-game.release-game .rg-intro-copy h2 { font-size:clamp(1.5rem,4.5cqi,2.2rem); line-height:1.1; letter-spacing:-.045em; font-weight:850; }
.release-game.release-game .rg-intro-copy > p { margin-top:.8rem; font-size:.9rem; line-height:1.6; color:var(--rg-muted); }
.release-game.release-game .rg-intro-copy > .rg-kicker { margin:0 0 .6rem; font-size:.62rem; }
.release-game.release-game .rg-intro-copy .rg-actions { margin-top:1.1rem; }
.release-game.release-game .rg-nojs-note { padding:1rem clamp(1rem,3.5cqi,1.75rem); border:1px solid var(--rg-rule); border-top:0; font-size:.85rem; line-height:1.65; }
.release-game.release-game .rg-disclosure { margin:1rem 0; }
.release-game.release-game .rg-disclosure > summary { min-height:44px; font-size:.78rem; line-height:1.6; cursor:pointer; }
.release-game.release-game .rg-disclosure > :not(summary) { margin-top:.7rem; font-size:.85rem; line-height:1.65; }

/* One working area and the next concrete piece of author work. */
.release-game.release-game .rg-workbench { display:grid; grid-template-columns:minmax(0,1fr); gap:1.5rem; align-items:start; margin-top:1.3rem; }
.release-game.release-game .rg-workbench > * { min-width:0; }
.release-game.release-game .rg-workbench > .rg-step { grid-column:1; grid-row:1; }
.release-game.release-game .rg-workbench > .rg-board-frame { grid-column:1; grid-row:2; }
.release-game.release-game .rg-step { min-width:0; padding-top:.2rem; }
.release-game.release-game .rg-step > h3 { font-family:inherit; font-size:clamp(1.5rem,2.5cqi,1.75rem); line-height:1.18; letter-spacing:-.025em; font-weight:750; }
.release-game.release-game .rg-step > .rg-kicker { margin-bottom:.7rem; }
.release-game.release-game .rg-step > p { margin-top:.65rem; font-size:1rem; line-height:1.6; }
.release-game.release-game .rg-step .rg-copy { font-size:1rem; }
.release-game.release-game .rg-step .rg-actions { display:grid; grid-template-columns:1fr; gap:.6rem; }
.release-game.release-game .rg-next { margin-top:1.1rem; padding:.85rem 0 0; border-top:1px solid var(--rg-rule); font-size:.75rem; line-height:1.6; color:var(--rg-muted); }
.release-game.release-game .rg-board-frame { container:rg-board / inline-size; position:relative; padding:.85rem; border:1px solid #252c40; background:var(--rg-night); color:var(--rg-sheet); box-shadow:4px 5px 0 #d3c4ab; }
.release-game.release-game .rg-board-frame > .rg-build-label { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.4rem; padding-bottom:.7rem; color:#b9bfd0; font-size:.75rem; letter-spacing:.06em; }
.release-game.release-game .rg-board-host { width:100%; min-width:0; }
.release-game.release-game .rg-puzzle-surface { position:relative; width:100%; max-width:420px; margin:0 auto; aspect-ratio:1; background:var(--rg-night); outline-offset:3px; }
.release-game.release-game .rg-puzzle-surface:focus-visible { outline-color:var(--rg-lamp); }
.release-game.release-game .rg-canvas-mount { width:100%; height:100%; aspect-ratio:1; overflow:hidden; }
.release-game.release-game .rg-canvas-mount canvas { display:block; width:100% !important; height:100% !important; max-width:100%; margin:0 !important; touch-action:pan-y; }
.release-game.release-game .rg-puzzle-surface.is-fallback .rg-canvas-mount { display:none; }
.release-game.release-game .rg-dom-board { display:grid; grid-template-rows:repeat(7,minmax(0,1fr)); gap:3px; width:100%; height:100%; padding:5%; background:var(--rg-night); }
.release-game.release-game .rg-dom-row { display:grid; grid-template-columns:repeat(var(--rg-cols,7),minmax(0,1fr)); gap:3px; min-height:0; }
.release-game.release-game .rg-tile { position:relative; display:block; min-width:0; min-height:0; width:100%; height:100%; padding:0; border:0; border-radius:2px; background:#1d2540; color:var(--rg-sheet); touch-action:manipulation; }
.release-game.release-game .rg-tile.is-street { background:var(--rg-road); }
.release-game.release-game .rg-tile.is-wall::before { content:""; position:absolute; inset:0 0 auto; height:15%; background:#121729; }
.release-game.release-game .rg-tile.is-neighbor { box-shadow:inset 0 0 0 1px #f7edce45; }
.release-game.release-game .rg-tile.is-candidate { box-shadow:inset 0 0 0 2px var(--rg-red); background:#3d3b48; }
.release-game.release-game .rg-tile.is-candidate::after { content:"+"; position:absolute; inset:0; display:grid; place-items:center; color:var(--rg-sheet); font-size:1.4rem; line-height:1; }
.release-game.release-game .rg-tile:disabled { opacity:1; }
.release-game.release-game .rg-tile-object { position:absolute; display:block; pointer-events:none; }
.release-game.release-game .rg-object-guide { width:6px; height:6px; top:calc(50% - 3px); left:calc(50% - 3px); border-radius:50%; background:var(--rg-lamp); }
.release-game.release-game .rg-guide-label { position:absolute; z-index:3; top:95%; left:50%; width:max-content; max-width:110px; padding:2px 3px; transform:translateX(-50%); background:#172033; color:var(--rg-lamp); font-family:Arial,sans-serif; font-size:clamp(8px,1.9cqi,11px); line-height:1.2; font-weight:700; pointer-events:none; }
.release-game.release-game [data-art="draft"] .rg-object-guide { background:var(--rg-red-ink); }
.release-game.release-game [data-art="draft"] .rg-guide-label { background:#f6f1e5; color:#384252; }
.release-game.release-game .rg-object-lamp { width:12%; height:48%; left:44%; top:27%; background:#172033; }
.release-game.release-game .rg-object-lamp::before { content:""; position:absolute; width:280%; height:38%; left:-90%; top:-12%; background:#69718c; border-top:2px solid #172033; }
.release-game.release-game .is-lit > .rg-object-lamp::before { background:var(--rg-lamp); box-shadow:0 0 0 9px #ffcd6e14; }
.release-game.release-game .rg-object-home { width:72%; height:82%; left:14%; top:9%; background:#f7edce; clip-path:polygon(50% 0,100% 40%,85% 40%,85% 100%,15% 100%,15% 40%,0 40%); }
.release-game.release-game .rg-object-home::after { content:""; position:absolute; width:25%; height:42%; left:38%; bottom:0; background:var(--rg-lamp); }
.release-game.release-game .is-home:not(.is-home-lit) > .rg-object-home { background:#69718c; }
.release-game.release-game .is-home:not(.is-home-lit) > .rg-object-home::after { background:#172033; }
.release-game.release-game .rg-tile[data-circuit]::after { content:attr(data-circuit); position:absolute; right:1px; bottom:1px; min-width:1em; padding:0 1px; background:#172033; color:#ffcd6e; font-family:Arial,sans-serif; font-size:clamp(8px,1.9cqi,11px); line-height:1.2; font-weight:700; z-index:1; }
.release-game.release-game .rg-tile.is-candidate[data-circuit]::after { content:"+"; background:transparent; right:0; bottom:0; font-size:1.4rem; }
.release-game.release-game .rg-object-switch { width:52%; height:52%; left:24%; top:24%; border:2px solid var(--rg-sheet); background:var(--rg-night); border-radius:3px; }
.release-game.release-game .rg-object-switch::after { content:""; position:absolute; width:3px; height:65%; top:18%; left:calc(50% - 1px); background:var(--rg-red); transform:rotate(25deg); }
.release-game.release-game .rg-object-hero { width:30%; height:44%; left:35%; top:29%; background:var(--rg-window); border-radius:3px 3px 1px 1px; box-shadow:0 3px 0 #172033; z-index:2; }
.release-game.release-game .rg-object-hero::before { content:""; position:absolute; width:64%; height:34%; left:18%; top:-24%; background:var(--rg-sheet); border-radius:50%; }
.release-game.release-game .rg-object-hero::after { content:""; position:absolute; width:43%; height:36%; right:-37%; top:40%; background:var(--rg-lamp); border:1px solid #172033; border-radius:2px; }
.release-game.release-game [data-status="lost"] .rg-object-hero { opacity:.5; }
.release-game.release-game .rg-assist-grid { position:absolute; top:0; left:0; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); }
.release-game.release-game [data-art="draft"] .rg-dom-board { background:#e9e4d8; }
.release-game.release-game [data-art="draft"] .rg-tile { background:#e4ded0; border:1px solid #b9b6b0; border-radius:0; }
.release-game.release-game [data-art="draft"] .rg-tile.is-wall::before { height:100%; background:linear-gradient(45deg,transparent 48%,#b9b6b0 49%,#b9b6b0 51%,transparent 52%),linear-gradient(-45deg,transparent 48%,#b9b6b0 49%,#b9b6b0 51%,transparent 52%); }
.release-game.release-game [data-art="draft"] .rg-tile.is-street { background:#f6f1e5; }
.release-game.release-game [data-art="draft"] .rg-tile.is-neighbor { box-shadow:inset 0 0 0 1px #384252; }
.release-game.release-game [data-art="draft"] .rg-tile.is-candidate { border-color:var(--rg-red); background:#efdacb; }
.release-game.release-game [data-art="draft"] .rg-tile.is-candidate::after { color:#384252; }
.release-game.release-game [data-art="draft"] .rg-tile[data-circuit]:not(.is-candidate)::after { background:#f6f1e5; color:#384252; }
.release-game.release-game .rg-legend { display:flex; flex-wrap:wrap; gap:.3rem .75rem; margin-top:.7rem; color:#c8cedc; font-size:.62rem; line-height:1.5; }
.release-game.release-game .rg-legend > * { display:inline-flex; align-items:center; gap:.3rem; }
.release-game.release-game .rg-legend [data-kind="lamp"]::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--rg-lamp); }
.release-game.release-game .rg-legend [data-kind="home"]::before { content:""; width:9px; height:9px; background:var(--rg-sheet); clip-path:polygon(50% 0,100% 40%,85% 40%,85% 100%,15% 100%,15% 40%,0 40%); }

/* Public controls are separate from the canvas and always have real hit areas. */
.release-game.release-game .rg-controls { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:6px; margin-top:.8rem; }
.release-game.release-game .rg-direction { display:inline-grid; place-items:center; width:44px; min-width:44px; height:44px; padding:0; border:1px solid #69718c; border-radius:0; background:#242e47; color:var(--rg-sheet); font-size:1.25rem; line-height:1; }
.release-game.release-game .rg-direction:hover { border-color:var(--rg-lamp); background:#343e55; }
.release-game.release-game .rg-board-frame .rg-btn-secondary { min-height:44px; padding:.55rem .65rem; color:var(--rg-sheet); border-color:#69718c; font-size:.72rem; }
.release-game.release-game .rg-board-frame .rg-btn-secondary:hover { background:#343e55; border-color:var(--rg-lamp); }
.release-game.release-game .rg-board-frame .rg-link { color:#c8cedc; }
.release-game.release-game .rg-board-frame .rg-next { color:#c8cedc; border-top-color:#4b556b; }
.release-game.release-game .rg-next:empty { display:none; }
.release-game.release-game .rg-board-frame :is(button,a):focus-visible { outline-color:var(--rg-lamp); }
.release-game.release-game .rg-play-status { min-height:1.6em; margin-top:.75rem; font-size:.76rem; line-height:1.6; color:#e2e0d3; }
.release-game.release-game .rg-charge { display:flex; align-items:center; gap:.4rem; margin-top:.65rem; font-size:.69rem; font-variant-numeric:tabular-nums; color:#c8cedc; }
.release-game.release-game .rg-charge strong { color:var(--rg-lamp); font-size:1rem; line-height:1.2; }
.release-game.release-game .rg-charge > :is(i,b,span[data-light]) { width:7px; height:11px; border:1px solid var(--rg-lamp); background:var(--rg-lamp); }
.release-game.release-game .rg-charge > .is-empty { background:transparent; opacity:.45; }

/* The playable defence keeps money, building and the next wave close to the map. */
.release-game.release-game .rg-td { width:100%; min-width:0; color:#f7edce; }
.release-game.release-game .rg-td-hud { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem; margin:0 0 .7rem; padding:0 0 .65rem; border-bottom:1px solid #4d596b; }
.release-game.release-game .rg-td-hud > div { min-width:0; }
.release-game.release-game .rg-td-hud dt { color:#bac5cf; font-size:.8125rem; line-height:1.4; }
.release-game.release-game .rg-td-hud dd { margin:.15rem 0 0; color:#ffce75; font-size:1.1rem; line-height:1.2; font-weight:800; font-variant-numeric:tabular-nums; white-space:nowrap; }
.release-game.release-game .rg-td-surface { position:relative; width:100%; max-width:420px; aspect-ratio:1; margin-inline:auto; overflow:hidden; background:#182338; }
.release-game.release-game .rg-td-surface:focus-visible { outline-color:#ffce75; }
.release-game.release-game .rg-td-canvas { width:100%; height:100%; aspect-ratio:1; }
.release-game.release-game .rg-td-canvas canvas { display:block; width:100% !important; height:100% !important; max-width:100%; margin:0 !important; touch-action:pan-y; }
.release-game.release-game .rg-td-surface.is-fallback .rg-td-canvas { display:none; }
.release-game.release-game .rg-td-fallback, .release-game.release-game .rg-td-road, .release-game.release-game .rg-td-world-pads, .release-game.release-game .rg-td-enemies, .release-game.release-game .rg-td-fx { position:absolute; inset:0; width:100%; height:100%; }
.release-game.release-game .rg-td-road { display:block; }
.release-game.release-game .rg-td-fx { pointer-events:none; overflow:hidden; }
.release-game.release-game .rg-td-map-pad { position:absolute; width:10.5%; height:10.5%; padding:0; transform:translate(-50%,-50%); border:1px solid #8295a6; border-radius:50%; background:#24334a; color:#e6e3cb; font-size:.75rem; line-height:1; }
.release-game.release-game .rg-td-map-pad[aria-pressed="true"] { border:2px solid #ffce75; background:#273042; }
.release-game.release-game .rg-td-map-pad[data-tower]:not([data-tower=""]) span { visibility:hidden; }
.release-game.release-game .rg-td-map-pad[data-tower]:not([data-tower=""]) i { display:block; position:absolute; inset:20%; background:#e6e3cb; border-top:5px solid #e4744d; }
.release-game.release-game .rg-td-map-pad[data-tower="frost"] i { background:#88d5df; border:0; clip-path:polygon(50% 0,100% 75%,50% 100%,0 75%); }
.release-game.release-game .rg-td-map-pad[data-tower="cannon"] i { background:#273042; border:3px solid #e4744d; border-radius:30%; }
.release-game.release-game .rg-td[data-guide="true"] .rg-td-map-pad[aria-pressed="true"]::before { content:""; position:absolute; width:var(--td-range,500%); aspect-ratio:1; left:50%; top:50%; transform:translate(-50%,-50%); border:1px solid #88d5df70; border-radius:50%; background:#88d5df0b; pointer-events:none; }
.release-game.release-game .rg-td-enemy { position:absolute; width:4.5%; aspect-ratio:1; transform:translate(-50%,-50%); background:#252535; border-radius:40% 40% 45% 45%; box-shadow:0 3px 0 #27304233; }
.release-game.release-game .rg-td-enemy::before { content:""; position:absolute; top:-20%; left:3%; width:94%; height:35%; background:#252535; clip-path:polygon(0 0,35% 60%,65% 60%,100% 0,100% 100%,0 100%); }
.release-game.release-game .rg-td-enemy::after { content:""; position:absolute; inset:35% 20% auto; height:2px; background:linear-gradient(90deg,#ffce75 0 25%,transparent 25% 75%,#ffce75 75%); }
.release-game.release-game .rg-td-enemy.is-armored { width:5.5%; border:2px solid #8295a6; border-radius:1px; }
.release-game.release-game .rg-td-enemy.is-boss { width:8%; }
.release-game.release-game .rg-td-enemy.is-splitter { width:6%; border-radius:40% 50% 35% 45%; border:1px solid #8295a6; box-shadow:inset -3px 0 0 #e4744d; }
.release-game.release-game .rg-td-enemy.is-fragment { width:2.8%; border-radius:0; background:#e4744d; clip-path:polygon(50% 0,100% 100%,0 100%); }
.release-game.release-game .rg-td-enemy.is-raging { outline:2px solid #e4744d; outline-offset:4px; box-shadow:0 0 0 7px #e4744d30; }
.release-game.release-game .rg-td-enemy.is-slow { background:#497b8b; }
.release-game.release-game .rg-td-enemy > i { position:absolute; width:140%; height:3px; left:-20%; top:-45%; background:#273042; }
.release-game.release-game .rg-td-enemy > i::after { content:""; display:block; width:var(--td-hp); height:100%; background:#ffce75; }
.release-game.release-game .rg-td-shot { position:absolute; height:2px; background:#ffce75; transform-origin:0 50%; opacity:.8; }
.release-game.release-game .rg-td-shot.is-frost { background:#88d5df; }
.release-game.release-game .rg-td-shot.is-cannon { height:3px; background:#e4744d; }
.release-game.release-game .rg-td-burst { position:absolute; width:71%; aspect-ratio:1; transform:translate(-50%,-50%); border:3px solid #ffce75; border-radius:50%; background:#ffce7514; }
.release-game.release-game .rg-td-burst.is-split { width:10%; border:2px dashed #e4744d; background:transparent; }
.release-game.release-game .rg-td-burst.is-rage { width:12%; border-color:#e4744d; background:#e4744d30; }
.release-game.release-game .rg-td-assist { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); }
.release-game.release-game .rg-td-pads { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.35rem; margin-top:.7rem; }
.release-game.release-game .rg-td-pads button { display:flex; align-items:center; gap:.4rem; min-width:0; min-height:44px; padding:.55rem .6rem; border:1px solid #56657a; border-radius:0; background:transparent; color:#bac5cf; font-weight:800; font-size:1rem; line-height:1.2; text-align:left; }
.release-game.release-game .rg-td-pads button span { min-width:0; font-size:.875rem; font-weight:500; line-height:1.35; }
.release-game.release-game .rg-td-pads button[aria-pressed="true"] { color:#ffce75; border-color:#ffce75; background:#2f3c52; }
.release-game.release-game .rg-td-selected { margin-top:.85rem; padding-top:.8rem; border-top:1px solid #4d596b; }
.release-game.release-game .rg-td-selected h4 { font-size:1rem; line-height:1.3; font-weight:750; letter-spacing:-.02em; }
.release-game.release-game .rg-td-pad-info { margin-top:.35rem; color:#bac5cf; font-size:.875rem; line-height:1.5; }
.release-game.release-game .rg-td-towers { display:grid; grid-template-columns:minmax(0,1fr); gap:.4rem; margin-top:.65rem; }
.release-game.release-game .rg-td-purchase, .release-game.release-game .rg-td-sell { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.25rem; min-width:0; min-height:44px; padding:.65rem .45rem; border:1px solid #8295a6; border-radius:0; background:#24334a; color:#e6e3cb; font-size:.875rem; line-height:1.4; text-align:center; }
.release-game.release-game .rg-td-purchase strong { font-size:.875rem; line-height:1.35; }
.release-game.release-game .rg-td-purchase span { color:#ffce75; font-size:.875rem; line-height:1.3; }
.release-game.release-game .rg-td-purchase[data-td-action="build"] { display:grid; grid-template-columns:24px minmax(0,1fr) auto; align-items:center; gap:.4rem; min-height:52px; padding:.65rem .7rem; text-align:left; }
.release-game.release-game .rg-td-purchase[data-td-action="build"] strong { min-width:0; }
.release-game.release-game .rg-td-purchase[data-td-action="build"] span { white-space:nowrap; text-align:right; }
.release-game.release-game .rg-td-tower-mark { display:block; width:19px; height:23px; background:#e6e3cb; border-top:7px solid #e4744d; clip-path:polygon(50% 0,100% 25%,85% 25%,85% 100%,15% 100%,15% 25%,0 25%); }
.release-game.release-game .rg-td-tower-mark.is-frost { border:0; background:#88d5df; clip-path:polygon(50% 0,100% 75%,50% 100%,0 75%); }
.release-game.release-game .rg-td-tower-mark.is-cannon { border:3px solid #e4744d; background:#273042; clip-path:none; border-radius:4px; }
.release-game.release-game .rg-td-upcoming { margin-top:.9rem; color:#bac5cf; font-size:.875rem; line-height:1.55; }
.release-game.release-game .rg-td-upcoming > :is(strong,span) { display:block; }
.release-game.release-game .rg-td-upcoming > strong { color:#e6e3cb; font-weight:750; }
.release-game.release-game .rg-td-upcoming > span + span { margin-top:.35rem; }
.release-game.release-game .rg-td-upcoming .rg-td-wave-hint { padding-left:.65rem; border-left:2px solid #ffce75; color:#ffce75; }
.release-game.release-game .rg-td-wave { margin-top:.55rem; }
.release-game.release-game .rg-td-start { display:block; width:100%; min-height:46px; padding:.75rem .65rem; border:1px solid #ffce75; border-radius:0; background:#ffce75; color:#182338; font-size:.9375rem; line-height:1.4; font-weight:800; }
.release-game.release-game .rg-td-tools { display:flex; flex-wrap:wrap; gap:.3rem; margin-top:.35rem; }
.release-game.release-game .rg-td-tools button { flex:1 1 7rem; min-width:0; min-height:44px; padding:.5rem .35rem; border:1px solid #56657a; border-radius:0; background:transparent; color:#bac5cf; font-size:.875rem; line-height:1.4; }
.release-game.release-game .rg-td button:disabled { opacity:.55; cursor:not-allowed; }
.release-game.release-game .rg-td-start:disabled { opacity:1; color:#bac5cf; border-color:#56657a; background:#24334a; }
.release-game.release-game .rg-td button:not(:disabled):hover { border-color:#ffce75; }
.release-game.release-game .rg-td :is(.rg-td-purchase,.rg-td-sell,.rg-td-pads button,.rg-td-tools button):not(:disabled):hover { color:#ffce75; background:#2f3c52; }
.release-game.release-game .rg-td button:focus-visible { outline-color:#ffce75; }
.release-game.release-game .rg-td-guide, .release-game.release-game .rg-td-status { margin-top:.65rem; color:#e6e3cb; font-size:.875rem; line-height:1.55; }
.release-game.release-game .rg-td-guide { color:#ffce75; }
.release-game.release-game .rg-td-status:empty { display:none; }
.release-game.release-game .rg-td[data-status="lost"] .rg-td-hud > div:first-child dd { color:#e4744d; }
.release-game.release-game .rg-td-result { min-width:0; margin-top:1.1rem; padding:1rem; border:1px solid #ffce75; background:#202d42; }
.release-game.release-game .rg-td-result > .rg-kicker { color:#bac5cf; }
.release-game.release-game .rg-td-result h4 { margin-top:.4rem; font-size:clamp(1.15rem,3cqi,1.5rem); line-height:1.25; font-weight:750; }
.release-game.release-game .rg-td-result-score { display:flex; align-items:center; flex-wrap:wrap; gap:.25rem 1rem; margin-top:.75rem; color:#ffce75; }
.release-game.release-game .rg-td-result-score > strong { font-size:3rem; line-height:1; letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
.release-game.release-game .rg-td-result-score small { font-size:1.35rem; letter-spacing:0; color:#bac5cf; }
.release-game.release-game .rg-td-result-score > span { flex:1 1 10rem; color:#e6e3cb; font-size:.9375rem; line-height:1.4; }
.release-game.release-game .rg-td-result-copy { margin-top:.75rem; color:#bac5cf; font-size:.9375rem; line-height:1.55; }
.release-game.release-game .rg-td-result-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem 1rem; margin:1rem 0; padding:1rem 0; border-block:1px solid #56657a; }
.release-game.release-game .rg-td-result-stats > div { min-width:0; }
.release-game.release-game .rg-td-result-stats dt { color:#bac5cf; font-size:.8125rem; line-height:1.4; }
.release-game.release-game .rg-td-result-stats dd { margin:.15rem 0 0; color:#f7edce; font-size:1.1rem; line-height:1.3; font-weight:750; font-variant-numeric:tabular-nums; }
.release-game.release-game .rg-td-result-actions { display:grid; gap:.6rem; }
.release-game.release-game .rg-td-result-actions button { min-width:0; min-height:46px; padding:.7rem .8rem; border:1px solid #ffce75; border-radius:0; font-size:.9375rem; line-height:1.4; font-weight:750; }
.release-game.release-game .rg-td-challenge { background:#ffce75; color:#182338; }
.release-game.release-game .rg-td-replay { background:transparent; color:#e6e3cb; }
.release-game.release-game .rg-td-replay:not(:disabled):hover { background:#2f3c52; }
.release-game.release-game .rg-td-challenge-feedback { margin-top:.75rem; color:#e6e3cb; font-size:.875rem; line-height:1.55; overflow-wrap:anywhere; }
.release-game.release-game .rg-td-challenge-feedback:empty { display:none; }
.release-game.release-game .rg-td-challenge-url { display:block; width:100%; min-width:0; min-height:44px; margin-top:.5rem; padding:.55rem; border:1px solid #8295a6; border-radius:0; background:#151a2e; color:#f7edce; font-size:.8125rem; line-height:1.4; }
@container rg-board (max-width:33.999rem) {
  .release-game.release-game .rg-td[data-phase="wave"][data-status="playing"] .rg-td-selected { display:none; }
}
@container rg-board (min-width:34rem) {
  .release-game.release-game .rg-td { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:.65rem .8rem; align-items:start; }
  .release-game.release-game .rg-td-hud { grid-column:1 / -1; grid-row:1; margin:0; }
  .release-game.release-game .rg-td-surface { grid-column:1; grid-row:2 / span 5; max-width:360px; margin:0; }
  .release-game.release-game .rg-td-pads { grid-column:2; grid-row:2; margin:0; }
  .release-game.release-game .rg-td-selected { grid-column:2; grid-row:3; margin:0; padding-top:.65rem; }
  .release-game.release-game .rg-td-upcoming { grid-column:2; grid-row:4; margin:0; }
  .release-game.release-game .rg-td-wave { grid-column:2; grid-row:5; margin:0; }
  .release-game.release-game .rg-td-tools { grid-column:2; grid-row:6; margin:0; }
  .release-game.release-game .rg-td-guide { grid-column:1 / -1; grid-row:7; margin:0; }
  .release-game.release-game .rg-td-status { grid-column:1 / -1; grid-row:8; margin:0; }
  .release-game.release-game .rg-td-result { grid-column:1 / -1; grid-row:9; margin-top:.4rem; }
  .release-game.release-game .rg-td-result-stats { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .release-game.release-game .rg-td-result-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* The new setting has its own field kit; archived bakery recipes keep their art. */
.release-game.release-game[data-rg-theme="zombies"] { --rg-night:#263b2c; --rg-lamp:#ffdb78; --rg-road:#788365; --rg-window:#8cdae4; }
.release-game.release-game[data-rg-theme="zombies"] .rg-intro-game { border:1px solid #71855f; background:#263b2c; }
.release-game.release-game[data-rg-theme="zombies"] .rg-intro-game .rg-kicker { color:#c5d1b3; }
.release-game.release-game[data-rg-theme="zombies"] .rg-intro-cell { background:#637949; }
.release-game.release-game[data-rg-theme="zombies"] .rg-intro-cell.is-road { background:#c5c2a5; }
.release-game.release-game[data-rg-theme="zombies"] .rg-intro-cell.is-tower::after { inset:25% 32% 15%; border-top:0; border-radius:25% 25% 10% 10%; background:#718953; clip-path:none; box-shadow:0 -5px 0 #efcea1,0 -10px 0 #91a365; }
.release-game.release-game[data-rg-theme="zombies"] .rg-intro-cell.is-enemy::after { width:38%; height:45%; top:37%; left:31%; border-radius:10%; background:#6a7791; box-shadow:0 -6px 0 #adcb7e,0 -10px 0 #adcb7e; }
.release-game.release-game[data-rg-theme="zombies"] .rg-intro-cell.is-base::after { inset:12%; clip-path:none; border:3px solid #657758; border-radius:2px; background:linear-gradient(90deg,#a3b491 0 30%,#3f5143 30% 70%,#a3b491 70%); }
.release-game.release-game .rg-board-frame:has(.rg-td[data-theme="zombies"]) { border-color:#71855f; background:#263b2c; color:#f4efd9; }
.release-game.release-game .rg-board-frame:has(.rg-td[data-theme="zombies"]) > .rg-build-label { color:#c5d1b3; }
.release-game.release-game .rg-td[data-theme="zombies"] { --td-ink:#263b2c; --td-panel:#344936; --td-rule:#7e9270; --td-text:#f4efd9; --td-muted:#c5d1b3; --td-accent:#ffdb78; color:var(--td-text); }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-hud { border-color:var(--td-rule); }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-hud dt { color:var(--td-muted); font-size:.875rem; }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-hud dd { color:var(--td-accent); }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-surface { background:#637949; border-radius:4px; box-shadow:0 0 0 1px #a3b49170; }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-map-pad { width:11%; height:11%; border-color:#a3b491; background:#314431; color:#f6f0d3; font-size:1.125rem; font-weight:800; }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-map-pad[aria-pressed="true"] { border-color:var(--td-accent); background:#3f563b; }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-map-pad[data-tower]:not([data-tower=""]) i { display:block; inset:-12%; border:0; border-radius:0; background:none; clip-path:none; }
.release-game.release-game .rg-td[data-theme="zombies"] :is(.rg-td-map-pad i,.rg-td-tower-mark) > svg { display:block; width:100%; height:100%; overflow:visible; }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-map-pad[data-tower]:not([data-tower=""])::after { content:attr(data-level); position:absolute; right:-3px; bottom:-3px; z-index:2; min-width:14px; padding:1px; background:#263b2c; color:#ffdb78; font-size:.75rem; line-height:1; }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-enemy { width:9%; aspect-ratio:64 / 72; border:0; border-radius:0; background:none; clip-path:none; box-shadow:none; }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-enemy::after { display:none; }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-enemy > svg { display:block; width:100%; height:100%; overflow:visible; }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-enemy.is-fast > svg { transform:rotate(9deg); }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-enemy.is-armored { width:10%; }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-enemy.is-splitter { width:11%; }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-enemy.is-fragment { width:6.5%; }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-enemy.is-boss { width:14%; }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-enemy.is-slow > svg { filter:drop-shadow(0 0 3px #8cdae4); }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-enemy.is-raging { outline-color:#f49356; outline-offset:3px; border-radius:50%; box-shadow:0 0 0 6px #f4935630; }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-enemy > i { width:90%; left:5%; top:-12%; background:#263b2c; }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-enemy > i::after { background:var(--td-accent); }
.release-game.release-game .rg-td[data-theme="zombies"] :is(.rg-td-pads button,.rg-td-tools button) { color:var(--td-muted); border-color:var(--td-rule); }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-pads button[aria-pressed="true"] { border-color:var(--td-accent); background:#40583c; color:var(--td-accent); }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-selected { border-color:var(--td-rule); }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-pad-info { color:var(--td-muted); }
.release-game.release-game .rg-td[data-theme="zombies"] :is(.rg-td-purchase,.rg-td-sell) { border-color:var(--td-rule); background:var(--td-panel); color:var(--td-text); }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-purchase[data-td-action="build"] { grid-template-columns:36px minmax(0,1fr) auto; gap:.2rem .45rem; }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-purchase[data-td-action="build"] .rg-td-tower-mark { grid-row:1 / span 2; width:36px; height:40px; border:0; background:none; clip-path:none; }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-purchase span { color:var(--td-accent); }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-purchase small { grid-column:2 / -1; color:var(--td-muted); font-size:.875rem; line-height:1.4; }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-upcoming { color:var(--td-muted); }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-upcoming > strong { color:var(--td-text); }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-upcoming .rg-td-wave-hint { border-color:var(--td-accent); color:var(--td-accent); }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-start { border-color:var(--td-accent); background:var(--td-accent); color:var(--td-ink); }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-start:disabled { border-color:var(--td-rule); background:var(--td-panel); color:var(--td-muted); }
.release-game.release-game .rg-td[data-theme="zombies"] :is(.rg-td-guide,.rg-td-status,.rg-td-challenge-feedback) { color:var(--td-text); }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-guide { color:var(--td-accent); }
.release-game.release-game .rg-td[data-theme="zombies"] button:not(:disabled):hover { border-color:var(--td-accent); }
.release-game.release-game .rg-td[data-theme="zombies"] :is(.rg-td-purchase,.rg-td-sell,.rg-td-pads button,.rg-td-tools button,.rg-td-replay):not(:disabled):hover { color:var(--td-accent); background:#40583c; }
.release-game.release-game .rg-td[data-theme="zombies"] button:focus-visible { outline-color:var(--td-accent); }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-result { border-color:var(--td-accent); background:#304632; }
.release-game.release-game .rg-td[data-theme="zombies"] :is(.rg-td-result > .rg-kicker,.rg-td-result-score small,.rg-td-result-copy,.rg-td-result-stats dt) { color:var(--td-muted); }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-result-score { color:var(--td-accent); }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-result-score > span { color:var(--td-text); }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-result-stats { border-color:var(--td-rule); }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-result-stats dt { font-size:.875rem; }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-result-actions button { border-color:var(--td-accent); }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-challenge { color:var(--td-ink); background:var(--td-accent); }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-replay { color:var(--td-text); }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-challenge-url { border-color:var(--td-rule); background:#263b2c; color:var(--td-text); }

/* Choices are annotations to the build, rather than equal-weight dashboard cards. */
.release-game.release-game .rg-options { display:grid; gap:.6rem; margin-top:1rem; }
.release-game.release-game .rg-choice { position:relative; display:block; width:100%; min-width:0; min-height:54px; padding:1rem; border:1px solid var(--rg-rule); border-left:3px solid var(--rg-rule); border-radius:0; background:var(--rg-sheet); color:var(--rg-ink); text-align:left; font-size:.9375rem; line-height:1.55; }
.release-game.release-game .rg-choice > strong { display:block; color:var(--rg-ink); font-size:1rem; line-height:1.4; font-weight:750; letter-spacing:-.015em; }
.release-game.release-game .rg-choice > span, .release-game.release-game .rg-choice p { display:block; margin-top:.35rem; font-size:.9375rem; line-height:1.55; color:var(--rg-muted); }
.release-game.release-game .rg-choice > small { display:block; margin-top:.55rem; font-size:.875rem; line-height:1.5; color:var(--rg-muted); }
.release-game.release-game .rg-choice:not(:disabled):is(:hover,:focus-visible,:active), .release-game.release-game .rg-choice[aria-pressed="true"] { border-color:var(--rg-red-ink); border-left-color:var(--rg-red-ink); background:#f9e3d4; color:var(--rg-ink); }
.release-game.release-game .rg-choice:not(:disabled):is(:hover,:focus-visible,:active) > strong, .release-game.release-game .rg-choice[aria-pressed="true"] > strong { color:var(--rg-ink); }
.release-game.release-game .rg-choice:not(:disabled):is(:hover,:focus-visible,:active) > :is(span,small), .release-game.release-game .rg-choice[aria-pressed="true"] > :is(span,small) { color:var(--rg-muted); }
.release-game.release-game .rg-choice:disabled { opacity:1; background:#e9e2d5; border-color:var(--rg-rule); }
.release-game.release-game .rg-choice:disabled > strong { color:var(--rg-muted); }
.release-game.release-game .rg-note, .release-game.release-game .rg-end-note { margin-top:.8rem; color:var(--rg-muted); font-size:.875rem; line-height:1.65; }
.release-game.release-game .rg-note strong { color:var(--rg-ink); }
.release-game.release-game .rg-test-note { position:relative; margin-top:1rem; padding:1rem; border:1px solid var(--rg-rule); background:var(--rg-sheet); box-shadow:2px 3px 0 #d8ccb760; }
.release-game.release-game .rg-test-note::before { content:""; position:absolute; width:50px; height:12px; top:-6px; left:1rem; background:#d0ba9580; transform:rotate(-5deg); }
.release-game.release-game .rg-test-note > strong { display:block; font-size:.875rem; line-height:1.5; }
.release-game.release-game .rg-test-note > p { margin-top:.55rem; font-family:Georgia,"Times New Roman",serif; font-size:1rem; line-height:1.55; }
.release-game.release-game .rg-replay { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem; margin-top:.8rem; }
.release-game.release-game .rg-trace-progress { color:var(--rg-muted); font-family:ui-monospace,Consolas,monospace; font-size:.875rem; line-height:1.5; }
.release-game.release-game .rg-level-tabs { display:flex; flex-wrap:wrap; gap:.4rem; margin-bottom:.75rem; }
.release-game.release-game .rg-level-tabs > button { flex:1 1 6rem; min-height:44px; padding:.55rem .6rem; border:1px solid var(--rg-rule); border-radius:0; background:transparent; color:var(--rg-ink); font-size:.72rem; line-height:1.45; text-align:left; }
.release-game.release-game .rg-level-tabs > button[aria-pressed="true"] { background:var(--rg-ink); border-color:var(--rg-ink); color:var(--rg-sheet); }
.release-game.release-game .rg-level-tabs > button:hover { border-color:var(--rg-ink); }
.release-game.release-game .rg-board-frame .rg-level-tabs > button { color:#c8cedc; border-color:#69718c; }
.release-game.release-game .rg-board-frame .rg-level-tabs > button[aria-pressed="true"] { color:var(--rg-night); background:var(--rg-sheet); border-color:var(--rg-sheet); }
.release-game.release-game .rg-board-frame .rg-level-tabs > button:hover { border-color:var(--rg-lamp); }

/* A released version is a playable object with a short author's note. */
.release-game.release-game .rg-release { position:relative; margin-top:1.3rem; padding:1.2rem; border:1px solid var(--rg-rule); border-top:5px solid var(--rg-red); background:var(--rg-sheet); box-shadow:4px 5px 0 #d6c7ad; }
.release-game.release-game .rg-release-title { margin-top:.65rem; font-size:clamp(1.55rem,5cqi,2.4rem); line-height:1.08; letter-spacing:-.04em; font-weight:850; }
.release-game.release-game .rg-release > p { margin-top:.7rem; font-size:.86rem; line-height:1.65; }
.release-game.release-game .rg-recipe-summary { display:flex; flex-wrap:wrap; gap:.4rem .8rem; margin-top:.9rem; padding-top:.75rem; border-top:1px solid var(--rg-rule); font-size:.875rem; line-height:1.55; }
.release-game.release-game .rg-recipe-summary > * { min-width:0; }
.release-game.release-game .rg-share-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; margin-top:1.2rem; }
.release-game.release-game .rg-feedback { margin-top:1.1rem; padding-left:1rem; border-left:3px solid var(--rg-red); font-family:Georgia,"Times New Roman",serif; font-size:1.12rem; line-height:1.5; }
.release-game.release-game .rg-save-panel { margin-top:1.3rem; padding-top:.8rem; border-top:1px solid var(--rg-rule); font-size:.75rem; line-height:1.6; }
.release-game.release-game .rg-save-panel > summary { min-height:44px; cursor:pointer; }
.release-game.release-game .rg-error, .release-game.release-game .rg-inline-error { margin-top:.8rem; padding:.7rem .8rem; border-left:3px solid var(--rg-red); background:#f7dfd1; color:var(--rg-red-ink); font-size:.8rem; line-height:1.55; }
.release-game.release-game .rg-status { margin-top:.7rem; font-size:.77rem; line-height:1.6; color:#466349; }
.release-game.release-game :is(.rg-status,.rg-inline-error,.rg-error):empty { display:none; }
.release-game.release-game .rg-input { width:100%; min-width:0; min-height:46px; margin-top:.45rem; padding:.65rem .75rem; border:1px solid var(--rg-rule); border-radius:0; background:var(--rg-sheet); color:var(--rg-ink); font-size:.83rem; line-height:1.5; }
.release-game.release-game textarea.rg-input { min-height:90px; resize:vertical; }
.release-game.release-game .rg-share-url { display:block; width:100%; min-width:0; margin-top:.5rem; padding:.65rem; font-size:.75rem; }
.release-game.release-game .rg-published-link { margin:1rem 0; padding:1rem; border:1px solid var(--rg-rule); background:var(--rg-sheet); color:var(--rg-ink); }
.release-game.release-game .rg-published-link > strong { font-size:1.1rem; }
.release-game.release-game .rg-published-link p { margin:.5rem 0 .75rem; font-size:.9375rem; line-height:1.5; }
.release-game.release-game .rg-published-link label { display:block; font-size:.875rem; font-weight:700; }
.release-game.release-game .rg-published-link .rg-share-url { box-sizing:border-box; min-height:44px; border:1px solid var(--rg-rule); background:var(--rg-paper); color:var(--rg-ink); font-family:Arial,sans-serif; font-size:.875rem; font-weight:400; user-select:text; }
.release-game.release-game .rg-feedback:empty { display:none; }

@container rg-game (min-width:40rem) and (max-width:63.999rem) {
  .release-game.release-game .rg-workshop .rg-options { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; }
  .release-game.release-game .rg-workshop .rg-options > .rg-choice:last-child:nth-child(odd) { grid-column:1 / -1; }
}
@container rg-game (min-width:64rem) {
  .release-game.release-game .rg-workbench { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:1.5rem; }
  .release-game.release-game .rg-workbench > .rg-step { grid-column:2; grid-row:1; }
  .release-game.release-game .rg-workbench > .rg-board-frame { grid-column:1; grid-row:1; }
}
@container rg-game (max-width:37rem) {
  .release-game.release-game .rg-workbench { grid-template-columns:1fr; gap:1.2rem; }
  .release-game.release-game .rg-board-frame { width:100%; }
  .release-game.release-game .rg-step { padding-top:0; }
  .release-game.release-game .rg-workshop > .rg-step { grid-column:1; grid-row:1; }
  .release-game.release-game .rg-workshop > .rg-board-frame { grid-column:1; grid-row:2; }
  .release-game.release-game .rg-step .rg-actions { display:flex; }
}
@container rg-game (max-width:26rem) {
  .release-game.release-game .rg-intro { grid-template-columns:1fr; gap:1.4rem; }
  .release-game.release-game .rg-intro-game { display:grid; grid-template-columns:minmax(0,1fr) 120px; gap:.6rem 1rem; align-items:center; transform:rotate(-1deg); }
  .release-game.release-game .rg-intro-grid { grid-column:2; grid-row:1 / span 3; }
  .release-game.release-game .rg-intro-game > :is(h3,strong) { margin:0; font-size:1.65rem; }
  .release-game.release-game .rg-intro-game .rg-kicker { font-size:.5rem; }
  .release-game.release-game .rg-shell { padding:1rem; }
  .release-game.release-game .rg-board-frame { padding:.65rem; }
  .release-game.release-game .rg-step .rg-actions > :is(.rg-btn,.rg-btn-secondary) { width:100%; }
  .release-game.release-game .rg-release { padding:1rem; }
}
@container rg-game (max-width:19rem) {
  .release-game.release-game .rg-intro-game { grid-template-columns:minmax(0,1fr) 86px; padding:.8rem; gap:.5rem; }
  .release-game.release-game .rg-intro-game > :is(h3,strong) { font-size:1.3rem; }
  .release-game.release-game .rg-controls .rg-btn-secondary { flex:1 1 7rem; }
  .release-game.release-game .rg-topbar { gap:.4rem .7rem; }
  .release-game.release-game .rg-actions > :is(.rg-btn,.rg-btn-secondary), .release-game.release-game .rg-share-actions > :is(.rg-btn,.rg-btn-secondary) { width:100%; }
}
@media (max-width:40rem) {
  .release-game.release-game { --rg-width:calc(100vw - 32px); }
}
@media (prefers-reduced-motion:reduce) {
  .release-game.release-game *, .release-game.release-game *::before, .release-game.release-game *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}

/* V4 illustration belongs to the field; the controls are a compact, readable kit. */
.release-game.release-game[data-rg-theme="zombies"] {
  --rg-night:#203c35; --rg-lamp:#f6d480; --rg-window:#b0ddd2;
}
.release-game.release-game[data-rg-theme="zombies"] .rg-intro-game {
  border:2px solid #36544a; border-radius:12px; background:#203c35;
  box-shadow:inset 0 1px 0 #81a08755,4px 5px 0 #d4c5ac;
}
.release-game.release-game[data-rg-theme="zombies"] .rg-intro-game::before { background:#c9b892bd; }
.release-game.release-game[data-rg-theme="zombies"] .rg-intro-game > strong {
  color:#fff0c5; font-size:clamp(1.5rem,4cqi,2.1rem); letter-spacing:-.035em;
}
.release-game.release-game[data-rg-theme="zombies"] .rg-intro-game .rg-kicker { color:#d3dfca; }
.release-game.release-game[data-rg-theme="zombies"] .rg-intro-art {
  display:block; width:100%; height:auto; aspect-ratio:1; border-radius:8px;
  background:#708b61; box-shadow:0 0 0 1px #162d26,inset 0 0 0 1px #fff3c340;
}
.release-game.release-game[data-rg-theme="zombies"] .rg-intro-steps {
  display:flex; flex-wrap:wrap; gap:.45rem .9rem; margin:1rem 0 0; padding:0;
  list-style:none; counter-reset:rg-intro-step; color:#536450;
  font-size:.8125rem; line-height:1.45; font-weight:650;
}
.release-game.release-game[data-rg-theme="zombies"] .rg-intro-steps > li {
  display:flex; align-items:center; gap:.4rem; counter-increment:rg-intro-step;
}
.release-game.release-game[data-rg-theme="zombies"] .rg-intro-steps > li::before {
  content:counter(rg-intro-step); display:inline-grid; place-items:center;
  flex:none; width:22px; height:22px; border:1px solid #9dada0; border-radius:50%;
  background:#e1e7d7; color:#344c3d; font-size:.75rem; font-weight:800;
}
.release-game.release-game[data-rg-theme="zombies"] .rg-topbar > .rg-kicker {
  color:#334c3d; letter-spacing:.06em; font-size:.8125rem;
}
.release-game.release-game[data-rg-theme="zombies"] .rg-topbar > .rg-kicker::before {
  content:""; display:inline-block; width:7px; height:7px; margin-right:.5rem;
  vertical-align:1px; border-radius:50%; background:#526f49;
}
.release-game.release-game[data-rg-theme="zombies"] .rg-role-note {
  margin-top:.7rem; padding-left:.7rem; border-left:2px solid #7a9373;
  color:#536450; font-size:.875rem; line-height:1.5;
}
.release-game.release-game .rg-board-frame:has(.rg-td[data-theme="zombies"]) {
  border:2px solid #36544a; border-radius:12px; background:#203c35;
  box-shadow:inset 0 1px 0 #81a08755,4px 5px 0 #d3c4ab;
}
.release-game.release-game .rg-board-frame:has(.rg-td[data-theme="zombies"]) > .rg-build-label {
  min-width:0; color:#d2dfc8; letter-spacing:.045em; overflow-wrap:anywhere;
}
.release-game.release-game .rg-td[data-theme="zombies"] {
  --td-ink:#203c35; --td-panel:#2b4b40; --td-rule:#78917a;
  --td-text:#f7f0db; --td-muted:#d0deca; --td-accent:#f6d480;
  --td-mint:#b0ddd2;
}
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-hud {
  gap:6px; margin-bottom:.6rem; padding-bottom:0; border-bottom:0;
}
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-hud > div {
  position:relative; min-height:56px; padding:.35rem .45rem;
  border:1px solid #66806a; border-radius:6px; background:#2b4b40;
  box-shadow:inset 0 1px 0 #a6bc9150;
}
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-hud dt {
  color:#d0deca; font-size:.75rem; line-height:1.4;
}
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-hud dd {
  position:relative; z-index:1; margin-top:.12rem; color:#ffe09b;
  font-size:1.15rem; line-height:1.15; text-shadow:0 1px 0 #172b22;
}
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-hud > div::after {
  content:""; position:absolute; width:16px; height:16px; right:.4rem; bottom:.5rem;
  background:#b0ddd2; opacity:.8; mask:var(--td-hud-icon) center / contain no-repeat;
}
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-hud > div:nth-child(1) {
  --td-hud-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 3 6v6c0 5 5 9 9 11 4-2 9-6 9-11V6z' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M12 7v10M7 12h10' stroke='black' stroke-width='2'/%3E%3C/svg%3E");
}
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-hud > div:nth-child(2) {
  --td-hud-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='15' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M3 10h18M8 5v15m8-15v15M8 2h8' stroke='black' stroke-width='2'/%3E%3C/svg%3E");
}
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-hud > div:nth-child(3) {
  --td-hud-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 5 6 6 6-6m-12 7 6 6 6-6m-12 7 6 6 6-6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-surface {
  border-radius:8px; background:#708b61;
  box-shadow:0 0 0 1px #152d24,0 2px 0 #152d2466;
}
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-enemy::before { display:none; }
.release-game.release-game .rg-td[data-theme="zombies"] :is(.rg-td-enemy > svg,.rg-td-map-pad i > svg) {
  filter:drop-shadow(0 2px 1px #17332955);
}
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-enemy.is-slow > svg { filter:drop-shadow(0 0 3px #9de4ef); }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-map-pad {
  border-color:#a8b483; background:#3d5940;
  box-shadow:inset 0 2px 0 #d2d7a145,0 2px 1px #19332766;
}
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-map-pad[aria-pressed="true"] {
  background:#4d6947; border-color:#ffe09b; box-shadow:0 0 0 2px #f6d48035;
}
.release-game.release-game .rg-td[data-theme="zombies"] :is(.rg-td-pads button,.rg-td-tools button,.rg-td-sell,.rg-td-replay) {
  border:1px solid #728c73; border-radius:6px; background:#2b4b40; color:#e1e9d7;
  box-shadow:inset 0 1px 0 #a6bc912f,0 2px 0 #172e25;
}
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-pads button {
  color:#c6ddd0; gap:.45rem;
}
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-pads button span { color:#e1e9d7; }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-pads button[aria-pressed="true"] {
  border-color:#f6d480; background:#455a3f; color:#ffe09b;
  box-shadow:inset 0 1px 0 #fff1be55,0 2px 0 #172e25;
}
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-selected { border-color:#69856f; }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-selected h4 { color:#fff0c5; }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-purchase {
  position:relative; border:1px solid #78937a; border-radius:8px; background:#2e5144;
  box-shadow:inset 0 1px 0 #b1c59a3d,0 2px 0 #172e25;
}
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-purchase[data-td-action="build"] {
  grid-template-columns:46px minmax(0,1fr) auto; padding:.6rem; gap:.2rem .6rem;
}
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-purchase[data-td-action="build"] .rg-td-tower-mark {
  width:46px; height:50px; border:1px solid #89a180; border-radius:7px;
  background:radial-gradient(ellipse at 45% 40%,#8caa78,#527458);
  box-shadow:inset 0 1px 0 #d7e5be50; overflow:hidden;
}
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-tower-mark > svg { width:100%; height:100%; }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-purchase strong { color:#fff3da; }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-purchase span {
  width:max-content; max-width:100%; padding:.15rem .35rem; border-radius:4px;
  background:#213c30; color:#ffe09b; font-size:.8125rem;
}
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-purchase small { color:#d0deca; font-size:.8125rem; }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-start,
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-challenge {
  border:1px solid #ffe9ab; border-bottom:3px solid #c29849; border-radius:7px;
  background:#f6d480; color:#243b2c; box-shadow:inset 0 1px 0 #fff8d6,0 2px 0 #152d24;
  text-shadow:0 1px 0 #fff0c277;
}
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-start[data-td-action="burst"] {
  border-color:#fbd7a4; border-bottom-color:#a87643; background:#e9b979;
}
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-start:disabled {
  border-color:#78917a; background:#2b4b40; color:#c2d0bd; box-shadow:inset 0 1px 0 #a6bc912f;
  text-shadow:none;
}
.release-game.release-game .rg-td[data-theme="zombies"] :is(.rg-td-purchase,.rg-td-sell,.rg-td-pads button,.rg-td-tools button,.rg-td-replay):not(:disabled):hover {
  border-color:#b0ddd2; background:#365f4d; color:#fff0c5;
}
.release-game.release-game .rg-td[data-theme="zombies"] :is(.rg-td-start,.rg-td-challenge):not(:disabled):hover { background:#ffe3a0; }
.release-game.release-game .rg-td[data-theme="zombies"] button:not(:disabled):active {
  box-shadow:inset 0 2px 3px #172e2550;
}
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-upcoming > strong { color:#d6e8d2; }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-upcoming .rg-td-wave-hint {
  border-color:#9acdc1; color:#c1e4d6;
}
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-guide { color:#ffe2a2; }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-result {
  border:1px solid #d8bc79; border-top:4px solid #f6d480; border-radius:8px;
  background:#2b4b40; box-shadow:inset 0 1px 0 #b1c59a3d,0 3px 0 #152d24;
}
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-result-stats { border-color:#78917a; }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-result-stats dd { color:#fff0c5; }
.release-game.release-game .rg-td[data-theme="zombies"] .rg-td-challenge-url {
  border-radius:6px; border-color:#78917a; background:#18372d;
}
@container rg-board (min-width:34rem) {
  .release-game.release-game .rg-td[data-theme="zombies"] .rg-td-surface { max-width:560px; }
}
@container rg-board (max-width:23rem) {
  .release-game.release-game .rg-td[data-theme="zombies"] .rg-td-purchase[data-td-action="build"] {
    grid-template-columns:46px minmax(0,1fr); gap:.2rem .6rem;
  }
  .release-game.release-game .rg-td[data-theme="zombies"] .rg-td-purchase[data-td-action="build"] strong { grid-column:2; grid-row:1; }
  .release-game.release-game .rg-td[data-theme="zombies"] .rg-td-purchase[data-td-action="build"] span { grid-column:2; grid-row:2; justify-self:start; text-align:left; }
  .release-game.release-game .rg-td[data-theme="zombies"] .rg-td-purchase[data-td-action="build"] small { grid-column:1 / -1; margin-top:.15rem; }
  .release-game.release-game .rg-td[data-theme="zombies"] .rg-td-hud > div::after { width:13px; height:13px; right:.3rem; }
}
@container rg-game (max-width:26rem) {
  .release-game.release-game[data-rg-theme="zombies"] .rg-intro { display:flex; flex-direction:column; align-items:stretch; gap:1.1rem; }
  .release-game.release-game[data-rg-theme="zombies"] .rg-intro-copy { order:0; }
  .release-game.release-game[data-rg-theme="zombies"] .rg-intro-game {
    order:1; display:block; width:100%; max-width:310px; margin:0 auto; padding:.8rem;
    transform:rotate(-1deg);
  }
  .release-game.release-game[data-rg-theme="zombies"] .rg-intro-game > strong { margin:.35rem 0 .7rem; font-size:1.6rem; }
  .release-game.release-game[data-rg-theme="zombies"] .rg-intro-game .rg-kicker { font-size:.65rem; }
  .release-game.release-game[data-rg-theme="zombies"] .rg-intro-art { grid-column:auto; grid-row:auto; }
  .release-game.release-game[data-rg-theme="zombies"] .rg-intro-steps { gap:.4rem .65rem; font-size:.8125rem; }
  .release-game.release-game[data-rg-theme="zombies"] .rg-intro-copy .rg-actions > .rg-btn { width:100%; }
}

/* V5 keeps the player's orders next to the road while the squad holds its positions. */
.release-game.release-game .rg-td[data-active-combat="true"] .rg-td-support {
  min-width:0; margin-top:.5rem; padding:.55rem; border:1px solid #78917a;
  border-radius:8px; background:#28483e; box-shadow:inset 0 1px 0 #adc79835;
}
.release-game.release-game .rg-td-support-heading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:.2rem .4rem; }
.release-game.release-game .rg-td-support-heading > strong { color:#fff0c5; font-size:.875rem; line-height:1.3; }
.release-game.release-game .rg-td-support-heading > span { color:#ffe09b; font-size:.8125rem; line-height:1.3; font-weight:750; font-variant-numeric:tabular-nums; }
.release-game.release-game .rg-td-support-instruction, .release-game.release-game .rg-td-support-note { margin-top:.35rem; color:#d0deca; font-size:.8125rem; line-height:1.4; }
.release-game.release-game .rg-td-sectors { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,4.5em),1fr)); gap:4px; margin-top:.4rem; }
.release-game.release-game .rg-td-sectors > button {
  min-width:0; min-height:44px; padding:.3rem .2rem; border:1px solid #78917a;
  border-radius:5px; background:#203c35; color:#e0ebd9; font-size:.8125rem; line-height:1.2;
}
.release-game.release-game .rg-td-sectors > button[aria-pressed="true"] { border-color:#ffe09b; background:#526042; color:#fff0c5; box-shadow:inset 0 0 0 1px #ffe09b50; }
.release-game.release-game .rg-td-sectors > button[data-flank="true"] { border-color:#ffa777; box-shadow:inset 0 0 0 1px #ffa77770; }
.release-game.release-game .rg-td-support-actions { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,6em),1fr)); gap:5px; margin-top:.35rem; }
.release-game.release-game .rg-td-support-actions > button {
  display:grid; place-content:center; min-width:0; min-height:48px; padding:.3rem;
  border:1px solid #f6ce93; border-bottom-width:3px; border-radius:6px;
  background:#f5ca83; color:#263d2d;
}
.release-game.release-game .rg-td-support-actions > button[data-td-support-kind="cryo"] { border-color:#a9e1e9; background:#a9dce3; color:#1c3b40; }
.release-game.release-game .rg-td-support-actions strong { font-size:.875rem; line-height:1.15; }
.release-game.release-game .rg-td-support-actions small { margin-top:.15rem; font-size:.75rem; line-height:1.2; }
.release-game.release-game .rg-td-support-actions > button:disabled { opacity:1; background:#345047; border-color:#738879; color:#c3d3c5; box-shadow:none; }
.release-game.release-game .rg-td-support-actions > button[data-td-support-kind="grenade"]:disabled { border-color:#bca277; }
.release-game.release-game .rg-td-support-actions > button[data-td-support-kind="cryo"]:disabled { border-color:#80afb9; }
.release-game.release-game .rg-td-support-actions > button:not(:disabled):hover { filter:brightness(1.07); }
.release-game.release-game .rg-td-flank { margin:0 0 .45rem; padding:.45rem .55rem; border:1px solid #ffa777; border-radius:6px; background:#604c35; color:#fff0ce; font-size:.8125rem; line-height:1.4; }
.release-game.release-game .rg-td-flank > :is(strong,span) { display:block; }
.release-game.release-game .rg-td-flank > span { margin-top:.15rem; color:#f5ddbb; }
.release-game.release-game .rg-td-flank[hidden] { display:none; }
.release-game.release-game .rg-td-sector-map { position:absolute; inset:0; pointer-events:none; }
.release-game.release-game .rg-td-sector-marker {
  position:absolute; z-index:2; min-width:44px; min-height:44px; padding:0; transform:translate(-50%,-50%);
  border:1px solid #d5edd8; border-radius:50%; background:#173c32cc; color:#d5edd8;
  font-size:.875rem; font-weight:800; pointer-events:auto;
}
.release-game.release-game .rg-td-sector-marker[aria-pressed="true"] { border-color:#ffe09b; color:#ffe09b; }
.release-game.release-game .rg-td-sector-marker[data-flank="true"] { border:2px solid #ffa777; color:#ffbd95; }
.release-game.release-game .rg-td-flank-marker { position:absolute; z-index:3; padding:2px 4px; transform:translate(-50%,calc(-100% - 13px)); border:1px solid #ffa777; border-radius:4px; background:#4d392e; color:#ffcf99; font-size:.625rem; line-height:1.2; font-style:normal; font-weight:800; }
.release-game.release-game .rg-td-flank-marker::after { content:""; position:absolute; width:8px; height:8px; left:calc(50% - 4px); bottom:-6px; border-right:2px solid #ffa777; border-bottom:2px solid #ffa777; transform:rotate(45deg); }
.release-game.release-game .rg-td-support-aim, .release-game.release-game .rg-td-support-blast {
  position:absolute; aspect-ratio:1; transform:translate(-50%,-50%); border:2px solid #ffc685;
  border-radius:50%; background:#ffc6850b; pointer-events:none;
}
.release-game.release-game .rg-td-support-aim[data-kind="cryo"] { border:1px dashed #9ceaff; background:#9ceaff0a; }
.release-game.release-game .rg-td-support-blast { border-width:3px; background:#ffc68533; box-shadow:0 0 18px #ffcf7855; }
.release-game.release-game .rg-td-support-blast.is-cryo { border-color:#b0eeff; background:#b0eeff22; box-shadow:0 0 18px #b0eeff66; }
.release-game.release-game .rg-td-burst.is-flank-spawn { width:14%; border-color:#ff9d66; background:#ff9d6620; }
.release-game.release-game .rg-td[data-active-combat="true"]:not([data-phase="wave"]) .rg-td-sector-map { display:none; }
.release-game.release-game .rg-td[data-active-combat="true"][data-phase="wave"][data-status="playing"] :is(.rg-td-wave,.rg-td-pads,.rg-td-selected,.rg-td-upcoming,.rg-td-guide,.rg-td-support-instruction,.rg-td-support-note) { display:none; }
.release-game.release-game .rg-td[data-active-combat="true"][data-phase="wave"] .rg-td-map-pad::before { display:none; }
.release-game.release-game .rg-td[data-active-combat="true"][data-phase="wave"] .rg-td-map-pad { opacity:1; }
.release-game.release-game .rg-td[data-active-combat="true"][data-phase="wave"] .rg-td-map-pad > span { visibility:hidden; }
.release-game.release-game .rg-td[data-active-combat="true"] .rg-td-tools { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,4.5em),1fr)); }
.release-game.release-game .rg-td[data-active-combat="true"] .rg-td-tools > button { font-size:.8125rem; padding:.3rem; }
.release-game.release-game .rg-td :is(.rg-td-sectors,.rg-td-support-actions,.rg-td-tools) button { white-space:normal; overflow-wrap:anywhere; }
.release-game.release-game .rg-td-restart-short { display:none; }
@container rg-board (max-width:21rem) {
  .release-game.release-game .rg-td-restart-full { display:none; }
  .release-game.release-game .rg-td-restart-short { display:inline; }
}
@container rg-board (min-width:34rem) {
  .release-game.release-game .rg-td[data-active-combat="true"] .rg-td-flank { grid-column:1 / -1; grid-row:2; margin:0; }
  .release-game.release-game .rg-td[data-active-combat="true"] .rg-td-surface { grid-row:3 / span 5; }
  .release-game.release-game .rg-td[data-active-combat="true"] .rg-td-pads { grid-row:3; }
  .release-game.release-game .rg-td[data-active-combat="true"] .rg-td-selected { grid-row:4; }
  .release-game.release-game .rg-td[data-active-combat="true"] .rg-td-upcoming { grid-row:5; }
  .release-game.release-game .rg-td[data-active-combat="true"] .rg-td-wave { grid-row:6; }
  .release-game.release-game .rg-td[data-active-combat="true"] .rg-td-tools { grid-row:7; }
  .release-game.release-game .rg-td[data-active-combat="true"] .rg-td-support { grid-column:1 / -1; grid-row:8; margin:0; }
  .release-game.release-game .rg-td[data-active-combat="true"] .rg-td-guide { grid-row:9; }
  .release-game.release-game .rg-td[data-active-combat="true"] .rg-td-status { grid-row:10; }
  .release-game.release-game .rg-td[data-active-combat="true"] .rg-td-result { grid-row:11; }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="wave"][data-status="playing"] .rg-td-support { grid-column:2; grid-row:3; }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="wave"][data-status="playing"] .rg-td-tools { grid-row:4; }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="wave"][data-status="playing"] .rg-td-status { grid-column:2; grid-row:5; }
}
@container rg-board (max-width:33.999rem) {
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="wave"][data-status="playing"] .rg-td-surface { width:min(100%,280px); }
  .release-game.release-game .rg-td[data-active-combat="true"] .rg-td-hud > div { min-height:48px; }
  .release-game.release-game .rg-td[data-active-combat="true"] .rg-td-support { padding:.4rem; }
  .release-game.release-game .rg-td[data-active-combat="true"] .rg-td-flank { padding:.35rem .5rem; }
  .release-game.release-game .rg-td[data-active-combat="true"] .rg-td-flank > span { display:none; }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="wave"][data-status="playing"] .rg-td-flank { height:32px; min-height:32px; overflow:hidden; }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="wave"][data-status="playing"] .rg-td-flank > strong { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="wave"][data-status="playing"] .rg-td-flank[hidden] { display:block !important; visibility:hidden; }
}
@media (max-height:40rem) {
  @container rg-board (max-width:33.999rem) {
    .release-game.release-game .rg-td[data-active-combat="true"][data-phase="wave"][data-status="playing"] .rg-td-surface { width:min(100%,190px); }
    .release-game.release-game .rg-td[data-active-combat="true"][data-phase="wave"][data-status="playing"] .rg-td-hud { margin-bottom:4px; }
    .release-game.release-game .rg-td[data-active-combat="true"][data-phase="wave"][data-status="playing"] .rg-td-hud > div { min-height:44px; padding:.25rem .35rem; }
    .release-game.release-game .rg-td[data-active-combat="true"][data-phase="wave"][data-status="playing"] .rg-td-hud dt { font-size:.6875rem; line-height:1.2; }
    .release-game.release-game .rg-td[data-active-combat="true"][data-phase="wave"][data-status="playing"] .rg-td-hud dd { margin-top:.1rem; font-size:1rem; line-height:1.1; }
    .release-game.release-game .rg-td[data-active-combat="true"][data-phase="wave"][data-status="playing"] .rg-td-flank { margin-bottom:4px; }
    .release-game.release-game .rg-td[data-active-combat="true"][data-phase="wave"][data-status="playing"] .rg-td-support { margin-top:4px; padding:4px; }
    .release-game.release-game .rg-td[data-active-combat="true"][data-phase="wave"][data-status="playing"] .rg-td-support-heading { flex-wrap:nowrap; }
    .release-game.release-game .rg-td[data-active-combat="true"][data-phase="wave"][data-status="playing"] .rg-td-support-heading > strong { font-size:.8125rem; white-space:nowrap; }
    .release-game.release-game .rg-td[data-active-combat="true"][data-phase="wave"][data-status="playing"] .rg-td-support-heading > span { font-size:.75rem; white-space:nowrap; }
    .release-game.release-game .rg-td[data-active-combat="true"][data-phase="wave"][data-status="playing"] :is(.rg-td-sectors,.rg-td-support-actions,.rg-td-tools) { margin-top:4px; }
    .release-game.release-game .rg-td[data-active-combat="true"][data-phase="wave"][data-status="playing"] .rg-td-status { margin-top:4px; font-size:.75rem; line-height:1.25; }
  }
}

/* V5 preparation: the selected position and its real prices sit directly under the map. */
.release-game.release-game .rg-td-unit-compact { display:none; }
.release-game.release-game .rg-td-unit-full { font-weight:inherit; }
.release-game.release-game .rg-td[data-active-combat="true"] .rg-td-budget {
  float:right; margin-left:.45rem; padding:.15rem .35rem; border-radius:4px;
  background:#213c30; color:#ffe09b; font-size:.8125rem; line-height:1.3;
  font-weight:750; font-variant-numeric:tabular-nums;
}
.release-game.release-game .rg-td[data-active-combat="true"] :is(.rg-td-unit-details,.rg-td-wave-details) {
  min-width:0; margin-top:.4rem; color:#d0deca; font-size:.8125rem; line-height:1.45;
}
.release-game.release-game .rg-td[data-active-combat="true"] :is(.rg-td-unit-details,.rg-td-wave-details) > summary {
  min-height:44px; padding:.65rem .3rem; cursor:pointer; color:#d6e8d2;
  border-bottom:1px solid #69856f;
}
.release-game.release-game .rg-td[data-active-combat="true"] :is(.rg-td-unit-details,.rg-td-wave-details) p { margin-top:.45rem; }
.release-game.release-game .rg-td[data-active-combat="true"] .rg-td-next-hint { color:#c1e4d6; font-size:.8125rem; line-height:1.35; }
.release-game.release-game .rg-td[data-active-combat="true"] .rg-td-purchase[data-affordable="false"] {
  opacity:1; background:#253e36; border-color:#65796b; color:#b9cbbb; box-shadow:none;
}
.release-game.release-game .rg-td[data-active-combat="true"] .rg-td-purchase[data-affordable="false"] :is(strong,span) { color:#b9cbbb; }
.release-game.release-game .rg-td[data-active-combat="true"][data-phase="wave"][data-status="playing"] :is(.rg-td-unit-details,.rg-td-wave-details) { display:none; }
@container rg-board (min-width:34rem) {
  .release-game.release-game .rg-td[data-active-combat="true"] .rg-td-unit-details { grid-column:1; grid-row:9; margin:0; }
  .release-game.release-game .rg-td[data-active-combat="true"] .rg-td-wave-details { grid-column:2; grid-row:9; margin:0; }
  .release-game.release-game .rg-td[data-active-combat="true"] .rg-td-guide { grid-row:10; }
  .release-game.release-game .rg-td[data-active-combat="true"] .rg-td-status { grid-row:11; }
  .release-game.release-game .rg-td[data-active-combat="true"] .rg-td-result { grid-row:12; }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="wave"][data-status="playing"] .rg-td-status { grid-row:5; }
}
@container rg-board (max-width:33.999rem) {
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="build"] { display:flex; flex-direction:column; }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="build"] .rg-td-hud { order:0; }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="build"] .rg-td-surface { order:1; width:min(100%,250px); }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="build"] .rg-td-selected { order:2; width:100%; margin-top:.4rem; padding-top:.4rem; }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="build"] .rg-td-selected h4 { font-size:.8125rem; line-height:1.35; }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="build"] .rg-td-pad-info { margin-top:.2rem; font-size:.75rem; line-height:1.35; }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="build"] .rg-td-towers { grid-template-columns:repeat(var(--td-unit-count,3),minmax(0,1fr)); gap:4px; margin-top:.35rem; }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="build"] .rg-td-selected[data-occupied="true"] .rg-td-towers { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="build"] .rg-td-purchase[data-td-action="build"] {
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    min-height:60px; padding:.3rem .15rem; gap:.25rem; text-align:center;
  }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="build"] .rg-td-purchase[data-td-action="build"] :is(.rg-td-tower-mark,small,.rg-td-unit-full) { display:none; }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="build"] .rg-td-purchase .rg-td-unit-compact { display:block; font-weight:750; }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="build"] .rg-td-purchase strong { font-size:.8125rem; line-height:1.15; overflow-wrap:anywhere; }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="build"] .rg-td-purchase span { padding:.1rem .25rem; font-size:.75rem; line-height:1.25; white-space:nowrap; }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="build"] :is(.rg-td-purchase[data-td-action="upgrade"],.rg-td-sell) { min-height:44px; padding:.35rem .2rem; font-size:.8125rem; line-height:1.25; }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="build"] .rg-td-upcoming { order:3; margin-top:.4rem; font-size:.8125rem; line-height:1.3; }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="build"] .rg-td-wave { order:4; margin-top:.4rem; }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="build"] .rg-td-start { min-height:44px; padding:.5rem .4rem; }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="build"] .rg-td-pads {
    order:5; display:flex; gap:4px; margin-top:.5rem; padding-bottom:.2rem;
    max-width:100%; overflow-x:auto; scrollbar-width:thin;
  }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="build"] .rg-td-pads > button {
    flex:0 0 44px; min-width:44px; min-height:44px; padding:.3rem; justify-content:center;
  }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="build"] .rg-td-pads > button span { display:none; }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="build"] .rg-td-unit-details { order:6; }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="build"] .rg-td-wave-details { order:7; }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="build"] .rg-td-tools { order:8; }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="build"] :is(.rg-td-support,.rg-td-guide) { display:none; }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="build"] .rg-td-status { order:9; }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="build"] .rg-td-result { order:10; }
  .release-game.release-game .rg-td[data-active-combat="true"][data-phase="build"] .rg-td-map-pad { min-width:44px; min-height:44px; }
}
@media (max-height:40rem) {
  @container rg-board (max-width:33.999rem) {
    .release-game.release-game .rg-td[data-active-combat="true"][data-phase="build"] .rg-td-surface { width:min(100%,220px); }
  }
}

.release-game.release-game .rg-author-checks { margin-top:.65rem; font-size:.9375rem; line-height:1.45; }
.release-game.release-game .rg-author-checks p + p { margin-top:.4rem; }
.release-game.release-game [data-rg-live-check]:empty { display:none; }
