/* Per-viewport geometry, grid snapping and tile feedback. Loaded after all themes. */
body.pg-mode.pg-south.view-layout-enabled .pg-rack-wrap{grid-template-rows:var(--v-toolbar) minmax(0,1fr);position:relative}
body.pg-mode.pg-south.view-layout-enabled #tile-rack .rack-slot{top:auto;bottom:0;height:var(--v-tile-h);transition:none;will-change:left}
body.pg-mode.pg-south.view-layout-enabled #tile-rack .tile{height:100%;min-height:0;transform:none!important;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
body.pg-mode.pg-south.view-layout-enabled #tile-rack .tile b{font-size:var(--v-tile-font);line-height:1.08}
body.pg-mode.pg-south.view-layout-enabled .pg-player{scale:var(--v-player-scale);transform-origin:center}
body.pg-mode.pg-south.view-layout-enabled .pg-draw-area{scale:var(--v-center-scale);transform-origin:top left}
body.pg-mode.pg-south.view-layout-enabled .pg-rack-mini{gap:4px;min-width:0}
body.pg-mode.pg-south.view-layout-enabled .pg-rack-mini>div{display:flex;align-items:center;gap:3px;max-width:100%;overflow:auto;scrollbar-width:none}
body.pg-mode.pg-south.view-layout-enabled .pg-rack-mini .pg-sort{white-space:nowrap;height:calc(var(--v-toolbar) - 3px);min-height:24px;padding:3px 7px;font-size:10px;flex-shrink:0}
body.pg-mode.pg-south.view-layout-enabled .pg-rack-mini [data-action=sort-auto]{border:1px solid #d4b669;color:#ffe2a4;background:#163e2c}
body.pg-mode.pg-south.view-layout-enabled .pg-rack-mini .icon{width:15px;height:15px}
body.pg-mode.pg-south.view-layout-enabled #tile-rack .tile.selected{outline:2px solid #ff3047!important;border-color:#f34b58!important;box-shadow:0 0 0 1px #ff5664,0 0 8px #d217334d!important;transform:none!important}
body.pg-mode.pg-south.view-layout-enabled #tile-rack .tile.is-flipped{background:linear-gradient(135deg,#e8c789,#b18a49);color:#624621;border-color:#f4d49a;box-shadow:inset 0 0 0 3px #bb914e,0 2px 1px #0006}
body.pg-mode.pg-south.view-layout-enabled #tile-rack .tile.is-flipped b,body.pg-mode.pg-south.view-layout-enabled #tile-rack .tile.is-flipped i,body.pg-mode.pg-south.view-layout-enabled #tile-rack .tile.is-flipped em{visibility:hidden}
body.pg-mode.pg-south.view-layout-enabled #tile-rack .tile.is-flipped:after{content:'O';position:absolute;inset:3px;display:grid;place-items:center;border:1px solid #81602788;border-radius:4px;font:700 min(24px,var(--v-tile-font))/1 Georgia,serif;color:#fff0bc;text-shadow:0 1px #89622c}
#tile-rack .tile.group-invalid{outline:3px solid #fc243e!important;box-shadow:0 0 12px #ff002d!important;border-color:#ff203f!important}
#tile-rack .tile.group-valid{outline:2px solid #49d485!important;border-color:#49d485!important;box-shadow:0 0 9px #24c36988!important}
#tile-rack.rack-invalid{border-color:#ff3e4c!important;box-shadow:0 0 12px #ff254b99!important}
#tile-rack.rack-valid{border-color:#4fdd98!important;box-shadow:0 0 12px #28ca8477!important}
.rack-drop-marker{position:absolute;bottom:0;height:var(--v-tile-h,100%);width:3px;background:#ff203e;border-radius:2px;box-shadow:0 0 5px #ff405b;z-index:20;pointer-events:none;transform:translateX(-2px)}
.rack-drop-marker:before,.rack-drop-marker:after{content:'';position:absolute;left:-3px;width:9px;height:3px;border-radius:2px;background:#ff203e}.rack-drop-marker:before{top:0}.rack-drop-marker:after{bottom:0}
#tile-rack .touch-sorting{opacity:.16!important}
#tile-rack .touch-drop-target{background:#ea2a4012!important}
.mobile-drag-ghost{pointer-events:none!important;position:fixed!important;z-index:20000!important;opacity:.95;touch-action:none;transform:none!important;transition:none!important;outline:2px solid #ff2f48!important;font-size:var(--v-tile-font,26px)}
.mobile-drag-ghost b{font-size:var(--v-tile-font,26px)!important}.mobile-drag-ghost i{margin-top:2px}
.mobile-drag-ghost.is-flipped{background:linear-gradient(135deg,#e8c789,#b18a49)}.mobile-drag-ghost.is-flipped b,.mobile-drag-ghost.is-flipped i,.mobile-drag-ghost.is-flipped em{visibility:hidden}
.mobile-drag-ghost.is-flipped:after{content:'O';position:absolute;inset:3px;display:grid;place-items:center;color:#8c632b;font-family:Georgia,serif}
.rack-validation-message{position:absolute;left:50%;bottom:calc(100% + 5px);transform:translateX(-50%);background:#591321ed;color:#fff1e8;font-size:11px;padding:5px 9px;border:1px solid #ff4058;border-radius:5px;z-index:25;max-width:90%;pointer-events:none;text-align:center;line-height:1.25}
.rack-validation-message[hidden]{display:none}.rack-validation-message.valid{background:#103a25ed;border-color:#4be099}
.pg-discard.own-discard{border:1px dashed #f4506388!important;border-radius:6px}
.pg-discard.own-discard .pg-empty-discard{display:grid;place-items:center;min-height:29px;color:#efb0a0;font-size:20px}
.pg-discard.own-discard.ready{background:#b91b2844;outline:1px solid #ef3e55}
.pg-discard.own-discard:focus-visible{outline:2px solid #ff455d!important}
.turn-timer.urgent b,.turn-timer.urgent small{color:#ff283f!important}
.turn-timer.urgent b{animation:okey-last-seconds .9s ease-in-out infinite}
@keyframes okey-last-seconds{0%,100%{opacity:1;text-shadow:0 0 6px #ff274755}50%{opacity:.38;text-shadow:none}}
.vl-fields{display:flex;flex-direction:column;gap:18px;margin:16px 0 22px}.vl-fields>label{display:flex;flex-direction:column;gap:7px;font-size:13px}.vl-inputs{display:grid;grid-template-columns:minmax(90px,1fr) 76px 22px;align-items:center;gap:12px}.vl-inputs input[type=range]{height:30px;padding:0;accent-color:#165c45}.vl-inputs input[type=number]{padding:7px;height:36px;text-align:right}.vl-inputs small{color:#657765}.vl-editor .cc-tabs{flex-wrap:wrap}.vl-editor iframe{border:0;transform-origin:top left;display:block}.vl-editor .cc-preview-stage{padding:10px;overflow:hidden;position:relative;background:#dce5da}.vl-editor .cc-preview-caption{padding:12px;font-size:12px;line-height:1.6}
@media(max-width:520px) and (orientation:portrait){body.pg-mode.pg-south.view-layout-enabled .pg-rack-mini>span{display:none}body.pg-mode.pg-south.view-layout-enabled .pg-rack-mini>div{width:100%;justify-content:center}body.pg-mode.pg-south.view-layout-enabled .pg-top{grid-template-rows:minmax(30px,1fr) minmax(32px,1fr)}body.pg-mode.pg-south.view-layout-enabled .pg-tools .pg-icon-button{height:30px;min-height:30px}body.pg-mode.pg-south.view-layout-enabled .pg-rack-mini .pg-sort{font-size:9px;padding:2px 6px}}
@media(prefers-reduced-motion:reduce){.turn-timer.urgent b{animation:none!important;opacity:1}#tile-rack .rack-slot{transition:none!important}}

body.pg-mode.pg-south.view-layout-enabled #tile-rack.is-dragging .rack-slot{transition:left .13s ease}
body.pg-mode.pg-south.view-layout-enabled #tile-rack.is-dragging .rack-slot:has(.touch-sorting){transition:none}
.pg-sort.sort-done{border-color:#56c38c!important;color:#c6ffdf!important}
