/* Discovery artwork stays inside its board; the Storage Hub palette stays intact. */
.sgx-game{--sgx-blue:#033982;--sgx-ink:#19354f;--sgx-muted:#526b80;--sgx-line:#d5e0eb;color:var(--sgx-ink);font-family:Archivo,Arial,sans-serif;max-width:520px;margin-inline:auto}
.sgx-game *{box-sizing:border-box}.sgx-game [hidden]{display:none!important}.sgx-game button{font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.sgx-game button:focus-visible{outline:3px solid #b77b20;outline-offset:4px}.sgx-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.sgx-label{color:var(--sgx-muted);font-size:9px;font-weight:700;letter-spacing:.13em;line-height:1.5}.sgx-count{white-space:nowrap;font-size:11px;font-weight:750;color:var(--sgx-blue);background:#edf3fa;border:1px solid #d5e2f0;padding:7px 10px;border-radius:6px;font-variant-numeric:tabular-nums}.sgx-board{position:relative;isolation:isolate;border:1px solid var(--sgx-line);border-radius:13px;overflow:hidden}.sgx-board>svg{display:block;width:100%;height:auto}.sgx-status{font-size:13px;line-height:1.65;color:var(--sgx-muted);margin:16px 0;min-height:42px;text-align:center;text-wrap:pretty}.sgx-controls{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px}.sgx-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 17px;border:1px solid var(--sgx-blue);border-radius:7px;background:var(--sgx-blue);color:#fff;font-size:12px!important;font-weight:650!important;line-height:1.4;text-align:center}.sgx-button:hover{background:#022d67}.sgx-button-quiet{border-color:#c8d6e3;background:#fff;color:var(--sgx-blue)}.sgx-button-quiet:hover{background:#f0f5fb}.sgx-completion{display:flex;align-items:center;gap:12px;margin-top:18px;padding:15px 17px;background:#edf4fa;border:1px solid #cadced;border-radius:9px}.sgx-done-mark{display:grid;place-items:center;flex:none;width:30px;height:30px;background:var(--sgx-blue);color:#fff;border-radius:50%;font-size:17px;font-weight:700}.sgx-completion strong{display:block;font-size:13px;line-height:1.5;color:var(--sgx-blue)}.sgx-completion div>span{display:block;margin-top:3px;color:var(--sgx-muted);font-size:11px;line-height:1.5}.sgx-confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden;z-index:8}.sgx-confetti i{position:absolute;top:35%;left:var(--sgx-x);width:5px;height:10px;background:#c4a461;opacity:0;animation:sgx-confetti 1s var(--sgx-delay) ease-out both;border-radius:1px}.sgx-confetti i:nth-child(3n){background:#96b5d3}.sgx-confetti i:nth-child(3n+1){background:#f3dca6}.sgx-confetti i:nth-child(2n){width:4px;height:4px;border-radius:50%}@keyframes sgx-confetti{0%{opacity:0;transform:translateY(0) rotate(var(--sgx-turn))}18%{opacity:1;transform:translateY(-30px) rotate(calc(var(--sgx-turn) + 90deg))}100%{opacity:0;transform:translateY(90px) rotate(calc(var(--sgx-turn) + 210deg))}}
/* Christmas: small ornaments on a drawn tree, with a real button for every branch. */
.sgx-tree-slot{position:absolute;z-index:2;transform:translate(-50%,-50%);display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px dashed #ecf3edaa;border-radius:50%;background:#1f4b473d;color:#fff;transition:background .15s,box-shadow .15s}.sgx-tree-slot:hover{background:#ffffff26;box-shadow:0 0 0 4px #ffffff15}.sgx-slot-plus{font-size:24px;line-height:1;font-weight:400}.sgx-tree-slot.sgx-filled{border-color:transparent;background:none}.sgx-tree-slot svg{width:45px;height:45px;filter:drop-shadow(0 3px 2px #143e3b33)}.sgx-ornament-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:13px}.sgx-ornament{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:85px;border:1px solid #d0dde8;border-radius:8px;padding:9px;background:#fff;color:var(--sgx-muted)}.sgx-ornament svg{width:32px;height:32px}.sgx-ornament>span{font-size:10px;font-weight:600;line-height:1.4}.sgx-ornament[aria-pressed=true]{background:#eaf1fa;border-color:var(--sgx-blue);box-shadow:inset 0 0 0 1px var(--sgx-blue);color:var(--sgx-blue)}.sgx-ornament:hover{background:#f1f6fb}
/* Halloween: the mystery lives in the lockers, not in a full-page colour change. */
.sgx-halloween .sgx-board{background:#183553;border-color:#223f5e}.sgx-clue{position:relative;z-index:2;margin:18px 18px 4px;padding:14px 16px;border:1px solid #52677d;border-radius:8px;color:#e5eafa;background:#223e5b;font-size:14px;line-height:1.65;min-height:75px;text-align:center}.sgx-locker-room{position:relative;padding:23px 25px 32px;overflow:hidden}.sgx-locker-room>svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.sgx-lockers{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;z-index:1}.sgx-locker{min-width:0;min-height:44px;display:flex;flex-direction:column;align-items:center;gap:11px;padding:0;border:0;background:transparent;color:#d3dde8;border-radius:4px}.sgx-locker-sign{display:block;width:34px;height:34px}.sgx-locker-sign svg{width:100%;height:100%}.sgx-locker-frame{position:relative;display:block;width:100%;height:168px;background:#0e253d;border:4px solid #708599;border-bottom-color:#354d65;box-shadow:0 4px 0 #102940;border-radius:3px;perspective:600px}.sgx-locker-door{position:absolute;inset:0;display:block;transform-origin:left center;transition:transform .45s ease;background:linear-gradient(100deg,#5a7590,#7490a7);border:1px solid #89a1b5;box-shadow:inset -3px 0 #354f68;border-radius:1px;backface-visibility:hidden}.sgx-locker-number{display:inline-block;margin-top:17px;background:#254461;color:#f0e7d3;border:1px solid #9dafbc;padding:5px 12px;font-size:13px;font-weight:700;letter-spacing:.1em;border-radius:2px}.sgx-locker-vents{position:absolute;top:66px;left:20%;right:20%;height:20px;background:repeating-linear-gradient(to bottom,#39566e 0 2px,transparent 2px 6px)}.sgx-locker-handle{position:absolute;right:10px;top:105px;width:4px;height:22px;background:#d3dde5;border:1px solid #6b8194;box-shadow:2px 0 #2c4358;border-radius:3px}.sgx-locker-inside{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;padding:18px 8px}.sgx-locker-inside svg{width:75px;max-width:100%;height:auto;filter:drop-shadow(0 5px 6px #0003)}.sgx-locker:hover .sgx-locker-door{background:linear-gradient(100deg,#6f8ba5,#829eb5)}.sgx-locker.sgx-open .sgx-locker-door{transform:rotateY(-76deg)}.sgx-locker.sgx-empty .sgx-locker-door{transform:rotateY(-52deg)}.sgx-locker[aria-disabled=true]{cursor:default}.sgx-costume-tray{display:flex;justify-content:center;gap:14px;margin-top:16px}.sgx-costume-piece{display:grid;place-items:center;width:52px;height:52px;padding:7px;border:1px dashed #bccddc;background:#f4f7fa;border-radius:50%}.sgx-costume-piece svg{width:36px;height:36px;opacity:.3;filter:grayscale(1)}.sgx-costume-piece.sgx-collected{background:#edf3fa;border:1px solid #87a7c8}.sgx-costume-piece.sgx-collected svg{opacity:1;filter:none}
/* Easter: the illustration is a room, the hidden eggs are accessible controls. */
.sgx-hidden-egg{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;display:grid;place-items:center;padding:0;border:2px solid transparent;border-radius:50%;background:transparent;transition:background .15s,border-color .15s;z-index:2}.sgx-hidden-egg svg{width:24px;height:32px;transform:rotate(-9deg);filter:drop-shadow(1px 2px 1px #233e5626)}.sgx-hidden-egg:nth-of-type(2) svg{transform:rotate(12deg)}.sgx-hidden-egg:nth-of-type(4) svg{transform:rotate(-17deg)}.sgx-hidden-egg:hover{background:#fff9;box-shadow:0 0 0 2px #03398222}.sgx-hidden-egg.sgx-found{background:#fff9;border-color:#5d85ab;box-shadow:0 2px 8px #03398214}.sgx-hidden-egg.sgx-found svg{opacity:.27;filter:grayscale(.4);transform:scale(.7)}.sgx-hidden-egg.sgx-found::after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;font-size:22px;font-weight:700;color:var(--sgx-blue)}.sgx-hidden-egg.sgx-hinted{background:#fff8;border-color:#b27d29;box-shadow:0 0 0 5px #dfc89444}.sgx-egg-tray{display:flex;gap:13px;justify-content:center;margin-top:17px}.sgx-tray-egg{display:grid;place-items:center;width:39px;height:44px;position:relative}.sgx-tray-egg::after{content:'';position:absolute;left:3px;right:3px;bottom:0;height:5px;background:#d6e0e9;border-radius:50%}.sgx-tray-egg svg{width:29px;height:38px;opacity:.2;filter:grayscale(1);position:relative;z-index:1}.sgx-tray-egg.sgx-collected svg{opacity:1;filter:none}
/* New Year: a little mechanical switchboard, no flashing or countdown. */
.sgx-newyear .sgx-board{background:#102d50;border-color:#2d4c70;padding-bottom:24px}.sgx-night-sky{position:relative;width:100%;height:auto;aspect-ratio:480/140;overflow:hidden}.sgx-night-sky svg{display:block;width:100%;height:100%}.sgx-night-sky>span{position:absolute;left:0;right:0;top:20px;text-align:center;font-size:9px;letter-spacing:.14em;font-weight:700;color:#c7d6e7}.sgx-switch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:280px;margin:6px auto 0;padding:15px;background:#203d60;border:1px solid #48617b;box-shadow:inset 0 0 0 5px #183553,0 7px 0 #092344;border-radius:13px}.sgx-light-switch{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:74px;padding:10px;background:#18304f;border:1px solid #4a637e;border-bottom-width:3px;border-radius:7px;color:#6e829b;box-shadow:0 2px 1px #0b233d55;transition:background .15s,border-color .15s}.sgx-light-lens{display:block;width:25px;height:28px}.sgx-light-lens svg{width:100%;height:100%}.sgx-switch-number{font-size:9px;font-weight:700;letter-spacing:.1em;color:#a3b6ca}.sgx-light-switch.sgx-lit{color:#ffe4a8;background:#79623d;border-color:#c5a86b;border-bottom-color:#a18650;box-shadow:0 2px 1px #0b233d55,inset 0 0 18px #f4da9b16}.sgx-lit .sgx-switch-number{color:#f7e5bd}.sgx-light-switch:hover{border-color:#a0bdd9}.sgx-light-switch.sgx-hinted{outline:3px solid #ebc782;outline-offset:3px}.sgx-light-switch[aria-disabled=true]{cursor:default}.sgx-complete .sgx-night-sky{background:#15365a}.sgx-complete .sgx-night-sky>span{color:#ffe4a8}
@media(max-width:420px){.sgx-top{gap:8px}.sgx-label{font-size:8px;letter-spacing:.1em;max-width:23ch}.sgx-count{font-size:10px;padding:6px 8px}.sgx-status{font-size:12px;min-height:40px}.sgx-tree-slot{width:44px;height:44px}.sgx-tree-slot svg{width:38px;height:38px}.sgx-ornament-picker{gap:7px}.sgx-ornament{padding:8px 4px;min-height:78px}.sgx-ornament>span{font-size:9px}.sgx-clue{margin:14px 12px 0;padding:12px;font-size:12px;min-height:72px}.sgx-locker-room{padding:21px 17px 28px}.sgx-lockers{gap:12px}.sgx-locker-frame{height:142px;border-width:3px}.sgx-locker-number{font-size:11px;padding:4px 8px;margin-top:13px}.sgx-locker-vents{top:54px;height:18px}.sgx-locker-handle{top:85px;right:7px;height:20px}.sgx-locker-sign{width:30px;height:30px}.sgx-locker-inside{padding:14px 5px}.sgx-locker-inside svg{width:58px}.sgx-costume-piece{width:46px;height:46px}.sgx-hidden-egg svg{width:20px;height:27px}.sgx-night-sky>span{font-size:8px;top:15px}.sgx-switch-grid{max-width:244px;gap:10px;padding:13px}.sgx-light-switch{min-height:65px;padding:8px}.sgx-controls{gap:8px}.sgx-button{font-size:11px!important;padding:10px 13px}.sgx-completion{padding:13px;gap:10px}.sgx-completion strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){.sgx-game *,.sgx-game *::before,.sgx-game *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.sgx-confetti{display:none}.sgx-locker.sgx-open .sgx-locker-door{transform:none;visibility:hidden}.sgx-locker.sgx-empty .sgx-locker-door{transform:none;visibility:hidden}}
