:root{--ink:#171b20;--paper:#d7e7b6;--paper-strong:#f4f0d8;--muted:#526050;--line:#38443f;--ember:#e9573f;--mint:#43c681;--gold:#f3c541;--pink:#f26691;--sky:#58a6d8;--violet:#7d68b4;--shell:#30394c;--shell-dark:#171b29;--shell-light:#59657f;--screen:#b8d99b;--screen-bright:#d9e9aa;--screen-dark:#5e8468;--pixel-shadow:4px 4px 0 #10131a;--pixel-shadow-soft:3px 3px 0 #10131ab8;--font-pixel:"Courier New", "Lucida Console", Monaco, monospace;--font-body:"Trebuchet MS", "Verdana", sans-serif}*{box-sizing:border-box}html{background:#10131a;min-height:100%}body{min-height:100%;color:var(--ink);font-family:var(--font-body);letter-spacing:0;background:radial-gradient(circle at 14px 14px,#ffffff0f 0 2px,#0000 2px 32px),linear-gradient(135deg,#11131c 0%,#202637 46%,#0d1018 100%);margin:0}body:before{z-index:-1;content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#ffffff08 0 1px,#0000 1px 4px),linear-gradient(90deg,#43c68112,#f3c5410d,#58a6d812);position:fixed;inset:0}button,input{min-width:0;font:inherit;letter-spacing:0;border-radius:0}button{color:inherit}button:disabled{cursor:not-allowed;filter:grayscale(.8);opacity:.48}img,svg{flex-shrink:0}img{image-rendering:pixelated}h1,h2,h3,p{margin-top:0}h1,h2,h3,.panel-label,.eyebrow,.primary-button,.icon-button,.region-chip span,.pokemon-choice strong,.item-choice strong,.stat-label,.stat-value{font-family:var(--font-pixel)}h1{color:var(--paper-strong);text-transform:uppercase;text-shadow:3px 3px #000;margin-bottom:0;font-size:34px;line-height:1}h2{text-transform:uppercase;margin-bottom:12px;font-size:38px;line-height:1.04}h3{text-transform:uppercase;margin-bottom:10px;font-size:15px}.privacy-page{min-height:100svh;padding:clamp(14px,3vw,32px)}.privacy-card{background:linear-gradient(180deg, #ffffff2e, transparent 22%), repeating-linear-gradient(0deg, #10241d1f 0 2px, transparent 2px 6px), linear-gradient(135deg, var(--screen-bright), var(--screen) 44%, #90ba82);width:min(980px,100%);box-shadow:inset 0 0 0 4px #405040, inset 0 0 0 8px #82946e, var(--pixel-shadow);border:5px solid #11131a;margin:0 auto;padding:clamp(18px,4vw,38px)}.privacy-card h1{color:var(--ink);text-shadow:2px 2px #f4f0d8b8;margin:0 0 8px;font-size:clamp(34px,5vw,54px)}.privacy-card h2{margin:0 0 8px;font-size:22px}.privacy-card>.eyebrow{color:#694b19}.privacy-section a{color:#10131a;font-weight:800}.privacy-updated,.privacy-section p{color:#2f3a33;line-height:1.55}.privacy-updated{font-family:var(--font-pixel);text-transform:uppercase;margin-bottom:22px;font-size:12px;font-weight:900}.privacy-section{background:#f4f0d8db;border:3px solid #171b20c2;padding:16px;box-shadow:3px 3px #10131a85}.privacy-section+.privacy-section{margin-top:14px}.privacy-section p:last-child{margin-bottom:0}.privacy-back{background:#f4f0d8;border:2px solid #10131a;margin-bottom:18px;padding:9px 11px;display:inline-flex;box-shadow:2px 2px #10131a}.game-shell{grid-template-columns:minmax(0,1fr) 326px;gap:14px;width:min(100%,1680px);min-height:100svh;margin:0 auto;padding:14px;display:grid}.game-shell.is-run-active{grid-template-columns:minmax(0,1fr) 326px}@media (min-width:981px){.game-shell.is-run-active.view-map{height:100svh;min-height:0;overflow:hidden}.game-shell.is-run-active.view-map .squad-panel{max-height:calc(100svh - 28px);overflow-y:auto}.game-shell.is-run-active.view-map .play-surface{height:calc(100svh - 28px);min-height:0}}.command-rail,.squad-panel,.play-surface{min-width:0}.command-rail,.squad-panel{flex-direction:column;gap:12px;display:flex}.play-surface{background:linear-gradient(180deg, #ffffff2e, transparent 22%), repeating-linear-gradient(0deg, #10241d1f 0 2px, transparent 2px 6px), radial-gradient(circle at 18% 18%, #f4f0d85c, transparent 28%), linear-gradient(135deg, var(--screen-bright), var(--screen) 44%, #90ba82);min-height:calc(100svh - 28px);box-shadow:inset 0 0 0 4px #405040, inset 0 0 0 8px #82946e, var(--pixel-shadow);border:5px solid #11131a;position:relative;overflow:hidden}.play-surface:after{z-index:1;content:"";pointer-events:none;mix-blend-mode:multiply;opacity:.34;background:repeating-linear-gradient(90deg,#ffffff14 0 1px,#0000 1px 10px);border:2px solid #171b2033;position:absolute;inset:9px}.play-surface>*{z-index:2;position:relative}.brand-lockup,.auth-card,.region-stack,.run-panel,.panel-empty,.battle-team,.versus-block,.battle-log,.item-summary,.recruit-summary,.compact-stats,.pokemon-choice,.item-choice,.inventory-item{border:3px solid var(--ink);box-shadow:var(--pixel-shadow-soft)}.brand-lockup,.auth-card,.region-stack,.run-panel,.panel-empty{background:var(--shell);color:var(--paper-strong)}.brand-lockup{background:linear-gradient(135deg, var(--shell-light), var(--shell) 46%, var(--shell-dark)), var(--shell);grid-template-columns:58px minmax(0,1fr);align-items:center;gap:12px;padding:12px;display:grid}.brand-mark{aspect-ratio:1;background:radial-gradient(circle,#894db866,#0000 62%),#11131a;border:3px solid #10131a;place-items:center;width:58px;display:grid;overflow:hidden;box-shadow:inset 0 0 0 2px #f4f0d833,3px 3px #10131a}.brand-logo{object-fit:contain;width:112%;height:112%;display:block}.eyebrow,.panel-label{color:#e7d17b;text-transform:uppercase;margin:0 0 7px;font-size:11px;font-weight:900;line-height:1.2}.region-stack,.auth-card,.run-panel,.panel-empty{padding:12px}.region-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.setup-region-stack .region-grid{grid-template-columns:repeat(5,minmax(82px,1fr))}.region-chip{min-height:58px;color:var(--ink);cursor:pointer;text-align:center;background:linear-gradient(90deg,#ffffff1a,#0000),#d7d3b1;border:2px solid #10131a;place-items:center;transition:transform .12s steps(2,end),box-shadow .12s steps(2,end),background .12s steps(2,end);display:grid}.region-chip span{overflow-wrap:anywhere;max-width:100%;font-size:14px;font-weight:900}.region-chip small{color:#4f5148;font-size:12px}.region-chip.is-selected{background:linear-gradient(90deg, var(--accent), #f7eb9a 78%), var(--accent);box-shadow:inset 0 0 0 3px #ffffff38,3px 3px #10131a}.region-chip:hover,.pokemon-choice:hover,.item-choice:hover,.icon-button:hover,.primary-button:hover,.inventory-item:hover{transform:translate(-1px,-1px);box-shadow:5px 5px #10131a}.auth-heading,.button-row,.segmented,.signed-in p,.map-header,.battle-title,.center{align-items:center;display:flex}.auth-heading{font-family:var(--font-pixel);text-transform:uppercase;gap:8px;margin-bottom:10px;font-weight:900}.signed-in p{flex-direction:column;align-items:flex-start;gap:2px;margin-bottom:10px}.signed-in span,.muted,.status-line,.battle-log p{color:#d2d8ad;font-size:13px}.hall-button{background:linear-gradient(90deg,#f4f0d8,#f3c541),#f3c541;justify-content:space-between;width:100%;margin-top:8px}.hall-button span{color:#fff8dc;min-width:24px;min-height:22px;font-family:var(--font-pixel);background:#10131a;border:2px solid #10131a;place-items:center;font-size:10px;display:inline-grid}.auth-form{gap:9px;display:grid}.auth-form input{width:100%;min-height:42px;color:var(--ink);background:#f4f0d8;border:2px solid #10131a;padding:0 11px;box-shadow:inset 3px 3px #171b201f}.auth-form input:focus{outline:3px solid var(--gold);outline-offset:0}.segmented{background:#d7d3b1;border:2px solid #10131a}.segmented button{cursor:pointer;min-height:39px;font-family:var(--font-pixel);background:0 0;border:0;flex:1;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:900;display:inline-flex}.segmented button.active{color:var(--paper-strong);background:#10131a}.button-row{flex-wrap:wrap;gap:8px}.icon-button,.primary-button{cursor:pointer;text-align:center;text-transform:uppercase;border:3px solid #10131a;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 14px;font-size:13px;font-weight:900;line-height:1;transition:transform .12s steps(2,end),box-shadow .12s steps(2,end);display:inline-flex;box-shadow:3px 3px #10131a}.icon-button{color:var(--ink);background:#f4f0d8}.icon-button.ghost{background:#c7d4ab}.primary-button{color:#fff8dc;background:#10131a}.game-controls{background:#30394c;border:3px solid #10131a;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;width:100%;padding:5px;display:flex;box-shadow:4px 4px #10131a}.control-button{min-width:42px;height:38px;color:var(--ink);cursor:pointer;font-family:var(--font-pixel);text-transform:uppercase;background:#f4f0d8;border:2px solid #10131a;justify-content:center;align-items:center;gap:5px;font-size:11px;font-weight:900;display:inline-flex;box-shadow:2px 2px #10131a}.control-button.is-active{background:var(--gold)}.control-button:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:3px 3px #10131a}.control-button-achievements,.control-button-pokedex{min-width:84px}.achievement-toasts{z-index:130;pointer-events:none;gap:10px;width:min(380px,100vw - 24px);display:grid;position:fixed;bottom:18px;right:18px}.achievement-toast{color:var(--ink);background:repeating-linear-gradient(0deg,#ffffff29 0 2px,#0000 2px 6px),#f4f0d8;border:3px solid #10131a;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:10px;padding:10px;animation:.24s steps(4,end) both achievement-pop;display:grid;box-shadow:5px 5px #10131a}.achievement-toast-image,.achievement-card-image{aspect-ratio:1;background:radial-gradient(circle,#f3c54157,#0000 62%),#c7d4ab;border:2px solid #10131a;place-items:center;display:grid;box-shadow:inset 0 0 0 3px #ffffff3d}.achievement-toast-image{width:56px}.achievement-toast-image img,.achievement-card-image img{object-fit:contain;filter:drop-shadow(2px 3px #10131a33);width:82%;height:82%}.achievement-toast span:last-child{gap:3px;min-width:0;display:grid}.achievement-toast small,.achievement-category-heading,.achievement-card small{font-family:var(--font-pixel);text-transform:uppercase;font-size:10px;font-weight:900;line-height:1.15}.achievement-toast small,.achievement-category-heading{color:#8a6720}.achievement-toast strong{overflow-wrap:anywhere;font-family:var(--font-pixel);text-transform:uppercase;font-size:15px;line-height:1.1}.achievement-toast em{color:#354234;font-size:12px;font-style:normal;line-height:1.25}.achievement-modal-backdrop{z-index:120;background:#10131ab8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.achievement-modal{background:linear-gradient(180deg, #ffffff29, transparent 22%), repeating-linear-gradient(0deg, #10241d1f 0 2px, transparent 2px 6px), linear-gradient(135deg, var(--screen-bright), var(--screen) 44%, #90ba82);border:5px solid #10131a;grid-template-rows:auto minmax(0,1fr);width:min(1180px,100%);max-height:min(860px,100svh - 36px);display:grid;overflow:hidden;box-shadow:inset 0 0 0 4px #405040,inset 0 0 0 8px #82946e,8px 8px #10131a}.achievement-modal-header{background:#f4f0d8d6;border-bottom:4px solid #10131a;justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.achievement-modal-header h2{margin:0;font-size:32px}.achievement-modal-header span{color:#354234;font-family:var(--font-pixel);text-transform:uppercase;font-size:12px;font-weight:900}.achievement-categories{gap:18px;padding:16px;display:grid;overflow:auto}.achievement-category-section{gap:10px;display:grid}.achievement-category-heading{background:linear-gradient(90deg,#f4f0d8f5,#f4f0d8c2),#f4f0d8;border:3px solid #10131a;justify-content:space-between;align-items:center;gap:10px;padding:9px 11px;display:flex;box-shadow:3px 3px #10131a9e}.achievement-category-heading h3{color:var(--ink);margin:0;font-size:16px;line-height:1.1}.achievement-category-heading span{background:var(--gold);min-width:48px;min-height:28px;color:var(--ink);border:2px solid #10131a;place-items:center;font-size:11px;display:inline-grid;box-shadow:2px 2px #10131a80}.achievement-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.achievement-card{color:var(--ink);background:repeating-linear-gradient(0deg,#ffffff29 0 2px,#0000 2px 6px),#f4f0d8;border:3px solid #10131a;grid-template-columns:78px minmax(0,1fr);align-items:start;gap:12px;padding:11px;display:grid;box-shadow:3px 3px #10131a9e}.achievement-card.is-locked{opacity:.72;background:repeating-linear-gradient(0deg,#ffffff1a 0 2px,#0000 2px 6px),#c7d4ab}.achievement-card.is-future{opacity:.62}.achievement-card.is-locked .achievement-card-image img{filter:grayscale()opacity(.56)}.achievement-card h3{margin:4px 0 6px;font-size:15px;line-height:1.1}.achievement-card p{color:#354234;margin-bottom:8px;font-size:12px;line-height:1.3}.achievement-card small{color:#375442;align-items:center;gap:4px;display:inline-flex}.achievement-card.is-locked small{color:#5d6253}.hall-modal{width:min(1120px,100%)}.hall-modal-header{background:linear-gradient(90deg,#f4f0d8f5,#f3c541b8),#f4f0d8}.hall-list{gap:14px;padding:16px;display:grid;overflow:auto}.hall-entry{background:linear-gradient(90deg,#f4f0d8eb,#d7e7b6d6),#d7e7b6;border:4px solid #10131a;gap:12px;padding:13px;display:grid;box-shadow:4px 4px #10131a9e}.hall-entry-header{border-bottom:2px dashed #10131a70;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:10px;display:flex}.hall-entry-header h3{margin:0;font-size:22px;line-height:1.05}.hall-entry-header>span{color:var(--ink);font-family:var(--font-pixel);text-align:right;text-transform:uppercase;justify-items:end;gap:4px;font-size:12px;font-weight:900;display:grid}.hall-entry-header small{color:#526050;font-family:var(--font-body);text-transform:none;font-size:12px;font-weight:700}.hall-team{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.hall-pokemon{text-align:center;background:repeating-linear-gradient(0deg,#ffffff24 0 2px,#0000 2px 6px),#f4f0d8;border:3px solid #10131a;justify-items:center;gap:5px;min-width:0;padding:8px 6px;display:grid;box-shadow:3px 3px #10131a61}.hall-pokemon.is-shiny{background:radial-gradient(circle at 22% 18%,#ffffffe0,#0000 0 8%,#0000 28%),linear-gradient(135deg,#fbf3b0,#c7eacb 50%,#d6c7ff)}.hall-pokemon-sprite{aspect-ratio:1;background:#c9d8a8;border:2px solid #56674e;place-items:center;width:min(100%,84px);display:grid;position:relative;overflow:hidden}.hall-pokemon-sprite img{object-fit:contain;width:122%;max-width:none;height:122%}.hall-pokemon-sprite i{background:var(--gold);color:#10131a;border:2px solid #10131a;padding:0 3px;font-style:normal;line-height:1.1;position:absolute;top:3px;right:4px}.hall-pokemon strong{overflow-wrap:anywhere;width:100%;font-family:var(--font-pixel);text-transform:uppercase;font-size:12px;line-height:1.1}.hall-pokemon>span:not(.hall-pokemon-sprite):not(.type-symbols){color:#526050;font-size:12px}.hall-held-item{color:#354234;text-overflow:ellipsis;white-space:nowrap;justify-content:center;align-items:center;gap:4px;max-width:100%;min-height:26px;font-size:11px;line-height:1.1;display:inline-flex;overflow:hidden}.hall-held-item img{object-fit:contain;width:22px;height:22px}.hall-empty{text-align:center;background:#f4f0d8e6;border:4px solid #10131a;justify-items:center;gap:10px;padding:34px 18px;display:grid;box-shadow:4px 4px #10131a9e}.hall-empty h3{margin:0;font-size:20px}.hall-empty p{color:#354234;max-width:48ch;margin:0;line-height:1.45}.pokedex-modal-backdrop{z-index:120;background:#10131abd;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.pokedex-shell{background:radial-gradient(circle at 52px 48px,#69d3ff 0 12px,#10131a 13px 16px,#0000 17px),linear-gradient(135deg,#d83f35,#b92131 52%,#7b1624);border:5px solid #10131a;grid-template-rows:auto auto minmax(0,1fr);width:min(1220px,100%);max-height:min(880px,100svh - 36px);display:grid;overflow:hidden;box-shadow:inset 0 0 0 4px #ffffff24,8px 8px #10131a}.pokedex-topbar{color:#fff8dc;background:linear-gradient(90deg,#fff3,#0000 36%),#c82f32;border-bottom:4px solid #10131a;justify-content:space-between;align-items:center;gap:14px;padding:18px 18px 14px 92px;display:flex}.pokedex-topbar h2{color:#fff8dc;text-shadow:3px 3px #10131a;margin:0;font-size:34px}.pokedex-topbar span{color:#f7e6ad;font-family:var(--font-pixel);text-transform:uppercase;font-size:12px;font-weight:900}.pokedex-tabs{background:#7b1624;border-bottom:4px solid #10131a;gap:8px;padding:10px 14px;display:flex}.pokedex-tabs button{min-height:40px;color:var(--ink);cursor:pointer;font-family:var(--font-pixel);text-transform:uppercase;background:#f4f0d8;border:3px solid #10131a;justify-content:center;align-items:center;gap:8px;padding:0 13px;font-size:12px;font-weight:900;display:inline-flex;box-shadow:3px 3px #10131a}.pokedex-tabs button.is-active{background:var(--gold)}.pokedex-tabs span{color:#fff8dc;background:#10131a;border:2px solid #10131a;place-items:center;min-width:28px;min-height:22px;font-size:10px;display:inline-grid}.pokedex-body{grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:14px;min-height:0;padding:14px;display:grid}.pokedex-focus,.pokedex-list-panel{background:repeating-linear-gradient(0deg,#ffffff1a 0 2px,#0000 2px 6px),#d7e7b6;border:4px solid #10131a;min-height:0;box-shadow:inset 0 0 0 4px #ffffff2e,4px 4px #10131a94}.pokedex-focus{grid-template-rows:minmax(190px,260px) auto;gap:12px;padding:14px;display:grid}.pokedex-lens{background:radial-gradient(circle at 50% 58%,#f4f0d8bf,#0000 0 28%,#0000 58%),linear-gradient(#9fcf8e,#6fb080);border:4px solid #10131a;place-items:center;display:grid;box-shadow:inset 0 0 0 5px #ffffff29,4px 4px #10131a70}.pokedex-lens img{object-fit:contain;filter:drop-shadow(5px 7px #10131a38);width:min(74%,190px);height:min(74%,190px)}.pokedex-focus.is-unknown .pokedex-lens img,.pokedex-entry.is-unknown img{filter:brightness(0)invert(48%)}.pokedex-readout{background:#f4f0d8;border:3px solid #10131a;padding:12px}.pokedex-readout>span,.pokedex-readout small,.pokedex-entry small{color:#7b1624;font-family:var(--font-pixel);text-transform:uppercase;font-size:10px;font-weight:900}.pokedex-readout h3{margin:5px 0 6px;font-size:24px;line-height:1}.pokedex-readout p{color:#354234;margin-bottom:10px;font-size:13px}.pokedex-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.pokedex-detail-grid span{background:#d7d3b1;border:2px solid #10131a6b;min-width:0;padding:6px;display:grid}.pokedex-detail-grid strong{overflow-wrap:anywhere;font-size:12px}.pokedex-list-panel{padding:12px;overflow:auto}.pokedex-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:9px;display:grid}.pokedex-entry{min-height:112px;color:var(--ink);cursor:pointer;background:#75b8d6;border:3px solid #10131a;grid-template-rows:62px auto auto;justify-items:center;gap:3px;padding:6px 5px;display:grid;box-shadow:3px 3px #10131a85}.pokedex-entry.is-selected{background:var(--gold);box-shadow:0 0 0 4px #f4f0d84d,3px 3px #10131a}.pokedex-entry.is-unknown{background:#9aa7a1}.pokedex-entry span{aspect-ratio:1;background:#f4f0d894;border:2px solid #10131a85;place-items:center;width:62px;display:grid;overflow:hidden}.pokedex-entry img{object-fit:contain;width:88%;height:88%}.pokedex-entry strong{width:100%;font-family:var(--font-pixel);text-align:center;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:10px;line-height:1.05;overflow:hidden}.setup-view,.map-view,.overlay-view,.battle-view,.rift-view,.champion-view,.game-over-view{min-height:100%;padding:28px}.setup-view{flex-direction:column;justify-content:center;gap:24px;display:flex}.setup-copy{border:3px solid var(--ink);width:100%;box-shadow:var(--pixel-shadow-soft);background:linear-gradient(90deg,#f4f0d8f5,#f4f0d8c7 68%,#f4f0d885),#f4f0d8c7;padding:18px;position:relative;overflow:hidden}.setup-copy:after{aspect-ratio:1;content:"";width:clamp(112px,18vw,210px);image-rendering:pixelated;opacity:.22;pointer-events:none;background:url(/assets/brand/pokerift-logo.png) 50%/contain no-repeat;position:absolute;top:50%;right:clamp(10px,3vw,34px);transform:translateY(-50%)}.setup-copy>*{z-index:1;position:relative}.setup-copy p{color:#2f3a33;max-width:58ch;font-size:16px;line-height:1.55}.setup-legal{background:repeating-linear-gradient(0deg,#ffffff29 0 2px,#0000 2px 6px),#f4f0d8db;border:3px solid #171b20c7;justify-content:space-between;align-items:flex-end;gap:16px;padding:12px;display:flex;box-shadow:3px 3px #10131a85}.setup-legal p{color:#354234;max-width:92ch;margin:0;font-size:12px;line-height:1.45}.setup-legal a,.privacy-back{color:#10131a;font-family:var(--font-pixel);text-transform:uppercase;font-size:12px;font-weight:900;text-decoration:none}.setup-legal a{background:var(--gold);border:2px solid #10131a;flex-shrink:0;padding:8px 10px;box-shadow:2px 2px #10131a}.setup-legal a:hover,.privacy-back:hover{background:#f4f0d8}.starter-grid,.choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.pokemon-choice,.item-choice{min-height:250px;color:var(--ink);text-align:center;cursor:pointer;background:repeating-linear-gradient(0deg,#ffffff29 0 2px,#0000 2px 6px),#f4f0d8;flex-direction:column;justify-content:space-between;align-items:center;gap:8px;padding:13px;transition:transform .12s steps(2,end),box-shadow .12s steps(2,end);display:flex}.pokemon-choice strong,.item-choice strong{overflow-wrap:anywhere;width:100%;font-size:17px;line-height:1.15}.pokemon-choice span,.pokemon-choice small,.item-choice span{color:#4b5b4d;font-size:13px}.pokemon-choice em{background:var(--mint);color:#10131a;min-height:34px;font-family:var(--font-pixel);text-transform:uppercase;border:2px solid #10131a;justify-content:center;align-self:stretch;align-items:center;font-size:12px;font-style:normal;font-weight:900;display:inline-flex}.dex-line{font-family:var(--font-pixel);font-weight:900;color:var(--ember)!important}.choice-ball{min-height:28px;font-family:var(--font-pixel);text-transform:uppercase;background:#d7e7b6;border:2px solid #10131a;align-items:center;gap:5px;padding:2px 7px 2px 4px;font-weight:900;display:inline-flex;color:var(--ink)!important;font-size:10px!important}.choice-ball img{object-fit:contain;width:22px;height:22px}.choice-ball span{color:inherit!important;font-size:inherit!important}.choice-ball-starter{background:#bfe4ff}.choice-ball-rare{background:#d7c2ff}.choice-level{font-family:var(--font-pixel);font-weight:900;color:var(--ember)!important}.pokemon-choice .portrait{width:112px;overflow:hidden}.pokemon-choice .portrait img{width:132%;max-width:none;height:132%;transform:translate(4%,-4%)}.portrait{aspect-ratio:1;background:linear-gradient(135deg,#ffffff57,#0000),#c9d8a8;border:2px solid #56674e;place-items:center;width:92px;display:grid;position:relative;box-shadow:inset 0 0 0 3px #ffffff3d,3px 3px #10131a4d}.portrait img{aspect-ratio:1;object-fit:contain;filter:drop-shadow(3px 5px #171b2024);width:86%;height:86%;image-rendering:pixelated;display:block}.portrait.is-shiny{background:radial-gradient(circle at 24% 20%,#ffffffd9,#0000 0 8%,#0000 28%),linear-gradient(135deg,#fbf3b0,#b7e2d1 48%,#d6c7ff);border-color:#f3c541;box-shadow:inset 0 0 0 3px #ffffff57,0 0 0 2px #f3c54159,3px 3px #10131a4d}.portrait span{max-width:86%;font-family:var(--font-pixel);background:#f4f0d8;border:2px solid #10131a;padding:1px 5px;font-size:10px;font-weight:900;position:absolute;bottom:6px;left:50%;transform:translate(-50%);color:var(--ink)!important}.portrait .shiny-mark{background:var(--gold);border-color:#10131a;padding:0 4px;font-size:12px;line-height:1.2;animation:.9s steps(3,end) infinite shiny-twinkle;inset:4px 4px auto auto;transform:none;color:#10131a!important}.portrait.missing-sprite{border-color:var(--ember);background:#e9573f33}.stat-bars{background:#c7d4abb8;border:2px solid #171b2047;gap:5px;width:100%;padding:8px;display:grid}.stat-row{grid-template-columns:34px minmax(0,1fr) 30px;align-items:center;gap:7px;display:grid}.stat-label,.stat-value{font-weight:900;color:var(--ink)!important;font-size:10px!important}.stat-label{text-align:left}.stat-value{text-align:right}.stat-track{background:#171b2029;border:2px solid #171b203d;width:100%;height:8px;overflow:hidden}.stat-fill{background:repeating-linear-gradient(90deg, #ffffff42 0 4px, transparent 4px 8px), linear-gradient(90deg, var(--mint), var(--gold));height:100%;display:block}.team-stat-popover .stat-bars{padding:6px}.team-stat-popover .stat-row{grid-template-columns:30px minmax(0,1fr) 26px;gap:6px}.map-view{flex-direction:column;gap:14px;display:flex}@media (min-width:981px){.game-shell.is-run-active.view-map .map-view{gap:10px;height:100%;min-height:0;padding:18px}.game-shell.is-run-active.view-map .map-header{padding:11px}.game-shell.is-run-active.view-map .map-header h2{font-size:29px}.game-shell.is-run-active.view-map .route-board{flex:auto;min-height:0}}.map-header{border:3px solid var(--ink);box-shadow:var(--pixel-shadow-soft);background:#f4f0d8bd;justify-content:space-between;gap:16px;padding:14px}.map-header h2{margin-bottom:0;font-size:34px}.map-gate-line{color:#354234;font-family:var(--font-pixel);margin:6px 0 0;font-size:12px;font-weight:900;line-height:1.35}.badge-meter{flex-wrap:wrap;justify-content:flex-end;gap:7px;width:min(318px,100%);display:flex}.badge-meter span{aspect-ratio:1;opacity:.45;background:#c7d4ab;border:2px solid #10131a;place-items:center;width:32px;display:grid;box-shadow:inset 0 0 0 3px #fff3,2px 2px #10131a80}.badge-meter span.earned{background:var(--gold);opacity:1;box-shadow:inset 0 0 0 3px #ffffff52,0 0 0 3px #f3c5415c,3px 3px #10131a}.badge-meter img{object-fit:contain;filter:grayscale()opacity(.66);width:24px;height:24px}.badge-meter span.earned img{filter:drop-shadow(0 2px #10131a3d)}.route-board{background:linear-gradient(180deg, #d9e9aa0f, #6fb0801f), var(--route-board-image,url(/assets/map/types/normal.png)) center / cover no-repeat, linear-gradient(180deg, #9fcf8e, #6fb080);min-height:clamp(720px,78svh,880px);box-shadow:inset 0 0 0 4px #ffffff2e, var(--pixel-shadow-soft);image-rendering:pixelated;border:4px solid #10131a;flex:1;position:relative}.route-board:before{content:"";pointer-events:none;border:2px dashed #10131a1f;position:absolute;inset:10px}.route-lines{width:100%;height:100%;position:absolute;inset:0}.route-lines line{stroke:#10131a6b;stroke-dasharray:2.3 2.1;stroke-width:.8px;stroke-linecap:square;vector-effect:non-scaling-stroke}.route-lines line.is-active{stroke:#e9573f;stroke-dasharray:3 2;stroke-width:1.35px}.route-node{z-index:2;aspect-ratio:1;width:clamp(58px,4.15vw,68px);color:var(--ink);cursor:pointer;background:#f4f0d8;border:3px solid #10131a;place-items:center;padding:3px;transition:border-color .12s steps(2,end),box-shadow .12s steps(2,end),outline-color .12s steps(2,end);display:grid;position:absolute;overflow:visible;transform:translate(-50%,-50%);box-shadow:3px 3px #10131a80}.route-node[data-route-disabled=true]{cursor:default;filter:grayscale(.74);opacity:.64}.route-node.is-complete{z-index:4;background:var(--event-color)}.route-node.is-current{z-index:6;box-shadow:0 0 0 5px #10131a2e,3px 3px #10131a80}.route-node.is-available{z-index:7;outline:4px solid #43c68170}.route-node.is-available:hover{transform:translate(-50%,-50%);box-shadow:0 0 0 6px #43c68142,0 0 0 10px #f4f0d840,3px 3px #10131a}.route-node:hover,.route-node:focus-visible,.route-node.is-tooltip-open{z-index:20}.route-tooltip{z-index:40;width:max-content;max-width:min(232px,42vw);color:var(--ink);text-align:left;opacity:0;pointer-events:none;background:linear-gradient(#ffffff52,#0000 28%),#f4f0d8;border:4px solid #10131a;gap:5px;padding:10px 12px;transition:opacity .12s steps(2,end),transform .12s steps(2,end);display:grid;position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%,5px);box-shadow:inset 0 0 0 3px #d7e7b6,4px 4px #10131ab8}.route-tooltip:before{content:"";background:linear-gradient(45deg,#0000 0 37%,#10131a 38% 62%,#0000 63%),linear-gradient(45deg,#0000 0 45%,#f4f0d8 46% 56%,#0000 57%);width:16px;height:11px;position:absolute;bottom:-11px;left:calc(50% - 8px)}.route-node[data-tooltip-side=below] .route-tooltip{top:calc(100% + 12px);bottom:auto;transform:translate(-50%,-5px)}.route-node[data-tooltip-side=below] .route-tooltip:before{top:-11px;bottom:auto;transform:rotate(180deg)}.route-node:hover .route-tooltip,.route-node:focus-visible .route-tooltip,.route-node.is-tooltip-open .route-tooltip{opacity:1;transform:translate(-50%)}.route-tooltip strong{overflow-wrap:anywhere;font-family:var(--font-pixel);text-transform:uppercase;font-size:13px;line-height:1}.route-tooltip span,.route-tooltip em{overflow-wrap:anywhere;color:#38443f;font-size:12px;font-style:normal;line-height:1.22;display:block}.route-tooltip em{color:#7b1624;font-family:var(--font-pixel);text-transform:uppercase;font-size:10px;font-weight:900}.event-sprite{pointer-events:none;place-items:center;width:100%;max-width:48px;height:100%;max-height:48px;display:grid;overflow:hidden}.event-sprite img{object-fit:contain;filter:drop-shadow(2px 3px #10131a38);width:100%;height:100%;display:block}.event-sprite-center,.event-sprite-gym,.event-sprite-trainer,.event-sprite-pokemon-choice,.event-sprite-grass,.event-sprite-item,.event-sprite-random,.event-sprite-upgrade,.event-sprite-start{max-width:48px;max-height:48px}.overlay-view{flex-direction:column;justify-content:center;gap:18px;min-height:100%;display:flex}.overlay-heading,.battle-title{border:3px solid var(--ink);box-shadow:var(--pixel-shadow-soft);background:#f4f0d8c2;padding:15px}.overlay-heading{max-width:760px}.overlay-heading p{color:#354234;font-size:16px}.item-choice{justify-content:center;min-height:210px}.item-choice small{color:var(--ember);font-family:var(--font-pixel);text-transform:uppercase;font-size:11px;font-weight:900}.item-sprite{aspect-ratio:1;background:#c7d4ab;border:2px solid #171b2057;place-items:center;width:48px;display:grid}.item-sprite img{object-fit:contain;width:72%;height:72%}.item-assignment{gap:14px;display:grid}.item-summary{background:#f4f0d8;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:12px;padding:12px;display:grid}.item-summary strong{font-family:var(--font-pixel);font-size:17px;display:block}.item-summary span{color:#354234;font-size:14px}.recruit-summary{background:#f4f0d8d1;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:14px;padding:12px;display:grid}.recruit-summary .portrait{width:68px}.recruit-summary strong{color:var(--ink);font-family:var(--font-pixel);text-transform:uppercase;font-size:18px;line-height:1.1;display:block}.recruit-summary span{color:#4b5b4d;font-size:13px}.held-item{background:#f4f0d8d1;border:2px solid #171b2042;align-items:center;gap:5px;width:fit-content;max-width:100%;padding:3px 6px;font-weight:900;color:var(--ink)!important;font-size:11px!important;display:inline-flex!important}.held-item .item-sprite{width:22px}.held-item.empty{font-weight:700;color:#5d6253!important}.evolution-view{text-align:center;align-items:center}.evolution-view .overlay-heading{text-align:left;width:min(760px,100%)}.evolution-ready{border:3px solid var(--ink);width:min(520px,100%);box-shadow:var(--pixel-shadow-soft);background:repeating-linear-gradient(0deg,#ffffff29 0 2px,#0000 2px 6px),#f4f0d8e0;grid-template-columns:minmax(86px,1fr) auto minmax(86px,1fr);place-items:center;gap:16px;padding:18px;display:grid}.evolution-ready .primary-button,.evolution-ready strong{grid-column:1/-1}.evolution-ready .portrait{width:min(132px,100%)}.evolution-ready-hidden-target{grid-template-columns:1fr}.evolution-arrow{font-family:var(--font-pixel);font-weight:900;color:var(--ember)!important;font-size:26px!important}.evolution-stage{aspect-ratio:4/3;border:5px solid var(--ink);width:min(430px,100%);box-shadow:inset 0 0 0 5px #ffffff2e, var(--pixel-shadow-soft);isolation:isolate;background:radial-gradient(circle,#f4f0d8eb 0 13%,#0000 14%),repeating-radial-gradient(circle,#f4f0d861 0 8px,#0000 8px 18px),repeating-linear-gradient(90deg,#ffffff29 0 3px,#0000 3px 10px),#6fa575;place-items:center;display:grid;position:relative;overflow:hidden}.evolution-stage:before{content:"";border:2px dashed #171b2033;position:absolute;inset:14px}.evolution-ring,.evolution-flash,.evolution-sprite{pointer-events:none;position:absolute}.evolution-ring{aspect-ratio:1;border:5px solid #f4f0d8bd;width:62%;animation:3.6s steps(8,end) both evolution-ring;box-shadow:0 0 0 9px #43c6813d,inset 0 0 0 9px #f4f0d82e}.evolution-sprite{z-index:2;object-fit:contain;width:min(54%,190px);height:auto;max-height:78%;image-rendering:pixelated;top:50%;left:50%;transform:translate(-50%,-50%)}.evolution-sprite-current{filter:drop-shadow(4px 7px #10131a2e);animation:3.6s step-end forwards evolution-current}.evolution-sprite-target{filter:brightness(0)grayscale()contrast(1.9)drop-shadow(4px 7px #10131a3d);opacity:0;animation:3.6s step-end forwards evolution-target}.evolution-missing{aspect-ratio:1;border:3px solid var(--ink);color:var(--ink);font-family:var(--font-pixel);background:#d7d3b1;place-items:center;font-weight:900;display:grid}.evolution-flash{z-index:4;opacity:0;background:#f4f0d8;animation:3.6s step-end forwards evolution-flash;inset:0}.evolution-view.is-complete .evolution-ring,.evolution-view.is-complete .evolution-flash,.evolution-view.is-complete .evolution-sprite-current{opacity:0;animation:none}.evolution-view.is-complete .evolution-sprite-target{opacity:1;filter:drop-shadow(4px 7px #10131a2e);animation:none}.evolution-dialog{border:3px solid var(--ink);max-width:min(520px,100%);box-shadow:var(--pixel-shadow-soft);background:#f4f0d8;justify-content:center;align-items:center;gap:10px;padding:10px 14px;display:inline-flex}.evolution-dialog strong{font-family:var(--font-pixel);text-transform:uppercase;font-size:16px}.evolution-dialog span{color:#4b5b4d;font-weight:900}.evolution-actions{flex-wrap:wrap;justify-content:center;gap:10px;max-width:min(520px,100%);display:flex}.battle-view{flex-direction:column;gap:14px;min-height:100%;display:flex}.battle-title{justify-content:space-between;gap:10px}.battle-title h2{margin-bottom:0;font-size:32px}.type-pill{background:var(--mint);font-family:var(--font-pixel);text-transform:uppercase;border:3px solid #10131a;padding:8px 10px;font-size:12px;font-weight:900;box-shadow:3px 3px #10131a}.battle-arena{--move-a:#f4f0d8;--move-b:#526050;min-height:236px;box-shadow:inset 0 0 0 4px #ffffff2e, var(--pixel-shadow-soft);background:radial-gradient(at 24% 74%,#f4f0d885,#0000 0 18%,#0000 36%),radial-gradient(at 76% 36%,#f4f0d86b,#0000 0 16%,#0000 34%),repeating-linear-gradient(0deg,#171b2017 0 2px,#0000 2px 12px),linear-gradient(#b9d99c,#82b77d 58%,#6b9f70);border:3px solid #10131a;position:relative;overflow:hidden}.battle-arena:before{content:"";pointer-events:none;border:2px dashed #171b2038;position:absolute;inset:14px}.battle-fighter{z-index:3;justify-items:center;gap:5px;width:min(22%,156px);min-width:104px;transition:transform .16s steps(2,end);display:grid;position:absolute}.battle-fighter-player{--lunge-x:18px;--hit-x:-14px;bottom:22px;left:10%}.battle-fighter-enemy{--lunge-x:-18px;--hit-x:14px;top:22px;right:10%}.battle-fighter .portrait{border-width:3px;width:100%}.battle-fighter-name{max-width:100%;color:var(--ink);font-family:var(--font-pixel);background:#f4f0d8;border:2px solid #10131a;align-items:center;gap:4px;padding:3px 7px;font-size:11px;font-weight:900;display:inline-flex;box-shadow:2px 2px #10131a}.battle-fighter-name i{color:#b47f00;font-style:normal}.battle-fighter.is-attacker{animation:.42s steps(4,end) battle-lunge}.battle-fighter.is-defender{animation:.52s steps(5,end) battle-hit}.battle-fighter.is-defender.move-ground{animation:.62s steps(6,end) battle-quake}.battle-fighter.is-defender.impact-miss{animation:.42s steps(4,end) battle-near-miss}.battle-projectile{z-index:2;background:repeating-linear-gradient(90deg, #ffffff8c 0 6px, transparent 6px 12px), linear-gradient(90deg, var(--move-a), var(--move-b));height:10px;box-shadow:0 0 14px var(--move-a), 3px 3px 0 #10131a40;transform-origin:0;border:2px solid #10131abf;animation:.52s steps(8,end) both battle-projectile;position:absolute;top:48%;left:25%;right:25%}.battle-projectile.from-enemy{transform-origin:100%;animation-name:battle-projectile-reverse}.battle-projectile.impact-miss{opacity:.74;filter:grayscale(.5)}.move-normal{--move-a:#f4f0d8;--move-b:#a7a58d}.move-fire{--move-a:#ffca63;--move-b:#e9573f}.move-water{--move-a:#b9f1ff;--move-b:#2f8fcf}.move-electric{--move-a:#fff27a;--move-b:#f3c541}.battle-projectile.move-electric{clip-path:polygon(0 38%,16% 38%,20% 0,34% 56%,52% 20%,60% 68%,78% 28%,84% 56%,100% 56%,100% 84%,80% 84%,76% 100%,58% 76%,46% 100%,32% 52%,24% 84%,0 84%);height:16px}.move-grass{--move-a:#c9f27c;--move-b:#43c681}.move-ice{--move-a:#eefcff;--move-b:#71cdd8}.move-fighting{--move-a:#ffc1a6;--move-b:#c45b3f}.move-poison{--move-a:#e0b5ff;--move-b:#9258b8}.move-ground{--move-a:#dfc386;--move-b:#8f6c3c}.battle-projectile.move-ground{background:repeating-linear-gradient(90deg,#432d1957 0 5px,#0000 5px 11px),linear-gradient(90deg,#ecd69a,#9a7444);border-style:dashed;height:18px}.move-flying{--move-a:#e9f4ff;--move-b:#8da7e4}.move-psychic{--move-a:#ffc0df;--move-b:#f26691}.move-bug{--move-a:#d7ef82;--move-b:#8eb542}.move-rock{--move-a:#d9ccaa;--move-b:#8d8164}.move-ghost{--move-a:#c4b7ff;--move-b:#5f5a9d}.move-dragon{--move-a:#b6d1ff;--move-b:#6d68d4}.move-dark{--move-a:#9b9388;--move-b:#3a3336}.move-steel{--move-a:#e0e7ea;--move-b:#7e9198}.move-fairy{--move-a:#ffe0f1;--move-b:#f295c5}.battle-columns{grid-template-columns:minmax(220px,1fr) 150px minmax(220px,1fr);align-items:stretch;gap:12px;display:grid}.battle-team,.versus-block,.battle-log{background:#f4f0d8;padding:14px}.versus-block{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.versus-block span{color:#4b5b4d;font-family:var(--font-pixel);text-transform:uppercase;font-size:11px;font-weight:900}.battle-pokemon{border-top:2px dashed #171b203d;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:10px;padding:9px 0;display:grid}.team-row{--team-portrait-size:74px;--team-sprite-zoom:1.46;grid-template-columns:28px var(--team-portrait-size) minmax(0, 1fr);border-top:2px dashed #171b203d;align-items:center;gap:8px;padding:9px 0;display:grid;position:relative}.battle-pokemon:first-of-type,.team-row:first-child{border-top:0}.battle-pokemon .portrait{width:58px}.team-row .portrait{width:var(--team-portrait-size);overflow:hidden}.team-row .portrait img{width:calc(92% * var(--team-sprite-zoom));height:calc(92% * var(--team-sprite-zoom));max-width:none;transform:translate(4%,-4%)}.battle-pokemon strong,.team-name-line strong,.inventory-item strong{overflow-wrap:anywhere;font-family:var(--font-pixel);font-size:14px;display:block}.battle-pokemon span,.team-meta,.team-row small,.battle-pokemon small{color:#4b5b4d;font-size:12px}.battle-pokemon.is-fainted,.team-row.is-fainted{opacity:.48}.team-row.is-dragging{opacity:.64}.team-row.is-item-drop-ready{cursor:copy}.team-row.is-item-drop-over{background:#43c6812e;box-shadow:inset 0 0 0 2px #10131a47}.team-row.is-drop-before:before,.team-row.is-drop-after:after{z-index:3;border-top:3px solid var(--mint);content:"";filter:drop-shadow(0 0 4px #43c681bf);position:absolute;left:0;right:0}.team-row.is-drop-before:before{top:-2px}.team-row.is-drop-after:after{bottom:-2px}.team-drag-handle,.team-portrait-trigger,.mini-button{color:var(--ink);font-family:var(--font-pixel);border:2px solid #10131a;font-weight:900}.team-drag-handle{box-sizing:border-box;cursor:grab;touch-action:none;background:#d7d3b1;place-items:center;width:28px;height:42px;padding:0 5px;display:grid}.team-drag-handle:active{cursor:grabbing}.team-drag-handle:disabled{cursor:default;opacity:.35}.team-portrait-trigger{width:var(--team-portrait-size);cursor:help;background:0 0;border:0;place-items:center;padding:0;display:grid;position:relative}.team-portrait-trigger .portrait{pointer-events:none}.team-stat-popover{z-index:40;visibility:hidden;opacity:0;pointer-events:none;width:min(224px,100vw - 34px);transition:opacity .12s steps(2,end),transform .12s steps(2,end),visibility .12s steps(2,end);position:absolute;top:calc(100% + 7px);left:-3px;transform:translateY(-4px)}.team-portrait-trigger:hover .team-stat-popover,.team-portrait-trigger:focus-visible .team-stat-popover,.team-portrait-trigger.is-open .team-stat-popover{visibility:visible;opacity:1;transform:translateY(0)}.team-row-body{min-width:0}.team-name-line,.team-held-line,.team-item-actions,.type-symbols{align-items:center;display:flex}.team-name-line{flex-wrap:wrap;gap:5px;min-width:0}.team-meta{margin-top:2px;display:block}.team-held-line{flex-wrap:wrap;gap:5px;min-height:28px;margin-top:5px}.team-item-actions{flex-wrap:wrap;gap:4px}.item-transfer-hint{background:repeating-linear-gradient(0deg,#ffffff29 0 2px,#0000 2px 6px),#d7d3b1;border:2px solid #10131a;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:10px;padding:8px;display:grid}.item-transfer-hint span{min-width:0}.item-transfer-hint strong{overflow-wrap:anywhere;font-family:var(--font-pixel);font-size:12px;display:block}.item-transfer-hint small{color:#4b5b4d;font-size:11px;line-height:1.25;display:block}.mini-button{text-transform:uppercase;cursor:pointer;background:#f4f0d8;justify-content:center;align-items:center;gap:3px;min-height:24px;padding:2px 5px;font-size:10px;line-height:1;display:inline-flex}.mini-button:hover,.mini-button.is-active,.inventory-item.is-selected{background:var(--gold);box-shadow:2px 2px #10131a}.type-symbols{gap:3px}.type-symbol{width:22px;height:18px;font-family:var(--font-pixel);text-transform:uppercase;background:#a8a77a;border:2px solid #10131ab8;place-items:center;font-weight:900;line-height:1;display:inline-grid;box-shadow:inset 0 0 0 2px #ffffff29;color:#10131a!important;font-size:8px!important}.type-fire{background:#ee8130}.type-water{background:#6390f0}.type-electric{background:#f7d02c}.type-grass{background:#7ac74c}.type-ice{background:#96d9d6}.type-fighting{background:#c22e28;color:#f4f0d8!important}.type-poison{background:#a33ea1;color:#f4f0d8!important}.type-ground{background:#e2bf65}.type-flying{background:#a98ff3}.type-psychic{background:#f95587}.type-bug{background:#a6b91a}.type-rock{background:#b6a136}.type-ghost{background:#735797;color:#f4f0d8!important}.type-dragon{background:#6f35fc;color:#f4f0d8!important}.type-dark{background:#705746;color:#f4f0d8!important}.type-steel{background:#b7b7ce}.type-fairy{background:#d685ad}.hp-bar{background:#171b2024;border:2px solid #171b2047;width:100%;height:8px;margin:6px 0 4px;overflow:hidden}.hp-bar i{background:repeating-linear-gradient(90deg, #ffffff42 0 4px, transparent 4px 8px), linear-gradient(90deg, var(--mint), var(--gold));height:100%;display:block}.battle-log{gap:6px;max-height:242px;display:grid;overflow:auto}.battle-log p{color:#354234;margin-bottom:0}.battle-log p:last-child{color:var(--ink);font-weight:900}.rift-view,.league-view,.champion-view,.game-over-view{text-align:center;align-content:center;place-items:center;min-height:100%;display:grid}.rift-view img{border:3px solid var(--ink);max-width:min(360px,90%);height:auto;box-shadow:var(--pixel-shadow-soft);margin-bottom:12px}.rift-badge-award{aspect-ratio:1;border:5px solid var(--ink);width:min(210px,72vw);box-shadow:inset 0 0 0 5px #ffffff38, var(--pixel-shadow-soft);background:radial-gradient(circle,#f4f0d8f0 0 34%,#d7e7b6eb 35% 100%),#d7e7b6;place-items:center;display:grid}.rift-badge-award img{object-fit:contain;width:62%;height:62%;box-shadow:none;border:0;margin:0}.rift-badge-name{border:3px solid var(--ink);font-family:var(--font-pixel);text-transform:uppercase;box-shadow:var(--pixel-shadow-soft);background:#f4f0d8;padding:7px 11px;font-size:14px;display:inline-block}.rift-view p,.league-view p,.champion-view p,.game-over-view p{color:#354234;max-width:560px;font-size:16px;line-height:1.55}.league-card{border:3px solid var(--ink);width:min(430px,100%);box-shadow:var(--pixel-shadow-soft);background:repeating-linear-gradient(0deg,#ffffff29 0 2px,#0000 2px 6px),#f4f0d8;margin:4px 0 16px;padding:16px;display:grid}.league-card span,.league-card small{color:#4b5b4d;font-family:var(--font-pixel);text-transform:uppercase;font-size:11px;font-weight:900}.league-card strong{font-family:var(--font-pixel);text-transform:uppercase;margin:5px 0;font-size:clamp(24px,4vw,36px);line-height:1}.league-preview-board{grid-template-columns:repeat(5,minmax(148px,1fr));gap:10px;width:min(980px,100%);margin:0 0 18px;display:grid}.league-preview-card{text-align:left;box-shadow:var(--pixel-shadow-soft);background:repeating-linear-gradient(0deg,#ffffff24 0 2px,#0000 2px 6px),#f4f0d8;border:3px solid #10131a;align-content:start;gap:10px;padding:10px;display:grid}.league-preview-card.is-cleared{opacity:.62;filter:grayscale(.58)}.league-preview-card.is-current{box-shadow:0 0 0 4px #f3c5414d, var(--pixel-shadow-soft);background:repeating-linear-gradient(0deg,#ffffff2e 0 2px,#0000 2px 6px),#fff2a6}.league-preview-card header{border-bottom:2px dashed #10131a42;gap:3px;padding-bottom:8px;display:grid}.league-preview-card header span,.league-preview-card header small{color:#4b5b4d;font-family:var(--font-pixel);text-transform:uppercase;font-size:9px;font-weight:900;line-height:1.1}.league-preview-card header strong{overflow-wrap:anywhere;font-family:var(--font-pixel);text-transform:uppercase;font-size:16px;line-height:1}.league-preview-team{gap:7px;display:grid}.league-preview-pokemon{grid-template-columns:46px minmax(0,1fr);align-items:center;gap:7px;min-width:0;display:grid}.league-preview-pokemon .portrait{border-width:2px;width:46px;overflow:hidden}.league-preview-pokemon .portrait img{width:126%;max-width:none;height:126%;transform:translate(4%,-4%)}.league-preview-pokemon strong,.league-preview-pokemon span{display:block}.league-preview-pokemon strong{overflow-wrap:anywhere;font-family:var(--font-pixel);font-size:11px;line-height:1}.league-preview-pokemon span{color:#4b5b4d;margin:2px 0 3px;font-size:11px;line-height:1}.league-progress{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:18px;display:flex}.league-progress span{aspect-ratio:1;border:3px solid var(--ink);width:38px;color:var(--ink);font-family:var(--font-pixel);background:#d7d3b1;place-items:center;font-weight:900;display:grid;box-shadow:3px 3px #10131a}.league-progress span.is-cleared{background:var(--mint)}.league-progress span.is-current{background:var(--gold);box-shadow:0 0 0 4px #f3c54147,3px 3px #10131a}.stat-grid{grid-template-columns:repeat(3,minmax(90px,1fr));gap:10px;width:min(460px,100%);margin:8px 0 18px;display:grid}.stat-grid span{border:3px solid var(--ink);color:#4b5b4d;font-family:var(--font-pixel);text-transform:uppercase;box-shadow:var(--pixel-shadow-soft);background:#f4f0d8;padding:12px;font-size:11px;display:grid}.stat-grid strong{color:var(--ink);font-size:28px}.panel-empty{text-align:center;place-items:center;min-height:180px;display:grid}.panel-empty p{color:#d2d8ad;margin:0}.run-panel{gap:14px;display:grid}.panel-section{min-width:0}.team-list,.item-list{gap:7px;display:grid}.inventory-item{color:var(--ink);text-align:left;cursor:pointer;background:#f4f0d8;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:10px;padding:8px;display:grid;position:relative}.inventory-item:disabled{cursor:default;opacity:.54}.inventory-item span{min-width:0;display:grid}.inventory-item small{color:#4b5b4d;overflow-wrap:anywhere;font-size:11px;line-height:1.25;display:block}.inventory-item .item-sprite{flex:0 0 48px;width:48px}.inventory-count{background:var(--gold);color:#10131a;min-height:24px;font-family:var(--font-pixel);border:3px solid #10131a;place-items:center;font-size:11px;font-weight:900;line-height:1;position:absolute;top:-7px;right:-7px;box-shadow:2px 2px #10131a80;min-width:28px!important;display:inline-grid!important}.compact-stats{color:var(--ink);background:#f4f0d8;padding:12px}.compact-stats .panel-label{color:#694b19}.compact-stats strong{font-family:var(--font-pixel);font-size:32px;display:block}.compact-stats span{color:#4b5b4d}@keyframes battle-lunge{0%,to{transform:translate(0)}42%{transform:translate(var(--lunge-x), -5px)}62%{transform:translate(calc(var(--lunge-x) * .55), 2px)}}@keyframes battle-hit{0%,to{transform:translate(0)}22%{transform:translate(var(--hit-x), -3px)}48%{transform:translate(calc(var(--hit-x) * -.38), 2px)}72%{transform:translate(calc(var(--hit-x) * .2), -1px)}}@keyframes battle-quake{0%,to{transform:translate(0)}12%{transform:translate(-8px,5px)}24%{transform:translate(8px,-4px)}36%{transform:translate(-7px,4px)}50%{transform:translate(7px,-3px)}68%{transform:translate(-4px,2px)}}@keyframes battle-near-miss{0%,to{transform:translate(0)}35%{transform:translate(calc(var(--hit-x) * -.45), 0)}}@keyframes battle-projectile{0%{opacity:0;transform:scaleX(0)translate(-6px)}18%{opacity:1}to{opacity:0;transform:scaleX(1)translate(18px)}}@keyframes battle-projectile-reverse{0%{opacity:0;transform:scaleX(0)translate(6px)}18%{opacity:1}to{opacity:0;transform:scaleX(1)translate(-18px)}}@keyframes evolution-current{0%,13%,25%,35%,43%,50%,56%,62%,67%,72%,76%,80%,83%,86%,88%{opacity:1}7%,19%,30%,39%,47%,53%,59%,65%,70%,74%,78%,82%,85%,87%,89%,to{opacity:0}}@keyframes evolution-target{0%,13%,25%,35%,43%,50%,56%,62%,67%,72%,76%,80%,83%,86%,88%{opacity:0;filter:brightness(0)grayscale()contrast(1.9)drop-shadow(4px 7px #10131a3d)}7%,19%,30%,39%,47%,53%,59%,65%,70%,74%,78%,82%,85%,87%,89%{opacity:1;filter:brightness(0)grayscale()contrast(1.9)drop-shadow(4px 7px #10131a3d)}93%,to{opacity:1;filter:drop-shadow(4px 7px #10131a2e)}}@keyframes evolution-flash{0%,88%,96%,to{opacity:0}91%,94%{opacity:.88}}@keyframes evolution-ring{0%{opacity:.32;transform:scale(.78)rotate(0)}65%{opacity:.86;transform:scale(1.08)rotate(180deg)}to{opacity:0;transform:scale(1.32)rotate(360deg)}}@keyframes shiny-twinkle{0%,to{filter:brightness()}50%{filter:brightness(1.45)}}@keyframes achievement-pop{0%{opacity:0;transform:translate(8px,8px)}to{opacity:1;transform:translate(0)}}@media (max-width:1320px){.game-shell,.game-shell.is-run-active{grid-template-columns:minmax(0,1fr) 300px}}@media (max-width:1100px){.achievement-grid,.league-preview-board{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:980px){.game-shell,.game-shell.is-run-active{grid-template-columns:1fr;gap:12px;padding:10px}.command-rail{grid-template-columns:minmax(0,1fr);display:grid}.play-surface{min-height:auto}.game-controls{z-index:90;width:auto;position:fixed;top:10px;right:10px}.control-button-achievements{min-width:74px}.achievement-modal-backdrop{padding:10px}.achievement-modal{max-height:calc(100svh - 20px)}.achievement-categories,.hall-list{padding:10px}.hall-team{grid-template-columns:repeat(3,minmax(0,1fr))}.pokedex-modal-backdrop{padding:10px}.pokedex-shell{max-height:calc(100svh - 20px)}.pokedex-topbar{padding:14px 14px 12px 72px}.pokedex-body{grid-template-columns:1fr;overflow:auto}.pokedex-list-panel{max-height:52svh}.battle-arena{min-height:218px}.battle-fighter{width:min(28%,132px);min-width:88px}.battle-fighter-player{left:7%}.battle-fighter-enemy{right:7%}.setup-view,.battle-columns,.run-panel{grid-template-columns:1fr}.setup-view{align-items:stretch}.starter-grid,.choice-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}.map-header,.battle-title{flex-direction:column;align-items:flex-start}.badge-meter{justify-content:flex-start}.route-board{min-height:760px}.league-view{align-content:start}}@media (max-width:640px){h1,h2,.map-header h2,.battle-title h2{font-size:28px}.setup-view,.map-view,.overlay-view,.battle-view,.rift-view,.league-view,.champion-view,.game-over-view{padding:16px}.brand-lockup{grid-template-columns:48px minmax(0,1fr)}.game-controls{padding:4px}.control-button{min-width:36px;height:34px;font-size:10px}.control-button-achievements{min-width:64px}.achievement-toasts{bottom:10px;right:10px}.achievement-modal-header{padding:12px}.achievement-modal-header h2{font-size:26px}.achievement-grid{grid-template-columns:1fr}.achievement-category-heading,.hall-entry-header,.setup-legal{flex-direction:column;align-items:flex-start}.hall-entry-header>span{text-align:left;justify-items:start}.hall-team{grid-template-columns:repeat(2,minmax(0,1fr))}.hall-pokemon-sprite{width:74px}.pokedex-topbar{flex-direction:column;align-items:flex-start}.pokedex-topbar h2{font-size:28px}.pokedex-tabs{flex-wrap:wrap}.pokedex-tabs button{flex:140px}.pokedex-body{padding:10px}.pokedex-grid{grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:7px}.pokedex-entry{grid-template-rows:54px auto auto;min-height:100px}.pokedex-entry span{width:54px}.brand-mark{width:48px}.region-grid,.setup-region-stack .region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.route-board{min-height:720px}.route-node{width:42px}.route-tooltip{max-width:min(220px,76vw)}.league-preview-board{grid-template-columns:1fr}.league-preview-card{padding:9px}.badge-meter span{width:29px}.team-row{--team-portrait-size:68px;--team-sprite-zoom:1.34}.stat-grid{grid-template-columns:1fr}}@media (max-width:420px){.game-shell,.game-shell.is-run-active{padding:8px}.region-grid,.setup-region-stack .region-grid,.hall-team{grid-template-columns:1fr}.route-board{min-height:700px}.battle-arena{min-height:190px}.battle-fighter{width:30%;min-width:78px}.battle-fighter-name{text-overflow:ellipsis;white-space:nowrap;max-width:96px;font-size:9px;overflow:hidden}.route-node{width:38px}.pokemon-choice,.item-choice{min-height:228px}.evolution-ready{grid-template-columns:1fr}.evolution-arrow{transform:rotate(90deg)}.achievement-card{grid-template-columns:62px minmax(0,1fr);gap:9px;padding:9px}.achievement-card h3{font-size:13px}}
