@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;600;700&family=DM+Serif+Text&display=swap');
:root{color-scheme:dark;--paper:#fff4de;--muted:#c4cbbb;--gold:#ffcb79;--line:#ffffff30;--dark:#11221e}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#2c4134,#091411 70%);color:var(--paper);font:16px 'DM Sans',system-ui,sans-serif}#game{width:min(100%,540px);margin:auto;min-height:100svh;background:#11221e;box-shadow:0 0 80px #0009}button,input{font:inherit}button{min-height:44px;cursor:pointer;border:1px solid var(--line);border-radius:10px;background:#22392f;color:var(--paper);padding:.66rem .85rem;font-weight:700}button:hover{border-color:var(--gold)}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:disabled{opacity:.42;cursor:default}.primary{background:var(--gold);color:#21170a;border-color:transparent}.full{width:100%}.cover{display:grid;align-content:end;min-height:100svh;padding:24px;background:linear-gradient(0deg,#081510 7%,#081510ec 25%,transparent 66%),url('assets/fair-cover.webp') center 32%/cover}.cover h1{margin:0;max-width:9ch;font-size:clamp(52px,13vw,79px);line-height:.91;color:#fff1cc;text-shadow:0 3px 20px #000}.cover p{margin:.7em 0 1.25em}.stack{display:grid;gap:10px}.pad{padding:17px 18px 27px}.bar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.bar button{background:none}.brand{color:var(--gold);font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}h1,h2{font-family:'DM Serif Text',Georgia,serif;font-weight:400;margin:.3em 0;line-height:1.05}h1{font-size:43px}h2{font-size:27px}p{line-height:1.45}small,.muted{color:var(--muted)}.row{display:flex;gap:8px;flex-wrap:wrap}.row>*{flex:1}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.card{text-align:left;min-height:88px;background:linear-gradient(135deg,#304136,#172822);display:grid;align-content:center;gap:4px}.card span{color:var(--gold);font-size:12px}.scene{display:flex;align-items:center;gap:17px;background:linear-gradient(115deg,#412d23,#1e3b30);border-radius:13px;border:1px solid var(--line);overflow:hidden;margin:10px 0}.scene img{width:76px;height:103px;object-fit:cover;object-position:center 24%}.scene h1{font-size:clamp(27px,7vw,41px);margin:5px 8px 5px 0}.timer{font-variant-numeric:tabular-nums;font-size:24px;color:var(--gold);font-weight:700}.track{height:5px;background:#ffffff19;border-radius:10px;overflow:hidden}.track i{display:block;height:100%;background:var(--gold);width:100%}.urgent .timer{color:#ff9f89}.prompt{margin:.85rem 0}.answers{display:grid;gap:7px}.answers button{text-align:left}.board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:8px 0;background:#0b1915;border-radius:10px;padding:8px}.board>*{border:1px solid var(--line);padding:8px 4px;text-align:center;border-radius:5px;overflow-wrap:anywhere}.board.square{max-width:144px;grid-template-columns:repeat(4,1fr);gap:0;padding:0}.board.square span{aspect-ratio:1;padding:0;border-radius:0;border-color:#f8c781;background:#34382b}.result,.hint{border:1px solid #ffffff27;background:#182e25;border-radius:10px;padding:12px;margin:10px 0}.result h2,.result p{margin:3px 0 9px}.hint{color:#ffe4aa}.status{min-height:1.25em;margin:.4em 0;color:#ffb299}.choice.active{border-color:var(--gold);background:#435a42}.trigger{margin-top:10px}.sources{margin-top:20px}a{color:#ffe2a8}input{width:100%;padding:9px;border:1px solid var(--line);border-radius:8px;background:#0d1b17;color:white;min-height:44px}.water{background:linear-gradient(0deg,#207b98 var(--fill),#1c352f var(--fill));padding:12px;border:1px solid #8fb2af;border-radius:10px;margin:5px 0;text-align:center;font-weight:700}.win{border-color:#a9d684}.spot{font-size:.88rem}.spot span{display:block;font-size:.73rem;font-weight:400}summary{cursor:pointer}

/* Bright fairground stage */
:root{color-scheme:light;--paper:#2a2522;--muted:#52666a;--gold:#ffca51;--line:#d5e0dc;--dark:#153a42}
body{background:repeating-linear-gradient(130deg,#e4f7f4 0 55px,#daf2ef 55px 110px);color:var(--paper)}
#game{width:min(100%,1120px);background:#fffbef;box-shadow:0 0 65px #3c777328}
button{background:#fff8e8;color:#1c4a50;border-color:#badcd4;box-shadow:0 3px 0 #bedbd4;transition:transform .13s,background .13s;min-height:46px}
button:hover{border-color:#138b84;background:#ebfaf3}button:active{transform:translateY(2px);box-shadow:none}
.primary{background:#e94943;color:white;border-color:#e94943;box-shadow:0 4px 0 #aa302b}
.primary:hover{background:#d43d37;border-color:#d43d37}.brand{color:#087773}.bar button{background:#fff}
.cover{align-content:end;position:relative;min-height:100svh;background:#97e3e5 url('assets/fair-cover.webp') center 34%/cover no-repeat;padding:23px}
.cover-copy{padding:18px;background:#fff8e8f7;border:3px solid white;border-radius:23px;box-shadow:0 5px 0 #1e65584d;max-width:470px;color:#213d40}
.cover h1{max-width:none;font-size:clamp(48px,10vw,87px);color:#194d57;text-shadow:none;letter-spacing:-.04em}.cover p{margin:10px 0 14px}
.pad{padding:clamp(12px,3vw,30px)}.card{background:linear-gradient(135deg,#fff9df,#fff2bd);color:#14474e;min-height:76px}.card span{color:#9a3b22}
.round-layout{display:grid;gap:16px;align-items:start}.stage{position:relative;overflow:hidden;margin:0;isolation:isolate;border:4px solid white;box-shadow:0 5px 0 #afdad4,0 8px 28px #2b7a7040;border-radius:22px;aspect-ratio:1.3;background:#98e4e1}
.stage img{display:block;width:100%;height:100%;object-fit:cover;animation:scene-open .45s ease-out both}
.stage figcaption{position:absolute;bottom:10px;left:10px;max-width:calc(100% - 20px);border-radius:12px;background:#fff8e8;padding:7px 12px;color:#174950;font:clamp(23px,4vw,43px)/1 'DM Serif Text',Georgia,serif;box-shadow:0 3px #13433f3d}
.play-panel{min-width:0}.timebar{margin:2px 0 7px}.timer{color:#12636c}.urgent .timer{color:#ba261d}
.track{background:#cde7dd;height:8px}.track i{background:linear-gradient(90deg,#ffab3d,#ff634a)}
.prompt{font-size:clamp(17px,2.2vw,20px);color:#263735;padding:11px 13px;background:#fff3cb;border-radius:10px}
.answers button,.choice{border-radius:15px;background:#fff;min-height:48px;color:#164e54}
.choice.active{border-color:#107b73;background:#bdf2dc}.result,.hint{background:#e7f8ef;border:1px solid #b9e7d6;color:#25433e}.status{color:#9d292d}.win{border-color:#53aa75}
.conclusion{display:block;color:#12615a;padding:2px 0 4px}.steps{padding-left:1.6em;margin:.4em 0}.steps li{padding:.3em .16em;line-height:1.4}
.board{background:#eff9f6}.board>*{border-color:#a8d8d4;color:#165963}.board.square span{background:#fff2c2;border-color:#a96533}
.water{color:#19363d;background:linear-gradient(0deg,#7bdcec var(--fill),#f2faf5 var(--fill))}
input{color:#223f40;background:#fff;border-color:#8ac1b9}
.cups{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:6px 0 12px}
.cup{min-width:0;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:end;font-size:13px;color:#124b53;text-align:center}
.cup-shape{display:block;width:min(90%,65px);height:55px;background:linear-gradient(100deg,#b13b39,#f7846a 36%,#e35948 68%,#a33137);clip-path:polygon(17% 0,83% 0,100% 94%,93% 100%,7% 100%,0 94%);position:relative}
.cup-shape::before{content:'';position:absolute;inset:8px 0 5px;border-top:2px dashed #fff3d9;border-bottom:2px dashed #fff3d9}
.cup-shape.lifted{transform:translateY(-8px) rotate(23deg) scale(.7);animation:lift .4s ease-out both}.duel{display:grid;grid-template-columns:1fr 1fr;gap:9px}.speaker{display:flex;align-items:center;gap:5px}.speaker img{width:38px;height:41px;object-fit:cover;object-position:center 26%;border-radius:50%;background:#fff}.bubble{position:relative;flex:1;box-shadow:0 3px 0 #aacfc7}
.bubble:before{content:'';position:absolute;left:-5px;top:14px;border:5px solid transparent;border-right-color:#badcd4;border-left:0}
.confetti{position:absolute;inset:0;pointer-events:none}.confetti i{position:absolute;top:-12px;left:calc(8% + var(--n)*7.5%);width:10px;height:16px;background:#ffcf56;animation:confetti 1.2s calc(var(--n)*25ms) ease-in both}.confetti i:nth-child(3n){background:#f45d55}.confetti i:nth-child(3n + 1){background:#61dfb1}
@keyframes confetti{to{transform:translate(25px,450px) rotate(360deg);opacity:0}}
@keyframes lift{from{transform:none}}@keyframes scene-open{from{opacity:.5;transform:scale(1.045)}}
@media(min-width:760px){.round-layout{grid-template-columns:1.25fr 1fr;gap:26px}.stage{position:sticky;top:12px;aspect-ratio:1.08}.cover{justify-items:start;align-items:end;padding:40px;background-position:center 44%}.cover-copy{max-width:450px}.pad:not(.round) .grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:480px){.stage{aspect-ratio:1.53}.round-layout{gap:12px}.cover-copy{padding:14px}.cover{padding:16px}.round .bar{margin-bottom:9px}.speaker img{width:32px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.stage h1{font:inherit;margin:0}
.coins{display:grid;grid-template-columns:repeat(9,1fr);gap:4px;margin:6px 0 12px}.coins i{display:grid;place-items:center;aspect-ratio:1;border:2px solid #d4872c;border-radius:50%;background:radial-gradient(circle at 35% 20%,#fff394,#ffbf45 70%);color:#9b6024;font-style:normal;box-shadow:0 3px 0 #c27c2c}
.crates span{position:relative;height:44px;display:flex;justify-content:center;align-items:end;gap:7px}.crates i{width:35px;height:calc(var(--height)*6px);background:repeating-linear-gradient(0deg,#d68a53 0 5px,#a15d39 5px 6px);border:1px solid #93502c;box-shadow:2px 2px #93502c55}
.triangle-board{position:relative;width:116px;height:101px;margin:10px auto}.triangle-board i{position:absolute;width:58px;height:51px;background:#e0444a;clip-path:polygon(50% 0,100% 100%,0 100%)}.triangle-board i:nth-child(1){left:29px}.triangle-board i:nth-child(2){top:50px;background:#1c9c96}.triangle-board i:nth-child(3){top:50px;left:58px;background:#ffbf43}.triangle-board i:nth-child(4){left:29px;top:50px;transform:rotate(180deg);background:#7fdcd9}
.speech{position:relative}.speech::after{content:'';position:absolute;bottom:-5px;left:17px;width:8px;height:8px;transform:rotate(45deg);background:inherit;border-right:1px solid #badcd4;border-bottom:1px solid #badcd4}
.speaker img{object-fit:cover;object-position:center}.plumbing{border:1px solid #9fd2cc;border-radius:14px;padding:10px;background:#e8f9f4;text-align:center;color:#24555b;margin:0 0 10px}.plumbing strong{display:inline-block;padding:5px 10px;background:#fbcb67;border-radius:7px}.pipe-split,.pipe-ends{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.pipe-split span,.pipe-ends span{padding:5px;border-top:3px solid #54ada8;margin-top:5px}.pipe-ends{grid-template-columns:repeat(4,1fr)}.pipe-ends span:nth-child(3){border-color:#177653;background:#c9f2d6}.tickets{font-weight:700;font-size:.8rem}.tickets span{border-style:dashed;background:#ffefb5}.match-board{background:#f4d6a3;border:2px solid #d69051;border-radius:12px;text-align:center;font:bold 1.65rem monospace;letter-spacing:.18em;padding:9px;color:#a4342a}
@property --fill{syntax:'<percentage>';inherits:false;initial-value:0%}
.water{animation:fill-motion .34s ease-out both}@keyframes fill-motion{from{--fill:var(--from)}}
.channel{position:relative;height:38px;background:repeating-linear-gradient(0deg,#90dedc 0 8px,#a5ebe6 8px 12px);border-inline:12px solid #f2c985;border-radius:9px}.channel i{position:absolute;top:0;font-style:normal;font-size:24px;line-height:34px}.channel.left i{left:6px}.channel.right i{left:calc(100% - 34px)}.channel.sail.left i{animation:cross-left .3s ease-out}.channel.sail.right i{animation:cross-right .3s ease-out}@keyframes cross-left{from{left:calc(100% - 34px)}}@keyframes cross-right{from{left:6px}}
.welcome-line{font-size:1.03rem;line-height:1.45}.round.ready .timebar .timer{color:#56797a}.round.running .play-panel{animation:panel-in .22s ease-out}@keyframes panel-in{from{opacity:.7;transform:translateY(4px)}}
.cover{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:0;padding:0;background:#93dfe3;justify-items:stretch;align-content:stretch}
.cover-art{display:block;max-height:70svh;min-height:0;width:100%;height:100%;object-fit:contain;object-position:center}
.cover-copy{width:100%;max-width:none;margin:0;border-radius:0;padding:14px clamp(14px,3vw,35px);border:0;border-top:3px solid #fff;text-align:center;box-shadow:none}
.cover h1{font-size:clamp(30px,5vw,48px);line-height:1;letter-spacing:-.035em}
.cover-copy .stack{display:flex;flex-wrap:wrap;justify-content:center}.cover-copy .stack button{width:auto;min-width:130px}
.creator-links{display:flex;justify-content:center;gap:16px;margin:12px 0 2px}.creator-links a{color:#175d62;font-weight:700;text-underline-offset:3px}
.cover-copy .welcome-line{max-width:58ch;margin:8px auto 12px}
.card{grid-template-columns:54px 1fr;align-items:center;padding:6px;gap:8px;min-height:72px}.card img{width:54px;height:54px;object-fit:cover;border-radius:8px}.card-info{display:grid;gap:2px}.card-info strong{font-size:14px;color:#194d57}.card-info small{font-size:11px;color:#99542f}.evidence-board>*{background:#fff4cc;border:2px dashed #cf9d53;font-weight:700}
.sr{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
.magic-table,.prop-tables{background:#dbf3ea;border:2px dashed #82b8a8;border-radius:12px;padding:9px;margin:8px 0}.coin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:5px}.take-coin{display:grid;justify-items:center;min-width:0;padding:3px}.medal{display:grid;place-items:center;width:min(100%,64px);aspect-ratio:1;border:3px ridge #c3822d;border-radius:50%;background:#ffd377;color:#724214;font-size:27px}.magic-table p{margin-bottom:0}
.prop-tables{display:grid;grid-template-columns:1fr 1fr;gap:8px}.prop-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.prop{display:grid;text-align:center;justify-items:center;align-items:center;background:#fff8e9;padding:4px;border-radius:5px;min-width:0;color:#1e4d55}.prop b{font-size:24px}.prop small{font-size:11px}.selected{outline:2px solid #158779;background:#d3fff0}
.flip-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:8px}.cup-shape.up{transform:rotate(180deg)}.flip-row .cup-shape{transition:transform .25s}.beetles{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:8px 0}.beetles i{background:#edc95d;color:#8d4f1e;display:grid;place-items:center;aspect-ratio:1;border-radius:48%;font-style:normal;border:1px solid #aa6d2b}.beetles .gone{visibility:hidden}
.banks{display:grid;grid-template-columns:1fr minmax(64px,1fr) 1fr;min-height:112px;background:#d8f1c7;align-items:center;border-radius:12px;padding:8px;gap:4px}.banks>div>strong{font-size:12px}.banks span{display:block;font-size:12px}.banks b{font-size:20px;margin-right:4px}.dock{margin:5px 0;font-size:14px}.jugs .water{min-height:68px;display:grid;align-items:center}
.testimonies{position:absolute;top:4%;left:3%;right:3%;display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.felt-speech{position:relative;border-radius:12px;padding:7px 5px;background:#fff5da;color:#254942;font-weight:700;line-height:1.2;font-size:clamp(11px,1.28vw,17px);border:2px dashed #a3946d;box-shadow:0 3px 0 #80643f55}.felt-speech::after{content:'';position:absolute;top:100%;left:45%;border:7px solid transparent;border-top-color:#fff5da}.praise-line{font-weight:700;color:#18653f}
@media(max-width:480px){.cover-art{max-height:67svh}.card{grid-template-columns:40px 1fr}.card img{width:40px;height:44px}.card-info strong{font-size:12px}.prop small{font-size:10px}}
.scene-column{min-width:0;display:grid;gap:9px}.scene-column .stage{position:relative;top:auto}.play-scene{background:#fff9e8;border:2px solid #c6e0d7;border-radius:13px;padding:8px}.play-scene>*{margin-block:0}.play-scene .board{margin-block:0}.round.running .play-panel{animation:none}
.language-picker{display:inline-flex;align-items:center;margin:2px}.language-picker select{max-width:105px;color:#1f5356;background:#fffaf0;border:1px solid #86bdb4;border-radius:8px;padding:7px 4px;font-size:13px;font-weight:700}.cover-copy .language-picker{margin-top:6px}.bar .language-picker select{max-width:85px}
@media(max-width:759px){.round>.bar{position:sticky;top:0;z-index:5;background:#fffbef;padding:6px 0}.round>.bar button{min-height:38px}.round-layout{gap:10px}.play-scene .evidence-board{gap:5px}.round.running .stage{aspect-ratio:1.65}.round.running .stage img{object-position:center 42%}}
.overlay-options{position:absolute;inset:auto 8px 57px;display:flex;align-items:flex-end;flex-wrap:wrap;gap:5px}.overlay-options .felt-speech{flex:1;min-width:86px;font-size:clamp(10px,1.1vw,14px)}.overlay-options .felt-speech::after{display:none}
.cast-tag{position:absolute;top:7px;left:7px;display:flex;align-items:center;gap:4px;padding:2px 8px 2px 2px;background:#fff8e8;border-radius:25px;color:#185359;font-size:12px}.stage .cast-tag img{width:29px;height:29px;border-radius:50%;animation:none;object-fit:cover}
.coin-stage{aspect-ratio:1.75}.coin-stage>.scene-art{object-position:left 30%;object-fit:cover}.coin-stage~.play-scene .medal{width:min(100%,72px)}
.puzzle-inset{position:absolute;right:9px;bottom:60px;width:51%;padding:5px;border:2px dashed #a38854;border-radius:12px;background:#fff7e1ef;text-align:center}.puzzle-inset svg{display:block;width:100%;max-height:150px}.clock-evidence{width:31%;font-size:22px;color:#284949}.match-board{display:block;font-size:clamp(15px,2.5vw,32px);white-space:nowrap}
.exact-board svg{width:100%;max-height:245px;display:block;background:#e9f6ef;border-radius:12px}.exact-board text{fill:#284949;font-family:system-ui}.book-evidence{padding:7px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.open-book{display:grid;grid-template-columns:1fr 1fr;border:4px solid #a75c41;border-radius:8px;background:#fff4d7;text-align:center}.open-book span{padding:15px 5px}.open-book span+span{border-left:2px solid #c9ac78}.book-evidence small{grid-column:1/-1;text-align:center}
.answer-stage{aspect-ratio:1.45}.answer-stage>.scene-art{object-position:center 44%}.answer-stage .cast-tag{z-index:1}
@media(max-width:500px){.round .bar{gap:4px}.round .bar button{padding:5px 7px;font-size:12px}.language-picker select{font-size:12px}.stage figcaption{font-size:21px}.overlay-options{bottom:47px;gap:3px}.overlay-options .felt-speech{padding:4px}}
.route-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;background:#f8ecd4;padding:8px;border-radius:11px}.route-board div{padding:6px 2px;text-align:center;border-radius:6px;font-size:clamp(10px,1.25vw,14px);font-weight:700}.route-board .entrance{background:#d5f0eb;border:1px solid #82b9a9}.route-board .destination{background:#fff8dc;border:1px dashed #b78f52}.stage.coin-stage>.scene-art{display:none}.stage.coin-stage{min-height:94px;aspect-ratio:auto;background:#9ee0d6 url('assets/robin.webp') right 15px center/75px auto no-repeat}
.cover{background:radial-gradient(ellipse at 50% 28%,#e4fbf6 0%,#93dfe3 59%,#81c9d5 100%)}
@media(min-width:760px){.cover{min-height:100svh;grid-template-columns:1.28fr 1fr;grid-template-rows:1fr;align-items:center;padding:24px;gap:22px}.cover-art{width:100%;height:auto;max-height:calc(100svh - 48px);align-self:center}.cover-copy{min-width:0;text-align:left;border:3px solid white;border-radius:22px;padding:clamp(17px,3vw,34px);box-shadow:0 5px 0 #1e655826}.cover-copy .stack,.creator-links{justify-content:flex-start}.cover h1{max-width:13ch}.cover-copy .welcome-line{margin-left:0}}
.foam-demo{display:flex;align-items:center;gap:12px;justify-content:center;padding:8px;color:#2d6467}.foam-cup{height:57px;width:50px;border:3px solid #6ca99f;border-radius:0 0 14px 14px;background:linear-gradient(0deg,#df9854 0 55%,#fcf6e1 55% 100%)}
.plumbing-stage{background:#e9f6ef;display:grid;place-items:center;min-height:240px}.plumbing-stage>.scene-art{display:none}.plumbing-stage .exact-board{width:90%;padding:10px 0 35px}.plumbing-stage .exact-board svg{max-height:300px}

:root{--felt-ink:#1c514e;--felt-cream:#fff0c8}
html,body{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation}
input,select{user-select:auto;-webkit-user-select:auto}img{-webkit-user-drag:none}
.full-scene{position:relative;min-height:100svh;min-height:100dvh;max-height:100dvh;overflow:hidden}
.splash,.host-screen{isolation:isolate;display:grid;align-content:end;background-color:#83cfc8;background-size:cover;background-position:center}
.splash{background-image:url(assets/mobile-cover.webp);padding:16px 18px calc(18px + env(safe-area-inset-bottom));justify-items:center}
.host-screen{background-image:url(assets/robin-host.webp);padding:12px 14px calc(12px + env(safe-area-inset-bottom))}
.felt-button,.creator-links a,.host-menu select{appearance:none;border:3px dashed #fce3a8;border-radius:16px;background:#a82e30;color:#fff5dc;box-shadow:0 0 0 3px #762327,0 5px 0 3px #762327;transition:transform .16s;padding:8px 13px;font-weight:800;font-size:1rem;text-decoration:none;text-align:center}
.felt-button:hover,.creator-links a:hover{background:#7e2224;border-color:#fff0b4}.splash-entry{min-width:min(75vw,260px);font-size:1.14rem;min-height:54px}
.host-menu{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center;width:min(100%,440px);margin:0 auto 6px;position:relative;padding:8px 4px}
.host-play{grid-column:1/-1;font-size:1.18rem}.host-sound,.host-menu select{background:#1a6b67;box-shadow:0 0 0 3px #124d48,0 4px 0 3px #124d48;width:100%;min-height:44px}.host-menu .language-picker{display:block;width:100%;margin:0}.host-menu select{max-width:none}
.host-menu .creator-links{grid-row:3;grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0}.host-menu .creator-links a{display:grid;align-content:center;font-size:clamp(12px,3.6vw,15px);min-height:43px;padding:4px 5px;background:#1a6b67;box-shadow:0 0 0 3px #124d48,0 4px 0 3px #124d48;color:white}
.poster-screen{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;padding:calc(10px + env(safe-area-inset-top)) 12px calc(10px + env(safe-area-inset-bottom));background:#dcf4e5 radial-gradient(ellipse at 50% 45%,#fff5ca,#8ddcd1)}
.catalog-top{display:flex;align-items:center;gap:12px}.catalog-top h1{font:bold clamp(20px,5.7vw,36px)/1 'DM Serif Text',Georgia,serif;color:#843236;text-shadow:1px 2px #ffe7a7}
.home-icon{font-size:30px;line-height:1;width:45px;height:43px;padding:0}
.posters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:10px;min-height:0}
.poster{display:grid;grid-template-rows:minmax(0,1fr) auto;padding:0;min-height:0;overflow:hidden;border:3px solid #fff7df;border-radius:16px;background:#fff6d0;box-shadow:0 4px #61938a;text-align:left}.poster img{display:block;width:100%;height:100%;min-height:0;object-fit:cover}.poster-caption{display:grid;gap:1px;padding:5px 7px;line-height:1.15;color:#1b514c}.poster-caption small{font-size:11px;color:#9b4426}.poster-caption strong{font-size:clamp(13px,3.65vw,23px)}
.page-switch{display:flex;align-items:center;justify-content:center;gap:17px;color:#205b55;font-weight:800}.page-switch button{min-height:38px;min-width:57px;font-size:22px;padding:0}
.round .prompt h1{font-size:clamp(23px,5.2vw,38px);color:#255a55;margin:0 0 7px}.round .prompt p{margin:0}.round.ready .prompt{margin-top:0}.round .stage img{animation:none}.round .stage{aspect-ratio:1.45}.round .outcome-art{aspect-ratio:1.58}.round.outcome .result{margin-top:0}.stage-board{position:absolute;display:grid;place-items:center;inset:0}.cube-puzzle{background:#dff3df}.stage-board svg{width:100%;height:100%;max-height:100%;min-height:0}.triangle-puzzle{inset:8% 17%;background:#315e54;border:6px solid #ca9b60;border-radius:12px}.triangle-puzzle svg{height:90%}
.puzzle-inset{bottom:9px}.prop-table{background:#d8f1e9;border-radius:10px;padding:8px}.prop-table .prop-grid{grid-template-columns:repeat(3,1fr);margin-top:5px}.magic-table .medal{color:#272b2b;background:#e3e5de;border-color:#888d88}
.speaker{min-width:0}.speaker img{object-fit:contain;object-position:center;width:46px;height:46px;padding:2px;border-radius:50%;background:#fff0cf}.duel .speaker{align-items:center}
@media(min-width:760px){.splash,.host-screen{max-width:min(100%,610px);margin:auto}.host-menu{margin-bottom:14px}.poster-screen{padding-inline:24px}.posters{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:minmax(0,1fr)}.poster-caption{padding:11px}.poster img{object-position:center}.round .outcome-art{aspect-ratio:1.25}}
@media(max-width:759px){.round .stage,.round.running .stage{aspect-ratio:1.7}.round .outcome-art{aspect-ratio:1.9}.round .play-panel{display:grid;gap:5px}.round .prompt{margin:0}.round .play-panel>.stack{gap:6px}.round .result{margin:0}.round .status:empty{display:none}}
.square-puzzle{inset:7% 23%;background:#315e54;border:6px solid #ca9b60;border-radius:10px}.square-puzzle>div{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);width:auto;height:88%;aspect-ratio:1;border:1px solid #ffeec6}.square-puzzle span{border:1px solid #ffeec6}
.coin-inset{position:absolute;right:6px;bottom:6px;width:60%;max-width:300px}.coin-inset .magic-table{padding:5px;background:#41585aeb;color:#fff5df;margin:0}.coin-inset .coin-grid{gap:2px}.coin-inset .medal{width:min(100%,48px);font-size:clamp(18px,4vw,29px);line-height:1}.coin-inset .take-coin{padding:1px}
.catalog-top h1{margin:0 auto}.catalog-logo{display:block;height:clamp(45px,8svh,78px);width:auto;max-width:55vw;object-fit:contain}.pipes-puzzle{background:#d9f0e6}.pipes-puzzle .exact-board{width:100%;height:100%}.pipes-puzzle .exact-board svg{max-height:100%}

/* Keep the entire artwork in frame, including props near the lower edge. */
.round .stage,.round.running .stage,.round .outcome-art{aspect-ratio:auto;min-height:0;background:#e6f4ea}
.round .stage>.scene-art{width:100%;height:auto;max-height:66svh;object-fit:contain;object-position:center;display:block}
.round .outcome-art>.scene-art{max-height:52svh}
.round .stage:has(.stage-board)>.scene-art{visibility:hidden}
.poster img{object-fit:contain;background:#d3eee3}
.poster-caption{position:relative;z-index:1;background:#fff5d3;min-height:45px;padding:7px 9px;align-content:center;line-height:1.18}
.poster-caption small{font-size:clamp(12px,3.1vw,17px);font-weight:800;color:#754028}
.poster-caption strong{font-size:clamp(15px,4.1vw,25px);color:#153d42;overflow-wrap:anywhere}
.catalog-top{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;justify-items:center;gap:8px;align-items:center}
.catalog-top h1{min-width:0;margin:0;justify-self:center}
.catalog-logo{height:clamp(57px,12svh,101px);max-width:100%;object-fit:contain}
.reset-icon{font-size:25px;background:#1a6b67;box-shadow:0 0 0 3px #124d48,0 4px 0 3px #124d48}
.reset-dialog{width:min(88vw,400px);background:#fff7dc;color:#204f4f;border:3px dashed #d4a34e;border-radius:20px;padding:18px;box-shadow:0 5px 0 #265b5a55}
.reset-dialog::backdrop{background:#153f44a0}.reset-dialog h2{font-size:25px;margin-top:0}
.host-logo{position:absolute;z-index:2;right:clamp(9px,4vw,20px);top:calc(8px + env(safe-area-inset-top));width:clamp(78px,25vw,145px);height:auto}
.host-menu{margin-bottom:clamp(51px,9.5svh,100px)}
.magic-table .medal{filter:grayscale(1);color:#282c2d;background:#e3e5de;border-color:#888d88;font-variant-emoji:text}
@media(max-width:759px){.round .stage>.scene-art{max-height:42svh}.round .outcome-art>.scene-art{max-height:38svh}}
@media(min-width:760px){.host-screen{width:min(100%,56.25dvh)}.host-menu{width:90%}}
