/* Opt-in play mode: one compact mobile composition, using the original materials. */
.game-play-toolbar,.game-fit-notice { display:none; }
.game-slot-module { position:relative; }
/* Entry hints never take a line out of the notebook layout. */
.game-entry-hint {
    position:absolute; bottom:10px; left:50%; transform:translateX(-50%);
    z-index:3; margin:0; padding:2px 8px; white-space:nowrap; pointer-events:none;
    color:var(--pen-blue); font-size:12px; line-height:20px;
    background:rgba(245,238,220,.92); border-radius:2px;
}
html.plg-playing,html.plg-playing body { overflow:hidden; overscroll-behavior:none; }
html.plg-playing body { position:fixed; inset:0; width:100%; }
.plg-playing .breadcrumbs,.plg-playing .game-hero,.plg-playing .page-content,
.plg-playing .stamp-toast-stack { display:none!important; }
.plg-play-screen {
    position:fixed!important; top:var(--play-top,0px); left:0; right:0;
    height:var(--play-height,100dvh); z-index:1000; box-sizing:border-box;
    display:flex!important; flex-direction:column; align-items:center; justify-content:center; gap:16px;
    padding:max(64px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(64px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));
    margin:0!important; overflow:hidden; overscroll-behavior:none; touch-action:none;
    background:linear-gradient(var(--paper-line) 1px,transparent 1px),linear-gradient(90deg,var(--paper-line) 1px,transparent 1px),var(--paper);
    background-size:var(--notebook-grid) var(--notebook-grid);
}
.plg-play-screen .game-entry-hint { display:none; }
.plg-play-screen .game-play-toolbar { display:block; position:absolute; top:max(10px,env(safe-area-inset-top)); left:max(12px,env(safe-area-inset-left)); }
.game-exit { width:48px; height:48px; padding:0; border:0; background:none; cursor:pointer; transform:rotate(-3deg); }
.game-exit svg { width:100%; height:100%; overflow:visible; }
.exit-paper { fill:#f7e6a2; stroke:#c6a655; stroke-width:1; }
.exit-arrow { fill:none; stroke:var(--pen-blue); stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.game-exit:focus-visible { outline:2px solid var(--pen-blue); outline-offset:3px; }
.plg-play-screen .game-screen-sheet { display:contents; }
.plg-play-screen .gamestat-module { flex:0 0 64px; width:var(--play-board-size); max-width:420px; margin:0!important; }
.plg-play-screen .gamestat-row { margin:0!important; grid-template-columns:repeat(var(--gamestat-columns,4),minmax(0,1fr)); }
.plg-play-screen .game-slot-module { flex:none; width:var(--play-board-size)!important; height:var(--play-board-size); margin:0!important; display:flex; align-items:center; justify-content:center; }
.plg-play-screen .gameplay-module { width:var(--play-board-size)!important; height:var(--play-board-size)!important; max-width:none!important; flex:none; overflow:visible; }
.plg-play-screen [hidden] { display:none!important; }
.game-screen-layer .game-controls-module { flex:none; position:relative; width:100%; max-width:420px; height:var(--play-controls-height); margin:0!important; padding:0!important; }
.game-screen-layer .controls-layer {
    position:absolute; top:0; left:50%; width:max-content; max-width:none;
    --control-sticker-size:82px; --controls-grid-gap:8px;
    transform:translateX(-50%) scale(var(--play-controls-scale,1)); transform-origin:top center;
}
.plg-play-screen .controls-difficulty-meter { min-height:72px; }
.plg-play-screen .game-fit-notice:not([hidden]) { display:block; width:260px; text-align:center; }
.plg-play-screen .overlay-layer { position:fixed; top:calc(var(--play-top,0px) + 64px); bottom:20px; left:16px; right:16px; max-width:420px; margin-inline:auto; padding:12px; overflow:hidden; }
.plg-play-screen .overlay-hidden { visibility:hidden; }
.plg-play-screen .msg-container { max-width:300px; }
.plg-play-screen .notebook-progress { display:none; }
.plg-play-screen .msg-title { font-size:22px; }
.plg-play-screen .msg-body { font-size:14px; line-height:1.4; }
.plg-playing #global-sound-toggle { display:none!important; }

@media (max-height:640px) {
    .plg-play-screen { padding-bottom:max(20px,env(safe-area-inset-bottom)); }
}
