@font-face{font-family:Pixelify;src:url('/assets/fonts/PixelifySans/static/PixelifySans-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:PressStart;src:url('/assets/fonts/Press_Start_2P/PressStart2P-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
:root{color-scheme:dark;--ink:#090c1b;--panel:#11162b;--panel-2:#17132d;--text:#f6f1ff;--muted:#b8b5cd;--cyan:#38e8ed;--pink:#ff38b6;--yellow:#ffd64d;--purple:#9e75ff;--line:#30365d;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--ink)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0;background:radial-gradient(circle at 82% 8%,#292052 0,transparent 29rem),linear-gradient(180deg,#090c1b,#0d1022 70%,#14112b);line-height:1.5}a{color:inherit}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.site-header,.site-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(1180px,calc(100% - 40px));margin:auto}.site-header{padding:24px 0}.site-header nav,.site-footer{font-size:.9rem}.site-header nav{display:flex;gap:24px;color:var(--muted)}.site-header nav a{text-decoration:none}.site-header nav a:hover,.site-footer a:hover{color:var(--cyan)}.brand{font-family:PressStart,monospace;font-size:.72rem;letter-spacing:.04em;text-decoration:none}.brand span{color:var(--cyan)}
main{overflow:hidden}.intro-scene{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,460px);gap:40px;align-items:center;min-height:470px;width:min(1180px,calc(100% - 40px));margin:26px auto 52px;padding:54px 60px;border:1px solid #3b3f70;background:linear-gradient(125deg,#121831 0 56%,#1a1433 56%);box-shadow:12px 12px 0 #241440}.intro-scene:after{position:absolute;right:34px;bottom:28px;width:180px;height:10px;background:var(--pink);content:"";opacity:.8}.intro-copy{position:relative;z-index:2;max-width:600px}.eyebrow{margin:0 0 12px;color:var(--cyan);font:400 .65rem/1.4 PressStart,monospace;letter-spacing:.06em}.intro-copy h1,.section-heading h2,.library-topline h2,.local-note h2{margin:0;color:var(--text);font:700 clamp(2.8rem,6vw,5.9rem)/.9 Pixelify,system-ui;letter-spacing:-.03em}.intro-copy h1 em,.section-heading h2 em,.library-topline h2 em,.local-note h2 em,.picker-copy h3 em{color:var(--pink);font-style:normal}.lede{max-width:560px;margin:26px 0 10px;font-size:1.16rem;color:#e6e1f0}.quiet-note{color:var(--muted);font-size:.92rem}.intro-art{position:relative;align-self:stretch;min-height:360px}.intro-art>img:first-of-type{position:absolute;right:18px;bottom:6px;width:min(64%,280px);height:auto;filter:drop-shadow(8px 8px 0 #2b1852)}.intro-cat{position:absolute;right:0;bottom:10px;width:min(78%,330px);height:auto;filter:drop-shadow(5px 5px 0 #211039)}.pixel-sun{position:absolute;top:34px;right:40px;width:86px;height:86px;background:var(--yellow);box-shadow:10px 10px 0 #ff8f51,20px 20px 0 #ef4b9f;opacity:.9}.pixel-shelf{position:absolute;right:-20px;bottom:90px;width:100%;height:18px;background:#25254b;border:3px solid var(--cyan);box-shadow:0 12px 0 #271741}
.workspace{width:min(1080px,calc(100% - 40px));margin:0 auto 82px}.onboarding{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,1fr);gap:52px;align-items:end;padding:50px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-heading p:not(.eyebrow){max-width:520px;color:var(--muted)}.section-heading h2,.library-topline h2,.local-note h2{font-size:clamp(2.3rem,5vw,4.7rem)}.import-form{padding:26px;background:var(--panel);border-left:4px solid var(--cyan);box-shadow:8px 8px 0 #321742}.import-form label,.search-control label,.select-controls label{display:block;color:var(--cyan);font:400 .65rem/1.4 PressStart,monospace}.input-row{display:flex;gap:10px;margin-top:10px}.input-row input,.search-control input,.select-controls select{min-width:0;width:100%;padding:13px 14px;color:var(--text);background:#080b17;border:1px solid #4b547f;border-radius:0}.button{border:0;border-radius:0;cursor:pointer;font:400 .66rem/1.3 PressStart,monospace}.button-primary{padding:14px 18px;color:#101126;background:var(--cyan);white-space:nowrap}.button-primary:hover{background:#a1ffff}.button-quiet{padding:10px 12px;color:var(--muted);background:transparent;border:1px solid var(--line)}.button-quiet:hover{color:var(--text);border-color:var(--pink)}.status{min-height:1.5em;margin:14px 0 0;color:var(--yellow);font-size:.92rem}.status.error{color:#ff8daa}.library-view{padding-top:50px}.library-topline{display:flex;justify-content:space-between;gap:30px;align-items:end}.library-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}.muted,.results-summary{color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin:36px 0 48px;background:var(--line)}.stats>div{display:grid;gap:4px;padding:22px;background:var(--panel);border-top:3px solid var(--pink)}.stats>div:nth-child(2){border-color:var(--yellow)}.stats>div:nth-child(3){border-color:var(--cyan)}.stats strong{font:700 clamp(2rem,4vw,3rem)/1 Pixelify,system-ui}.stats span{color:var(--muted);font:400 .58rem PressStart,monospace}.picker-zone{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(300px,1.25fr);gap:36px;align-items:stretch;margin-bottom:52px}.picker-copy{padding:34px;background:#1b1735;border:1px solid var(--purple);box-shadow:10px 10px 0 #2e1743}.picker-copy h3{margin:0;font:700 clamp(2.1rem,4vw,4.4rem)/.9 Pixelify,system-ui}.picker-copy p:not(.eyebrow){color:var(--muted)}.button-pick{margin-top:14px;padding:16px;color:#150e27;background:var(--yellow);box-shadow:5px 5px 0 var(--pink)}.button-pick:hover{background:#fff08a}.picked-game{display:flex;align-items:center;gap:24px;padding:28px;background:#0d1327;border:2px solid var(--cyan);box-shadow:7px 7px 0 var(--pink)}.picked-game img,.picked-fallback{flex:0 0 180px;width:180px;height:110px;object-fit:cover;background:#1f2546}.picked-fallback{display:grid;place-items:center;color:var(--yellow);font:700 2rem Pixelify}.picked-game h4{margin:0;font:700 clamp(1.7rem,3vw,3rem)/.95 Pixelify}.picked-game p{margin:.6rem 0 0;color:var(--muted)}.library-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.search-control input{margin-top:8px}.select-controls{display:flex;gap:12px}.select-controls label{min-width:150px}.select-controls select{margin-top:8px;color:var(--text)}.results-summary{margin:18px 0}.game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}.game-card{min-width:0;background:var(--panel);border:1px solid #3c456e;transition:transform .15s ease,border-color .15s ease}.game-card:hover{transform:translateY(-3px);border-color:var(--cyan)}.game-card img,.art-fallback{display:block;width:100%;aspect-ratio:460/215;object-fit:cover;background:#202846}.art-fallback{display:grid;place-items:center;color:var(--yellow);font:700 2rem Pixelify}.game-card-body{padding:13px}.game-card h4{margin:0;overflow-wrap:anywhere;font-size:1rem}.game-card p{margin:6px 0 0;color:var(--muted);font-size:.85rem}.empty-results{padding:32px;text-align:center;color:var(--muted);border:1px dashed var(--line)}.local-note{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;width:min(1080px,calc(100% - 40px));margin:0 auto 84px;padding:54px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.local-note>p{color:var(--muted);max-width:500px}.site-footer{padding:28px 0 44px;color:var(--muted);font-size:.85rem}.site-footer .brand{color:var(--text)}
@media(max-width:760px){.site-header,.site-footer{width:min(100% - 28px,600px)}.site-header{padding:18px 0}.site-header nav{gap:12px;font-size:.78rem}.intro-scene{display:block;width:calc(100% - 28px);min-height:650px;margin-top:12px;padding:36px 24px;box-shadow:7px 7px 0 #241440}.intro-copy h1{font-size:clamp(2.7rem,14vw,4.4rem)}.intro-art{min-height:280px;margin-top:28px}.pixel-sun{right:18px;top:12px;width:62px;height:62px}.intro-art>img:first-of-type{right:15px;width:48%;bottom:12px}.intro-cat{right:0;bottom:10px;width:min(55%,250px)}.workspace{width:calc(100% - 28px);margin-bottom:58px}.onboarding{display:block;padding:38px 0}.section-heading h2,.library-topline h2,.local-note h2{font-size:clamp(2.35rem,12vw,4rem)}.import-form{margin-top:28px;padding:20px 16px}.input-row{display:block}.input-row .button{width:100%;margin-top:10px}.library-topline{display:block}.library-actions{justify-content:flex-start;margin-top:22px}.stats{margin:28px 0 36px}.stats>div{padding:15px 10px}.stats span{font-size:.48rem;line-height:1.25}.picker-zone{display:block}.picker-copy{padding:24px}.picked-game{margin-top:22px;padding:18px;gap:14px}.picked-game img,.picked-fallback{flex-basis:110px;width:110px;height:72px}.picked-game h4{font-size:1.7rem}.library-controls{display:block}.select-controls{margin-top:18px}.select-controls label{flex:1;min-width:0}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.game-card-body{padding:10px}.game-card h4{font-size:.9rem}.local-note{display:block;width:calc(100% - 28px);margin-bottom:54px;padding:40px 0}.local-note>p{margin-top:24px}.site-footer{flex-wrap:wrap;justify-content:flex-start}.site-footer .brand{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.game-card{transition:none}.game-card:hover{transform:none}}

/* Milestone 3: compact Hall of Fame, private claim flow, and v2 picker support. */
.hall-link{display:inline-block;margin-top:24px;color:var(--yellow);font:400 .54rem/1.5 PressStart,monospace;text-decoration:none}.hall-link:hover{color:var(--text)}.recovery-entry{margin-top:22px}
.hall-of-fame{margin:0 0 52px;padding:28px;background:#17132d;border:1px solid var(--purple);box-shadow:8px 8px 0 #24183d}.hall-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.hall-heading h2{margin:0;font:700 clamp(2.1rem,4vw,4rem)/.9 Pixelify,system-ui}.hall-heading h2 em{color:var(--pink);font-style:normal}.hall-heading>div>p:not(.eyebrow){max-width:520px;color:var(--muted);margin-bottom:0}.hall-heading .status{margin:0;text-align:right;color:var(--cyan);font:400 .52rem/1.5 PressStart,monospace}.hall-featured{margin-bottom:12px}.hall-card{position:relative;min-width:0;padding:20px;background:#0d1226;border:1px solid var(--cyan);border-top:3px solid var(--cyan)}.hall-card-featured{padding:24px;border-color:var(--yellow);border-top-color:var(--yellow);box-shadow:6px 6px 0 var(--pink)}.hall-card.is-reached{border-color:var(--pink)}.hall-card.is-locked{opacity:.88}.hall-icon{position:absolute;top:18px;right:20px;font-size:1.65rem}.hall-card .eyebrow{margin-bottom:8px}.hall-card h3{max-width:80%;margin:0 0 12px;font:700 clamp(1.35rem,2.4vw,2.2rem)/.95 Pixelify,system-ui}.hall-state{margin:0;color:var(--cyan);font:400 .57rem/1.5 PressStart,monospace}.hall-caption,.hall-game,.hall-date{margin:12px 0 0;color:var(--muted);font-size:.88rem}.hall-game{color:var(--text)}.hall-date{font-size:.75rem}.hall-details,.recovery-details{margin-top:16px;border-top:1px solid var(--line)}.hall-details summary,.recovery-details summary{padding:16px 0;color:var(--yellow);cursor:pointer;font:400 .57rem/1.5 PressStart,monospace}.hall-details summary:focus-visible,.recovery-details summary:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}.hall-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-bottom:4px}.recovery-details p{max-width:700px;color:var(--muted);font-size:.9rem}.recovery-form label,.claim-form label,.verify-form label{display:block;color:var(--cyan);font:400 .57rem/1.5 PressStart,monospace}.recovery-form .input-row{max-width:760px}.recovery-form input,.claim-form input,.verify-form input{display:block;min-width:0;width:100%;margin-top:8px;padding:12px 14px;color:var(--text);background:#080b17;border:1px solid #4b547f;border-radius:0}.claim-resume{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:16px;padding:18px;color:var(--text);background:#211638;border-left:3px solid var(--yellow)}.claim-resume p{margin:0;font:400 .62rem/1.5 PressStart,monospace}.winner-panel{grid-column:1/-1;margin-top:22px;padding:22px;background:#241638;border:2px solid var(--yellow);box-shadow:6px 6px 0 var(--pink)}.winner-panel h3{margin:0;font:700 clamp(1.8rem,3vw,3rem)/.95 Pixelify,system-ui;color:var(--yellow)}.winner-panel>p:not(.eyebrow){color:var(--muted)}.winner-prize{color:var(--text)!important}.recovery-warning{color:var(--yellow)!important;font-weight:700}.winner-panel code{display:block;margin:14px 0;padding:14px;overflow-wrap:anywhere;color:var(--ink);background:var(--yellow);font:700 .85rem/1.4 ui-monospace,monospace}.winner-panel .button{margin:0 8px 10px 0}.claim-form,.verify-form{display:grid;gap:14px;margin-top:18px;max-width:560px}.claim-form label span{color:var(--muted);font-family:system-ui,sans-serif}.consent-label{display:flex!important;align-items:center;gap:10px;color:var(--muted)!important;font-family:system-ui,sans-serif!important}.consent-label input{width:auto;margin:0}.claim-success{color:var(--cyan)!important;font:400 .58rem/1.5 PressStart,monospace}
@media(max-width:920px){.hall-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.hall-of-fame{padding:22px;margin-bottom:38px}.hall-heading{display:block}.hall-heading .status{margin-top:18px;text-align:left}.hall-list{display:block}.hall-card+.hall-card{margin-top:10px}.hall-card-featured{padding:20px}.claim-resume{display:block}.claim-resume .button{margin-top:14px}.recovery-form .input-row{display:block}.recovery-form .input-row .button{width:100%;margin-top:10px}.winner-panel{margin-top:18px;padding:18px}.winner-panel .button{width:100%;margin-right:0}.hall-heading h2{font-size:clamp(2rem,11vw,3.5rem)}}
.picked-game .winner-panel{flex:1 0 100%;width:100%}

/* Keep the detailed Hall of Fame out of the main arcade flow. */
.hall-link{padding:0;border:0;background:transparent;cursor:pointer;text-align:left}
.live-arcade-preview .hall-resume-notice{display:block;margin-top:18px;padding:12px;border-left:3px solid var(--yellow);background:#211638}.live-arcade-preview .hall-resume-notice p{margin:0;color:var(--text);font:400 .5rem/1.5 PressStart,monospace}.live-arcade-preview .hall-resume-notice .button{margin-top:10px;font-size:.5rem}
.hall-backdrop{position:fixed;inset:0;z-index:40;background:rgb(3 5 14 / .68);opacity:1;transition:opacity .2s ease}.hall-backdrop[aria-hidden="true"]{pointer-events:none;opacity:0}
.hall-drawer{position:fixed;top:0;right:0;z-index:41;width:min(49vw,700px);min-width:460px;height:100dvh;overflow-x:hidden;overflow-y:auto;color:var(--text);background:#10132a;border-left:2px solid var(--cyan);box-shadow:-10px 0 0 var(--pink);transform:translateX(0);transition:transform .24s ease,visibility .24s ease}.hall-drawer[aria-hidden="true"]{visibility:hidden;pointer-events:none;transform:translateX(105%)}.hall-drawer-inner{min-height:100%;padding:32px 34px 48px;background:linear-gradient(180deg,#15132d,#0d1226 65%)}body.hall-drawer-open{overflow:hidden}.hall-drawer .hall-heading{align-items:flex-start;margin-bottom:24px}.hall-drawer .hall-heading h2{font-size:clamp(2.2rem,4vw,4rem)}.hall-heading-actions{display:flex;align-items:flex-start;justify-content:flex-end}.hall-close{padding:9px 10px;color:var(--text);background:transparent;border:1px solid var(--cyan);cursor:pointer;font:400 .52rem/1.3 PressStart,monospace}.hall-close:hover{color:var(--ink);background:var(--cyan)}.hall-close span{margin-left:6px;font-size:1rem}.hall-drawer .hall-featured{margin-bottom:16px}.hall-claim-panel:empty{display:none}.hall-drawer .winner-panel{margin:18px 0 22px}.hall-drawer .hall-details{margin-top:22px}.hall-drawer .recovery-entry{margin-top:18px;padding-bottom:8px}.hall-drawer .recovery-details summary span{display:block;margin-top:8px;color:var(--cyan)}
@media(max-width:760px){.hall-drawer{width:100%;min-width:0;border-left:0;box-shadow:none}.hall-drawer-inner{padding:24px 18px 38px}.hall-drawer .hall-heading{display:flex;gap:16px}.hall-heading-actions{flex:0 0 auto}.hall-drawer .hall-list{display:block}.hall-drawer .hall-card+.hall-card{margin-top:10px}.hall-drawer .recovery-form .input-row{display:block}.hall-drawer .recovery-form .button{width:100%;margin-top:10px}}
@media(prefers-reduced-motion:reduce){.hall-backdrop,.hall-drawer{transition:none}}

.hall-card-featured{min-height:190px;padding-right:clamp(190px,31%,250px);overflow:hidden}.hall-card-featured .hall-icon{top:50%;right:24px;width:clamp(130px,24%,160px);height:auto;transform:translateY(-50%);font-size:initial}.hall-card-featured .pixel-trophy{display:block;width:100%;height:auto;shape-rendering:crispEdges}
@media(max-width:900px){.hall-card-featured{padding-right:clamp(160px,29%,210px)}.hall-card-featured .hall-icon{right:18px;width:clamp(118px,25%,150px)}}
@media(max-width:760px){.hall-card-featured{min-height:0;padding-right:20px;padding-bottom:130px}.hall-card-featured .hall-icon{top:auto;right:18px;bottom:14px;width:112px;transform:none}}

.hall-drawer .recovery-details summary span{display:inline;margin-left:8px;margin-top:0}

/* Milestone 1.1: shared navigation, honest community preview, and local discovery. */
.site-header nav a{position:relative;padding-bottom:7px}.site-header nav a[aria-current="page"]{color:var(--text)}.site-header nav a[aria-current="page"]:after{position:absolute;right:0;bottom:0;left:0;height:2px;background:var(--cyan);content:""}.live-arcade-preview{position:relative;min-height:350px;padding:28px;background:#090d1d;border:2px solid var(--cyan);box-shadow:10px 10px 0 var(--pink),inset 0 0 0 5px #111a35;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.live-arcade-preview:before,.live-arcade-preview:after{position:absolute;width:52px;height:4px;background:var(--yellow);content:""}.live-arcade-preview:before{top:-2px;right:38px}.live-arcade-preview:after{bottom:-2px;left:38px}.scoreboard-top{display:flex;justify-content:space-between;align-items:center;color:var(--cyan);font:400 .67rem PressStart,monospace;letter-spacing:.05em}.scoreboard-top span:first-child,.scoreboard-top span:last-child{color:var(--pink);font-size:.55rem}.live-state{margin:30px 0 15px;color:var(--text);font:700 clamp(1.6rem,3vw,2.45rem)/1 Pixelify,system-ui}.live-description{max-width:360px;color:var(--muted)}.live-readouts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.live-readouts span{padding:12px 10px;color:#a8b0cb;background:#151a35;border-left:3px solid var(--purple);font:400 .54rem/1.35 PressStart,monospace}.live-readouts span:nth-child(2){border-color:var(--pink)}.live-readouts span:nth-child(3){border-color:var(--yellow)}.live-readouts span:nth-child(4){border-color:var(--cyan)}.library-actions .button-quiet{opacity:.72}.backlog-shocker{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:center;margin:0 0 44px;padding:28px;background:#1a1433;border:1px solid var(--pink);box-shadow:8px 8px 0 #27204b}.backlog-shocker h3{margin:0;font:700 clamp(2rem,4vw,3.5rem)/.88 Pixelify,system-ui}.backlog-shocker h3 em{color:var(--pink);font-style:normal}.backlog-shocker p:not(.eyebrow){color:var(--muted);margin:0 0 14px}.backlog-shocker p strong{color:var(--yellow)}.game-card{overflow:hidden}.game-card-toggle{display:block;width:100%;padding:0;color:inherit;background:transparent;border:0;border-radius:0;text-align:left;cursor:pointer}.game-card-toggle:focus-visible{outline:2px solid var(--cyan);outline-offset:-4px}.game-card-toggle .game-card-body{display:block}.game-actions{display:flex;flex-wrap:wrap;gap:8px;padding:12px;border-top:1px solid var(--line);background:#0b1020}.game-actions a,.game-actions button{padding:9px 8px;color:var(--cyan);background:transparent;border:1px solid #3d6880;font:400 .48rem/1.3 PressStart,monospace;text-decoration:none;cursor:pointer}.game-actions a:hover,.game-actions button:hover{color:var(--ink);background:var(--cyan)}.picked-game{align-items:flex-start}.picked-game .game-actions{padding:0;margin-top:14px;border:0;background:transparent}.picked-game .game-actions a,.picked-game .game-actions button{color:var(--yellow);border-color:#796b3b}.picked-game .game-actions a:hover,.picked-game .game-actions button:hover{color:var(--ink);background:var(--yellow)}
@media(max-width:760px){.site-header nav{flex-wrap:wrap;justify-content:flex-end}.live-arcade-preview{min-height:330px;margin-top:28px;padding:22px}.backlog-shocker{display:block}.backlog-shocker>div+div{margin-top:22px}.game-actions a,.game-actions button{flex:1 1 auto;text-align:center}.picked-game{display:block}.picked-game img,.picked-fallback{width:100%;height:auto;aspect-ratio:460/215}.picked-game .game-actions{margin-top:18px}.picked-game .game-actions a,.picked-game .game-actions button{flex:1 1 100%}}
@media(prefers-reduced-motion:reduce){.game-card:hover{transform:none}.backlog-shocker,.live-arcade-preview{transition:none}}

/* Milestone 2: local discovery and constrained picker modes. */
.your-arcade{display:grid;grid-template-columns:minmax(190px,.65fr) minmax(0,1.35fr);gap:24px;align-items:start;margin:0 0 48px;padding:28px;background:#14132b;border:1px solid var(--purple);box-shadow:8px 8px 0 #24183d}.discovery-heading h3{margin:0;font:700 clamp(2rem,4vw,3.6rem)/.88 Pixelify,system-ui}.discovery-heading h3 em{color:var(--pink);font-style:normal}.discovery-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.discovery-item{padding:16px;background:#0d1226;border-left:3px solid var(--cyan)}.discovery-item:nth-child(2){border-color:var(--pink)}.discovery-item:nth-child(3){border-color:var(--yellow)}.discovery-item:nth-child(4){border-color:var(--purple)}.discovery-item:nth-child(5){border-color:var(--cyan)}.discovery-item h4{margin:0;color:var(--text);font:400 .62rem/1.5 PressStart,monospace}.discovery-item p{min-height:3em;margin:10px 0 14px;color:var(--muted);font-size:.9rem}.discovery-action{font-size:.5rem}.picker-mode{display:block;margin-top:22px;color:var(--cyan);font:400 .62rem/1.4 PressStart,monospace}.picker-mode select{display:block;min-width:0;width:100%;margin-top:8px;padding:12px 14px;color:var(--text);background:#080b17;border:1px solid #4b547f;border-radius:0;font:400 .72rem/1.3 system-ui,sans-serif}.picker-empty{margin:16px 0 0;color:#ff8daa;font:400 .57rem/1.6 PressStart,monospace}.button:disabled{cursor:not-allowed;opacity:.48}
@media(max-width:760px){.your-arcade{display:block;margin-bottom:38px;padding:22px}.discovery-list{display:block;margin-top:22px}.discovery-item+.discovery-item{margin-top:10px}.discovery-item p{min-height:0}.picker-mode{margin-top:20px}.picker-empty{font-size:.52rem}}

@media(min-width:761px){.discovery-list{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Keep the machine result's Steam header artwork complete and uncropped. */
.picked-game img{object-fit:contain}
@media(min-width:761px){.picked-game img{flex-basis:230px;width:230px;height:auto;aspect-ratio:460/215}}

.battle-entry{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.battle-entry p:not(.eyebrow):not(.picker-empty){color:var(--muted);margin:8px 0 12px}.battle-entry .button{color:var(--cyan);border-color:#3d6880}.game-battle{margin:0 0 52px;padding:28px;background:#17132d;border:2px solid var(--pink);box-shadow:8px 8px 0 #2e1743}.game-battle h3{margin:0;font:700 clamp(2rem,4vw,3.8rem)/.9 Pixelify,system-ui;color:var(--text)}.battle-instruction,.battle-champion-playtime{color:var(--muted)}.battle-versus{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:18px;align-items:stretch;margin-top:24px}.battle-game{display:flex;min-width:0;flex-direction:column;align-items:stretch;padding:0;color:var(--text);background:#0d1226;border:1px solid var(--cyan);text-align:left;cursor:pointer}.battle-game:hover{border-color:var(--yellow);transform:translateY(-3px)}.battle-game:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}.battle-artwork{display:block;width:100%;aspect-ratio:460/215;object-fit:cover;background:#202846}.battle-game h4{margin:16px 16px 0;overflow-wrap:anywhere;font:700 clamp(1.1rem,2vw,1.8rem)/1 Pixelify,system-ui}.battle-game p{margin:8px 16px 0;color:var(--muted)}.battle-pick-label{margin:16px;color:var(--yellow);font:400 .55rem/1.4 PressStart,monospace}.battle-vs{align-self:center;color:var(--pink);font:700 1.3rem Pixelify,system-ui}.battle-champion-artwork{display:block;width:min(100%,460px);max-height:215px;object-fit:contain;background:#0d1226;border:1px solid var(--cyan);margin:22px 0}.battle-actions{padding:0;border:0;background:transparent}

@media(max-width:760px){.battle-entry{margin-top:24px}.game-battle{margin-bottom:38px;padding:22px}.battle-versus{display:block}.battle-vs{display:block;margin:14px 0;text-align:center}.battle-game+.battle-game{margin-top:14px}.battle-actions a,.battle-actions button{flex:1 1 auto;text-align:center}}

/* Milestone 3: compact aggregate Live Arcade counters. */
.live-readouts>div{display:grid;gap:6px;padding:12px 10px;color:#a8b0cb;background:#151a35;border-left:3px solid var(--purple)}
.live-readouts>div:nth-child(2){border-color:var(--pink)}
.live-readouts>div:nth-child(3){border-color:var(--yellow)}
.live-readouts>div:nth-child(4){border-color:var(--cyan)}
.live-readouts strong{color:var(--text);font:700 1.65rem/1 Pixelify,system-ui}
.live-readouts span{font:400 .5rem/1.35 PressStart,monospace}
.change-email-form{display:grid;gap:14px;margin-top:18px;max-width:560px;padding-top:16px;border-top:1px solid var(--line)}.pending-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.pending-destination{color:var(--text)!important}
.change-email-form label{display:block;color:var(--cyan);font:400 .57rem/1.5 PressStart,monospace}.change-email-form input{display:block;min-width:0;width:100%;margin-top:8px;padding:12px 14px;color:var(--text);background:#080b17;border:1px solid #4b547f;border-radius:0}.change-email-form label span{color:var(--muted);font-family:system-ui,sans-serif}.change-email-form .consent-label{display:flex;align-items:center;gap:10px;color:var(--muted);font-family:system-ui,sans-serif}.change-email-form .consent-label input{width:auto;margin:0}

/* Game Battle Phase 2A: versus arena presentation. */
.game-battle{position:relative;isolation:isolate;overflow:hidden;padding:34px 34px 30px;background:linear-gradient(135deg,#17132d 0%,#0d1226 48%,#17132d 100%);border:2px solid var(--pink);box-shadow:10px 10px 0 #2e1743}
.game-battle:before,.game-battle:after{position:absolute;z-index:-1;width:28%;height:5px;background:var(--cyan);content:"";opacity:.9}.game-battle:before{top:-2px;left:8%}.game-battle:after{right:8%;bottom:-2px;background:var(--yellow)}
.game-battle h3{font-size:clamp(2.8rem,6vw,5.6rem);letter-spacing:.02em;text-shadow:4px 4px 0 #35154b}
.battle-instruction{margin-bottom:0;font-family:PressStart,monospace;font-size:.58rem;letter-spacing:.03em}
.battle-versus{position:relative;grid-template-columns:minmax(0,1fr) minmax(94px,12%) minmax(0,1fr);gap:24px;align-items:center;margin:34px 0 0}
.battle-game{position:relative;min-height:100%;overflow:hidden;background:#0a1022;border:2px solid var(--cyan);box-shadow:8px 8px 0 #24183d;transition:transform .18s ease,opacity .18s ease,filter .18s ease,border-color .18s ease,box-shadow .18s ease}
.battle-versus>.battle-game:nth-child(3){border-color:var(--pink);box-shadow:-8px 8px 0 #24183d}
.battle-game:before{position:absolute;top:0;left:0;width:100%;height:5px;background:var(--cyan);content:""}.battle-versus>.battle-game:nth-child(3):before{background:var(--pink)}
.battle-game:hover{border-color:var(--yellow);transform:translateY(-5px) scale(1.015);box-shadow:8px 13px 0 #24183d}.battle-versus>.battle-game:nth-child(3):hover{box-shadow:-8px 13px 0 #24183d}
.battle-game:disabled{cursor:default}.battle-game:disabled:hover{transform:none}
.battle-artwork{width:100%;aspect-ratio:460/250;object-fit:cover;background:#202846;border-bottom:2px solid var(--line)}
.battle-game h4{margin:18px 20px 0;font-size:clamp(1.45rem,2.6vw,2.5rem);line-height:.92}.battle-game p{margin:10px 20px 0;font-size:1rem}.battle-pick-label{display:block;margin:22px 20px 20px;padding:13px 10px;text-align:center;color:var(--ink);background:var(--yellow);box-shadow:4px 4px 0 var(--pink);font-size:.58rem;transition:background .18s ease}
.battle-game:hover .battle-pick-label{background:#fff08a}
.battle-vs{position:relative;z-index:2;display:grid;place-items:center;align-self:center;min-height:92px;color:var(--yellow);font:700 clamp(2.2rem,4vw,3.5rem)/1 Pixelify,system-ui;text-align:center;text-shadow:3px 3px 0 var(--pink);animation:battle-vs-pulse 1.1s steps(2,end) infinite}.battle-vs:before,.battle-vs:after{position:absolute;left:50%;width:58px;height:4px;background:var(--cyan);content:"";transform:translateX(-50%)}.battle-vs:before{top:0}.battle-vs:after{bottom:0;background:var(--pink)}
.battle-referee{display:flex;justify-content:center;align-items:flex-end;width:min(100%,180px);height:190px;min-height:190px;margin:0 auto -42px;padding-top:0;border-top:0;color:var(--muted);overflow:visible}
.battle-game.is-selected{z-index:3;border-color:var(--yellow);box-shadow:8px 8px 0 var(--pink);animation:battle-victory .22s steps(2,end) 2}.battle-versus>.battle-game:nth-child(3).is-selected{box-shadow:-8px 8px 0 var(--pink)}.battle-game.is-defeated{animation:battle-defeat .22s ease forwards}
.battle-versus>.battle-game.is-selected{animation:battle-victory .22s steps(2,end) 2}.battle-versus>.battle-game.is-defeated{animation:battle-defeat .22s ease forwards}
.battle-versus{align-items:stretch}
.battle-versus>.battle-game{height:100%;display:flex;flex-direction:column}
.battle-versus .battle-artwork{flex:0 0 250px;height:250px;object-fit:contain;object-position:center;background:#202846}
.battle-versus .battle-game h4{height:2.76em;min-height:2.76em;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.battle-versus .battle-game p{min-height:1.5em}
.battle-versus .battle-pick-label{margin-top:auto}
@keyframes battle-vs-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@keyframes battle-victory{0%,100%{transform:scale(1)}50%{transform:scale(1.045) translateY(-4px)}}
@keyframes battle-defeat{to{opacity:.15;filter:grayscale(1);transform:translateX(-18px) scale(.96)}}
@keyframes battle-enter-left{from{opacity:0;transform:translateX(-42px)}to{opacity:1;transform:translateX(0)}}
@keyframes battle-enter-right{from{opacity:0;transform:translateX(42px)}to{opacity:1;transform:translateX(0)}}
.battle-versus>.battle-game:first-child{animation:battle-enter-left .35s ease-out both}.battle-versus>.battle-game:nth-child(3){animation:battle-enter-right .35s ease-out both}
@media(max-width:760px){.game-battle{padding:26px 18px 24px}.game-battle h3{font-size:clamp(2.5rem,13vw,4.5rem)}.battle-versus{display:grid;grid-template-columns:1fr;gap:14px;margin-top:28px}.battle-versus>.battle-game:first-child{animation-name:battle-enter-left}.battle-versus>.battle-game:nth-child(3){animation-name:battle-enter-right}.battle-vs{min-height:58px;font-size:2.8rem}.battle-vs:before,.battle-vs:after{width:38px}.battle-versus .battle-artwork{flex-basis:200px;height:200px}.battle-game h4{font-size:clamp(1.45rem,8vw,2.2rem)}.battle-pick-label{margin-bottom:18px}.battle-referee{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.battle-vs,.battle-game,.battle-game.is-selected,.battle-game.is-defeated,.battle-versus>.battle-game:first-child,.battle-versus>.battle-game:nth-child(3),.battle-versus>.battle-game.is-selected,.battle-versus>.battle-game.is-defeated{animation:none}.battle-game,.battle-game:hover,.battle-versus>.battle-game:nth-child(3):hover{transition:none;transform:none}.battle-game.is-defeated{opacity:.15;filter:grayscale(1)} }

/* Game Battle Phase 2B: readable impact, result hold, and challenger pacing. */
.battle-versus>.battle-game:first-child,.battle-versus>.battle-game:nth-child(3){animation-duration:.6s}
.battle-impact{animation:battle-arena-impact .36s steps(2,end)}
.battle-impact .battle-vs{animation:battle-vs-impact .36s steps(2,end) both;color:#fff;text-shadow:0 0 12px var(--cyan),4px 4px 0 var(--pink)}
.battle-impact .battle-game.is-defeated{animation:battle-loser-impact .36s steps(3,end) both}
.battle-result .battle-game.is-selected{animation:battle-winner-result 1.05s ease-out both;z-index:4;border-color:var(--yellow);box-shadow:0 0 0 4px var(--cyan),10px 10px 0 var(--pink),0 0 34px rgb(56 232 237 / .7)}
.battle-result .battle-versus>.battle-game:nth-child(3).is-selected{box-shadow:0 0 0 4px var(--cyan),-10px 10px 0 var(--pink),0 0 34px rgb(56 232 237 / .7)}
.battle-result .battle-game.is-defeated{z-index:3;animation:battle-ko-left 1.05s ease-in forwards}
.battle-result .battle-versus>.battle-game:nth-child(3).is-defeated{animation-name:battle-ko-right}
.battle-result .battle-game.is-selected::after,.battle-result .battle-game.is-defeated::after{position:absolute;top:50%;left:50%;z-index:5;padding:13px 14px;color:var(--ink);font:700 clamp(1.6rem,3vw,3rem)/1 Pixelify,system-ui;letter-spacing:.04em;text-shadow:2px 2px 0 #fff;transform:translate(-50%,-50%) rotate(-4deg);pointer-events:none}
.battle-result .battle-game.is-selected::after{content:"WINNER!";background:var(--yellow);box-shadow:6px 6px 0 var(--pink)}
.battle-result .battle-game.is-defeated::after{content:"KO!";background:var(--pink);box-shadow:6px 6px 0 var(--yellow);transform:translate(-50%,-50%) rotate(5deg)}
@keyframes battle-arena-impact{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
@keyframes battle-vs-impact{0%{transform:scale(1)}35%{transform:scale(1.28)}100%{transform:scale(1.05)}}
@keyframes battle-loser-impact{0%,100%{transform:translateX(0)}35%{transform:translateX(-8px) rotate(-2deg)}70%{transform:translateX(7px) rotate(2deg)}}
@keyframes battle-winner-result{0%{transform:scale(1)}45%{transform:scale(1.07) translateY(-7px)}100%{transform:scale(1.04) translateY(-3px)}}
@keyframes battle-ko-left{0%{opacity:1;filter:none;transform:translateX(0) rotate(0)}100%{opacity:.12;filter:grayscale(1) brightness(.65);transform:translateX(-112%) rotate(-7deg)}}
@keyframes battle-ko-right{0%{opacity:1;filter:none;transform:translateX(0) rotate(0)}100%{opacity:.12;filter:grayscale(1) brightness(.65);transform:translateX(112%) rotate(7deg)}}
@media(max-width:760px){.battle-result .battle-game.is-defeated{animation-name:battle-ko-left}.battle-result .battle-versus>.battle-game:nth-child(3).is-defeated{animation-name:battle-ko-right}.battle-result .battle-game.is-selected::after,.battle-result .battle-game.is-defeated::after{font-size:clamp(1.7rem,9vw,2.6rem)}}
@media(prefers-reduced-motion:reduce){.battle-transition,.battle-impact,.battle-impact .battle-vs,.battle-impact .battle-game.is-defeated,.battle-result .battle-game.is-selected,.battle-result .battle-game.is-defeated{animation:none}.battle-result .battle-game.is-selected{transform:none;border-color:var(--yellow);box-shadow:0 0 0 3px var(--cyan),8px 8px 0 var(--pink)}.battle-result .battle-game.is-defeated{opacity:.3;filter:grayscale(1) brightness(.7);transform:none}.battle-result .battle-game.is-selected::after,.battle-result .battle-game.is-defeated::after{display:block}}

/* Game Battle Phase 3A: supplied cat referee poses. */
.battle-round-number{font-family:PressStart,monospace;font-size:.62em;letter-spacing:.02em;color:var(--cyan);text-shadow:3px 3px 0 #35154b}
.battle-referee-image{display:block;width:160px;height:190px;object-fit:contain;object-position:center bottom;filter:drop-shadow(5px 5px 0 #24183d);image-rendering:auto}

/* Keep the normal-round referee anchored to the matchup cards, not the outer panel. */
.battle-versus>.battle-referee{
  position:absolute;
  left:50%;
  bottom:0;
  top:auto;
  transform:translateX(-50%);
  margin:0;
  z-index:6;
  pointer-events:none;
}
.battle-referee.is-fight .battle-referee-image{animation:referee-fight-pop .6s steps(2,end) both}.battle-referee.is-ko .battle-referee-image{animation:referee-ko-react .36s steps(2,end) both}.battle-referee.is-winLeft .battle-referee-image{animation:referee-win-left .6s ease-out both}.battle-referee.is-winRight .battle-referee-image{animation:referee-win-right .6s ease-out both}.battle-referee.is-champion .battle-referee-image{width:132px;height:150px;animation:referee-champion .8s ease-out both}
.battle-referee{position:relative;top:-42px;z-index:6;margin:0 auto;border-top:0}
@keyframes referee-fight-pop{0%{opacity:0;transform:translateY(12px) scale(.88)}65%{opacity:1;transform:translateY(-4px) scale(1.05)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes referee-ko-react{0%,100%{transform:translateX(0) rotate(0)}40%{transform:translateX(-7px) rotate(-4deg)}75%{transform:translateX(6px) rotate(3deg)}}
@keyframes referee-win-left{0%{opacity:.5;transform:translateX(0)}100%{opacity:1;transform:translateX(-9px) rotate(-3deg)}}
@keyframes referee-win-right{0%{opacity:.5;transform:translateX(0)}100%{opacity:1;transform:translateX(9px) rotate(3deg)}}
@keyframes referee-champion{0%{opacity:0;transform:translateY(18px) scale(.78)}65%{opacity:1;transform:translateY(-6px) scale(1.08)}100%{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:760px){.battle-referee{top:-32px;width:min(100%,170px);height:156px;min-height:156px;margin:0 auto -32px}.battle-referee-image{width:126px;height:156px}.battle-referee.is-champion .battle-referee-image{width:108px;height:124px}}
@media(prefers-reduced-motion:reduce){.battle-referee-image,.battle-referee.is-fight .battle-referee-image,.battle-referee.is-ko .battle-referee-image,.battle-referee.is-winLeft .battle-referee-image,.battle-referee.is-winRight .battle-referee-image,.battle-referee.is-champion .battle-referee-image{animation:none}.battle-referee.is-winLeft .battle-referee-image{transform:translateX(-5px)}.battle-referee.is-winRight .battle-referee-image{transform:translateX(5px)}}

/* Champion-only result layout: keep the final actions close to the result. */
.game-battle.is-champion{padding:30px 34px 28px}
.battle-champion-result{display:grid;grid-template-columns:minmax(0,1fr) 150px;grid-template-areas:"art referee" "copy copy" "actions actions";align-items:center;gap:10px 24px;margin-top:20px}
.battle-champion-result .battle-champion-artwork{grid-area:art;width:min(100%,460px);max-height:215px;margin:0}
.battle-champion-result .battle-referee{grid-area:referee;top:0;width:140px;height:140px;min-height:140px;margin:0}
.battle-champion-result .battle-champion-playtime{grid-area:copy;margin:0;color:var(--muted)}
.battle-champion-result .battle-actions{grid-area:actions;display:flex;gap:10px;flex-wrap:wrap;margin:0}
.battle-champion-result .battle-actions a,.battle-champion-result .battle-actions button{flex:0 1 auto}
.battle-champion-result{grid-template-columns:minmax(0,460px) 180px;justify-content:start;column-gap:20px}
.battle-champion-result .battle-referee{width:180px;height:170px;min-height:170px}
.battle-champion-result .battle-referee-image{width:170px;height:190px}
@media(min-width:761px){.battle-champion-result{align-items:start}.battle-champion-result .battle-referee{align-self:start;align-items:flex-start;height:215px;min-height:215px;top:0}.battle-champion-result .battle-referee.is-champion .battle-referee-image{width:180px;height:205px}}
@media(max-width:760px){.game-battle.is-champion{padding:24px 18px 22px}.battle-champion-result{grid-template-columns:1fr;grid-template-areas:"art" "referee" "copy" "actions";gap:8px;margin-top:16px}.battle-champion-result .battle-champion-artwork{width:100%;max-height:215px}.battle-champion-result .battle-referee{width:150px;height:114px;min-height:114px;margin:0 auto}.battle-champion-result .battle-actions{display:flex}.battle-champion-result .battle-actions a,.battle-champion-result .battle-actions button{flex:1 1 auto;text-align:center}}

/* Game Battle Phase 3B: final-round emphasis and one-shot champion celebration. */
.game-battle.battle-final-round .battle-final-heading{animation:battle-final-heading .45s steps(2,end) both;color:var(--yellow);text-shadow:4px 4px 0 var(--pink),0 0 18px rgb(56 232 237 / .55)}
.game-battle.battle-final-round .battle-vs{animation:battle-final-vs 1.1s steps(2,end) infinite;color:#fff;text-shadow:0 0 14px var(--cyan),4px 4px 0 var(--pink)}
.game-battle.battle-final-round .battle-instruction{color:var(--yellow);font-weight:700}
.game-battle.battle-final-result.battle-result{animation:battle-final-flash 1.05s ease-out both}
.game-battle.battle-final-result.battle-result .battle-game.is-selected{box-shadow:0 0 0 5px var(--cyan),12px 12px 0 var(--pink),0 0 48px rgb(56 232 237 / .9)}
.game-battle.battle-final-result.battle-result .battle-game.is-defeated::after{box-shadow:8px 8px 0 var(--yellow),0 0 20px rgb(255 55 181 / .75)}
.game-battle.is-champion{position:relative;overflow:hidden}
.battle-champion-enter{animation:battle-champion-arrival .42s ease-out both}
.battle-champion-trophy{display:inline-block;font-size:2.25em;line-height:.65;vertical-align:-.12em;margin-right:.12em;filter:drop-shadow(3px 3px 0 #35154b)}
.battle-champion-title{animation:battle-champion-title .58s steps(2,end) .1s both;transform-origin:left center}
.battle-confetti{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.battle-confetti span{position:absolute;top:var(--confetti-top);left:var(--confetti-left);width:8px;height:14px;background:var(--confetti-color);box-shadow:3px 3px 0 #24183d;transform:rotate(var(--confetti-rotation));animation:battle-confetti-pop 2.8s ease-out var(--confetti-delay) both}
.game-battle.is-champion>*:not(.battle-confetti){position:relative;z-index:1}
@keyframes battle-final-heading{0%{opacity:0;transform:scale(.92)}65%{opacity:1;transform:scale(1.05)}100%{opacity:1;transform:scale(1)}}
@keyframes battle-final-vs{0%,100%{transform:scale(1)}35%{transform:scale(1.18)}60%{transform:scale(1.04)}}
@keyframes battle-final-flash{0%{box-shadow:inset 0 0 0 rgb(56 232 237 / 0)}18%{box-shadow:inset 0 0 80px rgb(56 232 237 / .2)}100%{box-shadow:inset 0 0 0 rgb(56 232 237 / 0)}}
@keyframes battle-champion-arrival{0%{opacity:0;transform:translateY(18px) scale(.98)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes battle-champion-title{0%{opacity:0;transform:translateY(10px) scale(.86)}70%{opacity:1;transform:translateY(-2px) scale(1.04)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes battle-confetti-pop{0%{opacity:0;transform:translateY(-8px) rotate(var(--confetti-rotation)) scale(.5)}15%{opacity:1}72%{opacity:.9}100%{opacity:0;transform:translateY(120px) rotate(var(--confetti-rotation)) scale(1)}}
@media(prefers-reduced-motion:reduce){.game-battle.battle-final-round .battle-final-heading,.game-battle.battle-final-round .battle-vs,.game-battle.battle-final-result.battle-result,.battle-champion-enter,.battle-champion-title,.battle-confetti span{animation:none}.game-battle.battle-final-round .battle-final-heading{transform:none}.battle-confetti span{opacity:.85}}

/* Backlog Breaker Phase 1: local playable brick-breaker prototype. */
.breaker-entry{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.breaker-entry p:not(.eyebrow):not(.picker-empty){color:var(--muted);margin:8px 0 12px}
.breaker-entry .button{color:var(--yellow);border-color:#806d3d}
.mini-game-entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,34%);gap:20px;align-items:center}
.mini-game-copy{min-width:0}
.mini-game-art{display:block;width:100%;height:clamp(110px,14vw,190px);justify-self:end;object-fit:contain;image-rendering:pixelated}
.backlog-breaker{position:relative;margin:0 0 52px;padding:30px 34px;background:linear-gradient(135deg,#17132d 0%,#0d1226 48%,#17132d 100%);border:2px solid var(--yellow);box-shadow:10px 10px 0 #2e1743}
.backlog-breaker h3{margin:0;font:700 clamp(2.8rem,6vw,5.4rem)/.9 Pixelify,system-ui;color:var(--text);text-shadow:4px 4px 0 #35154b}
.breaker-instruction{margin:12px 0 20px;color:var(--muted);font-family:PressStart,monospace;font-size:.6rem}
.breaker-stats{display:flex;flex-wrap:wrap;gap:2px;margin-bottom:18px;background:var(--line)}
.breaker-stats>div{display:grid;gap:5px;min-width:150px;padding:12px 16px;background:#151a35;border-top:3px solid var(--pink)}
.breaker-stats>div+div{border-color:var(--cyan)}
.breaker-stats strong{font:700 1.8rem/1 Pixelify,system-ui;color:var(--text)}
.breaker-stats span{color:var(--muted);font:400 .5rem/1.35 PressStart,monospace}
.breaker-status{min-height:1.7em;margin:0 0 12px;color:var(--yellow);font:700 clamp(1.4rem,3vw,2.6rem)/1 Pixelify,system-ui}
.breaker-arena{position:relative;aspect-ratio:16/10;min-height:340px;overflow:hidden;background:#080b17;border:2px solid var(--cyan);box-shadow:inset 0 0 0 4px #151a35;touch-action:none}
.breaker-arena:before{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 31px,rgb(56 232 237 / .04) 32px),linear-gradient(90deg,rgb(255 56 182 / .06),transparent 42%,rgb(255 214 77 / .05));content:"";pointer-events:none}
.breaker-brick{position:absolute;display:flex;align-items:center;gap:5px;min-width:0;padding:3px 5px;overflow:hidden;background:#211a46;border:1px solid var(--pink);box-shadow:3px 3px 0 #35154b;color:var(--text);transition:opacity .12s ease,transform .12s ease}
.breaker-brick:nth-child(3n){border-color:var(--cyan)}
.breaker-brick:nth-child(4n){border-color:var(--yellow)}
.breaker-brick.is-broken{opacity:0;transform:scale(.7);pointer-events:none}
.breaker-brick.is-final-hit{z-index:4;border-color:var(--yellow);box-shadow:0 0 0 4px var(--cyan),0 0 30px var(--yellow);animation:breaker-final-hit .42s steps(2,end) both}
.breaker-brick-art{width:28%;height:100%;min-width:0;object-fit:contain;background:#151a35}
.breaker-brick .art-fallback{width:28%;height:100%;font-size:1.2rem}
.breaker-brick>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:400 clamp(.38rem,1vw,.54rem)/1.1 PressStart,monospace}
.breaker-ball{position:absolute;z-index:3;width:18px;height:18px;border:2px solid var(--ink);background:var(--yellow);box-shadow:3px 3px 0 var(--pink);transform:translate(-50%,-50%);pointer-events:none}
.breaker-paddle{position:absolute;bottom:7%;z-index:2;width:18%;height:18px;background:var(--cyan);border:2px solid var(--text);box-shadow:5px 5px 0 var(--pink);transform:translateX(-50%);pointer-events:none}
.breaker-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.breaker-actions .button{margin:0}
.breaker-sound-toggle{font-size:.55rem;padding:10px 12px}
.backlog-breaker.is-cleared .breaker-arena{border-color:var(--yellow);box-shadow:inset 0 0 0 4px #35154b,0 0 28px rgb(255 214 77 / .25)}
.breaker-arena.is-result{background:radial-gradient(circle at center,#25204c 0,#0b1021 68%);border-color:var(--yellow)}
.breaker-result{position:absolute;inset:5%;z-index:5;display:flex;align-items:center;justify-content:center;gap:5px;padding:12px;text-align:center;background:rgb(13 18 38 / .9);border:2px solid var(--cyan);box-shadow:7px 7px 0 var(--pink);animation:breaker-result-reveal .42s ease-out both}
.breaker-result .eyebrow{margin:0;color:var(--yellow)}
.breaker-result-art{display:block;width:min(48%,360px);height:45%;min-height:90px;object-fit:contain;background:#151a35;border:1px solid var(--cyan)}
.breaker-result .art-fallback{width:min(48%,360px);height:45%;min-height:90px;font-size:3rem}
.breaker-result h4{max-width:90%;margin:0;color:var(--text);font:700 clamp(1.5rem,4vw,3rem)/.95 Pixelify,system-ui;overflow-wrap:anywhere}
.breaker-result-playtime{margin:0;color:var(--muted)}
.breaker-result-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px}
.breaker-result-actions .button{margin:0}
@keyframes breaker-final-hit{0%{transform:scale(1);opacity:1}45%{transform:scale(1.16);opacity:1}100%{transform:scale(1.3);opacity:.35}}
@keyframes breaker-result-reveal{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
@media(max-width:760px){.breaker-entry{margin-top:24px}.backlog-breaker{margin-bottom:38px;padding:24px 18px}.backlog-breaker h3{font-size:clamp(2.5rem,13vw,4.5rem)}.breaker-instruction{font-size:.52rem}.breaker-stats>div{min-width:0;flex:1 1 0;padding:10px}.breaker-stats span{font-size:.43rem}.breaker-arena{min-height:250px;aspect-ratio:4/5}.breaker-brick{padding:2px 3px;gap:2px;box-shadow:2px 2px 0 #35154b}.breaker-brick>span{font-size:.36rem}.breaker-brick-art,.breaker-brick .art-fallback{width:36%}.breaker-ball{width:14px;height:14px}.breaker-paddle{height:14px;width:28%}.breaker-actions .button{flex:1 1 100%;text-align:center}.breaker-actions .breaker-sound-toggle{flex:0 0 auto}}
@media(max-width:520px){.mini-game-entry{grid-template-columns:1fr;gap:12px}.mini-game-art{width:min(100%,220px);height:110px;justify-self:center}}
@media(max-width:760px){.breaker-result{inset:4%;padding:8px}.breaker-result-art,.breaker-result .art-fallback{width:68%;height:36%;min-height:78px}.breaker-result h4{font-size:clamp(1.35rem,7vw,2.2rem)}.breaker-result-actions{width:100%}.breaker-result-actions .button{flex:1 1 100%;text-align:center}}
@media(prefers-reduced-motion:reduce){.breaker-brick{transition:none}.breaker-brick.is-broken{transform:none}.breaker-brick.is-final-hit,.breaker-result{animation:none}}

/* Compact mini-game carousel. */
.picker-zone{align-items:start}
.mini-games{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.mini-games-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.mini-games-heading h4{margin:0;color:var(--cyan);font:400 .65rem/1.4 PressStart,monospace;letter-spacing:.06em}
.mini-games-controls{display:flex;gap:6px}
.mini-games-nav{width:32px;height:30px;padding:0;color:var(--cyan);background:#0d1226;border:1px solid var(--cyan);font:700 1.2rem/1 Pixelify,system-ui;cursor:pointer}
.mini-games-nav:hover:not(:disabled),.mini-games-nav:focus-visible{color:var(--text);border-color:var(--pink);outline:2px solid var(--yellow);outline-offset:2px}
.mini-games-nav:disabled{opacity:.35;cursor:default}
.mini-games-viewport{height:auto;min-height:270px;margin-top:12px;overflow-x:auto;overflow-y:visible;scroll-snap-type:x mandatory;scrollbar-color:var(--cyan) #151a35;scrollbar-width:thin}
.mini-games-track{display:flex;align-items:stretch;gap:12px;height:auto;padding:4px 2px 8px}
.mini-game-card{display:grid;grid-template-rows:120px auto;align-content:start;flex:0 0 calc((100% - 12px)/2);min-width:0;min-height:270px;height:auto;padding:12px;color:var(--text);background:#0d1226;border:1px solid var(--cyan);box-shadow:4px 4px 0 #24183d;scroll-snap-align:start}
.mini-game-card:nth-child(2){border-color:var(--yellow)}
.mini-game-card-art{display:block;width:100%;height:120px;object-fit:contain;image-rendering:pixelated}
.mini-game-card-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.mini-game-card-copy .eyebrow{margin:8px 0 4px;font-size:.52rem}
.mini-game-card-copy>p:not(.eyebrow):not(.picker-empty){min-height:2.7em;margin:0;color:var(--muted);font-size:.78rem}
.mini-game-card-copy .button{margin-top:10px;padding:9px 10px;color:var(--cyan);border-color:#3d6880}
.mini-game-card:nth-child(2) .button{color:var(--yellow);border-color:#806d3d}
.mini-game-card-copy .picker-empty{margin:8px 0 0;font-size:.45rem}
.mini-games-position{display:flex;justify-content:center;gap:6px;min-height:10px;margin-top:10px}
.mini-games-position span{width:7px;height:7px;background:var(--line)}
.mini-games-position span.is-active{background:var(--cyan);box-shadow:2px 2px 0 var(--pink)}
@media(min-width:521px) and (max-width:760px){
  .mini-games-viewport{min-height:285px}
  .mini-game-card{grid-template-rows:140px auto;flex-basis:100%;min-height:285px;padding:14px}
  .mini-game-card-art{width:min(100%,220px);max-width:220px;height:140px;max-height:140px;margin-inline:auto}
  .mini-game-card-copy>p:not(.eyebrow):not(.picker-empty){font-size:.82rem}
}
@media(max-width:520px){
  .mini-games-viewport{min-height:290px}
  .mini-game-card{grid-template-rows:150px auto;flex-basis:100%;min-height:290px;padding:14px}
  .mini-game-card-art{height:150px}
  .mini-game-card-copy>p:not(.eyebrow):not(.picker-empty){font-size:.82rem}
}
@media(max-width:360px){
  .mini-games-viewport{min-height:310px}
  .mini-game-card{grid-template-rows:135px auto;min-height:310px;padding:12px}
  .mini-game-card-art{height:135px}
  .mini-game-card-copy .button{padding:10px 12px}
}
@media(prefers-reduced-motion:reduce){.mini-games-viewport{scroll-behavior:auto}}
