﻿:root { --pg-control-bg:#fff7e8; --pg-control-ink:#3b2416; --pg-control-edge:#795334; }
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--pg-control-bg:#2a1f17;--pg-control-ink:#f3e6d0;--pg-control-edge:#c08a5a;}}
:root[data-theme="dark"]{--pg-control-bg:#2a1f17;--pg-control-ink:#f3e6d0;--pg-control-edge:#c08a5a;}
.pg-ux-tools{display:flex;margin-left:auto;flex:none;}
.pg-ux-tools button{position:static!important;min-width:44px;min-height:44px;padding:8px 12px!important;background:var(--pg-control-bg)!important;color:var(--pg-control-ink)!important;border:2px solid var(--pg-control-edge)!important;box-sizing:border-box;line-height:1.2;}
.pg-ux-tools button:focus-visible{outline:3px solid var(--pg-control-ink);outline-offset:2px;}

.polish-pop{animation-duration:500ms!important;}
html[data-motion="reduce"] *,html[data-motion="reduce"] *::before,html[data-motion="reduce"] *::after{transition-property:opacity,color,background-color,border-color!important;scroll-behavior:auto!important;}
/* The navigation consumes exactly one touch target row. */
.pg-site-nav{height:44px;min-height:44px;flex:none;width:100%;max-width:600px;margin:0 auto;padding:0 8px;display:flex;align-items:center;gap:12px;box-sizing:border-box;font:16px/1.2 system-ui,sans-serif;}
.pg-site-nav a{display:inline-flex;align-items:center;min-height:44px;color:inherit;white-space:nowrap;}
.pg-site-nav .pg-ux-tools button{height:44px;min-height:44px;padding:0 8px!important;white-space:nowrap;}
body{display:flex;flex-direction:column;box-sizing:border-box;}
body>:where(.app,.wrap,main){max-height:calc(100dvh - 44px);min-height:0;width:100%;margin-block:0;}
body>.app{height:calc(100dvh - 44px)!important;flex:1 1 auto;}
/* Center dialog cards below the measured navigation and game header. */
.pg-site-nav{position:relative;z-index:23;}
body :is(.overlay,[role="dialog"]){--pg-dialog-space:calc(100dvh - var(--pg-header-bottom,44px) - 16px);box-sizing:border-box;justify-content:safe center!important;}
body :is(.overlay,[role="dialog"]):has(>.card){position:fixed!important;inset:calc(var(--pg-header-bottom,44px) + 8px) 0 8px!important;height:auto!important;max-height:var(--pg-dialog-space)!important;min-height:0!important;transform:none!important;overflow:hidden!important;}
body :is(.overlay,[role="dialog"])>.card{box-sizing:border-box;min-height:0;max-height:100%;overflow:auto;overscroll-behavior:contain;}
body :is(.overlay,[role="dialog"]):not(:has(>.card)){position:fixed!important;inset:auto!important;left:50%!important;top:calc((100dvh + var(--pg-header-bottom,44px))/2)!important;transform:translate(-50%,-50%)!important;width:min(440px,calc(100% - 32px));height:auto!important;min-height:0!important;max-height:var(--pg-dialog-space)!important;overflow:auto!important;overscroll-behavior:contain;}
body :is(.overlay,[role="dialog"]):not(:has(>.card))>*{flex-shrink:0;}
/* Canvas backing dimensions preserve the board aspect ratio when the stage narrows. */
body>.wrap .stage>canvas{height:auto!important;}

/* Local tokens prevent game root overrides from changing shared chrome contrast. */
.pg-site-nav{--pg-control-bg:#fff7e8;--pg-control-ink:#3b2416;--pg-control-edge:#795334;background:var(--pg-control-bg)!important;color:var(--pg-control-ink)!important;}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .pg-site-nav{--pg-control-bg:#2a1f17;--pg-control-ink:#f3e6d0;--pg-control-edge:#c08a5a;}}
:root[data-theme="dark"] .pg-site-nav{--pg-control-bg:#2a1f17;--pg-control-ink:#f3e6d0;--pg-control-edge:#c08a5a;}
.pg-site-nav :focus-visible,.pg-ux-tools :focus-visible{outline:3px solid var(--pg-control-ink)!important;outline-offset:-3px;}

/* Theme colors must change together, including under an installed test clock. */
.pg-site-nav,.pg-site-nav a,.pg-ux-tools button{transition:none!important;}
