:root{--menu-ink:#081711;--menu-gold:#d9bd78;--menu-paper:#f0e9d4;--menu-muted:#9faa98}
dialog.menu-flow{inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:radial-gradient(ellipse at 50% 40%,#284632,#081711 70%);overflow:auto;box-shadow:none}
dialog.menu-flow::backdrop{background:#081711;backdrop-filter:none}
dialog.menu-flow #modal-content{position:relative;width:min(600px,calc(100% - 48px));box-sizing:border-box;margin:clamp(60px,14vh,150px) auto 40px;padding:38px;border:1px solid #d9bd7855;background:#0c2118;box-shadow:0 30px 80px #0005}
dialog.menu-flow #modal-content::before{content:'♠';display:block;font:40px Georgia,serif;color:var(--menu-gold);margin-bottom:28px}
dialog.menu-flow button{min-height:44px}
@media(max-width:760px){dialog.menu-flow #modal-content{padding:24px;margin-top:40px}dialog.menu-flow #modal-content::before{margin-bottom:20px}}
dialog.main-menu{inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:var(--menu-ink);color:var(--menu-paper);overflow:auto;box-shadow:none}
dialog.main-menu::backdrop{background:var(--menu-ink);backdrop-filter:none}
dialog.main-menu #modal-content{padding:0;max-width:none}
dialog.main-menu #modal-content::before{display:none}
.title-screen{position:relative;isolation:isolate;min-height:100dvh;box-sizing:border-box;padding:28px clamp(24px,5.5vw,88px) 20px;display:flex;flex-direction:column;background:radial-gradient(ellipse at 78% 45%,#314b344d,transparent 54%),radial-gradient(ellipse at 20% 0%,#25433266,transparent 65%),#081711;overflow:hidden}
.title-screen::before{content:'';position:absolute;z-index:-1;inset:12px;border:1px solid #d9bd7826;pointer-events:none}
.title-screen::after{content:'';position:absolute;z-index:-1;width:70vw;height:70vw;right:-30vw;top:-40vw;border:1px solid #d9bd781c;border-radius:50%;box-shadow:0 0 0 50px #d9bd7805,0 0 0 120px #d9bd7804;pointer-events:none}
.menu-header{display:flex;align-items:center;gap:18px;min-height:48px}
.menu-seal{display:grid;place-items:center;width:38px;height:38px;border:1px solid #d9bd7855;transform:rotate(45deg);color:var(--menu-gold);font:24px Georgia;background:#25422c}
.menu-edition{font:10px Arial,sans-serif;letter-spacing:3px;color:var(--menu-gold)}
.menu-tools{display:flex;gap:9px;margin-left:auto}
.title-screen button{font-family:Arial,sans-serif;cursor:pointer;text-transform:none;letter-spacing:0;box-shadow:none}
.title-screen .menu-tool{margin:0;padding:9px 13px;min-height:36px;border:1px solid #d9bd7833;border-radius:3px;background:transparent;color:var(--menu-muted);font-size:10px;letter-spacing:1px}
.menu-body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:3vw;align-items:center;flex:1;width:100%;max-width:1500px;margin:38px auto 30px}
.menu-content{position:relative;z-index:2;max-width:640px}
.menu-kicker{font:9px/1.5 Arial,sans-serif;letter-spacing:2.3px;color:var(--menu-gold);margin:0 0 19px}
.main-menu .menu-title{margin:0;padding:0;color:var(--menu-paper);line-height:.93;font:normal clamp(56px,6.6vw,104px)/.94 Georgia,'Times New Roman',serif;letter-spacing:-3px;text-shadow:0 5px 25px #0004}
.main-menu .menu-title:focus{outline:none}
.menu-title span{display:block;font-size:.65em;letter-spacing:.19em;color:var(--menu-gold);margin-bottom:9px}
.menu-title strong{display:block;font-weight:normal}
.menu-nav{display:flex;gap:28px;margin:28px 0 0;border-bottom:1px solid #d9bd7833}
.title-screen .menu-nav-item{position:relative;margin:0;padding:0 0 14px;min-height:32px;border:0;border-radius:0;background:none;color:var(--menu-muted);font-size:12px}
.menu-nav-item[aria-current=page]{color:var(--menu-paper)}
.menu-nav-item[aria-current=page]::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--menu-gold)}
.menu-panel{min-height:330px;padding-top:20px}
.main-menu .menu-intro{margin:0 0 22px;font:14px/1.6 Georgia,serif;color:#b8c0aa}
.title-screen .menu-mode{position:relative;display:flex;align-items:center;gap:18px;width:100%;margin:0;padding:15px 12px 15px 3px;border:0;border-bottom:1px solid #d9bd7826;border-radius:0;background:transparent;color:var(--menu-paper);text-align:left;transition:background .18s,transform .18s}
.title-screen .menu-mode.featured{padding:18px 20px;margin-bottom:8px;border:1px solid #e4cd89;border-radius:4px;background:linear-gradient(110deg,#dfc787,#b49757);color:#102017;box-shadow:0 6px 24px #0003}
.menu-mode-number{flex:none;font:10px/1 Arial,sans-serif;color:#a5b19a;letter-spacing:1px}
.featured .menu-mode-number{color:#3e4a31}
.menu-mode-copy{display:flex;flex-direction:column;gap:6px;flex:1}
.menu-mode-copy strong{font:22px/1.1 Georgia,serif;letter-spacing:0}
.menu-mode-copy small{font:11px/1.5 Arial,sans-serif;color:#a7b39f}
.featured .menu-mode-copy small{color:#35402b}
.menu-arrow{font-size:20px;color:var(--menu-gold);transition:transform .18s}.featured .menu-arrow{color:#25351f}
.title-screen .menu-mode:hover{background:#36553a55;transform:translateX(3px)}
.title-screen .menu-mode.featured:hover{background:linear-gradient(110deg,#edd89f,#d0b572)}
.menu-mode:hover .menu-arrow{transform:translate(2px,-2px)}
.title-screen .menu-text-button{border:0;background:none;padding:10px 0;margin:8px 0 0;min-height:32px;font:11px Arial,sans-serif;color:var(--menu-muted);text-decoration:underline;text-underline-offset:4px}
.menu-scene{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:580px;pointer-events:none}
.menu-orbit{position:absolute;width:90%;aspect-ratio:1;border:1px solid #d9bd7829;border-radius:50%;box-shadow:0 0 0 22px #d9bd7805,inset 0 0 90px #47764b24}
.menu-orbit::before{content:'♠';position:absolute;top:-16px;left:50%;transform:translateX(-50%);padding:0 20px;background:#10251a;color:var(--menu-gold);font:24px Georgia}
.menu-scene-word{position:absolute;top:5%;font:160px/.8 Georgia,serif;color:#d9bd780b;letter-spacing:-10px}
.menu-card-fan{position:relative;width:100%;height:390px;filter:drop-shadow(0 28px 25px #0009)}
.menu-art-card{position:absolute;top:65px;left:50%;width:clamp(140px,14.5vw,220px);aspect-ratio:2/3;object-fit:fill;border-radius:9px;transform-origin:50% 100%;border:1px solid #d9bd7840}
.menu-art-card.left{transform:translateX(-100%) rotate(-20deg);z-index:1}.menu-art-card.right{transform:translateX(2%) rotate(19deg);z-index:2}.menu-art-card.center{transform:translateX(-45%) rotate(-3deg);top:32px;z-index:3}
.menu-scene-caption{position:relative;text-align:center;margin-top:38px}
.menu-scene-caption span{font:9px Arial,sans-serif;letter-spacing:2.2px;color:var(--menu-muted)}
.main-menu .menu-scene-caption p{font:italic 35px Georgia,serif;color:var(--menu-gold);margin:9px 0}
.main-menu .menu-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0;padding:20px 0 3px;border-top:1px solid #d9bd7826;min-height:32px;font:8px Arial,sans-serif;color:var(--menu-muted);letter-spacing:1.4px}
.menu-record{display:flex;align-items:center;gap:15px}.menu-record span{font-size:8px;color:var(--menu-muted)}.menu-record strong{font:11px Georgia,serif;font-weight:normal;color:var(--menu-gold);letter-spacing:1px}
.menu-guide-switch{display:flex;gap:8px;margin-bottom:18px}
.title-screen .menu-guide-button{margin:0;padding:8px 13px;min-height:34px;border:1px solid #d9bd7833;background:transparent;border-radius:3px;color:var(--menu-muted);font-size:11px}.menu-guide-button[aria-pressed=true]{background:#d9bd7824;color:var(--menu-paper)}
.menu-rules{padding:0 0 0 22px;margin:0;max-height:340px;overflow:auto;scrollbar-color:#8c814b #102219;font:12px/1.65 Arial,sans-serif;color:#bbc5b2}.menu-rules li{padding-left:8px;margin-bottom:12px}
.main-menu .menu-section-title{margin:0 0 22px;font:26px Georgia,serif;color:var(--menu-paper)}
.menu-setting{display:flex;align-items:center;justify-content:space-between;padding:20px 0;gap:15px;border-bottom:1px solid #d9bd7826}.menu-setting strong,.menu-setting small{display:block}.menu-setting strong{font:19px Georgia,serif}.menu-setting small{font:11px Arial,sans-serif;color:var(--menu-muted);margin-top:7px}
.title-screen .menu-setting-button{margin:0;min-width:90px;min-height:40px;padding:10px 15px;border:1px solid #d9bd7855;border-radius:3px;background:#25432a44;color:var(--menu-gold);font-size:12px}
.main-menu .menu-save-note{font:11px/1.7 Arial,sans-serif;color:var(--menu-muted);margin:20px 0}
.title-screen button:focus-visible{outline:2px solid var(--menu-paper);outline-offset:5px}
@media(min-width:1600px){.menu-body{gap:90px}.menu-art-card{width:240px}.menu-card-fan{height:440px}}
@media(max-width:1000px){.title-screen{padding:24px 32px 18px}.menu-body{grid-template-columns:1.2fr .8fr;gap:10px}.menu-title strong{font-size:.85em}.menu-scene{min-height:480px}.menu-card-fan{height:290px}.menu-art-card{width:140px}.menu-scene-caption span{font-size:7px;letter-spacing:1px}.main-menu .menu-scene-caption p{font-size:28px}.menu-scene-word{font-size:100px}.menu-kicker{letter-spacing:1px}.menu-record{flex-direction:column;gap:5px;align-items:flex-end}}
@media(max-width:760px){.title-screen{padding:22px 25px 18px}.menu-header{gap:13px}.menu-edition{font-size:8px;letter-spacing:1.2px}.menu-tools{gap:5px}.title-screen .menu-tool{padding:8px;letter-spacing:0;font-size:9px}.menu-seal{width:26px;height:26px;font-size:19px}.menu-body{display:block;margin:32px auto 20px}.menu-content{max-width:500px;margin:auto}.main-menu .menu-title{font-size:clamp(42px,10vw,68px);letter-spacing:-2px}.menu-title strong{font-size:1em}.menu-kicker{font-size:8px}.menu-nav{gap:24px;margin-top:24px}.menu-panel{min-height:0}.menu-scene{display:none}.menu-mode-copy strong{font-size:21px}.menu-mode-copy small{font-size:10px}.title-screen .menu-mode{padding:16px 8px 16px 3px}.title-screen .menu-mode.featured{padding:18px 14px}.main-menu .menu-footer{margin-top:auto;align-items:flex-start;font-size:7px;gap:14px;letter-spacing:.7px}.menu-footer-note{max-width:180px;line-height:1.8}.menu-record strong{font-size:9px;text-align:right}.menu-rules{max-height:none;font-size:12px}.menu-setting{padding:18px 0}}
@media(prefers-reduced-motion:no-preference){.menu-content{animation:menu-arrive .35s ease-out both}.menu-card-fan{animation:menu-arrive .5s ease-out both}@keyframes menu-arrive{from{translate:0 10px}to{translate:0 0}}}
@media(prefers-reduced-motion:reduce){.title-screen *{animation:none!important;transition:none!important}}

/* Fixed menu layout and unified compact gold mode buttons. */
.menu-body{align-items:start}
.menu-content{align-self:start}
.menu-panel{min-height:540px}
.menu-secondary-modes{display:grid;gap:8px}
.title-screen .menu-mode,.title-screen .menu-mode.featured{width:min(100%,540px);min-height:60px;margin:0;padding:10px 16px;gap:0;border:1px solid #e4cd89;border-radius:4px;background:linear-gradient(110deg,#dfc787,#b49757);color:#102017;box-shadow:0 4px 16px #0003;transform:none}
.title-screen .menu-mode.featured{margin-bottom:8px}
.menu-mode-copy{gap:4px}
.menu-mode-copy strong{font-size:18px}
.menu-mode-copy small,.featured .menu-mode-copy small{font-size:10px;color:#35402b}
.title-screen .menu-mode:hover,.title-screen .menu-mode.featured:hover{background:linear-gradient(110deg,#edd89f,#d0b572);transform:none}
.main-menu .menu-footer{justify-content:flex-end}
@media(max-width:760px){.menu-panel{min-height:0}.title-screen .menu-mode,.title-screen .menu-mode.featured{min-height:56px;padding:9px 12px}.menu-mode-copy strong{font-size:17px}}
@media(prefers-reduced-motion:no-preference){.menu-content{animation:none}}

/* Approved title screen: compact actions, engraved cards, quiet table. */
:root{--menu-ink:#0b211b;--menu-gold:#d7bd7d;--menu-paper:#f1ecdc;--menu-muted:#a4b0a5}
.title-screen{padding:25px clamp(24px,5vw,72px) 22px;background:radial-gradient(ellipse at 76% 40%,#7b895039,transparent 49%),radial-gradient(ellipse at 0 100%,#0007,transparent 75%),repeating-linear-gradient(8deg,transparent 0 3px,#e4dfb402 3px 4px),var(--menu-ink)}
.title-screen::after{display:none}.title-screen::before{box-shadow:inset 0 0 0 5px #0b211b,inset 0 0 0 6px #d7bd7d0c}
.menu-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:center;max-width:1050px;margin:36px auto}
.menu-content{min-width:0;align-self:center}.menu-panel{min-height:360px;max-width:420px}
.main-menu .menu-title{font:400 clamp(42px,5.4vw,68px)/.98 Georgia,serif;letter-spacing:-2px;text-shadow:none;margin:0 0 23px}
.menu-title span{font:400 26px/1.5 Georgia,serif;letter-spacing:12px;margin-bottom:3px}.menu-title strong{font-size:1em}
.menu-nav{gap:25px;max-width:380px;margin:0 0 24px}.title-screen .menu-nav-item{padding:12px 0;min-height:44px}.title-screen .menu-nav-item[aria-current=page],.title-screen .menu-nav-item:hover{color:var(--menu-paper)}
.menu-panel{padding-top:0}.main-menu .menu-kicker{font:10px/1.5 Arial,sans-serif;letter-spacing:2px;margin:0 0 13px}.menu-kicker::before{content:'•';margin-right:10px}
.main-menu .menu-welcome{font:400 26px/1.25 Georgia,serif;color:var(--menu-paper);margin:0 0 9px}.menu-welcome em{font-weight:400;color:var(--menu-gold)}
.main-menu .menu-intro{font:12px/1.7 Arial,sans-serif;color:var(--menu-muted);margin:0 0 22px}
.menu-secondary-modes{max-width:310px}
.title-screen .menu-mode,.title-screen .menu-mode.featured{width:100%;max-width:310px;min-height:44px;padding:11px 16px;border:1px solid #e1c98b;border-radius:3px;background:var(--menu-gold);color:#000;box-shadow:none;transform:none}
.title-screen .menu-mode-copy strong{font:400 18px/1.2 Georgia,serif;color:inherit}
.title-screen .menu-mode:hover,.title-screen .menu-mode.featured:hover,.title-screen .menu-mode:focus-visible,.title-screen .menu-mode:active{background:#ead49c;color:#000;box-shadow:none;transform:none}
.title-screen.tutorial-required .menu-mode:not(.featured){background:transparent;color:var(--menu-muted);border-color:#d9bd7838}
.title-screen.tutorial-required .menu-mode:not(.featured):hover,.title-screen.tutorial-required .menu-mode:not(.featured):focus-visible{background:#20392c;color:var(--menu-paper)}
.title-screen .menu-mode.endless-mode{position:relative;padding-right:46px;background:linear-gradient(105deg,#e9d49a,#b99755);border-color:#f1dba1;box-shadow:inset 0 0 0 1px #15281b55}
.title-screen .menu-mode.endless-mode::after{content:'∞';position:absolute;right:15px;top:50%;translate:0 -50%;font:26px/1 Georgia,serif;color:#173022}
.title-screen .menu-mode.endless-mode small{display:block;font:9px/1.35 Arial,sans-serif;color:#33412f;white-space:normal}
.title-screen .menu-text-button{min-height:44px;text-decoration:none}.title-screen .menu-tool{min-height:44px;background:transparent;border:0;font-size:12px;letter-spacing:0}.title-screen .menu-tool:hover{color:var(--menu-paper)}
.menu-scene{display:grid;place-items:center;height:450px;min-height:0;min-width:0;pointer-events:auto}.menu-scene-label{position:absolute;top:0;font:9px Arial,sans-serif;letter-spacing:2.5px;color:var(--menu-muted);text-align:center}
.menu-orbit{width:360px;height:360px;aspect-ratio:auto;rotate:-25deg;border-color:#d7bd7d28;box-shadow:0 0 0 18px #d7bd7d02,0 0 0 19px #d7bd7d09}.menu-orbit::before{content:'✦';top:-10px;padding:0;background:none;font-size:15px}.menu-orbit::after{content:'';position:absolute;inset:11px;border:1px dashed #d7bd7d16;border-radius:50%}
.menu-card-fan{width:300px;height:320px;margin-top:15px;filter:none}.menu-art-card{box-sizing:border-box;position:absolute;width:163px;height:251px;aspect-ratio:auto;border-radius:9px;box-shadow:7px 22px 24px #0005;transform-origin:center;transition:transform .7s cubic-bezier(.2,.7,.2,1);font-family:Georgia,serif}
.menu-art-card::before{content:'';position:absolute;inset:6px;border:1px solid currentColor;opacity:.65;border-radius:4px}.menu-art-card::after{content:'';position:absolute;inset:11px;border:1px solid currentColor;border-radius:26px 3px 26px 3px;opacity:.28}
.menu-art-card.left{left:5px;top:39px;transform:rotate(-20deg);background:repeating-linear-gradient(45deg,transparent 0 7px,#d7bd7d06 7px 8px),#10291f;color:var(--menu-gold);border:1px solid #827247;z-index:2}
.menu-art-card.right{left:143px;top:66px;transform:rotate(14deg);z-index:3;background:repeating-linear-gradient(-45deg,transparent 0 3px,#835f1608 3px 4px),linear-gradient(115deg,#f0dfaf,#c9ab61);color:#173a2c;border:1px solid #f1dfb0}
.menu-art-card.center{background:#182d21;color:var(--menu-gold);left:84px;top:-19px;transform:rotate(4deg);border:1px solid #9a8754;z-index:1}
.menu-card-corner{position:absolute;top:15px;left:16px;font:24px/1 Georgia,serif;display:flex;flex-direction:column;align-items:center;gap:4px}.menu-card-corner small{font-size:13px}.menu-card-corner.bottom{top:auto;left:auto;right:16px;bottom:15px;transform:rotate(180deg)}.center .menu-card-corner{font-size:15px;color:#bb7259}
.menu-card-corner small{color:inherit}
.menu-card-value{position:absolute;inset:0;display:grid;place-content:center;font:90px Georgia,serif;letter-spacing:-7px;padding-right:7px}.left .menu-card-value{font-size:54px;letter-spacing:-3px}.left .menu-card-value::before{content:'';position:absolute;width:103px;height:103px;border:1px solid #d7bd7d77;border-radius:50%;left:29px;top:73px;box-shadow:0 0 0 5px #10291f,0 0 0 6px #d7bd7d40}.center .menu-card-value{font-size:91px;letter-spacing:0;padding:0;text-shadow:0 0 25px #d7bd7d33}
.menu-card-label{position:absolute;bottom:26px;width:100%;text-align:center;font:8px Arial,sans-serif;letter-spacing:2px}
.menu-chip{box-sizing:border-box;position:absolute;z-index:4;bottom:61px;left:38px;width:55px;height:55px;border-radius:50%;background:repeating-conic-gradient(#b5a576 0deg 12deg,#233d2d 12deg 45deg);border:2px solid #aaa17a;box-shadow:0 3px #213226,0 5px #a2946b,0 8px #213226,3px 14px 16px #0007;transform:rotate(-15deg);display:grid;place-items:center}.menu-chip span{border:1px solid #ad9c70;border-radius:50%;width:39px;height:39px;display:grid;place-items:center;background:#243a2c;color:var(--menu-gold);font:20px Georgia,serif}.menu-chip.second{left:80px;bottom:48px;transform:rotate(20deg);width:49px;height:49px}.menu-chip.second span{width:35px;height:35px;font-size:16px}
.menu-scene-caption{position:absolute;bottom:0;margin:0;text-align:center}.main-menu .menu-scene-caption p{font:italic 24px Georgia,serif;margin:10px 0 0}.menu-scene-caption span{font-size:9px;letter-spacing:2px}
.main-menu .menu-footer{width:100%;max-width:1050px;margin:0 auto;padding:20px 0 3px;font-size:10px}.menu-record strong{font-size:15px}.menu-record span{font-size:10px}
.title-screen .menu-guide-button,.title-screen .menu-setting-button{min-height:44px}.title-screen .menu-guide-button[aria-pressed=true]{background:#d7bd7d24;color:var(--menu-paper)}.menu-rules{font-size:13px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.menu-scene:hover .left{transform:translate(-5px,-5px) rotate(-24deg)}.menu-scene:hover .right{transform:translate(7px,-9px) rotate(17deg)}}
@media(max-width:1000px){.menu-body{gap:28px}.main-menu .menu-title{font-size:52px}.menu-orbit{width:300px;height:300px}.menu-card-fan{scale:.9}.menu-chip{left:10px}.menu-chip.second{left:52px}}
@media(max-width:760px){.menu-body{display:flex;flex-direction:column;align-items:stretch;gap:24px;margin:28px auto 24px;max-width:460px}.menu-content{width:100%;max-width:none}.main-menu .menu-title{font-size:clamp(36px,9.6vw,58px)}.menu-title span{font-size:24px;letter-spacing:9px}.menu-panel{min-height:0;max-width:none}.menu-scene{display:grid;height:350px;width:100%;margin-top:10px}.menu-card-fan{scale:.8;margin-top:-12px}.menu-orbit{width:260px;height:260px}.menu-scene-label{font-size:9px;letter-spacing:1.4px}.menu-chip{bottom:39px;left:calc(50% - 118px)}.menu-chip.second{left:calc(50% - 77px);bottom:30px}.main-menu .menu-scene-caption p{font-size:21px}.main-menu .menu-footer{margin-top:auto}.menu-record span{font-size:9px}}
@media(max-width:360px){.menu-orbit{width:224px;height:224px}}
@media(max-width:760px){.menu-scene{height:390px}.menu-card-fan{margin-top:-52px}.menu-chip{bottom:79px}.menu-chip.second{bottom:70px}}

/* Play modes are grouped by audience and share one exact button rhythm. */
.menu-panel{max-width:580px;min-height:390px}
.menu-mode-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.menu-mode-group{display:grid;grid-auto-rows:max-content;gap:8px;min-width:0}
.main-menu .menu-mode-group-title{margin:0 0 4px;padding:0 0 9px;border-bottom:1px solid #d7bd7d33;font:600 10px/1 Arial,sans-serif;letter-spacing:1.8px;text-transform:uppercase;color:var(--menu-gold)}
.title-screen .menu-mode,.title-screen .menu-mode.featured,.title-screen .menu-mode.endless-mode{box-sizing:border-box;width:100%;max-width:none;height:52px;min-height:52px;margin:0;padding:0 14px;border:1px solid #e1c98b;border-radius:3px;background:var(--menu-gold);color:#081711;box-shadow:none;transform:none}
.title-screen .menu-mode.featured{outline:1px solid #f4e5ba;outline-offset:3px}
.title-screen .menu-mode-copy{display:flex;justify-content:center;gap:0;min-width:0}
.title-screen .menu-mode-copy strong{font:400 16px/1.15 Georgia,serif;overflow-wrap:anywhere}
.title-screen .menu-mode.endless-mode::after{display:none}
.title-screen.tutorial-required .menu-mode:not(.featured),.title-screen.tutorial-required .menu-mode:not(.featured):hover,.title-screen.tutorial-required .menu-mode:not(.featured):focus-visible{background:var(--menu-gold);color:#081711;border-color:#e1c98b}
.title-screen .menu-mode:hover,.title-screen .menu-mode.featured:hover,.title-screen .menu-mode.endless-mode:hover,.title-screen .menu-mode:focus-visible{background:#ead49c;color:#081711;transform:none}
@media(max-width:860px){.menu-mode-groups{grid-template-columns:1fr;gap:18px}.menu-panel{max-width:420px}.menu-mode-group{gap:8px}}
@media(max-width:760px){.menu-panel{max-width:none}.title-screen .menu-mode,.title-screen .menu-mode.featured,.title-screen .menu-mode.endless-mode{height:52px;min-height:52px;padding:0 14px}.title-screen .menu-mode-copy strong{font-size:17px}}

/* Mobile title screen behaves like an app home view and never scrolls as a page. */
@media(max-width:760px){
  dialog.main-menu{overflow:hidden}
  .title-screen{box-sizing:border-box;width:100%;height:100dvh;min-height:0;padding:calc(10px + env(safe-area-inset-top)) 15px calc(8px + env(safe-area-inset-bottom));overflow:hidden}
  .title-screen::before{inset:5px}
  .menu-header{flex:0 0 36px;min-height:36px}.menu-seal{width:25px;height:25px;font-size:16px}.menu-tools{gap:2px}.title-screen .menu-tool{min-height:36px;padding:5px 7px;font-size:9px}
  .menu-body{display:block;flex:1;min-height:0;width:100%;max-width:480px;margin:6px auto 0;overflow:hidden}
  .menu-content{display:flex;flex-direction:column;width:100%;height:100%;min-height:0}
  .main-menu .menu-title{flex:none;margin:0 0 4px;font-size:31px;line-height:.9;letter-spacing:-1px}.menu-title span{display:inline;margin:0 7px 0 0;font-size:.55em;letter-spacing:5px}.menu-title strong{display:inline;font-size:1em}
  .menu-nav{flex:none;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;max-width:none;margin:3px 0 7px;border:0}.title-screen .menu-nav-item{min-height:34px;padding:6px 2px;border:1px solid #d9bd782c;border-radius:3px;font-size:10px}.menu-nav-item[aria-current=page]{background:#d9bd7815}.menu-nav-item[aria-current=page]::after{left:8px;right:8px}
  .menu-panel{flex:1;min-height:0;max-width:none;padding:0;overflow:auto;overscroll-behavior:contain}.menu-panel:has(.menu-mode-groups){overflow:hidden}
  .main-menu .menu-kicker{margin:0 0 3px;font-size:7px}.main-menu .menu-welcome{margin:0 0 3px;font-size:17px}.main-menu .menu-intro{margin:0 0 7px;font-size:9px;line-height:1.35}
  .menu-mode-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.menu-mode-group{gap:5px}.main-menu .menu-mode-group-title{margin:0;padding:0 0 5px;font-size:7px;letter-spacing:.8px}
  .title-screen .menu-mode,.title-screen .menu-mode.featured,.title-screen .menu-mode.endless-mode{height:44px;min-height:44px;padding:0 7px}.title-screen .menu-mode.featured{outline-offset:1px}.title-screen .menu-mode-copy strong{font-size:13px;line-height:1.05}
  .title-screen .menu-text-button{min-height:28px;margin:2px 0 0;padding:3px 0;font-size:9px}
  .menu-scene{display:none!important}
  .main-menu .menu-footer{flex:0 0 25px;min-height:25px;margin:2px 0 0;padding:4px 0 0;border-top-color:#d9bd781f}.menu-record{width:100%;flex-direction:row;justify-content:space-between;align-items:center}.menu-record span{font-size:7px}.menu-record strong{font-size:9px;text-align:right}
  .menu-guide-switch{margin-bottom:8px}.title-screen .menu-guide-button{min-height:36px;padding:6px 9px}.menu-rules{max-height:100%;padding-left:18px;font-size:10px;line-height:1.45}.menu-rules li{margin-bottom:7px}
  .main-menu .menu-section-title{margin:4px 0 8px;font-size:20px}.menu-setting{padding:10px 0}.menu-setting strong{font-size:15px}.menu-setting small{margin-top:3px;font-size:9px}.main-menu .menu-save-note{margin:8px 0;font-size:9px;line-height:1.4}
}
@media(max-width:760px) and (max-height:620px){
  .main-menu .menu-kicker,.main-menu .menu-welcome,.main-menu .menu-intro{display:none}
  .main-menu .menu-title{font-size:27px}.menu-nav{margin-bottom:5px}.title-screen .menu-mode,.title-screen .menu-mode.featured,.title-screen .menu-mode.endless-mode{height:40px;min-height:40px}.title-screen .menu-mode-copy strong{font-size:12px}.main-menu .menu-footer{display:none}
}

/* Mobile main menu: one clear vertical choice, followed by progressive play options. */
.mobile-main-nav{display:none}
@media(max-width:760px){
  .menu-tools{display:none}
  .menu-nav{display:none!important}
  .mobile-main-nav{display:grid;gap:8px;width:min(100%,360px);margin:22px auto 10px}
  .title-screen .mobile-main-action{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:54px;margin:0;padding:0 18px;border:1px solid #d9bd7850;border-radius:5px;background:#10291f;color:var(--menu-paper);font:400 20px/1 Georgia,serif;text-align:left;box-shadow:inset 0 1px #ffffff08}
  .title-screen .mobile-main-action:hover,.title-screen .mobile-main-action:focus-visible{background:#18372a;border-color:#d9bd7890}
  .mobile-nav-mark{font:22px/1 Arial,sans-serif;color:var(--menu-gold)}
  .title-screen .mobile-back-button{justify-self:start;min-height:38px;margin:0;padding:5px 2px;border:0;background:transparent;color:var(--menu-muted);font:600 10px/1 Arial,sans-serif;letter-spacing:.6px}
  .title-screen .mobile-back-button::before{content:'←';margin-right:8px;color:var(--menu-gold);font-size:15px}
  .main-menu .mobile-page-title{margin:5px 0 10px;color:var(--menu-paper);font:400 28px/1.1 Georgia,serif}
  .mobile-page-title:focus{outline:none}
  .mobile-play-choices{display:grid;gap:9px;margin:0;padding:0}
  .title-screen .mobile-play-choice{display:flex;align-items:center;justify-content:space-between;min-height:58px;margin:0;padding:0 18px;border:1px solid #d9bd7850;border-radius:5px;background:#10291f;color:var(--menu-paper);font:400 19px/1 Georgia,serif;text-align:left}
  .title-screen .mobile-play-choice:hover,.title-screen .mobile-play-choice:focus-visible{border-color:#e1c98b;background:#18372a;color:#f5dfaa}
  .mobile-main-nav,.menu-panel{animation:mobile-menu-reveal .16s ease-out both}
  @keyframes mobile-menu-reveal{from{opacity:0;translate:8px 0}to{opacity:1;translate:0 0}}

  .menu-panel.mobile-view-home,.menu-panel.mobile-view-play{display:none}
  .menu-panel.mobile-view-solo .multiplayer-modes,.menu-panel.mobile-view-multiplayer .solo-modes{display:none}
  .menu-panel.mobile-view-solo,.menu-panel.mobile-view-multiplayer{flex:1;overflow:auto;margin-top:4px;padding:10px 0 0}
  .menu-panel.mobile-view-solo .menu-kicker,.menu-panel.mobile-view-solo .menu-welcome,.menu-panel.mobile-view-solo .menu-intro,
  .menu-panel.mobile-view-multiplayer .menu-kicker,.menu-panel.mobile-view-multiplayer .menu-welcome,.menu-panel.mobile-view-multiplayer .menu-intro{display:none}
  .menu-panel.mobile-view-solo .menu-mode-groups,.menu-panel.mobile-view-multiplayer .menu-mode-groups{display:block;width:min(100%,360px);margin:0 auto}
  .menu-panel.mobile-view-solo .menu-mode-group,.menu-panel.mobile-view-multiplayer .menu-mode-group{gap:7px}
  .menu-panel.mobile-view-solo .menu-mode-group-title,.menu-panel.mobile-view-multiplayer .menu-mode-group-title{margin-bottom:3px;padding-bottom:7px;font-size:8px;letter-spacing:1.2px}
  .menu-panel.mobile-view-solo .menu-text-button{display:block;width:min(100%,360px);margin:6px auto 0}
  .menu-panel.mobile-view-settings,.menu-panel.mobile-view-rules{padding-top:10px}
  .main-menu .menu-footer{margin-top:auto}
  .title-screen:has(.mobile-view-home) .menu-title{margin-top:clamp(35px,8vh,72px);font-size:clamp(39px,11vw,52px);text-align:center}
  .title-screen:has(.mobile-view-home) .menu-title span{display:block;margin:0 0 8px;font-size:.55em}
  .title-screen:has(.mobile-view-home) .menu-title strong{display:block}
  .title-screen:has(.mobile-view-home) .mobile-main-nav{margin-top:clamp(32px,7vh,60px)}
  .title-screen:not(:has(.mobile-view-home)) .menu-title{display:flex;align-items:center;min-height:36px;margin:0;padding-left:40px;font-size:clamp(23px,7.2vw,29px);white-space:nowrap}
  .title-screen:not(:has(.mobile-view-home)) .menu-title span{font-size:.55em;letter-spacing:4px}
}
@media(max-width:760px) and (max-height:620px){
  .mobile-main-nav{margin-top:10px;gap:6px}
  .title-screen .mobile-main-action{min-height:45px;font-size:17px}
  .title-screen .mobile-play-choice{min-height:48px;font-size:16px}
  .main-menu .mobile-page-title{margin:2px 0 5px;font-size:22px}
  .title-screen .mobile-back-button{min-height:32px}
  .title-screen:has(.mobile-view-home) .menu-title{margin-top:18px;font-size:36px}
  .title-screen:has(.mobile-view-home) .mobile-main-nav{margin-top:22px}
}
@media(prefers-reduced-motion:reduce){.mobile-main-nav,.menu-panel{animation:none}}
