:root{--accent:#e34a54;--bg:#f5f3ee;--surface:#fff;--soft:#f0ede7;--ink:#24334b;--muted:#647184;--line:#dedfdc;color:var(--ink);background:var(--bg);color-scheme:light}
:root[data-theme=dark]{--bg:#111722;--surface:#1a2331;--soft:#222f40;--ink:#e8edf4;--muted:#a5b2c2;--line:#344154;color-scheme:dark}
@media(prefers-color-scheme:dark){:root[data-theme=system]{--bg:#111722;--surface:#1a2331;--soft:#222f40;--ink:#e8edf4;--muted:#a5b2c2;--line:#344154;color-scheme:dark}}
[hidden]{display:none!important}body{background:var(--bg);color:var(--ink)}.rail{background:var(--surface);border-color:var(--line);overflow-y:auto;padding-top:24px}.rail nav{gap:3px}.rail nav button{font-size:13px;padding:9px 12px}.rail-bottom{position:static;margin-top:25px}.brand{color:var(--accent);margin-bottom:22px}.brand span,.brand b{color:var(--ink)}button,.button,select,input,textarea{color:var(--ink);background:var(--surface);border-color:var(--line);font:inherit;border-radius:8px}textarea{padding:12px;resize:vertical}button:hover,.button:hover{background:var(--soft);border-color:var(--accent)}button.active,.primary{background:var(--accent);color:white;border-color:var(--accent)}button.active:hover,.primary:hover{filter:brightness(.95);background:var(--accent)}p,.muted,small,label,.stat span{color:var(--muted)}a,.check{color:var(--accent)}.stat,.poke,.event,.empty,.hunt-tracker,.panel,.data-row,.hunt-card,.location,.lock-card{background:var(--surface);border-color:var(--line)}.poke.caught{background:color-mix(in srgb,var(--accent) 8%,var(--surface));border-color:var(--accent)}.stat:first-child strong,.location b,.hunt-counter strong{color:var(--accent)}.sprite{background:none!important;object-fit:contain;width:64px!important;height:64px!important;flex:0 0 64px!important;image-rendering:auto}.hunt-top>.sprite{flex:0 0 64px!important}.panel .hero .sprite{width:128px!important;height:128px!important;flex-basis:128px!important;transform:none;margin:0}.pokemon-sprite{object-fit:contain;vertical-align:middle;flex-shrink:0}.game-label{display:inline-flex;align-items:center;gap:5px;font-size:12px;vertical-align:middle}.game-label img{object-fit:contain}.game-separator{font-size:11px;color:var(--muted)}.progress i{background:var(--accent)}.panel{z-index:8}.community-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:22px}.community-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:20px}.community-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:20px;min-width:0}.community-card h2{font-size:18px;letter-spacing:-.4px}.community-card ol{padding-left:23px;margin:0}.community-card li{padding:10px 2px;border-bottom:1px solid var(--line);font-size:13px}.community-card li b{float:right;margin-top:8px}.community-card li img{margin:0 7px}.catch-row{display:flex;gap:13px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.catch-row>div,.catch-row>span{flex:1;min-width:0}.catch-row small,.community-card li small{display:block;letter-spacing:0;font-size:11px}.catch-row button{font-size:11px;padding:7px 10px}.profile-heading{display:flex;gap:24px;align-items:center;margin-bottom:26px}.avatar{width:100px;height:100px;border-radius:50%;object-fit:cover;border:3px solid var(--accent)}.admin-badge{background:var(--accent);color:white}.progress-badge{display:inline-block;padding:8px 12px;border:1px solid var(--line);border-radius:20px;color:var(--ink);font-size:12px;margin:4px;background:var(--surface)}.progress-badge span{color:var(--accent)}.tier-master{border-color:#cba748}.gym-badge{display:inline-grid;place-items:center;width:27px;height:30px;margin-right:5px;clip-path:polygon(50% 0,100% 25%,90% 75%,50% 100%,10% 75%,0 25%);background:var(--accent);color:white;font-weight:700}.game-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.community-card form{max-width:750px}form label{display:block;margin:14px 0}form label>input:not([type=checkbox]):not([type=color]),form label>select,form label>textarea{display:block;width:100%;margin-top:6px}input[type=checkbox]{width:auto!important;margin-right:8px}fieldset{border:1px solid var(--line);border-radius:9px;margin:20px 0;padding:16px}.game-checks label{margin:0;font-size:12px;display:flex;align-items:center}dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:15px;max-width:600px;width:calc(100% - 30px);max-height:90vh;padding:25px}dialog::backdrop{background:#0c172a99}dialog form{margin:0}.signed-out>main,.signed-out>.rail,.signed-out>#panel{display:none}.signed-out{min-height:100vh;background:radial-gradient(ellipse at 15% 15%,color-mix(in srgb,var(--accent) 12%,var(--bg)),var(--bg) 60%)}#authRoot{min-height:100vh;display:grid;place-items:center;padding:35px 16px}.auth-card{width:100%;max-width:460px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:36px;box-shadow:0 20px 65px #16263812}.original-mark{color:var(--accent);font-size:45px}.auth-brand{font-weight:750;font-size:19px}.auth-brand span{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:4px}.auth-card h1{font-size:28px;margin-top:28px}.auth-card button[type=submit]{width:100%;margin-top:12px}.auth-links{display:flex;gap:6px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:14px}.auth-links button{font-size:11px;padding:7px 10px}.auth-fine{font-size:10px;margin-bottom:0}.ad-slot{border:1px solid var(--line);background:var(--surface);border-radius:8px;text-align:center;padding:10px}.ad-slot small{display:block;font-size:9px;margin-bottom:5px}.ad-slot.top{max-width:728px;min-height:65px;margin:0 auto 20px}.ad-slot.side{width:160px;min-height:120px}.community-layout:has(.ad-slot.side){display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:20px}.data-tabs{background:var(--surface)}.type-tags img{width:80px;height:24px}.hunt-top{align-items:center}.hunt-top>div{flex:1}.hunt-top .sprite{flex:none!important}.hunt-metrics{background:var(--soft)}#notice:not(:empty){background:var(--soft);color:var(--ink)}.stats{margin-bottom:24px}.stat strong{font-variant-numeric:tabular-nums}.hunt-help{color:var(--muted)}
@media(max-width:900px){.community-layout:has(.ad-slot.side){display:block}.ad-slot.side{display:none}.community-grid{grid-template-columns:1fr}}@media(max-width:550px){.rail nav{grid-template-columns:repeat(3,1fr)}.rail nav button{font-size:11px;padding:8px 5px}.community-card{padding:17px}.community-metrics{grid-template-columns:repeat(2,1fr)}.profile-heading{gap:12px;align-items:flex-start}.auth-card{padding:25px}.catch-row{flex-wrap:wrap}}
#huntDialog,#huntDialog input:not([type=checkbox]),#huntDialog textarea,#huntDialog select{background:var(--surface);color:var(--ink);border-color:var(--line)}.facts>div,.odds-tool{background:var(--soft);border-color:var(--line)}.best-hunt,.best-hunt.unknown,.scan-intro{background:color-mix(in srgb,var(--accent) 6%,var(--surface));border-color:var(--line)}.best-odds,.odds-tool strong{color:var(--accent)}.best-hunt details,.best-unit,.entry-key,.hunt-tracker details,.hunt-counter span{color:var(--muted)}.badge{background:var(--soft);color:var(--ink)}.badge.admin-badge{background:var(--accent);color:#fff}.screen{background:var(--surface);border-color:var(--line)}.scan-evidence{color:var(--accent)}.toolbar>label:has(#dexForms){display:inline-flex;align-items:center;gap:7px}#dexForms{flex:none;width:auto}.paused-heading{grid-column:1/-1;margin:25px 0 0}.hunt-tracker.selected{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent)}.rail-bottom small{letter-spacing:.6px}.game-checks label{padding:6px 0}.stat-bars .progress{background:var(--soft)}.type-tags img{display:inline-block}
.community-grid{align-items:start}.community-layout .community-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.community-layout .community-grid>.community-card:last-child{grid-column:1/-1}.recent-strip{display:flex;gap:20px;overflow-x:auto;padding:10px 0;scroll-snap-type:x proximity}.recent-strip .catch-row{flex:0 0 240px;align-items:flex-start;flex-wrap:wrap;scroll-snap-align:start}.recent-strip .catch-row>div{min-width:150px}.recent-strip .catch-row>button{margin-left:45px}.recent-strip .game-label{font-size:10px}
.community-layout .community-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:1100px){.community-layout .community-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.community-layout .community-grid{grid-template-columns:1fr}}
.rail{display:flex;flex-direction:column;height:100vh}.rail nav{display:block;margin-top:12px}.nav-group{display:grid;gap:3px;margin-bottom:18px}.nav-heading{padding:0 12px;margin-bottom:7px;font-size:9px!important;letter-spacing:1.4px;font-weight:650}.rail-footer{margin-top:auto;padding-top:22px}.rail-footer>button{display:block;width:100%;text-align:left;border:0;background:transparent;font-size:13px;padding:10px 12px}.rail-footer>button.active{background:var(--accent);color:white}.rail-bottom{margin:15px 10px 0}.top-controls{display:flex;align-items:center;gap:18px;justify-content:flex-end}.trainer-lookup{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:var(--surface);border-radius:11px;padding:5px 8px;min-width:260px;width:340px;max-width:100%}.trainer-lookup>span{font-size:24px;color:var(--muted)}.trainer-lookup input{border:0;background:transparent;width:100%;min-width:0;font-size:12px;padding:6px}.trainer-lookup button{border:0;font-size:11px;padding:7px 9px;background:var(--soft)}.account-controls{display:flex;align-items:center;gap:9px}.icon-button{display:grid;place-items:center;width:42px;height:42px;padding:9px;border-radius:50%}.icon-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.icon-button.active{background:var(--accent);color:white}.collection-actions{justify-content:flex-end;margin-top:-8px;margin-bottom:20px}.collection-actions button,.collection-actions .button{font-size:11px;padding:8px 11px}header{gap:20px}main>header h1{white-space:nowrap}@media(max-width:1100px){header{flex-wrap:wrap}.top-controls{flex:1}.trainer-lookup{width:290px}}@media(max-width:900px){header{flex-direction:row;align-items:center}.top-controls{width:100%;justify-content:space-between}.trainer-lookup{width:100%}.account-controls{flex-shrink:0}}@media(max-width:550px){.rail{position:static;height:auto;display:block}.rail nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.nav-group{margin-bottom:5px}.rail-footer{padding-top:10px;display:flex;align-items:center}.rail-footer>button{width:auto}.rail-bottom{display:none}.top-controls{gap:10px}.trainer-lookup{min-width:0}.icon-button{width:36px;height:36px;padding:7px}.collection-actions{margin-top:10px}main>header h1{font-size:27px}}
@media(min-width:551px){.rail{overflow:hidden}.rail nav{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin}.brand,.rail>small,.rail-footer{flex-shrink:0}.rail-footer{padding-top:12px}}
.caught-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:14px}.caught-tile{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 12px;min-height:220px;background:var(--surface);border:1px solid var(--line);border-radius:13px;text-align:center;min-width:0}.caught-tile:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--surface));transform:translateY(-2px)}.caught-tile strong{font-size:14px}.caught-tile>span:not(.catch-game){font-size:11px;color:var(--muted)}.caught-tile small{font-size:10px;letter-spacing:.2px;line-height:1.5}.caught-tile .catch-game{font-size:10px;line-height:1.8}.caught-tile .game-label{font-size:10px}.collection-grid-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;font-size:12px;color:var(--muted)}.caught-details{padding-top:25px;border-top:1px solid var(--line);margin-top:22px}.catch-edit-form{margin:20px 0;padding:18px;background:var(--soft);border:1px solid var(--line);border-radius:10px}.catch-edit-form input,.catch-edit-form textarea,.catch-edit-form select{max-width:100%}.caught-details .facts strong{overflow-wrap:anywhere}.game-label img{width:20px;height:20px;object-fit:contain}.catch-game .game-label img{width:22px;height:22px}@media(max-width:550px){.caught-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.caught-tile{padding:12px 8px;min-height:210px}.collection-grid-summary{gap:15px}}
button:not(.caught-tile):not([data-profile]),.data-heading,.data-tabs button,.collection-actions,.paging button{text-transform:capitalize}.caught-tile,.profile-heading h2,.caught-details>h2{text-transform:none}input,textarea{text-transform:none}
label,.data-tabs,.badge,.collection-grid-summary,.community-card>h2{text-transform:capitalize}label input,label textarea,.profile-heading h2,.caught-details>h2,.caught-tile strong{text-transform:none}
.generation-games{margin:18px 0}.generation-games h3{font-size:12px;color:var(--muted);margin-bottom:12px}.generation-games>div{display:flex;flex-wrap:wrap;gap:12px}.profile-progress-badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}.trainer-badge-row{padding:15px 0;border-top:1px solid var(--line)}.trainer-badge-row h3{margin-bottom:8px}.gym-badge-list{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.gym-badge-list .gym-badge{width:36px;height:40px}.public-profile-banner{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin-bottom:20px;color:var(--muted);font-size:12px}.public-profile-banner button{margin-left:12px}.avatar-upload{border:1px solid var(--line);border-radius:12px;padding:20px;margin:20px 0}.avatar-upload h3{margin-bottom:18px}#avatarUploadStatus{color:var(--accent)}.account-avatar{width:100%;height:100%;object-fit:cover;border-radius:50%}.icon-button:has(.account-avatar){padding:0;overflow:hidden}.profile-heading .toolbar{margin-top:15px}.profile-heading .toolbar button{font-size:12px}
.pokemon-picker{position:relative;margin-top:7px}.pokemon-picker>input[type=search]{width:100%}.pokemon-picker-results{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:10;border:1px solid var(--line);background:var(--surface);border-radius:10px;box-shadow:0 10px 30px #0002;max-height:350px;overflow:auto;padding:5px}.pokemon-picker-results button{display:flex;align-items:center;gap:12px;width:100%;border:0;background:transparent;text-align:left;padding:7px 10px}.pokemon-picker-results button>span{flex:1}.pokemon-picker-results button[aria-selected=true]{background:var(--soft);outline:1px solid var(--accent)}.pokemon-picker-results small{letter-spacing:.5px}.pokemon-picker-results p{padding:8px}#favoritePokemonPicker{margin:18px 0}#favoritePokemonPicker>small{display:block;margin-top:8px;font-size:11px;letter-spacing:0}
.toolbar input[type=checkbox]{min-width:0;flex:0 0 auto;width:auto}.toolbar>label:has(input[type=checkbox]){display:inline-flex;align-items:center;gap:7px}
.catch-history-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;align-items:end;margin-bottom:22px}.catch-history-filters label{font-size:11px;margin:0}.catch-history-filters input,.catch-history-filters select{display:block;width:100%;min-width:0;font-size:12px;padding:10px;margin-top:6px}.catch-history-filters button{font-size:12px}.cry-volume-settings input[type=range]{width:100%;accent-color:var(--accent)}#createdApiToken{width:100%;font-family:monospace;margin:10px 0}#newApiTokenSecret:not(:empty){padding:15px;border:1px solid var(--accent);border-radius:9px;margin:20px 0;overflow-wrap:anywhere}.api-token-list small{letter-spacing:0;overflow-wrap:anywhere}
.brand{gap:11px}.brand>img{flex-shrink:0;object-fit:contain}.brand span{font-size:19px;line-height:1.2}.brand b{font-size:10px;letter-spacing:2px}.auth-brand{font-size:22px}.original-mark img{display:block;margin-bottom:12px}
.cry-controls{margin-bottom:16px}.cry-source{font-size:11px}
.cry-audio-dock{position:fixed;right:22px;bottom:18px;z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px;box-shadow:0 8px 30px #0003;max-width:calc(100vw - 28px)}.cry-audio-dock>div{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:8px;font-size:12px}.cry-audio-dock button{padding:3px 8px}.cry-audio-dock audio{display:block;width:300px;max-width:100%}

.game-page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;margin:20px 0 32px}.game-page-grid button{display:flex;min-height:135px;flex-direction:column;align-items:center;justify-content:center;gap:12px}.game-page-grid img,.game-page-heading img{object-fit:contain}.game-page-heading{display:flex;gap:24px;align-items:center;margin-bottom:30px}.game-shiny-owned{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.generation-games button{margin:4px}
#gameRoutes{margin-top:36px}.game-routes{display:grid;gap:10px}.game-route{border:1px solid var(--line,#354152);border-radius:12px;overflow:hidden}.game-route summary{display:flex;justify-content:space-between;gap:18px;cursor:pointer;padding:16px 20px}.game-route summary small{display:block;margin-top:4px;opacity:.75}.game-route[open] summary{border-bottom:1px solid var(--line,#354152)}.route-pokemon-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;padding:16px}.route-pokemon-list article{padding:12px;border-radius:8px;background:var(--surface,#192433)}.route-pokemon-list button{display:flex;align-items:center;gap:12px;width:100%;text-align:left}.route-pokemon-list p{font-size:12px;line-height:1.6;margin:8px 0 0}.route-source-note{opacity:.8}
.panel{box-shadow:-18px 0 50px #0004}.pokemon-types{display:flex;justify-content:center;gap:4px;flex-wrap:wrap;margin-top:8px}.pokemon-types img{width:60px;height:18px;object-fit:contain}.dex-route-links{margin:14px 0}.dex-completion{margin:14px 0;font-weight:600}
.pokemon-name-link{display:inline;padding:0;border:0;border-radius:0;background:none;color:inherit;font:inherit;text-align:inherit;cursor:pointer}.pokemon-name-link:hover{background:none;color:var(--accent);text-decoration:underline}.pokemon-name-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.trainer-name-link{padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}.trainer-name-link:hover{background:none;text-decoration:underline;color:var(--accent)}.trainer-result{display:flex;align-items:center;gap:12px;text-align:left;padding:12px}.trainer-result-avatar{width:40px;height:40px;object-fit:cover;border-radius:50%;flex:none}
/* Keep supplied icon artwork at its original aspect ratio. */
.type-tags img{width:auto;height:26px;max-width:100px;object-fit:contain;vertical-align:middle}.pokemon-types img{width:auto;height:20px;max-width:80px;object-fit:contain}.game-label img{object-fit:contain}.game-page-heading>img,.game-page-grid img{object-fit:contain}

.catch-editor{margin-top:18px}.catch-editor form{max-width:1000px}.catch-editor-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0 20px}.catch-editor .pokemon-types{justify-content:flex-start}
.home-box-grid{grid-template-columns:repeat(6,minmax(0,1fr));max-width:1000px;gap:8px}.home-box-grid .poke{min-height:125px;padding:9px 3px}.home-box-grid .poke strong{font-size:11px}.home-box-grid .poke small{font-size:9px;margin-left:3px}.home-box-grid .pokemon-types{display:none}.empty-box-slot{min-height:125px;border:1px dashed var(--line);border-radius:10px;background:var(--soft);opacity:.45}.home-box-grid img.pokemon-sprite{max-width:100%;object-fit:contain}.dex-completion{font-weight:600}@media(max-width:600px){.home-box-grid{gap:4px}.home-box-grid .poke{min-height:102px}.home-box-grid .poke strong{font-size:9px}.home-box-grid .poke small{font-size:8px;letter-spacing:0}.home-box-grid .pokemon-sprite{height:48px;width:48px}.empty-box-slot{min-height:102px}}

/* Standard storage box: six columns, five rows, filled across each row. */
.home-box-grid{max-width:720px;padding:12px;gap:6px;border:1px solid var(--line);border-radius:14px;background:var(--soft);grid-template-columns:repeat(6,minmax(0,1fr))}.home-box-grid .poke,.home-box-grid .empty-box-slot{min-height:108px;border-radius:7px}.home-box-grid .poke{padding:7px 3px}.home-box-grid .poke strong{margin-top:3px;font-size:10px}.home-box-grid .pokemon-sprite{width:64px;height:64px}.home-box-grid .poke small{font-size:8px;letter-spacing:0}.home-box-grid .empty-box-slot{background:var(--surface)}@media(max-width:600px){.home-box-grid{padding:5px;gap:3px}.home-box-grid .poke,.home-box-grid .empty-box-slot{min-height:92px}.home-box-grid .pokemon-sprite{width:44px;height:44px}.home-box-grid .poke strong{font-size:8px}}

.account-controls:has(.signin-cta){gap:14px;align-items:center}.signin-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:11px 20px;background:var(--accent);border:1px solid var(--accent);color:#fff;font-weight:650;line-height:1.2;box-shadow:0 3px 10px color-mix(in srgb,var(--accent) 22%,transparent);transition:filter .15s,transform .15s,box-shadow .15s}.signin-cta svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.signin-cta:hover{background:var(--accent);border-color:var(--accent);color:#fff;filter:brightness(1.12);transform:translateY(-1px);box-shadow:0 5px 14px color-mix(in srgb,var(--accent) 30%,transparent)}.signin-cta:active{transform:translateY(0)}.signin-cta:focus-visible,.signup-link:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.signup-link{color:var(--ink);font-size:12px;font-weight:600;text-decoration:none;white-space:nowrap}.signup-link:hover{color:var(--accent);text-decoration:underline}@media(max-width:550px){.account-controls:has(.signin-cta){gap:10px}.signin-cta{padding:10px 14px;min-height:42px}.signup-link{font-size:11px}}@media(prefers-reduced-motion:reduce){.signin-cta{transition:none}.signin-cta:hover{transform:none}}

.signin-cta[aria-busy="true"]{cursor:progress;opacity:.8}

.site-footer{position:static;clear:both;margin-top:32px;padding:18px 0;border-top:1px solid var(--line);font-size:11px}.site-footer a{color:var(--muted);text-decoration:none}.site-footer a:hover{color:var(--accent);text-decoration:underline}
main{max-width:none;min-width:0}.community-grid{min-width:0}.community-layout{grid-template-columns:minmax(0,1fr) auto}.trainer-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}.trainer-card{display:flex;flex-direction:column;text-align:left;gap:8px;padding:18px;width:100%;margin:8px 0}.trainer-badges{display:flex;flex-wrap:wrap;gap:7px}.trainer-badges img,.badge-choice img,.charm-icon{object-fit:contain}.charm-icon{display:inline-block;width:22px;height:22px;vertical-align:middle}.badge-choice{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid var(--line);border-radius:9px}.badge-choice input{width:auto!important}.badge-choice:has(:checked){border-color:var(--accent);background:var(--soft)}#trainerBadgeChoices{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.selected-ball{display:inline-flex;margin-left:8px;vertical-align:middle}.personal-metrics{margin-bottom:0}.trainer-page-heading{margin-bottom:24px}select{max-width:100%}@media(max-width:750px){.community-layout{display:block}.community-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ball-choice{position:relative;margin-top:7px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.ball-choice summary{cursor:pointer;display:flex;align-items:center;gap:8px;min-height:43px;padding:8px 12px}.ball-choice summary:after{content:'▾';margin-left:auto}.ball-options{position:absolute;left:0;right:0;top:100%;min-width:230px;max-height:300px;overflow:auto;background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 30px #0005;z-index:15;padding:5px}.ball-options button{display:flex;gap:9px;align-items:center;width:100%;text-align:left;border:0;padding:7px;background:transparent}.ball-options button[aria-selected=true]{background:var(--soft)}.ball-options img,.ball-choice summary img{object-fit:contain}
.ball-options button small{margin-left:auto;white-space:nowrap;font-size:10px;color:var(--muted)}
.image-workflow-settings{padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:12px;margin:20px 0}.image-workflow-settings form{margin-top:18px}.console-assignment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.image-workflow-settings label{display:block;margin:12px 0}.image-workflow-settings select{display:block;width:100%;margin-top:7px}.image-workflow-settings .ball-field{max-width:350px;margin:20px 0}.image-post-facts{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.image-post-facts>span{padding:8px 12px;background:var(--soft);border-radius:7px;font-size:12px}.image-post-facts b{display:block}.discord-post-text{white-space:pre-wrap;overflow-wrap:anywhere}.recent-strip{display:grid!important;grid-auto-flow:column;grid-auto-columns:minmax(180px,210px);overflow-x:auto;gap:12px;padding:12px 0}.recent-catch-card{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:flex-start;gap:9px;padding:18px 12px;background:var(--soft);border:1px solid var(--line);border-radius:12px;min-width:0}.recent-catch-card h3{margin:0}.recent-catch-card small{letter-spacing:0;line-height:1.5}.recent-catch-card>span{font-size:11px}.recent-catch-card time{font-size:11px;color:var(--muted)}.recent-catch-ball{display:flex;align-items:center;justify-content:center;gap:6px}.recent-catch-ball img{object-fit:contain}.community-card ol li{min-width:0;gap:9px;flex-wrap:wrap}.community-card ol li>b{margin-left:auto;white-space:nowrap}.species-catch-stats{padding:14px;border:1px solid var(--line);border-radius:10px;margin:18px 0;background:var(--soft)}
.trainer-card{display:flex;flex-direction:row;align-items:center;gap:18px}.trainer-card-body{display:flex;flex:1;flex-direction:column;gap:8px;min-width:0}.trainer-card-portrait{display:flex;flex-direction:column;align-items:center;flex:none}.trainer-portrait{width:80px;height:90px;object-fit:contain;image-rendering:pixelated}.trainer-gender{font-size:18px;font-weight:bold;vertical-align:middle}.trainer-gender.female{color:#ed8cbd}.trainer-gender.male{color:#79b9f2}.trainer-gender.other{color:var(--muted)}.uniform-number{font-size:12px;font-variant-numeric:tabular-nums;background:var(--soft);border:1px solid var(--line);border-radius:5px;padding:3px 8px}.trainer-row-content{flex:1;min-width:0}.trainer-card .trainer-badges img{width:30px;height:30px}.trainer-page-heading>.trainer-portrait{float:left;margin-right:18px}.trainer-page-heading:after{content:'';display:block;clear:both}.candidate-choice{display:inline-flex;align-items:center;gap:7px;margin:4px}.candidate-choice>button:last-child{font-size:11px}
.profile-gym-badge-counts{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:12px;margin:20px 0}.earned-badge-count{display:flex;align-items:center;gap:10px;padding:12px;background:var(--soft);border:1px solid var(--line);border-radius:10px}.earned-badge-count img{object-fit:contain;flex:none}.earned-badge-count span{font-size:11px;flex:1}.earned-badge-count b{font-size:17px;color:var(--accent)}
.page-action-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}.page-action-bar .collection-actions{margin:0}.page-back{font-size:12px;padding:9px 14px}.caught-ball{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:11px;line-height:1.4}.caught-ball img{object-fit:contain;flex:none}.caught-tile .caught-ball{margin-top:3px}.ball-options button{min-width:0}.ball-options button span{min-width:0;overflow-wrap:anywhere}.ball-options{min-width:280px;max-width:min(350px,calc(100vw - 40px))}.ball-options button small{font-size:9px}@media(max-width:550px){.page-action-bar{align-items:flex-start}.page-action-bar .collection-actions{flex-wrap:wrap;justify-content:flex-end}}
.switch-profile-row{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.switch-profile-row>span:not(.switch-avatar-placeholder),.switch-profile-row>div{flex:1}.switch-profile-row small{display:block;margin-top:4px;font-size:11px;letter-spacing:0}.switch-avatar,.switch-avatar-placeholder{width:48px;height:48px;border-radius:10px;object-fit:cover;flex:none}.switch-avatar-placeholder{display:grid;place-items:center;background:var(--soft);border:1px solid var(--line);font-size:24px}.switch-avatar-mini{width:24px;height:24px;border-radius:5px;object-fit:cover}.switch-profile-label{display:flex;align-items:center;gap:7px}.switch-picture-preview{margin:16px 0}

.trophy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:18px;margin:20px 0}.trophy-card{margin:0}.trophy-card.locked{opacity:.72}.trophy-card progress{width:100%;accent-color:var(--accent,#ab47d8)}.trophy-badge{display:inline-flex;align-items:center;gap:12px;padding:10px}.trophy-badge>span{font-size:30px;color:#e9c949}.pinned-trophies{display:flex;flex-wrap:wrap;gap:12px}.trophy-card.earned{box-shadow:inset 0 0 18px #d7b63f15}

.trophy-badge img{object-fit:contain;image-rendering:pixelated;flex-shrink:0}.trophy-card.locked .trophy-badge img{filter:grayscale(1);opacity:.55}

.trophy-members{margin:12px 0}.trophy-members>div{display:grid;gap:8px;margin-top:12px}.trophy-members .trophy-member{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:8px;min-height:44px}.trophy-member img{object-fit:contain;flex-shrink:0}.trophy-member-status{font-size:.72em;margin-left:auto}.trophy-member.missing .trophy-member-status{color:var(--muted,#b0bdcc)}

button.trophy-badge{width:100%;text-align:left;justify-content:flex-start;white-space:normal}.trophy-detail-dialog{position:fixed;width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;box-sizing:border-box;padding:28px;border:3px solid var(--accent,#ab47d8);border-radius:10px;background:var(--surface,#1b2636);color:var(--ink,#edf2ff)}.trophy-detail-dialog::backdrop{background:#000a}.trophy-detail-heading{display:flex;align-items:center;gap:20px;padding:0;margin:0 24px 20px 0}.trophy-detail-heading img{object-fit:contain;flex-shrink:0;image-rendering:pixelated}.trophy-detail-close{position:absolute;right:12px;top:12px;min-width:40px}.trophy-detail-dialog progress{width:100%;accent-color:var(--accent,#ab47d8)}.trophy-missing-list{display:grid;gap:8px}.trophy-missing-list button{display:flex;align-items:center;gap:12px;text-align:left;padding:10px}.trophy-missing-list img{object-fit:contain}.trophy-missing-list small{display:block;margin-top:4px}@media(max-width:520px){.trophy-detail-heading{flex-direction:column;align-items:flex-start}.trophy-detail-heading img{width:112px;height:112px}.trophy-detail-dialog{padding:20px}}

.pinned-trophies button.trophy-badge{width:auto;max-width:100%}
