/* Games are deliberately mobile-first at every viewport width. */
.games-hub,.codebreaker{max-width:520px;margin:0 auto;display:grid}.games-hub{gap:24px}.games-hub-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.games-eyebrow,.games-section-head p{margin:0 0 3px;font-size:12px;font-weight:900;letter-spacing:.12em;color:var(--muted)}.games-coins{white-space:nowrap;padding:10px 13px;border:2px solid var(--ink);border-radius:999px;background:var(--yellow);color:#182640!important;font-weight:900}.games-section{display:grid;gap:12px}.games-section-head{display:flex;justify-content:space-between;align-items:end}.games-section-head h2{margin:0;font-size:22px}.games-timer,.code-solvers{font-size:13px;font-weight:800;color:#182640!important}[data-theme="dark"] .games-timer{color:#fff!important}[data-theme="dark"] .games-feature-card.complete h3,[data-theme="dark"] .games-feature-card.complete .games-arrow{color:#fff}[data-theme="dark"] .games-feature-card.complete .games-reward{color:#ffd449}[data-theme="dark"] .tool-detail p,[data-theme="dark"] .tool-equipped em{color:#182640}.games-feature-card,.games-mini-card{color:inherit;text-decoration:none;border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink)}.games-feature-card{min-height:128px;display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px;border-radius:18px;background:#244c84;color:#fff;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.games-feature-card.complete{background:var(--card-alt);color:var(--ink)}.games-feature-card.complete .games-reward{color:#a57600}.games-feature-card:hover,.games-mini-card:hover{transform:translateY(-3px);box-shadow:0 6px 0 var(--ink)}.games-feature-card:active,.games-mini-card:active{transform:translateY(1px);box-shadow:0 2px 0 var(--ink)}.games-card-icon{display:grid;place-items:center;box-sizing:border-box;width:52px;height:52px;padding:5px;border-radius:16px;background:#fff}.games-card-icon img{width:100%;height:100%;object-fit:contain}.games-feature-card h3,.games-mini-card strong{margin:0;font-size:18px}.games-feature-card p{margin:5px 0 10px;color:#e4edff;font-size:14px}.games-reward{font-size:13px;font-weight:900;color:#ffd449}.games-arrow{font-size:28px}.games-grid{display:grid;grid-template-columns:1fr;gap:9px}.games-mini-card{position:relative;display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;gap:7px;min-height:0;padding:14px 45px 14px 14px;border-radius:16px;background:var(--card-alt);transition:transform .18s ease,box-shadow .18s ease}.games-mini-card>span{grid-row:span 2;font-size:24px}.games-mini-card small{grid-column:2;color:var(--muted);font-weight:700}.games-mini-arrow{position:absolute;right:15px;top:50%;transform:translateY(-50%);font-style:normal;font-size:21px;font-weight:900}.games-soon{opacity:.7}.games-all{width:100%;justify-content:center}.game-page-header{display:grid;gap:12px}.back-link{display:block;width:max-content;padding:0;font-weight:800;color:var(--blue);text-decoration:none}.game-page-head{position:static}
.codebreaker{gap:0}.codebreaker-panel{display:grid;justify-items:center;gap:10px;padding:26px 20px;border:3px solid var(--ink);border-radius:22px;background:#fff;text-align:center}.codebreaker-panel h2{margin:0;color:#182640!important;font-size:25px}.codebreaker-icon,.codebreaker-panel .codebreaker-icon{display:block;width:88px;height:88px;margin:0;object-fit:contain}.codebreaker-panel>.hint{margin:0;color:var(--muted);font-size:16px;line-height:1.35;font-weight:800}.vault-intel,.signal-sweep,.vault-tools{width:100%;box-sizing:border-box;border:2px solid #182640;border-radius:14px;background:#eaf1fb;padding:11px;text-align:left}.vault-section-heading{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:transparent;padding:0;color:inherit;text-align:left;cursor:pointer}.vault-section-heading strong{display:block;color:#182640;font-size:13px;letter-spacing:.08em}.vault-chevron{display:grid;place-items:center;width:22px;height:22px;transition:transform .2s ease}.vault-chevron svg{width:18px;height:18px;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.vault-chevron.open{transform:rotate(180deg)}.vault-tools.collapsed,.vault-intel.collapsed{padding-bottom:11px}.tool-equipped.signal-sweep b{color:#214b8a}.tool-equipped.position-ping b{color:#c86c00}.tool-equipped.frequency-scan b{color:#247c45}.tool-equipped.lock-pick b{color:#6940ad}.tool-equipped em.empty,.tool-equipped.empty em{color:#b73b34}.signal-counts{margin:0!important;padding-left:17px!important}.tool-usage-box{margin-top:10px;padding:9px 10px;border:2px solid #b8c6da;border-radius:10px;background:#fff}.tool-usage-box>strong{display:block;color:#182640;font-size:11px;letter-spacing:.08em}.tool-usage-box ul{margin:6px 0 0;padding-left:18px}.tool-usage-box li{margin:4px 0;color:#182640;font-size:13px;font-weight:400}.tool-usage-box li b{font-weight:900}.signal-count{display:block}.tool-usage-box li span{display:list-item}.tool-usage-box p{margin:5px 0 0;color:var(--muted);font-size:12px;font-weight:700}.tool-match{color:#247039}.tool-no-match{color:#b73b34}.vault-tools>p{margin:5px 0 10px;color:var(--muted);font-size:12px;line-height:1.35;font-weight:700}.tool-list{display:flex;flex-wrap:wrap;gap:9px}.tool-choice{display:grid;place-items:center;width:62px;height:62px;border:3px solid var(--ink);border-radius:14px;background:var(--card-alt);box-shadow:0 5px 0 var(--ink);padding:0;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.tool-choice:hover{background:#fff}.tool-choice.selected{border-color:#1767c4;background:#e8f3ff;box-shadow:0 5px 0 #1767c4,0 0 0 3px #8bc7ff}.tool-choice img{width:38px;height:38px}.tool-detail,.tool-controls{display:grid;gap:8px;margin-top:10px}.tool-detail.signal-sweep{width:auto;box-sizing:border-box;border:0;border-radius:0;background:transparent;padding:0;text-align:left}.tool-detail.signal-sweep b{color:#214b8a}.tool-detail.position-ping b{color:#c86c00}.tool-detail.frequency-scan b{color:#247c45}.tool-detail.lock-pick b{color:#6940ad}.tool-equipped{display:flex;align-items:center;gap:9px;padding-top:10px}.tool-equipped img{width:38px;height:38px}.tool-equipped small{display:block;color:var(--muted);font-weight:700}.ping-controls{grid-template-columns:70px 1fr auto}.ping-controls input,.ping-controls select{min-width:0;border:2px solid #182640;border-radius:8px;padding:8px;font:inherit}.tool-lock-note{margin:8px 0 0;color:#182640;font-weight:800}.vault-intel{background:#fff4c9;border-color:#b27d00;border-width:3px;box-shadow:0 4px 0 #b27d00}.vault-intel strong{display:block;color:#6d4c00;font-size:13px;letter-spacing:.09em}.vault-intel ul{margin:7px 0 0;padding-left:20px}.vault-intel li{margin:4px 0;color:#3a300e;font-weight:800}.vault-intel li::marker{color:#a57600}.vault-intel b{color:#6d4c00;font-size:1.08em}.signal-sweep{display:grid;gap:8px;background:#f7f2dc}.signal-sweep small{display:block;color:#4d4b40;font-weight:700}.sweep-digits{display:grid;grid-template-columns:repeat(10,1fr);gap:4px}.sweep-digits button{min-height:34px;border:2px solid #182640;border-radius:7px;background:#fff;color:#182640;font-weight:900;transition:transform .14s ease,background .14s ease,box-shadow .14s ease}.sweep-digits button:not(:disabled):hover{transform:translateY(-2px);background:#e8f3ff;box-shadow:0 3px 0 #214b8a}.sweep-digits button:not(:disabled):active{transform:translateY(1px);box-shadow:0 1px 0 #214b8a}.sweep-digits button.selected{background:#214b8a;color:#fff;box-shadow:inset 0 0 0 2px #fff,0 3px 0 #163865}.sweep-digits button:disabled{background:#d7dbe1;border-color:#a4abb5;color:#737b87;box-shadow:none;cursor:not-allowed;opacity:1}.sweep-digits button.present:disabled{background:#dcf2df;border-color:#2f8a49;color:#216d37;box-shadow:inset 0 0 0 1px #fff}.sweep-digits button.absent:disabled{background:#ffe1df;border-color:#c94943;color:#9f302c;box-shadow:inset 0 0 0 1px #fff}.signal-digit{font-weight:900}.signal-yes{color:#247039}.signal-no{color:#b73b34}.sweep-run{justify-self:start;padding:7px 11px}.sweep-run.is-disabled{background:#bfc5ce!important;border-color:#8c949f!important;color:#66707d!important;box-shadow:none!important}.sweep-result{margin:0;color:#182640;font-weight:800}.signal-sweep.used{opacity:.72}.code-attempts{width:100%;margin:0;padding:10px;border-radius:11px;background:#e7eaf2;color:#182640;font-size:17px;font-weight:900}.code-prize{color:#a57600}.code-attempts.is-win{background:#dff1dc;color:#247039}.code-attempts.is-lose{background:#ffe0de;color:#b73b34}.code-board{width:100%;display:grid;gap:9px}.code-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.code-tile{aspect-ratio:1;display:grid;place-items:center;box-sizing:border-box;border:2px solid var(--ink);border-radius:10px;background:#8f9399;color:#fff;font-size:27px;font-weight:900}.code-tile.exact{background:#68ad62}.code-tile.misplaced{background:#e4c84f}.code-tile.blank{background:#fff}.code-input{width:100%;padding:0;background:#fff;color:var(--ink);font:900 27px/1 inherit;text-align:center;caret-color:var(--blue);outline:none}.code-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #b9d7ff}.input-row.is-active .code-input{border:3px solid #214b8a;background:#f4f8ff;box-shadow:0 0 0 2px #b9d7ff}.code-input:disabled{border-color:#9fa4aa;background:#d8dadd;color:#8a8e94;cursor:not-allowed;opacity:1}.code-input.duplicate{border-color:#d94841;background:#ffe0de;color:#a52c29;animation:duplicate-nudge .24s ease}.code-input-error{margin:0;color:#b73b34;font-weight:900;font-size:14px}.code-good{color:#4c9a50}.code-warn{color:#c4a22a}.code-solvers{margin:0}.guess-row .code-tile{animation:code-reveal .42s ease both}.guess-row .code-tile:nth-child(2){animation-delay:.08s}.guess-row .code-tile:nth-child(3){animation-delay:.16s}.guess-row .code-tile:nth-child(4){animation-delay:.24s}.guess-row .code-tile:nth-child(5){animation-delay:.32s}@keyframes code-reveal{from{opacity:0;transform:scale(.7) rotateX(-45deg)}to{opacity:1;transform:none}}@keyframes duplicate-nudge{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.vault-tools.disabled{opacity:.48;filter:grayscale(.7);pointer-events:none}.code-reset{color:#1e5fae!important;font-weight:900}.code-earned{display:block;margin-top:3px}.code-prize-tooltip{position:relative;display:inline-block;border-bottom:1px dashed currentColor;cursor:help}.code-prize-bubble{position:absolute;z-index:6;left:50%;bottom:calc(100% + 8px);width:220px;transform:translateX(-50%);padding:8px 10px;border:2px solid var(--ink);border-radius:9px;background:#fff;color:var(--ink);font-size:12px;line-height:1.25;opacity:0;pointer-events:none;transition:opacity .15s}.code-prize-tooltip:hover .code-prize-bubble,.code-prize-tooltip:focus .code-prize-bubble{opacity:1}.busted-divider{height:2px;margin:16px 0 12px;background:var(--grey)}.busted-head{margin-bottom:10px}.busted-list li{grid-template-columns:24px minmax(0,1fr) 28px auto}[data-theme="dark"] .code-reset{color:#7db4ff!important}[data-theme="dark"] .solver-board-head>span{color:#182640!important;background:#fff!important}.code-input-slot{position:relative;display:block;min-width:0}.code-input-slot>i{position:absolute;z-index:1;top:3px;right:5px;color:#677084;font:900 10px/1 Arial,sans-serif;pointer-events:none}.code-input-slot .code-input{height:100%}.solver-board{margin-top:18px;border:3px solid var(--ink);border-radius:18px;background:#fff;padding:14px}.solver-board-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.solver-board-head p{margin:0;color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.1em}.solver-board-head h2{margin:2px 0 0;font-size:21px}.solver-board-head>span{display:grid;place-items:center;min-width:28px;height:28px;border:2px solid var(--ink);border-radius:999px;background:var(--yellow);font-weight:900}.solver-list{list-style:none;margin:0;padding:0;display:grid;gap:7px}.solver-list li{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto auto;align-items:center;gap:8px;padding:8px;border:2px solid #c6d1df;border-radius:11px;background:#f7faff}.solver-rank{color:#214b8a}.solver-player{display:flex;align-items:center;min-width:0;gap:5px}.solver-player strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.solver-player .flair-icon{width:23px;height:23px}.solver-attempts,.solver-no-tool,.solver-list time{font-size:12px;font-weight:800;color:var(--muted);white-space:nowrap}.solver-tool{width:24px;height:24px}.solver-no-tool{font-style:italic}@media(max-width:360px){.solver-list li{grid-template-columns:25px minmax(0,1fr) auto auto}.solver-attempts{display:none}.solver-list li::after{content:''}.solver-list time{font-size:11px}.solver-no-tool{display:none}}.code-result-modal{position:relative;z-index:2;width:min(420px,calc(100vw - 32px));display:grid;justify-items:center;gap:16px;padding:30px;border:3px solid var(--ink);border-radius:28px;background:#fff;text-align:center;box-shadow:0 8px 0 var(--ink)}.code-result-modal.is-lose{background:#ffe2df;animation:code-fail-shake .5s cubic-bezier(.2,1.2,.35,1) both}.code-result-modal.is-win{animation:code-success-bounce .55s cubic-bezier(.18,1.4,.35,1) both}.code-result-modal img{width:118px;height:118px}.code-result-modal p,.code-result-modal h2{margin:0}.code-result-modal p{font-weight:800;font-size:17px}.code-result-modal h2{font-size:31px}.code-result-mark{width:100%;padding:11px;border-radius:12px;background:#dce8f7;font-weight:900}.code-result-modal.is-lose .code-result-mark{background:#f5bab5}.code-result-modal .btn{width:100%;font-size:18px}.code-result-modal.is-win h2,.code-result-modal.is-win>p:first-of-type{color:#247039}.code-result-modal.is-lose h2,.code-result-modal.is-lose>p:first-of-type{color:#b73b34}.success-fireworks{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}.success-fireworks i{position:absolute;left:50%;top:46%;width:9px;height:9px;border-radius:2px;background:var(--fire-color);animation:firework-burst .85s cubic-bezier(.12,.78,.2,1) var(--fire-delay) both;box-shadow:0 0 12px var(--fire-color)}@keyframes firework-burst{from{opacity:1;transform:translate(-50%,-50%) scale(.5)}to{opacity:0;transform:translate(calc(-50% + var(--fire-x)),calc(-50% + var(--fire-y))) rotate(190deg) scale(1.1)}}@keyframes code-fail-shake{0%{opacity:0;transform:scale(.85) translateY(20px)}45%{opacity:1;transform:translateX(-12px)}58%{transform:translateX(10px)}70%{transform:translateX(-7px)}82%{transform:translateX(5px)}100%{opacity:1;transform:none}}@keyframes code-success-bounce{0%{opacity:0;transform:scale(.7) translateY(26px)}55%{opacity:1;transform:scale(1.07) translateY(-8px) rotate(-1deg)}72%{transform:scale(.98) translateY(3px) rotate(1deg)}100%{opacity:1;transform:none}}html.code-wrong-screen-shake{animation:code-wrong-screen-shake .36s ease-in-out}@keyframes code-wrong-screen-shake{20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(3px)}}@media(max-height:650px){.codebreaker-panel{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;padding:12px}.codebreaker-icon,.codebreaker-panel .codebreaker-icon{width:48px;height:48px;grid-column:1}.codebreaker-panel h2{grid-column:2;justify-self:start;font-size:21px;text-align:left}.codebreaker-panel>.hint,.codebreaker-panel>.vault-intel,.codebreaker-panel>.signal-sweep,.codebreaker-panel>.vault-tools,.codebreaker-panel>.code-attempts,.codebreaker-panel>.code-board,.codebreaker-panel>.code-input-error,.codebreaker-panel>.code-solvers{grid-column:1/-1}.codebreaker-panel>.hint{font-size:13px}.code-attempts{padding:7px;font-size:14px}.code-board{max-width:230px;gap:5px}.code-row{gap:5px}.code-tile,.code-input{font-size:21px}.code-solvers{font-size:12px}}@media(min-width:601px){.games-hub{max-width:none!important;width:100%;gap:28px}.games-hub-head{align-items:center}.games-feature-card{min-height:146px;grid-template-columns:70px minmax(0,1fr) auto;gap:16px;padding:20px}.games-card-icon{width:64px;height:64px}.games-feature-card h3,.games-mini-card strong{font-size:20px}.games-feature-card p{font-size:16px}.games-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px}.games-mini-card{display:grid;grid-template-columns:1fr;grid-template-rows:none;gap:7px;min-height:130px;padding:17px 48px 17px 17px}.games-mini-card>span{grid-row:auto;font-size:27px}.games-mini-card small{grid-column:auto}.games-all{width:auto;justify-content:flex-start}}.game-page-head{position:static}
