/* Raster skin only: preserve existing geometry, targets and game logic. */
html.gori-pixel-ui{--pixel-frame:url('/assets/ui-v321/frame-0.png');--pixel-selected:url('/assets/ui-v321/frame-1.png');--pixel-pressed:url('/assets/ui-v321/frame-2.png');--pixel-disabled:url('/assets/ui-v321/frame-3.png')}
/* A single frame silhouette in every state: changing four generated frames
   made the corners/edge thickness jump. State feedback only changes the face. */
html.gori-pixel-ui :is(#t-main,#game-dock,#game-settings,.pixel-ui-demo) :is(button,.btn){box-sizing:border-box;border:2px solid transparent!important;border-image:var(--pixel-frame) 12 / 6px / 0 stretch!important;border-radius:0!important;box-shadow:none!important;background:#202025!important;color:#ebddc4!important;text-shadow:none!important;image-rendering:pixelated;transition:background-color .08s!important;transform:none!important;line-height:1.35}
html.gori-pixel-ui :is(#t-main,#game-dock,#game-settings,.pixel-ui-demo) :is(button,.btn):is(.on,.active,[aria-selected=true],[aria-pressed=true],.hot){background:#453b29!important;color:#fff0c8!important}
html.gori-pixel-ui :is(#t-main,#game-dock,#game-settings,.pixel-ui-demo) :is(button,.btn):not(:disabled):active{background:#111116!important;color:#fff0c8!important;filter:none!important;transform:none!important}
html.gori-pixel-ui :is(#t-main,#game-dock,#game-settings,.pixel-ui-demo) :is(button,.btn):disabled{background:#28272a!important;color:#aaa39a!important;opacity:.65;filter:none!important}
/* Standard action groups share height; compact icon/help controls keep their role. */
html.gori-pixel-ui :is(.pixel-ui-demo nav,.af-actions,#forge .act,#dock-extra-actions) :is(button,.btn){min-height:44px!important;padding:8px 12px!important;align-self:stretch;display:inline-flex;align-items:center;justify-content:center;gap:6px}
html.gori-pixel-ui .pixel-ui-demo nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
html.gori-pixel-ui .pixel-ui-demo nav button{width:100%;min-width:0}
@media(max-width:480px){html.gori-pixel-ui .pixel-ui-demo nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
html.gori-pixel-ui :is(#t-main .card,#game-settings,.pixel-ui-card){border-image:var(--pixel-frame) 12 fill / 8px / 0 stretch!important;border-radius:0!important;box-shadow:none!important;image-rendering:pixelated}
html.gori-pixel-ui :is(button,.btn):focus-visible{outline:2px solid #e7cd8e!important;outline-offset:2px}
html.gori-pixel-ui img.gori-engraved,.pixel-ui-icon{image-rendering:pixelated;object-fit:contain;filter:none!important;vertical-align:middle;flex-shrink:0}
.pixel-ui-grade{border-image:var(--grade-frame,var(--pixel-frame)) 12 fill / 7px / 0 stretch;image-rendering:pixelated}
/* Fixed pixel strokes: stretching the noisy raster edge resampled its speckles
   whenever live labels changed width, making an idle frame appear to crawl. */
html.gori-pixel-ui :is(#t-main,#game-dock,#game-settings,.pixel-ui-demo) :is(button,.btn){
 border-image:none!important;border:2px solid #88734d!important;
 box-shadow:inset 0 1px #d4b982,inset 1px 0 #b59a68,inset 0 -1px #403526,inset -1px 0 #403526,0 0 0 1px #151719!important;
 animation:none!important;transition:none!important;filter:none!important;
 font-variant-numeric:tabular-nums;
}
html.gori-pixel-ui :is(.af-actions,#forge .act,#dock-extra-actions){min-width:0;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,120px),1fr));gap:8px}
html.gori-pixel-ui :is(.af-actions,#forge .act,#dock-extra-actions)>:is(button,.btn){min-width:0;word-break:keep-all;overflow-wrap:break-word}
