:root{--bg:#181425;--surface:#262b44;--surface-2:#3a4466;--ink:#f4f4f4;--muted:#a8b5c8;--accent:#feae34;--focus:#fee761;--coin-gold:gold;--hp-ok:#3e8948;--hp-mid:#f7b500;--hp-low:#e43b44;--px:4px;--bw-ink:#181818;--bw-night:#282838;--bw-slate:#283030;--bw-slate-2:#485050;--bw-ring:#60b0b0;--bw-cyan:#40d8e0;--bw-cyan-deep:#308090;--bw-dim:#a8b8b0;--bw-paper:#f8f8f0;--bw-paper-shade:#c8c8b8;--bw-paper-ink-dim:#4a5650;--bw-red:#c03028;--bw-blue:#2858a0;--bw-sky:#78b8f0;--bw-shadow:#101010;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--font-body), monospace;-webkit-font-smoothing:none;margin:0;font-size:22px;line-height:1.15}h1,h2,h3,h4,button,legend,summary,.panel-name{font-family:var(--font-display), monospace;font-size:12px;line-height:1.6}h1{margin:0;font-size:16px}h2,h3,h4{margin:0 0 8px}h4{font-size:10px}h3{color:var(--accent);font-size:10px}.pixel-box,.actions,.log,.traces,.result,button,.button-link,.text-input{box-shadow:0 calc(-1 * var(--px)) 0 0 var(--ink), 0 var(--px) 0 0 var(--ink), calc(-1 * var(--px)) 0 0 0 var(--ink), var(--px) 0 0 0 var(--ink);border:0}button{background:var(--surface-2);color:var(--ink);margin:var(--px);cursor:pointer;touch-action:manipulation;min-height:44px;padding:8px 12px}button:hover:not(:disabled){background:#5a6988}button:active:not(:disabled){transform:translateY(var(--px))}button:disabled{opacity:.45;cursor:not-allowed}:focus-visible{outline:var(--px) solid var(--focus);outline-offset:var(--px)}kbd{background:var(--bg);margin-right:6px;padding:0 4px;font-family:inherit}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.battle{max-width:1200px;margin:0 auto;padding:16px}.seed{color:var(--muted);margin:0}.seed output{color:var(--accent)}.layout{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:24px;display:grid}@media (max-width:860px){.layout{grid-template-columns:minmax(0,1fr)}.side-column{display:none}}.arena-column,.side-column{min-width:0}@media (max-width:480px){.battle,.arena{padding:8px}.panel{flex:auto}}.arena{background:linear-gradient(#5b8fb9 0 55%,#7ac06b 55% 100%);flex-direction:column;justify-content:space-between;gap:16px;min-height:360px;padding:16px;display:flex}.arena-rival,.arena-player{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.sprite{image-rendering:pixelated;flex-shrink:0;display:block}.sprite-fainted{filter:grayscale();opacity:.4}.sprite-placeholder{background:var(--surface);border:var(--px) dashed var(--ink);flex-shrink:0;place-items:center;font-size:14px;display:grid;overflow:hidden}.actions,.result{background:var(--surface);margin-top:24px;padding:12px}.actions.battle-actions{--bg:#101820;--surface:#202830;--surface-2:#384850;--ink:#f8f8f0;--muted:#c0d0d0;--accent:var(--bw-cyan);--focus:#fee761;color:var(--ink)}.battle-actions{background:linear-gradient(135deg,#ffffff0a 25%,#0000 25%) 0 0/12px 12px,#202830;min-height:196px;position:relative;overflow:hidden;box-shadow:0 -4px #f8f8f0,0 4px #f8f8f0,-4px 0 #f8f8f0,4px 0 #f8f8f0,0 8px #101820}.battle-command-prompt{color:#f8f8f0;padding:2px 8px 8px}.battle-command-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.battle-command{--command-accent:var(--bw-ring);text-align:left;color:#fff;min-height:68px;box-shadow:inset 6px 0 0 var(--command-accent), inset 0 -5px 0 #00000047, 0 -2px 0 #f8f8f0, 0 2px 0 #f8f8f0, -2px 0 0 #f8f8f0, 2px 0 0 #f8f8f0;background:linear-gradient(135deg,#ffffff21,#0000 42%),linear-gradient(#485858,#283838);grid-template-columns:1fr;align-content:center;gap:2px;margin:0;padding:8px 14px 8px 20px;text-decoration:none;display:grid;position:relative;overflow:hidden}.battle-command:after{content:"";border:3px solid #ffffff4d;width:18px;height:18px;position:absolute;bottom:8px;right:8px;transform:rotate(45deg)}.battle-command:hover:not(:disabled){filter:brightness(1.15);background:linear-gradient(135deg,#ffffff38,#0000 42%),linear-gradient(#506868,#304848)}.battle-command:disabled{filter:saturate(.35);text-decoration:none}.battle-command-name{z-index:1;letter-spacing:.04em;text-shadow:2px 2px #0006;font-size:12px;position:relative}.battle-command-hint{z-index:1;font-family:var(--font-body), monospace;color:#f0f8f8;font-size:17px;line-height:1.05;position:relative}.battle-command-fight{--command-accent:#d85850}.battle-command-bag{--command-accent:#d8a438}.battle-command-team{--command-accent:#58b878}.battle-command-run{--command-accent:#58a8c8}.battle-actions .battle-submenu>.prompt{color:var(--ink);font-size:10px}.battle-actions .battle-submenu .action-group,.battle-actions .battle-submenu .bag-options{gap:8px}.battle-actions .battle-submenu legend{color:var(--accent);font-size:10px}.battle-actions .battle-submenu .action{--command-accent:var(--type,var(--bw-ring));min-height:60px;color:var(--ink);box-shadow:inset 6px 0 0 var(--command-accent), inset 0 -5px 0 #00000047, 0 -2px 0 #f8f8f0, 0 2px 0 #f8f8f0, -2px 0 0 #f8f8f0, 2px 0 0 #f8f8f0;background:linear-gradient(135deg,#ffffff21,#0000 42%),linear-gradient(#485858,#283838);column-gap:8px;margin:0;padding:8px 12px 8px 18px}.battle-actions .battle-submenu .action:hover:not(:disabled){filter:brightness(1.15);background:linear-gradient(135deg,#ffffff38,#0000 42%),linear-gradient(#506868,#304848)}.battle-actions .battle-submenu .action:disabled{filter:saturate(.35)}.battle-actions .battle-submenu .action-name{text-shadow:2px 2px #0006}.battle-actions .battle-submenu .action-meta{color:var(--muted);line-height:1.15}.battle-actions .battle-submenu .action:not(:has(>kbd,>.action-icon)){grid-template-columns:1fr}.battle-actions .battle-submenu .action:not(:has(>kbd,>.action-icon))>.action-meta{grid-column:1}.battle-actions .battle-submenu kbd{text-align:center;min-width:22px;color:var(--ink);background:var(--bg);margin-right:0;padding:2px 4px;box-shadow:inset 0 0 0 2px #f8f8f059}.submenu-back{background:#485860;margin:4px 0 0}.battle-actions .submenu-back{color:var(--ink);margin-top:8px;box-shadow:inset 0 -4px #00000047,0 -2px #f8f8f0,0 2px #f8f8f0,-2px 0 #f8f8f0,2px 0 #f8f8f0}@media (max-width:480px){.battle-actions{min-height:0;margin-top:16px;padding:8px}.battle-command-grid{gap:6px}.battle-command{min-height:64px;padding:6px 8px 6px 14px}.battle-command-name{font-size:10px}.battle-command-hint{font-size:15px}}.prompt{margin:0 0 8px}.action-group{border:0;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin:0 0 8px;padding:0;display:grid}.action-group legend{color:var(--muted);margin-bottom:4px;padding:0}.action{text-align:left;grid-template-columns:auto 1fr;align-items:center;display:grid}.action-meta{font-family:var(--font-body), monospace;color:var(--muted);grid-column:2;font-size:20px}.log,.traces{color:var(--bw-paper);box-shadow:0 0 0 2px var(--bw-ring), 0 6px 0 2px #101820;background:linear-gradient(135deg,#ffffff09 25%,#0000 25%) 0 0/12px 12px,#283838;border:2px solid #101820;border-radius:4px;margin-bottom:24px;padding:12px}.log h2,.traces h2{color:var(--bw-cyan)}.log .muted,.traces .muted{color:#b8c8c0}.log ol{max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.log-turn{color:#ffd060;margin-top:6px}.log-end,.log-faint{color:#fee761}.trace{margin-bottom:8px}.trace summary{cursor:pointer;color:#f8f8f0;padding:4px 0}.trace p,.trace td{color:#c8d8d0}.trace code{color:#70e0e0}.trace table{border-collapse:collapse;width:100%}.trace th,.trace td{text-align:left;vertical-align:top;border-bottom:2px solid #506060;padding:2px 6px}.trace-chosen{color:#fee761}.result p{margin:0 0 8px}.section{background:var(--surface);margin:0 var(--px) 24px;padding:12px}.section p{margin:0 0 8px}.roster{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.roster li{flex-direction:column;gap:4px;display:flex}.roster li>button{margin:var(--px) 0 0}.roster-fallen .roster-order{color:var(--hp-low)}.roster-card{background:var(--surface-2);cursor:pointer;touch-action:manipulation;height:100%;min-height:44px;box-shadow:0 0 0 var(--px) var(--surface-2);grid-template-rows:auto;grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;padding:8px;display:grid}.roster-card>:not(input){grid-column:2}.roster-card input{width:24px;height:24px;accent-color:var(--accent);grid-row:1/span 6;margin:0}.roster-card:has(input:focus-visible){outline:var(--px) solid var(--focus);outline-offset:var(--px)}.roster-card:has(input:disabled){opacity:.45;cursor:not-allowed}.roster-chosen{box-shadow:0 0 0 var(--px) var(--accent)}.roster-name{font-family:var(--font-display), monospace;font-size:10px;line-height:1.6}.roster-meta{color:var(--muted);font-size:18px}.roster-order{color:var(--accent)}.roster-chosen .roster-order:before{content:"★ "}.table-scroll{overflow-x:auto}.history{border-collapse:collapse;width:100%}.history th,.history td{text-align:left;border-bottom:2px solid var(--surface-2);padding:2px 6px}.history caption{text-align:left;color:var(--muted)}.consequences{background:var(--bg);margin-bottom:8px;padding:8px 12px}.consequences ul{margin:0 0 8px;padding-left:20px}.member-out{color:var(--muted);text-decoration:line-through}@media (max-width:600px){.history{font-size:18px}}.result-facts{grid-template-columns:auto 1fr;gap:4px 16px;margin:0 0 16px;display:grid}.result-facts dt{color:var(--muted)}.result-facts dd{margin:0}.result-facts output{color:var(--accent)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}[data-reduced-motion] *,[data-reduced-motion] :before,[data-reduced-motion] :after{transition:none!important;animation:none!important}[data-reduced-motion] button:active:not(:disabled){transform:none}code{font-family:var(--font-body), monospace;color:var(--accent)}.button-link{background:var(--surface-2);color:var(--ink);font-family:var(--font-display), monospace;margin:var(--px);align-items:center;min-height:44px;padding:8px 12px;font-size:12px;text-decoration:none;display:inline-flex}.button-link:hover{background:#5a6988}.player-trainer{text-align:center;margin:0}.player-trainer figcaption{color:var(--accent)}.creator{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:24px;display:grid}.creator-form,.creator-preview{gap:24px;display:grid}.creator-preview{position:sticky;top:16px}.creator-tabs{margin:0 var(--px);grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.app .creator-tab{align-content:center;justify-items:center;gap:4px;min-width:0;min-height:96px;margin:0 3px 3px 0;padding:6px 4px;display:grid}.app .creator-tab[aria-selected=true]{background:var(--bw-cyan);box-shadow:1px 1px 0 0 var(--bw-shadow);transform:translate(2px,2px)}.creator-tab-icon{place-items:center;height:48px;display:grid}.creator-tab-label{text-align:center;max-width:100%;font-size:8px;line-height:1.4}.creator-tab-count,.creator-tally{font-family:var(--font-body), monospace;font-variant-numeric:tabular-nums;font-size:18px;line-height:1}.creator-tally{color:var(--bw-paper-ink-dim)}.creator-panel>p{margin:8px 0 12px}.cosmetic-grid[data-kind=border],.cosmetic-grid[data-kind=title]{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.cosmetic-grid[data-kind=background]{grid-template-columns:repeat(auto-fill,minmax(136px,1fr))}.cosmetic-card{align-content:start;position:relative}.cosmetic-card-sample{place-items:center;min-height:56px;display:grid}.creator-title-sample{background:var(--bw-slate);border:2px solid var(--bw-ink);border-radius:4px;place-items:center;min-width:40px;padding:4px 8px;display:grid}.creator-title-sample .trainer-title{text-align:center}.cosmetic-card .card-background-swatch,.creator-tab-icon .card-background-swatch{border:2px solid var(--bw-ink);width:112px;height:56px}.creator-tab-icon .card-background-swatch{width:72px;height:44px}.creator-no-background{background:var(--bw-paper);display:block}.cosmetic-card[data-locked] .cosmetic-card-sample{filter:grayscale();opacity:.45}.creator-save{gap:8px;display:grid}.creator-save p{margin:0}.creator-save .creator-save-card{display:none}.creator-city-frame{width:min(100%,240px);margin-bottom:8px}.creator-city-frame>.trainer-card{margin:4px}@media (hover:hover){.app .creator-city-frame>.trainer-card:hover{background:var(--bw-paper)}}.creator-ranking-row{margin:0 0 8px}@media (max-width:860px){.creator{grid-template-columns:1fr}.creator-preview{display:contents}.creator-save{bottom:calc(68px + env(safe-area-inset-bottom));z-index:5;order:1;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:8px 10px;position:sticky}.creator-save>h2{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.creator-save .creator-save-card{grid-column:1/-1;display:block}.creator-save-card .creator-city-frame{margin:0}.creator-save-text{font-size:16px}.creator-preview>:not(.creator-save){order:2}}@media (max-width:480px){.creator-tabs{gap:4px}.app .creator-tab{padding-inline:2px}}.text-input{font:inherit;background:var(--bg);color:var(--ink);margin:var(--px);width:12ch;min-height:44px;padding:6px 10px}.base-picker{margin:0}.base-picker legend{background:var(--bg);padding:0 8px}.base-grid{padding:var(--px);grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:12px;margin:0;list-style:none;display:grid}.base-card{background:var(--surface);text-align:center;cursor:pointer;justify-items:center;gap:4px;min-height:44px;padding:8px 4px;font-size:16px;display:grid}.base-card input{opacity:0;position:absolute}.base-card:has(input:focus-visible){outline:var(--px) solid var(--focus)}.base-chosen{background:var(--surface-2);box-shadow:inset 0 0 0 var(--px) var(--accent)}.base-card[data-locked]{cursor:not-allowed;background:var(--bg);outline:2px dashed var(--muted);outline-offset:-4px;position:relative}.base-card[data-locked] .sprite{filter:grayscale();opacity:.45}.base-card[data-locked]>span:not(.base-lock,.base-lock-hint){color:var(--muted)}.base-lock{line-height:0;position:absolute;top:4px;right:4px}.base-lock-hint{box-sizing:border-box;overflow-wrap:anywhere;min-width:0;max-width:100%;font-family:var(--font-display), monospace;color:var(--muted);padding:0 4px;font-size:8px;line-height:1.4}.name-count{color:var(--muted);margin-left:8px}.name-over{color:var(--hp-low)}.base-picker+.base-picker{margin-top:16px}.preview-arena{flex-direction:row;justify-content:flex-end;min-height:0}.preview-ui{gap:0;margin-bottom:8px;display:flex}.preview-surface,.preview-page{flex:1;place-items:center;padding:16px;display:grid}.preview-surface{background:var(--surface)}.preview-page{background:var(--bg)}.sound-controls{flex-wrap:wrap;align-items:center;display:flex}.sound-hint{margin:0 var(--px);flex-basis:100%;font-size:16px}.volume{margin:var(--px) 8px;align-items:center;gap:6px;font-size:18px;display:inline-flex}.volume input{width:96px;min-height:44px;accent-color:var(--accent)}.type-normal{--type:#a8a878;--type-ink:#181425}.type-fire{--type:#f08030;--type-ink:#181425}.type-water{--type:#6890f0;--type-ink:#181425}.type-electric{--type:#f8d030;--type-ink:#181425}.type-grass{--type:#78c850;--type-ink:#181425}.type-ice{--type:#98d8d8;--type-ink:#181425}.type-fighting{--type:#c03028;--type-ink:#fff}.type-poison{--type:#a040a0;--type-ink:#fff}.type-ground{--type:#e0c068;--type-ink:#181425}.type-flying{--type:#a890f0;--type-ink:#181425}.type-psychic{--type:#f85888;--type-ink:#181425}.type-bug{--type:#a8b820;--type-ink:#181425}.type-rock{--type:#b8a038;--type-ink:#181425}.type-ghost{--type:#705898;--type-ink:#fff}.type-dragon{--type:#7038f8;--type-ink:#fff}.type-dark{--type:#705848;--type-ink:#fff}.type-steel{--type:#b8b8d0;--type-ink:#181425}.type-\?\?\?{--type:#68a090;--type-ink:#181425}.type-badges{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.type-icon,.status-icon{image-rendering:pixelated;vertical-align:middle;display:inline-block}.type-badge,.status-badge{font-family:var(--font-display), monospace;background:var(--type,var(--surface-2));color:var(--type-ink,var(--ink));text-transform:uppercase;padding:4px 6px;font-size:8px;line-height:1;display:inline-block;box-shadow:inset 0 -2px #0000004d}.status-badge{background:var(--status,var(--surface-2));color:var(--status-ink,var(--ink))}.status-par{--status:#f8d030;--status-ink:#181425}.status-slp{--status:#a8a878;--status-ink:#181425}.status-psn,.status-tox{--status:#a040a0;--status-ink:#fff}.status-brn{--status:#f08030;--status-ink:#181425}.status-frz{--status:#98d8d8;--status-ink:#181425}.status-fainted{--status:#e43b44;--status-ink:#fff}.battle-screen{box-shadow:0 0 0 var(--px) var(--bw-paper), 0 8px 0 var(--bw-ink);margin:var(--px);background:#202830;padding:8px}.stage-frame{justify-items:center;gap:8px;width:100%;min-width:0;display:grid;overflow:hidden}.stage{image-rendering:pixelated;outline:var(--px) solid #101820;background:#101820;position:relative;overflow:hidden}.stage>*{position:absolute}.stage-backdrop-img{top:0;left:0}.stage-backdrop-gap{background:var(--surface-2);inset:0}.stage-platform-img{image-rendering:pixelated}.combatant{transform-origin:50% 100%}.combatant .sprite{transition:filter .3s steps(3,end),opacity .3s steps(3,end)}.combatant-fainted .sprite{filter:grayscale();opacity:.35}.anim-notice .sprite{animation:.6s steps(3,end) notice}@keyframes notice{50%{filter:brightness(1.8)}}.stage{isolation:isolate}.combatant-motion{transform-origin:0 0;will-change:transform, opacity;justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0}.combatant-body{justify-content:center;align-items:flex-end;display:flex}.combatant{z-index:2}.fx-layer{pointer-events:none;inset:0}.fx-layer>*{transform-origin:0 0;opacity:0;pointer-events:none;position:absolute;top:0;left:0}.fx-effect{z-index:3;image-rendering:auto}.fx-effect.fx-pixelated{image-rendering:pixelated}.fx-background{z-index:1;width:100%;height:100%;background-size:cover!important}.fx-result{z-index:4;white-space:nowrap;font-family:var(--font-display), monospace;font-size:calc(var(--s) * 6px)}.fx-result strong{padding:calc(var(--s) * 1px) calc(var(--s) * 2px);color:#fff;box-shadow:0 0 0 var(--s,1px) #181425;background:#6a6a6a;font-weight:400;display:block}.fx-result-bad strong{background:#b8282c}.fx-result-good strong{background:#2c7a3a}.fx-result-brn strong{background:#c8501e}.fx-result-par strong{background:#a08010}.fx-result-slp strong{background:#6a6a50}.fx-result-frz strong{background:#2a7a8a}.fx-result-psn strong,.fx-result-tox strong{background:#803080}.stage-weather-fx{z-index:1;opacity:.5;pointer-events:none;background-position:0 0;background-size:cover;animation:.3s linear both weather-in;inset:0}@keyframes weather-in{0%{opacity:0}to{opacity:.5}}.stage-weather{z-index:5;left:50%;top:calc(var(--s) * 2px);font-family:var(--font-display), monospace;color:#f8f8f0;white-space:nowrap;background:#181425;margin:0;padding:3px 6px;font-size:8px;transform:translate(-50%);box-shadow:0 0 0 2px #f8f8f0}.infobox{color:#181425;background:#f8f8f0;width:min(100%,280px);padding:6px 10px 4px;font-size:18px;box-shadow:0 0 0 2px #181425,inset 0 -4px #c8c8b8}.infobox-overlay{z-index:5;width:calc(var(--s) * 112px)}.stage .infobox-rival{left:calc(var(--s) * 6px);top:calc(var(--s) * 8px);border-radius:0 12px 12px 0}.stage .infobox-player{right:calc(var(--s) * 6px);bottom:calc(var(--s) * 8px);border-radius:12px 0 0 12px}.infobox-empty{visibility:hidden}.stage-frame>.infobox-empty{display:none}.infobox-head{align-items:center;gap:6px;display:flex}.infobox-head .panel-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:10px;overflow:hidden}.panel-level{font-family:var(--font-display), monospace;font-size:8px}.infobox .type-badges{margin:2px 0}.conditions{flex-wrap:wrap;gap:2px;margin:2px 0 0;padding:0;list-style:none;display:flex}.condition{font-family:var(--font-display), monospace;color:#181425;background:#c8c8b8;padding:3px 4px;font-size:7px;line-height:1}.condition-up{color:#fff;background:#2c7a3a}.condition-down{color:#fff;background:#2a4a8a}.condition-seeded{color:#181425;background:#78c850}.status-confusion{--status:#f85888;--status-ink:#181425}.hp-row{align-items:center;gap:4px;display:flex}.hp-tag{font-family:var(--font-display), monospace;color:#f8b000;background:#283838;padding:2px 4px;font-size:8px}.hp-bar{background:#283838;border:2px solid #283838;flex:1;height:10px}.hp-fill{height:100%;transition:width .6s steps(12,end);display:block}.hp-ok .hp-fill{background:#58d080;box-shadow:inset 0 -2px #28a058}.hp-mid .hp-fill{background:repeating-linear-gradient(90deg,#f8e038 0 6px,#c8a808 6px 8px)}.hp-low .hp-fill,.hp-out .hp-fill{background:repeating-linear-gradient(90deg,#f85838 0 4px,#a82818 4px 6px)}.hp-text{justify-content:space-between;gap:8px;margin:2px 0 0;display:flex}.hp-numbers{font-family:var(--font-display), monospace;order:2;margin-left:auto;font-size:10px}.hp-label{color:#a82818;font-weight:400}.team-dots{letter-spacing:2px;color:#c03028;margin:2px 0 0;font-size:14px}.team-dot-out{color:#686868}.message-box{color:#f8f8f8;min-height:72px;box-shadow:0 0 0 2px #f8f8f8, 0 0 0 6px var(--bw-ring), 0 6px 0 6px #101820;background:#283838;align-items:flex-start;gap:8px;margin-top:8px;padding:8px 12px;display:flex}.message-lines{flex:1;max-height:120px;margin:0;padding:0;list-style:none;overflow-y:auto}.skip{margin-left:auto;font-size:8px}.battle-screen-talking{cursor:pointer}.battle-dialog{padding-right:44px;position:relative}.battle-dialog-text{white-space:pre-line;flex:1;margin:0}.battle-dialog-rest{visibility:hidden}.battle-dialog-next{min-width:36px;min-height:36px;box-shadow:none;color:#f85838;background:0 0;border:0;margin:0;padding:0;font-size:12px;line-height:1;position:absolute;bottom:4px;right:4px}.battle-dialog-next:hover,.battle-dialog-next:active{box-shadow:none;background:0 0;transform:none}.battle-dialog-next>[aria-hidden]{visibility:hidden;display:inline-block}.battle-dialog-next-ready>[aria-hidden]{visibility:visible;animation:.7s steps(2,end) infinite next-bob}[data-reduced-motion] .battle-dialog-next-ready>[aria-hidden]{animation:none}.action[class*=type-]{box-shadow:inset var(--px) 0 0 var(--type), inset calc(2 * var(--px)) 0 0 var(--type), 0 calc(-1 * var(--px)) 0 0 var(--ink), 0 var(--px) 0 0 var(--ink), calc(-1 * var(--px)) 0 0 0 var(--ink), var(--px) 0 0 0 var(--ink);padding-left:20px}.map-room{color:var(--bw-paper);border:2px solid var(--bw-ink);box-shadow:0 0 0 2px var(--bw-ring), 0 0 0 4px var(--bw-ink), 0 6px 0 4px var(--bw-shadow);background:#080c10;border-radius:6px;margin:0 4px 24px;position:relative;overflow:hidden}.map-room-copy{border-bottom:2px solid var(--bw-ring);background:linear-gradient(90deg,#182838,#283848);grid-template-columns:auto 1fr;align-items:center;gap:4px 12px;padding:12px 16px;display:grid}.map-room-copy:not(:has(.tower-kicker)){grid-template-columns:1fr}.map-room-copy:not(:has(.tower-kicker))>p:last-child{grid-column:1}.map-room-copy :is(h2,h3),.map-room-copy p{margin:0}.map-room-copy :is(h2,h3){color:var(--bw-cyan);font-size:12px;line-height:1.6}.map-room-copy>p:last-child{color:var(--bw-dim);grid-column:1/-1}.map-room-notice{color:#f86050;margin-top:4px;display:block}.map-room-notice>span{display:block}.map-room-frame{background:repeating-linear-gradient(90deg,#ffffff06 0 2px,#0000 2px 16px),#080c10;justify-content:safe center;max-width:100%;max-height:calc(100vh - 170px);padding:16px;display:grid;overflow:auto}.map-room:is(.safari-gate,.safari-ranch){background:var(--bw-paper);color:var(--bw-ink)}.map-room:is(.safari-gate,.safari-ranch) .map-room-copy{background:linear-gradient(90deg, #e8e8d8, var(--bw-paper));border-bottom-color:var(--bw-paper-shade)}.map-room:is(.safari-gate,.safari-ranch) .map-room-copy :is(h2,h3){color:#2e6b36}.map-room:is(.safari-gate,.safari-ranch) .map-room-copy>p:last-child{color:var(--bw-paper-ink-dim)}.map-room:is(.safari-gate,.safari-ranch) .tower-kicker{background:#3e8948}.map-room.casino{background:var(--bw-paper);color:var(--bw-ink)}.casino .map-room-copy{background:linear-gradient(90deg, #e8e8d8, var(--bw-paper));border-bottom-color:var(--bw-paper-shade)}.casino .map-room-copy :is(h2,h3){color:#5a2e88}.casino .map-room-copy>p:last-child{color:var(--bw-paper-ink-dim)}.casino .map-room-frame{background:repeating-linear-gradient(90deg, #4a565012 0 2px, transparent 2px 16px), var(--bw-paper)}.map-room.house{background:var(--bw-paper);color:var(--bw-ink)}.house .map-room-copy{background:linear-gradient(90deg, #e8e8d8, var(--bw-paper));border-bottom-color:var(--bw-paper-shade)}.house .map-room-copy :is(h2,h3){color:#9a4a18}.house .map-room-copy>p:last-child{color:var(--bw-paper-ink-dim)}.house .map-room-frame{background:repeating-linear-gradient(90deg, #4a565012 0 2px, transparent 2px 16px), var(--bw-paper)}.casino-chip-board,.map-room-notice>.tower-key-board{color:#f8d030;font-family:var(--font-display), monospace;text-shadow:0 0 4px #f8d030b3;background:#201018;align-items:center;gap:6px;padding:2px 10px 2px 4px;font-size:10px;line-height:1;display:inline-flex;box-shadow:0 0 0 2px #d8a830,0 0 0 4px #301810}.map-room-notice>.tower-key-board{margin-top:8px;display:inline-flex}:is(.casino-chip-board,.tower-key-board) .item-icon{image-rendering:pixelated}@media (max-width:600px){.casino .map-room-intro{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;position:static;overflow:visible}}.casino-slots{gap:12px;display:grid}.casino-slots .back-link{justify-self:start}.gachapon{--slot-cell:80px;--slot-window:136px;--slot-icon:72px;--gachapon-red:#c83828;--gachapon-red-dark:#882018;--gachapon-gold:#e0b038;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:24px;display:flex}.gachapon-machine{padding:24px 44px 36px 0;position:relative}.gachapon-cabinet{background:linear-gradient(90deg, var(--gachapon-red-dark), var(--gachapon-red) 12%, var(--gachapon-red) 88%, var(--gachapon-red-dark));-webkit-user-select:none;user-select:none;border:3px solid #3a0c08;border-radius:10px 10px 4px 4px;gap:12px;padding:14px 16px 16px;display:grid;position:relative;box-shadow:inset 0 4px #ffffff2e,0 8px #3a0c08}.gachapon-spinning .gachapon-cabinet{cursor:pointer}.gachapon-marquee{border:3px solid var(--gachapon-gold);background:#301810;border-radius:6px;place-items:center;margin:-34px -6px 0;padding:14px 12px;display:grid;position:relative}.gachapon-marquee:before{content:"";background:radial-gradient(circle,#fff6c0 0 2px,#0000 3px) 0 0/12px 12px repeat-x,radial-gradient(circle,#fff6c0 0 2px,#0000 3px) 0 100%/12px 12px repeat-x,radial-gradient(circle,#fff6c0 0 2px,#0000 3px) 0 0/12px 12px repeat-y,radial-gradient(circle,#fff6c0 0 2px,#0000 3px) 100% 0/12px 12px repeat-y;border-radius:3px;animation:.6s steps(2,end) infinite gachapon-bulbs;position:absolute;inset:3px}.gachapon-marquee span{color:#f8d030;font-family:var(--font-display), monospace;letter-spacing:2px;text-shadow:2px 2px #882018,0 0 8px #f8d03099;font-size:22px;position:relative}@keyframes gachapon-bulbs{0%{background-position:0 0,6px 100%,0 6px,100% 0}to{background-position:12px 0,18px 100%,0 18px,100% 12px}}.gachapon-window{border:4px solid var(--gachapon-gold);background:#301810;grid-template-columns:repeat(3,auto);gap:6px;padding:8px;display:grid;box-shadow:inset 0 0 0 2px #886018}.gachapon-reel{width:calc(var(--slot-cell) + 8px);height:var(--slot-window);background:#f0ead8;position:relative;overflow:hidden}.gachapon-reel:after{content:"";pointer-events:none;background:linear-gradient(#3018108c,#0000 28% 72%,#3018108c);position:absolute;inset:0}.gachapon-strip{will-change:transform}.gachapon-cell{height:var(--slot-cell);border-bottom:2px solid #d8d0b8;place-items:center;display:grid}.gachapon-cell .item-icon{width:var(--slot-icon);height:var(--slot-icon);image-rendering:pixelated}.gachapon-reel:not(.gachapon-reel-stopped) .gachapon-cell .item-icon{filter:blur(.6px);transform:scaleY(1.15)}.gachapon-spinning .gachapon-reel-stopped{animation:.18s ease-out gachapon-clunk}@keyframes gachapon-clunk{40%{transform:translateY(4px)}}.gachapon-panel{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid}.gachapon-lamp{border:2px solid #3a0c08;border-radius:3px;width:18px;height:18px;box-shadow:inset -3px -3px #00000040}.gachapon-lamp-left{background:#48b048}.gachapon-lamp-right{background:#e0b038}.gachapon-spinning .gachapon-lamp{animation:.3s step-end infinite gachapon-blink}.gachapon-spinning .gachapon-lamp-right{animation-delay:.15s}.gachapon-win .gachapon-lamp{animation:.18s step-end infinite gachapon-blink}@keyframes gachapon-blink{50%{filter:brightness(1.8);box-shadow:inset -3px -3px #00000026,0 0 10px #fff0a0e6}}.gachapon-display{color:#f8d030;min-height:40px;font-family:var(--font-body), monospace;letter-spacing:1px;text-align:center;text-transform:uppercase;background:#201018;border:2px solid #3a0c08;place-items:center;margin:0;padding:8px;font-size:22px;line-height:1;display:grid}.gachapon-payout{text-shadow:none;font-size:22px;display:block}.gachapon-spinning .gachapon-display{animation:.5s step-end infinite gachapon-blink-text}@keyframes gachapon-blink-text{50%{color:#886018}}.gachapon-win .gachapon-display{text-shadow:0 0 8px;font-size:33px;animation:.6s ease-out gachapon-win-text}.gachapon-win-great-ball .gachapon-display{color:#68b0f8}.gachapon-win-ultra-ball .gachapon-display{color:#f8e070}.gachapon-win-master-ball .gachapon-display{color:#d088f8}@keyframes gachapon-win-text{0%{transform:scale(.4)}60%{transform:scale(1.15)}}.gachapon-tray{background:#100808;border:2px solid #3a0c08;border-bottom:6px solid #6a6a78;align-items:flex-end;gap:8px;min-height:48px;padding:6px 10px;display:flex}.gachapon-chips{color:#f8f0d8;font-family:var(--font-display), monospace;flex:none;align-items:center;gap:4px;font-size:8px;display:flex}.gachapon-tray-balls{flex-wrap:wrap-reverse;flex:1;justify-content:flex-end;gap:2px;display:flex}.gachapon-tray-ball{animation:.5s cubic-bezier(.3,0,.6,1) both gachapon-drop;display:block}.gachapon-tray-ball .item-icon{image-rendering:pixelated}@keyframes gachapon-drop{0%{opacity:0;transform:translateY(-60px)}60%{opacity:1;transform:translateY(0)}80%{transform:translateY(-8px)}to{transform:translateY(0)}}.gachapon button.gachapon-lever,.gachapon button.gachapon-lever:is(:hover,:active){width:40px;height:150px;box-shadow:none;cursor:pointer;background:0 0;border:0;justify-items:center;margin:0;padding:0;display:grid;position:absolute;top:70px;right:0;transform:none}.gachapon .gachapon-lever[aria-disabled=true]{cursor:not-allowed}.gachapon-lever-knob{z-index:1;background:radial-gradient(circle at 35% 35%,#ff9080 0 3px,#e03020 4px,#a01810);border:3px solid #3a0c08;border-radius:50%;width:26px;height:26px;position:relative}.gachapon-lever-stick{transform-origin:bottom;background:linear-gradient(90deg,#d8d8e0,#8888a0);border:2px solid #383848;width:8px;height:90px;margin-top:-4px}.gachapon-lever:after{content:"";background:#707080;border:3px solid #383848;border-radius:3px;width:28px;height:24px;margin-top:-2px}.gachapon .gachapon-lever:is(:hover,:focus-visible):not([aria-disabled=true]) .gachapon-lever-knob{filter:brightness(1.15)}.gachapon-lever-pulled .gachapon-lever-knob{animation:.45s ease-in-out gachapon-knob}.gachapon-lever-pulled .gachapon-lever-stick{animation:.45s ease-in-out gachapon-stick}@keyframes gachapon-knob{50%{transform:translateY(64px)}}@keyframes gachapon-stick{50%{transform:scaleY(.3)}}.gachapon-hint{color:#f8f0d8;font-family:var(--font-display), monospace;white-space:nowrap;pointer-events:none;background:#201018;margin:0;padding:4px 8px;font-size:8px;line-height:1.4;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 0 0 2px #3a0c08}.gachapon-paytable{background:var(--bw-paper);width:min(320px,100%);color:var(--bw-ink);border:2px solid var(--bw-ink);box-shadow:3px 3px 0 0 var(--bw-shadow);border-radius:4px;padding:12px 14px}.gachapon-paytable h3{color:#882018;margin:0 0 4px;font-size:10px}.gachapon-paytable p{color:var(--bw-paper-ink-dim);margin:0;font-size:22px;line-height:1}.gachapon-paytable ul{gap:4px;margin:10px 0;padding:0;list-style:none;display:grid}.gachapon-paytable li{border-radius:3px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:2px 6px;display:grid}.gachapon-paytable li strong{text-transform:uppercase;font-size:22px;font-weight:400;line-height:1}.gachapon-paytable li small{white-space:nowrap;font-size:22px}.gachapon-paytable-balls{display:flex}.gachapon-paytable-balls .item-icon{image-rendering:pixelated}.gachapon-paytable .gachapon-paytable-win{background:#f8d030;animation:.3s step-end 6 gachapon-blink}.gachapon-paytable .gachapon-paytable-note{font-size:22px}.prize-counter h3{margin:16px 0 6px;font-size:10px}.prize-counter-chips{margin:4px 0 0}.prize-counter-notice{color:var(--bw-cyan-deep);margin:8px 0 0}.prize-sprite{place-items:center;width:64px;display:grid}@media (max-width:520px){.prize-item{grid-template-columns:auto 1fr auto;column-gap:10px}.prize-item>:first-child{grid-row:1/3}.prize-item .shop-item-body{display:contents}.prize-item .shop-item-body>strong{grid-column:2/4}.prize-item .shop-item-body>span{white-space:nowrap;grid-column:2}.prize-item>button{grid-area:2/3;margin:0 4px 4px 0;padding:6px 10px}}.prize-item .card-background-swatch{width:48px;height:48px}@media (max-width:520px){.gachapon{--slot-cell:56px;--slot-window:96px;--slot-icon:48px}.gachapon-machine{padding-right:36px}.gachapon-cabinet{padding:12px 10px}.gachapon-marquee span{font-size:16px}.gachapon .gachapon-lever{width:34px;top:56px}}@media (prefers-reduced-motion:reduce){.gachapon *,.gachapon :before{animation:none!important}}[data-reduced-motion] .gachapon *,[data-reduced-motion] .gachapon :before{animation:none!important}.map-room.pokemon-center{background:var(--bw-paper);color:var(--bw-ink)}.pokemon-center .map-room-copy{background:linear-gradient(90deg, #e8e8d8, var(--bw-paper));border-bottom-color:var(--bw-paper-shade)}.pokemon-center .map-room-copy :is(h2,h3){color:#2858a0}.pokemon-center .map-room-copy>p:last-child{color:var(--bw-paper-ink-dim)}.map-room:is(.safari-gate,.safari-ranch,.pokemon-center) .map-room-frame{background:repeating-linear-gradient(90deg, #4a565012 0 2px, transparent 2px 16px), var(--bw-paper)}.map-room-map{image-rendering:pixelated;box-shadow:0 0 0 4px var(--bw-paper), 0 0 0 8px var(--bw-ink), 0 8px 0 8px var(--bw-shadow);background-color:#080c10;background-repeat:no-repeat;flex:none;position:relative}.map-room .map-room-place{z-index:2;outline-offset:-3px;min-width:44px;min-height:44px;box-shadow:none;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:0;outline:3px solid #0000;margin:0;padding:0;text-decoration:none;display:block;position:absolute}.map-room .map-room-place:not(.map-room-static):is(:hover,:focus-visible){outline-color:var(--focus);box-shadow:none;background:#40d8e024;transform:none}.map-room .map-room-static{cursor:default}.map-room .map-room-place:not(.map-room-static,.map-room-locked) :is(.map-room-sign,.map-room-speech){pointer-events:auto}.map-room-sign{background:var(--bw-paper);width:max-content;max-width:180px;color:var(--bw-ink);text-align:center;box-shadow:0 0 0 2px var(--bw-ink), 0 4px 0 2px var(--bw-shadow);pointer-events:none;padding:4px 7px;display:grid;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.map-room-sign>span{font-family:var(--font-display), monospace;font-size:8px;line-height:1.6}.map-room-sign small{color:var(--bw-paper-ink-dim);font-size:12px;line-height:1.1}.safari-ranch .map-room-sign{top:50%;transform:translate(-50%,-50%)}.safari-ranch .map-room-sign small{font-size:9px;font-weight:700}.safari-ranch-exit .map-room-sign{top:30%}.map-room .map-room-place.map-room-locked{cursor:not-allowed}.map-room .map-room-place.map-room-locked .map-room-sign{background:var(--bw-paper-shade);color:var(--bw-paper-ink-dim)}.map-room .map-room-place.map-room-locked:is(:hover,:focus-visible){outline-color:#0000}.map-room-lock{pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.battle-ball{z-index:3;image-rendering:pixelated;transform-origin:50% 100%;position:absolute}.battle-ball-thrown{animation:safari-throw var(--throw-ms) steps(8) both, battle-ball-wobble var(--shake-ms) linear calc(var(--throw-ms) + var(--close-ms)) var(--shakes)}@keyframes battle-ball-wobble{0%,48%,to{transform:none}12%{transform:rotate(-16deg)}24%{transform:none}36%{transform:rotate(16deg)}}.battle-ball-burst,.safari-object-burst{animation:.3s steps(6,end) both battle-ball-burst}@keyframes battle-ball-burst{0%{filter:none;opacity:1;transform:none}40%{filter:brightness(3);opacity:1;transform:scale(1.25)}to{filter:brightness(3);opacity:0;transform:scale(1.5)}}.battle-ball-caught,.safari-object-caught{animation:.6s steps(6,end) both battle-ball-caught}@keyframes battle-ball-caught{0%,to{filter:none}30%,60%{filter:brightness(.5)}}.combatant-absorbing{transform-origin:50% calc(100% - var(--landing,0px));animation:ball-absorb .2s steps(4) var(--throw-ms,0s) both}@keyframes ball-absorb{0%{opacity:1;transform:none}to{opacity:0;transform:scale(0)}}.combatant-escaping,.safari-wild.is-escaping{transform-origin:50% calc(100% - var(--landing,0px));animation:.3s steps(6,end) .1s both ball-escape}@keyframes ball-escape{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:none}}[data-reduced-motion] :is(.battle-ball-thrown,.battle-ball-burst,.battle-ball-caught,.combatant-escaping){animation:none}[data-reduced-motion] .combatant-absorbing{opacity:0;animation:none}.cave-art{width:100%;height:100%;image-rendering:pixelated;pointer-events:none;position:absolute;inset:0}.tower-lobby-elevator .map-room-sign{max-width:150px;padding:3px 7px;top:46%;left:45%;transform:translate(-50%,-50%)}.tower-lobby-elevator .map-room-sign small{font-size:11px}.tower-lobby-team .map-room-sign{top:auto;bottom:calc(100% + 6px);left:0;transform:translate(-15%)}.tower-lobby-exit .map-room-sign,.safari-gate-exit .map-room-sign,.casino-exit .map-room-sign,.museum-exit .map-room-sign,.house-exit .map-room-sign,.pokemon-center-exit .map-room-sign{top:45%;bottom:auto;transform:translate(-50%,-50%)}.pokemon-center-supplies .map-room-sign,.pokemon-center-evolution .map-room-sign{top:50%;left:auto;right:calc(100% + 6px);transform:translateY(-50%)}.map-room-place.casino-slots .map-room-sign{top:96%;left:40%}.casino-exit .map-room-sign{top:auto;bottom:calc(100% + 4px);transform:translate(-50%)}.npc-dialog-layer{left:clamp(calc(min(260px, 50vw - 12px) + 12px), var(--npc-dialog-x,50vw), calc(100vw - min(260px, 50vw - 12px) - 12px));bottom:max(var(--npc-dialog-bottom,0px), calc(12px + env(safe-area-inset-bottom)));z-index:70;width:min(520px,100vw - 24px);position:fixed;transform:translate(-50%)}.npc-dialog-layer[data-edge=top]{top:var(--npc-dialog-top);bottom:auto}.npc-dialog-layer .dialog{margin:0}.npc-dialog-layer .dialog-text{min-height:6em}.map-room-talking :is(.map-room-sign,.map-room-speech){opacity:.4}.map-room-speech{background:var(--bw-paper);width:max-content;max-width:150px;color:var(--bw-ink);font-family:var(--font-display), monospace;text-align:left;border:2px solid var(--bw-ink);box-shadow:0 4px 0 0 var(--bw-shadow);pointer-events:none;border-radius:8px;padding:6px 9px;font-size:8px;line-height:1.6;position:absolute;top:50%;right:calc(100% + 10px);transform:translateY(-50%)}.map-room-speech small{opacity:.75;margin-top:2px;font-size:7px;display:block}.map-room-speech:before,.map-room-speech:after{content:"";border-style:solid;border-color:#0000;position:absolute;top:50%;transform:translateY(-50%)}.map-room-speech:before{border-width:7px 0 7px 9px;border-left-color:var(--bw-ink);left:100%}.map-room-speech:after{border-width:5px 0 5px 7px;border-left-color:var(--bw-paper);left:calc(100% - 1px)}.tower-lobby-guide .map-room-speech{text-align:center;max-width:130px;inset:auto auto calc(100% + 10px) 50%;transform:translate(-50%)}.tower-lobby-guide .map-room-speech:before,.tower-lobby-guide .map-room-speech:after{top:auto;left:50%;transform:translate(-50%)}.tower-lobby-guide .map-room-speech:before{border-width:9px 7px 0;border-color:var(--bw-ink) transparent transparent;top:100%}.tower-lobby-guide .map-room-speech:after{border-width:7px 5px 0;border-color:var(--bw-paper) transparent transparent;top:calc(100% - 1px)}.tower-back{place-self:start;align-items:center;margin:0 4px 12px;display:inline-flex}.tower-entrance{color:var(--bw-paper);border:2px solid var(--bw-ink);box-shadow:0 0 0 2px var(--bw-ring), 0 0 0 4px var(--bw-ink), 0 6px 0 4px var(--bw-shadow);background:#101c28;border-radius:6px;margin:0 4px 24px;overflow:hidden}.tower-entrance-copy{border-bottom:2px solid var(--bw-ring);background:linear-gradient(90deg,#182838,#283848);grid-template-columns:auto 1fr;align-items:center;gap:4px 12px;padding:12px 16px;display:grid}.tower-entrance-copy h3,.tower-entrance-copy p{margin:0}.tower-entrance-copy h3{color:var(--bw-cyan);font-size:12px;line-height:1.6}.tower-entrance-copy>p:last-child{color:var(--bw-dim);grid-column:1/-1}.tower-kicker{background:var(--bw-cyan-deep);color:var(--bw-paper);font-family:var(--font-display), monospace;white-space:nowrap;justify-self:start;padding:4px 8px;font-size:8px;line-height:1.5}.tower-interior-frame{background:repeating-linear-gradient(90deg,#ffffff06 0 2px,#0000 2px 16px),#081018;justify-content:center;max-width:100%;padding:16px;display:grid;overflow:auto}.tower-interior-scene{width:calc(256px * var(--tower-scale));height:calc(192px * var(--tower-scale));image-rendering:pixelated;box-shadow:0 0 0 calc(2px * var(--tower-scale)) #c8d8d8, 0 0 0 calc(4px * var(--tower-scale)) #182838, 0 calc(4px * var(--tower-scale)) 0 calc(4px * var(--tower-scale)) #000;background-color:#101820;background-repeat:no-repeat;background-size:100% 100%;flex:none;position:relative}.tower-elevator{width:calc(58px * var(--tower-scale));padding:calc(6px * var(--tower-scale));border:calc(2px * var(--tower-scale)) solid #889898;box-shadow:inset 0 0 0 calc(2px * var(--tower-scale)) #101820, calc(3px * var(--tower-scale)) calc(3px * var(--tower-scale)) 0 #000;background:#202830;margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tower-elevator-display{height:calc(20px * var(--tower-scale));margin-bottom:calc(5px * var(--tower-scale));color:var(--bw-cyan);border:calc(1px * var(--tower-scale)) solid #708078;font-family:var(--font-display), monospace;font-size:calc(8px * var(--tower-scale));text-shadow:0 0 calc(3px * var(--tower-scale)) var(--bw-cyan);background:#081810;place-items:center;display:grid}.tower-elevator-grid{gap:calc(3px * var(--tower-scale));grid-template-columns:repeat(2,1fr);display:grid}.tower-elevator .tower-floor-button{min-height:0;min-width:max(44px, calc(19px * var(--tower-scale)));height:max(44px, calc(15px * var(--tower-scale)));color:#d8e0d8;border:calc(1px * var(--tower-scale)) solid #a8b0a8;font-family:var(--font-display), monospace;font-size:max(8px, calc(5px * var(--tower-scale)));cursor:pointer;box-shadow:calc(1px * var(--tower-scale)) calc(1px * var(--tower-scale)) 0 #000;background:#404850;place-items:center;margin:0;padding:0;display:grid}.tower-elevator .tower-floor-button:hover:not(:disabled){background:#505860}.tower-elevator .tower-floor-button[aria-pressed=true]{background:var(--bw-cyan-deep);color:#fff;box-shadow:0 0 0 calc(1px * var(--tower-scale)) #fff, 0 0 calc(5px * var(--tower-scale)) calc(2px * var(--tower-scale)) var(--bw-cyan)}.tower-elevator .tower-floor-button.tower-floor-locked{opacity:1;color:#788078;cursor:not-allowed;background:#282c30;border-style:dashed}.tower-elevator .tower-floor-button:focus-visible{outline:calc(2px * var(--tower-scale)) solid var(--focus);outline-offset:calc(1px * var(--tower-scale))}.tower-elevator:disabled .tower-floor-button{cursor:default;opacity:.6}.tower-floor-number{background:var(--bw-slate);width:52px;height:52px;color:var(--bw-cyan);font-family:var(--font-display), monospace;box-shadow:0 0 0 2px var(--bw-ring), 0 0 0 4px var(--bw-ink);border-radius:50%;flex:none;place-items:center;font-size:16px;display:grid}.elevator-overlay{z-index:60;background:#18181894;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.elevator-dialog{gap:14px;width:min(560px,100%);max-height:calc(100dvh - 40px);margin:0;padding:20px 24px;display:grid;overflow:auto}.elevator-dialog p{margin:0}.elevator-dialog-heading{align-items:center;gap:12px;display:flex}.elevator-dialog-heading h3{margin:0}.elevator-dialog-heading small{display:block}.elevator-dialog .tower-floor-number{width:44px;height:44px}.elevator-actions{flex-wrap:wrap;gap:8px;display:flex}.floor-facts{background:var(--bw-paper);color:var(--bw-ink);grid-template-columns:auto auto 1fr;margin:0;padding:8px 0;display:grid}.floor-facts div{border-left:2px solid var(--bw-paper-shade);padding:2px 10px}.floor-facts div:first-child{border-left:0}.floor-facts dt{color:var(--bw-paper-ink-dim);font-family:var(--font-display), monospace;font-size:8px;line-height:1.6}.floor-facts dd{margin:0}@media (max-width:700px){.elevator-overlay{place-items:end stretch;padding:12px}.elevator-dialog{width:100%;max-height:calc(100dvh - 24px);padding:16px}.floor-facts{grid-template-columns:1fr;padding:0}.floor-facts div,.floor-facts div:first-child{border-left:0;border-top:2px solid var(--bw-paper-shade);padding:6px 10px}.floor-facts div:first-child{border-top:0}.elevator-actions button{flex:1 1 0}}.tower-corridor{border-top:2px solid var(--bw-ring);background:#182838;padding:16px}.tower-corridor-heading{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:12px;display:flex}.tower-corridor-heading h4,.tower-corridor-heading p{margin:0}.tower-corridor-heading h4{color:var(--bw-cyan)}.tower-corridor-heading p{color:var(--bw-dim)}.tower-room-route{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.tower-room-route li{min-width:0;color:var(--bw-dim);text-align:center;background:#0000002e;border-bottom:3px solid #080c10;align-content:start;justify-items:center;gap:4px;padding:10px 6px;display:grid}.tower-room-route strong{color:var(--bw-paper);font-family:var(--font-display), monospace;font-size:8px;line-height:1.6}.tower-room-route small{overflow-wrap:anywhere;max-width:100%}.tower-room-door{background:linear-gradient(90deg,#202830 0 45%,#384048 45% 55%,#202830 55%);border:3px solid #687078;border-bottom-width:6px;place-items:center;width:42px;height:54px;display:grid;position:relative;box-shadow:3px 3px #080c10}.tower-room-door span{width:20px;height:16px;color:var(--bw-cyan);font-family:var(--font-display), monospace;background:#081810;place-items:center;font-size:7px;display:grid;box-shadow:0 0 0 1px #708078}.tower-room-entry .tower-room-door{border-color:var(--bw-cyan);box-shadow:0 0 0 2px var(--bw-cyan-deep), 3px 3px 0 #080c10}.tower-room-entry .tower-room-door:before{content:"▶";color:var(--focus);animation:.7s step-end infinite cursor-blink;position:absolute;left:-18px}.tower-room-key .tower-room-door{border-color:var(--focus)}.tower-room-prize,.level-recommendation{color:var(--focus)}@media (max-width:700px){.tower-corridor-heading{display:grid}.tower-room-route{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.tower-entrance-copy,.map-room-intro{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.screen-enter:has(>.map-room){animation:none}.map-room{z-index:5;box-shadow:none;border:0;border-radius:0;margin:0;position:fixed;inset:0}.map-room .map-room-copy,.shop .shop-hud{top:calc(8px + env(safe-area-inset-top));z-index:10;border:2px solid var(--bw-ink);text-align:center;width:max-content;max-width:calc(100vw - 16px);box-shadow:0 0 0 2px var(--bw-ring), 0 3px 0 2px var(--bw-shadow);border-radius:6px;grid-template-columns:auto;justify-items:center;gap:2px;padding:6px 14px;display:grid;position:fixed;left:50%;transform:translate(-50%)}.shop .shop-hud{background:linear-gradient(90deg, #e8e8d8, var(--bw-paper));color:#2858a0;font-family:var(--font-display), monospace;margin:0;font-size:12px;line-height:1.6}.shop:has(.shop-hud){padding-top:calc(64px + env(safe-area-inset-top))}.map-room .map-room-copy>*{grid-column:1}.map-room .tower-kicker{justify-self:center;padding:0 6px}.map-room-notice{margin-top:0}.map-room-frame{max-height:none;padding:calc(84px + env(safe-area-inset-top)) 16px calc(76px + env(safe-area-inset-bottom));scrollbar-width:none;place-content:safe center;position:absolute;inset:0}.prepare:has(>.tower-entrance)>.tower-back{top:calc(8px + env(safe-area-inset-top));white-space:nowrap;position:fixed;left:50%;transform:translate(-50%)}.tower-entrance{margin-top:56px}.tower-interior-frame{scrollbar-width:none;justify-content:safe center;padding:12px 0}}.tower-progress{align-items:center;gap:12px;display:flex}.tower-meter{background:var(--bg);width:16px;height:48px;box-shadow:0 0 0 2px var(--ink);align-items:flex-end;display:flex}.tower-meter span{background:var(--accent);width:100%;transition:height .6s steps(10,end);display:block}.tower-floors{--node:44px;margin:0;padding:0;list-style:none;display:grid}.floor-row{grid-template-columns:calc(var(--node) + 8px) 1fr;align-items:center;gap:2px 12px;padding:6px 8px;display:grid;position:relative}.floor-row[data-up]:before,.floor-row[data-down]:after{content:"";left:calc(8px + (var(--node) + 8px) / 2 - 3px);width:6px;position:absolute}.floor-row[data-up]:before{height:50%;top:0}.floor-row[data-down]:after{top:50%;bottom:0}.floor-row[data-up=walked]:before,.floor-row[data-down=walked]:after{background:#7a8484}.floor-row[data-up=future]:before,.floor-row[data-down=future]:after{left:calc(8px + (var(--node) + 8px) / 2 - 2px);background:repeating-linear-gradient(to bottom, var(--surface-2) 0 4px, transparent 4px 10px);width:4px}.floor-row[data-up=route]:before,.floor-row[data-down=route]:after{background:repeating-linear-gradient(to bottom, var(--focus) 0 6px, transparent 6px 12px);animation:.6s steps(6,end) infinite route-flow}@keyframes route-flow{0%{background-position:0 12px}to{background-position:0 0}}.floor-band{font-family:var(--font-display), monospace;color:var(--muted);grid-column:1/-1;padding-top:6px;font-size:8px}.floor-node{z-index:1;width:var(--node);height:var(--node);justify-self:center;place-items:center;display:grid;position:relative}.floor-number,.tower .floor-node button.floor-number{width:40px;height:40px;font-family:var(--font-display), monospace;background:var(--surface-2);color:var(--ink);box-shadow:0 0 0 2px var(--bw-ink), 0 3px 0 2px var(--bw-shadow);border:0;border-radius:50%;place-items:center;margin:0;padding:0;font-size:12px;display:grid}.tower .floor-node button.floor-number{cursor:pointer;outline-offset:4px}.tower .floor-node button.floor-number:is(:hover,:active):not(:disabled){filter:brightness(1.15);transform:none}.floor-cleared .floor-number,.tower .floor-cleared button.floor-number{color:#d8e0d8;background:#6a7272}.floor-check{font-size:0}.floor-check:before{content:"";border-bottom:4px solid;border-left:4px solid;width:14px;height:7px;display:block;transform:translateY(-2px)rotate(-45deg)}.floor-record .floor-number,.tower .floor-record button.floor-number{color:var(--bw-dim);background:#4f5a5a}.floor-current .floor-number,.floor-next .floor-number,.tower :is(.floor-current,.floor-next) button.floor-number{background:var(--accent);color:var(--bw-ink);box-shadow:0 0 0 2px var(--bw-paper), 0 0 0 4px var(--bw-ink), 0 3px 0 4px var(--bw-shadow)}.floor-current,.floor-next{background:#40d8e014;border-radius:6px}.floor-current .floor-node,.floor-next .floor-node{animation:1.6s steps(4,end) infinite node-sway}.floor-pulse{border:3px solid var(--focus);pointer-events:none;border-radius:50%;display:none;position:absolute;inset:2px}.floor-current .floor-pulse,.floor-next .floor-pulse{animation:1.4s ease-out infinite node-pulse;display:block}@keyframes node-sway{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes node-pulse{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}.floor-locked{opacity:.75}.floor-key{--node:52px}.floor-key .floor-number,.tower .floor-key button.floor-number{width:48px;height:48px;box-shadow:0 0 0 2px var(--bw-ink), 0 0 0 5px var(--focus), 0 0 14px 6px #fee76173;font-size:14px;animation:2s steps(4,end) infinite alternate key-aura}@keyframes key-aura{to{filter:brightness(1.2)}}.floor-key-tag{font-family:var(--font-display), monospace;background:var(--focus);color:var(--bw-ink);border-radius:3px;margin-left:8px;padding:3px 6px;font-size:8px}.floor-title{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.floor-body{flex-wrap:wrap;align-items:baseline;gap:2px 12px;font-size:18px;display:flex}.floor-status{font-family:var(--font-display), monospace;font-size:8px}.floor-reward{color:var(--muted)}.floor-flag{color:var(--focus)}.floor-tooltip{z-index:5;background:var(--bw-paper);width:max-content;max-width:min(440px,75vw);color:var(--bw-ink);border:2px solid var(--bw-ink);box-shadow:0 0 0 2px var(--bw-ring), 0 0 0 4px var(--bw-ink), 0 6px 0 4px var(--bw-shadow);text-align:left;border-radius:6px;padding:8px 12px;font-size:18px;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)}.rival-peek{grid-template-columns:auto 1fr;align-items:center;gap:4px 8px;display:grid}.rival-peek-title{font-family:var(--font-display), monospace;grid-column:1/-1;font-size:8px;line-height:1.6}.rival-peek-team{grid-column:1/-1;gap:2px;display:grid}.rival-peek-trainer+.rival-peek-team{grid-column:2}.rival-peek-notice{color:var(--muted);grid-column:1/-1}.rival-peek-member{white-space:nowrap;align-items:center;gap:6px;display:flex}.floor-node:has(.floor-tooltip){z-index:6}.rival-peek-member .sprite{width:32px;height:32px}.floor-sheet-scrim{z-index:40;background:#00000073;position:fixed;inset:0}.tower .floor-sheet{z-index:41;max-height:70vh;font-size:18px;animation:.24s steps(4,end) sheet-up;position:fixed;bottom:12px;left:8px;right:8px;overflow:auto}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}@media (max-width:480px){.tower-floors{--node:40px}.floor-key{--node:48px}.floor-tooltip{max-width:calc(100vw - 64px);top:calc(100% + 8px);left:0;transform:none}}.stat-tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:0 0 8px;display:grid}.stat-tiles dt{font-family:var(--font-display), monospace;color:var(--muted);background:var(--bg);padding:8px 8px 0;font-size:8px}.stat-tiles dd{background:var(--bg);margin:0 0 4px;padding:0 8px 8px;font-size:26px}.stat-tiles output{color:var(--accent)}.card-sprite{background:radial-gradient(circle at 50% 70%,#3a4466 0 45%,#0000 46%);grid-row:1/span 6;place-items:center;width:72px;height:72px;display:grid}.card-sprite-front{width:auto;min-width:96px;height:auto}.roster-card .card-sprite{grid-column:2}.roster-card{grid-template-columns:auto auto minmax(0,1fr)}.roster-card>:not(input):not(.card-sprite){grid-column:3}.card-facts{gap:4px;min-width:0;display:grid}.card-head{justify-content:space-between;gap:8px;display:flex}.card-level{font-family:var(--font-display), monospace;color:var(--accent);font-size:8px}.exp{gap:2px;display:grid}.exp-bar{background:var(--bg);height:6px;box-shadow:0 0 0 2px var(--bg)}.exp-fill{background:#40c8f8;height:100%;display:block}.card-fallen{font-family:var(--font-display), monospace;color:#ffb0b0;align-items:center;gap:6px;font-size:8px;display:inline-flex}.roster-fallen .roster-card{background:repeating-linear-gradient(135deg, #e43b442e 0 6px, transparent 6px 12px), var(--surface-2);outline:2px dashed var(--hp-low);outline-offset:-2px}.roster-chosen .roster-order{color:var(--accent)}.mini-team{gap:4px;margin:0 0 8px;padding:0;list-style:none;display:grid}.mini-team li{align-items:center;gap:8px;display:flex}.mini-team .sprite{width:32px;height:32px}.result-team .sprite{width:96px;height:96px}.result-team{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.result-team li{text-align:center;background:var(--bg);flex-direction:column;padding:8px}.member-weak{color:var(--hp-mid-ink,var(--hp-mid))}.banner{background:var(--surface-2);color:var(--ink);margin:-12px -12px 12px;padding:10px 12px;font-size:14px;display:block}.banner-win,.banner-cleared{background:#3e8948}.banner-retreat,.banner-level-cap{background:#3a4466}.banner-defeat{background:#a82818}.banner-milestone{background:var(--focus);color:var(--bg)}.reward-chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chip{font-family:var(--font-display), monospace;background:var(--bg);box-shadow:0 0 0 2px var(--accent);padding:6px 8px;font-size:10px}.chip-coins{color:var(--focus)}.chip-exp{color:#40c8f8}.screen-enter{animation:.4s steps(4,end) screen-in}@keyframes screen-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media (max-width:480px){.roster-card{grid-template-columns:auto auto 1fr}.card-sprite{width:64px;height:64px}.volume input{width:72px}}.stat-tiles>div{background:var(--bg);box-shadow:inset 0 -4px 0 var(--surface-2);padding:8px}.stat-tiles dt,.stat-tiles dd{background:0 0;padding:0}.roster{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}.roster-card{grid-template-columns:auto auto minmax(0,1fr);overflow:hidden}.exp-fill{min-width:2px}.exp-bar{height:8px;box-shadow:0 0 0 2px var(--ink);background:#101820;margin:2px 2px 0}.evolution{text-align:center}.evolution-stage{place-items:center;min-height:200px;display:grid;position:relative}.evolution-stage>*{grid-area:1/1}.evolution-running .sprite{filter:brightness(0)invert()}.evolution-running .evolution-from{animation:2.6s step-end both evolve-out}.evolution-running .evolution-to{animation:2.6s step-end both evolve-in}.evolution-done .sprite{animation:.6s steps(4,end) evolve-reveal}@keyframes evolve-reveal{0%{filter:brightness(0)invert()}to{filter:none}}@keyframes evolve-out{0%,20%,40%,55%,70%,80%,90%{opacity:1}10%,30%,50%,62%,75%,85%,95%,to{opacity:0}}@keyframes evolve-in{0%,20%,40%,55%,70%,80%,90%{opacity:0}10%,30%,50%,62%,75%,85%,95%,to{opacity:1}}[data-reduced-motion] .evolution-running .evolution-to{opacity:0}.evolution-text{color:var(--accent)}.safari-done{align-items:center;gap:20px;display:grid}.safari-done-caught{grid-template-columns:minmax(220px,300px) minmax(0,1fr)}.safari-done .safari-card{height:auto}.safari-done-info{align-content:center;gap:12px;display:grid}.safari-done-info p{margin:0}.safari-done-title{font-family:var(--font-display), monospace;font-size:14px;line-height:1.6}.safari-done-info .safari-attempts{margin:0}.safari-done-next{border:2px solid var(--bw-ink);background:var(--bw-paper);box-shadow:0 4px 0 0 var(--bw-paper-shade);border-radius:4px;padding:10px 12px}.safari-done-next .daily{margin:0}@media (max-width:640px){.safari-done-caught{grid-template-columns:minmax(0,1fr)}}.safari-screen{gap:20px;display:grid}.safari-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin:0 4px;padding:0;list-style:none;display:grid}.safari-card{background:var(--bw-paper);height:100%;color:var(--bw-ink);border:2px solid var(--bw-ink);box-shadow:0 0 0 2px var(--bw-paper-shade), 0 0 0 4px var(--bw-ink), 0 6px 0 4px var(--bw-shadow);border-radius:4px;flex-direction:column;align-items:center;gap:6px;padding:14px 14px 12px;display:flex;position:relative}.safari-card-choice:has(.safari-card-button:not(:disabled)){cursor:pointer}.safari-card-choice:has(.safari-card-button:not(:disabled):is(:hover,:focus-visible)){outline:3px solid var(--focus);outline-offset:6px}.safari-card-tried{opacity:.55}.safari-card-owned{line-height:0;position:absolute;top:8px;left:8px}.safari-card-sprite{background:radial-gradient(circle at 50% 72%, var(--bw-paper-shade) 0 38%, transparent 39%);place-items:center;min-width:96px;min-height:96px;display:grid}.safari-card-name{margin:0;font-size:12px}.safari-card-level{font-family:var(--font-display), monospace;margin:0;font-size:10px}.safari-card-stats{gap:2px;width:100%;margin:4px 0 0;display:grid}.safari-card-stats>div{grid-template-columns:4.5ch 1fr;align-items:center;gap:8px;display:grid}.safari-card-stats dt{font-family:var(--font-display), monospace;font-size:8px}.safari-card-stats abbr{text-decoration:none}.safari-card-stats dd{text-align:right;grid-template-columns:1fr 3ch;align-items:center;gap:8px;margin:0;display:grid}.safari-stat-bar{background:#283838;border:2px solid #283838;height:8px;display:block}.safari-stat-bar>span{background:var(--bw-dim);height:100%;display:block;box-shadow:inset 0 -2px #788880}.safari-card .hp{width:100%}.safari-card-moves{border:2px solid var(--bw-ink);gap:6px;width:100%;margin:4px 0 0;padding:8px;list-style:none;display:grid}.safari-card-moves li{grid-template-columns:1fr auto auto;align-items:center;gap:6px;display:grid}.safari-move-power{font-family:var(--font-display), monospace;white-space:nowrap;font-size:8px}.safari-card-tag{font-family:var(--font-display), monospace;margin:0 0 4px;font-size:8px}.safari-card .safari-card-button,.safari-card .safari-card-button:is(:hover,:focus-visible,:active,:disabled){width:auto;min-height:0;box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:4px;outline:none;margin:0;padding:0;position:absolute;inset:0;transform:none}.safari-card .safari-card-button:disabled{cursor:not-allowed}.safari-attempts{margin:0 0 8px;padding-left:20px}.safari-zone-current{font-family:var(--font-display), monospace;margin:0 0 8px;font-size:10px}.safari-balls{flex-wrap:wrap;gap:4px 16px;margin:8px 0;display:flex}.safari-balls>span{align-items:center;gap:4px;display:inline-flex}.safari-stage{background-repeat:no-repeat}.safari-wild,.safari-player{place-items:end center;display:grid}.safari-wild.is-hidden{visibility:hidden}.safari-wild.is-fled{opacity:0;transition:opacity .4s steps(4,end)}.safari-object,.safari-angry{z-index:2}.safari-object-throw{animation:safari-throw var(--throw-ms) steps(8) both}.safari-object-shake{animation:battle-ball-wobble var(--shake-ms) linear var(--close-ms) var(--shakes)}.safari-object-safari-ball,.safari-object-master-ball{transform-origin:50% 100%}.safari-wild.is-absorbing{transform-origin:50% calc(100% - var(--landing,0px));animation:.2s steps(4,end) both ball-absorb}@keyframes safari-throw{0%{transform:translate(var(--from-x), var(--from-y)) scale(var(--near,1))}50%{transform:translate(calc(var(--from-x) / 2), calc(var(--from-y) / 2 - 48px)) scale(calc((var(--near,1) + 1) / 2))}to{transform:none}}.safari-object-rock.safari-object-react{animation:safari-rock-bounce var(--react-ms) steps(8) both}@keyframes safari-rock-bounce{30%{transform:translate(calc(-12px * var(--s)), calc(-16px * var(--s)))}80%{transform:translate(calc(-24px * var(--s)), calc(12px * var(--s)));opacity:1}to{transform:translate(calc(-24px * var(--s)), calc(12px * var(--s)));opacity:0}}.safari-object-bait.safari-object-react{animation:safari-bait-eaten var(--react-ms) steps(4) both}@keyframes safari-bait-eaten{0%{clip-path:inset(0)}to{clip-path:inset(100% 0 0)}}.safari-wild.is-hit{animation:.2s step-end 3 safari-hit}@keyframes safari-hit{0%{transform:translateX(calc(-3px * var(--s)))}50%{transform:translateX(calc(3px * var(--s)))}}.safari-wild.is-eating{animation:.2s step-end 4 safari-eat}@keyframes safari-eat{50%{transform:translateY(calc(2px * var(--s)))}}.safari-angry{animation:.2s step-end infinite safari-angry}@keyframes safari-angry{50%{opacity:0}}.safari-mood{right:calc(8px * var(--s));top:calc(4px * var(--s));font-family:var(--font-display), monospace;background:var(--bw-paper);color:var(--bw-ink);box-shadow:0 0 0 2px var(--bw-ink);margin:0;padding:2px 6px;font-size:10px}.safari-mood-angry{color:var(--bw-red)}.safari-message{min-height:3em}.safari-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.safari-command-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.safari-command-grid .safari-command{--safari-command-accent:var(--bw-ring);background:var(--bw-paper);min-height:76px;color:var(--bw-ink);text-align:left;box-shadow:inset 6px 0 0 var(--safari-command-accent), inset 0 -4px 0 var(--bw-paper-shade), 3px 3px 0 var(--bw-shadow);grid-template-columns:auto minmax(0,1fr);align-content:center;align-items:center;gap:2px 8px;margin:0;padding:8px 28px 8px 16px;text-decoration:none;display:grid;position:relative;overflow:hidden}.safari-command-grid .safari-command:after{content:"";border:3px solid var(--bw-paper-shade);width:14px;height:14px;position:absolute;bottom:9px;right:9px;transform:rotate(45deg)}.safari-command-grid .safari-command:hover:not(:disabled){filter:brightness(1.04);background:#fffff8}.safari-command-grid .safari-command:disabled{text-decoration:none}.safari-command-name{z-index:1;font-family:var(--font-display), monospace;text-transform:uppercase;font-size:10px;line-height:1.4;position:relative}.safari-command-hint{z-index:1;font-family:var(--font-body), monospace;color:var(--bw-paper-ink-dim);grid-column:2;font-size:17px;line-height:1;position:relative}.safari-command-icon{grid-row:span 2;place-items:center;display:grid}.safari-command-ball{--safari-command-accent:#78a850}.safari-command-bait{--safari-command-accent:#c88820}.safari-command-rock{--safari-command-accent:#788880}.safari-command-run{--safari-command-accent:var(--bw-ring)}.safari-command-master{--safari-command-accent:#a040a0}.safari-command-grid .safari-command-wide,.safari-command-notice{grid-column:1/-1}[data-reduced-motion] .safari-object,[data-reduced-motion] .safari-angry,[data-reduced-motion] .safari-wild{transition:none;animation:none}.evolution-moves{color:var(--accent)}.move-learn{gap:8px;margin-block:12px;padding:12px;display:grid}.move-learn h3{margin:0}.move-learn-options{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.move-learn-options button,.move-learn-skip{text-align:left;width:100%}.shop-layout{gap:16px;display:grid}.backpack-layout{gap:16px;width:min(100%,720px);margin:0 auto;display:grid}.backpack .backpack-layout>:is(.section,.pixel-box,.panel){margin:0 var(--px)}.backpack .backpack-tabs{margin:0 var(--px);grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.backpack .backpack-tab{align-content:center;justify-items:center;gap:4px;min-width:0;min-height:64px;margin:0 3px 3px 0;padding:6px 4px;display:grid}.backpack .backpack-tab[aria-selected=true]{background:var(--bw-cyan);box-shadow:1px 1px 0 0 var(--bw-shadow);transform:translate(2px,2px)}.backpack .backpack-tab:disabled .item-icon{filter:grayscale()}.backpack .backpack-tab-label{text-align:center;overflow-wrap:anywhere;max-width:100%;font-size:8px;line-height:1.4}.backpack .backpack-pocket{gap:8px;display:grid}.backpack .backpack-pocket>h2{justify-self:start;margin:0}.backpack .backpack-menu{margin:0;padding:0;list-style:none;display:grid}.backpack .backpack-menu-row{width:100%;min-height:44px;box-shadow:none;color:inherit;font:inherit;text-align:left;background:0 0;border:0;border-radius:0;align-items:center;gap:8px;margin:0;padding:6px 8px 6px 22px;text-decoration:none;display:flex;transform:none}.backpack .backpack-menu li+li .backpack-menu-row{border-top:2px solid var(--bw-paper-shade)}.backpack .backpack-menu-row[aria-pressed=true]{background:#40d8e024;position:relative}.backpack .backpack-menu-row[aria-pressed=true]:before{content:"▶";font-size:12px;line-height:1;position:absolute;top:50%;left:6px;transform:translateY(-50%)}.backpack .backpack-menu-name{overflow-wrap:anywhere;flex:1;min-width:0}.backpack .backpack-menu-count{white-space:nowrap}.backpack .backpack-detail{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px 12px;padding:10px 12px;display:grid}.backpack .backpack-detail-body{gap:4px;min-width:0;display:grid}.backpack .backpack-detail-body p,.backpack .backpack-detail-name{margin:0}.backpack .backpack-detail-text{overflow-wrap:anywhere;line-height:1.3}.backpack .backpack-detail-action{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;align-items:center;gap:4px 8px;display:flex}.backpack .backpack-detail-action [role=note]{flex-basis:100%;margin:0}.backpack .backpack-detail-action button{margin:0 3px 3px 0}.backpack .backpack-where{background:var(--bw-slate);color:var(--bw-cyan);box-shadow:0 0 0 2px var(--bw-ring);font-family:var(--font-display), monospace;border-radius:4px;margin:0;padding:4px 8px;font-size:8px;line-height:1.6}.backpack .backpack-action{gap:8px;display:grid}.backpack .backpack-action>:is(h3,p){margin:0}.backpack .backpack-action>button{justify-self:end}.backpack .backpack-targets{border:0;gap:4px;min-width:0;margin:0;padding:0;display:grid}.backpack .backpack-target{align-items:center;gap:8px;min-height:44px;display:flex}.backpack .backpack-target+.backpack-target{border-top:2px solid var(--bw-paper-shade)}.backpack .backpack-target-text{overflow-wrap:anywhere;flex:1;min-width:0}.backpack .backpack-team{overscroll-behavior:contain;scrollbar-gutter:stable;border-block:2px solid var(--bw-paper-shade);max-height:330px;margin:0;padding:0 6px 0 3px;list-style:none;display:block;overflow-y:auto}.backpack .backpack-team-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px 12px;min-height:44px;padding:4px 0;display:grid}.backpack .backpack-team-row+.backpack-team-row{border-top:2px solid var(--bw-paper-shade)}.backpack .backpack-team-body{gap:2px;min-width:0;display:grid}.backpack .backpack-team-item{overflow-wrap:anywhere;align-items:center;gap:4px;display:inline-flex}.backpack .backpack-team-row button{margin:0 3px 3px 0}@media (max-width:600px){.backpack .backpack-tab-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.backpack .backpack-detail:not([data-acting]){bottom:calc(68px + env(safe-area-inset-bottom));z-index:5;position:sticky}}@media (max-width:480px){.backpack-layout{padding-inline:4px}.backpack .backpack-tabs{gap:4px}}.shop-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.shop-item{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.shop-item-body{gap:2px;display:grid}.shop-item .shop-sold-out:disabled,.shop-detail .shop-sold-out:disabled{color:var(--bw-red);opacity:1;text-decoration:none}.shop .shop-menu{margin:0;padding:0;list-style:none;display:grid}.shop .shop-menu-row{width:100%;min-height:44px;box-shadow:none;color:inherit;font:inherit;text-align:left;background:0 0;border:0;border-radius:0;align-items:baseline;gap:8px;margin:0;padding:8px 8px 8px 22px;text-decoration:none;display:flex;transform:none}.shop .shop-menu li+li .shop-menu-row{border-top:2px solid var(--bw-paper-shade)}.shop .shop-menu-row[aria-pressed=true]{background:#40d8e024;position:relative}.shop .shop-menu-row[aria-pressed=true]:before{content:"▶";font-size:12px;line-height:1;position:absolute;top:50%;left:6px;transform:translateY(-50%)}.shop .shop-menu-name{flex:1;min-width:0}.shop .shop-menu-price{white-space:nowrap}.shop .shop-detail{bottom:calc(68px + env(safe-area-inset-bottom));z-index:5;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 12px;padding:10px 12px;display:grid;position:sticky}.shop .shop-detail-text{margin:0;line-height:1.1}.shop .shop-detail button{grid-column:1/-1;justify-self:end}.purchase-overlay{z-index:60;background:#18181894;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.purchase-dialog{gap:14px;width:min(440px,100%);margin:0;display:grid}.quantity-stepper{grid-template-columns:1fr 44px 64px 44px;align-items:center;gap:8px;display:grid}.quantity-stepper button{width:44px;min-height:44px;padding:0;font-size:18px;line-height:1}.quantity-stepper button:disabled{text-decoration:none}.quantity-stepper output{background:var(--bw-paper);border:2px solid var(--bw-ink);font-family:var(--font-display), monospace;text-align:center;padding:8px 0;font-size:12px}.purchase-actions{flex-wrap:wrap;gap:8px;display:flex}.item-icon{vertical-align:middle;image-rendering:pixelated;flex:none}.item-slot{flex:none;width:48px;height:48px;display:inline-grid}.prize-icons{vertical-align:middle;gap:2px;margin:0 4px;display:inline-flex}.held-item{align-items:center;gap:4px;display:inline-flex}.rankings a{color:var(--accent)}.rankings{gap:16px;width:min(100%,1040px);margin:0 auto;display:grid}.rankings>:is(.section,.pixel-box){margin:0 var(--px)}.ranking-identity{grid-template-columns:minmax(0,240px) minmax(0,1fr);align-items:center;gap:8px 16px;display:grid}.ranking-identity>.trainer-card{margin:4px}.ranking-identity-text{gap:8px;display:grid}.ranking-identity-text p{margin:0}.ranking-standing{flex-wrap:wrap;gap:8px 24px;margin:0;display:flex}.ranking-standing dt{font-family:var(--font-display), monospace;color:var(--bw-paper-ink-dim);font-size:8px;line-height:1.6}.ranking-standing dd{margin:0}.ranking-standing-position{font-family:var(--font-display), monospace;color:var(--bw-blue);font-size:14px}.ranking-rules{border-top:2px solid var(--bw-paper-shade);grid-column:1/-1;padding-top:8px}.ranking-rules summary{cursor:pointer;font-family:var(--font-display), monospace;color:var(--bw-blue);font-size:8px;line-height:2}.ranking-rules p{margin:8px 0 0}.ranking-tabs{margin:0 var(--px);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.app .ranking-tab{align-content:center;justify-items:center;gap:4px;min-width:0;min-height:88px;margin:0 3px 3px 0;padding:6px 4px;display:grid}.app .ranking-tab[aria-selected=true]{background:var(--bw-cyan);box-shadow:1px 1px 0 0 var(--bw-shadow);transform:translate(2px,2px)}.ranking-tab-label{text-align:center;max-width:100%;font-size:8px;line-height:1.4}.ranking-tab-hint{font-family:var(--font-body), monospace;color:var(--bw-paper-ink-dim);font-size:18px;line-height:1}.ranking-countdown{gap:4px;margin:8px 0 12px;display:grid}.ranking-countdown p{margin:0}.ranking-countdown-clock{background:var(--bw-slate);color:var(--bw-dim);border:2px solid var(--bw-ink);box-shadow:0 0 0 2px var(--bw-ring);font-family:var(--font-display), monospace;border-radius:4px;justify-self:start;align-items:baseline;gap:12px;padding:6px 12px;font-size:8px;display:inline-flex}.ranking-countdown-clock output{color:var(--bw-cyan);font-variant-numeric:tabular-nums;font-size:14px}.ranking-weekly{gap:16px;display:grid}@media (min-width:960px){.ranking-weekly{grid-template-columns:1fr 260px;align-items:start}}@media (max-width:959px){.ranking-weekly .ranking-prizes{order:-1}}.ranking-prizes{background:var(--bg);border:2px solid var(--bw-paper-ink-dim);border-radius:4px;padding:8px}.ranking-prizes caption{font-family:var(--font-display), monospace;color:var(--bw-blue);padding-bottom:4px;font-size:8px;line-height:1.6}.ranking-prizes td{color:#8a5a10}.ranking-prizes p{margin:8px 0 0}.ranking-table{border-collapse:separate;border-spacing:0 4px}.ranking-table caption{padding-bottom:4px}.ranking-table thead th{background:var(--bw-slate);color:var(--bw-cyan);font-family:var(--font-display), monospace;border:0;padding:6px;font-size:8px;font-weight:400;line-height:1.6}.ranking-table thead th:first-child{border-radius:4px 0 0 4px}.ranking-table thead th:last-child{border-radius:0 4px 4px 0}.ranking-table tbody td,.ranking-table tbody th{vertical-align:middle;background:var(--bw-paper);border-top:2px solid var(--bw-paper-shade);border-bottom:2px solid var(--bw-paper-shade)}.ranking-table tbody tr>:first-child{border-left:2px solid var(--bw-paper-shade);border-radius:4px 0 0 4px}.ranking-table tbody tr>:last-child{border-right:2px solid var(--bw-paper-shade);border-radius:0 4px 4px 0}.ranking-table th[scope=row]{font-weight:400}.ranking-position-badge{min-width:36px;height:28px;font-family:var(--font-display), monospace;border-radius:4px;place-items:center;padding:0 4px;font-size:8px;display:inline-grid}[data-podium="1"] .ranking-position-badge{color:var(--bw-ink);background:#f8d860;box-shadow:inset 0 0 0 2px #8a5a10}[data-podium="2"] .ranking-position-badge{color:var(--bw-ink);background:#d8e0e8;box-shadow:inset 0 0 0 2px #586070}[data-podium="3"] .ranking-position-badge{color:var(--bw-ink);background:#d08850;box-shadow:inset 0 0 0 2px #6b3d1f}.ranking-points{font-family:var(--font-display), monospace;color:var(--bw-blue);font-variant-numeric:tabular-nums;font-size:12px}.ranking-max[title]{white-space:nowrap;text-decoration:none}@media (max-width:600px){.ranking-identity{grid-template-columns:minmax(0,1fr)}.ranking-identity>.trainer-card{justify-self:start;min-width:min(100%,240px)}.rankings .table-scroll{overflow-x:visible}.ranking-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.ranking-table,.ranking-table tbody,.ranking-table caption{display:block}.ranking-table tbody tr{background:var(--bw-paper);border:2px solid var(--bw-paper-shade);border-radius:4px;flex-wrap:wrap;align-items:center;gap:2px 10px;margin-bottom:6px;padding:4px 8px;display:flex}.ranking-table tbody tr>*{background:0 0;border:0;padding:0}.ranking-table tbody tr>:first-child,.ranking-table tbody tr>:last-child{border:0}.ranking-table .ranking-position{flex:none}.ranking-table th[scope=row]{flex:calc(100% - 120px);min-width:0}.ranking-table .ranking-points{flex:none}.ranking-table .ranking-meta{flex:none;font-size:16px}.ranking-table .ranking-meta:before{content:attr(data-label) " ";color:var(--bw-paper-ink-dim)}.ranking-table .ranking-gap{text-align:center;background:0 0;border:0;display:block}}.ranking-trainer{align-items:center;gap:8px;display:flex}.trainer-card-surface{isolation:isolate;position:relative;overflow:hidden}.trainer-card-surface>:not(.trainer-card-background){z-index:1;position:relative}.trainer-card-background{z-index:0;pointer-events:none;opacity:.85;width:100%;height:100%;display:block;position:absolute;inset:0}.card-background-swatch{position:relative;overflow:hidden}.ranking-portrait{background:var(--surface-2);flex:none;width:48px;height:48px;overflow:hidden}.ranking-portrait .sprite{margin:-6px 0 0 -16px;display:block}.ranking-table tbody .ranking-me>*,.ranking-table tbody tr.ranking-me{border-color:var(--bw-cyan-deep);background:#c8f0f0}.ranking-me .ranking-portrait{background:var(--bw-cyan)}.ranking-you{font-family:var(--font-display), monospace;font-size:10px}.ranking-gap td{text-align:center;color:var(--muted)}.ranking-week-picker{margin:0 0 12px;display:block}.ranking-week-picker select{font:inherit;background:var(--surface-2);color:var(--ink);border:0;max-width:100%;padding:4px 8px}.intro-trainer{line-height:0}.intro-trainer-rival{animation:.6s steps(6,end) intro-from-right}.intro-trainer-player{animation:.6s steps(6,end) intro-from-left}.intro-plate{padding:calc(2px * var(--s)) calc(6px * var(--s));color:#f8f8f8;font-family:var(--font-body), monospace;font-size:max(10px, calc(8px * var(--s)));box-shadow:0 0 0 calc(1px * var(--s)) #f8f8f8;background:#283848;margin:0;line-height:1.2;animation:.9s steps(9,end) intro-plate-in;display:grid}.intro-plate-rival{left:calc(12px * var(--s));top:calc(24px * var(--s))}.intro-plate-player{right:calc(12px * var(--s));bottom:calc(40px * var(--s));text-align:right}.intro-title{color:#f8d030}@keyframes intro-from-right{0%{transform:translateX(calc(160px * var(--s)))}to{transform:none}}@keyframes intro-from-left{0%{transform:translateX(calc(-160px * var(--s)))}to{transform:none}}@keyframes intro-plate-in{0%,55%{opacity:0}to{opacity:1}}.next-rival{background:var(--surface-2);box-shadow:0 0 0 2px var(--accent);margin:12px 0;padding:8px 12px}.next-rival h4{margin:0 0 8px}.next-rival-body{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.next-rival-trainer{text-align:center;margin:0}.next-rival-trainer figcaption{color:var(--accent)}.next-rival-team{flex:220px;margin:0}.next-rival-team li{flex-wrap:wrap}.next-rival-notice{color:var(--muted);margin:8px 0 0}.hidden-member{background:var(--bw-ink);width:32px;height:32px;color:var(--muted);font-family:var(--font-display), monospace;flex:none;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.hidden-member-large{width:96px;height:96px;font-size:32px}.achievements{gap:16px;width:min(100%,960px);margin:0 auto;display:grid}.achievements>:is(.section,.pixel-box){margin:0 var(--px)}.achievements-summary{gap:8px;display:grid}.achievements-summary p{margin:0}.achievements-count{font-family:var(--font-display), monospace;color:var(--bw-blue);font-size:10px;line-height:1.6}.achievements-count strong{color:var(--bw-ink);font-size:16px}.achievements-next{align-items:center;gap:8px;display:flex}.achievements-next .cosmetic-swatch,.achievement-reward .cosmetic-swatch{width:24px;height:24px}.achievements-note{margin:0}.achievements-tally{color:var(--bw-paper-ink-dim);font-variant-numeric:tabular-nums}.achievements-tabs{margin:0 var(--px);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.app .achievements-tab{align-content:center;justify-items:center;gap:4px;min-width:0;min-height:88px;margin:0 3px 3px 0;padding:6px 4px;display:grid}.app .achievements-tab[aria-selected=true]{background:var(--bw-cyan);box-shadow:1px 1px 0 0 var(--bw-shadow);transform:translate(2px,2px)}.achievements-tab-label{text-align:center;overflow-wrap:anywhere;max-width:100%;font-size:8px;line-height:1.4}.achievements-tab-count{font-family:var(--font-body), monospace;font-variant-numeric:tabular-nums;font-size:18px;line-height:1}.achievements-panel{gap:16px;display:grid}.achievements-panel>:is(.section,.pixel-box){margin:0 var(--px)}.achievement-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.achievement{background:var(--bg);border:2px dashed var(--bw-paper-ink-dim);border-radius:4px;grid-template-columns:auto 1fr;align-items:start;gap:10px;padding:8px;display:grid;position:relative}.achievement[data-unlocked]{background:var(--bw-paper);border:2px solid var(--bw-ink);box-shadow:inset 0 0 0 2px var(--bw-ring), inset 0 -4px 0 2px var(--bw-paper-shade)}.achievement[data-fresh]{box-shadow:inset 0 0 0 2px var(--focus), inset 0 -4px 0 2px var(--bw-paper-shade)}.achievement-body{gap:4px;min-width:0;display:grid}.achievement :is(h3,h4){font-family:var(--font-display), monospace;color:var(--bw-blue);margin:0;font-size:10px;line-height:1.6}.achievement:not([data-unlocked]) :is(h3,h4){color:var(--bw-paper-ink-dim)}.achievement p{margin:0}.achievement-icon{background:var(--bw-paper-shade);border:2px solid var(--bw-paper-ink-dim);border-radius:4px;place-items:center;width:56px;height:56px;display:grid}.achievement[data-unlocked] .achievement-icon{background:var(--bw-cyan);border-color:var(--bw-ink);box-shadow:inset 0 -4px 0 var(--bw-cyan-deep)}.achievement:not([data-unlocked]) :is(.achievement-icon>*,.medal-portrait .sprite){filter:grayscale();opacity:.45}.achievement-new{background:var(--bw-red);color:#fff;vertical-align:middle;margin-left:8px;padding:0 4px;font-size:8px;display:inline-block}.achievement-date{color:var(--bw-cyan-deep)}.achievement-reward{border-top:2px dotted var(--bw-paper-shade);align-items:center;gap:6px;padding-top:4px;display:flex}.reward-trainer{background:var(--bw-paper-shade);border:2px solid var(--bw-ink);border-radius:4px;flex:none;width:32px;height:32px;display:block;overflow:hidden}.reward-trainer .sprite{margin:-8px 0 0 -24px;display:block}.achievement-reward-label{font-family:var(--font-display), monospace;color:var(--bw-paper-ink-dim);font-size:8px;line-height:1.6}.reward-title-chip{background:var(--bw-slate);border:2px solid var(--bw-ink);border-radius:4px;padding:2px 6px}.achievement-meter{align-items:center;gap:8px;display:flex}.achievement-meter-track{background:var(--bw-night);border:2px solid var(--bw-ink);border-radius:2px;flex:1;height:12px;position:relative}.achievement-meter-fill{background:repeating-linear-gradient(90deg, var(--bw-cyan) 0 6px, var(--bw-ring) 6px 8px);height:100%;display:block}.achievement-meter-mark{background:var(--bw-paper-ink-dim);width:2px;margin-left:-1px;position:absolute;top:-4px;bottom:-4px}.achievement-meter-mark[data-reached]{background:var(--coin-gold);box-shadow:0 0 0 1px var(--bw-ink)}.achievement-meter-value{text-align:right;font-variant-numeric:tabular-nums;min-width:4ch}.medal-portrait{background:var(--bw-paper-shade);border:2px solid var(--bw-paper-ink-dim);border-radius:50%;width:56px;height:56px;display:block;overflow:hidden}.medal-portrait .sprite{margin:-6px 0 0 -12px;display:block}.achievement[data-unlocked] .medal-portrait{background:var(--coin-gold);border-color:var(--bw-ink);box-shadow:inset 0 0 0 2px #8a5a10, 0 0 0 2px var(--bw-ring)}.rewards-group{gap:8px;margin-top:12px;display:grid}.rewards-group-title{font-family:var(--font-display), monospace;margin:0;font-size:10px;line-height:1.6}.reward-sample{place-items:center;width:72px;min-height:48px;display:grid}.reward-portrait{width:48px;height:48px;display:block}.reward[data-kind=title]{grid-template-columns:1fr}.reward[data-kind=background] .reward-sample .cosmetic-swatch{border:2px solid var(--bw-ink);width:72px;height:48px}.reward[data-kind=title] .reward-sample{background:var(--bw-slate);border:2px solid var(--bw-ink);border-radius:4px;justify-self:start;width:auto;min-height:0;padding:4px 8px}.medal-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}.reward:not([data-unlocked]) .reward-sample{filter:grayscale();opacity:.45}.achievement-toast{background:var(--surface);z-index:10;align-items:center;gap:12px;max-width:420px;margin-left:auto;padding:12px;animation:.3s steps(4,end) achievement-toast;display:flex;position:fixed;bottom:16px;left:16px;right:16px}.achievement-toast p{flex:1;margin:0}[data-reduced-motion] .achievement-toast{animation:none}@keyframes achievement-toast{0%{transform:translateY(150%)}}@media (max-width:480px){.achievements{padding-inline:4px}.achievements-tabs{gap:4px}.achievement{gap:8px}}.battle-screen,.actions,.log,.traces{--bg:#181425;--surface:#262b44;--surface-2:#3a4466;--muted:#a8b5c8;--accent:#feae34}:is(html:has(.app),body:has(.app)){background:var(--bw-sky)}@scope(.app,.toasts,.npc-dialog-layer) to (.battle-screen,.actions,.log,.traces,.tower-dark){:scope{--bg:#e0e0d0;--surface:var(--bw-paper);--surface-2:#ecece0;--ink:var(--bw-ink);--muted:var(--bw-paper-ink-dim);--accent:var(--bw-cyan-deep);--focus:#a86800;--hp-mid-ink:#a86800;color:var(--ink)}.section,.pixel-box,.result{background:var(--bw-paper);color:var(--bw-ink);border:2px solid var(--bw-ink);box-shadow:inset 0 -4px 0 var(--bw-paper-shade), 0 0 0 2px var(--bw-ring), 0 0 0 4px var(--bw-ink), 0 6px 0 4px var(--bw-shadow);border-radius:6px}.section>h2:not(.banner),.pixel-box>h2:not(.banner){color:var(--bw-blue);text-shadow:none;box-shadow:none;border-bottom:2px solid var(--bw-paper-shade);background:0 0;padding:0 0 6px;display:block}.banner{border-radius:4px 4px 0 0}main>h2:first-child:not(.banner){background:var(--bw-slate);color:var(--bw-cyan);border:2px solid var(--bw-ring);box-shadow:0 4px 0 0 var(--bw-shadow);border-radius:6px;margin:0 4px 16px;padding:6px 12px;display:inline-block}.panel{background:var(--bw-paper);color:var(--bw-ink);border:2px solid var(--bw-ink);box-shadow:inset 0 -4px 0 var(--bw-paper-shade), 0 0 0 2px var(--bw-ring), 0 0 0 4px var(--bw-ink), 0 6px 0 4px var(--bw-shadow);border-radius:6px;margin:4px 4px 12px;position:relative}.panel-padded{padding:12px 16px}.panel :is(.muted,.save-slot-meta){color:var(--bw-paper-ink-dim)}.panel :focus-visible{outline:var(--px) solid var(--bw-cyan-deep);outline-offset:2px}.panel-title{color:var(--bw-paper-ink-dim);margin:0 0 6px;font-size:8px}.section>h2 .muted,.pixel-box>h2 .muted{color:var(--bw-dim)}a:not([class]){color:var(--bw-cyan-deep)}button,.button-link{background:var(--bw-paper);color:var(--bw-ink);border:2px solid var(--bw-ink);box-shadow:3px 3px 0 0 var(--bw-shadow);border-radius:4px;margin:4px 7px 7px 4px;padding:8px 12px;text-decoration:none}button:hover:not(:disabled),.button-link:hover{background:var(--bw-paper)}@media (hover:hover){button:hover:not(:disabled),.button-link:hover{box-shadow:4px 4px 0 0 var(--bw-shadow);background:#fff}}button:active:not(:disabled),.button-link:active{box-shadow:1px 1px 0 0 var(--bw-shadow);transform:translate(2px,2px)}button:disabled{box-shadow:3px 3px 0 0 var(--bw-shadow);transform:none}:is(button,.button-link):is([aria-pressed=true],[aria-current=page],[aria-selected=true]){background:var(--bw-cyan);color:var(--bw-ink)}.back-link:before{content:"";clip-path:polygon(100% 0,0 50%,100% 100%);background:currentColor;width:8px;height:10px;margin-right:8px}.text-input,input:is([type=number],[type=text],[type=search]),select{background:var(--bw-paper);color:var(--bw-ink);border:2px solid var(--bw-ink);box-shadow:inset 0 2px 0 var(--bw-paper-shade);border-radius:4px}.roster-card{background:var(--surface-2);box-shadow:0 0 0 2px var(--bw-paper-shade);border-radius:4px}.roster-chosen{box-shadow:0 0 0 var(--px) var(--bw-cyan-deep)}.roster-fallen .roster-card{background:repeating-linear-gradient(135deg, #e43b442e 0 6px, transparent 6px 12px), var(--surface-2)}.save-slot:before{content:"▶";font-variant-emoji:text;font-family:var(--font-display), monospace;color:var(--bw-red);font-size:10px;animation:.7s step-end infinite cursor-blink;position:absolute;top:12px;left:10px}.save-slot-title{font-family:var(--font-display), monospace;font-size:12px;line-height:1.6}.save-slot-meta{font-size:18px}.dialog{cursor:pointer;padding:12px 44px 12px 16px}.dialog-text{font-family:var(--font-display), monospace;margin:0;font-size:10px;line-height:2}.dialog-rest{visibility:hidden}.dialog-next{min-width:44px;min-height:44px;box-shadow:none;color:var(--bw-red);background:0 0;border:0;margin:0;padding:0;font-size:12px;position:absolute;bottom:4px;right:4px}.dialog-next:hover:not(:disabled),.dialog-next:active:not(:disabled){box-shadow:none;background:0 0;transform:none}.dialog-next>[aria-hidden]{visibility:hidden;display:inline-block}.dialog-next-ready>[aria-hidden]{visibility:visible;animation:.7s steps(2,end) infinite next-bob}:scope.home{max-width:none;min-height:100vh;padding:16px 76px 16px 16px}.home-layout{grid-template-columns:minmax(180px,240px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.home-side{gap:8px;display:grid;position:sticky;top:16px}.trainer-card{color:var(--bw-ink);text-decoration:none;display:block}@media (hover:hover){.trainer-card:hover{background:#fff}}.trainer-card-body{min-width:0}.trainer-card-name{font-family:var(--font-display), monospace;overflow-wrap:anywhere;margin:0;font-size:11px;line-height:1.6}.trainer-card-name .trainer-title{overflow-wrap:anywhere}.save-slot{color:var(--bw-ink);gap:2px;padding:12px 16px 12px 32px;text-decoration:none;display:grid}.save-slot-title{color:var(--bw-cyan-deep)}@media (hover:hover){.save-slot:hover{background:#fff}}@media (max-width:760px){.home-layout{grid-template-columns:1fr}.home-side{position:static}}.town-frame{justify-self:center;max-width:100%;max-height:calc(100vh - 32px);padding:12px;overflow:auto}.town-map{image-rendering:pixelated;box-shadow:0 0 0 4px var(--bw-paper), 0 0 0 8px var(--bw-ink), 0 8px 0 8px var(--bw-shadow);background-color:#58a048;background-repeat:no-repeat;flex:none;position:relative}.town-place{color:inherit;outline-offset:2px;outline:3px solid #0000;text-decoration:none;display:block;position:absolute}.town-place:is(:hover,:focus-visible){outline-color:var(--focus);background:#fee7611f}.town-place.is-closed{cursor:not-allowed}.town-place.is-closed:hover{outline-color:var(--bw-dim);background:#0003}.town-sprite{z-index:1;image-rendering:pixelated;pointer-events:none;position:absolute;inset:0}.town-lock{z-index:2;filter:drop-shadow(2px 2px 0 var(--bw-shadow));position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.town-sign{z-index:3;background:var(--bw-paper);width:max-content;max-width:220px;color:var(--bw-ink);text-align:center;box-shadow:0 0 0 2px var(--bw-ink), 0 4px 0 2px var(--bw-shadow);pointer-events:none;padding:4px 8px;display:grid;position:absolute;top:100%;left:50%;transform:translate(-50%,4px)}.town-place[data-place=gym] .town-sign{left:calc(50% + 16px)}.town-place:not(.is-closed) .town-sign{pointer-events:auto}.town-sign-label{font-family:var(--font-display), monospace;font-size:10px;line-height:1.6}.town-sign-hint{color:var(--bw-paper-ink-dim);font-size:16px;line-height:1.1}.side-rail{z-index:20;grid-auto-flow:column;align-items:start;gap:12px;display:grid;position:fixed;top:12px;right:8px}.rail-coins{background:var(--bw-slate);color:var(--coin-gold);font-family:var(--font-display), monospace;white-space:nowrap;box-shadow:0 0 0 2px var(--bw-ring), 0 0 0 4px var(--bw-ink);align-items:baseline;gap:2px;margin:0;padding:6px 10px;font-size:12px;display:flex}.rail-coins-symbol{font-size:8px}.rail{background:var(--bw-slate);box-shadow:0 0 0 2px var(--bw-ring), 0 0 0 4px var(--bw-ink), 0 4px 0 4px var(--bw-shadow);gap:4px;padding:6px;display:grid}.rail .rail-button{background:var(--bw-slate-2);width:44px;height:44px;box-shadow:none;border:0;border-radius:0;place-items:center;margin:0;padding:0;line-height:0;display:grid;transform:none}.rail .rail-button svg{display:block}.rail .rail-button:not([aria-disabled=true]):is(:hover,:focus-visible,[aria-expanded=true],[aria-current=page]){background:var(--bw-cyan-deep);box-shadow:none;outline:2px solid var(--focus)}.rail .rail-button-disabled{cursor:not-allowed;filter:grayscale(.8);opacity:.4}.rail-settings{gap:8px;width:min(320px,100vw - 96px);margin:0;display:grid;position:absolute;top:0;right:calc(100% + 12px)}@media (max-width:1360px){:scope.battle{padding-right:76px}}@media (max-width:600px){:scope.battle,:scope.home{padding-right:16px;padding-bottom:calc(88px + env(safe-area-inset-bottom))}.side-rail{padding:6px max(8px, env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));background:var(--bw-slate);border-top:2px solid var(--bw-ring);box-shadow:0 -2px 0 var(--bw-ink);grid-template-columns:auto auto;grid-auto-flow:column;justify-content:center;align-items:center;gap:6px;inset:auto 0 0;transform:none}.rail{box-shadow:none;grid-auto-flow:column;gap:2px;padding:0}.rail-coins{box-shadow:none;order:-1;justify-content:center;align-self:stretch;padding-inline:6px}.rail .rail-button{width:40px;height:40px}.rail-settings{inset:auto auto calc(100% + 12px) 50%;transform:translate(-50%)}:scope.home{min-height:0;padding:0}.home-side{top:calc(8px + env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right));left:max(8px, env(safe-area-inset-left));z-index:10;pointer-events:none;justify-items:center;position:fixed}.home-side>*{pointer-events:auto;max-width:260px}.creator-city-frame{width:fit-content;max-width:min(100%,260px)}.home-side>.panel,.creator-city-frame>.panel{box-shadow:inset 0 -2px 0 var(--bw-paper-shade), 0 0 0 2px var(--bw-ink), 0 3px 0 2px var(--bw-shadow);border-width:2px}.trainer-card.panel-padded{padding:6px 14px 6px 6px}.trainer-card-name{white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.save-slot{display:none}.town-frame{overscroll-behavior:contain;scrollbar-width:none;justify-self:stretch;max-width:none;max-height:none;padding:0;position:fixed;inset:0}.town-map{box-sizing:content-box;padding-bottom:calc(60px + env(safe-area-inset-bottom));box-shadow:none;margin-inline:auto}}.toast{pointer-events:auto;margin:0;padding:10px 12px 6px;animation:.3s steps(6,end) toast-in}.toast-title{font-family:var(--font-display), monospace;margin:0 0 4px;font-size:10px;line-height:1.6}.toast-text{margin:0}.toast-close{min-height:32px;padding:4px 8px;font-size:8px}}.app{isolation:isolate;position:relative}.toasts{z-index:50;pointer-events:none;gap:16px;width:min(320px,100vw - 32px);display:grid;position:fixed;bottom:16px;right:16px}@keyframes cursor-blink{50%{visibility:hidden}}@keyframes next-bob{50%{transform:translateY(3px)}}@keyframes toast-in{0%{transform:translate(calc(100% + 32px))}to{transform:none}}.perk-options{margin:0 0 calc(var(--px) * 2);gap:calc(var(--px) * 2);padding:0;list-style:none;display:grid}.perk-option{align-items:flex-start;gap:var(--px);text-align:left;flex-direction:column;width:100%;display:flex}.perk-option span{color:var(--muted)}.active-perks{padding:0;list-style:none}.active-perks .chip,.perk-potions{align-items:center;gap:4px;display:inline-flex}.action-bag,.bag-option{min-height:44px}.action-icon{grid-row:span 2;margin-right:8px;display:inline-grid}.bag-panel .prompt{font-size:inherit;color:inherit}.bag-options{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin:0 0 8px;padding:0;list-style:none;display:grid}.bag-options .action{width:100%}.bag-back{font-size:10px}.bag-between{margin:12px 0}.bag-between .bag-option{text-align:left;gap:2px;width:100%;display:grid}.bag-items{border:0;flex-wrap:wrap;gap:8px;margin:0 0 8px;padding:0;display:flex}.bag-item-choice,.bag-item-single{align-items:center;gap:6px;min-height:44px;display:inline-flex}.bag-item-chosen{color:var(--accent)}.pokedex{background:var(--surface);border:4px solid #c83030;gap:12px;max-width:1100px;margin:12px auto;padding:12px;display:grid;box-shadow:0 0 0 4px #5a1010,6px 6px #000}.pokedex-summary{color:#fff;background:#c83030;border-bottom:4px solid #5a1010;gap:6px;padding:8px 12px;display:grid}.pokedex-summary p{margin:0}.pokedex-progress{width:100%;height:16px;accent-color:var(--accent)}.pokedex-filters{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.pokedex-filters input[type=number]{width:4.5em}.pokedex-filters select,.pokedex-filters input{font:inherit}.pokedex-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.app .pokedex-card,.pokedex-card{background:var(--surface-2);width:100%;color:var(--ink);box-shadow:none;border:3px solid #5a1010;justify-items:center;gap:2px;padding:6px 4px;display:grid;position:relative}.pokedex-card[data-status=obtained]{background:#f8e0d8;border-color:#c83030}.pokedex-owned{line-height:0;position:absolute;top:4px;left:4px}.pokedex-card[data-status=unseen]{opacity:.7}.pokedex-card[data-fallen]{background:repeating-linear-gradient(135deg, #e43b442e 0 6px, transparent 6px 12px), var(--surface-2);outline:2px dashed var(--hp-low);outline-offset:-5px}.pokedex-card:hover,.pokedex-card:focus-visible{border-color:var(--focus)}.pokedex-number,.pokedex-mark,.pokedex-fallen{font-family:var(--font-display), monospace;font-size:8px}.pokedex-number{color:var(--muted)}.pokedex-name{font-family:var(--font-body), monospace;overflow-wrap:anywhere;font-size:22px}.pokedex-fallen{color:var(--hp-low)}.pokedex-silhouette img{filter:brightness(0)}.pokedex-overlay{z-index:50;background:#000000bf;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.pokedex-detail{background:var(--surface);border:4px solid #c83030;width:100%;max-width:640px;max-height:90vh;padding:0;overflow-y:auto;box-shadow:0 0 0 4px #5a1010,6px 6px #000}.pokedex-detail-header{z-index:1;color:#fff;background:#c83030;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px 8px 16px;display:flex;position:sticky;top:0}.pokedex-detail-header h2{margin:0;font-size:12px}.pokedex-detail-body{gap:24px;padding:16px 16px 20px;display:grid}.pokedex-detail-section h3{margin:0 0 12px;font-size:10px}.pokedex-detail-top{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.pokedex-detail-info{flex:240px;justify-items:start;gap:8px;display:grid}.pokedex-detail-info p{margin:0}.pokedex-detail-sprite{background:var(--surface-2);border:3px solid #5a1010;place-items:center;display:grid}.pokedex-text{line-height:1.2}.pokedex-evo{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.pokedex-evo-next{gap:8px;display:grid}.pokedex-evo-next:has(>.pokedex-evo+.pokedex-evo){grid-template-columns:auto auto;align-items:center;gap:8px 12px}.pokedex-evo-next:has(>.pokedex-evo+.pokedex-evo)>.pokedex-evo{display:contents}.pokedex-evo-via{font-family:var(--font-display), monospace;color:var(--muted);white-space:nowrap;align-items:center;gap:4px;font-size:8px;display:inline-flex}.app .pokedex-evo-node,.pokedex-evo-node{background:var(--surface-2);width:128px;min-height:104px;color:var(--ink);box-shadow:none;border:3px solid #0000;grid-template-rows:1fr auto;place-items:center;gap:4px;padding:8px 4px;font-size:10px;display:grid;position:relative}.pokedex-evo-node>span:last-child{overflow-wrap:anywhere}.pokedex-evo-node[aria-current]{border-color:var(--accent)}.pokedex-evo-node[aria-current]:before{content:"▶";color:var(--accent);font-size:10px;position:absolute;top:4px;left:6px}.pokedex-origins{gap:8px;margin:0;padding-left:20px;line-height:1.2;display:grid}@media (max-width:520px){.pokedex-overlay{padding:8px}.pokedex-detail-body{gap:20px;padding:12px 12px 16px}.pokedex-evo{flex-direction:column;align-items:stretch}.pokedex-evo-next:has(>.pokedex-evo+.pokedex-evo){grid-template-columns:1fr}.app .pokedex-evo-node,.pokedex-evo-node{grid-template-rows:none;grid-template-columns:auto 1fr;justify-items:start;width:auto;min-height:0;padding:4px 12px 4px 24px}.pokedex-evo-node[aria-current]:before{top:50%;transform:translateY(-50%)}}.trainer-portrait{display:inline-block}.ranking-portrait,.trainer-portrait{position:relative}[data-border]{isolation:isolate}[data-border]:after,[data-border]:before{content:"";pointer-events:none;position:absolute;inset:0}[data-border]:after{z-index:1;box-shadow:inset 0 0 0 1px var(--ring-edge), inset 2px 2px 0 0 var(--ring-light), inset -2px -2px 0 0 var(--ring-shade), inset 0 0 0 4px var(--ring-body), inset 0 0 0 5px var(--ring-inner,var(--ring-edge))}[data-border]:before{z-index:2;--studs:linear-gradient(var(--stud-light) 0 0) left 1px top 1px / 1px 1px, linear-gradient(var(--stud-light) 0 0) right 3px top 1px / 1px 1px, linear-gradient(var(--stud-light) 0 0) left 1px bottom 3px / 1px 1px, linear-gradient(var(--stud-light) 0 0) right 3px bottom 3px / 1px 1px, linear-gradient(var(--stud) 0 0) left 1px top 1px / 3px 3px, linear-gradient(var(--stud) 0 0) right 1px top 1px / 3px 3px, linear-gradient(var(--stud) 0 0) left 1px bottom 1px / 3px 3px, linear-gradient(var(--stud) 0 0) right 1px bottom 1px / 3px 3px;background-repeat:no-repeat}[data-border=border-bronze]{--ring-edge:#3c2010;--ring-light:#f0a868;--ring-body:#b86c30;--ring-shade:#6c3c18}[data-border=border-silver]{--ring-edge:#303846;--ring-light:#fff;--ring-body:#a8b4c4;--ring-shade:#606c80;--stud:#4a5466;--stud-light:#fff}[data-border=border-silver]:before{background:var(--studs);background-repeat:no-repeat}[data-border=border-gold]{--ring-edge:#4a2c00;--ring-light:#fff4a8;--ring-body:#e0a820;--ring-shade:#946010;--stud:#c03028;--stud-light:#ff9888}[data-border=border-gold]:before{background:linear-gradient(var(--stud-light) 0 0) 50% 1px / 2px 1px, linear-gradient(var(--stud-light) 0 0) left 50% bottom 3px / 2px 1px, linear-gradient(var(--stud-light) 0 0) left 1px top 50% / 1px 2px, linear-gradient(var(--stud-light) 0 0) right 3px top 50% / 1px 2px, linear-gradient(var(--stud) 0 0) 50% 1px / 2px 3px, linear-gradient(var(--stud) 0 0) left 50% bottom 1px / 2px 3px, linear-gradient(var(--stud) 0 0) left 1px top 50% / 3px 2px, linear-gradient(var(--stud) 0 0) right 1px top 50% / 3px 2px, var(--studs);background-repeat:no-repeat}[data-border=border-summit]{--ring-edge:#401008;--ring-light:#ff8060;--ring-body:#c83020;--ring-shade:#7c1810;--ring-inner:#f8d040;--stud:#f8d040;--stud-light:#fff8c8}[data-border=border-summit]:before{background:linear-gradient(var(--stud-light) 0 0) 50% 1px / 2px 1px, linear-gradient(var(--stud) 0 0) 50% 1px / 2px 1px, linear-gradient(var(--stud) 0 0) 50% 2px / 4px 1px, linear-gradient(var(--stud) 0 0) 50% 3px / 6px 1px, linear-gradient(var(--stud-light) 0 0) left 50% bottom 3px / 2px 1px, linear-gradient(var(--stud) 0 0) left 50% bottom 1px / 2px 1px, linear-gradient(var(--stud) 0 0) left 50% bottom 2px / 4px 1px, linear-gradient(var(--stud) 0 0) left 50% bottom 3px / 6px 1px, var(--studs);background-repeat:no-repeat}[data-border=border-diamond]{--ring-edge:#0c2c5c;--ring-light:#fff;--ring-body:#68d0f0;--ring-shade:#2878b8;--ring-inner:#d8f8ff;--gem:#f4fcff;--gem-dark:#0c2c5c;--gem-light:#48a8e8}@property --shine{syntax:"<percentage>";inherits:false;initial-value:100%}[data-border=border-diamond]:before{box-sizing:border-box;background:linear-gradient(115deg, transparent 42%, #ffffffe6 42% 50%, transparent 50%) var(--shine) 0 / 300% 100%,  linear-gradient(var(--gem-light) 0 0) 50% 1px / 2px 1px, linear-gradient(var(--gem-dark) 0 0) 50% 0 / 2px 1px, linear-gradient(var(--gem) 0 0) 50% 1px / 4px 1px, linear-gradient(var(--gem) 0 0) 50% 2px / 6px 1px, linear-gradient(var(--gem) 0 0) 50% 3px / 4px 1px, linear-gradient(var(--gem-dark) 0 0) 50% 4px / 2px 1px,  linear-gradient(var(--gem-light) 0 0) left 50% bottom 3px / 2px 1px, linear-gradient(var(--gem-dark) 0 0) left 50% bottom 0 / 2px 1px, linear-gradient(var(--gem) 0 0) left 50% bottom 1px / 4px 1px, linear-gradient(var(--gem) 0 0) left 50% bottom 2px / 6px 1px, linear-gradient(var(--gem) 0 0) left 50% bottom 3px / 4px 1px, linear-gradient(var(--gem-dark) 0 0) left 50% bottom 4px / 2px 1px,  linear-gradient(var(--gem-light) 0 0) left 2px top 2px / 1px 1px, linear-gradient(var(--gem-light) 0 0) right 2px top 2px / 1px 1px, linear-gradient(var(--gem-light) 0 0) left 2px bottom 2px / 1px 1px, linear-gradient(var(--gem-light) 0 0) right 2px bottom 2px / 1px 1px, linear-gradient(var(--gem) 0 0) left 1px top 2px / 3px 1px, linear-gradient(var(--gem) 0 0) left 2px top 1px / 1px 3px, linear-gradient(var(--gem) 0 0) right 1px top 2px / 3px 1px, linear-gradient(var(--gem) 0 0) right 2px top 1px / 1px 3px, linear-gradient(var(--gem) 0 0) left 1px bottom 2px / 3px 1px, linear-gradient(var(--gem) 0 0) left 2px bottom 1px / 1px 3px, linear-gradient(var(--gem) 0 0) right 1px bottom 2px / 3px 1px, linear-gradient(var(--gem) 0 0) right 2px bottom 1px / 1px 3px;background-repeat:no-repeat;padding:5px;animation:4s steps(32,end) infinite border-shine;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@keyframes border-shine{0%{--shine:100%}35%,to{--shine:0%}}.trainer-title{color:#fff;font-family:var(--font-display), monospace;text-shadow:-1px 0 var(--bw-ink), 1px 0 var(--bw-ink), 0 -1px var(--bw-ink), 0 1px var(--bw-ink);font-size:8px;line-height:1.6;display:block}.cosmetic-swatch{background:var(--surface-2);flex:none;width:32px;height:32px}.cosmetic-title-mark{width:32px;color:var(--accent);font-family:var(--font-display), monospace;text-align:center;font-size:16px}.choice-count{font-family:var(--font-display), monospace;color:var(--focus);margin:4px 0 8px;font-size:10px}.choice-cards{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}.choice-cards .roster-card,.choice-cards .perk-option{transition:transform .12s steps(2,end)}@media (hover:hover){.choice-cards .roster-card:hover,.choice-cards li>.perk-option:hover:not(:disabled){transform:translateY(-3px)}}.choice-cards .perk-option{height:100%;margin:0}.choice-cards .perk-option span{color:var(--bw-paper-ink-dim)}.team-strip{background:var(--bg);border-radius:4px;margin:12px 0;padding:8px}.team-strip h4{margin:0 0 8px;font-size:10px}.team-chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.team-chip{background:var(--surface-2);box-shadow:0 0 0 2px var(--bw-ink);border-radius:16px;align-items:center;gap:4px;padding:2px 8px 2px 2px;font-size:18px;display:flex}.team-chip .sprite{width:32px;height:32px}.team-chip-level,.team-chip-note{color:var(--muted)}.team-chip-weak{box-shadow:0 0 0 2px var(--hp-mid)}.team-chip-fallen{box-shadow:0 0 0 2px var(--hp-low)}.team-strip-muted .team-chip{filter:grayscale();color:var(--muted)}.team-strip-muted .team-chip-fallen{filter:none;background:repeating-linear-gradient(135deg, #e43b442e 0 6px, transparent 6px 12px), var(--surface-2)}.team-strip-muted .team-chip-fallen .sprite{filter:grayscale()}.primary-action{min-width:min(280px,100%);margin:12px auto 16px;font-size:12px;display:block}.result-defeat .primary-action{margin:4px 0 16px}.screen-bounce{animation:.7s steps(7,end) screen-bounce}@keyframes screen-bounce{0%{opacity:0;transform:translateY(-48px)}40%{opacity:1;transform:translateY(0)}60%{transform:translateY(-14px)}80%{transform:translateY(0)}90%{transform:translateY(-4px)}to{transform:none}}.key-prep{box-shadow:0 0 0 2px var(--focus), 0 0 16px 2px #fee76159;border-radius:6px;margin:12px 0;padding:8px}.key-prep-title{color:var(--focus);margin:0 0 8px;font-size:10px}.key-prep-versus{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}.key-prep-vs{font-family:var(--font-display), monospace;color:var(--bw-red);text-shadow:2px 2px 0 var(--bw-ink);font-size:16px}.key-prep .next-rival,.key-prep .team-strip{height:100%;margin:0}.next-rival-large .next-rival-team{flex-wrap:wrap;gap:8px;display:flex}.next-rival-large .next-rival-team li{text-align:center;flex-direction:column}.next-rival-large .next-rival-team .sprite{width:96px;height:96px}@media (max-width:600px){.key-prep-versus{grid-template-columns:1fr}.key-prep-vs{justify-self:center}.app-battle-active{min-height:100svh;padding:0 6px calc(58px + env(safe-area-inset-bottom))!important}.app-battle-active .battle-context{display:none}.battle-live-layout .arena-column,.battle-intro-layout .arena-column{min-height:calc(100svh - 58px - env(safe-area-inset-bottom));grid-template-rows:auto minmax(12px,1fr) auto minmax(12px,1fr);display:grid}.battle-screen-combat,.battle-screen-intro{grid-row:1;margin:0;padding:0;overflow:hidden}.battle-live-layout .battle-actions,.battle-intro-layout .battle-actions{grid-row:3;margin:0}.battle-stage-frame-x1{background:#202830;width:100%;height:384px;display:block;position:relative;overflow:hidden}.battle-stage-frame-x1>.stage{transform-origin:top;position:absolute;top:0;left:50%;transform:translate(-50%)scale(2);width:256px!important;height:192px!important}.trainer-intro-frame-x1{background:#202830;width:100%;height:384px;display:block;position:relative;overflow:hidden}.trainer-intro-frame-x1>.trainer-intro{transform-origin:top;position:absolute;top:0;left:50%;transform:translate(-50%)scale(2);width:256px!important;height:192px!important}.trainer-intro-frame-x1 .intro-plate-rival{top:12px;left:40px}.trainer-intro-frame-x1 .intro-plate-player{bottom:24px;right:40px}.battle-stage-frame-x1>.infobox{z-index:8;width:224px;padding:4px 8px;font-size:15px;display:block;position:absolute}.battle-stage-frame-x1>.infobox-rival{top:8px;left:8px}.battle-stage-frame-x1>.infobox-player{bottom:8px;right:8px}.battle-stage-frame-x1>.infobox .panel-name{font-size:8px}.battle-stage-frame-x1>.infobox .type-badge{padding:2px 4px;font-size:6px}.battle-stage-frame-x1>.infobox .hp-bar{height:8px}.battle-screen-combat .message-box,.battle-screen-intro .message-box{min-height:80px;max-height:104px;margin:0 4px 8px;overflow:hidden}.battle-screen-combat .message-lines,.battle-screen-intro .message-lines{max-height:84px}.app-safari-active{min-height:100svh;padding:0 6px calc(58px + env(safe-area-inset-bottom))!important}.app-safari-active .safari-encounter{min-height:calc(100svh - 58px - env(safe-area-inset-bottom));grid-template-rows:auto auto minmax(12px,1fr) auto minmax(12px,1fr);margin:0;padding:0;display:grid;overflow:hidden}.app-safari-active .safari-encounter>h2{display:none!important}.safari-stage-frame-x1{background:#202830;grid-row:1;width:100%;height:384px;display:block;position:relative;overflow:hidden}.safari-stage-frame-x1>.safari-stage{transform-origin:top;position:absolute;top:0;left:50%;transform:translate(-50%)scale(2);width:256px!important;height:192px!important}.app-safari-active .safari-message{grid-row:2;min-height:80px;max-height:104px;margin:0 4px;overflow:hidden}.app-safari-active .safari-actions{grid-row:4;justify-content:center;margin:0}}.team-terminal{--term-case:#3a424c;--term-case-hi:#5a6470;--term-case-lo:#20262e;--term-screen:#0c1a33;--term-panel:#142a50;--term-line:#2c5590;--term-ink:#d8ecff;--term-dim:#8fb0d8;--term-glow:#5ce1e6;justify-items:center;width:100%;margin:12px auto;display:grid}.terminal-case{box-sizing:border-box;background:linear-gradient(180deg, var(--term-case-hi), var(--term-case) 18%, var(--term-case) 82%, var(--term-case-lo));border:3px solid var(--bw-ink);width:min(100%,1100px);box-shadow:inset 0 0 0 3px var(--term-case-lo), 6px 6px 0 #00000059;gap:8px;padding:10px 12px 12px;display:grid}.terminal-plate{color:#c8d0d8;font-family:var(--font-display), monospace;letter-spacing:1px;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;padding:0 4px;font-size:9px;display:flex}.terminal-leds{gap:6px;display:flex}.terminal-leds span{border:2px solid var(--bw-ink);background:#2a3a2a;width:10px;height:10px}.terminal-leds[data-status=ready] span:first-child{background:#58e070;box-shadow:0 0 6px #58e070}.terminal-leds[data-status=idle] span:nth-child(2){background:#f0b838;box-shadow:0 0 6px #f0b838}.terminal-leds[data-status=error] span:nth-child(3){background:#f04838;box-shadow:0 0 6px #f04838}.terminal-screen{background:repeating-linear-gradient(180deg, #ffffff09 0 1px, transparent 1px 3px), var(--term-screen);color:var(--term-ink);border:4px solid var(--term-case-lo);outline:3px solid var(--bw-ink);gap:10px;padding:10px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 24px #5ce1e61f}.terminal-bar{border-bottom:2px solid var(--term-line);justify-content:space-between;align-items:baseline;gap:12px;padding:4px 8px 6px;display:flex}.terminal-bar h3{color:var(--term-glow);font-family:var(--font-display), monospace;text-shadow:0 0 6px #5ce1e680;margin:0;font-size:12px}.terminal-bar p{color:var(--term-dim);margin:0;font-size:.85em}.terminal-message{background:var(--term-panel);border:2px solid var(--term-line);margin:0;padding:6px 8px}.terminal-message-error{color:#ffd0c8;border-color:#f04838}.terminal-body{grid-template-columns:minmax(260px,320px) 1fr;align-items:start;gap:12px;display:grid}.terminal-team{gap:8px;display:grid}.terminal-slots{gap:4px;margin:0;padding:0;list-style:none;display:grid}.terminal-slot{background:var(--term-panel);border:2px solid var(--term-line);grid-template-columns:22px auto minmax(0,1fr) auto 24px 44px;align-items:center;gap:6px;min-height:44px;padding:0 4px;display:grid;position:relative}.terminal-slot[data-inspected]{border-color:var(--term-glow);box-shadow:0 0 0 1px var(--term-glow), 0 0 8px #5ce1e659}.terminal-slot-free{color:var(--term-dim);background:0 0;border-style:dashed}.terminal-slot-number{color:var(--term-glow);font-family:var(--font-display), monospace;text-align:center;font-size:10px}.terminal-slot-empty{grid-column:2/-1}.terminal-slot-name{color:var(--term-ink);font-family:var(--font-display), monospace;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:9px;overflow:hidden}.terminal-slot-level{color:var(--term-dim);font-size:.85em}.terminal-slot-item{grid-column:5;line-height:0}.app .terminal-slot-look{min-height:0;box-shadow:none;cursor:pointer;background:0 0;border:0;margin:0;padding:0;position:absolute;inset:0}.app .terminal-slot-look:is(:hover,:active,[aria-pressed=true]){color:inherit;box-shadow:none;background:#5ce1e614;transform:none}.app .terminal-slot-remove{z-index:1;border:2px solid var(--term-line);width:44px;min-width:44px;height:40px;min-height:40px;box-shadow:none;color:var(--term-dim);background:0 0;grid-column:6;margin:0;padding:0;font-size:12px;position:relative}.app .terminal-slot-remove:is(:hover,:focus-visible){color:#ffd0c8;border-color:#f04838;transform:none}.terminal-hint{color:var(--term-dim);margin:0;font-size:.85em}.terminal-detail{display:grid}.terminal-detail-empty{color:var(--term-dim);text-align:center;border:2px dashed var(--term-line);margin:0;padding:16px 8px}.terminal-detail .team-member-card{cursor:default}.terminal-detail .team-member-card .exp{width:100%}.terminal-box{background:linear-gradient(#ffffff0a 1px, transparent 1px) 0 0 / 16px 16px, linear-gradient(90deg, #ffffff0a 1px, transparent 1px) 0 0 / 16px 16px, var(--term-panel);border:2px solid var(--term-line);grid-template-rows:auto minmax(0,1fr);gap:8px;max-height:clamp(320px,100dvh - 260px,640px);padding:8px;display:grid}.terminal-box .team-terminal-grid{overscroll-behavior:contain;scrollbar-color:var(--term-glow) var(--term-screen);min-height:0;padding:2px 4px 2px 2px;overflow-y:auto}.terminal-box-title{color:var(--term-glow);font-family:var(--font-display), monospace;margin:0;font-size:10px}.terminal-status{border-top:2px solid var(--term-line);color:var(--term-dim);padding:4px 8px 0;font-size:.85em}.terminal-boot{z-index:2;pointer-events:none;background:var(--term-screen);color:var(--term-glow);font-family:var(--font-display), monospace;opacity:0;place-items:center;font-size:12px;animation:.7s steps(5,end) pc-boot;display:grid;position:absolute;inset:0}.terminal-screen[data-reduced-motion] .terminal-boot{display:none}.terminal-keys{justify-content:center;gap:6px;display:flex}.terminal-keys span{background:var(--term-case-lo);border:2px solid var(--bw-ink);width:28px;height:10px;box-shadow:inset 0 2px 0 var(--term-case-hi)}.terminal-keys .terminal-key-wide{width:96px}.team-terminal-grid>li{align-content:start;gap:4px;display:grid}.team-terminal .team-card{cursor:pointer;border-color:#102848;align-content:start;height:100%}.team-terminal .team-card:hover{border-color:var(--focus)}.team-terminal .team-card:has(input:focus-visible){border-color:var(--focus)}.team-terminal .team-card[data-chosen]{border-color:var(--term-glow);color:#102848;background:#c8f0f4}.team-terminal .team-card[data-chosen] .pokedex-number{color:#2858a0}.team-terminal .team-card[data-blocked]{cursor:not-allowed;opacity:.6}.team-terminal .team-card[data-fallen]{opacity:1}.team-card-order{color:#fff;text-align:center;background:#2858a0;min-width:18px;padding:3px 4px;position:absolute;top:4px;left:4px}.team-card-item{line-height:0;position:absolute;top:4px;right:4px}.team-card-status{text-align:center;color:var(--hp-low);font-size:16px;line-height:1.1}@media (max-width:900px){.terminal-body{grid-template-columns:1fr}.terminal-team{display:contents}.terminal-slots{order:1}.terminal-hint{order:2}.terminal-box{order:3}.terminal-detail{order:4}}@media (max-width:600px){.terminal-case{padding:8px}.terminal-screen{border-width:3px;padding:8px}.terminal-plate>span:first-child{font-size:7px}.terminal-slots{grid-template-columns:repeat(3,minmax(0,1fr))}.terminal-slot{grid-template-columns:1fr;justify-items:center;gap:2px;min-height:72px;padding:4px 2px}.terminal-slot-number{position:absolute;top:2px;left:4px}.terminal-slot-name{max-width:100%;font-size:7px}.terminal-slot-level,.terminal-slot-item{display:none}.app .terminal-slot-remove{text-align:right;border:0;align-content:start;width:44px;min-width:44px;height:44px;min-height:44px;padding:2px 6px 0 0;position:absolute;top:0;right:0}.terminal-slot-empty{grid-column:auto}.team-terminal-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.terminal-box{max-height:60dvh}.terminal-keys{display:none}}.town-place.town-conversation{min-width:44px;min-height:44px;box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:0;margin:0;padding:0}.town-place.town-conversation:is(:hover,:focus-visible,:active){box-shadow:none;background:#fee7611f;transform:none}.town-map[inert] .town-sign{opacity:.4}.dialog-speaker{color:var(--bw-cyan-deep);font-family:var(--font-display), monospace;margin:0 0 8px;font-size:10px;line-height:1.6}@media (max-width:600px){.npc-dialog-layer{bottom:max(var(--npc-dialog-bottom,0px), calc(70px + env(safe-area-inset-bottom)))}}.home-welcome{background:linear-gradient(var(--bw-paper) 0 70%, var(--bw-paper-shade) 70% 100%);max-width:none;min-height:100vh;padding:0}.welcome{grid-template-rows:1fr auto;gap:16px;max-width:720px;min-height:100vh;margin:0 auto;padding:16px;display:grid}.welcome[data-leaving]{animation:.9s ease-in forwards welcome-out}@keyframes welcome-out{0%{opacity:1}to{opacity:0}}.home-arrive{animation:.6s ease-out home-arrive}@keyframes home-arrive{0%{opacity:0}to{opacity:1}}.welcome-stage{align-content:center;place-items:center;gap:24px;display:grid}.welcome-cast{justify-content:center;align-items:flex-end;gap:24px;display:flex}.welcome-professor,.welcome-partner img{image-rendering:pixelated}.welcome-starters{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;display:grid}.welcome-starter{justify-items:center;gap:6px;min-height:44px;padding:8px;display:grid}.welcome-starter[aria-pressed=true]{outline:3px solid var(--bw-red);outline-offset:2px}.welcome-starter .sprite{aspect-ratio:1;width:min(100%,192px);height:auto}.welcome-starter-name{max-width:100%;font-family:var(--font-display), monospace;overflow-wrap:anywhere;font-size:10px}@media (max-width:480px){.welcome-starter{padding:6px 4px}.welcome-starter-name{font-size:8px}}.welcome-dialog{padding-bottom:env(safe-area-inset-bottom);gap:8px;display:grid}.welcome-form{gap:6px;padding:12px 16px;display:grid}.welcome-label{font-family:var(--font-display), monospace;font-size:10px}.welcome-row{gap:8px;display:flex}.welcome-row input{flex:auto;min-width:0;min-height:44px;font-size:18px}.welcome-form p{margin:0}.welcome-choices{justify-content:flex-end;gap:8px;display:flex}.welcome-choices button{min-width:88px;min-height:44px}.welcome-error{color:var(--bw-red);margin:0}.house-station{gap:16px;width:min(100%,960px);margin:0 auto;display:grid}.house-station>:is(.section,.pixel-box,.back-link){margin-inline:var(--px)}.house-station .back-link{justify-self:start}.diary-end{background:var(--bw-paper-shade);padding:1px 6px;font-size:.8em}.diary-end-defeat{background:var(--bw-red);color:var(--bw-paper)}.diary-end-cleared{background:var(--bw-cyan-deep);color:var(--bw-paper)}.diary-fallen{color:var(--bw-red)}.tv{margin-inline:var(--px);justify-items:center;display:grid}.tv-set{box-sizing:border-box;--tv-glass:#102830;--tv-phosphor:#c8f8f0;border:3px solid var(--bw-ink);background:linear-gradient(#3a3a44,#24242c);gap:12px;width:min(100%,640px);padding:18px 18px 14px;display:grid;box-shadow:inset 0 2px #5a5a66,0 6px #18181c,0 10px #00000040}.tv-screen{box-sizing:border-box;aspect-ratio:16/10;background:radial-gradient(ellipse at 50% 40%, #1d4a58, var(--tv-glass) 75%);min-height:260px;color:var(--tv-phosphor);text-shadow:0 0 6px #78f0dc8c;border:4px solid #0a0a0e;border-radius:18px/14px;padding:36px 24px 48px;position:relative;overflow:hidden;box-shadow:inset 0 0 40px #000000bf}.tv-screen:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#00000038 0 1px,#0000 1px 3px);position:absolute;inset:0}.tv-screen[data-channel=safari]{background:radial-gradient(at 50% 40%,#2e6b36,#10301a 75%)}.tv-screen[data-channel=casino]{background:radial-gradient(at 50% 40%,#5a2e88,#200c30 75%)}.tv-screen[data-channel=ranking]{background:radial-gradient(at 50% 40%,#2858a0,#0c1a38 75%)}.tv-osd{font-family:var(--font-display), monospace;color:#78f878;text-shadow:0 0 6px #78f878cc;margin:0;font-size:12px;position:absolute;top:8px;right:14px}.tv-program{align-content:center;gap:14px;height:100%;animation:.26s steps(3,end) tv-on;display:grid}.tv-screen[data-reduced-motion] .tv-program{animation:none}@keyframes tv-on{0%{opacity:0;transform:scaleY(.04)}60%{opacity:1;transform:scaleY(.6)}to{transform:none}}.tv-screen .tv-title{color:var(--tv-phosphor);font-family:var(--font-display), monospace;letter-spacing:1px;text-transform:uppercase;margin:0;font-size:12px;position:absolute;top:10px;left:18px}.tv-program p{margin:0}.tv-big{font-family:var(--font-display), monospace;font-size:28px;line-height:1.2}.tv-flash{color:#f8e058;text-shadow:0 0 6px #f8e058b3;animation:1s steps(2,end) infinite tv-blink}.tv-screen[data-reduced-motion] .tv-flash{animation:none}@keyframes tv-blink{50%{opacity:.35}}.tv-tower,.tv-ranking{align-items:center;gap:20px;display:flex}.tv-live{border:3px solid #c8f8f099;flex:none;margin:0;position:relative;box-shadow:0 0 10px #78f0dc59}.tv-tower-art{width:auto;height:150px;image-rendering:pixelated;display:block}.tv-live figcaption{color:#fff;font-family:var(--font-display), monospace;text-shadow:none;background:#c03028;padding:1px 4px;font-size:8px;position:absolute;top:4px;left:4px}.tv-tower-copy{gap:8px;display:grid}.tv-pips{align-items:center;gap:6px;display:flex}.tv-pip{background:#78f878;width:14px;height:14px;box-shadow:0 0 6px #78f878cc}.tv-pip[data-used]{background:0 0;box-shadow:inset 0 0 0 2px #c8f8f073}.tv-pip-keys{margin-left:4px;font-size:.9em}.tv-safari{gap:12px;display:grid}.tv-safari-list{justify-content:space-around;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tv-safari-list li{justify-items:center;gap:4px;display:grid}.tv-safari-list li[data-claimed] span:after{content:" ★";color:#f8e058}.tv-casino{text-align:center;align-content:center;justify-items:center;gap:16px;height:100%;display:grid}.tv-casino-board{padding:8px 16px;font-size:32px}.tv-ticker{white-space:nowrap;font-family:var(--font-display), monospace;color:#f8e058;background:#0000008c;border-top:2px solid #c8f8f059;margin:0;padding:6px 0;font-size:12px;line-height:1.6;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.tv-ticker-text{padding-left:100%;animation:18s linear infinite tv-ticker;display:inline-block}.tv-screen[data-reduced-motion] .tv-ticker{white-space:normal;padding-inline:12px}.tv-screen[data-reduced-motion] .tv-ticker-text{padding-left:0;animation:none}@keyframes tv-ticker{to{transform:translate(-100%)}}.tv-noise{z-index:1;pointer-events:none;opacity:0;background:repeating-linear-gradient(0deg,#ffffff80 0 1px,#0009 1px 2px,#a0a0a080 2px 4px),repeating-linear-gradient(90deg,#ffffff40 0 3px,#0000 3px 7px,#0006 7px 9px);position:absolute;inset:0}.tv-screen[data-noise] .tv-noise{opacity:1;animation:80ms steps(2,end) infinite tv-static}@keyframes tv-static{0%{background-position:0 0,0 0}to{background-position:0 7px,5px 0}}.tv-remote{justify-content:center;gap:8px;display:flex}.app .tv-key{min-width:40px;min-height:36px;font-family:var(--font-display), monospace;padding:4px 8px}.app .tv-key[aria-pressed=true]{color:var(--bw-ink);background:#78f878}@media (max-width:600px){.tv{justify-items:stretch}.tv-set{width:100%;padding:10px}.tv-screen{aspect-ratio:auto;min-height:320px;padding:12px 12px 48px}.tv-screen .tv-title{margin-right:48px;position:static}.tv-program{align-content:start}.tv-big{font-size:22px}.tv-remote{gap:4px}.app .tv-key{flex:1;min-width:0;padding-inline:4px}.tv-tower,.tv-ranking{text-align:center;flex-direction:column}.tv-tower-art{height:110px}.tv-pips{justify-content:center}}.pc{margin-inline:var(--px);justify-items:center;display:grid}.pc-monitor{justify-items:center;width:min(100%,860px);display:grid}.pc-screen{box-sizing:border-box;--pc-blue:#3878c8;--pc-blue-deep:#204880;--pc-sky:#e0ecf8;background:var(--pc-sky);width:100%;min-height:420px;color:var(--bw-ink);outline:3px solid var(--bw-ink);border:14px solid #d8d8cc;border-bottom-width:22px;grid-template-rows:auto auto 1fr auto;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 3px #a8a89c,0 6px #0003}.pc-titlebar{background:linear-gradient(180deg, #5898e0, var(--pc-blue) 60%, var(--pc-blue-deep));color:#fff;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;display:flex}.pc-titlebar h2{color:#fff;font-family:var(--font-display), monospace;text-shadow:1px 1px 0 var(--pc-blue-deep);margin:0;font-size:12px}.pc-titlebar-dots{gap:4px;display:flex}.pc-titlebar-dots span{border:2px solid var(--pc-blue-deep);background:#fff;width:10px;height:10px}.pc-tabs{border-bottom:3px solid var(--pc-blue);background:#c8dcf0;gap:4px;padding:8px 10px 0;display:flex}.app .pc-tab{min-height:0;color:var(--pc-blue-deep);border:2px solid var(--pc-blue);box-shadow:none;font-family:var(--font-display), monospace;background:#e8f0f8;border-bottom:0;margin:0;padding:6px 14px 4px;font-size:11px}.app .pc-tab[aria-selected=true]{background:var(--pc-blue);color:#fff}.pc-tab-count{min-width:18px;color:var(--pc-blue-deep);text-align:center;background:#ffffffb3;margin-left:4px;padding:0 4px;display:inline-block}.pc-panel{min-height:0;padding:12px}.pc-diary{grid-template-columns:minmax(200px,260px) 1fr;align-items:start;gap:12px;display:grid}.pc-empty{text-align:center;color:var(--bw-paper-ink-dim);grid-column:1/-1;margin:24px 0}.pc-files{gap:8px;max-height:360px;display:grid;overflow-y:auto}.pc-file-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.app .pc-file{width:100%;min-height:0;color:var(--bw-ink);box-shadow:none;text-align:left;background:#fff;border:2px solid #a8c4e0;grid-template-rows:auto auto;grid-template-columns:18px 1fr;column-gap:8px;margin:0;padding:6px 8px;display:grid}.app .pc-file[aria-current=true]{border-color:var(--pc-blue);background:#fff8c8}.pc-file-icon{clip-path:polygon(0 0,45% 0,55% 18%,100% 18%,100% 100%,0 100%);background:#e0b038;border:2px solid #886018;grid-row:1/3;align-self:center;width:16px;height:14px}.pc-file-icon[data-end=defeat]{background:#e06050;border-color:#882018}.pc-file-icon[data-end=cleared]{background:#60c0a0;border-color:#206850}.pc-file-name{font-family:var(--font-display), monospace;font-size:11px}.pc-file-meta{color:var(--bw-paper-ink-dim);font-size:.85em}.app .pc-more{justify-self:start}.pc-file-view{background:#fff;border:2px solid #a8c4e0;align-content:start;gap:10px;padding:12px;display:grid;box-shadow:inset 0 -3px #c8dcf0}.pc-file-view h3{color:var(--pc-blue-deep);flex-wrap:wrap;align-items:baseline;gap:8px;margin:0;display:flex}.pc-facts{gap:4px;margin:0;display:grid}.pc-facts>div{grid-template-columns:70px 1fr;gap:8px;display:grid}.pc-facts dt{font-family:var(--font-display), monospace;color:var(--pc-blue);font-size:10px;line-height:1.8}.pc-facts dd{margin:0}.pc-team{background:var(--pc-sky);flex-wrap:wrap;gap:4px 14px;margin:0;padding:8px;list-style:none;display:flex}.pc-team li{align-items:center;gap:2px;display:flex}.pc-saved{color:#206850}.pc-log{border-left:3px solid var(--pc-blue);margin:0;padding-left:10px}.app .pc-close{justify-self:start;margin:0}.pc-memorial-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.pc-memorial-card{background:#fff;border:2px solid #b8b8b0;border-top-left-radius:24px;border-top-right-radius:24px;align-items:center;gap:8px;padding:8px;display:flex}.pc-memorial-card strong{display:block}.pc-memorial-where{color:var(--bw-paper-ink-dim);font-size:.9em;display:block}.pc-status{color:var(--pc-blue-deep);background:#c8dcf0;border-top:2px solid #a8c4e0;padding:4px 10px;font-size:.85em}.pc-boot{z-index:1;pointer-events:none;background:var(--pc-blue-deep);color:#fff;font-family:var(--font-display), monospace;opacity:0;place-items:center;font-size:12px;animation:.7s steps(5,end) pc-boot;display:grid;position:absolute;inset:0}.pc-screen[data-reduced-motion] .pc-boot{display:none}@keyframes pc-boot{0%,60%{opacity:1}to{opacity:0}}.pc-stand{border:3px solid var(--bw-ink);background:#c8c8bc;border-top:0;width:90px;height:14px}@media (max-width:600px){.pc-screen{border-width:8px 8px 14px;min-height:0}.pc-diary{grid-template-columns:1fr}.pc-diary[data-open] .pc-files{display:none}.pc-files{max-height:none}.pc-tabs{padding-inline:6px}.app .pc-tab{flex:1}.pc-memorial-list{grid-template-columns:1fr}.pc-stand{display:none}}.dialog-question{position:relative}.dialog-choices{flex-direction:column;gap:4px;min-width:96px;margin:0;padding:6px;display:flex;position:absolute;bottom:calc(100% + 6px);right:0}.dialog-choices>button{min-height:44px;margin:0}.dialog-line+.dialog-line{display:block}.dialog-line:has(+.dialog-line){display:block}.dialog-aside{opacity:.85;font-style:italic}.ranking-weekly-limit{margin:8px 0 12px}.tower-dark{--bg:#0a121a;--surface:#101c28;--surface-2:#1c2c3c;--ink:var(--bw-paper);--muted:var(--bw-dim);--accent:var(--bw-cyan);--focus:#fee761;--hp-mid-ink:var(--hp-mid);--tower-gold:#f0c040;--tower-line:#384858;color:var(--ink);gap:16px;display:grid}.tower-dark h3{color:var(--accent)}.tower-dark h4{color:var(--muted)}.climb-panel,.climb-hud{background:var(--surface);color:var(--ink);border:2px solid var(--bw-ink);box-shadow:0 0 0 2px var(--bw-ring), 0 0 0 4px var(--bw-ink), 0 6px 0 4px var(--bw-shadow);border-radius:6px;margin:0 4px}.climb-panel{padding:12px 16px}.climb-panel>:last-child{margin-bottom:0}.climb-panel p{margin:0 0 8px}.climb-panel .banner{color:var(--bw-paper);border-radius:4px 4px 0 0;margin:-12px -16px 12px}.climb-panel-title{margin:0 0 10px;font-size:12px}.climb-panel-after{margin-top:24px}.climb-note{color:var(--muted);font-size:18px}.climb-hud{background:linear-gradient(90deg,#182838,#283848);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 16px;padding:10px 14px;display:grid}.climb-hud-title{flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0;display:flex}.climb-hud h2{color:var(--bw-cyan);margin:0;font-size:12px;line-height:1.6}.climb-hud h2:focus{outline:none}.climb-pips{gap:4px;margin:0;display:flex}.climb-pips span{background:var(--bg);border:2px solid var(--tower-line);width:12px;height:12px}.climb-pips [data-key]{border-color:var(--tower-gold);transform:rotate(45deg)scale(.85)}.climb-pips [data-status=done]{background:var(--bw-cyan);border-color:var(--bw-cyan-deep)}.climb-pips [data-status=done][data-key]{background:var(--tower-gold);border-color:#a07818}.climb-pips [data-status=current]{border-color:var(--focus);box-shadow:0 0 6px var(--focus);animation:1s steps(2,end) infinite pip-blink}@keyframes pip-blink{50%{background:var(--focus)}}.climb-hud>:not(.climb-hud-title,.climb-pips){grid-column:1/-1;margin:0}.climb-hud .reward-chips{gap:6px}.climb-hud .chip{padding:4px 6px;font-size:8px}.climb-details>summary{color:var(--muted);cursor:pointer;font-family:var(--font-display), monospace;min-height:24px;font-size:9px}.climb-details-grid{background:var(--surface);border-radius:4px;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:8px 24px;margin-top:10px;padding:10px 12px;display:grid}.climb-details-grid :is(h3,p){margin:0 0 6px}@scope(.tower-dark) to (.battle-screen,.actions,.log,.traces){button{background:var(--surface-2);color:var(--bw-paper);border:2px solid var(--bw-ring);border-radius:4px;margin:4px 7px 7px 4px;box-shadow:3px 3px #000}button:hover:not(:disabled){background:#283c50}button:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px #000}button:disabled{opacity:.5;cursor:not-allowed}.primary-action{background:var(--bw-cyan);color:var(--bw-ink);border-color:var(--bw-ink)}.primary-action:hover:not(:disabled){background:#78e8f0}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}:is(h2,h3,h4)[tabindex="-1"]:focus{outline:none}.pixel-box,.section{background:var(--surface-2);color:var(--ink);box-shadow:0 0 0 2px var(--bw-ring);border-radius:4px;margin:8px 0;padding:10px 12px}.choice-cards .perk-option span{color:var(--muted)}.next-rival{box-shadow:0 0 0 2px var(--tower-line);border-radius:4px;margin:0 0 12px}.team-strip{margin:0 0 10px}.consequences{border-radius:4px}}.climb-actions{flex-wrap:wrap;align-items:center;gap:4px;margin:12px 0 4px;display:flex}.climb-actions .primary-action{min-width:0;margin:4px 7px 7px 4px;display:inline-block}.climb-panel>.primary-action,.lineup-choice>.primary-action{margin:12px 0 4px}@scope(.tower-dark){.climb-toggle{min-height:32px;color:var(--bw-cyan);box-shadow:none;text-underline-offset:4px;background:0 0;border:0;margin:0;padding:4px 0;font-size:9px;text-decoration:underline}.climb-toggle:hover:not(:disabled){color:#78e8f0;background:0 0}.climb-toggle:active:not(:disabled){box-shadow:none;transform:none}}.tower-dark .next-rival:not(.next-rival-large) .next-rival-body{flex-wrap:nowrap;align-items:center}.tower-dark .next-rival:not(.next-rival-large) .next-rival-team{flex:1 1 0;min-width:0}.room-team h4{margin:0 0 6px}.room-team ul{grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));gap:6px;margin:0 0 10px;padding:0;list-style:none;display:grid}.room-team li{background:var(--surface-2);border-left:4px solid var(--hp-ok);border-radius:4px;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:0 8px;padding:4px 8px 6px 4px;display:grid}.room-team li .sprite{grid-row:span 2;width:32px;height:32px}.room-team .hp,.room-team .card-fallen{grid-column:2}.room-team .hp-text{margin:0;font-size:16px}.room-member-name{font-family:var(--font-display), monospace;font-size:8px;line-height:1.8}.room-team .room-member-weak{border-left-color:var(--hp-mid)}.room-team .room-member-out{border-left-color:var(--hp-low);opacity:.7}.tower-dark .bag-between{margin:0 0 10px}.tower-dark .bag-between h4{margin:0 0 6px}.tower-dark .bag-options{margin:0}.room-stakes{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 0;display:grid}.room-stakes>div{background:var(--bg);border-left:4px solid var(--bw-cyan-deep);border-radius:2px;padding:6px 10px}.room-stakes dt{font-family:var(--font-display), monospace;color:var(--muted);font-size:8px;line-height:1.6}.room-stakes dd{margin:2px 0 0}.room-stakes .room-stakes-risk{border-left-color:#f86050}.lineup-count{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 0 8px;display:flex}.lineup-count .choice-count{margin:0}.lineup-cards{grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));gap:10px;margin:0 0 10px}.lineup-card{background:var(--surface-2);border:2px solid var(--tower-line);cursor:pointer;touch-action:manipulation;border-radius:6px;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:2px 8px;height:100%;min-height:64px;padding:8px;display:grid;position:relative}.lineup-card .sprite{grid-row:span 2;width:32px;height:32px}.lineup-name{font-family:var(--font-display), monospace;font-size:8px;line-height:1.8}.lineup-level{color:var(--muted)}.lineup-name .lineup-level{display:block}.lineup-state,.lineup-note{color:var(--muted);grid-column:1/-1;font-size:16px}.lineup-note{color:var(--hp-mid)}.lineup-order{background:var(--bw-cyan);width:26px;height:26px;color:var(--bw-ink);border:2px solid var(--bw-ink);font-family:var(--font-display), monospace;border-radius:50%;place-items:center;font-size:11px;display:grid;position:absolute;top:-10px;right:-8px}.lineup-order:empty{display:none}.lineup-chosen{border-color:var(--bw-cyan);background:#183848}.lineup-chosen .lineup-state{color:var(--bw-cyan)}.lineup-card:has(input:disabled):not(.lineup-chosen){opacity:.45;cursor:not-allowed}.lineup-fallen .lineup-state{color:#f86050}.lineup-card:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}@media (hover:hover){.lineup-card:not(:has(input:disabled)):hover{border-color:var(--bw-ring)}}.result-depth{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.result-depth-label{font-family:var(--font-display), monospace;color:var(--muted);font-size:9px}.result-depth-value{font-family:var(--font-display), monospace;font-size:20px}.result-depth-value output{color:var(--bw-cyan)}.result-prizes{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.result-prizes li{align-items:center;gap:8px;display:flex}.result-details>summary{color:var(--bw-cyan);cursor:pointer;font-family:var(--font-display), monospace;min-height:24px;font-size:10px}.result-details[open]>summary{margin-bottom:12px}.tower-dark .milestone-reached{color:var(--focus)}@media (max-width:600px){.climb-hud{grid-template-columns:minmax(0,1fr);padding:8px 10px}.climb-pips span{width:10px;height:10px}.climb-panel{padding:10px 12px}.climb-panel .banner{margin:-10px -12px 10px}.room-stakes{grid-template-columns:repeat(2,minmax(0,1fr))}.room-stakes .room-stakes-risk{grid-column:1/-1}.climb-actions>button{flex:100%}.climb-panel>.primary-action,.lineup-choice>.primary-action{width:calc(100% - 7px)}}.tower-dark .floor-growth ul{margin:0 0 6px;padding:0;list-style:none}.tower-dark .floor-growth li+li{margin-top:4px}@media (min-width:601px){.climb-hud{padding-right:96px}}.elevator-dialog.tower-dark{background:var(--surface);color:var(--ink);border:2px solid var(--bw-ink);box-shadow:0 0 0 2px var(--bw-ring), 0 0 0 4px var(--bw-ink), 0 6px 0 4px var(--bw-shadow);border-radius:6px}.elevator-dialog.tower-dark .elevator-dialog-heading h3{color:var(--bw-cyan)}.elevator-dialog.tower-dark .elevator-dialog-heading small{color:var(--muted)}.elevator-dialog .elevator-actions .primary-action{min-width:0;margin:4px 7px 7px 4px;display:inline-block}.tower-dark .floor-facts{background:var(--bg);color:var(--ink);border-radius:4px}.tower-dark .floor-facts div{border-color:var(--tower-line)}.tower-dark .floor-facts dt{color:var(--muted)}.tower-dark .consequences{margin:0}.tower-dark .consequences ul{margin:0 0 8px}.tower-dark .consequences li+li{margin-top:4px}.milestone-options{border:0;min-width:0;margin:0;padding:0}.milestone-cards{grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.milestone-card{text-align:center;background:var(--surface-2);border:2px solid var(--tower-line);cursor:pointer;touch-action:manipulation;border-radius:6px;align-content:start;justify-items:center;gap:4px;height:100%;padding:8px;display:grid}.milestone-card .sprite{width:96px;height:96px}.milestone-alternative{align-content:center}.milestone-moves{color:var(--muted);font-size:16px}.milestone-chosen{border-color:var(--bw-cyan);background:#183848}.milestone-card:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.milestone-options:disabled .milestone-card:not(.milestone-chosen){opacity:.45;cursor:not-allowed}@media (hover:hover){.milestone-card:hover{border-color:var(--bw-ring)}}.tower-dark .banner-milestone{color:var(--bw-ink)}.climb-fold>summary{color:var(--bw-cyan);cursor:pointer;font-family:var(--font-display), monospace;min-height:24px;margin-top:8px;font-size:9px}.climb-fold[open]>summary{margin-bottom:8px}@media (max-width:600px){.milestone-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.tower-dark .floor-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.tower-dark .floor-facts div+div{border-top:0;border-left:2px solid var(--tower-line)}}.tower-dark .consequences{font-size:18px;line-height:1.2}.access{flex-direction:column;align-items:center;gap:16px;max-width:560px;min-height:100dvh;margin:0 auto;padding:24px 16px;display:flex}.access-logo,.access picture img{max-width:100%;height:auto;image-rendering:pixelated;display:block}.access-box{text-align:center;width:100%;padding:16px}.access-box form{flex-direction:column;align-items:stretch;gap:8px;display:flex}.access-input{font:inherit;text-align:center;text-transform:uppercase;letter-spacing:2px;padding:8px;font-size:24px}.access-small{font-size:18px}.access-text{text-align:left}.load-failure{justify-content:center}
