:root { color-scheme: light; --ink:#26364a; --muted:#637188; --paper:#fbfaf4; --line:#d5dfdc; --mint:#dff1e9; --night:#263654; --gold:#e4a34e; --berry:#a56b9e; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
html, body { margin:0; min-height:100%; }
body { background:linear-gradient(145deg,#f5f0e5 0%,#e8f1ee 58%,#eef6f1 100%); color:var(--ink); font-family:ui-rounded,"Avenir Next",system-ui,sans-serif; }
button, select { font:inherit; }
button { cursor:pointer; }
.guide-shell { width:min(920px,calc(100% - 28px)); margin:0 auto; padding:18px 0 28px; }
.topbar { min-height:74px; display:grid; grid-template-columns:120px 1fr 150px; align-items:center; gap:14px; }
.title-block { min-width:0; }
.title-block h1 { margin:0; font-size:clamp(26px,4vw,42px); letter-spacing:-.045em; }
.eyebrow, .guide-badge, .role-kicker { margin:0 0 4px; color:#52786d; font-size:12px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.back-link { color:var(--ink); font-weight:900; text-decoration:none; min-height:48px; display:flex; align-items:center; gap:6px; }
.locale-picker { display:grid; gap:4px; color:var(--muted); font-size:12px; font-weight:800; }
.locale-picker select { min-height:42px; border:1px solid var(--line); border-radius:12px; padding:0 8px; background:#fff; color:var(--ink); }
.screen { margin-top:20px; }
.hero-card, .coop-card, .result-card, .guide-card, .promise-grid article { border:1px solid rgba(82,120,109,.22); border-radius:24px; background:rgba(255,255,255,.84); box-shadow:0 14px 34px rgba(70,82,63,.12); }
.hero-card { min-height:420px; padding:clamp(24px,5vw,60px); display:grid; grid-template-columns:minmax(300px,420px) minmax(0,1fr); gap:26px; align-items:center; }
.hero-copy h2 { margin:10px 0 14px; max-width:580px; font-size:clamp(30px,6vw,56px); line-height:1.02; letter-spacing:-.055em; }
.hero-copy p:not(.guide-badge):not(.solo-note) { max-width:520px; color:var(--muted); font-size:18px; line-height:1.5; }
.solo-note { margin:16px 0 0; color:#52786d; font-size:13px; font-weight:800; line-height:1.45; }
.lantern-art { grid-column:1; justify-self:center; position:relative; width:100%; max-width:420px; aspect-ratio:1; border-radius:44% 56% 48% 52%; overflow:hidden; background:radial-gradient(circle at 50% 42%,#ffe3a3 0 7%,#f3bd64 8% 18%,transparent 19%), radial-gradient(circle at 50% 48%,rgba(255,213,123,.48),transparent 45%), linear-gradient(160deg,#30486c,#1f2d4d); box-shadow:inset 0 0 0 10px rgba(255,255,255,.12),0 18px 30px rgba(38,54,84,.2); }
.hero-copy { grid-column:2; }
.lantern-glow { position:absolute; inset:24% 25%; border-radius:50%; background:rgba(255,222,143,.2); filter:blur(12px); }
.lantern-top { position:absolute; left:37%; top:23%; width:26%; height:8%; border-radius:50% 50% 20% 20%; background:#d89142; box-shadow:0 5px 0 #a96835; }
.lantern-body { position:absolute; left:34%; top:29%; width:32%; height:35%; display:grid; place-items:center; border:5px solid #e9aa51; border-radius:22% 22% 30% 30%; color:#fff2bd; font-size:38px; background:linear-gradient(90deg,rgba(226,151,60,.76),rgba(255,225,151,.72),rgba(226,151,60,.76)); box-shadow:0 0 28px rgba(255,206,105,.68); }
.trail-dot { position:absolute; color:#91ccb4; font-size:22px; text-shadow:0 0 10px rgba(145,204,180,.6); }.dot-one{left:22%;bottom:23%}.dot-two{left:45%;bottom:14%}.dot-three{right:20%;bottom:26%}
.primary, .secondary { min-height:52px; border-radius:14px; padding:0 22px; border:1px solid transparent; font-weight:900; }
.primary { background:var(--gold); color:#fff; box-shadow:0 5px 0 #b87832; }.primary:active { transform:translateY(2px); box-shadow:0 3px 0 #b87832; }.primary:disabled { cursor:not-allowed; opacity:.45; box-shadow:none; }
.secondary { background:#fff; color:var(--ink); border-color:var(--line); }
.promise-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:14px; }.promise-grid article{padding:18px 20px}.promise-icon{display:block;color:#b87832;font-size:26px}.promise-grid h3{margin:6px 0 5px}.promise-grid p{margin:0;color:var(--muted);line-height:1.45;font-size:14px}
.guide-card { margin-top:14px; padding:18px 22px; }.guide-card summary{cursor:pointer;font-weight:900}.guide-card p{color:var(--muted);line-height:1.5}
.best-line { min-height:22px; margin:14px 4px 0; color:#52786d; font-weight:900; }
.back-link:focus-visible, .locale-picker select:focus-visible, .primary:focus-visible, .secondary:focus-visible, .text-button:focus-visible { outline:3px solid rgba(228,163,78,.38); outline-offset:3px; }
.status-row { display:flex; justify-content:space-between; gap:12px; color:#52786d; font-weight:900; }.coop-card{padding:clamp(20px,4vw,40px)}.scene-head{text-align:center}.scene-head h2{margin:8px 0 5px;font-size:clamp(28px,5vw,46px);letter-spacing:-.045em}.scene-hint{margin:0 auto 24px;color:var(--muted);line-height:1.45}.role-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.role-card{padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}.scout-card{background:linear-gradient(155deg,#fffaf1,#fff)}.guide-card-panel{background:linear-gradient(155deg,#f4fbf7,#fff)}.role-card h3{margin:4px 0 7px;font-size:22px}.role-card p:not(.role-kicker):not(.role-state){margin:0;color:var(--muted);line-height:1.45}.symbol-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}.symbol-button{min-height:104px;display:grid;place-items:center;align-content:center;gap:7px;border:2px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font-weight:900}.symbol-button:hover:not(:disabled),.symbol-button:focus-visible{border-color:var(--gold);outline:3px solid rgba(228,163,78,.18)}.symbol-button:disabled{cursor:not-allowed;opacity:.45;background:#f3f5f2}.symbol-glyph{font-size:30px;color:#bb7c37}.role-state{min-height:24px;margin:13px 0 0;color:#52786d;font-size:13px;font-weight:900}.feedback{min-height:30px;margin:20px 0 4px;text-align:center;color:#9b5a63;font-weight:900}.feedback.is-good{color:#3e8f67}.text-button{min-height:44px;border:0;background:transparent;color:var(--muted);text-decoration:underline;font-weight:900}.result-screen{display:grid;place-items:center}.result-card{width:min(640px,100%);padding:clamp(24px,5vw,52px);text-align:center}.result-card h2{margin:8px 0 12px;font-size:clamp(30px,6vw,50px);letter-spacing:-.05em}.result-card p:not(.guide-badge){color:var(--muted);font-size:18px;line-height:1.5}.result-stats{display:flex;justify-content:center;gap:22px;margin:24px 0;color:#52786d;font-weight:900}.result-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}footer{margin-top:22px;color:#728072;font-size:12px;text-align:center}
@media (min-width:701px) and (max-width:1023px){.hero-card{grid-template-columns:420px minmax(0,1fr)}.lantern-art{width:420px}}
@media (max-width:700px){.guide-shell{width:min(100% - 20px,560px);padding-top:10px}.topbar{grid-template-columns:1fr auto;gap:8px}.title-block{grid-column:1 / -1;grid-row:1;padding:0 56px;text-align:center}.back-link{grid-column:1;grid-row:1;z-index:1}.locale-picker{grid-column:2;grid-row:1;z-index:1}.locale-picker span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.hero-card{min-height:0;grid-template-columns:1fr;padding:25px 20px}.lantern-art{width:100%;max-width:420px;grid-column:1;grid-row:1}.hero-copy{grid-column:1;grid-row:2}.hero-copy h2{font-size:36px}.hero-copy p:not(.guide-badge):not(.solo-note){font-size:16px}.promise-grid{grid-template-columns:1fr}.promise-grid article{display:grid;grid-template-columns:38px 1fr;column-gap:10px}.promise-grid p{grid-column:2}.role-grid{grid-template-columns:1fr}.role-card{padding:17px}.symbol-button{min-height:88px}.result-stats{flex-direction:column;gap:8px}}
[dir="rtl"] .back-link { flex-direction:row-reverse; }

/* Interface V6 shared shell: keep the prototype's soft co-op treatment while
   exposing the same Main/Battle geometry used by governed validators. */
body { overflow-x:hidden; }
.main-screen { width:min(920px,calc(100% - 28px)); margin:0 auto; padding:18px 0 28px; }
.wp-main-shell-header { min-height:48px; display:grid; grid-template-columns:58px 1fr 48px; align-items:center; gap:14px; }
.wp-shell-return { width:58px; height:48px; justify-content:center; padding:0; border-radius:14px; }
.wp-shell-return img { display:block; width:32px; height:32px; object-fit:contain; }
.wp-shell-main-title { display:block; overflow:hidden; text-align:center; text-overflow:ellipsis; white-space:nowrap; font-size:clamp(15px,2.4vw,21px); }
.utilities { display:flex; justify-content:flex-end; }
.wp-shell-settings-button,.utility-button { display:grid; place-items:center; width:48px; height:48px; padding:0; border:1px solid var(--line); border-radius:14px; background:#fff; color:var(--ink); }
.wp-shell-settings-button:hover,.utility-button:hover { background:#f3f8f4; }
.settings-panel { display:grid; gap:10px; min-width:230px; padding:16px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 18px 36px rgba(38,54,74,.18); color:var(--ink); }
#settingsPanel[hidden], #mainGuide[hidden] { display:none !important; }
.wp-shell-settings-popover { position:fixed; top:76px; right:max(14px,calc((100vw - 920px)/2 + 14px)); z-index:20; }
.setting-row { min-height:44px; display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid var(--line); border-radius:12px; padding:8px 10px; background:#fff; color:var(--ink); font-weight:800; }
.setting-row select { min-width:120px; min-height:34px; border:1px solid var(--line); border-radius:8px; padding:0 5px; background:#fff; color:var(--ink); }
.main-progress { height:42px; min-height:42px; display:flex; align-items:center; gap:8px; margin:18px 0; padding:5px 10px; overflow:hidden; border:1px solid rgba(82,120,109,.22); border-radius:14px; background:#eff8f2; color:var(--ink); }
.main-progress strong { color:#52786d; }
.main-progress strong,.main-progress span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.main-progress span { color:var(--muted); font-size:.86rem; line-height:1.2; }
.main-poster { min-width:0; object-fit:cover; }
.game-page-info { width:min(920px,calc(100% - 28px)); margin:14px auto 0; }
body[data-screen="battle"] .game-page-info,
body[data-screen="result"] .game-page-info { display:none; }
#battleScreen { width:100%; max-width:none; margin:0; padding:0; }
.battle-canvas { position:relative; isolation:isolate; box-sizing:border-box !important; width:min(100%,920px); height:calc(100vh - 56px); margin:0 auto; padding:18px; overflow:auto; background:linear-gradient(145deg,#f5f0e5,#e8f1ee 58%,#eef6f1); }
.battle-canvas::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:radial-gradient(circle at 50% 8%,rgba(255,232,166,.5),transparent 32%),linear-gradient(160deg,rgba(38,54,84,.12),transparent 55%); }
.battle-canvas > .panel-head,.battle-canvas > .coop-card { position:relative; z-index:1; }
.panel-head { min-height:48px; display:grid; grid-template-columns:58px 1fr auto; align-items:center; gap:12px; }
.panel-head h2 { margin:0; text-align:center; font-size:clamp(21px,4vw,32px); }
.panel-head .eyebrow { text-align:center; }
.back-btn { min-width:58px; min-height:48px; display:flex; align-items:center; justify-content:center; gap:5px; border:1px solid var(--line); border-radius:14px; background:#fff; color:var(--ink); font-weight:900; }
.battle-header-tools { display:flex; align-items:center; justify-content:flex-end; gap:6px; }
.meter-pill { min-height:34px; display:inline-flex; align-items:center; padding:0 9px; border:1px solid rgba(82,120,109,.25); border-radius:999px; background:#fff; color:#52786d; font-size:12px; font-weight:900; white-space:nowrap; }
.coop-card { max-width:920px; margin:18px auto 0; }
.scene-head { text-align:center; }
.scene-head .scene-hint { margin-bottom:10px; }
.handoff-prompt { max-width:680px; margin:0 auto 24px; padding:12px 16px; border:2px solid rgba(228,163,78,.48); border-radius:14px; background:#fff8e9; color:#7a5526; line-height:1.35; font-weight:900; }
.turn-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0 0 12px;padding:0;list-style:none}.turn-steps li{display:flex;align-items:center;justify-content:center;min-height:44px;padding:7px 9px;border:1px solid var(--line);border-radius:12px;background:#f3f5f2;color:var(--muted);font-size:12px;font-weight:900;text-align:center}.turn-steps li.is-current{border:2px solid var(--gold);background:#fff4d6;color:#704815;box-shadow:0 0 0 3px rgba(228,163,78,.16)}.turn-steps li.is-done{border-color:#91ccb4;background:#e8f5ed;color:#335f51}.role-card{transition:opacity .18s,border-color .18s,box-shadow .18s}.role-card:not(.is-active){opacity:.62}.role-card.is-active{border-color:var(--gold);box-shadow:0 0 0 3px rgba(228,163,78,.16)}
.battle-ad-reserve { box-sizing:border-box; width:min(100%,920px); height:56px; margin:0 auto; background:#dfe9e3; pointer-events:none; }
.text-button { min-height:44px; }
.stage-screen { --wp-stage-art:url("/assets/interface7-redrawn/animal-lantern-guides.webp"); position:relative; width:min(100%,920px); height:calc(100vh - 56px); margin:0 auto; padding:14px; overflow:hidden; background:linear-gradient(rgba(245,240,229,.9),rgba(232,241,238,.94)),var(--wp-stage-art) center/cover; }
.stage-head { min-height:48px; display:grid; grid-template-columns:110px 1fr 48px; align-items:center; gap:12px; }
.stage-head h2 { margin:0; text-align:center; font-size:clamp(24px,4vw,36px); }
.stage-head .eyebrow { text-align:center; }
.stage-summary { display:grid; gap:3px; margin:16px 0; padding:12px 16px; border:1px solid rgba(82,120,109,.24); border-radius:16px; background:#eff8f2; }
.stage-summary strong { color:#52786d; }
.stage-summary span { color:var(--muted); font-size:14px; }
.stage-tabs { display:flex; margin:10px 0; }
.stage-tabs button { min-height:44px; padding:0 16px; border:1px solid rgba(82,120,109,.28); border-radius:999px; background:#fff; color:#52786d; font-weight:900; }
.chapter-map { display:flex; gap:12px; max-height:calc(100% - 178px); padding:2px 2px 10px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; }
.chapter-card { flex:0 0 min(330px,calc(100vw - 48px)); align-self:flex-start; padding:16px; border:1px solid rgba(82,120,109,.22); border-radius:18px; background:rgba(255,255,255,.9); box-shadow:0 8px 22px rgba(70,82,63,.09); scroll-snap-align:center; }
.chapter-card h3 { margin:0 0 4px; color:#52786d; font-size:17px; }
.chapter-card > p { min-height:38px; margin:0 0 12px; color:var(--muted); font-size:12px; line-height:1.35; }
.lantern-stage-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; }
.stage-button { min-height:62px; display:grid; place-items:center; gap:2px; padding:6px 2px; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--ink); }
.stage-button > * { pointer-events:none; }
.stage-button strong { font-size:17px; }
.stage-button span { font-size:10px; font-weight:800; }
.stage-button:not(:disabled):hover,.stage-button:not(:disabled):focus-visible { border-color:var(--gold); outline:3px solid rgba(228,163,78,.18); }
.stage-button:disabled { cursor:not-allowed; opacity:.43; background:#edf0ed; }
.stage-ad-reserve { display:none; box-sizing:border-box; width:min(100%,920px); height:56px; margin:0 auto; background:#dfe9e3; pointer-events:none; }
body[data-screen="stage"] .stage-ad-reserve { display:block; }
.guide-rule { min-height:54px; margin:10px 0 0 !important; padding:9px 11px; border-radius:12px; background:#e8f5ed; color:#335f51 !important; font-size:13px; font-weight:900; }
.pass-button { width:100%; margin-top:9px; }
.reveal-button { grid-column:1 / -1; }
@media (max-width:700px) {
  .main-screen { width:min(100% - 20px,560px); padding-top:10px; }
  .game-page-info { width:min(100% - 20px,560px); }
  .wp-main-shell-header { gap:8px; }
  .wp-shell-settings-popover { top:68px; right:10px; }
  .battle-canvas { padding:8px 10px; }
  .panel-head { grid-template-columns:58px 1fr auto; gap:6px; }
  .battle-header-tools { gap:3px; }
  .meter-pill { max-width:80px; overflow:hidden; text-overflow:ellipsis; }
  .stage-screen { width:min(100%,920px); padding:10px; }
  .stage-head { grid-template-columns:76px 1fr 48px; gap:6px; }
  .chapter-card { padding:13px; }
  .coop-card { margin-top:4px; padding:8px; }
  .status-row { font-size:12px; }
  .scene-head h2 { margin:2px 0; font-size:20px; }
  .scene-hint { display:none; }
  .handoff-prompt { margin:3px auto 6px; padding:6px 8px; font-size:12px; line-height:1.2; }
  .turn-steps{gap:4px;margin-bottom:6px}.turn-steps li{min-height:38px;padding:4px;font-size:10px;line-height:1.1}.turn-steps li.is-current{min-height:44px}
  .role-grid { gap:6px; }
  .role-card { padding:8px; }
  .role-card > p:not(.role-state):not(.guide-rule) { display:none; }
  .role-card.is-active > #scoutTask,.role-card.is-active > #guideTask{display:block;margin:2px 0!important;font-size:11px;line-height:1.25}
  .role-card h3 { margin:0 0 2px; font-size:16px; }
  .symbol-grid { gap:5px; margin-top:4px; }
  .symbol-button { min-height:52px; gap:3px; padding:3px; font-size:12px; }
  .symbol-glyph { font-size:20px; }
  .role-state { min-height:14px; margin:2px 0 0; font-size:11px; }
  .feedback { min-height:18px; margin:3px 0; font-size:12px; }
  .battle-canvas #leaveBtn { position:static; width:100%; margin:2px 0 0; }
  .guide-rule { min-height:0; margin-top:4px !important; padding:5px 7px; font-size:11px; line-height:1.2; }
  .pass-button { min-height:44px; margin-top:4px; }
}
@media (max-width:430px) {
  .battle-header-tools .meter-pill { display:none; }
  .battle-header-tools .utility-button { display:grid; }
  .main-progress { margin:10px 0; padding:5px 8px; gap:6px; }
  .main-progress span { display:none; }
}

/* Keep the full-width poster requirement while preserving the first phone
   viewport and make the shared Battle handoff control reachable above the
   scroll container's clipped edge. */
@media (max-width:700px) {
  .hero-card { grid-template-columns:minmax(0,1fr); padding-top:12px; padding-bottom:17px; }
  .hero-copy { min-width:0; }
  .lantern-art { width:100%; max-width:100%; min-width:0; justify-self:stretch; }
}
@media (max-width:430px) {
  .hero-copy h2 { margin:6px 0 10px; font-size:32px; }
}
.battle-canvas #leaveBtn { position:static; display:block; width:100%; margin:14px 0 0; padding-inline:12px; border-radius:12px; background:rgba(255,255,255,.96); }

@media (min-width:701px) {
  .coop-card { margin-top:8px; padding:16px 16px 56px; }
  .battle-canvas #leaveBtn { position:fixed; right:max(18px,calc((100vw - 920px)/2 + 18px)); bottom:64px; z-index:2; width:160px; margin:0; }
}

/* Interface V6 compact-landscape contract: retain the canonical Main poster
   and fit the complete co-op handoff inside the Battle Canvas above reserve. */
@media (min-width:701px) and (max-width:1023px) and (max-height:500px) {
  .hero-card { grid-template-columns:420px minmax(0,1fr); gap:16px; padding:12px; }
  .lantern-art { width:420px; }
  .stage-screen { padding:8px; }
  .stage-head { min-height:44px; }
  .stage-summary { gap:0; margin:6px 0; padding:5px 10px; }
  .stage-summary span { font-size:11px; line-height:1.2; }
  .stage-tabs { margin:4px 0; }
  .stage-tabs button { min-height:44px; }
  .chapter-map { max-height:calc(100% - 142px); }
  .chapter-card { padding:8px; }
  .chapter-card > p { min-height:0; margin-bottom:5px; font-size:11px; }
  .stage-button { min-height:44px; }
  .battle-canvas { padding:8px 12px; overflow:hidden; }
  .panel-head { min-height:44px; }
  .battle-canvas .wp-shell-settings-button,.battle-canvas .utility-button { width:44px; height:44px; }
  .coop-card { margin-top:4px; padding:6px 10px; }
  .status-row { font-size:12px; }
  .scene-head h2 { margin:2px 0; font-size:18px; }
  .scene-hint { margin:0; font-size:12px; line-height:1.2; }
  .handoffPrompt,.handoff-prompt { margin:2px auto; padding:4px 8px; font-size:12px; line-height:1.2; }
  .role-grid { gap:8px; }
  .role-card { padding:6px; }
  .role-kicker { display:none; }
  .role-card h3 { margin:0; font-size:14px; }
  .role-card p:not(.role-kicker):not(.role-state) { font-size:11px; line-height:1.2; }
  .symbol-grid { gap:4px; margin-top:4px; }
  .symbol-button { min-height:44px; display:flex; gap:4px; padding:2px; font-size:11px; }
  .symbol-glyph { font-size:18px; }
  .role-state { min-height:14px; margin:2px 0 0; font-size:10px; }
  .feedback { min-height:14px; margin:2px 0; font-size:11px; }
  .battle-canvas #leaveBtn { display:block; position:fixed; left:30px; right:auto; bottom:58px; width:160px; }
}

/* v9 exact-current contract repair: the Interface 7 runtime skin is injected
   after game CSS, so keep this game's authored Guide frame and responsive
   Battle/Stage controls explicit at the game boundary. */
html[data-wp-shared-interface="7"] body[data-wp-game-id="animal-lantern-guides"] .game-page-info {
  border-radius:24px !important;
  padding:24px !important;
  background:rgba(255,255,255,.84) !important;
  border:1px solid rgba(82,120,109,.22) !important;
  box-shadow:0 14px 34px rgba(70,82,63,.12) !important;
}
html[data-wp-shared-interface="7"] body[data-wp-game-id="animal-lantern-guides"] .game-page-info .game-info-section,
html[data-wp-shared-interface="7"] body[data-wp-game-id="animal-lantern-guides"] .game-page-info .game-info-fact {
  border-radius:16px !important;
  padding:16px !important;
  background:rgba(255,255,255,.72) !important;
}
/* Important declarations inside the shared frame layer outrank unlayered
   important rules; keep the same layer for the protected Guide frame. */
@layer wp-frame-contract {
  html[data-wp-shared-interface="7"] body[data-wp-game-id="animal-lantern-guides"] .game-page-info {
    border-radius:24px !important;
    padding:24px !important;
    background:rgba(255,255,255,.84) !important;
    border:1px solid rgba(82,120,109,.22) !important;
    box-shadow:0 14px 34px rgba(70,82,63,.12) !important;
  }
  html[data-wp-shared-interface="7"] body[data-wp-game-id="animal-lantern-guides"] .game-page-info .game-info-section,
  html[data-wp-shared-interface="7"] body[data-wp-game-id="animal-lantern-guides"] .game-page-info .game-info-fact {
    border-radius:16px !important;
    padding:16px !important;
    background:rgba(255,255,255,.72) !important;
  }
}
/* Keep the full 420px wide-layout poster at the governed compact landscape. */
@media (min-width:700px) and (max-height:500px) {
  html[data-wp-shared-interface="7"] body[data-wp-game-id="animal-lantern-guides"] .wp-standard-main-composition {
    --wp-main-landscape-poster-size:420px !important;
  }
  html[data-wp-shared-interface="7"] body[data-wp-game-id="animal-lantern-guides"] .wp-standard-main-poster,
  html[data-wp-shared-interface="7"] body[data-wp-game-id="animal-lantern-guides"] .wp-standard-main-poster-media,
  html[data-wp-shared-interface="7"] body[data-wp-game-id="animal-lantern-guides"] .wp-standard-main-poster-media > img,
  html[data-wp-shared-interface="7"] body[data-wp-game-id="animal-lantern-guides"] .wp-standard-main-poster > img {
    width:420px !important;
    min-width:420px !important;
    max-width:420px !important;
    height:420px !important;
    min-height:420px !important;
    max-height:420px !important;
  }
}
/* The shared shell supplies the sole Stage Settings owner. Retire the
   legacy authored duplicate so it cannot sit under the generated title. */
html[data-wp-shared-interface="7"] body[data-wp-game-id="animal-lantern-guides"] #stageSettingsBtn {
  display:none !important;
  pointer-events:none !important;
}
/* Keep the native Battle utility and return target at least 44 logical px
   after the shared Canvas scale is applied. */
html[data-wp-shared-interface="7"] body[data-wp-game-id="animal-lantern-guides"] #battleBackBtn,
html[data-wp-shared-interface="7"] body[data-wp-game-id="animal-lantern-guides"] #battleSettingsBtn {
  width:56px !important;
  min-width:56px !important;
  height:56px !important;
  min-height:56px !important;
}
html[data-wp-shared-interface="7"] body[data-wp-game-id="animal-lantern-guides"] #battleScreen .coop-card {
  max-width:none !important;
}
html[data-wp-shared-interface="7"] body[data-wp-game-id="animal-lantern-guides"] #battleScreen[data-wp-logical-battle-canvas] > .battle-canvas {
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 !important;
}
html[data-wp-shared-interface="7"] body[data-wp-game-id="animal-lantern-guides"] #battleScreen #leaveBtn {
  position:absolute !important;
  left:16px !important;
  right:auto !important;
  bottom:8px !important;
  width:160px !important;
  min-height:56px !important;
  margin:0 !important;
}
html[data-wp-shared-interface="7"] body[data-wp-game-id="animal-lantern-guides"] .battle-ad-reserve {
  display:none !important;
  position:fixed !important;
  top:auto !important;
  bottom:0 !important;
  left:max(0px, calc((100vw - min(100vw, 920px)) / 2)) !important;
  width:min(100vw, 920px) !important;
  height:56px !important;
  transform:none !important;
  z-index:5 !important;
}
html[data-wp-shared-interface="7"] body[data-wp-game-id="animal-lantern-guides"][data-screen="battle"] .battle-ad-reserve {
  display:block !important;
}
/* v11 block forest: one active role, persistent tracks, no text-driven reflow. */
#battleScreen{color:#ecf6ff;background:linear-gradient(#07172655,#07172699),url('assets/forest-block-v1.webp') center/cover!important}
#battleScreen .battle-canvas{height:100%;display:grid;grid-template-rows:48px minmax(0,1fr) 44px;gap:6px;padding:8px 10px;overflow:hidden}
#battleScreen .panel-head{height:48px;min-height:48px;margin:0;color:#fff;grid-template-columns:48px minmax(0,1fr) auto}
#battleScreen .panel-head>div:nth-child(2){display:none}
#battleScreen .battle-header-tools{grid-column:2/4;justify-content:flex-end}
#battleScreen .battle-header-tools .meter-pill{display:inline-flex;color:#ffe1a5;background:#102637e8;border-color:#7d986f;min-height:32px;padding:4px 7px;font-size:11px}
#battleScreen .coop-card{min-height:0;margin:0;padding:0;display:grid;grid-template-rows:minmax(120px,1fr) 54px 44px 318px 40px;gap:6px;background:none;border:0;box-shadow:none;border-radius:0;overflow:hidden}
#battleScreen .block-world{grid-row:1;min-height:0;position:relative;overflow:hidden;border-bottom:3px solid #ab8b4d;background:linear-gradient(0deg,#10283ad9,transparent)}
.block-world canvas{display:block;width:100%;height:100%;touch-action:manipulation}
.world-scout,.world-guide{position:absolute;bottom:24px;height:80%;max-width:24%;object-fit:contain;pointer-events:none;filter:drop-shadow(3px 5px 0 #07172688)}.world-scout{left:0}.world-guide{right:0}
.bridge-hud{position:absolute;inset:auto 0 0;display:flex;align-items:center;justify-content:center;gap:10px;height:26px;font-size:11px;font-weight:800;background:#081d2bdd;color:#fff}
#bridgeTrack{display:flex;direction:ltr;gap:4px}.bridge-tile{display:inline-grid;place-items:center;width:22px;height:18px;background:#33495d;border:1px solid #64869b;font-size:10px}.bridge-tile.is-lit{background:#f4c462;color:#213043;border-color:#ffe59a;box-shadow:0 0 6px #f8c870}
#battleScreen .scene-head{grid-row:2;min-height:0;overflow:hidden}.scene-hint{display:none!important}#battleScreen .handoff-prompt{display:grid;align-items:center;height:54px;margin:0;padding:5px 10px;border:2px solid #b79450;border-radius:4px;color:#fff0c4;background:#28352bec;font-size:13px;line-height:1.25;overflow:auto}
#battleScreen .turn-steps{grid-row:3;display:grid;grid-template-columns:repeat(3,1fr);margin:0;gap:5px;padding:0;list-style:none}
#battleScreen .turn-steps li{min-height:44px;height:44px;padding:4px;display:grid;align-content:center;font-size:12px;line-height:1.1;border:1px solid #789a97;border-radius:3px;background:#173044e8;color:#d7e6ee;overflow:hidden;text-align:center}
#battleScreen .turn-steps li.is-current{background:#f1c574;color:#172535;border:2px solid #fff0b2}.turn-steps li.is-done{color:#8df2c9!important}
#battleScreen .role-grid{grid-row:4;display:grid;grid-template-columns:1fr;grid-template-rows:318px;gap:0;min-height:0}
#battleScreen .role-card{grid-area:1/1;display:grid;grid-template-rows:24px 36px 54px 100px 24px 44px;gap:3px;padding:9px;border:2px solid #70928f;border-radius:5px;background:#112c40f2;color:#f3f8ff;visibility:hidden;pointer-events:none;min-height:0;overflow:hidden}
#battleScreen .role-card.is-active{visibility:visible;pointer-events:auto;opacity:1;border-color:#ddc276;box-shadow:inset 0 0 0 2px #293e46}
#battleScreen .role-kicker{display:none}
#battleScreen .role-card h3{grid-row:1;margin:0;font-size:17px;line-height:24px;color:#fff4d5}
#battleScreen .role-card #scoutTask,#battleScreen .role-card #guideTask{grid-row:2;display:block;margin:0;color:#d5e6eb;font-size:12px;line-height:1.25;overflow:auto}
#battleScreen .scout-card #scoutChoices{grid-row:3/5;display:grid;grid-template-columns:1fr;max-width:240px;width:100%;justify-self:center;margin:0;gap:0}
#battleScreen .scout-card .symbol-button{height:157px;min-height:0;font-size:14px;opacity:1;background:linear-gradient(135deg,#314657,#1a3542);color:#fff3c5;border:2px solid #d5ad60;box-shadow:inset 0 -6px #071b29;display:grid;align-content:center;gap:10px}
#battleScreen .scout-card .symbol-button:disabled{opacity:1}.revealed-pair{display:flex;justify-content:center;gap:15px}.sealed-lantern{display:grid;place-items:center;width:60px;height:60px;justify-self:center;border:4px solid #e1bb68;box-shadow:5px 5px #846530;background:#203d4b;font-size:40px;color:#ffe2a2}
#battleScreen .guide-rule{grid-row:3;margin:0!important;min-height:0;padding:3px 6px;font-size:12px;line-height:1.2;border:0;background:none;color:#ffe4ad;overflow:auto;align-self:start;max-height:28px}
#battleScreen .rule-map{grid-row:3;align-self:end;display:flex;justify-content:space-around;gap:4px;height:26px;direction:ltr;color:#fff1ca}
.rule-map>span{display:flex;align-items:center;gap:4px;font-size:13px}.rule-map .rune-icon{width:19px;height:19px}.rune-icon{width:42px;height:42px;fill:currentColor;display:inline-block;filter:drop-shadow(2px 2px 0 #07192888)}.rune-moon{color:#f7d16b}.rune-leaf{color:#73e5bb}.rune-star{color:#ba9cff}
#battleScreen #guideChoices{grid-row:4;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0;min-height:0}
#battleScreen #guideChoices .symbol-button{height:100px;min-height:0;display:grid;align-content:center;gap:8px;border:2px solid #83a6a1;border-radius:4px;background:linear-gradient(135deg,#2d4659,#142c3e);color:#eaf8ff;font-size:13px;padding:4px;box-shadow:inset 0 -5px #0a1c2d}
#battleScreen .role-state{grid-row:5;min-height:0;margin:0;font-size:11px;line-height:1.2;color:#bce4db;overflow:auto}
#battleScreen #passBtn,#battleScreen #recallBtn{grid-row:6;margin:0;min-height:44px;height:44px;padding:4px 8px;border:1px solid #9bb4ac;border-radius:4px;background:#294859;color:#fff;font-size:12px;box-shadow:none}
#battleScreen #passBtn:not(:disabled){background:#e8bd65;color:#152938;font-weight:900}#battleScreen #passBtn:disabled{opacity:.4}
#battleScreen .feedback{grid-row:5;height:40px;min-height:0;display:grid;align-items:center;margin:0;padding:3px 8px;background:#102c3deb;border:1px solid #72888d;border-radius:3px;color:#ffd0ad;font-size:12px;line-height:1.2;overflow:auto}#battleScreen .feedback.is-good{color:#94f0c3}
#battleScreen .battle-canvas #leaveBtn{position:static!important;width:100%;height:44px;min-height:44px;margin:0;padding:4px;font-size:12px;color:#d7eaf0;background:#143043e8;border:1px solid #789697;border-radius:3px;text-decoration:none}
@media(max-height:520px) and (orientation:landscape){
 #battleScreen .battle-canvas{padding:4px 8px;grid-template-rows:44px minmax(0,1fr);gap:4px}
 #battleScreen .coop-card{grid-template-columns:minmax(0,1fr) minmax(365px,48%);grid-template-rows:minmax(100px,1fr) 44px 44px;gap:5px}
 #battleScreen .block-world{grid-column:1;grid-row:1}#battleScreen .scene-head{grid-column:1;grid-row:2}#battleScreen .handoff-prompt{height:44px;font-size:11px;padding:3px 6px}
 #battleScreen .turn-steps{grid-column:1;grid-row:3;margin-inline-end:70px}#battleScreen .turn-steps li{font-size:10px}
 #battleScreen .role-grid{grid-column:2;grid-row:1/4;grid-template-rows:1fr}
 #battleScreen .role-card{grid-template-rows:20px 28px 42px minmax(50px,1fr) 16px 44px;padding:5px;gap:2px}
 #battleScreen .role-card h3{font-size:14px;line-height:20px}#battleScreen .role-card #scoutTask,#battleScreen .role-card #guideTask{font-size:10px}
 #battleScreen .guide-rule{font-size:10px;max-height:22px}.rule-map .rune-icon{width:16px;height:16px}#battleScreen .rule-map{height:20px}
 #battleScreen #guideChoices .symbol-button{height:100%;min-height:44px;display:flex;font-size:11px;gap:8px}.rune-icon{height:28px;width:28px}
 #battleScreen .scout-card .symbol-button{height:100%;min-height:44px;font-size:12px;display:flex;gap:12px}.sealed-lantern{height:48px;width:48px;font-size:26px}
 #battleScreen .feedback{display:none}#battleScreen .battle-canvas #leaveBtn{position:absolute!important;bottom:4px;left:calc(52% - 70px);width:62px;z-index:2;font-size:10px;}
}
@media(prefers-reduced-motion:reduce){#battleScreen *{animation:none!important;transition:none!important}}
#battleScreen .battle-canvas{background:transparent!important}
#battleScreen,#battleScreen button{font-family:system-ui,-apple-system,sans-serif!important}
#battleScreen .battle-header-tools{display:flex;align-items:center;gap:5px;min-width:0;overflow:visible}
#battleScreen .battle-header-tools .meter-pill{max-width:none!important;width:auto!important;flex:1;min-width:0;height:40px;white-space:normal;overflow:visible;line-height:1.15;font-size:11px;border-radius:3px;justify-content:center;text-align:center}
#battleScreen #battleBackLabel{display:none}
html[data-wp-shared-interface="7"] body[data-wp-game-id="animal-lantern-guides"] #battleBackBtn,
html[data-wp-shared-interface="7"] body[data-wp-game-id="animal-lantern-guides"] #battleSettingsBtn{width:48px!important;min-width:48px!important;height:48px!important;min-height:48px!important;flex:0 0 48px}
html[data-wp-shared-interface="7"] body[data-wp-game-id="animal-lantern-guides"] #battleScreen #leaveBtn{position:static!important;left:auto!important;bottom:auto!important;width:100%!important;min-height:44px!important}
@media(max-height:520px) and (orientation:landscape){
 html[data-wp-shared-interface="7"] body[data-wp-game-id="animal-lantern-guides"] #battleScreen #leaveBtn{position:absolute!important;left:calc(52% - 70px)!important;bottom:4px!important;width:62px!important;min-height:44px!important}
}
#battleScreen .role-card>*{grid-column:1;min-width:0;max-width:100%}
#battleScreen .role-card:not(.is-active){visibility:hidden!important;pointer-events:none!important;opacity:0!important}
#battleScreen .role-card.is-active{visibility:visible!important;opacity:1!important;background:#112c40f7!important}
#battleScreen .guide-rule{color:#ffe4ad!important}#battleScreen #ruleMap{grid-column:1;width:100%}
#battleScreen #guideChoices{grid-column:1;width:100%}
#battleScreen .role-card{transition:none!important}
#battleScreen .scout-card .symbol-button{border-radius:4px}
#battleScreen .handoff-prompt{max-width:none;width:100%}
#blockWorld[data-feedback="success"]::after{content:"";position:absolute;width:8px;height:8px;left:50%;top:50%;pointer-events:none;background:#ffe6a4;box-shadow:-48px -8px #89e9c7,48px -8px #b99af5,-24px -35px #ffe6a4,24px -35px #89e9c7;animation:bridge-block-reward .32s ease-out both}
@keyframes bridge-block-reward{from{transform:translateY(8px);opacity:1}to{transform:translateY(-28px);opacity:0}}
.battle-ad-reserve{background:#0b2130!important}
@media(prefers-reduced-motion:reduce){#blockWorld::after{animation:none!important;display:none}}
