:root{color-scheme:dark;font-family:"Noto Sans CJK SC",system-ui,sans-serif;background:#0d1114;color:#f3e6c9;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center}button,input{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.48;cursor:default}button:focus-visible,input:focus-visible{outline:2px solid #ffda72;outline-offset:4px}#stage{position:relative;width:min(100vw,177.777vh);aspect-ratio:16/9;overflow:hidden;container-type:inline-size;background:#12171b}#unity,#hotspots,#hud,#loading{position:absolute;inset:0;width:100%;height:100%}#unity{pointer-events:none;display:block}#hud{pointer-events:none}#hud>*{pointer-events:auto}#hotspots{pointer-events:none}#hotspots button{position:absolute;background:transparent;border:0;border-radius:40%;pointer-events:auto}#hotspots button:focus-visible{outline:2px solid #ffdc85}#loading{display:grid;place-items:center;background:#151a20;z-index:9}#loading[hidden]{display:none}footer{display:flex;gap:18px;align-items:center;justify-content:center;padding:9px;font-size:12px;flex-wrap:wrap;color:#ccbfa6}footer button{border:1px solid #807355;background:#252b2d;border-radius:6px;padding:5px 12px}.panel{position:absolute;left:28%;top:22%;width:47%;max-height:72%;overflow:auto;padding:2.2cqw;border:1px solid #c9ad70a8;border-radius:16px;background:linear-gradient(120deg,#3f2d22ee,#2f221be8);box-shadow:0 10px 36px #0006;backdrop-filter:blur(12px);font-size:1.35cqw}.panel h1,.panel h2{font-size:2.2cqw;margin:0 0 1cqw;color:#f0d79b}.panel p{line-height:1.6;margin:.7cqw 0}.panel input{width:100%;border:1px solid #a78e62;border-radius:6px;background:#101719b0;color:#fff3d3;padding:.8cqw;margin:.6cqw 0}.actions{display:flex;gap:.7cqw;align-items:center;flex-wrap:wrap;margin-top:1cqw}.gold{background:#6f553b url('./gold-face.png') center/100% 100% no-repeat;border:0;border-radius:999px;min-height:3.5cqw;min-width:9.5cqw;padding:.6cqw 1.2cqw;color:#3e281b;font-weight:850;text-shadow:0 1px #fff2ce;box-shadow:0 2px 8px #0004}.quiet{border:1px solid #bca77788;border-radius:7px;background:#493427d9;padding:.65cqw 1cqw}.room-code{font-size:2.5cqw;letter-spacing:.16em;color:#ffda83}.note{color:#cbbd9c;font-size:1.12cqw}.status{position:absolute;top:17%;left:28%;width:47%;text-align:center;padding:.6cqw;border-radius:8px;background:#463124dc;border:1px solid #b4a07888;font-size:1.3cqw}.player-name{position:absolute;background:#483427e8;border:1px solid #9c8958;border-radius:8px;padding:.3cqw .7cqw;font-size:1.2cqw}.player-name.own{left:3%;top:84%}.player-name.other{left:3%;top:5%}.hand{position:absolute;left:34.375%;width:34.375%;height:12.45%;display:grid;grid-template-columns:repeat(5,1fr);gap:.7%}.hand.own{top:83.33%;height:13.9%}.hand.other{top:3.33%}.card{position:relative;padding:0;border:0;background:transparent;display:grid;place-items:center;min-width:0;overflow:visible}.card img{height:100%;max-width:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 2px 3px #0007)}.card.selected{filter:drop-shadow(0 0 5px #ffea9d);transform:translateY(-8%)}.card.used{opacity:.2;pointer-events:none}.back{height:100%;aspect-ratio:2/3;border:2px solid #b9914c;border-radius:7px;background:repeating-linear-gradient(45deg,#30291e 0 3px,#4b3e29 3px 5px);box-shadow:inset 0 0 0 4px #171d20,inset 0 0 0 5px #b9914c}.card small{position:absolute;bottom:0;padding:1px 4px;background:#152126d9;border-radius:4px;font-size:.7cqw}.result-count{position:absolute;right:21%;bottom:2%;padding:.3cqw .6cqw;background:#161c21d9;border:1px solid #ad9459;border-radius:8px;font-size:1.1cqw}.cl-root{z-index:30}.cl-tray-note{color:#dfd0ac}.reveal-pair{display:flex;justify-content:center;align-items:center;gap:2cqw}.reveal-pair img{height:14cqw;max-width:14cqw;object-fit:contain;animation:reveal .35s ease-out}.reveal-pair b{font-size:2.8cqw;color:#f6c567}.result-list{display:grid;gap:.5cqw;max-height:18cqw;overflow:auto}.result-line{display:flex;gap:.8cqw;align-items:center;padding:.4cqw;background:#443023;border-bottom:1px solid #8a754533}.result-line img{height:4.3cqw}.toast{position:absolute;bottom:17%;left:28%;width:47%;padding:.8cqw;background:#251c16ee;border:1px solid #e7b975;text-align:center;border-radius:8px;font-size:1.3cqw}.modal-back{position:fixed;inset:0;background:#050a10c9;display:grid;place-items:center;z-index:40}.modal{width:min(700px,90vw);max-height:85vh;overflow:auto;background:#463226;border:1px solid #c3a56c;border-radius:16px;padding:26px;line-height:1.8}.modal .gold{font-size:16px;min-height:44px}.modal h2{margin:0 0 12px;color:#edd29a}.bad{color:#f9b88c}@keyframes reveal{from{opacity:0;transform:scale(.7) rotateY(90deg)}to{opacity:1;transform:none}}@media(max-width:600px){footer{font-size:10px;gap:8px}#stage{width:100vw}.panel{font-size:1.8cqw;width:57%;left:24%;top:20%}.panel h1{font-size:2.8cqw}.note{font-size:1.5cqw}.gold{min-height:5cqw;font-size:1.8cqw}}
/* Fit the entire game and its small local-test status bar without scrollbars. */
body{height:100dvh;min-height:0;overflow:hidden}#stage{flex:0 0 auto;width:min(100vw,calc((100dvh - 42px)*16/9))}footer{height:42px;flex:0 0 42px;max-width:100%;padding:4px 8px;overflow:auto;flex-wrap:nowrap;white-space:nowrap}
/* Mirror the engine's measured896×414 viewport and authored1600×900 safe stage.
   The interaction layer follows this transform, rather than the window bounds. */
#stage{aspect-ratio:896/414;width:min(100vw,calc((100dvh - 42px)*896/414))}#safe{position:absolute;container-type:inline-size;pointer-events:none}#safe #hud,#safe #hotspots{position:absolute;inset:0}
.hand .back{position:absolute;top:0;left:50%;height:100%;width:auto;aspect-ratio:2/3;display:block;transform:translateX(-50%)}.player-name.other{left:2.1875%;top:13.7%;width:17.1875%;text-align:center;border:0}.player-name.own{left:2.1875%;top:95.5%;width:16.875%;text-align:center;border:0}
.auth-panel{top:7%;left:26%;width:48%;max-height:90%;padding:2cqw 2.5cqw;background:linear-gradient(125deg,#4c3527f7,#1a1816f5);box-shadow:0 20px 60px #0008}.eyebrow{font-size:.9cqw;letter-spacing:.24em;color:#cdb17c}.auth-panel h1{margin-top:.5cqw}.terms{display:flex;gap:.6cqw;align-items:flex-start;font-size:1.05cqw;line-height:1.6;margin:.5cqw 0}.terms input{width:1.2cqw;height:1.2cqw;flex-shrink:0;accent-color:#dbb66c}.form-error{color:#ffc29e;min-height:1em}.pack-preview{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.pack-preview>div{border:1px solid #ad8d56;border-radius:10px;padding:15px 5px;display:grid;text-align:center;background:linear-gradient(145deg,#554329,#3b2a20)}.pack-preview b{font-size:30px;color:#ebce8e}.pack-preview span{font-size:11px}.modal input{display:block;width:100%;padding:12px;border:1px solid #ad8d56;border-radius:7px;background:#111b1f;color:#fff}.history-list p{border-bottom:1px solid #a98c5544;padding:10px 0}
.form-hint{margin:.3cqw 0 .8cqw;color:#d4c8ad;font-size:1.05cqw;line-height:1.5}

.toast{pointer-events:none;bottom:2%}

.first-steps{padding-left:1.5em;line-height:1.8}.first-steps li{margin-bottom:.7em}



.trial-timer{position:absolute;right:2%;top:2%;padding:8px 14px;border:1px solid #b69a59;border-radius:8px;background:#3e2b20ed;color:#ffe3a0;font-size:24px}
.trial-result{position:absolute;left:20%;right:20%;bottom:10%;text-align:center;padding:10px;background:#3e2b20ed;color:#ffe3a0}
#trial-skills{display:flex;flex-direction:column;gap:10px;max-height:60vh;overflow:auto}
#trial-skills label{display:flex;gap:10px;align-items:center}#trial-skills input{width:auto}#trial-skills select{font:inherit;background:#3f2d22;color:#f3dfb1;padding:8px}

/* R77: player pages contain no external debug/status footer. */
footer{display:none}#stage{width:min(100vw,calc(100dvh*896/414))}.scout-actions{position:absolute;right:2%;top:20%;display:flex;gap:5px;flex-wrap:wrap;max-width:20%}.fusion-odds p{display:flex;justify-content:space-between;border-bottom:1px solid #a38b5033;margin:0;padding:3px 0}
/* R78 player states: one deliberate surface, a single primary action. */
.player-screen{position:absolute;color:#e7dcc4;background:linear-gradient(120deg,#483326fa,#2e211afa);border:1px solid #b99b5c66;box-shadow:0 18px 50px #0008;font-size:clamp(12px,1.2cqw,18px);padding:3%;border-radius:12px;overflow:auto}.player-screen h1{font-size:clamp(22px,2.5cqw,38px);margin:7px 0 14px;color:#ead0a0;line-height:1.3}.player-screen h2{font-size:clamp(18px,2cqw,30px);color:#ddc18b;margin:8px 0}.player-screen p{line-height:1.7;color:#bdae91}.player-screen .gold,.player-screen .quiet{font:inherit;min-height:42px;padding:10px 24px;min-width:150px}.player-screen .gold{font-weight:750}.player-screen .quiet{min-width:0}.player-screen .actions{justify-content:center;gap:12px;margin-top:18px}.player-screen .note{font-size:.85em}.player-lobby{inset:6% 12%;display:flex;flex-direction:column;padding:3% 4%}.player-lobby-header{display:flex;justify-content:space-between;gap:25px;align-items:flex-start}.player-room-code{display:flex;flex-direction:column;gap:8px;text-align:right;color:#a89a7d;font-size:.8em}.player-room-code strong{font-size:2em;letter-spacing:.16em;color:#e9cd93;font-variant-numeric:tabular-nums}.player-versus{display:grid;grid-template-columns:1fr auto 1fr;gap:28px;align-items:center;flex:1;min-height:140px;margin:10px 0}.player-versus article{text-align:center;padding:22px;border-top:1px solid #bd9d5d55;border-bottom:1px solid #bd9d5d55;background:#38372b22}.player-seat-label{font-size:.8em;color:#998866}.player-versus article.is-empty{border-style:dashed;color:#9e9685}.player-versus article.is-empty h2{color:#b5a88b;font-weight:500}.player-versus article p{font-size:.8em}.player-versus-mark{font:italic 700 2.5em Georgia,serif;color:#9d7748}.player-lobby-action{text-align:center;border-top:1px solid #b99b5c33;padding-top:10px}.player-lobby-action>p{font-size:.9em;margin:4px 0}.player-prepare{left:25%;right:25%;top:20%;text-align:center;max-height:65%}.player-readiness{display:flex;justify-content:center;gap:24px;font-size:.88em;margin:20px 0;color:#b5a78b}.player-readiness .is-ready{color:#bacf9d}.player-dice{left:30%;right:30%;top:20%;text-align:center;max-height:70%}.player-dice-scores{display:flex;justify-content:center;align-items:center;gap:30px;margin:20px 0}.player-dice-scores>div{display:flex;flex-direction:column;gap:8px}.player-dice-scores>div>span{font-size:.8em;color:#ad9d7c}.player-dice-scores b{display:grid;place-items:center;width:75px;height:75px;font:700 42px Georgia,serif;color:#f0d19b;border:1px solid #b5965855;border-radius:8px;background:#333326}.player-collision{left:28%;right:28%;top:17%;text-align:center;max-height:75%}.player-reveal{display:flex;justify-content:center;align-items:center;gap:24px;margin:20px 0}.player-reveal>div{display:flex;flex-direction:column;gap:10px;align-items:center}.player-reveal img{height:clamp(100px,15cqw,230px);max-width:100%;object-fit:contain}.player-reveal>div>span{font-size:.8em;color:#aa9a7a}.player-reveal>b{font-size:2.2em;color:#ddbc7c}.player-results{inset:5% 18%;display:flex;flex-direction:column;padding:3%}.player-results-header{display:flex;gap:20px;justify-content:space-between;align-items:center}.player-result-totals{display:flex;gap:25px;align-items:center}.player-result-totals>span{display:flex;flex-direction:column;text-align:center;font-size:.85em;color:#a99b7d;gap:4px}.player-result-totals b{font-size:2.4em;font-weight:600;color:#e8ce9a}.player-rounds{display:grid;grid-template-columns:repeat(5,1fr);padding:15px 0;list-style:none;overflow:auto;flex:1;gap:12px;align-items:center;min-height:0}.player-rounds li{display:flex;min-width:0}.player-rounds li>button{display:grid;grid-template-columns:1fr auto 1fr;width:100%;font:inherit;color:inherit;cursor:pointer;grid-template-columns:1fr auto 1fr;gap:6px;align-items:center;text-align:center;padding:12px 8px;background:#33312644;border:1px solid #b99b5c22;border-radius:5px}.player-round-no{grid-column:1/-1;font-size:.8em;color:#9c8d70}.player-rounds img{width:100%;object-fit:contain;min-width:0}.player-rounds strong{font-size:1.2em}.player-rounds .is-win{color:#e6cb87}.player-rounds .is-loss{color:#bf947c}.player-rounds .is-draw{color:#b6b7a8}.player-rounds li>button>span:last-child{grid-column:1/-1;font-size:.75em;color:#9f9277}.player-results-actions{border-top:1px solid #b99b5c33;padding-top:16px;text-align:center}.player-results-actions .actions{margin-top:10px}.modal-back{background:#060909cc;backdrop-filter:blur(6px)}.modal{background:linear-gradient(120deg,#4b3527,#30221a);border:1px solid #ba9d64aa;border-radius:10px;color:#e2d4b9;padding:26px;box-shadow:0 20px 60px #000a}.modal h2{font-size:24px;font-weight:650;color:#e7c58c}.modal .gold{color:#422a1b;text-shadow:0 1px #fff2cb;font-weight:750}.modal .quiet{font-size:14px;min-height:40px}.modal p{font-size:15px;line-height:1.8}.modal [data-close-dialog]{margin-top:20px}.modal-back button:focus-visible{outline:2px solid #f2d187;outline-offset:4px}
@media(max-width:950px){.player-lobby{inset:4% 9%;padding:3%}.player-lobby-header h1{font-size:23px}.player-versus{gap:18px;min-height:110px}.player-versus article{padding:12px}.player-versus article h2{font-size:21px}.player-lobby-action{padding-top:6px}.player-lobby-action .actions{margin-top:8px}.player-prepare{left:20%;right:20%;top:15%;max-height:78%}.player-dice{left:25%;right:25%;top:12%;max-height:82%}.player-dice-scores{margin:12px 0}.player-dice-scores b{width:54px;height:54px;font-size:32px}.player-results{inset:3% 9%}.player-result-totals{gap:18px}.player-rounds{gap:8px}.player-rounds li>button{padding:8px 4px}.player-collision{left:24%;right:24%;top:8%;max-height:88%}.player-reveal{margin:12px 0}}
@media(max-width:620px){.player-lobby{inset:3%}.player-lobby-header{flex-direction:column;gap:10px}.player-room-code{text-align:left;flex-direction:row;align-items:center;gap:15px}.player-lobby-header h1{font-size:22px}.player-versus{gap:10px}.player-versus article{padding:12px 6px}.player-versus article h2{font-size:17px}.player-versus-mark{font-size:1.5em}.player-lobby .actions{flex-wrap:wrap}.player-prepare,.player-dice,.player-collision{left:4%;right:4%}.player-results{inset:3%}.player-rounds{grid-template-columns:repeat(3,1fr)}.player-results-header h1{font-size:22px}.player-result-totals{gap:12px}}

.player-rounds{scrollbar-width:thin;scrollbar-color:#927b4b #241a15}.player-round-detail-content{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;margin:20px 0}.player-round-detail-content>div{display:flex;flex-direction:column;gap:10px;text-align:center;color:#b6a684;font-size:13px}.player-round-detail-content img{height:min(36vh,300px);width:100%;object-fit:contain}.player-round-detail-content>strong{color:#e6c18a;font-size:20px}

/* R81: only the two upper-right utilities use plain text. */
#hotspots .utility-text-controls{position:absolute;display:flex;align-items:center;gap:clamp(10px,1cqw,18px);pointer-events:auto;color:#f2e1c3;font-size:clamp(14px,1.5cqw,22px);line-height:1.3;white-space:nowrap;text-shadow:0 1px 3px #000b}
#hotspots .utility-text-controls>span,#hotspots .utility-text-controls>button{position:static;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:40px;padding:0 2px;border:0;border-radius:0;background:none;box-shadow:none;color:inherit;font:inherit;text-shadow:inherit}
#hotspots .utility-text-controls>button:hover{text-decoration:underline;text-underline-offset:4px}
/* R82: restore the retained skull intro, driven by actual Unity progress. */
#loading{position:fixed;inset:0;width:100%;height:100%;height:100dvh;z-index:2147483647;display:grid;align-content:center;justify-items:center;box-sizing:border-box;padding:max(16px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}
#loading[hidden]{display:none!important}
/* Restore the original mobile shell's borderless skull introduction. */
#loading {
  padding: 24px;
  background:
    radial-gradient(circle at 50% 45%, rgba(194, 58, 14, 0.18), transparent 38%),
    linear-gradient(145deg, #0c0806, #050403 70%);
  font-family: "Arial Narrow", "Roboto Condensed", system-ui, sans-serif;
  letter-spacing: normal;
}

#loading::before {
  background: repeating-linear-gradient(115deg, transparent 0 18px, rgba(255, 116, 40, 0.05) 19px 20px);
  opacity: 0.24;
  mix-blend-mode: normal;
  animation: none;
}

#loading::after,
#loading .loading-embers { display: none; }

#loading .loading-panel {
  display: grid;
  width: 100%;
  justify-self: center;
  justify-items: center;
  gap: 10px;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  text-align: center;
  clip-path: none;
}

#loading .loading-skull {
  width: min(30vw, 49vh, 220px);
  margin: 0;
  transform: none;
  filter: drop-shadow(0 16px 26px rgba(0, 0, 0, 0.7)) drop-shadow(0 0 18px rgba(234, 82, 21, 0.25));
}

#loading .loading-kicker {
  margin: 0;
  color: #d9873f;
  font: 800 clamp(10px, 1.5vw, 14px)/1.3 "Arial Narrow", "Roboto Condensed", system-ui, sans-serif;
  letter-spacing: 0.28em;
}

#loading .loading-panel b {
  margin: 0;
  color: #eee1cf;
  font-size: clamp(24px, 4vw, 46px);
  line-height: 1.2;
  letter-spacing: 0.05em;
  text-shadow: none;
}

#loading .loading-readout {
  width: min(36vw, 280px);
  margin: 4px 0 -4px;
  font-size: 9px;
  letter-spacing: 0.12em;
}

#loading .loading-readout output {
  font-size: 12px;
  text-shadow: none;
}

#loading .loading-track {
  width: min(36vw, 280px);
  height: 3px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: #2c1b14;
  box-shadow: none;
  transform: none;
}

#loading .loading-track i {
  background: linear-gradient(90deg, #ad421a, #ff7227, #ffd18c);
  box-shadow: none;
}

/* Renderer diagnostics stay accessible without crowding the game screen. */
#loading .loading-panel small {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

@media (max-height: 400px) {
  #loading { padding: 12px 24px; }
  #loading .loading-panel { gap: 7px; }
  #loading .loading-panel b { font-size: clamp(24px, 3.5vw, 38px); }
}

#loading .loading-readout{display:flex;justify-content:space-between;color:#dbb38b}
#loading .loading-track i{display:block;width:0;height:100%;transition:width .16s}
#loading #loading-message{max-width:min(84vw,600px);margin:7px 0 0;color:#c1a58f;font-size:clamp(12px,1.2vw,15px);line-height:1.5}
#orientation-hint{display:none;margin:8px 0 0;color:#e4bc8a;font-size:14px;line-height:1.5}
@media(max-height:550px) and (orientation:landscape){#loading .loading-skull{width:min(27vw,32dvh,180px)}#loading .loading-panel{gap:5px}#loading .loading-panel b{font-size:clamp(22px,3.5vw,38px)}}
/* Landscape remains mandatory; rotation resumes without an entry button. */
@media(orientation:portrait){.landscape-only body>:not(#loading),.landscape-only body>:not(#loading) *{visibility:hidden!important;pointer-events:none!important}.landscape-only #loading[hidden]{display:grid!important}.landscape-only #orientation-hint{display:block}.landscape-only #loading .loading-readout,.landscape-only #loading .loading-track{width:min(72vw,280px)}}
@media(prefers-reduced-motion:reduce){#loading .loading-track i{transition:none}}

/* R116: keep development labels out of review; only selection previews are passive.
   A real game must retain visible authentication, dialogs and battle controls. */
/* The transparent hand containers cross the result buttons. Only an available
   card is a hit target; retired hands must not intercept Rematch or Back. */
#hud>.hand{pointer-events:none}
#hud>.hand .card:not(:disabled){pointer-events:auto}
#hud>.player-name,#hud>.result-count{pointer-events:none}
html[data-visual-review="true"] .fusion108-heading,
html[data-visual-review="true"] .fusion108-status,
html[data-visual-review="true"] .fusion108-asset-status,
html[data-visual-review="true"] .cl-info-hint,
html[data-visual-review="true"] .cl-info-sub,
html[data-visual-review="true"] .cl-deck-hint,
html[data-visual-review="true"] .cl-tray-note{display:none!important}
html[data-visual-review="true"][data-functional-ui="false"] .fusion108-tray,
html[data-visual-review="true"][data-functional-ui="false"] .fusion108-picker,
html[data-visual-review="true"][data-functional-ui="false"] .fusion108-output>strong,
html[data-visual-review="true"][data-functional-ui="false"] .fusion108-output>.gold,
html[data-visual-review="true"][data-functional-ui="false"] #journey-workspace:not(.fusion108-workspace):not([data-page="vip"]),
html[data-visual-review="true"][data-functional-ui="false"] .player-screen,
html[data-visual-review="true"][data-functional-ui="false"] #hud>.panel,
html[data-visual-review="true"][data-functional-ui="false"] #hud>.status,
html[data-visual-review="true"][data-functional-ui="false"] .result-count,
html[data-visual-review="true"][data-functional-ui="false"] .player-name,
html[data-visual-review="true"][data-functional-ui="false"] #dialog,
html[data-visual-review="true"][data-functional-ui="false"] .cl-tools [data-sound],
html[data-visual-review="true"][data-functional-ui="false"] .cl-tools [data-fullscreen],
html[data-visual-review="true"][data-functional-ui="false"] .cl-arrow,
html[data-visual-review="true"][data-functional-ui="false"] .cl-add-card{display:none!important}

/* R122 selected A: exact dark flat lettering, licensed regular-width bold. */
@font-face{font-family:FrayrushEnglish122;src:url("./english-button-r122.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
html[lang="en"] button.gold,html[lang="en"] .fusion108-submit button{font-family:FrayrushEnglish122,Arial,sans-serif;font-weight:700;color:#422918;text-shadow:none;text-transform:none}

/* R128: keep the existing return action visible; only the dialog body scrolls.
   The DOM and editor node identities are unchanged. */
.modal{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr);column-gap:16px;row-gap:12px;max-height:calc(100dvh - 24px);padding:clamp(12px,2.2dvh,26px);overflow:hidden}
.modal>h2{grid-column:1;grid-row:1;align-self:center;margin:0;min-width:0;line-height:1.3}
.modal>div{grid-column:1/-1;grid-row:2;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 4px 4px;scroll-padding:8px}
.modal>[data-close-dialog]{grid-column:2;grid-row:1;align-self:start;margin:0;min-height:44px;min-width:88px;padding:8px 18px;font-size:16px}
.modal .pack-preview>div{padding:8px 4px}
.modal .pack-preview b{font-size:26px;line-height:1.4}
.modal .pack-preview span{line-height:1.4}
.modal>.pack-preview{overflow:visible}
@media(max-height:430px){.modal>div>p{margin:8px 0;line-height:1.5}.modal .actions{margin-top:8px}.modal .pack-preview{gap:8px}}

/* R177: registration alone uses the approved design canvas; other scene layouts stay intact. */
#stage[data-design-canvas="1844x853"]{aspect-ratio:1844/853;width:min(100vw,calc(100dvh*1844/853))}
