*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:"Nunito",ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif;background:#183831;color:#173a31}button{font:inherit;font-weight:850;color:inherit;cursor:pointer;border:0;border-radius:16px;background:#e4eddc;min-height:48px;padding:8px 16px}button:disabled{opacity:.46;cursor:default}button:focus-visible{outline:3px solid #5368c0;outline-offset:3px}#game,#world,#shade{position:absolute;inset:0;overflow:hidden}#world canvas{display:block;width:100%;height:100%}#shade{pointer-events:none;background:linear-gradient(#163c3955,transparent 23%,transparent 62%,#163c3955)}header{position:absolute;inset:max(12px,env(safe-area-inset-top)) 16px auto;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{color:#fffbe4;font-weight:1000;font-size:clamp(22px,4vw,36px);letter-spacing:-.06em;text-shadow:0 3px #224d3b}.brand b{color:#ffe17d}#settings{font-size:24px;width:48px;padding:0}#roster{position:absolute;top:70px;left:16px;right:16px;display:flex;gap:6px;flex-wrap:wrap}.chip{background:#fdf8e8dc;border:2px solid transparent;border-radius:100px;padding:4px 10px;font-weight:800}.chip.active{border-color:#153a30;background:#ffe17d}#panel{position:absolute;bottom:max(14px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(calc(100% - 24px),570px);max-height:56%;overflow:auto;background:#fff9e8;border:2px solid #fff4c8;border-radius:24px;padding:12px 18px 16px;text-align:center;box-shadow:0 8px 28px #102b285e}#panel:empty{display:none}h1,h2,p{margin:4px 0 10px}h1,h2{font-weight:1000;letter-spacing:-.04em}h1{font-size:clamp(26px,6vw,48px)}h2{font-size:clamp(21px,5vw,35px)}.primary{background:#ffe17d;box-shadow:0 4px #d6a952}.secondary{background:#e5efde}.row{display:flex;justify-content:center;gap:8px;margin:9px 0;flex-wrap:wrap}.row.choices{flex-wrap:nowrap}.choices button{flex:1;font-size:32px}.choice-0{background:#ffdf85}.choice-1{background:#c9eefe}.choice-2{background:#e0d2ff}.pick{flex:1;min-width:64px;padding:7px 4px}.pick span{display:block;font-size:24px}.selected{outline:3px solid #31624d;outline-offset:-3px}.big{font-size:29px}.dice{display:inline-grid;grid-template-columns:repeat(3,12px);grid-template-rows:repeat(3,12px);gap:4px;padding:8px;background:#fff;border:2px solid #347159;border-radius:12px;vertical-align:middle}.dot{background:#25463a;border-radius:50%}.blank{visibility:hidden}.tappable{cursor:pointer}.dot.done{background:#db7f39}.dice-line{display:flex;gap:12px;justify-content:center;align-items:center;font-weight:1000;font-size:27px}.hintdots button{min-width:42px;padding:3px;font-size:26px}#counter,#landing{position:absolute;pointer-events:none;font-weight:1000}#counter{left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translateX(-50%);background:#fff9e8;border:3px solid #ffdf85;border-radius:30px;font-size:30px;padding:6px 25px}#counter:empty,#landing:empty{display:none}#landing{transform:translate(-50%,-100%);font-size:clamp(44px,10vw,82px);color:#fff3a6;-webkit-text-stroke:2px #253c2b;line-height:1.05;text-shadow:0 4px #143c35}dialog{border:0;border-radius:22px;background:#fff9e8;color:#173a31;padding:20px}dialog::backdrop{background:#123a367c}dialog label{display:block;margin:16px 0}dialog button{width:100%} @media(max-width:390px){#panel{padding-inline:10px}.chip{font-size:13px}}@media(max-height:460px){#panel{max-height:65%;width:min(50%,520px);left:auto;right:10px;transform:none}}
.tile-label{position:absolute;transform:translate(-50%,-50%);width:26px;height:26px;text-align:center;border-radius:50%;background:#fff3c9bd;color:#224d3b;font-weight:1000;pointer-events:none}
.dice:has(.tappable){grid-template-columns:repeat(3,34px);grid-template-rows:repeat(3,34px);gap:2px;padding:4px}.dice .tappable{min-height:0;padding:0;border-radius:50%;background:#dce9df;position:relative}.dice .tappable::after{content:"";position:absolute;inset:10px;background:#25463a;border-radius:50%}.dice .tappable.done{opacity:1;background:#ffe0a1}.dice .tappable.done::after{background:#b75a2d}
.row.pick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.pick-grid .pick{min-width:0;padding:3px 2px 4px;font-size:13px}.pick-grid img{display:block;width:100%;height:44px;object-fit:contain;mix-blend-mode:multiply}.pick-grid .selected{outline-offset:-3px}@media(min-width:650px){.row.pick-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-height:560px){.pick-grid img{height:30px}}
#panel[data-screen="main"]{bottom:max(20px,env(safe-area-inset-bottom));padding-block:18px 20px;background:#fff8dd}#panel[data-screen="main"] h2{font-size:clamp(38px,10vw,62px);line-height:1;color:#235b42;text-shadow:0 2px #e3c176}.menu-cast{display:flex;justify-content:center;gap:5px;margin:6px 0 12px}.menu-cast img{width:19%;height:clamp(48px,12vw,80px);object-fit:contain;mix-blend-mode:multiply}.count-choice{min-width:66px;font-size:23px}.map-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.map-card{min-height:68px;background:#dcefd4}.map-card.sunset{background:#ffdfae}.map-card span{display:block;font-size:23px}#panel h3{margin:5px 0;font-size:16px}.draft-slots{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px}.draft-slot{display:grid;gap:1px;padding:5px 2px;background:#eee8d9;border-radius:9px;font-size:clamp(9px,2.7vw,13px);overflow-wrap:anywhere}.draft-slot.current{background:#ffe17d}.draft-slot.locked{background:#cde8ce}.draft-slot b{font-size:12px}.answer-stars{color:#ad6b00;font-size:24px;letter-spacing:.2em;animation:answer-pop .52s ease-out both}#panel[data-screen="correct"]{background:#fff1b8;border-color:#ffda70}#panel[data-screen="correct"] p{font-size:24px;font-weight:900;margin-bottom:2px}@keyframes answer-pop{0%{transform:scale(.55);opacity:0}48%{transform:scale(1.2);opacity:1}100%{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.answer-stars{animation:none}}@media(max-height:700px){#panel[data-screen="draft"] .pick-grid img{height:28px}#panel[data-screen="draft"] .row{margin:5px 0}}
.catch-up,#panel[data-screen="correct"] .catch-up{font-size:14px;font-weight:850;color:#483471;background:#eee4ff;border-radius:12px;padding:5px 9px;margin:4px auto 8px;width:fit-content}
.map-card.lagoon{background:#bcece2}
.map-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.map-card{padding-inline:6px}
#panel[data-screen="storybook"]{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(calc(100% - 28px),720px);max-height:calc(100% - 24px);padding:clamp(14px,4vw,30px);background:#fff9e8;box-shadow:0 0 0 100vmax #15383266,0 12px 35px #183a4670;z-index:3}
#panel[data-screen="storybook"] h2{font-size:clamp(18px,4vw,25px);margin:0}
.storybook-line{font-size:clamp(2.25rem,8vw,4.5rem);font-weight:850;line-height:1.12;letter-spacing:-.035em;text-wrap:balance;text-align:center;margin:clamp(14px,4vw,30px) 0;color:#18372f}
@media(max-height:480px){.storybook-line{font-size:clamp(2rem,8vh,3rem)}}
#game:has(#panel[data-screen="main"]){background:#163820}
#game:has(#panel[data-screen="main"]) :is(header,#world,#shade){visibility:hidden}
#panel[data-screen="main"]{inset:0;transform:none;width:100%;height:100%;max-height:none;padding:0;border:0;border-radius:0;overflow:hidden;display:grid;place-items:center;background:transparent;box-shadow:none}
/* Background fills the viewport; the title and controls stay centred. */
.woodland-menu{
  width:100%;height:100%;box-sizing:border-box;position:relative;
  display:grid;place-items:center;
  padding:max(12px,env(safe-area-inset-top)) max(5vw,env(safe-area-inset-right))
    max(12px,env(safe-area-inset-bottom)) max(5vw,env(safe-area-inset-left));
  background:radial-gradient(ellipse at center,#14392782,transparent 72%),url('./board/meadow.webp') center/cover no-repeat;
}
.woodland-controls{display:grid;justify-items:center;gap:clamp(12px,4dvh,36px);z-index:1}
#panel[data-screen="main"] .woodland-controls h2{margin:0;width:min(76vw,760px);line-height:1}
.woodland-title{
  display:block;width:100%;height:auto;max-height:56dvh;object-fit:contain;
  object-position:center;filter:drop-shadow(0 6px 6px #122c1bbf);
}
.woodland-button{
  width:clamp(136px,25vw,248px);
  min-height:44px;height:clamp(44px,16dvh,78px);
  padding:0 .8em;border:0;border-radius:12px;color:#fff6d5;
  background:transparent url('./menu/woodland-plank.webp') center/contain no-repeat;
  filter:drop-shadow(0 4px 3px #23130bbb);
  font-size:clamp(17px,5dvh,30px);font-weight:950;
  text-shadow:0 2px 2px #321909,0 0 5px #2a160a;
  touch-action:manipulation;
}
.woodland-play{font-size:clamp(22px,6.5dvh,39px)}
@media(hover:hover){.woodland-button:hover{filter:brightness(1.12) drop-shadow(0 4px 3px #23130bbb)}}
.woodland-button:active{transform:translateY(2px)}
.woodland-button:focus-visible{outline:3px solid #fff1ab;outline-offset:3px}
@media(orientation:portrait){
  #panel[data-screen="main"] .woodland-controls h2{width:min(88vw,620px)}
  .woodland-button{width:min(66vw,250px)}
}
#game:has(#panel[data-screen="setup"]){background:#163820}
#game:has(#panel[data-screen="setup"]) :is(header,#world,#shade){visibility:hidden}
#panel[data-screen="setup"]{inset:0;transform:none;width:100%;height:100%;max-height:none;padding:0;border:0;border-radius:0;overflow:hidden;display:grid;place-items:center;background:transparent;box-shadow:none}
#panel[data-screen="setup"] h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.play-menu{
  width:min(100vw,177.778dvh);aspect-ratio:16/9;position:relative;
  background:url('./menu/play-reference.jpg') center/100% 100% no-repeat;
  container-type:inline-size;
}
/* Keep the illustrated signs and controls at full colour over the softened forest. */
.play-menu::before{
  content:'';position:absolute;inset:0;pointer-events:none;background:rgb(255 255 255 / 50%);
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1536 864' preserveAspectRatio='none'%3E%3Cpath fill='white' fill-rule='evenodd' d='M0 0H1536V864H0Z M122 82H273Q308 82 308 117V119Q308 154 273 154H122Q87 154 87 119V117Q87 82 122 82Z M662 23H861Q895 23 895 57V107Q895 141 861 141H662Q628 141 628 107V57Q628 23 662 23Z M560 152H974Q1011 152 1011 189V190Q1011 227 974 227H560Q523 227 523 190V189Q523 152 560 152Z M198 225H480Q550 225 550 295V456Q550 526 480 526H198Q128 526 128 456V295Q128 225 198 225Z M619 232H918Q978 232 978 292V458Q978 518 918 518H619Q559 518 559 458V292Q559 232 619 232Z M1046 233H1342Q1402 233 1402 293V458Q1402 518 1342 518H1046Q986 518 986 458V293Q986 233 1046 233Z M653 527H884Q910 527 910 553V554Q910 580 884 580H653Q627 580 627 554V553Q627 527 653 527Z M469 580H1054Q1099 580 1099 625V633Q1099 678 1054 678H469Q424 678 424 633V625Q424 580 469 580Z M558 688H970Q1038 688 1038 756V761Q1038 829 970 829H558Q490 829 490 761V756Q490 688 558 688Z'/%3E%3C/svg%3E");
  mask-size:100% 100%;mask-repeat:no-repeat;
}
.play-menu button{position:absolute;z-index:1;background:transparent;color:transparent;border:0;min-height:0;padding:0;touch-action:manipulation}
.play-menu button:focus-visible{outline:3px solid #fff0a0;outline-offset:2px}
.play-back{left:5.6%;top:9.4%;width:14.6%;height:8.5%}
.play-start{left:31.9%;top:79.2%;width:35.7%;height:17%}
.play-map{top:26.7%;height:33.3%;width:27.2%;border-radius:16%}
.play-map.meadow{left:8.05%;top:25.9%;width:27.9%;height:35.4%}
.play-map.lagoon{left:36.35%}
.play-map.snow{left:64.2%}
.play-map.meadow[aria-pressed=false]{
  background:url('./menu/play.webp') 11.33% 40%/362.26% 286.09% no-repeat;
  border-radius:16%;
}
.play-map:not(.meadow)[aria-pressed=true]{box-shadow:inset 0 0 0 clamp(2px,.52cqw,8px) #a8ff26,0 0 12px #b8fa5b88}
.play-map:not(.meadow)[aria-pressed=true]::after{
  content:'✓';position:absolute;right:4%;top:4%;display:grid;place-items:center;width:15%;aspect-ratio:1;
  background:#358e13;border:2px solid #d5ff6f;border-radius:50%;color:white;font-size:3cqw;line-height:1
}
.play-count{top:68.7%;height:8.4%;width:9.6%;border-radius:14%}
.play-count:nth-child(1){left:30.7%}
.play-count:nth-child(2){left:40.35%}
.play-count:nth-child(3){left:49.98%}
.play-count:nth-child(4){left:59.5%}
.play-count:nth-child(2)[aria-pressed=false],
.play-count:not(:nth-child(2))[aria-pressed=true]{
  color:#fff8d8;background:linear-gradient(#9bdc23,#529d10);box-shadow:inset 0 0 0 2px #d1ff74;
  font-size:3.7cqw;line-height:1;text-shadow:0 .18cqw #244312
}
.play-count:nth-child(2)[aria-pressed=false]{background:linear-gradient(#b76c38,#8e451d);box-shadow:inset 0 0 0 2px #d8975d;text-shadow:0 .18cqw #492309}
#game:has(#panel[data-screen="draft"]){background:#163820}
#game:has(#panel[data-screen="draft"]) :is(header,#world,#shade){visibility:hidden}
#panel[data-screen="draft"]{inset:0;transform:none;width:100%;height:100%;max-height:none;padding:0;border:0;border-radius:0;overflow:auto;display:grid;place-items:center;background:transparent;box-shadow:none}
#panel[data-screen="draft"] .monster-draft{
  position:relative;isolation:isolate;width:100%;min-height:100%;height:100%;
  display:grid;grid-template-rows:auto minmax(0,1fr) auto;justify-items:center;
  gap:clamp(6px,1.6dvh,18px);
  padding:max(8px,env(safe-area-inset-top)) max(4vw,env(safe-area-inset-right))
    max(8px,env(safe-area-inset-bottom)) max(4vw,env(safe-area-inset-left));
  background:#163820;overflow:auto;
}
.monster-draft::before{
  content:'';position:absolute;inset:-16px;z-index:-1;pointer-events:none;
  background:linear-gradient(#163b2555,#12362288),url('./board/meadow.webp') center/cover;
  filter:blur(12px);
}
.draft-header{
  display:grid;grid-template-columns:1fr minmax(0,3fr) 1fr;
  align-items:center;width:min(100%,1060px);gap:4px;
}
#panel[data-screen="draft"] h2{margin:0;text-align:center;line-height:1}
.draft-header h2 img{display:block;width:100%;height:clamp(34px,13dvh,100px);object-fit:contain}
.draft-turn{
  justify-self:end;margin:0;padding:.4em .65em;border:2px solid #e8a657;border-radius:30px;
  background:#633012;color:#fff4cc;font-size:clamp(11px,2.7dvh,22px);font-weight:900;text-align:center;
}
.draft-portraits{
  align-self:center;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  width:min(100%,720px,calc(max(82px,100dvh - 156px) * 2));
  gap:clamp(4px,1.3dvh,14px);
}
.draft-portrait{
  position:relative;display:grid;place-items:center;aspect-ratio:1;min-width:0;min-height:0;
  padding:10%;border:0;border-radius:16%;background:radial-gradient(#648844,#254d34);
}
.draft-portrait::before{
  content:'';position:absolute;inset:-1%;pointer-events:none;
  background:url('./menu/quick-stage-frame.webp') center/100% 100% no-repeat;z-index:1;
}
.draft-portrait img{width:100%;height:100%;min-height:0;object-fit:contain;filter:drop-shadow(0 4px 2px #18281e80);transition:transform .2s ease;pointer-events:none}
.draft-portrait:disabled{opacity:1}
.draft-portrait.unavailable img{filter:grayscale(1) brightness(.76)}
.draft-portrait:is([aria-pressed=true],:focus-visible){outline:3px solid #c5ee82;outline-offset:1px}
.draft-portrait[aria-pressed=true]::after,.draft-badge{
  position:absolute;z-index:2;display:grid;place-items:center;min-width:20px;width:22%;aspect-ratio:1;
  border:2px solid #d5ff6f;border-radius:50%;color:white;background:#358e13;font-size:clamp(11px,2.8dvh,26px);
}
.draft-portrait[aria-pressed=true]::after{content:'✓';top:4%;right:4%}
.draft-badge{bottom:5%;right:5%;background:#263629;border-color:#b4b8b4}
.draft-portrait:not(:disabled):is(:hover,:focus-visible) img{transform:scale(1.06) rotate(-2deg)}
.draft-footer button{
  min-height:38px;padding:.4em 1.6em;color:#fff6d5;
  background:transparent url('./menu/woodland-plank.webp') center/contain no-repeat;
  text-shadow:0 2px 2px #321909;font-size:clamp(14px,4dvh,25px);
}
@media(orientation:portrait){
  #panel[data-screen="draft"] .monster-draft{grid-template-rows:auto auto auto}
  .draft-portraits{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,330px)}
}
@media(prefers-reduced-motion:reduce){.draft-portrait img{transition:none}.draft-portrait:not(:disabled):is(:hover,:focus-visible) img{transform:none}}
#game{width:100%;height:100dvh}
#game:fullscreen{width:100%;height:100%;background:#163820}
@media(orientation:landscape){
 /* Keep the painted artwork and its overlaid controls in the same 16:9 frame. */
 .play-menu{
   width:min(
     calc(100vw - 2 * max(env(safe-area-inset-left),env(safe-area-inset-right))),
     calc((100dvh - 2 * max(env(safe-area-inset-top),env(safe-area-inset-bottom))) * 16 / 9)
   );
   aspect-ratio:16/9;
 }
 header{left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right))}
 #roster{left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right))}
 #panel:not([data-screen="main"]):not([data-screen="setup"]):not([data-screen="draft"]){max-width:calc(100% - max(24px,env(safe-area-inset-left) + env(safe-area-inset-right)))}
}
@media(orientation:landscape) and (max-height:460px){
 #panel:not([data-screen="main"]):not([data-screen="setup"]):not([data-screen="draft"]):not([data-screen="storybook"]){right:max(10px,env(safe-area-inset-right))}
}
#turn-badge{color:#fff4cf;font-size:clamp(14px,2.9vw,42px);line-height:1.05;font-weight:950;letter-spacing:-.04em}
#game[data-racing] header{z-index:2;align-items:flex-start;justify-content:center;pointer-events:none}
#game[data-racing] header>*{pointer-events:auto}
#game[data-racing] #roster,#game:not([data-racing]) header{display:none}
#game[data-racing] :is(#turn-badge,#counter),#panel[data-screen="loading"],#panel[data-screen="question"] :is(h2,.choices){
 background:repeating-linear-gradient(178deg,#8a431c22 0 1px,transparent 2px 9px),linear-gradient(#b8622d,#8e3d1b);
 border:clamp(2px,.42vw,7px) solid #e99b4f;box-shadow:inset 0 0 0 2px #61270f,0 4px 0 #55260d,0 6px 12px #12281366;
 border-radius:clamp(12px,2.6vw,40px);text-shadow:0 2px #2d1609,1px 0 #2d1609,-1px 0 #2d1609
}
#turn-badge{display:flex;align-items:center;gap:.25em;padding:0 .45em 0 0;white-space:nowrap}
#turn-badge img{width:1.65em;height:1.65em;object-fit:contain;border-radius:50%;background:#c9853f}
#panel[data-screen="question"]{
 left:50%;right:auto;transform:translateX(-50%);bottom:max(7px,env(safe-area-inset-bottom));width:min(94%,790px);
 max-width:94%;max-height:64%;overflow:visible;display:flex;flex-direction:column;align-items:center;gap:3px;
 padding:0;background:none;box-shadow:none;border:0;color:#fff2cc;
}
#panel[data-screen="question"] h2{margin:0;padding:.06em .8em .1em;font-size:clamp(24px,5.2vh,62px)}
#panel[data-screen="question"] .dice-line{order:-2;margin:0 0 4px;font-size:clamp(24px,6vh,66px);text-shadow:0 2px #402511}
#panel[data-screen="question"] .dice{
 --pip-size:clamp(7px,2.1vh,21px);grid-template-columns:repeat(3,var(--pip-size));grid-template-rows:repeat(3,var(--pip-size));
 gap:clamp(3px,.6vh,7px);padding:clamp(5px,1.45vh,14px);border:1px solid #fcf3df;border-radius:24%;
 background:linear-gradient(145deg,#fff8e7,#e8c895);box-shadow:inset 0 -5px 7px #a77a5150,0 6px 9px #20180c68
}
#panel[data-screen="question"] .dot{background:#422819;box-shadow:inset 0 2px 3px #170f0a}
#panel[data-screen="question"] .dice:has(.tappable){--pip-size:clamp(18px,3.2vh,34px)}
#panel[data-screen="question"] .dot.tappable{background:#f0d7a9}
#panel[data-screen="question"] .dot.tappable::after{inset:24%;background:#422819}
#panel[data-screen="question"] .dot.tappable.done::after{background:#b75a2d}
#panel[data-screen="question"] .choices{width:100%;padding:clamp(5px,1.2vh,14px);margin:0}
#panel[data-screen="question"] .choices button{
 min-height:0;padding:0 .35em .07em;font-size:clamp(28px,7.5vh,76px);line-height:1.08;color:#fff6da;
 background:linear-gradient(#a9df35,#6caf16);border:2px solid #c6ef68;border-radius:100px;
 text-shadow:0 3px #253210,-1px 0 #253210,1px 0 #253210;
 box-shadow:inset 0 -4px 0 #477d1580,0 3px 0 #345311;
}
#panel[data-screen="question"] .choices button:active{transform:scale(.96)}
#panel[data-screen="question"] .row:not(.choices){margin:2px 0 0}
#panel[data-screen="question"] .row:not(.choices) button{min-height:26px;padding:2px 10px;font-size:12px;color:#fff4d4;background:#633718}
#panel[data-screen="question"] [role="status"]{background:#47321e;color:#fff5dd;border-radius:8px;padding:3px 8px}
/* Race prompts use the viewport centre in both landscape and portrait. */
#game[data-racing] #panel:not([data-screen="main"]):not([data-screen="setup"]):not([data-screen="draft"]){
  inset:50% auto auto 50%;
  transform:translate(-50%,-50%);
  max-height:calc(100% - 24px);
}
#game[data-racing] #panel[data-screen="rolling"]:not([data-screen="main"]):not([data-screen="setup"]):not([data-screen="draft"]){
  inset:auto auto max(14px,env(safe-area-inset-bottom)) 50%;
  transform:translateX(-50%);
  width:max-content;padding:6px 18px;
}
#panel[data-screen="rolling"] h2{margin:0;font-size:clamp(16px,4vh,26px)}
#game[data-racing] #panel[data-screen="answer-feedback"]{
  width:max-content;background:none;border:0;padding:0;box-shadow:none;pointer-events:none;
}
#panel[data-screen="answer-feedback"] h2{
  margin:0;font-size:clamp(76px,23vh,170px);line-height:1.15;
  filter:drop-shadow(0 4px 5px #202e1c80);
}
.play-menu .play-dice-option{left:auto;right:5%;top:81%;padding:.5em .65em;min-height:30px;font-size:clamp(10px,1.55cqw,24px);color:#fff4d0;background:linear-gradient(#af6632,#723616);border:2px solid #e4a365;box-shadow:0 3px #42210d;text-shadow:0 1px #3a1a09;white-space:nowrap}
.number-die{display:grid;place-items:center;min-width:1.85em;aspect-ratio:1;background:linear-gradient(145deg,#fff8e7,#d6b37e);color:#422819;clip-path:polygon(50% 0,98% 35%,80% 96%,20% 96%,2% 35%);font-weight:900;text-shadow:none}

#game[data-racing] #panel:not([data-screen="question"]):not([data-screen="answer-feedback"]):not(:empty){
  color:#fff4cf;
  background:repeating-linear-gradient(177deg,#51230e18 0 1px,transparent 2px 11px),linear-gradient(155deg,#b36731,#713615);
  border:clamp(3px,.5vw,7px) solid #e9a258;
  border-radius:clamp(18px,3vw,38px);
  box-shadow:inset 0 0 0 2px #60290f,0 5px #50250f,0 10px 22px #132c1d65;
  text-shadow:0 2px #54250f;
}
#game[data-racing] #panel[data-screen="storybook"]{
  box-shadow:0 0 0 100vmax #15383266,inset 0 0 0 2px #60290f,0 5px #50250f;
}
#game[data-racing] .storybook-line{background:#fff5db;border-radius:14px;padding:.24em;color:#18372f;text-shadow:none}
.monster-prompt{display:flex;align-items:center;justify-content:center;gap:.5em;margin:0 0 .2em}
.monster-prompt img{width:clamp(48px,11vh,104px);height:clamp(48px,11vh,104px);object-fit:contain;background:radial-gradient(#e3ac62,#935020);border:2px solid #efb66b;border-radius:50%;filter:drop-shadow(0 2px 1px #4e260b)}
#game[data-racing] #panel:not([data-screen="question"]) button{
  min-height:36px;color:#fff4d0;background:linear-gradient(#ae6b38,#733a1c);border:2px solid #dea66e;
  text-shadow:0 1px #43200f;box-shadow:0 2px #50250f;
}
#game[data-racing] #panel:not([data-screen="question"]) button.primary{
  background:linear-gradient(#a9df35,#6caf16);border-color:#c6ef68;text-shadow:0 2px #3d541c;box-shadow:0 3px #3b5915;
}

.play-menu .play-map:is(.magnet,.campaign){
  left:7.2%;top:65%;width:18%;height:23%;border-radius:15%;
  border:clamp(3px,.55cqw,9px) solid #cf7a38;
  background:#78bdce url('./menu/magnet.webp') center/cover no-repeat;
  box-shadow:inset 0 0 0 2px #ffe0a5,0 0 0 1px #713918,0 4px 0 #763719,0 7px 10px #203c2e66;
  color:#fff5d4;display:grid;align-content:end;padding:.18em;
  font-size:clamp(11px,1.55cqw,25px);text-shadow:0 2px #482211;
}
.play-card-title{
  border-radius:100px;
  background:repeating-linear-gradient(177deg,#72391628 0 1px,transparent 2px 6px),linear-gradient(#b76231,#853b1c);
  border:1px solid #f4b571;box-shadow:inset 0 0 0 1px #6b3218;
  line-height:1.25;
}
.play-menu .play-map:is(.magnet,.campaign)[aria-pressed=true]{
  border-color:#a8e821;
  box-shadow:inset 0 0 0 2px #efffae,0 0 0 2px #588b16,0 0 12px #b8fa5b88;
}

#game[data-racing] #counter{
  bottom:max(18px,calc(env(safe-area-inset-bottom) + 8px));
  z-index:2;color:#fff4cf;padding:.2em .85em;
  font-size:clamp(22px,5.2vh,38px);line-height:1.15;
  font-variant-numeric:tabular-nums;white-space:nowrap;
}
#panel[data-screen="loading"]{
  inset:auto auto max(24px,calc(env(safe-area-inset-bottom) + 12px)) 50%;
  transform:translateX(-50%);
  width:min(calc(100% - 32px),440px);padding:12px 20px 16px;
  color:#fff4cf;
}
#game:has(#panel[data-screen="loading"]){
  background:#244937 url('./board/meadow.webp') center/cover;
}
#panel[data-screen="loading"] h2{
  font-size:clamp(18px,4.5vw,26px);margin:0 0 9px;
}
#panel[data-screen="loading"] progress{
  appearance:none;width:100%;height:16px;display:block;overflow:hidden;
  border:2px solid #f2ba71;border-radius:20px;background:#4b2516;
}
#panel[data-screen="loading"] progress::-webkit-progress-bar{background:#4b2516}
#panel[data-screen="loading"] progress::-webkit-progress-value{
  background:linear-gradient(#c7f36e,#75ad24);border-radius:20px;
}
#panel[data-screen="loading"] progress::-moz-progress-bar{
  background:linear-gradient(#c7f36e,#75ad24);border-radius:20px;
}

#landing{
  z-index:5;top:0;left:0;
  will-change:transform;
  font-size:clamp(40px,9vh,72px);
}

#game[data-racing] #panel[data-screen="challenge-demo"]{
  inset:auto auto max(18px,calc(env(safe-area-inset-bottom) + 8px)) 50%;
  transform:translateX(-50%);
  width:min(160px,42vw);padding:0;overflow:hidden;pointer-events:none;
  border:3px solid #e9a258;border-radius:100px;
  box-shadow:0 3px #50250f;background:#4b2516;
}
#panel[data-screen="challenge-demo"] progress{
  appearance:none;width:100%;height:11px;display:block;background:#4b2516;
}
#panel[data-screen="challenge-demo"] progress::-webkit-progress-bar{background:#4b2516}
#panel[data-screen="challenge-demo"] progress::-webkit-progress-value{background:linear-gradient(#d8f981,#82b92e)}
#panel[data-screen="challenge-demo"] progress::-moz-progress-bar{background:linear-gradient(#d8f981,#82b92e)}

#game[data-racing] #panel[data-screen="challenge-demo"]:has(.star-countdown){overflow:visible}
.star-countdown{
  position:fixed;left:50%;bottom:26vh;transform:translateX(-50%);
  color:#fff2ac;font-size:clamp(64px,23vh,150px);line-height:1;
  -webkit-text-stroke:2px #41230f;text-shadow:0 5px #41230f;
}
.cave-view{position:absolute;inset:0;background:#171929;color:#fff1c4}
.cave-view canvas{display:block;width:100%;height:100%}
#game[data-campaign] #shade{display:none}
.cave-title,.cave-count,#game[data-campaign] #panel[data-screen="cave-controls"]{
  color:#fff1c4;background:linear-gradient(#885538,#4d2a21);
  border:3px solid #ce9460;box-shadow:0 4px #331c1a;text-shadow:0 2px #331c1a;
}
.cave-title,.cave-count{
  position:absolute;left:50%;transform:translateX(-50%);border-radius:30px;
  padding:.3em .8em;white-space:nowrap;font-size:clamp(17px,4vh,31px);
}
.cave-title{top:max(9px,env(safe-area-inset-top))}
.cave-count{bottom:max(14px,env(safe-area-inset-bottom));font-weight:900}
.cave-count:empty{display:none}
#game[data-campaign] #panel[data-screen="cave-controls"]{
  width:min(94%,440px);max-height:49%;bottom:max(12px,env(safe-area-inset-bottom));
  left:50%;right:auto;transform:translateX(-50%);padding:5px 12px;
}
#game[data-campaign] #panel h2{font-size:clamp(17px,5vh,30px);margin:3px}
#game[data-campaign] #panel .row{margin:4px 0}
#game[data-campaign] #panel button{min-height:34px;text-shadow:none}


.play-menu .play-map.campaign{
  left:auto;right:7.2%;
  background-image:url('./menu/cave-campaign.webp');
}
.play-menu .play-dice-option{
  right:5.6%;top:9.4%;width:14.6%;height:8.5%;min-height:0;
  padding:0;border-radius:40px;
  border:clamp(2px,.4cqw,6px) solid #e9a258;
  box-shadow:inset 0 0 0 2px #713918,0 3px #6a351b;
}
.play-menu .play-dice-option:disabled{opacity:1;cursor:default}

#game[data-campaign] #panel[data-screen="cave-stage-picker"]{
  inset:50% auto auto 50%;transform:translate(-50%,-50%);
  width:min(92%,760px);max-height:94%;
  padding:clamp(10px,3vh,25px);
  color:#fff4cf;background:linear-gradient(#915538,#4d2a21);
  border:4px solid #e9a258;box-shadow:0 5px #331c1a;
}
#game[data-campaign]:has(#panel[data-screen="cave-stage-picker"]){
  background:#282940 url('./board/cave.webp') center/cover;
}
.cave-stage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.cave-stage-card{
  display:grid;align-content:end;min-height:clamp(65px,25vh,130px);
  padding:6px;color:#fff3d4;font-size:clamp(11px,2vw,18px);
  border:2px solid #edb373;
  background:linear-gradient(transparent,#251731 85%),url('./menu/cave-campaign.webp') center/cover;
  text-shadow:0 2px #321f27;
}
.cave-stage-card:nth-child(2){background-position:70% center}
.cave-stage-card:nth-child(3){background-position:20% center}
.cave-stage-card:nth-child(4){
  background:linear-gradient(transparent,#251731 85%),url('./board/cave-spike.webp') center/auto 72% no-repeat,#32324d;
}
.cave-stage-card:disabled{filter:grayscale(.55);opacity:.68}
@media(orientation:portrait){.cave-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cave-spike{
  position:absolute;z-index:3;transform:translate(-50%,-100%);
  min-height:0;width:clamp(55px,17vh,115px);height:clamp(62px,19vh,135px);
  padding:0;background:transparent url('./board/cave-spike.webp') center bottom/contain no-repeat;
  touch-action:manipulation;user-select:none;
  --spike-outline:drop-shadow(1px 0 #ff4141) drop-shadow(-1px 0 #ff4141)
    drop-shadow(0 1px #ff4141) drop-shadow(0 -1px #ff4141);
  filter:var(--spike-outline) drop-shadow(0 0 7px #ff3434);
  animation:cave-spike-pulse 1s ease-in-out infinite;
}
.cave-spike:disabled{opacity:1;pointer-events:none}
.cave-spike-hint{
  position:absolute;z-index:2;bottom:12%;left:50%;transform:translateX(-50%);
  padding:.35em .75em;border:3px solid #e9a258;border-radius:20px;
  background:#703d26;color:#fff4cf;white-space:nowrap;font-weight:900;
  font-size:clamp(16px,4vh,28px);pointer-events:none;
}

@keyframes cave-spike-pulse{
  0%,100%{filter:var(--spike-outline) drop-shadow(0 0 3px #ff34349c)}
  50%{filter:var(--spike-outline) drop-shadow(0 0 12px #ff3939)}
}
@media(prefers-reduced-motion:reduce){.cave-spike{animation:none}}

.cave-stage-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.cave-stage-card{min-height:clamp(62px,19vh,108px)}
.cave-stage-card.water-stage-card{
  background:linear-gradient(transparent,#143b37 90%),url('./board/lagoon.webp') center/cover;
}
@media(orientation:portrait){.cave-stage-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.campaign-fish{
  position:absolute;z-index:3;transform:translate(-50%,-65%);
  min-height:0;width:clamp(66px,20vh,125px);height:clamp(66px,20vh,125px);
  padding:0;background:transparent url('./board/campaign-fish.webp') center/contain no-repeat;
  touch-action:manipulation;filter:drop-shadow(0 0 7px #fff39e);
}
.campaign-fish:disabled{opacity:1;pointer-events:none}
.cave-exit-thumbs{font-size:clamp(42px,17vh,104px);line-height:1.1}

.campaign-fish{transition:scale .18s ease-out;transform-origin:25% 62%}
.campaign-fish.fish-mouth-open{background-image:url('./board/campaign-fish-open.webp')}
.campaign-fish.fish-mouth-shut{background-image:url('./board/campaign-fish-shut.webp')}
.campaign-fish.fish-swollen{scale:1.4}
@media(prefers-reduced-motion:reduce){.campaign-fish{transition:none}}

#game[data-campaign] #panel:is([data-screen="campaign-fork"],[data-screen="campaign-correct"]){
  inset:50% auto auto 50%;transform:translate(-50%,-50%);
  width:max-content;max-height:none;background:none;border:0;box-shadow:none;overflow:visible;
}
#game[data-campaign] #panel[data-screen="campaign-correct"] h2{font-size:clamp(70px,24vh,170px)}
#game[data-campaign] #panel[data-screen="campaign-fork"] h2{
  margin:auto;width:3.2em;height:3.2em;display:grid;place-items:center;
  background:#be2529;color:#fff;clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%);
  font-size:clamp(24px,8vh,56px);
}
#game[data-campaign] #panel[data-screen="campaign-fork"] button{
  color:#fff;background:#498b24;border:3px solid #d0ed9e;
  min-width:1.65em;font-size:clamp(36px,10vh,72px);line-height:1;
}

.campaign-coins{
  position:absolute;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));
  padding:.35em .65em;border:2px solid #e9a258;border-radius:22px;background:#49291d;
  color:#fff7dc;font-size:clamp(16px,4vh,26px);font-weight:900;
}
#game[data-campaign] #panel:is([data-screen="campaign-roll"],[data-screen="campaign-question"],[data-screen="campaign-clear"],[data-screen="campaign-intro"]){
  inset:auto auto max(12px,env(safe-area-inset-bottom)) 50%;transform:translateX(-50%);
  width:min(94%,480px);max-height:60%;color:#fff5d9;background:#48281d;
  border:3px solid #e9a258;box-shadow:0 4px #291613;
}
#game[data-campaign] #panel[data-screen="campaign-roll"]{
  background:none;border:0;box-shadow:none;padding:0;
}
#game[data-campaign] #panel[data-screen="campaign-roll"] h2{
  background:#48281d;border-radius:12px;padding:.2em .55em;width:max-content;max-width:100%;margin:0 auto;
}
#game[data-campaign] #panel:is([data-screen="campaign-roll"],[data-screen="campaign-question"],[data-screen="campaign-clear"],[data-screen="campaign-intro"]) button{
  color:#27180d;background:#ffd875;border:2px solid #ffedab;min-height:44px;
}
#game[data-campaign] #panel[data-screen="campaign-roll"] button{
  min-width:6em;font-size:clamp(24px,7vh,42px);box-shadow:0 4px #80511e;
}
#game[data-campaign] #panel[data-screen="campaign-question"] h2{
  font-size:clamp(34px,11vh,62px);line-height:1.05;
}
#game[data-campaign] #panel[data-screen="campaign-question"] button{
  font-size:clamp(25px,8vh,44px);line-height:1;
}
#game[data-campaign] #panel[data-screen="campaign-clear"] button.campaign-exit{
  background:#fff1d4;border-color:#edc58a;
}

.campaign-power{
  position:absolute;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));
  padding:.35em .65em;border:2px solid #cc8aff;border-radius:22px;background:#38214c;
  color:#fbecff;font-size:clamp(16px,4vh,26px);font-weight:900;
}

#game[data-campaign] #panel[data-screen="campaign-movie"]{
  inset:0;transform:none;width:100%;max-width:none;height:100%;max-height:none;
  z-index:10;display:grid;place-items:center;padding:0;border:0;border-radius:0;
  background:#100e1c;box-shadow:none;overflow:hidden;
}
#panel[data-screen="campaign-movie"] video{width:100%;height:100%;object-fit:contain}
#panel[data-screen="campaign-movie"] .row{
  position:absolute;bottom:max(12px,env(safe-area-inset-bottom));right:max(12px,env(safe-area-inset-right));
}
#panel[data-screen="campaign-movie"] button{background:#ffd875;color:#27180d}

.cave-stage-card.winter-stage-card{
  background:linear-gradient(transparent,#17344f 92%),url('./board/campaign-winter-lagoon.webp') center/cover;
}

.campaign-rock-target{
  position:absolute;z-index:3;transform:translate(-50%,-50%);
  width:clamp(52px,16vh,86px);height:clamp(48px,12vh,65px);
  min-height:0;padding:0;border:2px dashed #ffe182;border-radius:50%;
  background:transparent;box-shadow:0 0 10px #f5be69;
  touch-action:manipulation;
}

#game[data-campaign] #panel[data-screen="campaign-title-card"]{
  inset:0;transform:none;width:100%;max-width:none;height:100%;max-height:none;
  z-index:10;display:grid;place-items:center;padding:24px;border:0;border-radius:0;
  background:#000;color:#fff;box-shadow:none;text-align:center;
}
#game[data-campaign] #panel[data-screen="campaign-title-card"] h2{
  color:#fff;font-size:clamp(22px,6vw,58px);text-shadow:none;
}

.spring-bond-choices button[aria-pressed="true"]{
  outline:3px solid #c797ff;opacity:.7;
}

.woodland-menu.mode-menu,.woodland-menu.quick-menu{
  position:relative;grid-template-columns:1fr;grid-template-rows:auto;
}

.woodland-back,.quick-options button:not(.woodland-button){
  border:2px solid #e3aa63;color:#fff4d5;background:linear-gradient(#996039,#58351d);
  box-shadow:0 3px #382414;text-shadow:0 1px #24150b;
}
.mode-menu .woodland-back{
  position:absolute;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));
}
.woodland-menu.quick-menu{
  grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(6px,2dvh,18px);
  overflow:auto;isolation:isolate;
  padding:max(8px,env(safe-area-inset-top)) max(4vw,env(safe-area-inset-right))
    max(8px,env(safe-area-inset-bottom)) max(4vw,env(safe-area-inset-left));
  background:#18594a;
}
.quick-scenery{position:absolute;inset:0;overflow:hidden;z-index:-1;pointer-events:none}
.quick-scenery::before,.quick-scenery::after{
  content:'';position:absolute;inset:-6%;
  transition:translate .22s ease-out;
}
.quick-scenery::before{
  background:linear-gradient(#0c382843,#102d2290),url('./board/lagoon.webp') center/cover no-repeat;
  translate:calc(var(--scenery-x,0)*-10px) calc(var(--scenery-y,0)*-8px);
}
.quick-scenery::after{
  background:url('./menu/quick-river-leaves.webp') center/100% 100% no-repeat;
  translate:calc(var(--scenery-x,0)*24px) calc(var(--scenery-y,0)*16px);
  transform-origin:top center;animation:quick-canopy-sway 8s ease-in-out infinite alternate;
}
@keyframes quick-canopy-sway{from{transform:rotate(-.6deg) translateX(-5px)}to{transform:rotate(.6deg) translateX(5px)}}
@media(prefers-reduced-motion:reduce){
  .quick-scenery::before,.quick-scenery::after{animation:none;transition:none;translate:none}
}
.quick-bar{width:min(100%,1180px);display:flex}
.quick-bar button{min-height:34px;padding:.25em .8em}
.quick-stages{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(4px,1.2vw,18px);
  width:min(100%,1180px,calc(max(65px,100dvh - 154px) * 5));
}
.quick-stage{
  position:relative;isolation:isolate;min-width:0;min-height:0;width:100%;aspect-ratio:1;
  padding:0 9% 12%;border:0;border-radius:16%;
  display:grid;align-items:end;justify-items:center;text-align:center;
  color:#fff7d9;text-shadow:0 2px 3px #211409;
  background:linear-gradient(transparent 22%,#281b12eb),var(--stage-art) center/cover;
  font-size:clamp(11px,2.1vw,22px);line-height:1.1;
}
.quick-stage::after{
  content:'';position:absolute;inset:-1%;pointer-events:none;z-index:1;
  background:url('./menu/quick-stage-frame.webp') center/100% 100% no-repeat;
}
.quick-stage.meadow{--stage-art:url('./board/meadow.webp')}
.quick-stage.lagoon{--stage-art:url('./board/lagoon.webp')}
.quick-stage.snow{--stage-art:url('./board/snow.webp')}
.quick-stage.magnet{--stage-art:url('./menu/magnet.webp')}
.quick-stage.random{
  background:url('./menu/woodland-question.webp') center 24%/auto 55% no-repeat,
    linear-gradient(#4629073d,#44260bcd),url('./menu/quick-wood.webp') center/cover;
}
.quick-stage:is([aria-pressed="true"],:focus-visible){outline:3px solid #dcfda7;outline-offset:1px}
.quick-stage[aria-pressed="true"] > span{color:#e2ffac}
.quick-options{
  width:min(100%,860px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(4px,2vw,20px);
}
.quick-section{
  min-width:0;display:grid;place-items:center;padding:4px 7px;color:#fff7d9;

}
.quick-players{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:4px}
.quick-players span{flex-basis:100%;text-align:center;font-weight:900}
.quick-options button:not(.woodland-button){min-height:34px;padding:.2em .5em;font-size:clamp(12px,1.9vw,21px)}
.quick-players button[aria-pressed="true"]{outline:2px solid #c5ee82;outline-offset:-1px}
@media(orientation:portrait){
  .quick-stages{grid-template-columns:repeat(6,minmax(0,1fr));width:min(100%,560px)}
  .quick-stage{grid-column:span 2;font-size:clamp(11px,3vw,17px)}
  .quick-stage:nth-child(4){grid-column:2/span 2}
}
.woodland-menu.mode-menu{
  padding:0;
  background:#63411e url('./menu/woodland-mode-split.webp') center/100% 100% no-repeat;
}
.mode-split{position:absolute;inset:0}
.mode-menu .woodland-back{z-index:2}
.mode-choice{
  position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;
  display:grid;align-items:center;background:transparent;
  color:#fff4c9;text-shadow:0 3px #35200f,0 0 12px #211306;
  font-size:clamp(22px,min(6.4vw,16dvh),94px);font-weight:1000;
  touch-action:manipulation;
}
.mode-campaign{clip-path:polygon(0 0,62% 0,58% 15%,53% 35%,47% 57%,41% 78%,35% 100%,0 100%);padding:0 51% 9dvh 0}
.mode-quick{clip-path:polygon(62% 0,100% 0,100% 100%,35% 100%,41% 78%,47% 57%,53% 35%,58% 15%);padding:9dvh 0 0 51%}
.mode-choice:is(:focus-visible,:active){background:#ffe5a030}
@media(hover:hover){.mode-choice:hover{background:#ffe5a024}}
@media(orientation:portrait){
  .mode-campaign{clip-path:polygon(0 0,100% 0,100% 41%,0 59%);padding:0 0 45dvh}
  .mode-quick{clip-path:polygon(0 59%,100% 41%,100% 100%,0 100%);padding:45dvh 0 0}
  .woodland-menu.mode-menu{background:#63411e url('./menu/woodland-plank.webp') center/cover no-repeat}
  .mode-campaign{background:#965c2970}
  .mode-quick{background:#244c3280}
}

button.woodland-arrow{
  width:clamp(58px,12vw,108px);height:clamp(48px,13dvh,76px);
  min-height:44px;padding:0;border:0;border-radius:8px;
  background:transparent url('./menu/woodland-back-arrow.webp') center/contain no-repeat;
  box-shadow:none;filter:drop-shadow(0 3px 2px #1e160bb0);
}
button.woodland-arrow:focus-visible{outline:3px solid #fff1ab;outline-offset:2px}
.quick-players span,.quick-dice-group span,.quick-options button.quick-start{
  display:grid;place-items:center;
  color:#fff5d0;font-weight:950;text-shadow:0 2px 3px #29150b;
  background:transparent url('./menu/woodland-plank.webp') center/contain no-repeat;
}
.quick-players span,.quick-dice-group span{width:100%;min-height:30px}
.quick-dice-group{display:grid;justify-items:center;gap:4px;min-width:0;width:100%}
.quick-options button.quick-start{
  width:100%;height:clamp(44px,15dvh,75px);border:0;box-shadow:none;
  font-size:clamp(17px,3vw,32px);
}
