/* Local visual specification for the games operator workspace. */
.gc-shell {gap:16px}
.gc-shell button {min-height:44px}
.gc-shell>.gw-head {margin-bottom:0;align-items:flex-start}
.gw-head h2 {margin:8px 0;font-size:26px}
.gc-shell>.gw-clock {padding:16px 20px;gap:20px;border-radius:12px;margin-bottom:0}
.gw-clock-time {font-size:36px}
.gw-clock-identity {min-width:116px}
.gw-clock-data {font-size:13px}
.gw-clock.is-compact {padding:12px 18px;gap:16px;background:#f8fafb}
.gw-clock.is-compact .gw-clock-time {font-size:26px}
.gw-clock.is-compact>span {margin-left:auto}
.gc-shell>.gw-tabs {margin-bottom:0;box-shadow:none}
.gc-shell>.gw-structure {margin-bottom:0;padding:14px 20px;box-shadow:none}
.gc-live-layout {display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:18px;align-items:start}
.gc-game-controls {grid-column:1;grid-row:1}
.gc-tv {grid-column:2;grid-row:1;position:sticky;top:16px;box-shadow:none;background:#f8fafb}
.gc-game-controls>.gc-panel-title h3 {margin-right:auto}
.gc-panel {box-shadow:none;padding:20px}
.gc-panel-title {align-items:center}
.gc-actor {padding-bottom:14px;border-bottom:1px solid #edf0f3}
.gc-actor input {flex:1;max-width:300px;width:100%;min-width:0}
.gc-tv-head {padding-top:6px}
.gc-tv-head strong {font-size:14px}
.gc-tv-actions {gap:8px}
.gc-tv-actions button {flex:1}
.gc-devices {display:grid;gap:8px}
.gc-device {padding:12px;border-radius:10px;display:grid;grid-template-columns:20px minmax(0,1fr);gap:4px 8px;min-height:44px}
.gc-device input {grid-row:1/3;width:18px;height:18px}
.gc-device small {grid-column:2;line-height:1.5;font-size:12px;color:#617087}
.gc-device span {overflow-wrap:anywhere;font-weight:600}
.gc-more {border-top:1px solid #e4e9ef;padding-top:10px}
.gc-more summary {min-height:44px;display:list-item;cursor:pointer;color:#637287;font-size:13px;line-height:44px}
.gc-more>button {margin:4px 6px 6px 0}
.gc-mystery-live {grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:0}
.gc-mystery-card {margin:0;padding:16px;background:white;border-radius:12px;display:grid;gap:10px;align-content:start;min-width:0}
.gc-mystery-card h3 {margin:0;font-size:15px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.gc-mystery-card p {margin:0;overflow-wrap:anywhere}
.gc-mystery-card.is-revealed {background:#faf7ef;border-color:#d4c095}
.gc-action-hint {min-height:40px;font-size:12px;line-height:1.6}
.gc-badge {color:#795e2b;background:#faf5e9;border-color:#e6d6b7}
.gc-live-cell.is-done,.gc-live-cell.is-done:hover:not(:disabled) {background:#f8f0dd;border-color:#ba9858}
.gc-live-cell.is-done small {color:#795e2b}
.gc-progress {margin:0;display:flex;align-items:center;gap:8px;color:#637287;font-size:13px}
.gc-progress strong {font-size:18px;color:#947239}
.gc-award-summary {display:flex;flex-wrap:wrap;gap:12px 24px;padding:16px 0;border-top:1px solid #edf0f3;border-bottom:1px solid #edf0f3;color:#617087;font-size:13px}
.gc-award-summary b {font-size:22px;color:#947239;margin:0 6px;font-variant-numeric:tabular-nums}
.gc-save-bar {position:sticky;bottom:12px;z-index:2;padding:14px 16px;background:white;border:1px solid #dce4ee;border-radius:12px;box-shadow:0 6px 24px #152a3812}
.gc-save-state {color:#637287;font-size:13px;margin-right:auto}
.gc-save-bar>.gc-feedback {flex-basis:100%}
.gc-record {grid-template-columns:160px 110px 96px minmax(0,1fr) 80px}
.gc-card {overflow:hidden;padding:0;box-shadow:none;gap:14px}
.gc-card>:not(.gc-card-visual) {margin-left:20px;margin-right:20px}
.gc-card-cover {display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:#101b26}
.gc-card-actions {margin-bottom:20px}
.gc-card p.gc-muted {font-size:12px}
.gc-card-icon {width:36px;height:36px;border-radius:8px;font-size:20px}
.gc-card .gc-card-head {padding-top:4px}
.gc-card:hover {border-color:#c0ac84}
.gc-empty a {display:inline-flex;align-items:center;min-height:44px;color:#795e2b;font-weight:600}
@media(max-width:1100px){.gc-live-layout{grid-template-columns:minmax(0,1fr)}.gc-game-controls,.gc-tv{grid-column:auto;grid-row:auto}.gc-tv{position:static}.gc-devices{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.gc-mystery-live{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}
@media(max-width:700px){.gc-shell{gap:12px}.gc-shell>.gw-clock{padding:14px;gap:12px}.gw-clock.is-compact>span{margin-left:0}.gc-game-controls,.gc-tv{padding:16px}.gc-live-award-row select{min-width:0;width:100%;flex-basis:100%}.gc-live-award-row button{width:100%}.gc-save-bar{bottom:8px;gap:8px;padding:12px}.gc-save-state{flex-basis:100%}.gc-save-bar button{flex:1}.gc-record{grid-template-columns:1fr auto;gap:8px;padding:14px}.gc-record time{grid-column:1/-1}.gc-record-label{grid-column:1/-1}.gc-record-kind,.gc-record-actor{display:block}.gc-record-game{display:none}.gc-record-actor{text-align:left}.gc-mystery-live{grid-template-columns:minmax(0,1fr)}.gc-card-actions{flex-wrap:wrap}.gc-card-actions button{flex:1}.gc-tv-actions button{padding:8px 10px}.gc-cards{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.gc-shell *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.gc-shell button.primary:disabled{background:#edf0f3;border-color:#dce4ee;color:#778494;opacity:1}
.gc-shell .gc-badge{color:#795e2b;background:#faf5e9;border-color:#e6d6b7}
.gc-shell .gc-badge.is-soon{color:#617087;background:#f2f5f9;border-color:#dde5ef}

.gc-card-visual{margin:0;position:relative}.gc-card-visual figcaption{position:absolute;bottom:8px;right:8px;padding:4px 8px;border-radius:6px;background:#0f1d2bd9;color:#f2e0bd;font-size:11px}

.gc-brand-logo-row{display:flex;align-items:center;gap:16px;margin:16px 0}.gc-brand-logo-preview{width:72px;height:72px;display:grid;place-items:center;border:1px solid #dbe3ec;border-radius:12px;background:#f7f9fc;font-size:32px;color:#ad8a4e}.gc-brand-logo-preview img{max-width:60px;max-height:60px;object-fit:contain}.gc-brand-upload{position:relative;padding:10px 14px;border:1px solid #ccd6e2;border-radius:8px;cursor:pointer}.gc-brand-upload input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}
