/* Setup choices share one dock row; the game keeps its Halloween palette. */
.game-dock>.character-select{grid-column:1/-1;grid-row:1;display:grid;grid-template-columns:auto auto;justify-content:start;align-items:end;gap:12px 36px;width:100%;padding-bottom:12px;border-bottom:1px dashed #b49b82}
.character-options{display:flex;flex-direction:column;gap:8px;min-width:0}
.game-dock .character-select h2{font:600 16px/1.3 Fredoka,Nunito,sans-serif;letter-spacing:0;text-transform:none;color:#352b42;display:block}
.game-dock .difficulty-control{display:flex;flex-direction:column;align-items:flex-start;gap:8px;flex-wrap:nowrap;max-width:none}
.game-dock .difficulty-control .dock-label{display:block;font:800 11px/1.3 Nunito,sans-serif;letter-spacing:.6px}
.game-dock .difficulty-button{min-height:42px;padding:8px 16px;font-size:12px}
.game-dock .difficulty-options{margin:0}
body[data-view=home] .game-dock>.action-wrap,body[data-view=home] .game-dock>:is(.best-block,.match-block){grid-row:2}
.board-shortcut{display:inline-grid;place-items:center}
.board-shortcut svg{width:18px;height:18px}
@media(min-width:1100px){.tools #leaderboard-button{display:none}}
@media(max-width:700px){
 .game-dock>.character-select{grid-template-columns:1fr;justify-content:stretch;gap:12px;padding-bottom:0;border:0}
 .game-dock .difficulty-control{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px}
 .game-dock .difficulty-options{display:flex;justify-self:stretch}
 .game-dock .difficulty-button{flex:1;min-width:0;padding:8px 7px}
 .topbar{flex-wrap:wrap;height:auto;min-height:88px;padding-block:10px;row-gap:8px}
 .topbar .tools{margin-left:auto;gap:5px}
 .topbar .tools .icon-button{min-width:30px;width:30px;height:34px;min-height:34px}
 .header-identity .brand strong,html[lang=en] .header-identity .brand strong{font-size:17px}
 .header-identity .brand-icon{width:30px;height:32px}.header-identity .brand{gap:6px}
}
@media(max-width:360px){.topbar .tools{gap:4px}.topbar .tools .icon-button{min-width:28px;width:28px}.header-identity .brand strong,html[lang=en] .header-identity .brand strong{font-size:15px}.agora-credit{font-size:7px;gap:3px}.agora-credit img{width:40px}.agora-credit strong{font-size:7px}}
/* A compact illustrated field guide: cues first, rules second. */
#help-dialog{width:min(820px,calc(100vw - 32px));max-width:none;max-height:min(880px,calc(100dvh - 40px));padding:0;overflow:hidden;border:2px solid #352b42;border-radius:22px;background:#fff8e7;color:#352b42;box-shadow:6px 8px 0 #24182c55}
#help-dialog[open]{display:flex;flex-direction:column}
.guide-heading{display:flex;align-items:center;gap:14px;padding:22px 60px 20px 24px;background:#ffe3aa;border-bottom:2px solid #352b42;position:relative;flex:none}
.guide-seal{display:grid;place-items:center;width:52px;height:52px;flex:none;border:2px solid #352b42;border-radius:15px;background:#ffc873;transform:rotate(-7deg);box-shadow:2px 3px 0 #352b42}
.guide-seal svg{width:32px;height:32px}
#help-dialog h2{font:600 30px/1.15 Fredoka,Nunito,sans-serif;margin:0 0 5px;letter-spacing:0}
.guide-heading p{font-size:13px;line-height:1.5;margin:0;color:#61494b}
#help-dialog .close-button{top:15px;right:15px;width:36px;height:36px;border:1.5px solid #352b42;border-radius:50%;background:#fff8e7;color:#352b42;display:grid;place-items:center}
#help-dialog .close-button svg{width:18px;height:18px}
.guide-scroll{padding:18px 22px 12px;overflow-y:auto;overscroll-behavior:contain;min-height:0;scrollbar-color:#bba0ca #fff8e7}
.guide-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;margin-bottom:16px}
.guide-controls>span{font-weight:900;color:#68526c}.guide-controls>div{display:flex;align-items:center;gap:8px}
.guide-controls kbd{font:800 12px Nunito,sans-serif;padding:7px 10px;border:1.5px solid #7d6887;border-bottom-width:3px;border-radius:7px;background:#fffdf7}
.guide-touch{display:inline-flex;align-items:center;gap:5px;font-weight:800}.guide-touch svg{width:20px;height:20px;color:#7141d9}
.guide-phases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;margin:0;list-style:none}
.guide-phases li{overflow:hidden;border:1.5px solid #bfa88c;border-radius:14px;background:#fffdf5;box-shadow:0 3px 0 #e3ceb2}
.guide-picture{height:116px;position:relative;display:flex;align-items:center;justify-content:center;gap:9px;background:#e7ebce;border-bottom:1px solid #d2d6b5;padding-bottom:19px}
.guide-picture .guide-character{width:76px;height:80px;display:block;flex:none}
.guide-picture>svg{width:29px;height:29px;transform:rotate(-14deg);color:#72542e}
.guide-freeze .guide-picture{background:#ffedba;border-color:#e5d293}.guide-caught .guide-picture{background:#efdbeb;border-color:#d1b8d1}
.guide-impact{font:600 44px Fredoka,sans-serif;color:#a64138;transform:rotate(-12deg)}
.guide-state{position:absolute;bottom:8px;left:10px;right:10px;text-align:center;font-size:11px;font-weight:900;color:#40522e}
.guide-freeze .guide-state{color:#795016}.guide-caught .guide-state{color:#913e42}
.guide-step-copy{padding:14px 12px}.guide-step-copy h3{display:flex;gap:7px;align-items:flex-start;font:600 17px/1.25 Fredoka,Nunito,sans-serif;margin:0 0 9px}
.guide-step-copy h3>span:first-child{display:grid;place-items:center;flex:none;width:20px;height:20px;border-radius:50%;background:#352b42;color:#fff8e7;font:900 11px/1 Nunito,sans-serif}
#help-dialog .guide-step-copy p,#help-dialog .guide-finish p,#help-dialog .guide-details p{font-size:12px;line-height:1.65;margin:0;color:#655167}
.guide-finish{display:flex;gap:12px;align-items:center;padding:16px;margin:18px 0;background:#ede1f6;border:1px solid #c8afd9;border-radius:13px}
.guide-finish>svg{width:31px;height:31px;flex:none;color:#7141d9}
#help-dialog .guide-finish h3{font:600 18px Fredoka,Nunito,sans-serif;margin:0 0 5px}
.guide-details{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px}
.guide-details h3{display:flex;align-items:center;gap:7px;font:600 18px/1.3 Fredoka,Nunito,sans-serif;margin:0 0 12px}
.guide-details h3 svg{width:20px;height:20px;color:#9b5c30;flex:none}
.guide-details dl{margin:0 0 10px;font-size:12px}.guide-details dl>div{display:grid;grid-template-columns:64px 1fr;gap:8px;padding:7px 0;border-bottom:1px dashed #d9c6a9}.guide-details dt{font-weight:900}.guide-details dd{margin:0;line-height:1.5;color:#655167}
#help-dialog .guide-details p+p{margin-top:10px}
.guide-consent{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.6;color:#746173;border-top:1px dashed #c9b396;margin:18px 0 0;padding-top:12px}.guide-consent svg{width:18px;height:18px;flex:none;color:#a57931}
.guide-bottom{padding:12px 22px 16px;border-top:1px solid #ddc7aa;background:#fff8e7;flex:none}.guide-bottom .primary-button{margin:0;min-height:46px;width:100%;background:#7141d9;border-color:#432580;color:white;box-shadow:0 3px 0 #432580;font-size:14px}
@media(max-width:600px){
 #help-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);border-radius:17px}
 .guide-heading{padding:18px 48px 16px 15px;gap:10px}.guide-seal{width:38px;height:38px;border-radius:11px}.guide-seal svg{width:26px;height:26px}
 #help-dialog h2{font-size:25px}.guide-heading p{font-size:12px}#help-dialog .close-button{right:9px;top:10px;width:32px;height:32px}
 .guide-scroll{padding:14px}.guide-controls{align-items:flex-start;flex-direction:column;gap:7px;font-size:11px}.guide-controls kbd{font-size:11px}
 .guide-phases{grid-template-columns:1fr;gap:10px}.guide-phases li{display:grid;grid-template-columns:85px 1fr}
 .guide-picture{height:100%;min-height:132px;padding-bottom:27px;gap:0;border-bottom:0;border-right:1px solid #d2c3ac}
 .guide-picture .guide-character{width:68px;height:76px}.guide-picture>svg,.guide-impact{position:absolute;top:8px;right:4px;width:19px;height:19px;font-size:26px}.guide-state{left:4px;right:4px;bottom:10px;font-size:9px;line-height:1.3}
 .guide-step-copy{padding:12px 10px}.guide-step-copy h3{font-size:17px;margin-bottom:7px}.guide-details{grid-template-columns:1fr;gap:18px}.guide-finish{padding:12px;margin:15px 0}.guide-bottom{padding:10px 14px 14px}
}
.guide-freeze .guide-character{background-image:url('./assets/thieves-innocent-atlas.webp');background-size:300% 100%}
.guide-caught .guide-character{background-position:100% 100%}

/* Reserve a real column for the shortcut instead of overlaying button text. */
.game-dock #hold-button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}
.game-dock #hold-button>span:nth-child(2){min-width:0}
.game-dock #hold-button strong{white-space:normal;overflow-wrap:break-word;line-height:1.2;font-size:clamp(17px,1.6vw,23px)}
.game-dock #hold-button small{white-space:normal;line-height:1.4;margin-top:5px}
.game-dock #hold-button kbd{position:static;align-self:center;opacity:.85;white-space:nowrap;font-size:9px}
@media(max-width:700px){.game-dock #hold-button{grid-template-columns:auto minmax(0,1fr)}}
@media(min-width:701px) and (max-height:500px){.game-dock #hold-button{grid-template-columns:minmax(0,1fr)}}
