
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
html,body{max-width:100%;overflow-x:hidden}
body{min-width:0;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}
button,a,[onclick]{touch-action:manipulation}button{min-height:44px}img{max-width:100%}
.web-loader{min-height:100dvh;display:grid;place-items:center;padding:22px;background:#eef3f7;color:#203543;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}
.web-loader-card{width:min(520px,100%);background:white;border:1px solid #cad7df;border-radius:22px;padding:22px;box-shadow:0 20px 60px #1c35451c}
.web-loader h1{margin:0 0 5px;font-size:38px;letter-spacing:-.04em}.web-loader p{color:#607785;line-height:1.5}
.web-progress{height:10px;background:#e4edf2;border-radius:99px;overflow:hidden;margin:16px 0}.web-progress i{display:block;height:100%;width:5%;background:#2f83b8;transition:width .25s}
.web-loader-status{font-size:12px;color:#587080;min-height:36px}.web-loader button{width:100%;margin-top:10px}
.pokerift-backup-overlay{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:14px;background:rgba(20,32,40,.56);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.pokerift-backup-card{width:min(520px,100%);max-height:90dvh;overflow:auto;background:#fff;color:#213845;border:1px solid #cbd8df;border-radius:20px;box-shadow:0 26px 70px rgba(18,37,48,.32);padding:18px}
.pokerift-backup-card h2{margin:0 0 7px}.pokerift-backup-card p{margin:0 0 12px;color:#607785;line-height:1.48}
.pokerift-backup-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pokerift-backup-actions button{width:100%}
.pokerift-storage-status{margin:12px 0;padding:9px 10px;border:1px solid #d5e1e7;border-radius:11px;background:#f4f8fa;font-size:12px;color:#587080}
.pokerift-storage-status.good{border-color:#b9dfc9;background:#f1faf4;color:#326747}.pokerift-storage-status.warn{border-color:#e7d6a7;background:#fff9e9;color:#725c23}

@media(max-width:900px){
 .shell{width:100%;padding:10px}.content{display:flex!important;flex-direction:column!important;gap:12px}
 main{order:1;width:100%}aside{order:2!important;width:100%;max-width:none!important;position:static!important;max-height:none!important}
 header{position:sticky;top:0;z-index:40;height:auto!important;min-height:56px;margin-bottom:12px;padding:8px 3px;background:rgba(250,252,253,.94)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
 nav{max-width:100%;overflow-x:auto;gap:6px;padding-bottom:2px}nav button{white-space:nowrap;flex:0 0 auto}
 .party-mini{grid-template-columns:repeat(6,minmax(0,1fr))!important}.synergy-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bag-list{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:700px){
 .shell{padding:7px}header{flex-direction:row!important;align-items:center!important;justify-content:space-between;gap:7px;padding:7px 2px 9px!important}
 .brand{font-size:13px;letter-spacing:.07em;flex:0 0 auto}nav{gap:4px}nav button{font-size:12px;padding:8px 9px;min-height:40px;border-radius:10px}
 main>section,.home-card{padding:12px!important;border-radius:15px}.eyebrow{font-size:9px}.section-head{gap:8px;flex-wrap:wrap;margin-bottom:12px}.section-head h2{font-size:21px;line-height:1.1}.budget{font-size:16px;padding:7px 9px}
 .home-card{min-height:auto!important;display:block!important}.home-card h1{font-size:clamp(48px,18vw,76px);margin:12px 0}.home-card p{font-size:15px;line-height:1.5}
 .actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.actions button{width:100%}.hero-kicker{display:flex!important;flex-wrap:wrap!important;gap:5px!important}.hero-kicker span{font-size:10px!important;padding:5px 7px!important}
 .home-art{min-height:150px!important;margin-top:14px!important;overflow:hidden}.home-art img{width:88px!important;height:88px!important;margin-left:-20px!important}.home-art img:nth-child(2){width:116px!important;height:116px!important}
 .starter-grid,.dex-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px}.starter-card,.dex-card{min-width:0;min-height:132px!important;padding:7px}.starter-card img,.dex-card img{width:64px!important;height:64px!important}.starter-card b,.dex-card b{font-size:11px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .sticky-action{position:sticky;bottom:calc(7px + env(safe-area-inset-bottom));z-index:25;padding-top:8px;margin-top:10px}.sticky-action button{width:100%}
 .map-wrap,.map-wrap.v09-map-wrap{overflow-x:hidden!important;padding:6px!important;margin-left:-2px;margin-right:-2px}.map-canvas,.v81-map{width:100%!important;min-width:0!important;height:340px!important;border-radius:15px!important}
 .map-node,.v81-node{width:48px!important;height:48px!important;border-width:1.5px!important}.v81-node.trainer-node{width:51px!important;height:51px!important}.map-node span,.v81-node>span{font-size:17px!important;line-height:1}.map-node small{display:none!important}.node-roster img{width:13px!important;height:13px!important}.node-lead{width:19px!important;height:19px!important}
 .map-legend{gap:4px;margin-bottom:7px}.map-legend span{font-size:9px;padding:5px 6px}.map-meta{flex-wrap:wrap}.map-meta span{font-size:10px;padding:5px 7px}
 .map-theme-card,.map-theme-card.v93-theme-card{display:block!important;padding:11px!important;margin-bottom:9px!important}.map-theme-card.v93-theme-card h3{font-size:20px!important;margin:3px 0 7px}.map-theme-card.v93-theme-card p{font-size:12px!important;line-height:1.45}.map-theme-card .right{display:flex!important;flex-wrap:wrap!important;gap:5px!important;margin-top:8px}
 .battle-screen{padding:7px!important}.battle-arena.visual-arena{height:290px!important;min-height:290px!important;border-radius:15px!important}.battle-info{width:48%!important;max-width:185px!important;padding:7px 8px!important;border-radius:12px!important}
 .battle-info .mon-label b{font-size:13px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.battle-info .mon-label span{font-size:10px}.battle-info .ability-tag,.battle-info .status-tag,.battle-info .v95-statusinfo span{font-size:8px!important;padding:2px 4px!important}
 .enemy-mon{right:2%!important;top:22%!important;width:130px!important;height:120px!important}.enemy-mon img{width:105px!important;height:105px!important}.player-mon{left:1%!important;bottom:2%!important;width:145px!important;height:135px!important}.player-mon img{width:118px!important;height:118px!important}
 .battle-controls{display:block!important;padding:7px!important;margin-top:7px!important;border-radius:13px!important}.moves{grid-template-columns:1fr 1fr!important;gap:6px!important}.move-btn{min-width:0;min-height:68px!important;padding:8px!important;border-radius:12px!important}.move-btn b{font-size:14px!important}.move-btn span{font-size:9px!important}
 .switches{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:4px!important;margin-top:7px}.switches button{min-width:0!important;min-height:59px!important;padding:3px!important}.switches img{width:32px!important;height:32px!important}.switches span{font-size:8px!important;line-height:1.15;overflow:hidden}
 .battle-log{max-height:92px;overflow:auto}.reward-grid,.capture-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}.reward-card,.capture-card,.v94-capture-modal .capture-card{min-width:0!important;padding:9px!important}
 aside{padding:11px!important;border-radius:15px}.party-mini{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:4px!important}.mini-mon img{width:38px!important;height:38px!important}.synergy-list{grid-template-columns:1fr!important}.bag-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .modal{padding:7px!important;align-items:end!important}.modal-box{width:100%!important;max-height:92dvh!important;border-radius:18px 18px 10px 10px!important;padding:12px!important}.v94-route-grid{grid-template-columns:1fr!important;gap:7px!important}.v10-badge-grid{grid-template-columns:1fr!important;gap:7px!important}
}
@media(max-width:430px){
 .shell{padding:5px}.brand{font-size:12px}nav button{font-size:11px;padding:7px 8px}.starter-grid,.dex-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.starter-card,.dex-card{min-height:145px!important}.starter-card img,.dex-card img{width:76px!important;height:76px!important}
 .actions{grid-template-columns:1fr}.map-canvas,.v81-map{height:315px!important}.map-node,.v81-node{width:44px!important;height:44px!important}.battle-arena.visual-arena{height:270px!important;min-height:270px!important}.battle-info{width:49%!important;max-width:165px!important}
 .enemy-mon{right:-2%!important;width:116px!important}.enemy-mon img{width:94px!important;height:94px!important}.player-mon{left:-2%!important;width:125px!important}.player-mon img{width:102px!important;height:102px!important}
 .switches{grid-template-columns:repeat(3,minmax(0,1fr))!important}.pokerift-backup-actions{grid-template-columns:1fr}
}
@media(max-width:350px){header{align-items:flex-start!important;flex-direction:column!important}nav{width:100%}.moves{grid-template-columns:1fr!important}.reward-grid,.capture-grid{grid-template-columns:1fr!important}}
