:root{--hl-glow:0 0 24px rgba(118,222,139,.14);--hl-gold-glow:0 0 24px rgba(239,198,103,.15)}
.topbar{background:linear-gradient(145deg,rgba(20,37,29,.97),rgba(8,18,14,.96) 60%,rgba(29,22,38,.92))}
.hero-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}.hero-badges span{padding:.34rem .55rem;border:1px solid rgba(118,222,139,.18);border-radius:999px;background:rgba(7,16,11,.5);color:#d9e5dd;font-size:.66rem;font-weight:820}.top-mark{box-shadow:var(--hl-gold-glow)}
.playfield-header{align-items:center}.board-controls{display:grid;grid-template-columns:44px 72px 44px auto;align-items:center;gap:.35rem}.board-controls button{height:44px;min-width:44px;border:1px solid #496556;border-radius:.65rem;background:#15271f;color:var(--text);font-weight:950;font-size:1.2rem;cursor:pointer}.board-controls #zoom-reset{padding-inline:.7rem;font-size:.75rem}.board-controls output{display:grid;place-items:center;height:44px;border:1px solid rgba(239,198,103,.34);border-radius:.65rem;background:#1c1b11;color:var(--gold);font-weight:950}.board-controls button:hover:not(:disabled){border-color:var(--green);box-shadow:var(--hl-glow)}
.board-help{margin:0 4px 10px;color:var(--muted);font-size:.75rem;line-height:1.45}
.art-mount{display:block;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y;background:var(--paper);scrollbar-color:#809087 #e0dbce;scrollbar-width:thin}.high-lines-svg{margin:auto;min-width:100%;max-height:none;transform-origin:top left;transition:width .18s ease}
#art-mount [data-region],#art-mount [data-hidden]{touch-action:manipulation}#art-mount [data-hidden]{filter:drop-shadow(0 0 2px rgba(217,146,53,.2))}
.swatch-button{min-height:48px;transition:transform .13s ease,border-color .13s ease,box-shadow .13s ease}.swatch-button[aria-pressed="true"]{box-shadow:0 0 0 2px rgba(239,198,103,.16),var(--hl-gold-glow)}
.tool-card button{min-height:48px}#reset-art.reset-armed{border-color:rgba(255,149,135,.68);background:#4b211d;color:#ffd8d2;box-shadow:0 0 18px rgba(255,149,135,.12)}
.progress-track span{box-shadow:0 0 14px rgba(118,222,139,.26)}.scene-complete .progress-card{border-color:rgba(239,198,103,.55);box-shadow:var(--hl-gold-glow)}.hidden-list li.found{box-shadow:inset 3px 0 0 var(--green)}
.art-loading{min-height:clamp(260px,55vw,520px)}.art-error{min-height:300px;padding:1.5rem}
@media(max-width:980px){.playfield-header{display:flex}.activity-rail{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.game-shell{width:min(100% - .7rem,1440px)}.topbar{padding:1rem}h1{font-size:clamp(2.7rem,18vw,4.3rem)}.hero-badges{gap:.28rem}.hero-badges span{font-size:.59rem}.codebar{position:sticky;top:.25rem;z-index:30;background:rgba(13,25,20,.96);backdrop-filter:blur(10px);box-shadow:0 8px 22px rgba(0,0,0,.18)}.playfield{padding:.45rem}.playfield-header{display:grid;gap:.65rem}.board-controls{grid-template-columns:48px 78px 48px 1fr;width:100%}.board-controls button,.board-controls output{height:48px}.board-help{font-size:.72rem;margin:.1rem .4rem .6rem}.art-mount{min-height:72vw;max-height:72vh}.palette-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.swatch-button{min-height:54px}.tool-card{grid-template-columns:1fr 1fr}.tool-card button{min-height:54px}.activity-rail{grid-template-columns:1fr}.progress-card{order:-1}.hunt-card{order:0}.scene-card,.prompt-card{min-height:0}}
@media(max-width:390px){.board-controls{grid-template-columns:46px 70px 46px 1fr}.palette-grid{grid-template-columns:1fr 1fr}.swatch-button>span:nth-child(2){font-size:.68rem}}
@media(prefers-reduced-motion:reduce){.high-lines-svg,.swatch-button{transition:none!important}}
