/* Rules follow the viewport-scale game scene, directly on the existing felt. */
.entry-content{max-width:48rem;margin:0 auto;padding:2.5rem max(1.25rem,env(safe-area-inset-right)) calc(3rem + env(safe-area-inset-bottom)) max(1.25rem,env(safe-area-inset-left));color:#f6f0dc;font-size:1rem;line-height:1.75;overflow-wrap:break-word;scroll-margin-top:1rem}
.entry-content h2{font:400 1.5rem/1.25 Georgia,serif;color:#fff4d9;margin:1.8rem 0 .85rem;letter-spacing:0}
.entry-content h3{font-size:1.05rem;line-height:1.5;color:#fff4d9;margin:1.4rem 0 .45rem}
.entry-content h2:first-child{margin-top:0}
.entry-content p{margin:0 0 1.1rem}
.entry-content ol,.entry-content ul{padding-left:1.4rem;margin:0 0 1.3rem}
.entry-content li{margin:.55rem 0;padding-left:.15rem}
.entry-content a,.entry-fallback a,.entry-start-note a{color:#f2d78b;text-underline-offset:.2em}
.entry-content a:focus-visible,.entry-fallback a:focus-visible,.entry-start-note a:focus-visible{outline:3px solid #f2d78b;outline-offset:4px}
.entry-content nav{margin-top:2rem;padding-top:1rem;border-top:1px solid #f2d78b33}
.entry-content nav ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.15rem 1.2rem}
.entry-content nav li{margin:0;padding:0}
.entry-content nav a{display:inline-flex;align-items:center;min-height:44px;padding:.4rem 0}
.entry-fallback{min-height:100svh;color:#fff4d9;background:radial-gradient(ellipse at 50% 35%,#37664e 0%,#244e3d 45%,#11372d 100%);padding:calc(1.5rem + env(safe-area-inset-top)) max(1.25rem,env(safe-area-inset-right)) 2rem max(1.25rem,env(safe-area-inset-left));text-align:center}
.entry-fallback h1{font:500 clamp(1.75rem,5vw,2.25rem)/1.2 Georgia,serif;margin:1.5rem 0 1rem;letter-spacing:-.5px}
.entry-fallback p{max-width:34rem;margin:1rem auto;line-height:1.7}
.entry-fallback>a{display:inline-flex;align-items:center;min-height:44px}
.entry-start-note{color:#e8dec6;font-size:.875rem;line-height:1.6;text-align:center;margin:0}
.entry-skip{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.entry-skip:focus{left:1rem;top:calc(1rem + env(safe-area-inset-top));width:auto;height:auto;overflow:visible;z-index:15;background:#fff4d9;color:#183e32;border-radius:8px;padding:.85rem 1rem;outline:3px solid #e6c783;outline-offset:3px}
/* Native links retain the button-based scene geometry and focus treatment. */
body[data-entry-page] .menu-field a.game-card{display:block;text-decoration:none}
body[data-entry-page] a:is(.game-card,.menu-resume,.scene-icon,.table-back,.menu-primary,.result-replay){font-family:inherit;text-decoration:none;touch-action:manipulation;cursor:pointer}
body[data-entry-page] a.menu-primary{text-align:center}
body[data-entry-page] a.table-back:not(.scene-icon){display:inline-flex;align-items:center;min-height:42px;background:transparent}
body[data-entry-page] a:is(.game-card,.menu-resume,.scene-icon,.table-back,.menu-primary,.result-replay):focus-visible{outline:3px solid #e6c783;outline-offset:4px}
@media(max-width:480px){.entry-content{padding-top:2rem;font-size:1rem}.entry-content h2{font-size:1.35rem}}

body[data-entry-page] a.result-replay{width:fit-content;min-height:44px;line-height:24px;text-align:center}

/* Outside the game viewport: reachable without crowding the puzzle controls. */
.site-footer{max-width:48rem;margin:auto;padding:1rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom));color:#e8dec6;text-align:center;font-size:.875rem;line-height:1.6}
.site-footer p{margin:0}
.site-footer nav{display:flex;justify-content:center;flex-wrap:wrap;gap:.25rem 1.5rem}
.site-footer a{display:inline-flex;align-items:center;min-height:44px;color:#f2d78b;text-underline-offset:.2em}
.site-footer a:focus-visible{outline:3px solid #f2d78b;outline-offset:4px}
