/* Shared, local-only puzzle view controls. No fixed board clipping. */
.play-room{min-width:0}.puzzle-view-toolbar{padding:12px;border-bottom:1px solid var(--line,#d9ddcf)}
/* A reserved row above the grid, never an overlay on playable letters. */
.play-room-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:8px;margin:0;position:relative;color:var(--ink,#244638)}
.play-room-toolbar>.play-room-expand{grid-column:3;grid-row:1;justify-self:end;white-space:nowrap}
.play-room-toolbar>button:not(.play-room-expand){grid-column:1;grid-row:1;justify-self:start}
.play-room-help{grid-column:2;grid-row:1;justify-self:start;min-width:0}.play-room-no-panel .play-room-help{grid-column:1/3}
.play-room-toolbar>button,.play-room-help>summary,.play-room-instructions>button{font:600 12px/1.3 Arial,Helvetica,sans-serif;min-width:44px;min-height:44px;padding:11px 15px;border:1px solid var(--line,#d9ddcf);border-radius:6px;background:var(--paper,#faf8f0);color:inherit;cursor:pointer;list-style:none}
.play-room-toolbar>button:hover,.play-room-help>summary:hover{background:#e7edda}.play-room-toolbar>.play-room-expand{background:#244638;color:#fffef8;border-color:#244638}.play-room-toolbar>.play-room-expand:hover{background:#163528}.play-room-toolbar>button:focus-visible,.play-room-help>summary:focus-visible{outline:3px solid #bb7c26;outline-offset:3px}
.play-room-help>summary::-webkit-details-marker{display:none}.play-room-help>summary::after{content:' +';margin-left:6px}.play-room-help[open]>summary::after{content:' −'}.play-room-help{position:relative}.play-room-help[open],.play-room-no-panel .play-room-help[open]{grid-column:1/-1;grid-row:2;justify-self:stretch}.play-room-help[open]>summary{display:inline-flex;align-items:center}.play-room-instructions{padding:14px 16px;border:1px solid var(--line,#d9ddcf);border-radius:6px;margin-top:6px;background:var(--paper,#faf8f0);max-width:760px}.play-room-instructions p{font:14px/1.6 Arial,Helvetica,sans-serif;margin:0 0 10px;color:var(--ink,#244638)}.play-room-status{font:12px/1.5 Arial,Helvetica,sans-serif;grid-column:1/-1;color:var(--muted,#68766a)}
.play-room-panel-hidden.play-layout,.play-room-panel-hidden>.play-layout{grid-template-columns:minmax(0,1fr)}
.play-room-expanded.play-room{position:fixed!important;inset:auto 0 auto!important;top:var(--room-top,0)!important;width:100%!important;max-width:none!important;height:var(--room-height,100dvh)!important;min-height:0!important;margin:0!important;padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))!important;overflow:auto!important;overscroll-behavior:contain;background:var(--paper,#faf8f0);z-index:1000;align-content:start;box-sizing:border-box}
.play-room-expanded .puzzle-view-toolbar{background:var(--paper,#faf8f0)}
.play-room-expanded .current-clue{position:relative;top:auto;min-height:64px;padding-top:10px;padding-bottom:10px}.play-room-expanded .puzzle-heading{padding:10px 0 16px}.play-room-expanded .puzzle-heading h1{font-size:28px}.play-room-expanded .puzzle-description,.play-room-expanded #puzzle-description{display:none}.play-room-expanded .board-scroll{max-height:none;padding:8px 12px 14px}.play-room-expanded .crossword-grid{--cell-size:var(--room-fit-cell,36px)!important}.play-room-expanded .grid-stage{padding-top:14px;padding-bottom:12px}.play-room-expanded .mini-grid{width:min(100%,min(70vh,760px));margin-left:auto;margin-right:auto}.play-room-expanded .clues-panel,.play-room-expanded .clue-panel{min-width:0}
.play-room-expanded .puzzle-tools{flex-wrap:wrap}.play-room-expanded dialog{max-height:calc(var(--room-height,100dvh) - 32px);overflow:auto}.play-room-expanded .toast{z-index:30}

@media(max-width:600px){.play-room-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:6px}.play-room-toolbar>.play-room-expand{grid-column:2}.play-room-help{grid-column:1/-1;grid-row:2}.play-room-no-panel .play-room-help:not([open]){grid-column:1;grid-row:1}.puzzle-view-toolbar{padding:10px}.play-room-toolbar>button,.play-room-help>summary{padding:10px 12px;font-size:12px}.play-room-expanded.play-room{padding-left:max(8px,env(safe-area-inset-left))!important;padding-right:max(8px,env(safe-area-inset-right))!important}.play-room-expanded .puzzle-heading h1{font-size:23px}.play-room-expanded .mini-grid{width:100%}.play-room-expanded .clue-columns{gap:14px}.play-room-expanded .clue-panel{padding:14px}.play-room-expanded .current-clue{gap:6px}.play-room-status{font-size:11px}}
@media(forced-colors:active){.play-room-toolbar>.play-room-expand{border:2px solid ButtonText}}

.play-room>.notice,.play-room>.completion{grid-column:1/-1}
.sdk-grid-panel,.ws-grid-panel{min-width:0}.sdk-room-toolbar,.ws-room-toolbar{padding:0 0 12px;margin-bottom:12px}.sdk-room-toolbar{max-width:600px;margin-left:auto;margin-right:auto}.sdk-shell.play-room-expanded .sdk-grid-panel{width:100%;max-width:min(100%,max(288px,calc(var(--room-height,100dvh) - 13rem)));margin:0 auto}@media(max-width:760px){.sdk-shell.play-room-expanded .sdk-grid-panel{max-width:600px}}

/* Expanded clues are an overlay, never a reserved second grid column. The slim
   edge rail keeps the tab off playable letters even when the drawer is closed. */
.play-room-expanded.play-layout,.play-room-expanded>.play-layout,.play-room.play-room-expanded.play-room-has-panel>.ws-layout{grid-template-columns:minmax(0,1fr)}
.play-room-expanded.play-room.play-room-has-panel{padding-right:calc(52px + env(safe-area-inset-right))!important}
.play-room-expanded .play-room-help:not([open]){grid-column:1/3;grid-row:1}
.play-room-drawer-toggle{position:fixed;right:0;top:calc(var(--room-top,0px) + var(--room-height,100dvh)/2);transform:translateY(-50%);z-index:24;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;box-sizing:border-box;width:calc(48px + env(safe-area-inset-right));min-width:44px;min-height:76px;padding:8px max(4px,env(safe-area-inset-right)) 8px 4px;border:1px solid #244638;border-right:0;border-radius:9px 0 0 9px;background:#244638;color:#fffef8;box-shadow:-2px 3px 10px #24463826;font:600 10px/1.2 Arial,Helvetica,sans-serif;cursor:pointer;touch-action:manipulation}
.play-room-drawer-arrow{font:32px/.9 Arial,Helvetica,sans-serif}.play-room-drawer-toggle:hover{background:#163528}.play-room-drawer-toggle:focus-visible{outline:3px solid #bb7c26;outline-offset:-4px}
.play-room-expanded .play-room-drawer{position:fixed;z-index:20;right:0;top:calc(var(--room-top,0px) + var(--room-drawer-top,72px));width:min(400px,calc(100% - 12px - env(safe-area-inset-left)));height:calc(var(--room-height,100dvh) - var(--room-drawer-top,72px) - max(12px,env(safe-area-inset-bottom)));max-height:none;min-width:0;margin:0;padding:18px calc(60px + env(safe-area-inset-right)) 20px 18px;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line,#d9ddcf);border-right:0;border-radius:10px 0 0 10px;background:var(--paper,#faf8f0);box-shadow:-8px 8px 30px #24463826;animation:play-room-slide-in 180ms ease-out}
.play-room-expanded .play-room-drawer .clue-columns{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.play-room-expanded .play-room-drawer .clue-columns section+section{margin-top:0}.play-room-expanded .play-room-drawer .clue{min-height:44px}.play-room-expanded .play-room-drawer .clues-heading,.play-room-expanded .play-room-drawer .clues-title{align-items:start;flex-direction:column;gap:6px}.play-room-expanded .play-room-drawer h2{font-size:24px}.play-room-expanded .play-room-drawer .help-card{padding:14px}
/* hidden removes hit testing and tab stops immediately, with no offscreen shield. */
.play-room-drawer[hidden],.play-room-drawer-toggle[hidden]{display:none!important;pointer-events:none}
@keyframes play-room-slide-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.play-room-expanded .play-room-drawer{animation:none;transition:none}}
@media(forced-colors:active){.play-room-drawer-toggle{border:2px solid ButtonText}.play-room-expanded .play-room-drawer{border:2px solid CanvasText}}

@media(max-width:600px){.play-room-expanded.play-room-has-panel .play-room-help:not([open]){grid-column:1/-1;grid-row:2}}
