﻿/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   PokIdleMon â€” main.css  Â·  New Data System
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@400;500;600;700&family=Inter:wght@400;500;600&family=Space+Mono:wght@400;700&display=swap');

:root {
  --bg-base:#0b0d11; --bg-surface:#12151c; --bg-raised:#1a1f2b; --bg-hover:#222839; --bg-active:#2a3245;
  --bg-panel:#161a23;
  --red:#e03030; --red-dim:#9b1f1f; --red-glow:rgba(224,48,48,.18);
  --gold:#f5c518; --gold-dim:rgba(245,197,24,.15);
  --blue:#3b82f6; --blue-dim:rgba(59,130,246,.15);
  --green:#22c55e; --green-dim:rgba(34,197,94,.12);
  --purple:#a855f7;
  --text-1:#eef2f7; --text-2:#8a98ad; --text-3:#556070;
  --border:rgba(255,255,255,.07); --border-em:rgba(255,255,255,.14);
  --r-sm:4px; --r-md:8px; --r-lg:12px;
  --font-ui:'Inter',system-ui,sans-serif;
  --font-title:'Rajdhani',system-ui,sans-serif;
  --font-mono:'Space Mono',monospace;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
[hidden]{display:none!important;}
body{font-family:var(--font-ui);background:var(--bg-base);color:var(--text-1);min-height:100vh;overflow-x:hidden;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;}

/* â”€â”€ Screens â”€â”€ */
#loadScreen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg-base);z-index:1000;}
.load-box{text-align:center;}
.load-pokeball{font-size:52px;display:block;margin-bottom:16px;animation:spin 1.4s linear infinite;filter:drop-shadow(0 0 12px var(--red));}
@keyframes spin{to{transform:rotate(360deg);}}
.load-box h2{font-family:var(--font-title);font-size:32px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--text-1);margin-bottom:6px;}
.load-box p{color:var(--text-2);font-size:13px;letter-spacing:1px;}

/* â”€â”€ Auth â”€â”€ */
#authScreen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg-base);overflow-y:auto;}
.auth-wrap{width:340px;max-width:95vw;display:flex;flex-direction:column;align-items:center;gap:20px;padding:32px 0;position:relative;z-index:1;}
.auth-logo{text-align:center;}
.auth-logo-ball{font-size:44px;display:block;margin-bottom:10px;animation:spin 3s linear infinite;filter:drop-shadow(0 0 8px var(--red));}
.auth-logo h1{font-family:var(--font-title);font-size:34px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--text-1);}
.auth-logo h1::after{content:'';display:block;width:40px;height:3px;background:var(--red);margin:6px auto 0;}
.auth-logo p{color:var(--text-2);font-size:12px;letter-spacing:1px;margin-top:4px;}
.auth-card{width:100%;background:var(--bg-surface);border:1px solid var(--border-em);border-top:2px solid var(--red);border-radius:var(--r-lg);padding:28px 24px;}
.auth-card h2{font-family:var(--font-title);font-size:20px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:20px;color:var(--text-1);}
.field-label{display:block;font-size:11px;font-weight:600;color:var(--text-2);text-transform:uppercase;letter-spacing:.8px;margin-bottom:5px;}
.auth-card input{width:100%;padding:11px 14px;border-radius:var(--r-sm);border:1px solid var(--border-em);background:var(--bg-raised);color:var(--text-1);font-size:15px;font-family:var(--font-ui);margin-bottom:14px;outline:none;transition:border-color .2s,box-shadow .2s;}
.auth-card input:focus{border-color:var(--red);box-shadow:0 0 0 3px var(--red-glow);}
.auth-card input[type="password"]{letter-spacing:6px;font-size:20px;text-align:center;}
.auth-card input::placeholder{letter-spacing:0;font-size:14px;color:var(--text-3);}
.auth-msg{min-height:20px;font-size:13px;text-align:center;margin:4px 0;}
.auth-divider{height:1px;background:var(--border);margin:16px 0;}
.auth-switch-text{color:var(--text-2);font-size:13px;text-align:center;margin-bottom:8px;}
.btn-primary{width:100%;padding:12px;border-radius:var(--r-sm);background:var(--red);border:none;color:#fff;font-family:var(--font-title);font-size:16px;font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:opacity .15s,transform .1s;}
.btn-primary:hover{opacity:.88;}
.btn-primary:active{transform:scale(.98);}
.btn-secondary{width:100%;padding:11px;border-radius:var(--r-sm);background:transparent;border:1px solid var(--border-em);color:var(--text-2);font-family:var(--font-ui);font-size:13px;font-weight:500;cursor:pointer;transition:.2s;}
.btn-secondary:hover{background:var(--bg-raised);color:var(--text-1);}

/* â”€â”€ Starter â”€â”€ */
#characterScreen,#starterScreen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg-base);z-index:1000;}
.character-box,.starter-box{text-align:center;padding:32px;max-width:95vw;}
.character-box h2,.starter-box h2{font-family:var(--font-title);font-size:26px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:20px;color:var(--text-1);}
#characterGrid{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.character-card{appearance:none;width:154px;min-height:176px;padding:14px 12px;border:1px solid var(--border-em);border-top:2px solid transparent;border-radius:var(--r-md);background:var(--bg-surface);color:var(--text-1);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:border-color .2s,background .2s,transform .2s;}
.character-card:hover,.character-card:focus-visible{border-top-color:var(--red);background:var(--bg-raised);transform:translateY(-4px);outline:none;}
.character-preview{display:block;flex:0 0 auto;background-repeat:no-repeat;image-rendering:pixelated;}
.character-name{font-family:var(--font-title);font-size:15px;font-weight:700;margin-top:8px;}
.starter-box{text-align:center;padding:32px;max-width:95vw;}
.starter-box h2{font-family:var(--font-title);font-size:26px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:20px;color:var(--text-1);}
.starter-box input{padding:11px 20px;border-radius:var(--r-sm);border:1px solid var(--border-em);background:var(--bg-raised);color:var(--text-1);font-size:15px;width:260px;text-align:center;margin-bottom:28px;outline:none;transition:border-color .2s,box-shadow .2s;}
.starter-box input:focus{border-color:var(--red);box-shadow:0 0 0 3px var(--red-glow);}
#starterGrid{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.starter-card{width:130px;background:var(--bg-surface);border:1px solid var(--border-em);border-top:2px solid transparent;border-radius:var(--r-md);padding:16px 12px;cursor:pointer;transition:.2s;text-align:center;}
.starter-card:hover{border-top-color:var(--red);background:var(--bg-raised);transform:translateY(-5px);}
.starter-card img{width:90px;height:90px;image-rendering:pixelated;}
.starter-name{font-family:var(--font-title);font-weight:700;font-size:15px;letter-spacing:.5px;margin:8px 0 4px;}
.starter-typ{border-radius:20px;padding:2px 10px;font-size:11px;font-weight:600;letter-spacing:.5px;display:inline-block;color:#fff;text-transform:uppercase;}
.enc-caught-ball{width:15px;height:15px;vertical-align:-2px;margin-left:4px;image-rendering:pixelated;filter:drop-shadow(0 1px 2px rgba(0,0,0,.55));}

/* â”€â”€ Game Layout â”€â”€ */
.aurelion-intro{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 20%,rgba(245,197,24,.16),rgba(6,8,13,.98) 48%,#040509 100%);color:var(--text-1);}
.intro-stage{position:relative;width:min(560px,94vw);height:min(640px,94vh);display:flex;align-items:center;justify-content:center;padding:18px 18px 150px;}
.intro-professor{position:relative;width:min(250px,62vw);height:min(350px,52vh);border:1px solid rgba(255,255,255,.18);border-radius:22px;overflow:hidden;background:#182033;box-shadow:0 24px 70px rgba(0,0,0,.5),0 0 0 8px rgba(255,255,255,.03);display:flex;align-items:center;justify-content:center;}
.intro-professor:before{display:none;}
.intro-professor-img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block;}
.intro-professor-face{display:none;}
.intro-professor-name{position:absolute;z-index:2;left:10px;right:10px;bottom:10px;padding:7px 8px;border:1px solid rgba(245,197,24,.38);border-radius:999px;background:rgba(10,14,24,.78);font-family:var(--font-title);font-size:12px;letter-spacing:.8px;color:#fff3bd;text-align:center;text-shadow:0 1px 0 #000;backdrop-filter:blur(4px);}
.intro-orb{position:absolute;top:72px;right:18%;width:54px;height:54px;border-radius:50%;background:radial-gradient(circle,#fff9bb 0 20%,#f5c518 22% 44%,#7a3815 46% 100%);box-shadow:0 0 26px rgba(245,197,24,.65);animation:introOrb 2.4s ease-in-out infinite;}
.intro-textbox{position:absolute;left:10px;right:10px;bottom:10px;min-height:128px;background:#f7f3df;color:#182033;border:4px solid #182033;border-radius:4px;box-shadow:0 0 0 4px #f7f3df,0 14px 40px rgba(0,0,0,.45);padding:14px 16px 54px;font-family:var(--font-ui);}
.intro-speaker{font-family:var(--font-title);font-size:13px;font-weight:900;color:#8a4f16;text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px;}
.intro-text{font-size:15px;line-height:1.55;font-weight:600;color:#182033;}
.intro-next{position:absolute;right:14px;bottom:12px;padding:8px 16px;border-radius:3px;border:2px solid #182033;background:#d94a4a;color:#fff;font-family:var(--font-title);font-weight:800;cursor:pointer;}
.intro-next:hover{filter:brightness(1.08);}
@keyframes introOrb{0%,100%{transform:translateY(0);opacity:.78;}50%{transform:translateY(-10px);opacity:1;}}

#gameScreen{display:flex;flex-direction:column;height:100vh;height:100dvh;max-width:480px;margin:0 auto;}
#hud{display:flex;align-items:center;gap:7px;padding:0 10px;height:38px;background:var(--bg-surface);border-bottom:1px solid var(--border);flex-shrink:0;}
#hudSpieler{appearance:none;border:0;background:transparent;text-align:left;font-family:var(--font-title);font-weight:700;font-size:14px;letter-spacing:.35px;flex:1;color:var(--text-1);cursor:pointer;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 0;}
#hudSpieler::before{content:'▶ ';color:var(--red);font-size:9px;}
#hudSpieler:hover{color:#fff3bd;}
#hudGeld{font-family:var(--font-mono);font-size:11px;color:var(--gold);background:var(--gold-dim);padding:2px 6px;border-radius:3px;letter-spacing:.2px;}
#hudMuenzen{display:none!important;}
#hudOrden{font-size:11px;color:var(--text-2);background:var(--bg-raised);padding:2px 5px;border-radius:3px;border:1px solid var(--border);display:flex;align-items:center;gap:4px;min-width:42px;max-width:104px;overflow:hidden;}
.hud-orden-count{font-family:var(--font-mono);font-weight:800;color:#9fb4d8;white-space:nowrap;}
.hud-arena-marken{font-family:var(--font-mono);font-size:10px;font-weight:900;color:#facc15;border-left:1px solid rgba(255,255,255,.12);padding-left:4px;white-space:nowrap;}
.gym-badge-icon.hud-badge-single{width:32px;height:32px;flex:0 0 32px;transform:scale(.55);transform-origin:center;margin:-7px -7px;filter:drop-shadow(0 0 4px rgba(245,197,24,.5));}
.hud-badge-empty{width:16px;text-align:center;color:var(--text-3);font-weight:800;}
.btn-settings{width:30px;height:30px;background:transparent;border:1px solid var(--border);color:var(--text-3);font-size:16px;line-height:1;border-radius:3px;cursor:pointer;transition:.2s;font-family:var(--font-ui);display:flex;align-items:center;justify-content:center;}
.btn-settings:hover{border-color:var(--gold);color:var(--text-1);background:rgba(245,197,24,.08);}

#zoneInfoBar{background:var(--bg-raised);padding:4px 10px;display:flex;align-items:center;gap:7px;font-size:10px;flex-shrink:0;border-bottom:1px solid var(--border);}
#zoneName{font-family:var(--font-title);font-weight:650;font-size:12px;letter-spacing:.25px;flex:1;color:var(--text-1);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:normal;line-height:1.15;}
#stageProgressBar{position:relative;width:76px;height:12px;background:rgba(255,255,255,.12);border-radius:7px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.28);flex:0 0 76px;}
#stageProgressFill{height:100%;background:linear-gradient(90deg,#ef4444,#dc2626);border-radius:7px;transition:width .4s ease;}
#stageInfo{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:8px;font-weight:900;color:#fff;text-shadow:0 1px 2px #000;line-height:1;letter-spacing:.1px;}

/* â”€â”€ Scene â”€â”€ */
#sceneView{position:relative;height:220px;overflow:hidden;flex-shrink:0;background:var(--bg-base);transition:height .22s ease,opacity .18s ease;}
#gameScreen.scene-collapsed #sceneView{height:0;opacity:0;}
#sceneCollapseBtn{height:20px;flex-shrink:0;border:0;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgba(31,41,55,.98),rgba(15,18,26,.98));color:var(--text-3);font-family:var(--font-ui);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;cursor:pointer;touch-action:manipulation;}
#sceneCollapseBtn span:before{content:"\25B2";font-size:8px;margin-right:6px;color:var(--gold);}
#gameScreen.scene-collapsed #sceneCollapseBtn span:before{content:"\25BC";}
#sceneCollapseBtn:hover{color:var(--text-1);background:var(--bg-raised);}
.battle-scene-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;opacity:0;pointer-events:none;transition:opacity .22s ease;image-rendering:auto;}
.scene-battle-active .battle-scene-canvas{opacity:1;}
.scene-battle-active #playerSprites{z-index:12;}
.scene-battle-active #enemySprite{z-index:12;}
.scene-battle-active #bodenItem{display:none!important;}
.scene-battle-active #powerupLeiste,.scene-battle-active #xpPopup,.scene-battle-active #toastZone{z-index:30;}
#travelScene{position:absolute;inset:0;z-index:8;display:none;pointer-events:none;overflow:hidden;--travel-duration:5000ms;--runner-width:96px;}
#travelScene.travel-active{display:block;}
.scene-travelling #playerSprites,.scene-travelling #enemySprite{opacity:0!important;pointer-events:none;}
.travel-runner{position:absolute;left:calc(0px - var(--runner-width));bottom:28px;width:var(--runner-width);height:96px;z-index:12;transform-origin:center bottom;filter:drop-shadow(0 3px 2px rgba(0,0,0,.45));}
.travel-active .travel-runner{animation:travel-cross var(--travel-duration) linear forwards;}
.travel-encounter-active .travel-runner{animation-play-state:paused;filter:brightness(.72);}
@keyframes travel-cross{from{left:calc(0px - var(--runner-width));}to{left:calc(100% - var(--runner-width));}}
.travel-sprite{position:absolute;inset:0;width:96px;height:96px;background-image:url('/assets/animated/trainer-run-sheet.png');background-repeat:no-repeat;background-size:384px 96px;background-position:0 0;image-rendering:pixelated;}
#travelScene.travel-bike-active{--runner-width:128px;}
.travel-bike-active .travel-sprite{width:128px;background-image:url('/assets/animated/trainer-bike-sheet.png');background-size:512px 96px;}

.travel-encounter i{position:absolute;display:block;}

.travel-bushes{position:absolute;left:-18px;right:-18px;bottom:-4px;height:58px;z-index:16;display:flex;align-items:flex-end;justify-content:space-around;filter:drop-shadow(0 -2px 2px rgba(0,0,0,.2));}
.travel-bushes i{position:relative;width:43px;height:34px;flex:0 0 43px;background:#1d6428;clip-path:polygon(0 100%,0 52%,12% 55%,8% 30%,25% 43%,31% 8%,45% 35%,58% 0,66% 39%,86% 17%,82% 54%,100% 42%,100% 100%);box-shadow:inset 0 -12px 0 #12461d;transform:translateY(calc((var(--bush-i) % 3) * 3px));}
.travel-bushes i:after{content:"";position:absolute;left:5px;right:4px;bottom:2px;height:13px;background:#2f8a39;clip-path:polygon(0 100%,5% 36%,22% 62%,30% 0,44% 68%,58% 16%,70% 70%,88% 26%,100% 100%);}
.travel-no-bushes .travel-bushes{opacity:.18;height:28px;filter:grayscale(.7);}

.travel-encounter{position:absolute;right:16%;bottom:24px;width:58px;height:68px;z-index:14;opacity:0;transform:translateY(54px) scale(.45);filter:drop-shadow(0 5px 3px rgba(0,0,0,.5));}
.encounter-body{left:8px;bottom:0;width:43px;height:48px;background:#050607;border-radius:48% 48% 34% 34%;}
.encounter-ear{top:3px;width:19px;height:31px;background:#050607;clip-path:polygon(50% 0,100% 100%,0 100%);}
.encounter-ear-a{left:8px;transform:rotate(-15deg);}.encounter-ear-b{right:7px;transform:rotate(15deg);}
.encounter-eye{left:20px;top:30px;width:5px;height:5px;background:#f6e85d;box-shadow:14px 0 0 #f6e85d;opacity:0;}
.travel-encounter-active .travel-encounter{animation:encounter-rise .85s cubic-bezier(.2,.8,.25,1) forwards;}
.travel-encounter-active .encounter-eye{animation:encounter-eyes .85s steps(1,end) forwards;}
@keyframes encounter-rise{0%{opacity:0;transform:translateY(54px) scale(.45);}38%{opacity:1;transform:translateY(8px) scale(.88);}72%,100%{opacity:1;transform:translateY(0) scale(1);}}
@keyframes encounter-eyes{0%,48%{opacity:0;}49%,100%{opacity:1;}}

@media (prefers-reduced-motion:reduce){.travel-active .travel-runner{animation-timing-function:steps(8,end);}}
#playerSprites{position:absolute;left:18px;right:12px;bottom:24px;height:104px;z-index:10;pointer-events:none;}
.walker{display:block;position:absolute;inset:0;}
.walker-sprite{image-rendering:pixelated;height:66px;width:auto;max-width:80px;display:block;animation:walk-bounce .5s ease-in-out infinite;filter:drop-shadow(0 2px 4px rgba(0,0,0,.6));flex-shrink:0;}
.walker .walker-sprite{position:absolute;left:0;bottom:2px;}
@keyframes walk-bounce{0%,100%{transform:translateY(0);}50%{transform:translateY(-5px);}}
.sprite-shiny{filter:drop-shadow(0 0 5px rgba(245,197,24,.6));}
.walker-info{position:absolute;right:0;bottom:0;width:190px;max-width:56vw;background:rgba(11,13,17,.84);border:1px solid var(--border-em);border-left:3px solid var(--red);border-radius:var(--r-sm);padding:4px 6px 5px;backdrop-filter:blur(4px);display:flex;flex-direction:column;gap:3px;box-shadow:0 4px 14px rgba(0,0,0,.28);}
.walker-mainline{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:5px;}
.walker-nameline{font-family:var(--font-title);font-size:11px;font-weight:700;color:var(--text-1);display:flex;align-items:center;gap:3px;flex-wrap:nowrap;line-height:1.1;white-space:nowrap;overflow:hidden;min-width:0;}
.walker-nameline b{overflow:hidden;text-overflow:ellipsis;min-width:0;max-width:82px;}
.walker-lv{font-family:var(--font-mono);font-size:9px;color:var(--text-3);}
.walker-typen{display:none;}
.walker-hprow,.walker-xprow{display:flex;align-items:center;gap:0;}
.walker-hpbar{position:relative;flex:0 0 132px;height:12px;background:rgba(255,255,255,.12);border-radius:7px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.25);}
.walker-xpbar{position:relative;flex:0 0 132px;height:10px;background:rgba(255,255,255,.1);border-radius:6px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.22);}
.walker-hpfill{height:100%;border-radius:7px;transition:width .3s,background .3s;}
.walker-xpfill{height:100%;border-radius:6px;background:var(--blue);transition:width .4s;}
.walker-hptxt,.walker-xptxt{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:7px;font-weight:800;color:#eef2f7;text-shadow:0 1px 2px #000;white-space:nowrap;line-height:1;letter-spacing:.1px;}
.walker-xprow:after,.walker-xpbar:after{content:none!important;display:none!important;}

#enemySprite{position:absolute;left:8px;right:8px;top:6px;height:96px;z-index:5;transition:opacity .4s;display:block;max-width:none;pointer-events:none;}
.enemy-img{image-rendering:pixelated;height:57px;width:auto;max-width:72px;display:block;filter:drop-shadow(0 4px 8px rgba(0,0,0,.7));}
.enemy-visuals-dark{filter:drop-shadow(0 0 12px rgba(123,44,255,.35));}
.enemy-img.sprite-dark{position:relative;z-index:2;filter:brightness(.72) contrast(1.28) saturate(.78) drop-shadow(0 0 9px rgba(123,44,255,.9)) drop-shadow(0 4px 8px rgba(0,0,0,.8));animation:darkSpritePulse 1.85s ease-in-out infinite;}
.dark-aura-cloud{position:absolute;right:4px;bottom:7px;width:78px;height:54px;border-radius:50%;pointer-events:none;z-index:1;background:radial-gradient(circle,rgba(21,9,35,.82) 0%,rgba(82,36,132,.52) 38%,rgba(16,8,28,.28) 58%,transparent 74%);filter:blur(6px);mix-blend-mode:screen;animation:darkSmoke 2.6s ease-in-out infinite;}
.dark-aura-cloud-a{transform-origin:44% 64%;}
.dark-aura-cloud-b{right:16px;bottom:19px;width:58px;height:42px;animation-duration:3.1s;animation-delay:-.8s;opacity:.78;}
.dark-aura-cloud-c{right:-8px;bottom:17px;width:50px;height:38px;animation-duration:2.2s;animation-delay:-1.35s;opacity:.62;}
.enemy-img.catch-laser{filter:sepia(1) saturate(5) hue-rotate(315deg) brightness(1.5) drop-shadow(0 0 10px rgba(239,68,68,.95));}
.enemy-img.catch-absorb{animation:catchAbsorb .52s ease-in forwards;transform-origin:center bottom;}
.enemy-img.catch-release{animation:catchRelease .48s ease-out both;transform-origin:center bottom;}
.pokemon-flying-hidden{opacity:0!important;transform:translateY(-78px) scale(.86)!important;}
.pokemon-fly-lift{animation:pokemonFlyLift .62s cubic-bezier(.2,.72,.16,1) forwards!important;transform-origin:center bottom;}
.pokemon-fly-drop{animation:pokemonFlyDrop .42s cubic-bezier(.2,.72,.16,1) both!important;transform-origin:center bottom;}
.pokemon-fly-shadow-canvas{filter:blur(.3px);}
.pokemon-fly-shadow-player{z-index:9!important;}
.pokemon-fly-shadow-enemy{z-index:9!important;}
@keyframes pokemonFlyLift{0%{opacity:1;transform:translateY(0) scale(1);filter:brightness(1.08) drop-shadow(0 4px 8px rgba(0,0,0,.7));}42%{opacity:.82;transform:translateY(-34px) scale(.94);filter:brightness(1.22) drop-shadow(0 0 10px rgba(180,220,255,.7));}100%{opacity:0;transform:translateY(-92px) scale(.76);filter:brightness(1.35) drop-shadow(0 0 14px rgba(180,220,255,.85));}}
@keyframes pokemonFlyDrop{0%{opacity:0;transform:translateY(-82px) scale(.78);filter:brightness(1.35) drop-shadow(0 0 14px rgba(180,220,255,.85));}62%{opacity:1;transform:translateY(8px) scale(1.04);filter:brightness(1.18) drop-shadow(0 0 9px rgba(180,220,255,.6));}100%{opacity:1;transform:translateY(0) scale(1);filter:drop-shadow(0 4px 8px rgba(0,0,0,.7));}}
@keyframes darkSpritePulse{0%,100%{transform:translateY(0);filter:brightness(.72) contrast(1.28) saturate(.78) drop-shadow(0 0 8px rgba(123,44,255,.72)) drop-shadow(0 4px 8px rgba(0,0,0,.8));}50%{transform:translateY(-1px);filter:brightness(.86) contrast(1.38) saturate(.88) drop-shadow(0 0 15px rgba(156,87,255,.95)) drop-shadow(0 4px 9px rgba(0,0,0,.9));}}
@keyframes darkSmoke{0%,100%{opacity:.38;transform:translate(0,0) scale(.82) rotate(0deg);}35%{opacity:.72;transform:translate(-7px,-8px) scale(1.08) rotate(8deg);}70%{opacity:.5;transform:translate(5px,-14px) scale(1.22) rotate(-10deg);}}
.battle-item-fx{position:absolute;width:34px;height:34px;z-index:55;image-rendering:pixelated;pointer-events:none;filter:drop-shadow(0 3px 6px rgba(0,0,0,.75));animation:battleItemUse .78s ease-out both;}
.item-target-shake{animation:itemTargetShake .42s ease-in-out both;}
@keyframes catchAbsorb{0%{opacity:1;transform:translate(0,0) scale(1);clip-path:inset(0 0 0 0);}45%{opacity:.9;transform:translate(-12px,-12px) scale(.62);clip-path:inset(8% 8% 8% 8%);}100%{opacity:0;transform:translate(-34px,-30px) scale(.06);clip-path:inset(42% 42% 42% 42%);}}
@keyframes catchRelease{0%{opacity:0;transform:translate(-34px,-30px) scale(.08);filter:sepia(1) saturate(5) hue-rotate(315deg) brightness(1.7) drop-shadow(0 0 12px rgba(239,68,68,.95));}55%{opacity:1;transform:translate(-8px,-8px) scale(1.08);filter:sepia(.7) saturate(3) hue-rotate(315deg) brightness(1.35) drop-shadow(0 0 10px rgba(239,68,68,.75));}100%{opacity:1;transform:translate(0,0) scale(1);filter:drop-shadow(0 4px 8px rgba(0,0,0,.7));}}
@keyframes battleItemUse{0%{opacity:0;transform:translateY(10px) scale(.55) rotate(-10deg)}18%{opacity:1;transform:translateY(-7px) scale(1.18) rotate(8deg)}36%{transform:translateY(-10px) scale(1.05) rotate(-11deg)}54%{transform:translateY(-8px) scale(1.08) rotate(10deg)}78%{opacity:1;transform:translateY(-12px) scale(.98) rotate(-4deg)}100%{opacity:0;transform:translateY(-22px) scale(.8) rotate(0deg)}}
@keyframes itemTargetShake{0%,100%{transform:translateX(0)}18%{transform:translateX(-3px)}36%{transform:translateX(3px)}54%{transform:translateX(-2px)}72%{transform:translateX(2px)}}
.heal-plus-fx{position:absolute;z-index:45;pointer-events:none;transform:translate(-50%,-50%);}
.heal-plus-fx span{position:absolute;left:0;top:0;color:#66ff95;font-family:var(--font-title);font-size:24px;font-weight:900;line-height:1;text-shadow:0 0 8px rgba(75,255,135,.95),0 2px 0 rgba(0,0,0,.5);opacity:0;animation:healPlusRise .84s ease-out forwards;animation-delay:var(--delay);}
.heal-target-glow{filter:drop-shadow(0 0 8px rgba(79,255,130,.85)) brightness(1.12);}
@keyframes healPlusRise{0%{opacity:0;transform:translate(calc(var(--dx) * .2),14px) scale(.58);}18%{opacity:1;}72%{opacity:1;}100%{opacity:0;transform:translate(var(--dx),-58px) scale(var(--scale));}}
.enemy-visuals{position:absolute;right:10px;top:0;display:flex;align-items:flex-end;justify-content:flex-end;gap:4px;min-height:76px;}
.enemy-trainer-portrait{width:72px;height:72px;object-fit:contain;object-position:center bottom;image-rendering:pixelated;filter:drop-shadow(0 3px 6px rgba(0,0,0,.65));flex-shrink:0;}
.enemy-swarm-visuals{display:flex;align-items:flex-end;justify-content:flex-end;gap:0;margin-right:-2px;margin-bottom:2px;max-width:90px;flex-wrap:wrap-reverse;filter:drop-shadow(0 2px 4px rgba(0,0,0,.55));}
.enemy-swarm-img{--swarm-y:0px;image-rendering:pixelated;width:auto;display:block;object-fit:contain;object-position:center bottom;opacity:.92;animation:enemy-swarm-pop .35s ease-out both;transform-origin:center bottom;margin-left:-4px;}
.enemy-swarm-0{animation-delay:.02s;}
.enemy-swarm-1{--swarm-y:3px;animation-delay:.07s;}
.enemy-swarm-2{--swarm-y:-2px;animation-delay:.12s;}
.enemy-swarm-3{--swarm-y:4px;animation-delay:.17s;}
@keyframes enemy-swarm-pop{from{opacity:0;transform:translateY(calc(var(--swarm-y) + 10px)) scale(.72);}to{opacity:.92;transform:translateY(var(--swarm-y)) scale(1);}}
.enemy-appear{animation:enemy-drop .4s ease-out;}
@keyframes enemy-drop{from{opacity:0;transform:translateY(-20px);}to{opacity:1;transform:translateY(0);}}
.trainer-intro-layer{position:absolute;inset:0;z-index:45;pointer-events:auto;}
.trainer-intro-sprite{position:absolute;right:46px;top:25px;width:92px;height:92px;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 5px 8px rgba(0,0,0,.75));transition:transform .55s ease,opacity .55s ease;}
.trainer-intro-sprite img{max-width:92px;max-height:92px;object-fit:contain;object-position:center bottom;image-rendering:pixelated;display:block;}
.trainer-intro-enter{animation:trainer-intro-in .35s ease-out both;}
.trainer-intro-slide{transform:translateX(76px) scale(.92);opacity:.35;}
.trainer-intro-fallback{border-radius:50%;background:linear-gradient(145deg,var(--red),#341116);border:2px solid rgba(255,255,255,.22);color:#fff;font-family:var(--font-title);font-size:28px;font-weight:900;letter-spacing:.5px;}
.trainer-intro-box{position:absolute;left:8px;right:8px;bottom:8px;min-height:76px;background:rgba(238,242,247,.96);border:3px solid #1f2933;border-radius:7px;box-shadow:0 0 0 3px rgba(255,255,255,.9),0 8px 18px rgba(0,0,0,.45);padding:9px 52px 9px 12px;color:#111827;cursor:pointer;}
.trainer-intro-title{font-family:var(--font-title);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;color:#991b1b;margin-bottom:3px;}
.trainer-intro-text{font-family:var(--font-ui);font-size:13px;line-height:1.45;font-weight:650;color:#111827;}
.trainer-intro-next{position:absolute;right:9px;bottom:9px;border:0;border-radius:4px;background:#1f2933;color:#fff;font-family:var(--font-title);font-size:11px;font-weight:800;padding:6px 9px;cursor:pointer;}
.trainer-intro-next:after{content:"";display:inline-block;margin-left:5px;border-left:5px solid #fff;border-top:4px solid transparent;border-bottom:4px solid transparent;vertical-align:middle;}
.trainer-intro-next:disabled{opacity:.45;cursor:default;}
@keyframes trainer-intro-in{from{opacity:0;transform:translateX(70px);}to{opacity:1;transform:translateX(0);}}
.enemy-info{position:absolute;left:0;top:0;width:190px;max-width:56vw;text-align:left;margin:0;background:rgba(11,13,17,.84);border:1px solid var(--border-em);border-right:3px solid var(--red);border-radius:var(--r-sm);padding:5px 6px 5px 24px;min-height:52px;backdrop-filter:blur(4px);box-shadow:0 4px 14px rgba(0,0,0,.28);}
.enemy-info-shiny{border-right-color:var(--gold);box-shadow:0 0 10px rgba(245,197,24,.25);}
.enemy-info-dark{border-right-color:#7b2cff;box-shadow:0 0 16px rgba(123,44,255,.32);}
.enemy-dark-badge{font-size:8px;letter-spacing:.08em;padding:1px 4px;border-radius:999px;background:linear-gradient(135deg,#23123f,#7b2cff);color:#f1e9ff;border:1px solid rgba(219,198,255,.55);box-shadow:0 0 8px rgba(123,44,255,.45);flex:0 0 auto;}
.enemy-shiny-badge{margin-right:3px;filter:drop-shadow(0 0 3px rgba(245,197,24,.8));}
.enemy-origin-icon{position:absolute;left:5px;top:22px;width:15px;height:15px;border-radius:50%;background:rgba(238,242,247,.88);box-shadow:0 0 0 1px rgba(255,255,255,.16);}
.enemy-origin-trainer:before{content:"";position:absolute;left:5px;top:3px;width:5px;height:5px;border-radius:50%;background:#050505;}
.enemy-origin-trainer:after{content:"";position:absolute;left:3px;top:8px;width:9px;height:6px;border-radius:6px 6px 3px 3px;background:#050505;}
.enemy-origin-wild:before{content:"";position:absolute;left:2px;right:2px;bottom:4px;height:11px;background:#050505;clip-path:polygon(0 100%,5% 65%,12% 88%,18% 28%,25% 82%,34% 12%,43% 78%,52% 0,61% 78%,70% 16%,78% 84%,86% 34%,94% 88%,100% 58%,100% 100%);}
.enemy-origin-wild:after{content:"";position:absolute;left:4px;right:4px;bottom:3px;height:5px;background:#050505;border-radius:50% 50% 45% 45%;}
.trainer-team-balls{position:absolute;right:7px;top:3px;display:flex;justify-content:flex-end;gap:3px;margin:0;padding:0;}
.trainer-team-ball{position:relative;width:9px;height:9px;border-radius:50%;background:linear-gradient(180deg,#ef4444 0 45%,#111827 46% 54%,#f8fafc 55% 100%);border:1px solid rgba(255,255,255,.42);box-shadow:0 1px 2px rgba(0,0,0,.55);opacity:.95;}
.trainer-team-ball:after{content:"";position:absolute;left:2px;top:2px;width:3px;height:3px;border-radius:50%;background:#f8fafc;border:1px solid #111827;}
.trainer-team-ball.spent{filter:grayscale(1) brightness(.42);opacity:.42;}
.trainer-team-ball.active{box-shadow:0 0 0 1px rgba(245,197,24,.65),0 0 6px rgba(245,197,24,.45);}
.enemy-type-row{display:flex;align-items:center;gap:2px;min-height:12px;padding-right:34px;margin-bottom:2px;}
.enemy-mainline{display:block;padding-right:0;}
.enemy-nameline{font-family:var(--font-title);font-weight:700;font-size:11px;display:flex;align-items:center;gap:3px;justify-content:flex-start;flex-wrap:nowrap;color:var(--text-1);white-space:nowrap;overflow:hidden;line-height:1.1;min-width:0;}
.enemy-nameline b{overflow:hidden;text-overflow:ellipsis;min-width:0;max-width:100px;}
.enemy-lv{font-family:var(--font-mono);font-size:9px;color:var(--text-3);}
.enemy-hprow{display:flex;align-items:center;gap:0;margin-top:4px;}
.enemy-hpbar{position:relative;flex:0 0 132px;height:12px;background:rgba(255,255,255,.12);border-radius:7px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.25);}
.enemy-hpfill{height:100%;border-radius:7px;transition:width .3s;}
.enemy-hptxt{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:7px;font-weight:800;color:#eef2f7;text-shadow:0 1px 2px #000;white-space:nowrap;line-height:1;}
.swarm-row{display:flex;gap:3px;margin-top:4px;max-width:132px;overflow:hidden;}
.swarm-chip{display:flex;align-items:center;gap:2px;min-width:0;background:rgba(245,197,24,.12);border:1px solid rgba(245,197,24,.28);border-radius:5px;padding:1px 3px;}
.swarm-chip img{width:14px;height:14px;object-fit:contain;image-rendering:pixelated;flex:0 0 auto;}
.swarm-chip b{font-family:var(--font-mono);font-size:7px;color:#fde68a;line-height:1;}
.swarm-chip i{position:relative;display:block;width:18px;height:3px;background:rgba(255,255,255,.16);border-radius:999px;overflow:hidden;}
.swarm-chip u{display:block;height:100%;border-radius:999px;text-decoration:none;}

/* Typ-Badges */
.typ-badge,.type-badge{display:inline-block;font-size:9px;font-weight:800;padding:1px 5px;border-radius:3px;color:#fff;letter-spacing:.4px;text-transform:uppercase;line-height:1.25;white-space:nowrap;}
.typ-badge-sm,.type-badge-sm{font-size:7px;padding:1px 3px;border-radius:2px;min-width:20px;text-align:center;}
.battle-type-stack{display:flex;flex-direction:row;gap:2px;align-items:center;justify-content:flex-end;flex-wrap:nowrap;}

/* Status */
.status-badge{display:inline-block;font-size:9px;font-weight:700;padding:0 4px;border-radius:3px;letter-spacing:.3px;text-transform:uppercase;}
.status-verbrennung,.status-burn{background:#b22222;color:#ffe;}
.status-vergiftung,.status-poison{background:#7b2f9e;color:#ffe;}
.status-laehme,.status-paralysis{background:#c8a000;color:#333;}
.status-schlaf,.status-sleep{background:#445566;color:#cde;}
.status-einfriere,.status-freeze{background:#1a6fa8;color:#e6f4ff;}

/* Geschlecht */
.geschlecht-m,.gender-m{color:#5b9cf5;font-size:11px;font-weight:700;}
.geschlecht-w,.gender-f{color:#f472b6;font-size:11px;font-weight:700;}

#powerupLeiste{position:absolute;left:8px;top:8px;display:flex;flex-wrap:wrap;gap:4px;z-index:25;max-width:60%;}
.powerup-badge{font-family:var(--font-mono);font-size:11px;color:#ffd24a;background:rgba(11,13,17,.78);border:1px solid rgba(245,197,24,.4);border-radius:3px;padding:2px 6px;backdrop-filter:blur(3px);}
#bodenItem{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);z-index:20;}
.boden-gift{background:none;border:none;cursor:pointer;font-size:34px;line-height:1;padding:6px;filter:drop-shadow(0 3px 5px rgba(0,0,0,.6));animation:bodenPuls 1s ease-in-out infinite;transition:transform .1s;}
.boden-gift:hover{transform:scale(1.18);}
.boden-gift:active{transform:scale(.92);}
@keyframes bodenPuls{0%,100%{transform:translateY(0) scale(1);filter:drop-shadow(0 3px 5px rgba(0,0,0,.6)) drop-shadow(0 0 4px rgba(245,197,24,.5));}50%{transform:translateY(-6px) scale(1.08);filter:drop-shadow(0 6px 7px rgba(0,0,0,.5)) drop-shadow(0 0 10px rgba(245,197,24,.9));}}
#xpPopup{position:absolute;left:50%;transform:translateX(-50%);top:55%;font-family:var(--font-title);font-size:20px;font-weight:700;color:var(--gold);opacity:0;transition:opacity .4s,transform .8s;pointer-events:none;z-index:30;letter-spacing:1px;}

/* â”€â”€ Battle Panel â”€â”€ */
#battlePanel{background:var(--bg-surface);border-top:1px solid var(--border);max-height:0;overflow:hidden;transition:max-height .3s ease;flex-shrink:0;}
#battlePanel.battle-active{max-height:250px;}
#battlePanel.battle-active{background:radial-gradient(circle at 50% 12%,rgba(238,248,218,.16),rgba(18,21,28,.98) 62%),linear-gradient(180deg,var(--bg-surface),var(--bg-panel));box-shadow:inset 0 1px 0 rgba(255,255,255,.08);}
#battleLog{height:64px;overflow-y:auto;padding:6px 12px;font-size:12px;line-height:1.6;color:var(--text-2);border-bottom:1px solid var(--border);background:var(--bg-base);}
#battlePanel.battle-active #battleLog{background:rgba(7,9,13,.72);border-bottom-color:rgba(255,255,255,.12);}
#battleLog p{margin:0;}
#battleLog p:last-child{color:var(--text-1);}
#battleLog::-webkit-scrollbar{width:3px;}
#battleLog::-webkit-scrollbar-thumb{background:var(--border-em);}
#battleActions{padding:7px 10px;display:flex;flex-direction:column;gap:6px;}
#moveButtons{display:flex;flex-wrap:wrap;gap:4px;}
.ko-switch-box{width:100%;display:grid;gap:6px;border:1px solid rgba(245,158,11,.45);border-radius:10px;background:linear-gradient(180deg,rgba(245,158,11,.12),rgba(15,23,42,.72));padding:8px;}
.ko-switch-btn{width:100%;border:1px solid rgba(245,158,11,.75);background:#ef4444;color:#fff;border-radius:8px;font-family:var(--font-title);font-weight:800;font-size:14px;padding:10px;cursor:pointer;}
.ko-switch-text{font-size:11px;color:var(--text-2);display:flex;justify-content:space-between;align-items:center;}
.ko-switch-text b{color:#facc15;font-variant-numeric:tabular-nums;}
.ko-switch-timer{height:5px;border-radius:999px;background:rgba(51,65,85,.85);overflow:hidden;}
.ko-switch-timer span{display:block;height:100%;width:100%;border-radius:999px;background:linear-gradient(90deg,#22c55e,#facc15,#ef4444);transition:width .08s linear;}

/* Move Buttons */
.move-btn{flex:1 1 calc(50% - 2px);min-width:110px;padding:6px 8px;border-radius:var(--r-sm);border:1px solid var(--border-em);background:var(--bg-raised);color:var(--text-1);cursor:pointer;font-size:11px;font-family:var(--font-ui);text-align:left;display:flex;align-items:center;gap:5px;transition:background .12s,border-color .12s,transform .1s;}
.move-btn:hover:not(:disabled){background:var(--bg-hover);border-color:rgba(255,255,255,.22);transform:scale(1.02);}
.move-btn:active:not(:disabled){transform:scale(.98);}
.move-btn:disabled{cursor:not-allowed;opacity:.38;background:var(--bg-surface)!important;border-color:var(--border)!important;}
.move-btn-leer{border-color:var(--border)!important;}
.move-btn-struggle{flex:1 1 100%;background:var(--bg-raised)!important;border-color:var(--border-em)!important;justify-content:center;font-style:italic;}
.move-btn-geplant{border-color:#facc15!important;background:linear-gradient(180deg,rgba(250,204,21,.18),rgba(250,204,21,.06))!important;box-shadow:0 0 0 1px rgba(250,204,21,.28),0 0 14px rgba(250,204,21,.16);}
.move-name{flex:1;font-weight:600;font-size:12px;color:var(--text-1);}
.move-typ{font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;color:#fff;letter-spacing:.4px;text-transform:uppercase;white-space:nowrap;}
.move-ap{font-family:var(--font-mono);font-size:9px;color:var(--text-3);margin-left:auto;white-space:nowrap;background:rgba(255,255,255,.05);padding:1px 4px;border-radius:3px;}
.move-ap-niedrig{color:#f97316!important;background:rgba(249,115,22,.12)!important;}
.move-ap-leer{color:var(--text-3)!important;font-style:italic;background:transparent!important;}

/* Battle Buttons Row */
#battleBtns{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap;}
#catchBalls{display:flex;gap:5px;align-items:center;flex-wrap:wrap;}
.ball-btn{background:var(--bg-raised);border:1px solid var(--border-em);border-radius:var(--r-sm);padding:4px 8px;cursor:pointer;display:flex;align-items:center;gap:4px;transition:background .12s,transform .1s;}
.ball-btn:hover{background:var(--bg-hover);transform:scale(1.06);}
.ball-btn img{image-rendering:pixelated;display:block;}
.ball-count{font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--text-1);background:rgba(0,0,0,.5);border-radius:3px;padding:0 4px;min-width:18px;text-align:center;}
.btn-auto{padding:6px 12px;border-radius:var(--r-sm);background:var(--red);border:none;color:#fff;font-family:var(--font-title);font-size:13px;font-weight:700;letter-spacing:.5px;cursor:pointer;transition:opacity .15s;}
.btn-auto:hover{opacity:.85;}
.btn-flee{padding:6px 12px;border-radius:var(--r-sm);background:var(--bg-raised);border:1px solid var(--border-em);color:var(--text-2);font-family:var(--font-ui);font-size:12px;cursor:pointer;transition:.2s;}
.btn-flee:hover{color:var(--text-1);}

/* â”€â”€ Tabs â”€â”€ */
#tabs{display:flex;border-top:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;}
.tab{flex:1;padding:7px 2px;border:none;background:none;color:var(--text-3);font-family:var(--font-ui);font-size:8.5px;font-weight:650;letter-spacing:.25px;text-transform:uppercase;cursor:pointer;transition:color .15s;border-top:2px solid transparent;margin-top:-1px;line-height:1.15;}
.tab:hover{color:var(--text-2);}
.tab.active{color:var(--red);border-top-color:var(--red);}
.tab:disabled,.tab.tab-disabled{color:var(--text-3);opacity:.35;cursor:not-allowed;}
.tab:disabled:hover,.tab.tab-disabled:hover{color:var(--text-3);}
#tabOverlayBtn{height:21px;flex-shrink:0;border:0;border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgba(23,27,38,.98),rgba(10,12,18,.98));color:var(--text-3);font-family:var(--font-ui);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;align-items:center;justify-content:center;cursor:pointer;touch-action:manipulation;}
#tabOverlayBtn span:before{content:"\25A3";font-size:8px;margin-right:6px;color:var(--gold);}
#tabOverlayBtn:hover{color:var(--text-1);background:var(--bg-raised);}
.tab-overlay{position:fixed;inset:0;z-index:1550;background:rgba(2,4,10,.76);backdrop-filter:blur(5px);align-items:center;justify-content:center;padding:10px;}
.tab-overlay-panel{width:min(620px,96vw);height:min(760px,92vh);display:flex;flex-direction:column;border:1px solid rgba(245,197,24,.28);border-radius:18px;background:linear-gradient(180deg,#171b26,#080a0f);box-shadow:0 24px 80px rgba(0,0,0,.72);overflow:hidden;}
.tab-overlay-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,rgba(245,197,24,.11),rgba(224,48,48,.07));}
.tab-overlay-head small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);}
.tab-overlay-head b{display:block;font-family:var(--font-title);font-size:20px;color:var(--text-1);letter-spacing:.7px;}
.tab-overlay-head button{width:34px;height:34px;border-radius:10px;border:1px solid var(--border-em);background:var(--bg-raised);color:var(--text-1);font-family:var(--font-title);font-size:17px;font-weight:900;cursor:pointer;}
.tab-overlay-head button:hover{border-color:var(--gold);background:var(--gold-dim);}
.tab-overlay-body{flex:1;min-height:0;overflow:auto;background:var(--bg-base);}
.tab-overlay-body>.tab-view{display:block!important;height:100%;overflow:auto;padding:12px;background:var(--bg-base);}

/* â”€â”€ Tab Views â”€â”€ */
.tab-view{flex:1;overflow-y:auto;padding:12px;background:var(--bg-base);}
.tab-view::-webkit-scrollbar{width:3px;}
.tab-view::-webkit-scrollbar-thumb{background:var(--border-em);}

/* â”€â”€ World Tab â”€â”€ */
.zone-info-panel{padding:4px 0;}
.zone-info-header{font-family:var(--font-title);font-size:16px;font-weight:700;letter-spacing:.5px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border);color:var(--text-1);}
.route-dir-bar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;margin:-4px 0 12px;}
.route-dir-btn{width:100%;min-width:0;box-sizing:border-box;padding:7px 8px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--bg-surface);color:var(--text-2);font-family:var(--font-ui);font-size:11px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;transition:.15s;touch-action:manipulation;}
.route-dir-btn span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.route-dir-btn:hover{background:var(--bg-raised);color:var(--text-1);}
.route-dir-btn.active{border-color:var(--red-dim);background:rgba(220,38,38,.12);color:var(--text-1);}
.route-branch-bar{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 12px;}
.route-branch-btn{flex:1 1 auto;min-width:46%;box-sizing:border-box;padding:7px 8px;border-radius:var(--r-sm);border:1px solid var(--border-em);background:var(--bg-raised);color:var(--text-1);font-family:var(--font-ui);font-size:11px;font-weight:600;cursor:pointer;transition:.15s;touch-action:manipulation;}
.route-branch-btn:hover{background:var(--bg-hover);border-color:var(--gold);}
.route-branch-btn.gesperrt{color:var(--text-3);border-style:dashed;cursor:pointer;}
.farm-bar{margin:-6px 0 12px;}
.farm-btn{width:100%;box-sizing:border-box;padding:7px 8px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--bg-surface);color:var(--text-2);font-family:var(--font-ui);font-size:11px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;transition:.15s;touch-action:manipulation;}
.farm-btn:hover{background:var(--bg-raised);color:var(--text-1);}
.farm-btn.active{border-color:var(--gold);background:var(--gold-dim);color:#ffd24a;}
.encounter-section,.trainer-section{margin-bottom:14px;}
.encounter-title{font-size:10px;color:var(--text-3);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;font-weight:600;}
.encounter-collapsible{border:1px solid var(--border);border-radius:var(--r-sm);background:rgba(255,255,255,.025);padding:7px 9px;margin-bottom:8px;}
.encounter-collapsible[open]{background:rgba(255,255,255,.04);border-color:var(--border-em);}
.encounter-collapsible summary{cursor:pointer;list-style:none;margin-bottom:0;display:flex;align-items:center;justify-content:space-between;gap:8px;touch-action:manipulation;}
.encounter-collapsible summary::-webkit-details-marker{display:none;}
.encounter-collapsible summary:after{content:"+";font-size:13px;color:var(--text-2);font-family:var(--font-mono);}
.encounter-collapsible[open] summary{margin-bottom:6px;color:var(--text-2);}
.encounter-collapsible[open] summary:after{content:"-";}
.encounter-row{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.04);}
.enc-sprite{width:32px;height:32px;image-rendering:pixelated;flex-shrink:0;}
.enc-info{flex:1;}
.enc-name{font-size:13px;font-weight:600;display:block;color:var(--text-1);}
.enc-lv{font-size:10px;color:var(--text-3);font-family:var(--font-mono);}
.enc-right{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.enc-bar-wrap{width:50px;height:3px;background:var(--bg-active);border-radius:2px;}
.enc-bar{height:100%;background:var(--red);border-radius:2px;}
.enc-pct{font-size:11px;color:var(--text-3);min-width:28px;text-align:right;font-family:var(--font-mono);}
.enc-auto-btn{margin-left:6px;flex:0 0 auto;border-radius:999px;padding:4px 8px;font-size:10px;line-height:1;font-family:var(--font-title);font-weight:700;letter-spacing:.6px;text-transform:uppercase;cursor:pointer;transition:filter .15s ease,transform .15s ease,box-shadow .15s ease;}
.enc-auto-btn:active{transform:scale(.94);}
.enc-auto-active{background:var(--gold-dim);color:#ffd24a;border:1px solid var(--gold);box-shadow:0 0 8px rgba(245,197,24,.22);}
.enc-auto-manual{background:rgba(255,255,255,.04);color:var(--text-3);border:1px dashed var(--border-em);box-shadow:none;}
.trainer-row{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.04);}
.trainer-row.trainer-besiegt{opacity:.35;}
.trainer-row-info{flex:1;font-size:12px;color:var(--text-1);}
.trainer-row-boss{min-height:64px;padding:8px 0;}
.trainer-row-sprite{width:54px;height:58px;object-fit:contain;object-position:center bottom;image-rendering:pixelated;filter:drop-shadow(0 3px 6px rgba(0,0,0,.55));flex:0 0 auto;}
.boss-row-sprite{width:62px;height:68px;}
.trainer-etappe{color:var(--text-3);font-size:10px;font-family:var(--font-mono);}
.trainer-status{font-size:14px;}

.world-hub-redesign,.zone-info-panel{display:flex;flex-direction:column;gap:12px;}
.world-hero{background:linear-gradient(135deg,rgba(220,38,38,.16),rgba(245,197,24,.08));border:1px solid var(--border);border-left:3px solid var(--red);border-radius:var(--r-md);padding:14px 14px 12px;margin-bottom:2px;}
.world-hero h3,.city-hub-header.world-hero h3{margin:0;font-family:var(--font-title);font-size:20px;color:var(--text-1);letter-spacing:.8px;text-transform:uppercase;}
.world-hero p{margin:4px 0 0;color:var(--text-3);font-size:12px;line-height:1.4;}
.world-kicker{font-size:9px;color:var(--gold);text-transform:uppercase;letter-spacing:1.2px;font-weight:800;margin-bottom:4px;}
.world-section{display:flex;flex-direction:column;gap:7px;margin-bottom:4px;}
.world-section-title{font-size:10px;color:var(--text-3);text-transform:uppercase;letter-spacing:1px;font-weight:700;padding-bottom:4px;border-bottom:1px solid var(--border);}
.world-card-grid{display:flex;flex-direction:column;gap:7px;}
.world-card{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--bg-surface);border:1px solid var(--border);border-left:3px solid var(--border-em);border-radius:var(--r-sm);padding:10px 11px;transition:background .15s,border-color .15s,transform .15s,opacity .15s;cursor:pointer;}
.world-card:hover{background:var(--bg-raised);transform:translateX(3px);}
.world-card-main{min-width:0;display:flex;flex-direction:column;gap:2px;}
.world-card-main b{font-size:13px;color:var(--text-1);line-height:1.25;overflow:hidden;text-overflow:ellipsis;}
.world-card-main small{font-size:11px;color:var(--text-3);line-height:1.35;}
.world-card-status{flex:0 0 auto;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;background:rgba(255,255,255,.05);color:var(--text-2);border:1px solid var(--border);}
.building-offen{border-left-color:var(--gold);}
.building-offen .world-card-status{color:#ffd24a;border-color:rgba(245,197,24,.45);background:rgba(245,197,24,.1);}
.building-erledigt{border-left-color:var(--green);background:rgba(34,197,94,.07);}
.building-erledigt .world-card-status{color:var(--green);border-color:rgba(34,197,94,.45);background:rgba(34,197,94,.1);}
.building-teilweise{border-left-color:var(--blue);background:rgba(99,144,240,.06);}
.building-teilweise .world-card-status{color:#8fb3ff;border-color:rgba(99,144,240,.45);background:rgba(99,144,240,.1);}
.building-gesperrt,.travel-locked{border-left-color:var(--text-3);opacity:.58;cursor:not-allowed;}
.building-gesperrt:hover,.travel-locked:hover{transform:none;background:var(--bg-surface);}
.building-service{border-left-color:var(--blue);}
.building-service .world-card-status{color:#8fb3ff;border-color:rgba(99,144,240,.45);background:rgba(99,144,240,.1);}
.building-kampf{border-left-color:var(--red);}
.building-kampf .world-card-status{color:#ff9b9b;border-color:rgba(220,38,38,.48);background:rgba(220,38,38,.12);}
.building-heal-card{border-left-color:var(--green);}
.travel-card{border-left-color:var(--red-dim);}
.travel-card-bg{background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);}
.travel-card-bg .world-card-main b{text-shadow:0 1px 4px rgba(0,0,0,.85);}
.travel-card-bg .world-card-main small{color:rgba(230,235,245,.72);text-shadow:0 1px 3px rgba(0,0,0,.85);}
.travel-card-bg .world-card-status{background:rgba(11,13,17,.72);backdrop-filter:blur(3px);}
.travel-card:not(.travel-locked) .world-card-status{color:var(--text-1);}
.travel-arrow-status{width:34px;height:30px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:10px;}
.travel-arrow{display:block;width:24px;height:24px;background-image:url('/Aurelion/assets/ui/travel-arrows.png');background-repeat:no-repeat;background-size:96px 24px;image-rendering:pixelated;filter:drop-shadow(0 2px 2px rgba(0,0,0,.6));}
.travel-arrow-up{background-position:0 0;}
.travel-arrow-down{background-position:-24px 0;}
.travel-arrow-left{background-position:-48px 0;}
.travel-arrow-right{background-position:-72px 0;}
.gym-badge-icon{display:inline-block;width:32px;height:32px;background-image:url('/Aurelion/assets/ui/gym-type-badges.png');background-repeat:no-repeat;background-size:192px 96px;image-rendering:pixelated;vertical-align:middle;filter:drop-shadow(0 2px 2px rgba(0,0,0,.45));}
.gym-badge-icon.mini{width:32px;height:32px;transform:scale(.68);transform-origin:left center;margin-right:-10px;}
.gym-badge-0{background-position:0 0;}
.gym-badge-1{background-position:-32px 0;}
.gym-badge-2{background-position:-64px 0;}
.gym-badge-3{background-position:-96px 0;}
.gym-badge-4{background-position:-128px 0;}
.gym-badge-5{background-position:-160px 0;}
.gym-badge-6{background-position:0 -32px;}
.gym-badge-7{background-position:-32px -32px;}
.gym-badge-8{background-position:-64px -32px;}
.gym-badge-9{background-position:-96px -32px;}
.gym-badge-10{background-position:-128px -32px;}
.gym-badge-11{background-position:-160px -32px;}
.gym-badge-12{background-position:0 -64px;}
.gym-badge-13{background-position:-32px -64px;}
.gym-badge-14{background-position:-64px -64px;}
.gym-badge-15{background-position:-96px -64px;}
.gym-badge-16{background-position:-128px -64px;}
.gym-badge-17{background-position:-160px -64px;}

.arena-victory-modal{position:fixed;inset:0;z-index:980;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.78);backdrop-filter:blur(5px);padding:16px;}
.arena-victory-panel{width:min(520px,96vw);border:1px solid rgba(245,197,24,.48);border-top:4px solid var(--gold);border-radius:18px;background:linear-gradient(180deg,rgba(31,41,55,.96),rgba(13,17,26,.98));box-shadow:0 18px 55px rgba(0,0,0,.55),0 0 38px rgba(245,197,24,.13);padding:20px;color:var(--text-1);text-align:center;}
.arena-victory-topline{font-family:var(--font-title);letter-spacing:2px;text-transform:uppercase;color:var(--gold);font-size:12px;margin-bottom:12px;}
.arena-victory-stage{display:flex;align-items:center;justify-content:center;gap:24px;margin:4px 0 16px;}
.arena-victory-leader{width:128px;height:128px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 8px 8px rgba(0,0,0,.5));}
.arena-victory-leader.fallback{border-radius:18px;background:rgba(255,255,255,.05);border:1px solid var(--border);}
.arena-victory-badge-wrap{min-width:150px;border:1px solid rgba(245,197,24,.34);border-radius:16px;background:radial-gradient(circle at 50% 28%,rgba(245,197,24,.18),rgba(255,255,255,.04) 55%,rgba(0,0,0,.12));padding:18px 12px 14px;display:flex;flex-direction:column;align-items:center;gap:4px;}
.arena-victory-badge{width:32px;height:32px;transform:scale(2.05);margin:18px 0 20px;filter:drop-shadow(0 0 10px rgba(245,197,24,.65)) drop-shadow(0 4px 4px rgba(0,0,0,.55));}
.arena-victory-badge-wrap b{font-family:var(--font-title);font-size:20px;line-height:1.05;}
.arena-victory-badge-wrap small{color:var(--text-3);font-size:11px;text-transform:uppercase;letter-spacing:1px;}
.arena-victory-text{border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.045);padding:14px 15px;text-align:left;line-height:1.45;color:var(--text-1);font-size:15px;margin-bottom:12px;}
.arena-victory-reward{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid rgba(96,165,250,.34);border-radius:14px;background:rgba(59,130,246,.09);padding:12px 14px;margin-bottom:14px;text-align:left;}
.arena-victory-reward span{color:var(--text-3);font-size:11px;text-transform:uppercase;letter-spacing:1px;}
.arena-victory-reward b{color:#bfdbfe;font-size:16px;}
.arena-victory-ok{width:100%;border:0;border-radius:12px;background:linear-gradient(180deg,#ef4444,#b91c1c);color:#fff;font-family:var(--font-title);font-size:16px;padding:13px 16px;box-shadow:0 8px 18px rgba(185,28,28,.35);cursor:pointer;}
.arena-victory-ok:active{transform:translateY(1px);}
@media(max-width:520px){.arena-victory-panel{padding:16px}.arena-victory-stage{gap:14px}.arena-victory-leader{width:108px;height:108px}.arena-victory-badge-wrap{min-width:132px}.arena-victory-badge{transform:scale(1.8);}}

/* Fishing Tab */
.fishing-panel{background:var(--bg-surface);border:1px solid var(--border);border-top:2px solid var(--blue);border-radius:var(--r-md);padding:14px;}
.fishing-disabled{opacity:.6;}
.fishing-title{font-family:var(--font-title);font-size:17px;font-weight:700;color:var(--text-1);letter-spacing:.5px;margin-bottom:2px;}
.fishing-zone{font-size:12px;color:var(--text-3);margin-bottom:14px;}
.fishing-rods{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;}
.fishing-rod-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border-radius:var(--r-sm);border:1px solid var(--border);border-left:2px solid var(--blue);background:var(--bg-raised);color:var(--text-1);font-family:var(--font-ui);cursor:pointer;transition:.15s;text-align:left;}
.fishing-rod-btn:hover:not(:disabled){background:var(--bg-hover);transform:translateX(3px);}
.fishing-rod-btn.selected{border-color:rgba(99,144,240,.55);background:rgba(99,144,240,.1);}
.fishing-rod-btn:disabled{opacity:.38;cursor:not-allowed;transform:none;}
.fishing-rod-btn span{font-size:13px;font-weight:700;}
.fishing-rod-btn small{font-size:10px;color:var(--text-3);font-family:var(--font-mono);}
.fishing-cast-btn{width:100%;padding:11px 14px;border-radius:var(--r-sm);background:var(--blue);border:none;color:#fff;font-family:var(--font-title);font-size:14px;font-weight:700;letter-spacing:.5px;cursor:pointer;transition:.15s;}
.fishing-cast-btn:hover:not(:disabled){opacity:.88;}
.fishing-cast-btn:disabled{opacity:.35;cursor:not-allowed;}
.fishing-note{font-size:12px;color:var(--text-3);margin-top:10px;text-align:center;}
#sceneView.fishing-scene{box-shadow:inset 0 0 0 2px rgba(99,144,240,.22);}

/* â”€â”€ City Hub â”€â”€ */
.city-view{padding:4px 0;}
.city-header{text-align:center;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border);}
.city-title{font-family:var(--font-title);font-size:20px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--text-1);}
.hub-section{margin-bottom:14px;}
.hub-section-title{font-size:10px;color:var(--text-3);text-transform:uppercase;letter-spacing:1px;font-weight:600;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--border);}
.hub-heal-btn{background:var(--bg-surface);border:1px solid var(--border);border-left:2px solid var(--green);border-radius:var(--r-md);padding:12px;cursor:pointer;transition:.2s;}
.hub-heal-btn:hover{background:var(--bg-raised);border-left-color:var(--green);}
.hub-heal-btn span{font-size:14px;font-weight:600;color:var(--text-1);display:block;}
.hub-heal-btn small{font-size:11px;color:var(--text-3);}
.hub-exits{display:flex;flex-direction:column;gap:5px;}
.hub-exit-card{background:var(--bg-surface);border:1px solid var(--border);border-left:2px solid var(--red-dim);border-radius:var(--r-sm);padding:10px 12px;cursor:pointer;transition:.2s;}
.hub-exit-card:hover{background:var(--bg-raised);border-left-color:var(--red);transform:translateX(3px);}
.hub-exit-gesperrt{border-left-color:var(--text-3)!important;cursor:not-allowed;opacity:.55;}
.hub-exit-gesperrt:hover{transform:none!important;background:var(--bg-surface)!important;}
.hub-exit-besiegt{border-left-color:var(--green)!important;opacity:.6;}
.hub-exit-label{font-size:13px;font-weight:600;color:var(--text-1);}
.hub-exit-desc{font-size:11px;color:var(--text-3);margin-top:2px;}
.hub-gesperrt-text{font-size:11px;color:var(--text-3);margin-top:4px;font-style:italic;}

/* â”€â”€ GebÃ¤ude-View â”€â”€ */
.gebaeude-view{padding:4px 0;}
.gebaeude-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--border);}
.gebaeude-header button{background:var(--bg-raised);border:1px solid var(--border-em);color:var(--text-2);font-size:12px;padding:5px 10px;border-radius:var(--r-sm);cursor:pointer;transition:.2s;font-family:var(--font-ui);}
.gebaeude-header button:hover{color:var(--text-1);}
.gebaeude-header h3{font-family:var(--font-title);font-size:17px;font-weight:700;letter-spacing:.5px;color:var(--text-1);}
.feat-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-md);padding:12px;margin-bottom:8px;}
.feat-titel{font-size:14px;font-weight:600;color:var(--text-1);margin-bottom:4px;}
.feat-beschr{font-size:12px;color:var(--text-3);margin-bottom:8px;}
.feat-btn{padding:8px 16px;border-radius:var(--r-sm);background:var(--red);border:none;color:#fff;font-family:var(--font-title);font-size:13px;font-weight:700;letter-spacing:.5px;cursor:pointer;transition:opacity .15s;}
.feat-btn:hover{opacity:.85;}
.feat-fertig{font-size:12px;color:var(--green);font-weight:600;}
.feat-gesperrt{font-size:12px;color:var(--text-3);font-style:italic;}

/* â”€â”€ Shop â”€â”€ */
.shop-row{display:flex;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.04);}
.shop-row:last-child{border-bottom:none;}
.shop-info{flex:1;font-size:13px;color:var(--text-1);}
.shop-preis,.shop-price{font-family:var(--font-mono);color:var(--gold);font-size:13px;font-weight:700;white-space:nowrap;}
.shop-row button{padding:6px 10px;border-radius:var(--r-sm);background:var(--red);border:none;color:#fff;cursor:pointer;font-family:var(--font-title);font-size:12px;font-weight:700;transition:opacity .15s;}
.shop-row button:disabled{opacity:.35;cursor:not-allowed;}
.shop-row button:hover:not(:disabled){opacity:.85;}
.shop-wallet{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-sm);padding:9px 10px;margin-bottom:8px;}
.shop-wallet span{font-size:11px;color:var(--text-3);text-transform:uppercase;letter-spacing:.8px;}
.shop-wallet b{font-family:var(--font-mono);font-size:15px;color:var(--gold);}
.shop-status{min-height:18px;margin-bottom:4px;font-size:12px;color:var(--text-3);}
.shop-status-ok{color:var(--green);}
.shop-status-warn{color:var(--gold);}
.shop-info small{display:block;margin-top:2px;color:var(--text-3);font-size:11px;}
.shop-empty{color:var(--text-3);text-align:center;padding:16px 0;font-style:italic;}

/* â”€â”€ Waypoints â”€â”€ */
.waypoint-panel{background:var(--bg-surface);border:1px solid var(--border-em);border-top:2px solid var(--gold);border-radius:var(--r-lg);padding:20px;text-align:center;}
.waypoint-text{font-size:14px;color:var(--text-2);margin-bottom:16px;line-height:1.6;}
.waypoint-wahl{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:12px;}
.wahl-karte{background:var(--bg-raised);border:1px solid var(--border-em);border-radius:var(--r-md);padding:14px;cursor:pointer;transition:.2s;text-align:center;min-width:100px;}
.wahl-karte:hover{border-color:var(--gold);background:var(--bg-hover);}
.wahl-karte img{width:56px;height:56px;image-rendering:pixelated;display:block;margin:0 auto 6px;}
.wahl-name{font-weight:700;font-size:13px;color:var(--text-1);}
.wahl-pkmn{font-size:11px;color:var(--text-3);margin-top:2px;}
.waypoint-btn{padding:10px 20px;border-radius:var(--r-sm);background:var(--gold);border:none;color:#222;font-family:var(--font-title);font-size:14px;font-weight:700;letter-spacing:.5px;cursor:pointer;transition:.2s;}
.waypoint-btn:hover{opacity:.85;}
.waypoint-btn-secondary{display:block;width:100%;margin-top:10px;background:var(--bg-raised);border:1px solid var(--border-em);color:var(--text-1);}
.waypoint-gesperrt{font-size:13px;color:var(--text-3);font-style:italic;}

/* â”€â”€ Dialog â”€â”€ */
.dialog-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:500;backdrop-filter:blur(2px);}
.dialog-box{background:var(--bg-surface);border:1px solid var(--border-em);border-top:2px solid var(--red);border-radius:var(--r-lg);padding:24px;width:320px;max-width:95vw;}
.dialog-title{font-family:var(--font-title);font-size:15px;font-weight:800;color:var(--text-1);letter-spacing:.6px;text-transform:uppercase;margin-bottom:10px;}
.dialog-text{font-size:14px;color:var(--text-2);line-height:1.7;margin-bottom:16px;}
.dialog-ok{width:100%;padding:10px;border-radius:var(--r-sm);background:var(--red);border:none;color:#fff;font-family:var(--font-title);font-size:14px;font-weight:700;letter-spacing:.5px;cursor:pointer;transition:opacity .15s;}
.dialog-ok:hover{opacity:.85;}

/* â”€â”€ Karte â”€â”€ */
.map-section-title{font-size:10px;color:var(--text-3);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--border);font-weight:600;}
.map-standort{background:var(--bg-raised);border:1px solid var(--border);border-left:2px solid var(--red);border-radius:var(--r-sm);padding:8px 12px;font-size:13px;margin-bottom:10px;color:var(--text-2);}
.city-travel-grid{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;}
.city-travel-btn{width:100%;padding:10px 14px;border-radius:var(--r-sm);background:var(--bg-surface);border:1px solid var(--border);border-left:2px solid var(--red-dim);color:var(--text-2);font-size:13px;font-weight:500;text-align:left;cursor:pointer;transition:.2s;font-family:var(--font-ui);}
.city-travel-btn:hover{background:var(--bg-raised);border-left-color:var(--red);color:var(--text-1);transform:translateX(3px);}
.map-fly-hint{font-size:12px;color:var(--text-3);background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:var(--r-sm);padding:10px 12px;margin-bottom:10px;line-height:1.6;}
.map-zone{padding:7px 10px;border-radius:var(--r-sm);margin-bottom:3px;font-size:13px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.map-unlocked{background:var(--bg-surface);color:var(--text-2);}
.map-locked{background:transparent;color:var(--text-3);opacity:.5;}
.map-current{background:var(--red-glow);border:1px solid var(--red-dim);color:var(--text-1);}
.map-hier{color:var(--red);font-weight:700;font-size:10px;text-transform:uppercase;}
.map-gesperrt{margin-left:auto;font-size:11px;color:var(--text-3);}
.map-orden{margin-left:auto;}
.map-fortschritt{font-size:11px;color:var(--text-3);text-align:center;margin-top:10px;padding:6px;border-top:1px solid var(--border);}
.badge-row{display:flex;gap:5px;margin-bottom:10px;}
.badge-icon{font-size:18px;opacity:.2;transition:.3s;}
.badge-icon.badge-earned{opacity:1;filter:drop-shadow(0 0 5px var(--gold));}
.map-badge-panel{width:100%;max-width:560px;box-sizing:border-box;background:linear-gradient(180deg,var(--bg-raised),var(--bg-surface));border:1px solid var(--border-em);border-radius:var(--r-md);padding:10px;margin:0 auto 12px;}
.map-badge-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;}
.map-badge-head b{font-family:var(--font-title);font-size:15px;color:var(--text-1);}
.map-badge-head small{font-family:var(--font-mono);font-size:12px;color:var(--gold);}
.map-badge-grid{display:grid;grid-template-columns:repeat(6,minmax(42px,1fr));gap:8px;}
.map-badge-slot{position:relative;min-height:48px;border:1px solid var(--border);border-radius:var(--r-sm);background:rgba(255,255,255,.03);display:flex;align-items:center;justify-content:center;padding-bottom:10px;}
.map-badge-slot .gym-badge-icon{transform:scale(.9);}
.map-badge-slot.earned{border-color:rgba(245,197,24,.42);background:rgba(245,197,24,.08);}
.map-badge-slot.missing .gym-badge-icon{filter:grayscale(1) brightness(.38);opacity:.38;}
.map-badge-counter{position:absolute;left:50%;bottom:3px;transform:translateX(-50%);min-width:18px;padding:1px 5px;border-radius:999px;background:rgba(0,0,0,.42);border:1px solid rgba(245,197,24,.22);font-family:var(--font-mono);font-size:9px;font-weight:900;line-height:1.2;color:var(--gold);text-align:center;}
.map-badge-slot.missing .map-badge-counter{color:var(--text-3);border-color:rgba(255,255,255,.08);opacity:.55;}
@media (max-width:430px){
  .map-badge-panel{max-width:none;margin-left:-2px;margin-right:-2px;padding:9px;}
  .map-badge-grid{gap:6px;grid-template-columns:repeat(6,minmax(38px,1fr));}
  .map-badge-slot{min-height:50px;}
}

/* â”€â”€ Team â”€â”€ */
.team-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-md);padding:10px;margin-bottom:8px;display:flex;gap:10px;align-items:flex-start;transition:border-color .15s;}
.team-card:hover{border-color:var(--border-em);}
.team-card.pokemon-selected,.box-mini.pokemon-selected,.team-slot.pokemon-selected,.box-icon.pokemon-selected{border-color:var(--gold)!important;background:rgba(245,197,24,.12)!important;box-shadow:0 0 0 2px rgba(245,197,24,.38),0 0 18px rgba(245,197,24,.16);}
.team-card.team-ko{opacity:.4;filter:grayscale(.7);}
.team-card.team-evo-bereit{border-color:rgba(245,197,24,.3);}
.team-card.team-shiny{border-color:rgba(245,197,24,.4);background:linear-gradient(135deg,var(--bg-surface) 70%,rgba(245,197,24,.05));}
.team-sprite{width:52px;height:52px;image-rendering:pixelated;flex-shrink:0;}
.team-info{flex:1;min-width:0;}
.team-nameline{font-family:var(--font-title);font-size:14px;font-weight:700;margin-bottom:3px;display:flex;align-items:center;gap:4px;flex-wrap:wrap;color:var(--text-1);}
.team-lv{font-family:var(--font-mono);font-size:10px;color:var(--text-3);}
.team-shiny-badge{font-size:10px;font-weight:700;color:var(--gold);background:var(--gold-dim);border:1px solid rgba(245,197,24,.3);border-radius:3px;padding:1px 5px;}
.team-lead,.team-evo-badge{font-size:10px;font-weight:700;background:var(--red-glow);border:1px solid var(--red-dim);border-radius:3px;padding:1px 5px;color:var(--red);}
.team-typen{margin-bottom:4px;}
.team-hprow,.team-xprow{display:flex;align-items:center;gap:6px;margin-bottom:3px;}
.team-hpbar,.team-xpbar{flex:1;height:4px;background:rgba(255,255,255,.08);border-radius:2px;overflow:hidden;}
.team-hpfill{height:100%;border-radius:2px;transition:width .3s;}
.team-xpfill{height:100%;border-radius:2px;background:var(--blue);}
.team-hptxt,.team-xptxt{font-family:var(--font-mono);font-size:10px;color:var(--text-3);white-space:nowrap;}
.team-attacken{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:4px;}
.mini-move{font-size:10px;padding:1px 6px;border:1px solid var(--border-em);border-radius:3px;color:var(--text-2);background:var(--bg-raised);}
.team-evo-btn{width:100%;padding:7px;border-radius:var(--r-sm);background:rgba(245,197,24,.1);border:1px solid rgba(245,197,24,.25);color:var(--gold);font-family:var(--font-title);font-size:12px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:8px;justify-content:center;transition:.2s;margin-top:4px;}
.team-evo-btn:hover{background:rgba(245,197,24,.2);}
.team-evo-vorschau{width:28px;height:28px;image-rendering:pixelated;}
.team-aktionen{display:flex;flex-direction:column;gap:4px;}
.team-akt-sm{font-size:10px;padding:4px 7px;border-radius:3px;border:1px solid var(--border-em);background:var(--bg-raised);color:var(--text-2);cursor:pointer;white-space:nowrap;transition:.15s;font-family:var(--font-ui);}
.team-akt-sm:hover{background:var(--bg-hover);color:var(--text-1);}
.team-akt-sm:disabled,.team-akt-deakt{opacity:.25;cursor:not-allowed;}
.box-hinweis{font-size:11px;color:var(--text-3);text-align:center;padding:8px 0 4px;border-top:1px solid var(--border);margin-top:8px;}
.box-move-bar{display:flex;align-items:center;gap:8px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-md);padding:8px;margin-bottom:10px;}
.box-move-bar span{flex:1;color:var(--text-3);font-size:11px;}
.box-move-bar-active{border-color:rgba(245,197,24,.35);background:rgba(245,197,24,.06);}
.box-move-toggle{padding:7px 10px;border-radius:var(--r-sm);border:1px solid var(--border-em);background:var(--bg-raised);color:var(--text-1);font-family:var(--font-title);font-size:12px;font-weight:700;cursor:pointer;}
.box-move-bar-active .box-move-toggle{background:var(--gold);color:#222;border-color:var(--gold);}
.team-drop-slot{border:1px dashed var(--border-em);border-radius:var(--r-md);background:rgba(255,255,255,.03);color:var(--text-3);font-size:12px;text-align:center;padding:12px;margin:4px 0 10px;}
.pokemon-dragging{opacity:.45;}
.pokemon-drop-over{border-color:var(--gold)!important;background:rgba(245,197,24,.08)!important;}

/* Box */
.box-grid{display:flex;flex-wrap:wrap;gap:6px;}
.box-mini{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:6px;text-align:center;cursor:pointer;width:74px;min-height:86px;font-size:10px;transition:.2s;color:var(--text-2);position:relative;}
.box-grid.pokemon-drop-over{outline:1px dashed var(--gold);outline-offset:4px;border-radius:var(--r-sm);}
.box-mini:hover{background:var(--bg-raised);border-color:var(--border-em);}
.box-mini[draggable="true"]{cursor:grab;}
.box-mini[draggable="true"]:active{cursor:grabbing;}
.box-mini img{width:46px;height:46px;image-rendering:pixelated;display:block;margin:0 auto;}
.box-mini-label{font-size:9px;color:var(--text-2);max-width:66px;text-align:center;line-height:1.2;display:grid;gap:1px;}
.box-mini-label span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.box-mini-label small{font-family:var(--font-mono);font-size:9px;color:var(--text-3);}
.box-mini-shiny{border-color:rgba(245,197,24,.4)!important;background:rgba(245,197,24,.05)!important;}
.box-shiny-star{position:absolute;top:2px;right:3px;font-size:9px;line-height:1;pointer-events:none;}
.box-mini-sperr{position:absolute;top:2px;left:3px;font-size:9px;opacity:.4;}

.team-toolbar{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;background:linear-gradient(180deg,var(--bg-raised),var(--bg-surface));border:1px solid var(--border);border-radius:var(--r-md);padding:10px;margin-bottom:10px;}
.team-toolbar-title{display:grid;gap:1px;}
.team-toolbar-title b{font-family:var(--font-title);font-size:16px;color:var(--text-1);}
.team-toolbar-title small{font-size:11px;color:var(--text-3);}
.team-toolbar-hint{grid-column:1/-1;font-size:11px;color:var(--text-3);border-top:1px solid var(--border);padding-top:6px;}
.team-toolbar-move{border-color:rgba(245,197,24,.35);background:rgba(245,197,24,.07);}
.team-mode-btn{padding:8px 12px;border-radius:var(--r-sm);border:1px solid var(--border-em);background:var(--bg-raised);color:var(--text-1);font-family:var(--font-title);font-size:12px;font-weight:800;cursor:pointer;}
.team-toolbar-move .team-mode-btn{background:var(--gold);border-color:var(--gold);color:#1b1607;}
.team-mode-btn:disabled{opacity:.35;cursor:not-allowed;}
.team-party-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px;}
.team-slot{position:relative;min-height:116px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-surface);padding:8px 6px 7px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;cursor:pointer;transition:border-color .15s,background .15s,transform .12s;touch-action:manipulation;}
.team-slot:hover{border-color:var(--border-em);background:var(--bg-raised);}
.team-slot:active{transform:scale(.97);}
.team-slot.team-slot-lead{border-top:2px solid var(--red);}
.team-slot.team-ko{opacity:.45;}
.team-slot-empty{border-style:dashed;color:var(--text-3);justify-content:center;}
.team-slot-plus{font-size:26px;font-weight:900;line-height:1;color:var(--text-3);}
.team-slot-index{position:absolute;left:5px;top:4px;font-family:var(--font-mono);font-size:10px;color:var(--text-3);}
.team-slot-info{position:absolute;right:5px;top:5px;z-index:2;width:21px;height:21px;border-radius:50%;border:1px solid rgba(255,255,255,.24);background:rgba(11,13,17,.78);color:#dbeafe;font-family:var(--font-title);font-size:13px;font-weight:900;line-height:18px;padding:0;cursor:pointer;touch-action:manipulation;}
.team-slot-info:hover{border-color:var(--gold);color:#fff;background:rgba(245,197,24,.18);}
.team-slot-sprite-wrap{position:relative;height:52px;display:flex;align-items:center;justify-content:center;}
.team-slot-sprite{width:54px;height:54px;image-rendering:pixelated;object-fit:contain;user-select:none;-webkit-user-drag:none;}
.team-held-item{position:absolute;right:3px;bottom:0;width:19px;height:19px;border-radius:6px;border:1px solid rgba(245,197,24,.46);background:rgba(8,10,16,.86);display:flex;align-items:center;justify-content:center;color:var(--gold);font-family:var(--font-title);font-size:10px;font-weight:900;box-shadow:0 2px 6px rgba(0,0,0,.55),0 0 8px rgba(245,197,24,.13);z-index:2;pointer-events:none;}
.team-held-item img{width:15px!important;height:15px!important;object-fit:contain;image-rendering:pixelated;display:block;}
.team-slot-egg{width:50px;height:54px;display:flex;align-items:center;justify-content:center;}
.team-slot-name{width:100%;font-family:var(--font-title);font-size:12px;font-weight:800;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;}
.team-slot-sub{font-family:var(--font-mono);font-size:10px;color:var(--text-3);}
.team-slot-bar{width:82%;height:4px;background:rgba(255,255,255,.09);border-radius:3px;overflow:hidden;margin-top:2px;}
.team-slot-bar i{display:block;height:100%;border-radius:3px;}
.team-slot-badges{position:absolute;right:4px;top:29px;display:flex;flex-direction:column;gap:2px;align-items:flex-end;}
.team-slot-badge{font-size:8px;line-height:1;border:1px solid var(--border-em);border-radius:3px;padding:2px 3px;background:rgba(0,0,0,.28);color:var(--text-2);font-weight:800;text-transform:uppercase;}
.team-slot-badge.lead{border-color:var(--red-dim);color:var(--red);background:var(--red-glow);}
.team-slot-badge.shiny,.team-slot-badge.evo,.team-slot-badge.egg{border-color:rgba(245,197,24,.35);color:var(--gold);background:var(--gold-dim);}
.team-quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 0 12px;}
.team-quick-actions button{padding:8px 6px;border-radius:var(--r-sm);border:1px solid var(--border-em);background:var(--bg-raised);color:var(--text-2);font-family:var(--font-title);font-size:11px;font-weight:800;cursor:pointer;}
.team-quick-actions button:hover:not(:disabled){background:var(--bg-hover);color:var(--text-1);}
.team-quick-actions button:disabled{opacity:.38;cursor:not-allowed;}
.box-grid-overhaul{display:flex;flex-direction:column;position:relative;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-md);padding:10px 16px;margin-top:34px;overflow:visible;max-height:min(560px,58vh);width:100%;box-sizing:border-box;}
.box-collapse-shell{position:absolute;left:12px;right:12px;top:-28px;height:24px;z-index:6;}
.box-collapse-toggle{width:100%;min-height:24px;height:24px;border:1px solid rgba(245,197,24,.28);border-radius:0;background:linear-gradient(180deg,rgba(25,30,42,.98),rgba(13,16,24,.98));color:var(--text-1);display:flex;align-items:center;justify-content:center;gap:8px;padding:0 10px;box-shadow:inset 0 -1px 0 rgba(245,197,24,.14);cursor:pointer;text-align:center;}
.box-collapse-toggle:hover{border-color:rgba(245,197,24,.62);background:linear-gradient(180deg,rgba(245,197,24,.12),rgba(22,26,36,.98));}
.box-collapse-toggle span{min-width:0;}
.box-collapse-toggle small{display:none;}
.box-collapse-toggle b{display:inline;font-family:var(--font-ui);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.16em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-2);}
.box-collapse-toggle b:before{content:"BOX: ";color:var(--gold);}
.box-collapse-toggle em{display:none;}
.box-collapse-toggle i{font-style:normal;color:var(--gold);font-size:10px;text-align:center;}
.box-collapse-panel{position:absolute;left:0;right:0;top:30px;border:1px solid var(--border);border-radius:var(--r-md);background:rgba(13,16,24,.98);padding:8px;box-shadow:0 12px 34px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,255,255,.018);}
.box-collapse-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;}
.box-collapse-actions button{min-height:34px;border:1px solid var(--border-em);border-radius:var(--r-sm);background:var(--bg-raised);color:var(--text-1);font-family:var(--font-ui);font-size:11px;font-weight:900;cursor:pointer;}
.box-collapse-actions button:first-child{border-color:rgba(96,165,250,.38);color:#cfe2ff;}
.box-collapse-actions button:last-child{border-color:rgba(245,197,24,.42);color:var(--gold);background:rgba(245,197,24,.055);}
.box-collapse-actions button:hover{border-color:var(--gold);background:var(--bg-hover);}
.box-view-select{display:grid;grid-template-columns:auto repeat(3,1fr);gap:5px;align-items:center;margin-top:8px;}
.box-view-select-two{grid-template-columns:auto repeat(2,1fr);}
.box-view-select span{font-size:9px;color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;}
.box-view-select button{min-height:28px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg-panel);color:var(--text-2);font-family:var(--font-ui);font-size:10px;font-weight:800;cursor:pointer;}
.box-view-select button.active{border-color:rgba(245,197,24,.65);background:rgba(245,197,24,.12);color:var(--gold);}
.box-collapse-panel p{margin:7px 2px 0;color:var(--text-3);font-size:10px;}
.box-manager-strip{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center;margin-bottom:8px;}
.box-manager-name{min-width:0;border:1px solid var(--border);border-radius:var(--r-sm);background:linear-gradient(180deg,var(--bg-raised),var(--bg-panel));color:var(--text-1);padding:7px 9px;text-align:left;cursor:pointer;}
.box-manager-name b{display:block;font-family:var(--font-title);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.box-manager-name span{display:block;margin-top:2px;font-size:10px;color:var(--text-3);}
.box-manager-edit{height:34px;border:1px solid rgba(245,197,24,.34);border-radius:var(--r-sm);background:var(--gold-dim);color:var(--gold);font-family:var(--font-ui);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;padding:0 8px;}
.box-side-btn{position:absolute;top:50%;transform:translateY(-50%);width:14px;height:78px;border:0;background:linear-gradient(180deg,rgba(31,41,55,.98),rgba(15,18,26,.98));color:var(--gold);font-size:10px;font-weight:900;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:3;opacity:.82;}
.box-side-left{left:0;border-right:1px solid var(--border);border-radius:0 8px 8px 0;}
.box-side-right{right:0;border-left:1px solid var(--border);border-radius:8px 0 0 8px;}
.box-side-btn:hover{opacity:1;background:var(--bg-raised);color:var(--text-1);}
.box-overhaul-head{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:end;margin-bottom:8px;padding-bottom:7px;border-bottom:1px solid var(--border);}
.box-overhaul-head b{font-family:var(--font-title);font-size:15px;color:var(--text-1);}
.box-overhaul-head small{font-family:var(--font-mono);font-size:11px;color:var(--gold);}
.box-overhaul-head span{grid-column:1/-1;font-size:11px;color:var(--text-3);}
.box-filter{display:block;margin-top:8px;}
.box-filter-toggle{height:34px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg-panel);color:var(--text-1);display:flex;align-items:center;justify-content:space-between;padding:0 10px;font-family:var(--font-ui);cursor:pointer;}
.box-filter-toggle b{font-size:12px;}
.box-filter-toggle span{grid-column:auto;font-size:10px;color:var(--gold);text-transform:uppercase;letter-spacing:.04em;}
.box-filter-summary{align-self:center;justify-self:end;color:var(--text-3)!important;font-size:10px!important;}
.box-filter-panel{border:1px solid var(--border);border-radius:var(--r-sm);background:rgba(0,0,0,.14);padding:8px;display:flex;flex-direction:column;gap:7px;}
.box-filter-panel label{display:flex;flex-direction:column;gap:3px;min-width:0;}
.box-filter-panel label span{grid-column:auto;font-size:9px;color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;}
.box-filter-panel input,.box-filter-panel select{width:100%;min-height:34px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg-panel);color:var(--text-1);padding:0 8px;font-family:var(--font-ui);font-size:12px;outline:none;}
.box-filter-panel input:focus,.box-filter-panel select:focus{border-color:var(--gold);box-shadow:0 0 0 2px rgba(245,197,24,.12);}
.box-filter-row{display:grid;grid-template-columns:1fr 1fr;gap:7px;}
.box-filter-reset{align-self:end;min-height:34px;border:1px solid rgba(239,68,68,.42);border-radius:var(--r-sm);background:rgba(239,68,68,.08);color:#ffb3b3;font-family:var(--font-ui);font-size:12px;cursor:pointer;}
.box-create-row{margin-top:9px;border-top:1px solid var(--border);padding-top:8px;}
.box-create-row button{width:100%;min-height:34px;border:1px dashed rgba(245,197,24,.42);border-radius:var(--r-sm);background:rgba(245,197,24,.055);color:var(--gold);font-family:var(--font-title);font-size:12px;font-weight:800;cursor:pointer;}
.box-create-row button:hover{background:var(--gold-dim);border-color:rgba(245,197,24,.7);}
.box-icon-grid{flex:1;min-height:0;width:100%;box-sizing:border-box;display:grid;grid-template-columns:repeat(5,1fr);align-content:start;gap:6px;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:auto;padding:0 2px;-webkit-overflow-scrolling:touch;}
.box-icon-grid::-webkit-scrollbar{width:6px;}
.box-icon-grid::-webkit-scrollbar-thumb{background:rgba(245,197,24,.24);border-radius:999px;}
.box-icon{position:relative;min-width:0;min-height:86px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg-panel);color:var(--text-2);padding:7px 3px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;transition:.15s;font-family:var(--font-ui);box-sizing:border-box;}
.box-icon:hover{border-color:var(--border-em);background:var(--bg-raised);}
.box-icon img{width:38px;height:38px;image-rendering:pixelated;object-fit:contain;user-select:none;-webkit-user-drag:none;}
.box-icon>.team-held-item{right:5px;bottom:30px;width:18px;height:18px;border-radius:5px;}
.box-icon>.team-held-item img{width:14px!important;height:14px!important;}
.box-icon span{max-width:100%;font-size:9px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.box-icon small{font-family:var(--font-mono);font-size:9px;color:var(--text-3);}
.box-icon em{position:absolute;right:3px;top:2px;font-style:normal;color:var(--gold);font-size:10px;}
.box-icon i{position:absolute;left:3px;top:2px;font-style:normal;font-size:8px;color:var(--text-3);opacity:.65;}
.box-icon-shiny{border-color:rgba(245,197,24,.38);background:rgba(245,197,24,.05);}
.box-icon-eggmark{width:38px;height:40px;display:flex!important;align-items:center;justify-content:center;}
.box-icon-empty{border-style:dashed;border-color:rgba(245,197,24,.45);background:rgba(245,197,24,.055);color:var(--gold);}
.box-icon-empty strong{font-family:var(--font-title);font-size:28px;line-height:1;color:var(--gold);}
.box-icon-empty span{font-size:10px;color:var(--text-1);}
.box-icon-empty small{color:var(--gold);}
.box-icon-empty.box-drop-ready{border-color:var(--gold);background:rgba(245,197,24,.14);box-shadow:0 0 0 2px rgba(245,197,24,.22),0 0 16px rgba(245,197,24,.18);}
.box-icon-disabled{opacity:.48;filter:grayscale(.35);border-style:dashed;cursor:not-allowed;}
.box-icon-disabled:hover{background:var(--bg-panel);border-color:var(--border);}
.box-view-mode-compact .box-icon-grid{grid-template-columns:repeat(6,1fr);gap:5px;}
.box-view-mode-compact .box-icon{min-height:58px;padding:4px 2px;gap:1px;}
.box-view-mode-compact .box-icon img{width:31px;height:31px;}
.box-view-mode-compact .box-icon small{font-size:8px;color:var(--gold);}
.box-view-mode-compact .box-icon-empty strong{font-size:20px;}
.box-view-mode-compact .box-icon-empty span{display:none;}
.box-view-mode-compact .box-icon-empty small{font-size:7px;}
.box-icon-info{position:absolute;right:4px;top:4px;z-index:2;width:17px;height:17px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(11,13,17,.72);color:#dbeafe;font-family:var(--font-title);font-size:10px;font-weight:900;line-height:15px;text-align:center;padding:0;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.35);}
.box-icon-info:hover{border-color:var(--gold);color:#fff;background:rgba(245,197,24,.16);}
.box-admin-panel{width:min(560px,96vw);max-height:88vh;}
.box-admin-hint{padding:10px 14px;color:var(--text-2);font-size:12px;line-height:1.4;border-bottom:1px solid var(--border);}
.box-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px;}
.box-admin-card{position:relative;min-height:118px;border:1px solid var(--border);border-radius:var(--r-md);background:linear-gradient(180deg,var(--bg-surface),var(--bg-panel));padding:9px;display:grid;grid-template-rows:1fr auto;gap:8px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);}
.box-admin-card.active{border-color:rgba(96,165,250,.55);box-shadow:0 0 0 1px rgba(96,165,250,.24),inset 3px 0 0 rgba(96,165,250,.8);}
.box-admin-card.main{border-color:rgba(245,197,24,.62);background:linear-gradient(180deg,rgba(245,197,24,.1),var(--bg-panel));}
.box-admin-main{position:absolute;right:8px;top:7px;width:28px;height:28px;border-radius:50%;border:1px solid rgba(245,197,24,.45);background:rgba(245,197,24,.08);color:var(--gold);font-size:15px;cursor:pointer;}
.box-admin-body{min-width:0;text-align:left;border:0;background:transparent;color:var(--text-1);padding:2px 34px 0 0;cursor:pointer;}
.box-admin-body b{display:block;font-family:var(--font-title);font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.box-admin-body span{display:block;margin-top:4px;font-size:11px;color:var(--text-3);line-height:1.35;}
.box-admin-card.main .box-admin-body span{color:#ffe08a;}
.box-admin-actions{display:grid;grid-template-columns:34px 34px 1fr 1fr;gap:5px;}
.box-admin-actions button,.box-admin-footer button{min-height:30px;border:1px solid var(--border-em);border-radius:var(--r-sm);background:var(--bg-raised);color:var(--text-2);font-family:var(--font-ui);font-size:11px;font-weight:800;cursor:pointer;}
.box-admin-actions button:hover:not(:disabled),.box-admin-footer button:hover{border-color:var(--gold);color:var(--text-1);}
.box-admin-actions button:disabled{opacity:.32;cursor:not-allowed;}
.box-admin-footer{padding:0 12px 12px;}
.box-admin-footer button{width:100%;border-style:dashed;color:var(--gold);background:rgba(245,197,24,.055);}
@media (max-width:430px){.box-admin-grid{grid-template-columns:1fr}.box-admin-card{min-height:106px}}
@media (max-width:430px){.box-grid-overhaul{padding-left:14px;padding-right:14px}.box-collapse-shell{left:10px;right:10px}.box-icon-grid{grid-template-columns:repeat(4,1fr);gap:6px}.box-icon{min-height:82px}.box-view-mode-compact .box-icon-grid{grid-template-columns:repeat(5,1fr)}}
@media (max-width:380px){.team-party-grid{gap:6px}.team-slot{min-height:108px}.box-grid-overhaul{padding-left:13px;padding-right:13px}.box-collapse-shell{left:9px;right:9px}.box-icon-grid{grid-template-columns:repeat(4,1fr)}.box-view-mode-compact .box-icon-grid{grid-template-columns:repeat(5,1fr)}}

/* Pokemon detail */
.pokemon-detail-modal{position:fixed;inset:0;background:rgba(0,0,0,.74);display:none;align-items:center;justify-content:center;z-index:690;padding:16px;}
.box-manager-modal{z-index:1700;}
.pokemon-detail-panel{width:min(430px,100%);max-height:min(620px,92vh);overflow:auto;background:var(--bg-panel);border:1px solid var(--border-em);border-radius:var(--r-md);box-shadow:0 18px 60px rgba(0,0,0,.45);}
.pokemon-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border);font-family:var(--font-title);color:var(--text-1);}
.pokemon-detail-head button{width:28px;height:28px;border-radius:var(--r-sm);border:1px solid var(--border-em);background:var(--bg-raised);color:var(--text-2);cursor:pointer;}
.pokemon-detail-body{display:flex;gap:12px;align-items:center;padding:14px;border-bottom:1px solid var(--border);}
.pokemon-detail-sprite{width:72px;height:72px;image-rendering:pixelated;flex-shrink:0;}
.pokemon-detail-main{display:grid;gap:5px;min-width:0;}
.pokemon-detail-line{font-family:var(--font-title);font-size:13px;color:var(--text-1);}
.pokemon-detail-types{display:flex;flex-wrap:wrap;gap:4px;}
.pokemon-detail-stats{font-size:12px;color:var(--text-3);line-height:1.5;}
.pokemon-detail-exp{display:grid;gap:4px;margin-top:2px;}
.pokemon-detail-exp>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:var(--text-3);}
.pokemon-detail-exp b{font-family:var(--font-title);font-size:12px;color:var(--text-1);}
.pokemon-detail-exp span{font-family:var(--font-mono);font-size:10px;color:var(--blue);}
.pokemon-detail-expbar{height:5px;background:rgba(255,255,255,.08);border-radius:4px;overflow:hidden;}
.pokemon-detail-expbar i{display:block;height:100%;border-radius:4px;background:var(--blue);}
.pokemon-detail-ivev{display:grid;grid-template-columns:1fr;gap:2px;margin-top:5px;padding:6px;border:1px solid var(--border);border-radius:var(--r-sm);background:rgba(255,255,255,.03);}
.ivev-head,.ivev-row{display:grid;grid-template-columns:1fr 36px 54px;gap:6px;align-items:center;}
.ivev-head{font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:var(--text-3);}
.ivev-row b{font-family:var(--font-title);font-size:11px;color:var(--text-2);}
.ivev-row span{font-family:var(--font-mono);font-size:10px;color:var(--text-1);text-align:right;}
.ivev-row span:last-child{color:var(--gold);}
.pokemon-detail-section{padding:10px 14px 6px;font-size:10px;color:var(--text-3);text-transform:uppercase;letter-spacing:1px;font-weight:600;}
.pokemon-detail-moves{display:grid;gap:6px;padding:0 14px 12px;}
.pokemon-detail-move{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--bg-surface);border:1px solid var(--border);border-left-width:3px;border-radius:var(--r-sm);padding:8px 10px;}
.pokemon-detail-move b{font-size:13px;color:var(--text-1);}
.pokemon-detail-move span{font-size:11px;color:var(--text-3);white-space:nowrap;}
.pokemon-detail-actions{display:flex;flex-wrap:wrap;gap:8px;padding:12px 14px 14px;border-top:1px solid var(--border);}
.pokemon-detail-btn{flex:1;min-width:0;padding:9px 10px;border-radius:var(--r-sm);background:var(--red);border:none;color:#fff;cursor:pointer;font-family:var(--font-title);font-size:12px;font-weight:700;}
.pokemon-detail-btn.secondary{background:var(--bg-raised);border:1px solid var(--border-em);color:var(--text-2);}
.pokemon-detail-btn:disabled{opacity:.35;cursor:not-allowed;}

/* â”€â”€ Tasche â”€â”€ */
.bag-action-panel{background:linear-gradient(180deg,var(--bg-raised),var(--bg-surface));border:1px solid var(--border-em);border-radius:var(--r-md);padding:10px;margin-bottom:12px;}
.bag-action-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px;}
.bag-action-head b{font-family:var(--font-title);font-size:14px;color:var(--text-1);}
.bag-action-head small{max-width:230px;text-align:right;color:var(--text-3);font-size:11px;line-height:1.3;}
.bag-action-slots{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.kampf-slot.bag-action-slot{width:46px;height:46px;}
.bag-category-tabs{display:flex;gap:7px;overflow-x:auto;padding:2px 0 9px;margin:0 0 10px;border-bottom:1px solid var(--border);scrollbar-width:thin;}
.bag-category-tabs button{flex:0 0 auto;display:flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:999px;background:var(--bg-surface);color:var(--text-2);padding:7px 10px;font-family:var(--font-title);font-size:12px;font-weight:800;letter-spacing:.2px;cursor:pointer;}
.bag-category-tabs button.active{border-color:var(--red);background:rgba(224,48,48,.16);color:#fff;box-shadow:0 0 0 1px rgba(224,48,48,.16);}
.bag-category-tabs button b{min-width:18px;height:18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);color:var(--gold);font-family:var(--font-mono);font-size:10px;}
.bag-category-tabs button.active b{background:rgba(245,197,24,.18);}
.bag-section-header{font-size:10px;color:var(--text-3);text-transform:uppercase;letter-spacing:1px;font-weight:600;margin:12px 0 6px;padding-bottom:4px;border-bottom:1px solid var(--border);}
.bag-section-header:first-child{margin-top:0;}
.bag-item{display:flex;align-items:center;gap:10px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-md);padding:10px;margin-bottom:6px;transition:border-color .15s,background .15s;cursor:pointer;}
.bag-item:hover{border-color:var(--border-em);}
.bag-icon-wrap{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.bag-item-sprite{width:28px;height:28px;image-rendering:pixelated;}
.bag-info{flex:1;font-size:13px;color:var(--text-1);}
.bag-info b{font-size:14px;display:block;font-weight:600;}
.bag-info small{color:var(--text-3);font-size:11px;}
.bag-aktiv{color:var(--green)!important;}
.bag-anzahl{font-family:var(--font-mono);font-weight:700;color:var(--gold);min-width:30px;text-align:right;}
.bag-spezial-badge{font-size:11px;color:var(--green);font-weight:600;white-space:nowrap;}
.bag-leer{color:var(--text-3);text-align:center;padding:20px;font-style:italic;}
.bag-item button{padding:6px 10px;border-radius:var(--r-sm);background:var(--red);border:none;color:#fff;cursor:pointer;font-family:var(--font-title);font-size:12px;font-weight:700;transition:opacity .15s;}
.bag-item button:hover{opacity:.85;}

/* Evolution overlay */
#evoOverlay{position:fixed;inset:0;z-index:9500;background:#090b11;display:flex;align-items:center;justify-content:center;animation:evoFadeIn .35s ease-out;}
#evoOverlay.evo-fadeout{animation:evoFadeOut .45s ease-in forwards;}
@keyframes evoFadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes evoFadeOut{from{opacity:1;}to{opacity:0;}}
.evo-screen{position:relative;width:min(360px,92vw);min-height:330px;padding:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:var(--text-1);}
.evo-label{min-height:50px;display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--font-title);font-size:18px;font-weight:700;text-shadow:0 0 18px rgba(255,255,255,.35);}
.evo-label b{color:var(--gold);}
.evo-sprites{position:relative;width:180px;height:180px;display:flex;align-items:center;justify-content:center;}
.evo-sprites:before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(245,197,24,.25),rgba(255,255,255,.07) 42%,transparent 70%);animation:evoAura 1.1s ease-in-out infinite;}
.evo-sprite{position:absolute;width:150px;height:150px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 0 20px rgba(255,255,255,.3));transition:opacity .35s,transform .35s;animation:evoFloatIn .55s ease-out;}
.evo-sprite-hidden{opacity:0!important;transform:scale(.86);}
.evo-shiny{filter:drop-shadow(0 0 18px rgba(245,197,24,.65));}
.evo-flash-overlay{position:fixed;inset:0;z-index:9501;background:#fff;opacity:0;pointer-events:none;}
.evo-stats{display:flex;gap:10px;padding:9px 13px;border-radius:var(--r-sm);background:rgba(255,255,255,.06);border:1px solid var(--border);animation:evoStatsIn .35s ease-out;}
.evo-stat{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:38px;}
.evo-stat span{font-family:var(--font-ui);font-size:9px;text-transform:uppercase;color:var(--text-3);}
.evo-stat b{font-family:var(--font-mono);font-size:15px;color:var(--gold);}
.evo-close{padding:8px 16px;border-radius:var(--r-sm);border:1px solid rgba(245,197,24,.35);background:rgba(245,197,24,.14);color:var(--gold);font-family:var(--font-title);font-weight:700;cursor:pointer;}
.evo-close:hover{background:rgba(245,197,24,.22);}
.evo-cancel{position:absolute;right:18px;bottom:18px;padding:7px 12px;border-radius:var(--r-sm);border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.08);color:var(--text-2);font-family:var(--font-title);font-size:12px;font-weight:700;cursor:pointer;z-index:9502;}
.evo-cancel:hover{background:rgba(255,255,255,.14);color:var(--text-1);}
@keyframes evoFloatIn{from{opacity:0;transform:scale(.72);}to{opacity:1;transform:scale(1);}}
@keyframes evoAura{0%,100%{transform:scale(.92);opacity:.55;}50%{transform:scale(1.08);opacity:1;}}
@keyframes evoStatsIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

/* Fossil reactivation overlay */
#fossilReactOverlay{position:fixed;inset:0;z-index:9500;background:radial-gradient(circle at 50% 42%,#182238 0,#080b12 56%,#030407 100%);display:flex;align-items:center;justify-content:center;animation:evoFadeIn .35s ease-out;overflow:hidden;}
#fossilReactOverlay:before{content:"";position:absolute;inset:-20%;background:repeating-linear-gradient(90deg,rgba(99,144,240,.05) 0 2px,transparent 2px 20px);opacity:.7;animation:fossilScanBg 2.4s linear infinite;}
#fossilReactOverlay.fossil-react-fadeout{animation:evoFadeOut .42s ease-in forwards;}
.fossil-react-screen{position:relative;width:min(370px,92vw);min-height:360px;padding:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:var(--text-1);}
.fossil-react-label{min-height:52px;display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--font-title);font-size:17px;font-weight:800;text-shadow:0 0 18px rgba(143,179,255,.42);}
.fossil-react-label b{color:var(--gold);}
.fossil-react-stage{position:relative;width:190px;height:190px;display:flex;align-items:center;justify-content:center;}
.fossil-react-ring{position:absolute;width:165px;height:165px;border-radius:50%;border:2px solid rgba(143,179,255,.28);box-shadow:0 0 26px rgba(99,144,240,.18),inset 0 0 22px rgba(245,197,24,.08);animation:fossilRing 1.2s ease-in-out infinite;}
.fossil-react-item,.fossil-react-mon{position:absolute;width:116px;height:116px;object-fit:contain;image-rendering:pixelated;transition:opacity .35s,transform .45s,filter .45s;filter:drop-shadow(0 0 18px rgba(245,197,24,.32));}
.fossil-react-mon{width:150px;height:150px;filter:drop-shadow(0 0 22px rgba(143,179,255,.5));animation:evoFloatIn .45s ease-out;}
.fossil-react-hidden{opacity:0!important;transform:scale(.48) rotate(-12deg);filter:brightness(2) blur(2px)!important;}
.fossil-react-beam{position:absolute;width:42px;height:190px;border-radius:999px;background:linear-gradient(180deg,transparent,rgba(143,179,255,.2),rgba(245,197,24,.42),rgba(143,179,255,.18),transparent);opacity:.25;filter:blur(1px);animation:fossilBeam 1.1s ease-in-out infinite;}
.fossil-react-charging .fossil-react-ring{border-color:rgba(245,197,24,.65);box-shadow:0 0 34px rgba(245,197,24,.34),inset 0 0 28px rgba(143,179,255,.18);}
.fossil-react-charging .fossil-react-beam{opacity:.75;}
.fossil-react-machine{display:flex;gap:7px;height:18px;align-items:center;justify-content:center;}
.fossil-react-machine span{width:9px;height:9px;border-radius:50%;background:rgba(143,179,255,.28);box-shadow:0 0 10px rgba(143,179,255,.35);animation:fossilDot 1s ease-in-out infinite;}
.fossil-react-machine span:nth-child(2){animation-delay:.12s}.fossil-react-machine span:nth-child(3){animation-delay:.24s}.fossil-react-machine span:nth-child(4){animation-delay:.36s}
@keyframes fossilScanBg{from{transform:translateX(0);}to{transform:translateX(20px);}}
@keyframes fossilRing{0%,100%{transform:scale(.94) rotate(0deg);opacity:.72;}50%{transform:scale(1.08) rotate(8deg);opacity:1;}}
@keyframes fossilBeam{0%,100%{transform:scaleY(.82);opacity:.2;}50%{transform:scaleY(1.08);opacity:.85;}}
@keyframes fossilDot{0%,100%{transform:translateY(0);background:rgba(143,179,255,.28);}50%{transform:translateY(-5px);background:var(--gold);}}

/* Legendary awakening overlay */
#legendaryAwakeningOverlay{position:fixed;inset:0;z-index:9550;background:#03050a;display:flex;align-items:center;justify-content:center;overflow:hidden;animation:evoFadeIn .35s ease-out;}
#legendaryAwakeningOverlay.legend-awake-fadeout{animation:evoFadeOut .42s ease-in forwards;}
.legend-awake-scene{position:relative;width:min(640px,96vw);height:min(520px,88vh);border:1px solid rgba(245,197,24,.32);border-radius:22px;overflow:hidden;background:linear-gradient(180deg,#111827,#05070d);box-shadow:0 26px 80px rgba(0,0,0,.78),inset 0 0 70px rgba(245,197,24,.08);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:24px 18px 22px;}
.legend-awake-bg{position:absolute;inset:0;background:radial-gradient(circle at 50% 38%,rgba(245,197,24,.12),transparent 28%),linear-gradient(180deg,rgba(96,165,250,.12),transparent 38%),repeating-linear-gradient(120deg,rgba(255,255,255,.03) 0 2px,transparent 2px 24px);opacity:.9;animation:legendBgMove 4s linear infinite;}
.legend-awake-birds .legend-awake-bg{background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.18),transparent 18%),linear-gradient(180deg,#13243a 0,#101827 45%,#22170f 100%),repeating-linear-gradient(100deg,rgba(255,255,255,.05) 0 2px,transparent 2px 30px);}
.legend-awake-dogs .legend-awake-bg{background:radial-gradient(circle at 50% 54%,rgba(245,197,24,.16),transparent 26%),linear-gradient(180deg,#111827 0,#17110e 45%,#060608 100%),repeating-linear-gradient(70deg,rgba(255,255,255,.035) 0 2px,transparent 2px 28px);}
.legend-awake-lake .legend-awake-bg{background:radial-gradient(circle at 50% 46%,rgba(216,180,254,.25),transparent 24%),radial-gradient(circle at 50% 70%,rgba(96,165,250,.22),transparent 30%),linear-gradient(180deg,#0b1f33 0,#102a44 46%,#06111d 100%),repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 2px,transparent 2px 22px);}
.legend-awake-title,.legend-awake-text,.legend-awake-stage,.legend-awake-close{position:relative;z-index:2;}
.legend-awake-title{font-family:var(--font-title);font-size:clamp(23px,6vw,36px);font-weight:900;letter-spacing:1px;text-align:center;color:#ffe680;text-shadow:0 0 22px rgba(245,197,24,.52),0 3px 0 rgba(0,0,0,.55);}
.legend-awake-text{min-height:58px;max-width:560px;display:flex;align-items:center;justify-content:center;text-align:center;padding:12px 16px;border:2px solid rgba(255,255,255,.22);border-radius:14px;background:rgba(5,8,16,.82);font-family:var(--font-title);font-size:clamp(16px,4vw,22px);font-weight:800;color:var(--text-1);box-shadow:0 8px 30px rgba(0,0,0,.45);}
.legend-awake-stage{width:100%;height:260px;display:flex;align-items:center;justify-content:center;gap:min(5vw,36px);perspective:700px;}
.legend-awake-mon{position:relative;width:30%;max-width:170px;min-width:86px;height:210px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;filter:drop-shadow(0 10px 18px rgba(0,0,0,.65));transition:transform .35s,opacity .35s,filter .35s;}
.legend-awake-mon img{position:relative;z-index:2;width:100%;height:150px;object-fit:contain;image-rendering:pixelated;transform-origin:center bottom;}
.legend-awake-mon span{position:relative;z-index:3;margin-top:6px;padding:4px 9px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(0,0,0,.42);font-family:var(--font-title);font-size:13px;color:var(--text-1);}
.legend-awake-aura{position:absolute;left:50%;bottom:38px;width:120px;height:120px;margin-left:-60px;border-radius:50%;background:radial-gradient(circle,rgba(245,197,24,.22),rgba(96,165,250,.12) 44%,transparent 70%);filter:blur(1px);animation:legendAura 1.3s ease-in-out infinite;}
.legend-awake-charge .legend-awake-mon{animation:legendIdle 1.15s ease-in-out infinite;}
.legend-awake-pos-0{transform:translateY(14px) scale(.93);}
.legend-awake-pos-1{transform:translateY(-8px) scale(1.06);}
.legend-awake-pos-2{transform:translateY(14px) scale(.93);}
.legend-awake-mon.speaking{z-index:5;filter:drop-shadow(0 0 22px rgba(245,197,24,.8));}
.legend-awake-mon.speaking img{animation:legendCryShake .72s cubic-bezier(.36,.07,.19,.97) both;}
.legend-awake-mon.speaking .legend-awake-aura{background:radial-gradient(circle,rgba(255,255,255,.38),rgba(245,197,24,.28) 42%,transparent 72%);animation:legendAuraCry .72s ease-out both;}
.legend-awake-mon.run-away{animation:legendRunAway .9s cubic-bezier(.2,.8,.2,1) forwards!important;}
.legend-awake-mon.fly-away{animation:legendFlyAway 1.15s cubic-bezier(.2,.78,.16,1) forwards!important;}
.legend-awake-mon.fade-away{animation:legendFadeAway 1.15s cubic-bezier(.2,.78,.16,1) forwards!important;}
.legend-awake-close{border:2px solid rgba(245,197,24,.55);border-radius:12px;background:linear-gradient(180deg,#ef4444,#991b1b);color:#fff;font-family:var(--font-title);font-size:18px;font-weight:900;padding:12px 34px;box-shadow:0 8px 24px rgba(0,0,0,.45);cursor:pointer;}
@keyframes legendBgMove{from{transform:translateX(0);}to{transform:translateX(28px);}}
@keyframes legendAura{0%,100%{transform:scale(.82);opacity:.45;}50%{transform:scale(1.12);opacity:.95;}}
@keyframes legendIdle{0%,100%{margin-top:0;}50%{margin-top:-7px;}}
@keyframes legendCryShake{10%,90%{transform:translate3d(-1px,-8px,0) scale(1.08);}20%,80%{transform:translate3d(3px,-12px,0) scale(1.12);}30%,50%,70%{transform:translate3d(-5px,-10px,0) scale(1.1);}40%,60%{transform:translate3d(5px,-13px,0) scale(1.13);}100%{transform:translate3d(0,0,0) scale(1);}}
@keyframes legendAuraCry{0%{transform:scale(.75);opacity:.4;}50%{transform:scale(1.5);opacity:1;}100%{transform:scale(1.1);opacity:.55;}}
@keyframes legendRunAway{0%{opacity:1;transform:translateY(0) scale(1);}35%{transform:translateY(-28px) scale(1.08);}100%{opacity:0;transform:translate(180vw,-30px) scale(.72);}}
@keyframes legendFlyAway{0%{opacity:1;transform:translateY(0) scale(1);}35%{transform:translateY(-58px) scale(1.08);}100%{opacity:0;transform:translate(90vw,-130vh) scale(.45) rotate(9deg);}}
@keyframes legendFadeAway{0%{opacity:1;filter:drop-shadow(0 10px 18px rgba(0,0,0,.65));transform:translateY(0) scale(1);}45%{opacity:1;filter:drop-shadow(0 0 26px rgba(216,180,254,.9));transform:translateY(-20px) scale(1.12);}100%{opacity:0;filter:drop-shadow(0 0 60px rgba(96,165,250,1));transform:translateY(-120px) scale(.35) rotate(4deg);}}
@keyframes legendAwakeFlash{0%{opacity:0;}35%{opacity:.58;}100%{opacity:0;}}

/* â”€â”€ Toast â”€â”€ */
#toastZone{position:absolute;bottom:10px;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:5px;z-index:30;pointer-events:none;}
.toast{background:var(--bg-raised);color:var(--text-1);padding:7px 16px;border-radius:var(--r-sm);border:1px solid var(--border-em);border-left:3px solid var(--red);font-size:13px;font-weight:500;transition:opacity .4s;}
.toast-fade{opacity:0;}

/* â”€â”€ Offline Modal â”€â”€ */
#offlineModal{position:fixed;inset:0;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center;z-index:600;}
.offline-box{background:var(--bg-surface);border:1px solid var(--border-em);border-top:2px solid var(--gold);border-radius:var(--r-lg);padding:28px 24px;text-align:center;width:300px;max-width:95vw;}
.offline-box h3{font-family:var(--font-title);font-size:18px;font-weight:700;letter-spacing:1px;margin-bottom:10px;color:var(--text-1);}
#offlineMsg{font-size:15px;color:var(--gold);font-weight:600;margin-bottom:16px;}
.machine-modal{position:fixed;inset:0;background:rgba(0,0,0,.72);display:none;align-items:center;justify-content:center;z-index:700;padding:16px;}
.attack-forget-confirm-modal{z-index:12000;}
.machine-panel{width:min(440px,100%);max-height:min(620px,92vh);overflow:auto;background:var(--bg-panel);border:1px solid var(--border-em);border-radius:var(--r-md);box-shadow:0 18px 60px rgba(0,0,0,.45);}
.tc-modal{position:fixed;inset:0;background:rgba(0,0,0,.74);display:none;align-items:center;justify-content:center;z-index:760;padding:12px;}
.tc-panel{width:min(480px,100%);max-height:min(720px,94vh);overflow:auto;background:linear-gradient(180deg,rgba(24,28,39,.98),rgba(13,15,22,.98));border:1px solid var(--border-em);border-top:3px solid var(--gold);border-radius:18px;box-shadow:0 22px 70px rgba(0,0,0,.55);padding:14px;color:var(--text-1);}
.tc-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--border);}
.tc-head small{display:block;color:var(--gold);font-family:var(--font-title);font-size:11px;letter-spacing:.12em;text-transform:uppercase;}
.tc-head b{display:block;font-family:var(--font-title);font-size:24px;line-height:1.05;}
.tc-head button{width:34px;height:34px;border-radius:10px;border:1px solid var(--border);background:rgba(255,255,255,.04);color:var(--text-2);font-family:var(--font-title);font-size:18px;cursor:pointer;}
.tc-actions,.tc-room-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0;}
.tc-actions button,.tc-room-actions button,.tc-primary{border:1px solid var(--border);border-radius:12px;background:var(--bg-surface);color:var(--text-1);padding:11px 10px;font-family:var(--font-title);font-weight:900;cursor:pointer;}
.tc-actions button:disabled,.tc-room-actions button:disabled{opacity:.45;cursor:not-allowed;}
.tc-primary{background:linear-gradient(180deg,#ef4444,#b91c1c)!important;border-color:rgba(255,255,255,.16)!important;color:white!important;}
.tc-ready-status{margin-top:12px;border:1px solid rgba(245,197,24,.2);border-radius:12px;background:rgba(245,197,24,.055);color:var(--gold);font-family:var(--font-mono);font-size:11px;text-align:center;padding:8px;}
.tc-lobby-list{display:flex;flex-direction:column;gap:8px;margin-top:10px;}
.tc-room-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;text-align:left;border:1px solid var(--border);border-radius:14px;background:var(--bg-surface);color:var(--text-1);padding:12px;cursor:pointer;}
.tc-room-row b{font-family:var(--font-title);font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tc-room-row span{color:var(--text-3);font-family:var(--font-mono);font-size:10px;}
.tc-room-row em{font-style:normal;color:var(--gold);font-family:var(--font-title);}
.tc-empty-note,.tc-hint{color:var(--text-3);font-size:13px;line-height:1.45;}
.tc-empty-note{border:1px dashed var(--border);border-radius:14px;padding:16px;text-align:center;}
.tc-room-panel{max-width:520px;}
.tc-partner-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0 6px;padding:10px;border:1px solid rgba(245,197,24,.2);border-radius:12px;background:rgba(245,197,24,.06);}
.tc-partner-head b{font-family:var(--font-title);font-size:18px;}
.tc-partner-head span{color:var(--text-3);font-size:12px;}
.tc-grid-label{margin:12px 0 6px;color:var(--gold);font-family:var(--font-title);font-size:12px;letter-spacing:.08em;text-transform:uppercase;}
.tc-offer-grid,.tc-team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.tc-offer-slot,.tc-team-slot{position:relative;min-height:88px;border:1px solid var(--border);border-radius:13px;background:var(--bg-surface);color:var(--text-2);padding:6px 5px 9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-family:var(--font-ui);cursor:pointer;overflow:hidden;touch-action:manipulation;}
.tc-offer-slot img,.tc-team-slot img{width:46px;height:46px;object-fit:contain;image-rendering:pixelated;user-select:none;-webkit-user-drag:none;}
.tc-offer-slot span,.tc-team-slot span{max-width:100%;font-family:var(--font-title);font-size:11px;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tc-offer-slot small,.tc-team-slot small{font-family:var(--font-mono);font-size:9px;color:var(--text-3);}
.tc-offer-slot i,.tc-team-slot i{position:absolute;left:8px;right:auto;bottom:5px;height:4px;border-radius:4px;background:var(--green);max-width:calc(100% - 16px);}
.tc-offer-slot.tc-empty,.tc-team-slot.tc-empty{border-style:dashed;color:var(--text-3);background:rgba(255,255,255,.025);}
.tc-offer-slot.tc-empty strong,.tc-team-slot.tc-empty strong{font-family:var(--font-title);font-size:24px;line-height:1;color:var(--gold);}
.tc-offer-grid.own .tc-offer-slot:not(.tc-empty){border-color:rgba(245,197,24,.45);background:rgba(245,197,24,.08);}
.tc-team-slot.selected{border-color:var(--gold);background:rgba(245,197,24,.12);box-shadow:0 0 0 2px rgba(245,197,24,.25);}
.tc-shiny{box-shadow:inset 0 0 0 1px rgba(245,197,24,.35),0 0 16px rgba(245,197,24,.12);}
@media (max-width:380px){.tc-panel{padding:12px}.tc-offer-grid,.tc-team-grid{gap:6px}.tc-offer-slot,.tc-team-slot{min-height:80px}.tc-head b{font-size:21px}}
.machine-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border);font-family:var(--font-title);}
.machine-head button{width:28px;height:28px;border-radius:var(--r-sm);border:1px solid var(--border-em);background:var(--bg-raised);color:var(--text-2);cursor:pointer;}
.machine-move{padding:10px 14px;color:var(--text-2);font-size:12px;border-bottom:1px solid var(--border);}
.machine-list{display:grid;gap:6px;padding:10px;}
.gift-panel{border-top:3px solid var(--gold);}
.gift-panel .machine-head small{display:block;color:var(--text-3);font-size:11px;font-family:var(--font-ui);font-weight:600;margin-top:2px;}
.gift-status{margin:10px 12px 0;padding:9px 10px;border:1px solid rgba(245,197,24,.28);border-radius:var(--r-sm);background:rgba(245,197,24,.07);color:var(--gold);font-size:12px;font-weight:700;}
.gift-list{display:grid;gap:8px;padding:10px 12px 12px;}
.gift-card{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg-surface);padding:10px;}
.gift-card b{display:block;font-family:var(--font-title);font-size:15px;color:var(--text-1);}
.gift-card small{display:block;color:var(--text-3);font-size:12px;line-height:1.35;margin-top:3px;}
.gift-card button,.gift-send-btn{border:1px solid rgba(245,197,24,.45);border-radius:var(--r-sm);background:linear-gradient(180deg,rgba(245,197,24,.18),rgba(245,197,24,.08));color:var(--gold);font-family:var(--font-title);font-weight:900;padding:9px 11px;cursor:pointer;}
.gift-empty{border:1px dashed var(--border);border-radius:var(--r-sm);padding:14px;color:var(--text-3);text-align:center;font-size:13px;}
.gift-admin{display:grid;gap:8px;padding:10px 12px 14px;border-top:1px solid var(--border);}
.gift-admin label{font-size:11px;color:var(--text-2);font-weight:800;letter-spacing:.04em;text-transform:uppercase;}
.gift-admin input,.gift-admin select{width:100%;border:1px solid var(--border-em);background:var(--bg-raised);color:var(--text-1);border-radius:var(--r-sm);padding:9px 10px;font-family:var(--font-ui);font-size:13px;outline:none;}
.gift-admin input:focus,.gift-admin select:focus{border-color:var(--gold);box-shadow:0 0 0 2px rgba(245,197,24,.12);}
.gift-check-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0;}
.gift-check-row label{display:flex;align-items:center;gap:6px;padding:8px;border:1px solid var(--border);border-radius:var(--r-sm);background:rgba(255,255,255,.025);text-transform:none;letter-spacing:0;}
.gift-check-row input{width:auto;}
.gift-iv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
.gift-iv-grid input{font-size:11px;padding:8px 7px;text-align:center;}
.gift-send-btn{margin-top:4px;width:100%;padding:11px;}
.settings-panel{border-top:3px solid var(--gold);}
.settings-head b{font-size:18px;letter-spacing:.6px;}
.settings-body{display:grid;gap:12px;padding:14px;}
.settings-field{display:grid;gap:7px;padding:11px;border:1px solid var(--border);border-radius:var(--r-sm);background:rgba(255,255,255,.025);}
.settings-field span{font-size:12px;color:var(--text-2);font-weight:700;letter-spacing:.3px;}
.settings-field select,.settings-field input{width:100%;border:1px solid var(--border-em);background:var(--bg-raised);color:var(--text-1);border-radius:var(--r-sm);padding:10px 11px;font-family:var(--font-ui);font-size:14px;outline:none;}
.settings-field select:focus,.settings-field input:focus{border-color:var(--gold);box-shadow:0 0 0 2px rgba(245,197,24,.13);}
.settings-note{font-size:12px;color:var(--text-3);line-height:1.45;padding:0 2px;}
.settings-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 14px 14px;}
.settings-actions .btn-primary,.settings-actions .btn-secondary{width:100%;font-size:13px;padding:11px 10px;}
.machine-party-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-1);padding:10px;cursor:pointer;}
.machine-party-row:hover:not(:disabled){border-color:var(--border-em);background:var(--bg-raised);}
.machine-party-row:disabled{opacity:.45;cursor:not-allowed;}
.machine-party-row span{display:grid;gap:3px;min-width:0;}
.machine-party-row small{color:var(--text-3);font-size:11px;}
.machine-party-row em{color:var(--text-2);font-style:normal;font-size:11px;white-space:nowrap;}
.machine-section{padding:11px 14px 4px;font-family:var(--font-title);font-size:12px;letter-spacing:.5px;color:var(--text-2);text-transform:uppercase;border-top:1px solid var(--border);}
.machine-section:first-of-type{border-top:none;}
.machine-leer{padding:2px 12px 8px;color:var(--text-3);font-size:12px;}
.machine-party-row.gelernt{border-color:var(--green-dim);}
.machine-party-row.gelernt em{color:var(--green);}
.machine-party-row.gesperrt em{color:var(--text-3);}
.move-learn-row{display:grid;grid-template-columns:1fr 38px;gap:7px;align-items:stretch;}
.move-learn-row .machine-party-row{min-width:0;}
.move-info-mini{border:1px solid var(--border-em);border-radius:var(--r-sm);background:var(--bg-raised);color:var(--gold);font-family:var(--font-title);font-weight:900;font-size:16px;cursor:pointer;}
.move-info-mini:hover{border-color:var(--gold);background:rgba(245,197,24,.08);}
.move-info-inline{margin-left:6px;border:1px solid var(--border-em);border-radius:999px;background:var(--bg-raised);color:var(--gold);font-family:var(--font-title);font-size:11px;padding:4px 8px;cursor:pointer;}
.move-learn-info{margin:10px 0 12px;padding:10px 12px;border:1px solid var(--border-em);border-left:4px solid var(--gold);border-radius:var(--r-md);background:rgba(255,255,255,.035);}
.move-learn-info>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.move-learn-info b{font-family:var(--font-title);font-size:17px;}
.move-learn-info small{display:block;margin-top:7px;color:var(--muted);}
.move-learn-info p{margin:8px 0 0;color:var(--text);line-height:1.35;}
.pokemon-detail-move-click{cursor:pointer;position:relative;}
.pokemon-detail-move-click:hover{background:rgba(255,255,255,.045);}
.pokemon-detail-move-click:after{content:"i";position:absolute;right:8px;top:50%;transform:translateY(-50%);width:18px;height:18px;border-radius:50%;border:1px solid var(--border-em);display:flex;align-items:center;justify-content:center;color:var(--gold);font-family:var(--font-title);font-size:12px;}
.attack-info-modal{z-index:12200;}
.attack-info-panel{border-top:3px solid var(--gold);}
.attack-info-hero{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"type name" "type source";gap:4px 10px;align-items:center;padding:14px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));}
.attack-info-hero .typ-badge{grid-area:type;align-self:center;min-width:68px;text-align:center;}
.attack-info-hero b{grid-area:name;font-family:var(--font-title);font-size:24px;line-height:1;color:var(--text-1);}
.attack-info-hero small{grid-area:source;color:var(--text-3);font-size:12px;}
.attack-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:12px 14px 0;}
.attack-info-grid div{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg-surface);padding:9px 10px;display:grid;gap:3px;}
.attack-info-grid small{color:var(--text-3);font-size:10px;text-transform:uppercase;letter-spacing:.08em;}
.attack-info-grid b{font-family:var(--font-title);color:var(--text-1);}
.attack-info-effect{margin:10px 14px 14px;padding:12px;border:1px solid rgba(245,197,24,.22);border-radius:var(--r-sm);background:rgba(245,197,24,.055);color:var(--text-1);font-size:14px;line-height:1.45;}
.item-info-panel{border-top:3px solid var(--gold);}
.item-info-hero{display:grid;grid-template-columns:70px 1fr;gap:12px;align-items:center;padding:14px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgba(245,197,24,.08),rgba(255,255,255,.02));}
.item-info-icon{width:64px;height:64px;border-radius:16px;border:1px solid rgba(245,197,24,.28);background:rgba(245,197,24,.07);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 18px rgba(0,0,0,.18);}
.item-info-icon img{width:42px;height:42px;object-fit:contain;image-rendering:pixelated;}
.item-info-title{display:grid;gap:3px;min-width:0;}
.item-info-title small{color:var(--gold);font-family:var(--font-title);font-size:11px;text-transform:uppercase;letter-spacing:.08em;}
.item-info-title b{font-family:var(--font-title);font-size:22px;color:var(--text-1);line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.item-info-title span{color:var(--text-3);font-size:12px;}
.item-info-effect{margin:12px 14px 0;padding:12px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg-surface);color:var(--text-1);font-size:14px;line-height:1.45;}
.item-info-desc{margin:8px 14px 0;color:var(--text-3);font-size:12px;line-height:1.45;}
.item-info-move{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 14px 0;padding:10px 12px;border:1px solid rgba(97,165,250,.25);border-radius:var(--r-sm);background:rgba(97,165,250,.06);}
.item-info-move b{font-family:var(--font-title);color:var(--text-1);}
.item-info-move span{color:var(--text-3);font-size:11px;text-align:right;}
.item-info-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;padding:14px;}
.item-info-actions button{border:none;border-radius:var(--r-sm);background:var(--red);color:#fff;padding:10px 12px;font-family:var(--font-title);font-weight:800;cursor:pointer;}
.item-info-actions button:hover{filter:brightness(1.08);}
.item-info-actions .item-info-secondary{background:var(--bg-raised);border:1px solid var(--border-em);color:var(--text-1);}
.liga-pause-modal{z-index:1200;}
.liga-pause-card{width:min(520px,calc(100vw - 28px));border-top:3px solid var(--gold);box-shadow:0 20px 70px rgba(0,0,0,.55);}
.liga-pause-body{padding:16px;display:grid;gap:12px;color:var(--text-2);}
.liga-pause-body p{margin:0;color:var(--text-1);line-height:1.5;font-size:14px;}
.liga-pause-note{border:1px solid rgba(245,197,24,.28);background:rgba(245,197,24,.08);border-radius:var(--r-sm);padding:10px 12px;color:var(--gold);font-size:12px;line-height:1.4;}
.liga-pause-team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.liga-pause-team span{border:1px solid var(--border);border-radius:var(--r-sm);background:rgba(255,255,255,.04);padding:8px;font-size:12px;color:var(--text-2);}
.liga-pause-team span b{display:block;color:var(--text-1);font-size:13px;margin-bottom:2px;}
.liga-pause-team span.ko{border-color:rgba(239,68,68,.45);background:rgba(239,68,68,.09);color:#fecaca;}
.liga-pause-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;padding:0 16px 16px;}
.liga-pause-actions button{border:none;border-radius:var(--r-sm);background:var(--red);color:#fff;padding:11px 12px;font-family:var(--font-title);font-weight:800;cursor:pointer;}
.liga-pause-actions .item-info-secondary{background:var(--bg-raised);border:1px solid var(--border-em);color:var(--text-1);}
.hall-fame-overlay{position:fixed;inset:0;z-index:9800;display:flex;align-items:center;justify-content:center;padding:12px;background:radial-gradient(circle at 50% 18%,rgba(245,197,24,.16),rgba(3,5,10,.9) 48%,#020306 100%);backdrop-filter:blur(5px);color:var(--text-1);animation:evoFadeIn .28s ease-out;}
.hall-fame-panel{width:min(560px,96vw);max-height:92vh;overflow:auto;border:1px solid rgba(245,197,24,.42);border-top:4px solid var(--gold);border-radius:18px;background:linear-gradient(180deg,#181d2a,#090b11);box-shadow:0 26px 90px rgba(0,0,0,.78),0 0 40px rgba(245,197,24,.1);padding:14px;}
.hall-fame-top{display:grid;grid-template-columns:108px 1fr;gap:14px;align-items:center;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1);}
.hall-fame-prof{width:108px;height:132px;object-fit:cover;object-position:50% 18%;border-radius:14px;border:1px solid rgba(255,255,255,.18);background:#111827;box-shadow:0 10px 30px rgba(0,0,0,.45);}
.hall-fame-top small{display:block;margin-bottom:4px;font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);}
.hall-fame-top h2{margin:0 0 6px;font-family:var(--font-title);font-size:28px;letter-spacing:1px;color:#fff3bd;text-shadow:0 2px 0 #000;}
.hall-fame-top p{margin:0;color:var(--text-2);font-size:14px;line-height:1.45;}
.hall-fame-counter{margin:12px 0;padding:10px 12px;border:1px solid rgba(245,197,24,.28);border-radius:14px;background:linear-gradient(135deg,rgba(245,197,24,.13),rgba(224,48,48,.08));display:flex;align-items:center;justify-content:space-between;}
.hall-fame-counter span{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);}
.hall-fame-counter b{font-family:var(--font-title);font-size:28px;color:#fff;}
.hall-fame-team{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;}
.hall-fame-mon{min-height:126px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px;text-align:center;}
.hall-fame-mon.shiny{border-color:rgba(245,197,24,.55);box-shadow:0 0 18px rgba(245,197,24,.12) inset;}
.hall-fame-mon img{height:62px;max-width:82px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 5px 5px rgba(0,0,0,.5));}
.hall-fame-mon b{margin-top:5px;font-family:var(--font-title);font-size:13px;color:var(--text-1);}
.hall-fame-mon small{margin-top:2px;color:var(--text-3);font-size:11px;}
.hall-fame-close{width:100%;margin-top:13px;padding:12px;border:1px solid rgba(245,197,24,.44);border-radius:12px;background:linear-gradient(180deg,#ef4444,#b91c1c);color:white;font-family:var(--font-title);font-size:15px;font-weight:900;letter-spacing:.5px;cursor:pointer;box-shadow:0 8px 24px rgba(185,28,28,.28);}
@media(max-width:420px){.hall-fame-top{grid-template-columns:86px 1fr;gap:10px}.hall-fame-prof{width:86px;height:112px}.hall-fame-top h2{font-size:24px}.hall-fame-team{grid-template-columns:repeat(2,1fr)}}
.momentum-switch-row img{width:38px;height:38px;image-rendering:pixelated;flex:0 0 auto;}
.momentum-switch-row u{box-shadow:0 0 8px rgba(255,255,255,.08);}
.pension-modal{z-index:1500;}
.pension-panel{width:min(520px,94vw);max-height:88vh;overflow:auto;border-top:3px solid var(--gold);}
.pension-head>div{display:grid;gap:2px;}
.pension-head b{font-size:22px;letter-spacing:.8px;color:var(--text-1);}
.pension-head small{font-family:var(--font-ui);font-size:11px;color:var(--text-3);}
.pension-hero{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,rgba(245,197,24,.1),rgba(224,48,48,.06));}
.pension-hero>div{border:1px solid rgba(245,197,24,.22);border-radius:var(--r-sm);background:rgba(255,255,255,.035);padding:10px;}
.pension-hero b{display:block;font-family:var(--font-title);font-size:22px;line-height:1;color:#ffe27a;}
.pension-hero small{display:block;margin-top:3px;font-size:10px;line-height:1.35;color:var(--text-3);}
.pension-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:12px 14px;}
.pension-card{position:relative;min-height:154px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-surface);padding:9px 7px 10px;display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;color:var(--text-2);}
.pension-card:hover{border-color:var(--border-em);background:var(--bg-raised);}
.pension-card-empty{justify-content:center;cursor:pointer;border-style:dashed;color:var(--gold);background:rgba(245,197,24,.045);}
.pension-card-empty strong{font-family:var(--font-title);font-size:34px;line-height:1;color:var(--gold);}
.pension-card-empty b,.pension-card-name{width:100%;font-family:var(--font-title);font-size:13px;font-weight:900;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pension-card-empty small,.pension-card-sub{font-family:var(--font-mono);font-size:10px;color:var(--text-3);}
.pension-card-index{position:absolute;left:7px;top:6px;font-family:var(--font-mono);font-size:9px;color:var(--text-3);}
.pension-card-sprite{height:62px;display:flex;align-items:center;justify-content:center;margin-top:12px;}
.pension-card-sprite img{width:62px;height:62px;object-fit:contain;image-rendering:pixelated;user-select:none;-webkit-user-drag:none;}
.pension-card-types{min-height:18px;display:flex;gap:3px;justify-content:center;flex-wrap:wrap;}
.pension-card-bar{width:82%;height:5px;border-radius:5px;background:rgba(255,255,255,.1);overflow:hidden;margin:3px 0 2px;}
.pension-card-bar i{display:block;height:100%;border-radius:5px;background:var(--blue);}
.pension-card-action{margin-top:auto;padding:6px 12px;border-radius:var(--r-sm);border:1px solid var(--border-em);background:var(--bg-raised);color:var(--text-1);font-family:var(--font-title);font-size:11px;font-weight:800;cursor:pointer;}
.pension-card-action:hover{border-color:var(--gold);background:var(--gold-dim);}
.pension-egg-card{margin:0 14px 12px;padding:11px;border-radius:var(--r-md);background:var(--bg-raised);border:1px solid var(--border);display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;color:var(--text-2);}
.pension-egg-card b{display:block;font-family:var(--font-title);font-size:15px;color:var(--text-1);}
.pension-egg-card small{display:block;margin-top:3px;font-size:11px;color:var(--text-3);line-height:1.35;}
.pension-egg-card.ready{border-color:rgba(245,197,24,.5);background:var(--gold-dim);}
.pension-egg-card.blocked{border-color:rgba(220,38,38,.35);background:rgba(220,38,38,.06);}
.pension-egg-card.muted{opacity:.78;}
.pension-egg-card button,.pension-add-wide{padding:8px 12px;border-radius:var(--r-sm);border:none;background:var(--red);color:#fff;font-family:var(--font-title);font-weight:900;font-size:12px;cursor:pointer;}
.pension-add-wide{display:block;width:calc(100% - 28px);margin:0 14px 14px;background:linear-gradient(180deg,#ef4444,#b91c1c);}
.pension-upgrades{margin:0 14px 12px;padding:11px;border:1px solid rgba(245,197,24,.22);border-radius:var(--r-md);background:linear-gradient(135deg,rgba(245,197,24,.07),rgba(59,130,246,.045));}
.pension-upgrades-head{display:grid;gap:2px;margin-bottom:9px;}
.pension-upgrades-head b{font-family:var(--font-title);font-size:16px;color:var(--text-1);letter-spacing:.4px;}
.pension-upgrades-head small{font-size:11px;line-height:1.35;color:var(--text-3);}
.pension-upgrade-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.pension-upgrade-card{border:1px solid var(--border);border-radius:var(--r-sm);background:rgba(10,15,30,.54);padding:9px;display:grid;gap:6px;}
.pension-upgrade-top,.pension-upgrade-foot{display:flex;align-items:center;justify-content:space-between;gap:7px;}
.pension-upgrade-top b{font-family:var(--font-title);font-size:13px;color:var(--text-1);}
.pension-upgrade-top span,.pension-upgrade-foot span{font-family:var(--font-mono);font-size:10px;color:#ffe27a;white-space:nowrap;}
.pension-upgrade-card small{font-size:10px;line-height:1.3;color:var(--text-3);min-height:26px;}
.pension-upgrade-bar{height:6px;border-radius:8px;overflow:hidden;background:rgba(255,255,255,.1);}
.pension-upgrade-bar i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,#60a5fa,#facc15);}
.pension-upgrade-foot button{border:1px solid rgba(245,197,24,.35);border-radius:var(--r-sm);background:var(--gold-dim);color:#ffe27a;padding:6px 9px;font-family:var(--font-title);font-size:10px;font-weight:900;cursor:pointer;}
.pension-upgrade-foot button:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.35);}
@media (max-width:430px){.pension-upgrade-grid{grid-template-columns:1fr}.pension-upgrade-card small{min-height:auto}}
.pension-progress{position:relative;width:116px;height:18px;border-radius:10px;overflow:hidden;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.28);}
.pension-progress i{display:block;height:100%;background:var(--gold);}
.pension-progress span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:10px;font-weight:900;color:#221b08;text-shadow:0 1px 0 rgba(255,255,255,.35);}
.pension-note{margin:10px 14px 0;padding:9px 10px;border:1px solid var(--border);border-radius:var(--r-sm);font-size:12px;color:var(--text-2);background:rgba(255,255,255,.035);}
.pension-note.warn{border-color:rgba(245,197,24,.35);background:var(--gold-dim);color:#ffe27a;}
.pension-pick-panel .box-overhaul-head{margin:12px 14px 8px;}
.pension-pick-team{padding:0 14px 12px;margin-bottom:0;}
.pension-pick-team .pension-pick-card{min-height:116px;}
.pension-pick-box{padding:0 14px 14px;}
.pension-pick-card:disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.45);}
.pension-pick-card .box-icon-eggmark{margin-bottom:4px;}
.berry-panel{max-width:470px;}
.berry-farm-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:10px 12px 6px;}
.berry-farm-summary span{border:1px solid rgba(245,197,24,.18);border-radius:var(--r-sm);background:linear-gradient(180deg,rgba(245,197,24,.08),rgba(255,255,255,.025));padding:7px 4px;text-align:center;display:grid;gap:1px;}
.berry-farm-summary b{font-family:var(--font-title);font-size:15px;color:var(--gold);}
.berry-farm-summary small{font-size:9px;color:var(--text-3);text-transform:uppercase;letter-spacing:.7px;}
.berry-farm-actions{display:grid;grid-template-columns:1fr auto;gap:7px;padding:0 12px 8px;}
.berry-farm-actions button{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg-surface);color:var(--text-2);font-family:var(--font-title);font-size:11px;font-weight:800;padding:8px 10px;cursor:pointer;}
.berry-farm-actions button:first-child{border-color:rgba(245,197,24,.35);background:var(--gold-dim);color:var(--gold);}
.berry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:0 12px 8px;}
.berry-plot{position:relative;min-height:72px;border:1px solid var(--border);border-radius:var(--r-md);background:linear-gradient(180deg,#40311f,#201711);color:var(--text-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;overflow:hidden;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(0,0,0,.18);}
.berry-plot:hover{border-color:var(--border-em);}
.berry-plot.selected{border-color:var(--gold);box-shadow:0 0 0 1px rgba(245,197,24,.25),inset 0 0 0 1px rgba(0,0,0,.18);}
.berry-plot-icon{font-size:28px;line-height:1;}
.berry-sprite{width:42px;height:42px;object-fit:contain;image-rendering:pixelated;display:block;}
.berry-waechst .berry-sprite{width:38px;height:38px;}
.berry-plot b{position:absolute;top:5px;left:7px;font-family:var(--font-mono);font-size:10px;color:rgba(255,255,255,.55);}
.berry-plot small{font-size:10px;color:var(--text-2);max-width:86%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.berry-plot em{font-style:normal;font-size:9px;color:var(--text-3);max-width:88%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.berry-plot i{position:absolute;left:0;bottom:0;height:4px;background:var(--green);box-shadow:0 0 12px rgba(76,175,80,.35);}
.berry-leer{border-style:dashed;background:linear-gradient(180deg,#342716,#18110c);}
.berry-leer .berry-plot-icon{color:rgba(255,255,255,.25);}
.berry-waechst{background:linear-gradient(180deg,#1f3a25,#162018);}
.berry-reif{background:linear-gradient(180deg,#3b4320,#1d2414);border-color:rgba(245,197,24,.45);}
.berry-reif .berry-plot-icon{filter:drop-shadow(0 0 9px rgba(245,197,24,.45));}
.berry-detail{margin:2px 12px 9px;padding:10px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-surface);display:grid;gap:8px;color:var(--text-2);}
.berry-detail b{font-family:var(--font-title);font-size:14px;color:var(--text-1);}
.berry-detail p{margin:0;font-size:12px;color:var(--text-3);}
.berry-detail.ready{border-color:rgba(245,197,24,.45);background:var(--gold-dim);}
.berry-progress{position:relative;height:12px;background:rgba(255,255,255,.08);border-radius:8px;overflow:hidden;}
.berry-progress i{display:block;height:100%;background:var(--green);border-radius:5px;}
.berry-progress span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:9px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8);}
.berry-plant-list{display:grid;grid-template-columns:1fr 1fr;gap:6px;max-height:260px;overflow:auto;padding-right:2px;}
.berry-plant-head{grid-column:1/-1;font-family:var(--font-title);font-size:11px;color:var(--gold);text-transform:uppercase;letter-spacing:.7px;margin:4px 0 -2px;}
.berry-plant-list button{display:grid;grid-template-columns:auto 1fr;gap:2px 7px;align-items:center;text-align:left;padding:7px;border-radius:var(--r-sm);border:1px solid var(--border-em);background:var(--bg-raised);color:var(--text-1);cursor:pointer;font-size:12px;}
.berry-plant-list button:hover{background:var(--bg-hover);}
.berry-plant-list button span{font-size:18px;grid-row:1/3;}
.berry-choice-img{width:28px;height:28px;object-fit:contain;image-rendering:pixelated;grid-row:1/3;}
.berry-detail-img{width:24px;height:24px;object-fit:contain;image-rendering:pixelated;vertical-align:middle;margin-right:4px;}
.berry-plant-list button small{font-size:10px;color:var(--text-3);}
.berry-main-btn,.berry-secondary-btn{padding:9px 12px;border-radius:var(--r-sm);font-family:var(--font-title);font-weight:800;cursor:pointer;}
.berry-main-btn{border:none;background:var(--red);color:#fff;}
.berry-secondary-btn{border:1px solid var(--border-em);background:var(--bg-raised);color:var(--text-2);}
.berry-inventory{margin:0 12px 12px;padding:9px;border:1px solid var(--border);border-radius:var(--r-sm);background:rgba(255,255,255,.03);display:flex;flex-wrap:wrap;gap:6px 10px;font-size:11px;color:var(--text-3);}
.berry-inventory b{width:100%;font-family:var(--font-title);font-size:12px;color:var(--text-2);}
.berry-inventory span{white-space:nowrap;}
.apricorn-workbench{margin:0 12px 10px;padding:0;border:1px solid rgba(245,197,24,.25);border-radius:var(--r-md);background:rgba(245,197,24,.05);overflow:hidden;}
.apricorn-workbench summary{list-style:none;cursor:pointer;padding:10px;display:grid;gap:2px;}
.apricorn-workbench summary::-webkit-details-marker{display:none;}
.apricorn-workbench summary b{font-family:var(--font-title);font-size:13px;color:var(--text-1);}
.apricorn-workbench summary small{font-size:10px;color:var(--text-3);}
.apricorn-recipe-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 10px 10px;}
.apricorn-workbench button{display:grid;grid-template-columns:30px 1fr;gap:7px;align-items:center;text-align:left;padding:7px;border-radius:var(--r-sm);border:1px solid var(--border-em);background:var(--bg-raised);color:var(--text-1);cursor:pointer;}
.apricorn-workbench button:hover:not(:disabled){background:var(--bg-hover);border-color:var(--gold);}
.apricorn-workbench button:disabled{opacity:.42;cursor:not-allowed;}
.apricorn-recipe-img{width:28px;height:28px;object-fit:contain;image-rendering:pixelated;}
.apricorn-workbench button span{display:grid;gap:2px;}
.apricorn-workbench button small{color:var(--text-3);font-size:10px;}
@media (max-width:420px){
  .berry-panel{width:min(96vw,470px);}
  .berry-farm-summary{gap:5px;}
  .berry-farm-summary b{font-size:13px;}
  .berry-grid{gap:6px;}
  .berry-plot{min-height:66px;}
  .berry-sprite{width:36px;height:36px;}
  .berry-plant-list,.apricorn-recipe-grid{grid-template-columns:1fr;}
}
/* Eier im Team / Box */
.egg-sprite{position:relative;display:inline-block;width:34px;height:42px;border-radius:50% 50% 45% 45%/58% 58% 42% 42%;background:radial-gradient(circle at 35% 24%,#fff7d8 0 18%,transparent 19%),linear-gradient(160deg,#ffeeb2 0%,#f6c85f 48%,#b7742d 100%);border:2px solid rgba(245,197,24,.72);box-shadow:inset -5px -7px 0 rgba(95,50,12,.24),inset 4px 5px 0 rgba(255,255,255,.32),0 4px 10px rgba(0,0,0,.45),0 0 12px rgba(245,197,24,.18);overflow:hidden;animation:eggwobble 2.2s ease-in-out infinite;image-rendering:pixelated;}
.egg-sprite:before{content:"";position:absolute;left:6px;top:12px;width:7px;height:6px;border-radius:50%;background:#b98531;box-shadow:15px 4px 0 #9d6c2b,7px 17px 0 #d99f45,20px 22px 0 #8f5d26;}
.egg-sprite i,.egg-sprite b{position:absolute;display:block;background:rgba(255,255,255,.72);height:2px;border-radius:2px;transform-origin:left center;}
.egg-sprite i{left:10px;top:22px;width:12px;transform:rotate(-19deg);}
.egg-sprite b{left:20px;top:19px;width:11px;transform:rotate(28deg);}
.team-egg-sprite{width:42px;height:52px;}
.box-egg-sprite{width:30px;height:37px;}
.team-egg{border-style:dashed;border-color:var(--gold);background:var(--gold-dim);}
.team-egg-hint{font-size:11px;color:var(--text-3);margin:2px 0 4px;}
.box-mini-egg{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed var(--gold);background:var(--gold-dim);}
@keyframes eggwobble{0%,100%{transform:rotate(-5deg)}45%{transform:rotate(5deg)}55%{transform:rotate(2deg)}}
.egg-hatch-overlay{position:fixed;inset:0;z-index:9600;display:flex;align-items:center;justify-content:center;padding:18px;background:radial-gradient(circle at 50% 42%,rgba(245,197,24,.18),rgba(3,5,10,.86) 58%,rgba(0,0,0,.94));backdrop-filter:blur(4px);animation:evoFadeIn .22s ease-out;}
.egg-hatch-panel{width:min(430px,92vw);border:1px solid rgba(245,197,24,.62);border-radius:20px;background:linear-gradient(180deg,rgba(25,29,42,.98),rgba(10,12,19,.98));box-shadow:0 20px 70px rgba(0,0,0,.62),0 0 0 1px rgba(255,255,255,.04),0 0 28px rgba(245,197,24,.16);padding:18px;text-align:center;}
.egg-hatch-title{font-family:var(--font-title);font-size:28px;color:#fff;margin-bottom:8px;text-shadow:0 2px 0 rgba(0,0,0,.4);}
.egg-hatch-stage{position:relative;height:170px;display:flex;align-items:center;justify-content:center;margin:4px 0 10px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(245,197,24,.06));overflow:hidden;}
.egg-hatch-stage:before{content:"";position:absolute;left:50%;bottom:24px;width:160px;height:34px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse at center,rgba(255,235,148,.5),rgba(245,197,24,.08) 55%,transparent 70%);}
.egg-hatch-egg{width:88px;height:110px;z-index:2;animation:eggHatchShake 1.45s ease-in-out both;}
.egg-hatch-mon{position:absolute;z-index:3;width:112px;height:112px;object-fit:contain;image-rendering:pixelated;opacity:0;transform:translateY(16px) scale(.34);filter:drop-shadow(0 10px 12px rgba(0,0,0,.55));transition:opacity .34s ease,transform .42s cubic-bezier(.2,1.35,.35,1);}
.egg-hatch-text{font-size:16px;color:var(--text-1);line-height:1.45;margin:8px 0 14px;}
.egg-hatch-text b{color:var(--gold);}
.egg-hatch-close{width:100%;border:1px solid rgba(245,197,24,.42);border-radius:12px;background:linear-gradient(180deg,#ef3a42,#a91924);color:#fff;font-family:var(--font-title);font-weight:900;font-size:18px;padding:12px;box-shadow:0 8px 20px rgba(0,0,0,.35);}
.egg-hatch-reveal .egg-hatch-egg{opacity:0;transform:translateY(-10px) scale(1.25);transition:opacity .25s ease,transform .25s ease;}
.egg-hatch-reveal .egg-hatch-mon{opacity:1;transform:translateY(0) scale(1);}
.egg-hatch-fadeout{animation:evoFadeOut .32s ease-in forwards;}
@keyframes eggHatchShake{0%,20%{transform:rotate(0) scale(1)}28%{transform:rotate(-10deg) scale(1.03)}36%{transform:rotate(10deg) scale(1.03)}44%{transform:rotate(-8deg) scale(1.05)}52%{transform:rotate(8deg) scale(1.05)}62%{transform:rotate(-4deg) scale(1.08)}72%{transform:rotate(4deg) scale(1.1)}86%{transform:rotate(0) scale(1.12)}100%{transform:rotate(0) scale(1.16)}}
.safari-mini-modal{z-index:9700;}
.safari-mini-panel{width:min(560px,96vw);max-height:92vh;overflow:auto;border-top:4px solid #7ac74c;}
.safari-intro{display:grid;gap:12px;padding:10px 2px 2px;}
.safari-test-note{border:1px solid rgba(245,197,24,.52);border-radius:14px;background:linear-gradient(180deg,rgba(245,197,24,.14),rgba(255,255,255,.03));padding:10px 12px;color:var(--gold);font-family:var(--font-title);font-weight:900;line-height:1.35;}
.safari-ranger-note,.safari-summary,.safari-cooldown{border:1px solid rgba(122,199,76,.28);border-radius:14px;background:linear-gradient(180deg,rgba(122,199,76,.1),rgba(255,255,255,.025));padding:12px;color:var(--text-2);line-height:1.45;}
.safari-cooldown b,.safari-summary{color:var(--gold);}
.safari-start-btn{border:1px solid rgba(122,199,76,.55);border-radius:14px;background:linear-gradient(180deg,#3fb950,#1f7a32);color:white;font-family:var(--font-title);font-weight:900;font-size:18px;padding:13px;box-shadow:0 8px 22px rgba(0,0,0,.35);}
.safari-hud{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:6px 0 7px;}
.safari-hud span{border:1px solid rgba(245,197,24,.18);border-radius:10px;background:rgba(255,255,255,.04);padding:5px 3px;text-align:center;color:var(--text-3);font-size:9px;text-transform:uppercase;letter-spacing:.35px;}
.safari-hud b{display:block;color:var(--gold);font-family:var(--font-title);font-size:14px;line-height:1.05;letter-spacing:0;text-transform:none;}
.safari-field-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:0 0 7px;}
.safari-field-tabs button{border:1px solid rgba(122,199,76,.24);border-radius:10px;background:linear-gradient(180deg,rgba(122,199,76,.08),rgba(255,255,255,.025));color:var(--text-2);padding:5px 3px;font-family:var(--font-title);font-weight:800;font-size:12px;line-height:1.05;}
.safari-field-tabs button.active{border-color:rgba(245,197,24,.7);box-shadow:0 0 12px rgba(245,197,24,.18);color:var(--gold);}
.safari-field-tabs button.leer{opacity:.55;filter:grayscale(.35);}
.safari-field-tabs small{display:block;margin-top:1px;color:var(--text-3);font-family:var(--font-mono);font-size:9px;}
.safari-play{display:grid;grid-template-columns:1.05fr .95fr;gap:10px;align-items:start;}
.safari-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;border:1px solid rgba(122,199,76,.28);border-radius:16px;padding:9px;background:linear-gradient(135deg,#244b26,#18321d 58%,#102015);box-shadow:inset 0 0 30px rgba(0,0,0,.28);}
.safari-bush{position:relative;aspect-ratio:1;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:radial-gradient(circle at 50% 70%,rgba(0,0,0,.2),transparent 48%),linear-gradient(180deg,#2f6f32,#1c4622);display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--text-1);padding:0;}
.safari-bush:not(:disabled){cursor:pointer;}
.safari-bush:not(:disabled):active{transform:scale(.96);}
.safari-bush-sprite{position:relative;width:78%;height:68%;display:block;}
.safari-bush-sprite:before,.safari-bush-sprite:after,.safari-bush-sprite i,.safari-bush-sprite b{content:"";position:absolute;border-radius:50% 50% 42% 42%;background:linear-gradient(180deg,#72d65b,#256b2e);box-shadow:inset -4px -5px 0 rgba(0,0,0,.18),0 2px 0 rgba(0,0,0,.18);}
.safari-bush-sprite:before{left:6%;bottom:4%;width:44%;height:72%;transform:rotate(-22deg);}
.safari-bush-sprite:after{right:4%;bottom:4%;width:46%;height:76%;transform:rotate(24deg);}
.safari-bush-sprite i{left:29%;bottom:12%;width:45%;height:82%;transform:rotate(2deg);}
.safari-bush-sprite b{left:15%;bottom:0;width:70%;height:36%;border-radius:44%;}
.safari-bush.revealed{background:linear-gradient(180deg,#3c2b19,#24180f);border-color:rgba(245,197,24,.2);}
.safari-bush.empty{opacity:.72;}
.safari-dirt{width:64%;height:38%;border-radius:50%;background:radial-gradient(ellipse at center,#8f6334,#493019 72%);box-shadow:inset 0 3px 0 rgba(255,255,255,.08);}
.safari-bush.safari-hit:after{content:"";position:absolute;left:-18%;top:-14%;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#d7c7aa,#78604d 72%);box-shadow:0 2px 5px rgba(0,0,0,.45);z-index:5;animation:safariStoneThrow .45s ease-out both;}
.safari-bush-break{position:absolute;inset:13%;z-index:3;border-radius:50%;background:radial-gradient(circle at 24% 30%,#8be76b 0 11%,transparent 12%),radial-gradient(circle at 70% 25%,#72d65b 0 12%,transparent 13%),radial-gradient(circle at 45% 65%,#2f8a38 0 16%,transparent 17%),radial-gradient(circle at 62% 72%,#1f6a2a 0 12%,transparent 13%);filter:drop-shadow(0 2px 2px rgba(0,0,0,.3));animation:safariBushBreak .7s ease-out both;}
.safari-bush.safari-hit.found img{animation:safariPokemonWobble .72s ease-in-out .22s both;}
.safari-bush img{width:72%;height:60%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 4px 6px rgba(0,0,0,.55));}
.safari-ball-fx{position:absolute;left:-18%;top:20%;width:18px;height:18px;border-radius:50%;z-index:7;background:linear-gradient(180deg,#ef4444 0 48%,#111 49% 53%,#f8fafc 54%);box-shadow:0 3px 8px rgba(0,0,0,.55);animation:safariBallThrow .82s ease-in-out both;}
.safari-feed-fx{position:absolute;left:50%;top:18%;width:8px;height:8px;border-radius:50%;z-index:7;background:#f5c518;box-shadow:-13px 10px 0 #7ac74c,12px 9px 0 #f59e0b,0 18px 0 #eab308;animation:safariFeedDrop .82s ease-out both;}
.safari-poof-fx{position:absolute;inset:14%;z-index:8;border-radius:50%;background:radial-gradient(circle at 35% 45%,rgba(214,219,228,.85) 0 9%,transparent 10%),radial-gradient(circle at 62% 38%,rgba(156,163,175,.8) 0 12%,transparent 13%),radial-gradient(circle at 52% 68%,rgba(107,114,128,.72) 0 16%,transparent 17%);animation:safariPoof .72s ease-out both;}
.safari-fx-feed img{animation:safariPokemonWobble .72s ease-in-out both;}
.safari-fx-poof img{animation:safariVanish .72s ease-out both;}
.safari-bush small{position:absolute;left:2px;right:2px;bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:8px;color:var(--text-1);text-shadow:0 1px 2px #000;}
.safari-bush.caught{border-color:rgba(122,199,76,.85);box-shadow:0 0 12px rgba(122,199,76,.28);}
.safari-bush.gone{filter:grayscale(.75);opacity:.55;}
.safari-side{display:grid;gap:8px;}
.safari-active-card,.safari-log{border:1px solid rgba(255,255,255,.1);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));padding:10px;}
.safari-active-card{display:grid;gap:8px;border-color:rgba(245,197,24,.2);padding:9px;}
.safari-active-card.rarity-rare,.safari-active-card.rarity-legend{border-color:rgba(245,197,24,.55);box-shadow:0 0 20px rgba(245,197,24,.12);}
.safari-encounter-top{display:grid;grid-template-columns:92px 1fr;gap:10px;align-items:center;}
.safari-encounter-top img{width:92px;height:92px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 8px 10px rgba(0,0,0,.55));border-radius:16px;background:radial-gradient(circle at 50% 64%,rgba(122,199,76,.18),transparent 58%);}
.safari-encounter-name b{display:block;font-family:var(--font-title);font-size:19px;color:var(--text-1);line-height:1.05;}
.safari-encounter-name small{display:block;color:var(--text-3);font-size:11px;margin:3px 0;}
.safari-odds{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;}
.safari-odds span{border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(0,0,0,.18);padding:5px 3px;text-align:center;color:var(--text-3);font-size:9px;text-transform:uppercase;letter-spacing:.35px;}
.safari-odds b{display:block;color:var(--gold);font-family:var(--font-title);font-size:15px;line-height:1.05;}
.safari-action-wheel{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;}
.safari-action-wheel button,.safari-footer button{border:1px solid rgba(245,197,24,.35);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));color:var(--text-1);font-family:var(--font-title);font-weight:800;padding:9px 7px;min-height:52px;}
.safari-action-wheel button.primary{background:linear-gradient(180deg,#ef3a42,#a91924);color:white;border-color:rgba(255,255,255,.18);}
.safari-action-wheel button:disabled{opacity:.42;filter:grayscale(.55);}
.safari-action-wheel b{display:block;font-size:15px;line-height:1;}
.safari-action-wheel small{display:block;margin-top:4px;color:var(--text-3);font-size:10px;}
.safari-action-wheel button.primary small{color:rgba(255,255,255,.72);}
.safari-log{max-height:126px;overflow:auto;padding:8px;}
.safari-log p{margin:0 0 6px;color:var(--text-2);font-size:12px;line-height:1.35;}
.safari-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;color:var(--text-3);font-size:11px;}
@keyframes safariStoneThrow{0%{transform:translate(0,0) scale(.65);opacity:0}18%{opacity:1}80%{transform:translate(54px,48px) scale(1);opacity:1}100%{transform:translate(62px,54px) scale(.35);opacity:0}}
@keyframes safariBushBreak{0%{transform:scale(1);opacity:1}45%{transform:scale(1.15) rotate(-5deg);opacity:.9}100%{transform:scale(1.65) rotate(12deg);opacity:0}}
@keyframes safariPokemonWobble{0%,100%{transform:translateX(0) scale(1)}20%{transform:translateX(-4px) scale(1.08)}40%{transform:translateX(4px) scale(1.08)}60%{transform:translateX(-3px) scale(1.04)}80%{transform:translateX(3px) scale(1.02)}}
@keyframes safariBallThrow{0%{opacity:0;transform:translate(0,18px) rotate(0) scale(.7)}18%{opacity:1}58%{transform:translate(58px,-10px) rotate(360deg) scale(1)}100%{opacity:0;transform:translate(92px,18px) rotate(720deg) scale(.74)}}
@keyframes safariFeedDrop{0%{opacity:0;transform:translate(-50%,-12px) scale(.6)}25%{opacity:1}70%{opacity:1;transform:translate(-50%,12px) scale(1)}100%{opacity:0;transform:translate(-50%,20px) scale(.9)}}
@keyframes safariPoof{0%{opacity:0;transform:scale(.45)}25%{opacity:1;transform:scale(.9)}100%{opacity:0;transform:scale(1.55)}}
@keyframes safariVanish{0%,35%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.55)}}
@media(max-width:520px){.safari-mini-panel .machine-head{padding:9px 12px}.safari-mini-panel .machine-head b{font-size:17px}.safari-play{grid-template-columns:1fr}.safari-grid{gap:5px;padding:7px}.safari-hud{grid-template-columns:repeat(4,1fr);gap:4px;margin:5px 0 6px}.safari-hud span{font-size:8px;padding:4px 2px;border-radius:9px;letter-spacing:.2px}.safari-hud b{font-size:13px}.safari-field-tabs{gap:4px;margin-bottom:6px}.safari-field-tabs button{font-size:10px;padding:5px 1px;border-radius:9px}.safari-field-tabs small{font-size:8px}.safari-encounter-top{grid-template-columns:76px 1fr}.safari-encounter-top img{width:76px;height:76px}.safari-action-wheel button{min-height:46px;padding:7px 5px}.safari-action-wheel b{font-size:14px}}

/* Safari-Reservat: kompakter Spielbrett-Aufbau */
.safari-mini-panel{width:min(920px,96vw);padding-bottom:12px;border-top:4px solid #86cb53;background:
linear-gradient(180deg,rgba(19,30,18,.98),rgba(11,18,13,.98));}
.safari-shell{display:grid;gap:10px;}
.safari-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:10px;padding:6px 2px 2px;}
.safari-hero-copy{border:1px solid rgba(134,203,83,.24);border-radius:18px;padding:14px 16px;background:
radial-gradient(circle at top left,rgba(134,203,83,.16),transparent 45%),
linear-gradient(145deg,rgba(33,61,30,.88),rgba(18,29,18,.94));}
.safari-hero-copy small{display:block;color:#c7e8a2;font-family:var(--font-title);font-size:11px;letter-spacing:1.1px;text-transform:uppercase;}
.safari-hero-copy h3{margin:5px 0 6px;font-family:var(--font-title);font-size:28px;line-height:1;color:#f4f7e8;}
.safari-hero-copy p{margin:0;color:#bfd0b7;font-size:13px;line-height:1.45;}
.safari-hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.safari-hero-stats span{display:grid;place-items:center;border:1px solid rgba(245,197,24,.22);border-radius:18px;background:
linear-gradient(180deg,rgba(36,44,22,.96),rgba(20,24,14,.96));padding:12px 8px;min-height:92px;}
.safari-hero-stats b{display:block;font-family:var(--font-title);font-size:28px;color:var(--gold);line-height:1;}
.safari-hero-stats small{display:block;margin-top:4px;font-size:11px;color:var(--text-3);text-transform:uppercase;letter-spacing:.7px;}
.safari-ranger-note{display:grid;gap:5px;}
.safari-ranger-note b{font-family:var(--font-title);font-size:17px;color:var(--text-1);}
.safari-ranger-note span{font-size:13px;line-height:1.4;}
.safari-stagebar{display:grid;grid-template-columns:.9fr 1.1fr;gap:10px;align-items:stretch;}
.safari-stage-meta{display:grid;gap:5px;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:12px 14px;background:
linear-gradient(135deg,rgba(24,30,42,.94),rgba(13,18,28,.94));}
.safari-stage-meta small{color:#9eb0c7;font-family:var(--font-title);font-size:11px;letter-spacing:1px;text-transform:uppercase;}
.safari-stage-meta b{font-family:var(--font-title);font-size:24px;color:#f2f4ff;line-height:1;}
.safari-stage-meta span{font-size:13px;color:#c3c9d9;}
.safari-hud{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0;}
.safari-hud span{display:grid;gap:2px;min-height:42px;padding:6px 4px;border-color:rgba(122,199,76,.22);background:linear-gradient(180deg,rgba(122,199,76,.11),rgba(255,255,255,.025));}
.safari-hud span small{font-family:var(--font-title);font-size:9px;color:var(--text-3);letter-spacing:.7px;text-transform:uppercase;}
.safari-hud b{font-size:16px;}
.safari-field-tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-bottom:8px;}
.safari-field-tabs button{min-height:46px;border-radius:14px;background:
linear-gradient(180deg,rgba(21,34,28,.95),rgba(13,20,17,.95));box-shadow:inset 0 1px 0 rgba(255,255,255,.04);}
.safari-field-tabs button b{font-size:12px;}
.safari-field-tabs button.active{background:linear-gradient(180deg,rgba(245,197,24,.18),rgba(122,199,76,.08));}
.safari-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;align-items:start;}
.safari-layout-single{grid-template-columns:1fr;}
.safari-board-wrap{position:relative;border:1px solid rgba(122,199,76,.32);border-radius:22px;padding:10px;background:
radial-gradient(circle at top,rgba(110,186,77,.14),transparent 28%),
linear-gradient(160deg,rgba(43,91,43,.9),rgba(16,32,21,.96));box-shadow:inset 0 0 36px rgba(0,0,0,.32),0 10px 24px rgba(0,0,0,.18);}
.safari-field-title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 4px 7px;}
.safari-field-title b{font-family:var(--font-title);font-size:15px;color:var(--gold);}
.safari-field-title span{font-size:11px;color:var(--text-3);}
.safari-board-wrap .safari-grid{border:0;border-radius:14px;padding:0;background:transparent;box-shadow:none;gap:7px;}
.safari-bush{border-radius:13px;box-shadow:inset 0 -10px 16px rgba(0,0,0,.14),0 2px 0 rgba(255,255,255,.04);}
.safari-single-stage{display:grid;gap:12px;min-height:350px;align-content:center;justify-items:center;padding:16px 10px;}
.safari-single-stage.locked{opacity:.92;}
.safari-grid-stage{min-height:auto;padding:12px 8px;}
.safari-mini-grid{width:min(100%,460px);aspect-ratio:16/9;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(4,1fr);gap:7px;padding:10px;border-radius:24px;background:
radial-gradient(circle at 50% 38%,rgba(170,227,122,.14),transparent 30%),
radial-gradient(circle at 50% 72%,rgba(0,0,0,.24),transparent 58%),
linear-gradient(180deg,rgba(26,55,28,.76),rgba(12,25,15,.84));border:1px solid rgba(134,203,83,.24);box-shadow:inset 0 0 40px rgba(0,0,0,.24),0 16px 28px rgba(0,0,0,.18);overflow:hidden;}
.safari-mini-grid.fresh{animation:safariBushSwipeIn .42s ease-out both;}
.safari-mini-cell{position:relative;min-width:0;min-height:0;border-radius:12px;}
.safari-mini-cell .safari-bush{width:100%;height:100%;border-radius:12px;}
.safari-mini-cell:not(.current){opacity:.82;filter:saturate(.92);}
.safari-mini-cell.tappable .safari-bush{cursor:pointer;}
.safari-mini-cell.tappable:active{transform:scale(.96);}
.safari-mini-cell.current{box-shadow:0 0 0 2px rgba(245,197,24,.82),0 0 18px rgba(245,197,24,.25);z-index:2;}
.safari-mini-cell.passed:not(.current){opacity:.32;filter:grayscale(.35) saturate(.6);}
.safari-single-bush{position:relative;width:min(100%,460px);aspect-ratio:16/9;display:grid;place-items:center;border-radius:24px;background:
radial-gradient(circle at 50% 38%,rgba(170,227,122,.16),transparent 28%),
radial-gradient(circle at 50% 72%,rgba(0,0,0,.22),transparent 56%),
linear-gradient(180deg,rgba(26,55,28,.72),rgba(12,25,15,.8));border:1px solid rgba(134,203,83,.24);box-shadow:inset 0 0 40px rgba(0,0,0,.24),0 16px 28px rgba(0,0,0,.18);}
.safari-single-bush.waiting{filter:saturate(.78);}
.safari-single-bush.hit{overflow:hidden;}
.safari-single-bush.fresh{animation:safariBushSwipeIn .42s ease-out both;}
.safari-single-bush-sprite{position:relative;width:56%;height:82%;display:block;}
.safari-single-bush-sprite:before,.safari-single-bush-sprite:after,.safari-single-bush-sprite i,.safari-single-bush-sprite b,.safari-single-bush-sprite u{content:"";position:absolute;background:linear-gradient(180deg,#7fe26a,#266d31);box-shadow:inset -8px -10px 0 rgba(0,0,0,.16),0 3px 0 rgba(0,0,0,.18);}
.safari-single-bush-sprite:before{left:2%;bottom:8%;width:38%;height:66%;border-radius:54% 46% 42% 44%;transform:rotate(-22deg);}
.safari-single-bush-sprite:after{right:0;bottom:10%;width:40%;height:70%;border-radius:46% 56% 42% 44%;transform:rotate(24deg);}
.safari-single-bush-sprite i{left:22%;bottom:20%;width:34%;height:62%;border-radius:48% 52% 40% 42%;transform:rotate(-4deg);}
.safari-single-bush-sprite b{left:46%;bottom:18%;width:28%;height:58%;border-radius:48% 52% 40% 42%;transform:rotate(6deg);}
.safari-single-bush-sprite u{left:12%;bottom:0;width:72%;height:28%;border-radius:48%;}
.safari-single-bush .safari-bush-break{position:absolute;left:27%;right:27%;top:14%;bottom:14%;z-index:3;border-radius:50%;background:radial-gradient(circle at 24% 30%,#8be76b 0 11%,transparent 12%),radial-gradient(circle at 70% 25%,#72d65b 0 12%,transparent 13%),radial-gradient(circle at 45% 65%,#2f8a38 0 16%,transparent 17%),radial-gradient(circle at 62% 72%,#1f6a2a 0 12%,transparent 13%);filter:drop-shadow(0 2px 2px rgba(0,0,0,.3));animation:safariBushBreak .7s ease-out both;}
.safari-dirt-big{position:absolute;left:50%;bottom:18%;transform:translateX(-50%);width:38%;height:14%;z-index:2;}
.safari-bush-pokemon{position:absolute;left:50%;bottom:18%;transform:translateX(-50%);width:42%;height:42%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 6px 10px rgba(0,0,0,.6));z-index:4;animation:safariPokemonWobble .82s ease-in-out .08s both;}
@keyframes safariBushSwipeIn{0%{opacity:0;transform:translateX(22px) scale(.96);}55%{opacity:1;transform:translateX(-4px) scale(1.01);}100%{opacity:1;transform:translateX(0) scale(1);}}
.safari-float-fx{position:absolute;left:50%;top:-18px;z-index:20;transform:translateX(-50%);pointer-events:none;font-family:var(--font-title);font-weight:900;font-size:22px;line-height:1;color:#f5c518;text-shadow:0 2px 0 rgba(0,0,0,.65),0 0 12px rgba(245,197,24,.45);animation:safariFloatValue 1.05s ease-out both;white-space:nowrap;}
.safari-float-fx.good{color:#7ac74c;text-shadow:0 2px 0 rgba(0,0,0,.65),0 0 12px rgba(122,199,76,.45);}
.safari-float-fx.bad{color:#ef4444;text-shadow:0 2px 0 rgba(0,0,0,.65),0 0 12px rgba(239,68,68,.45);}
.safari-float-fx.neutral{color:#d6dbe4;}
@keyframes safariFloatValue{0%{opacity:0;transform:translate(-50%,12px) scale(.9);}16%{opacity:1;transform:translate(-50%,0) scale(1.06);}78%{opacity:1;}100%{opacity:0;transform:translate(-50%,-38px) scale(.98);}}
.safari-single-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:min(100%,420px);}
.safari-single-actions button{min-height:60px;border-radius:16px;padding:10px 10px;text-align:left;border:1px solid rgba(245,197,24,.26);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));color:var(--text-1);font-family:var(--font-title);font-weight:800;}
.safari-single-actions button.primary{background:linear-gradient(180deg,#2f8a38,#1c5b28);border-color:rgba(134,203,83,.34);color:#f8fff2;}
.safari-single-actions button:disabled{opacity:.46;filter:grayscale(.65);}
.safari-single-actions b{display:block;font-size:15px;line-height:1;}
.safari-single-actions small{display:block;margin-top:4px;font-size:10px;color:var(--text-3);line-height:1.15;}
.safari-single-actions button.primary small{color:rgba(255,255,255,.78);}
.safari-side-panel{display:grid;gap:10px;}
.safari-encounter-overlay{position:absolute;left:16px;right:16px;bottom:16px;z-index:12;}
.safari-active-card,.safari-empty-encounter{margin-top:0;border:1px solid rgba(245,197,24,.24);border-radius:18px;background:
linear-gradient(180deg,rgba(28,34,45,.96),rgba(15,20,29,.96));box-shadow:0 10px 24px rgba(0,0,0,.22);}
.safari-active-card{padding:10px;gap:8px;}
.safari-empty-encounter-overlay{background:linear-gradient(180deg,rgba(18,24,33,.9),rgba(11,15,22,.92));}
.safari-active-head{display:flex;justify-content:space-between;align-items:center;gap:8px;}
.safari-rarity-pill,.safari-active-level{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;font-family:var(--font-title);font-size:11px;letter-spacing:.7px;text-transform:uppercase;}
.safari-rarity-pill{background:rgba(245,197,24,.12);border:1px solid rgba(245,197,24,.28);color:#ffe495;}
.safari-rarity-pill.rarity-common{color:#d7ebc8;border-color:rgba(122,199,76,.28);background:rgba(122,199,76,.1);}
.safari-rarity-pill.rarity-uncommon{color:#b7d7ff;border-color:rgba(99,169,255,.28);background:rgba(99,169,255,.1);}
.safari-rarity-pill.rarity-rare,.safari-rarity-pill.rarity-legend{color:#ffe495;}
.safari-active-level{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:#eef2f6;}
.safari-empty-encounter{display:grid;gap:3px;padding:11px 12px;text-align:center;}
.safari-empty-encounter b{font-family:var(--font-title);color:var(--text-1);}
.safari-empty-encounter span{font-size:12px;color:var(--text-3);}
.safari-encounter-top{grid-template-columns:84px minmax(0,1fr);gap:10px;}
.safari-encounter-sprite{display:grid;place-items:center;border-radius:16px;background:radial-gradient(circle at 50% 64%,rgba(122,199,76,.18),rgba(255,255,255,.02) 65%);}
.safari-encounter-top img{width:84px;height:84px;border-radius:14px;}
.safari-encounter-name b{font-size:17px;}
.safari-type-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px;}
.safari-meter-stack{display:grid;gap:7px;}
.safari-meter{display:grid;grid-template-columns:86px 1fr;gap:8px;align-items:center;}
.safari-meter label{font-size:10px;color:#aeb7c2;text-transform:uppercase;letter-spacing:.7px;font-family:var(--font-title);}
.safari-meter div{position:relative;height:22px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden;border:1px solid rgba(255,255,255,.08);}
.safari-meter span{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,#77dd5b,#2f9a43);}
.safari-meter.flee span{background:linear-gradient(90deg,#f0b03d,#d74a2f);}
.safari-meter.level span{background:linear-gradient(90deg,#5ea8ff,#7c5cff);}
.safari-meter b{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:11px;font-family:var(--font-title);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.55);}
.safari-action-wheel{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}
.safari-action-wheel button{min-height:58px;border-radius:14px;padding:8px 6px;text-align:left;}
.safari-action-wheel b{font-size:13px;}
.safari-action-wheel small{font-size:10px;line-height:1.15;}
.safari-log{margin-top:0;max-height:112px;padding:10px 12px;border-radius:16px;background:rgba(0,0,0,.16);}
.safari-log-head{margin-bottom:6px;font-family:var(--font-title);font-size:12px;color:var(--gold);text-transform:uppercase;letter-spacing:.8px;}
.safari-log p{margin:0 0 4px;font-size:11px;line-height:1.3;}
.safari-footer{margin-top:8px;}
.safari-footer button{min-height:38px;padding:7px 10px;}
@media(max-width:520px){
  .safari-mini-panel{width:min(540px,95vw);max-height:89vh;}
  .safari-hero{grid-template-columns:1fr;gap:8px;}
  .safari-hero-copy{padding:12px 13px;}
  .safari-hero-copy h3{font-size:24px;}
  .safari-hero-stats span{min-height:68px;border-radius:14px;padding:8px 4px;}
  .safari-hero-stats b{font-size:22px;}
  .safari-stagebar{grid-template-columns:1fr;gap:6px;}
  .safari-hud{gap:4px;margin:2px 0 6px;}
  .safari-hud span{min-height:36px;padding:4px 2px;}
  .safari-hud span small{font-size:8px;letter-spacing:.35px;}
  .safari-hud b{font-size:13px;}
  .safari-field-tabs{gap:4px;margin-bottom:7px;}
  .safari-field-tabs button{min-height:34px;border-radius:10px;padding:4px 1px;}
  .safari-field-tabs button b{font-size:10px;}
  .safari-layout{grid-template-columns:1fr;gap:8px;}
  .safari-board-wrap{padding:7px;border-radius:16px;}
  .safari-board-wrap .safari-grid{gap:5px;}
  .safari-bush{border-radius:11px;}
  .safari-single-stage{min-height:260px;padding:10px 6px;}
  .safari-grid-stage{min-height:auto;padding:8px 4px;}
  .safari-mini-grid{width:min(100%,340px);gap:5px;padding:7px;border-radius:18px;}
  .safari-mini-cell,.safari-mini-cell .safari-bush{border-radius:9px;}
  .safari-single-bush{width:min(100%,340px);border-radius:18px;}
  .safari-encounter-overlay{left:8px;right:8px;bottom:8px;}
  .safari-bush-pokemon{width:40%;height:40%;}
  .safari-single-actions{gap:6px;width:100%;}
  .safari-single-actions button{min-height:50px;border-radius:12px;padding:8px 8px;}
  .safari-single-actions b{font-size:12px;}
  .safari-single-actions small{font-size:8px;}
  .safari-active-head{gap:6px;}
  .safari-rarity-pill,.safari-active-level{min-height:24px;padding:0 8px;font-size:10px;}
  .safari-encounter-top{grid-template-columns:62px minmax(0,1fr);}
  .safari-encounter-top img{width:62px;height:62px;}
  .safari-encounter-name b{font-size:15px;}
  .safari-encounter-name small{font-size:10px;}
  .safari-meter{grid-template-columns:70px 1fr;gap:6px;}
  .safari-meter label{font-size:9px;}
  .safari-meter div{height:19px;}
  .safari-action-wheel{gap:4px;}
  .safari-action-wheel button{min-height:46px;border-radius:10px;padding:6px 4px;}
  .safari-action-wheel b{font-size:11px;}
  .safari-action-wheel small{font-size:8px;margin-top:2px;}
  .safari-log{max-height:64px;padding:6px 8px;}
}
.toast-pension{border:1px solid var(--gold)!important;background:var(--gold-dim)!important;color:#ffd24a!important;}
/* PokÃ©mon-Auswahl-Belohnung (Dojo etc.) */
.auswahl-grid{display:flex;flex-direction:column;gap:8px;padding:4px 2px;}
.auswahl-card{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-sm);border:1px solid var(--border-em);background:var(--bg-raised);color:var(--text-1);cursor:pointer;text-align:left;}
.auswahl-card:hover{background:var(--bg-hover);border-color:var(--gold);}
.auswahl-sprite{width:52px;height:52px;image-rendering:pixelated;}
.auswahl-info{flex:1;display:flex;flex-direction:column;gap:2px;}
.auswahl-info small{color:var(--text-3);font-size:11px;}
.auswahl-typen{display:flex;gap:4px;margin-top:2px;}
.auswahl-card em{font-family:var(--font-title);font-weight:700;font-size:12px;color:#fff;background:var(--red);padding:6px 12px;border-radius:var(--r-sm);font-style:normal;}
.auswahl-abbruch{margin-top:8px;width:100%;padding:8px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--bg-raised);color:var(--text-3);font-size:12px;cursor:pointer;}
.auswahl-abbruch:hover{background:var(--bg-hover);color:var(--text-1);}
.fossil-dig-panel{max-width:430px;}
.fossil-dig-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);font-size:12px;color:var(--text-2);background:rgba(245,197,24,.04);}
.fossil-dig-top .pick-count{font-family:var(--font-title);font-size:13px;color:#ffd24a;border:1px solid rgba(245,197,24,.35);border-radius:999px;padding:4px 9px;background:var(--gold-dim);}
.fossil-dig-top b{color:#ffd24a;font-family:var(--font-mono);}
.fossil-dig-status{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 12px 0;color:var(--text-2);font-size:12px;}
.fossil-dig-status b{font-family:var(--font-title);color:var(--text-1);}
.fossil-dig-status small{color:var(--text-3);text-align:right;}
.fossil-dig-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;padding:12px;}
.fossil-cell{aspect-ratio:1;border:1px solid rgba(255,255,255,.12);border-radius:4px;background:#211a14;box-shadow:inset 1px 1px 0 rgba(255,255,255,.12),inset -2px -2px 0 rgba(0,0,0,.28);cursor:pointer;touch-action:manipulation;padding:0;overflow:hidden;}
.fossil-cell img{width:100%;height:100%;display:block;image-rendering:pixelated;object-fit:cover;pointer-events:none;}
.fossil-cell:not(:disabled):active{transform:scale(.92);}
.fossil-cell.open{border-color:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(0,0,0,.45);}
.fossil-cell.fossil-hit{border-color:rgba(245,197,24,.55);box-shadow:0 0 10px rgba(245,197,24,.22),inset 0 0 0 1px rgba(255,255,255,.08);}
.fossil-cell:disabled{cursor:default;}
.fossil-dig-list{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 12px;}
.fossil-dig-list span{border:1px solid var(--border);border-radius:999px;padding:4px 7px;font-size:10px;color:var(--text-3);background:rgba(255,255,255,.03);}
.fossil-dig-list span.found{border-color:rgba(245,197,24,.45);color:#ffd24a;background:var(--gold-dim);}
/* Kampf-Item-Slots */
#catchBalls{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.kampf-slot{position:relative;width:42px;height:42px;border-radius:var(--r-sm);border:1px solid var(--border-em);background:var(--bg-raised);display:flex;align-items:center;justify-content:center;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none;padding:0;flex:0 0 auto;}
.kampf-slot:active{transform:scale(.94);}
.kampf-slot-leer{border-style:dashed;color:var(--text-3);}
.kampf-slot-leer .slot-plus{font-size:24px;font-weight:700;line-height:1;color:var(--text-3);}
.kampf-slot-aus{opacity:.4;}
.kampf-slot-geplant{border-color:#ffd24a;box-shadow:0 0 0 2px rgba(255,210,74,.24),0 0 16px rgba(255,210,74,.24);background:rgba(245,197,24,.13);}
.kampf-slot .slot-emoji{font-size:24px;line-height:1;}
.kampf-slot .slot-fallback{min-width:20px;height:20px;border-radius:10px;align-items:center;justify-content:center;background:rgba(245,197,24,.16);border:1px solid rgba(245,197,24,.35);color:var(--gold);font-family:var(--font-title);font-size:10px;font-weight:700;line-height:1;}
.kampf-slot .slot-count{position:absolute;right:-4px;bottom:-4px;min-width:16px;height:16px;padding:0 3px;border-radius:8px;background:var(--bg-panel,#161a23);border:1px solid var(--border-em);font-size:10px;line-height:16px;text-align:center;color:var(--text-1);}
/* Shiny-Bonus-Slots */
.bonus-slots{display:flex;flex-direction:column;gap:6px;margin:4px 2px 10px;}
.bonus-slot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:var(--r-sm);border:1px solid var(--border-em);background:var(--bg-raised);}
.bonus-slot.locked{border-color:var(--gold);background:var(--gold-dim);}
.bonus-slot.leer{border-style:dashed;color:var(--text-3);}
.bonus-stat{font-weight:700;font-size:13px;color:var(--text-1);}
.bonus-slot.leer .bonus-stat{font-weight:400;color:var(--text-3);}
.bonus-lock{background:none;border:1px solid var(--border-em);border-radius:var(--r-sm);padding:4px 8px;font-size:14px;cursor:pointer;}
/* Dojo der Werte */
.iv-dojo-list{display:flex;flex-direction:column;gap:10px;}
.iv-dojo-card{border-left:3px solid var(--gold);}
.iv-dojo-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.iv-dojo-head img{width:42px;height:42px;object-fit:contain;image-rendering:pixelated;}
.iv-dojo-head span{display:flex;flex-direction:column;gap:2px;}
.iv-dojo-head small{color:var(--text-3);font-size:11px;}
.iv-dojo-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
.iv-dojo-stat{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--border-em);border-radius:var(--r-sm);background:var(--bg-raised);color:var(--text-1);padding:7px 8px;cursor:pointer;text-align:left;}
.iv-dojo-stat:not(:disabled):hover{border-color:var(--gold);background:var(--gold-dim);}
.iv-dojo-stat:disabled{opacity:.42;cursor:not-allowed;}
.iv-dojo-stat span{font-size:11px;color:var(--text-2);}
.iv-dojo-stat b{font-family:var(--font-mono);font-size:12px;color:#ffd24a;}


.trainer-profile-modal{z-index:1600;align-items:center;justify-content:center;padding:10px;background:rgba(2,4,10,.78);backdrop-filter:blur(5px);}
.profile-shell{width:min(620px,96vw);max-height:91vh;overflow:auto;border:1px solid rgba(245,197,24,.28);border-radius:18px;background:radial-gradient(circle at 20% 0%,rgba(245,197,24,.14),transparent 34%),linear-gradient(180deg,#171b26,#080a0f);box-shadow:0 24px 80px rgba(0,0,0,.72);padding:12px;}
.profile-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 4px 12px;border-bottom:1px solid rgba(255,255,255,.08);}
.profile-topbar small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);}
.profile-topbar h3{margin:2px 0 0;font-family:var(--font-title);font-size:25px;color:#fff;letter-spacing:.03em;}
.profile-topbar button{width:38px;height:38px;border-radius:12px;border:1px solid var(--border-em);background:var(--bg-raised);color:var(--text-1);font-family:var(--font-title);font-weight:900;}
.profile-hero-new{display:grid;grid-template-columns:1.35fr .9fr;gap:10px;margin:12px 0;}
.profile-score-card,.profile-badge-card{border:1px solid rgba(245,197,24,.28);border-radius:16px;background:linear-gradient(135deg,rgba(245,197,24,.16),rgba(224,48,48,.07));padding:14px;min-width:0;}
.profile-score-card span,.profile-badge-card span,.profile-score-card small,.profile-badge-card small{display:block;color:var(--text-2);font-size:11px;text-transform:uppercase;letter-spacing:.08em;}
.profile-score-card b,.profile-badge-card b{display:block;margin:4px 0;font-family:var(--font-title);font-size:30px;line-height:1;color:#ffe27a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.profile-stat-grid-new{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.profile-stat-grid-new>div{border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.04);padding:10px;min-width:0;}
.profile-stat-grid-new small{display:block;color:var(--gold);font-size:10px;text-transform:uppercase;letter-spacing:.09em;}
.profile-stat-grid-new b{display:block;margin:3px 0 1px;font-family:var(--font-title);font-size:22px;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.profile-stat-grid-new span{display:block;color:var(--text-3);font-size:11px;}
.profile-section{margin-top:16px;}
.profile-section h4{margin:0 0 8px;font-family:var(--font-title);font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:#fff3bd;}
.profile-pokemon-list,.profile-ranking-list{display:grid;gap:8px;}
.profile-mon-card,.profile-ranking-card{display:grid;align-items:center;gap:10px;border:1px solid var(--border);background:rgba(255,255,255,.035);border-radius:14px;padding:10px;min-width:0;}
.profile-mon-card{grid-template-columns:26px 42px minmax(0,1fr) auto;}
.profile-mon-card img{width:42px;height:42px;object-fit:contain;image-rendering:pixelated;}
.profile-mon-main b,.profile-ranking-main b{display:block;color:var(--text-1);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.profile-mon-main small,.profile-ranking-main small{display:block;color:var(--text-3);font-size:11px;margin-top:2px;}
.profile-mini-stats,.profile-ranking-stats{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
.profile-mini-stats span,.profile-ranking-stats span{min-width:54px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(0,0,0,.16);padding:5px 7px;text-align:center;}
.profile-mini-stats b,.profile-ranking-stats b{display:block;color:#ffe27a;font-family:var(--font-mono);font-size:12px;}
.profile-mini-stats small,.profile-ranking-stats small{display:block;color:var(--text-3);font-size:9px;text-transform:uppercase;letter-spacing:.06em;}
.profile-ranking-card{grid-template-columns:26px minmax(0,1fr);}
.profile-ranking-card.is-me{border-color:rgba(245,197,24,.62);background:rgba(245,197,24,.09);box-shadow:inset 3px 0 0 rgba(245,197,24,.85);}

/* Casino / Spielhalle */
.casino-overlay .sh-box{width:min(520px,96vw);max-height:92vh;border-top:3px solid var(--gold);background:radial-gradient(circle at 18% 0%,rgba(245,197,24,.14),transparent 34%),linear-gradient(180deg,#171b26,#080a0f);box-shadow:0 24px 80px rgba(0,0,0,.72);overflow:auto;}
.casino-overlay .popup-header{background:linear-gradient(135deg,rgba(245,197,24,.13),rgba(224,48,48,.08));}
#spielhalleBody{padding:12px;}
.casino-wallet{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;}
.casino-wallet>div{border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.045);padding:10px 12px;}
.casino-wallet small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:var(--gold);}
.casino-wallet b{display:block;margin-top:3px;font-family:var(--font-title);font-size:20px;color:var(--text-1);}
.casino-hero{border:1px solid rgba(245,197,24,.26);border-radius:18px;background:linear-gradient(135deg,rgba(245,197,24,.12),rgba(96,165,250,.06));padding:14px;margin-bottom:10px;}
.casino-hero small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);}
.casino-hero b{display:block;margin-top:5px;font-family:var(--font-title);font-size:22px;color:#fff;}
.casino-hero span{display:block;margin-top:7px;color:var(--text-2);font-size:12px;line-height:1.45;}
.casino-menu{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.casino-menu button{min-height:76px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,var(--bg-raised),var(--bg-panel));color:var(--text-1);padding:10px;text-align:left;cursor:pointer;}
.casino-menu button:hover:not(:disabled){border-color:var(--gold);background:rgba(245,197,24,.09);}
.casino-menu button:disabled{opacity:.45;cursor:not-allowed;}
.casino-menu button b{display:block;font-family:var(--font-title);font-size:15px;}
.casino-menu button span{display:block;margin-top:4px;color:var(--text-3);font-size:11px;line-height:1.25;}
.casino-close,.casino-main-btn{width:100%;min-height:42px;margin-top:10px;border:1px solid rgba(245,197,24,.42);border-radius:14px;background:linear-gradient(180deg,#ef4444,#991b1b);color:#fff;font-family:var(--font-title);font-size:16px;font-weight:900;cursor:pointer;}
.casino-close{background:var(--bg-raised);color:var(--text-2);border-color:var(--border-em);}
.casino-close:hover,.casino-main-btn:hover:not(:disabled){border-color:var(--gold);filter:brightness(1.08);}
.casino-main-btn:disabled{opacity:.45;cursor:not-allowed;}
.casino-slot{border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.035);padding:12px;}
.casino-slot-window{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;border:2px solid rgba(245,197,24,.28);border-radius:16px;background:#080b12;padding:10px;box-shadow:inset 0 0 22px rgba(245,197,24,.08);}
.casino-slot-window span,.casino-slot-window b{min-height:42px;border-radius:10px;background:rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center;font-family:var(--font-title);font-size:23px;color:var(--text-2);text-shadow:0 2px 8px rgba(0,0,0,.55);}
.casino-slot-window b{min-height:54px;background:linear-gradient(180deg,rgba(245,197,24,.20),rgba(245,197,24,.08));border:1px solid rgba(245,197,24,.38);color:#fff;font-size:31px;box-shadow:inset 0 0 18px rgba(245,197,24,.12);}
.casino-wheel{border:1px solid var(--border);border-radius:18px;background:radial-gradient(circle at 50% 10%,rgba(245,197,24,.12),rgba(255,255,255,.025) 42%,rgba(0,0,0,.08));padding:12px;}
.casino-wheel-center{display:grid;place-items:center;text-align:center;border:1px solid rgba(245,197,24,.28);border-radius:16px;background:rgba(245,197,24,.07);padding:10px;margin-bottom:10px;}
.casino-wheel-center small{color:var(--gold);font-size:10px;text-transform:uppercase;letter-spacing:.14em;}
.casino-wheel-center b{font-family:var(--font-title);font-size:20px;color:#fff;}
.casino-wheel-center span{font-size:11px;color:var(--text-3);margin-top:2px;}
.casino-wheel-reel-wrap{position:relative;overflow:hidden;border:1px solid rgba(245,197,24,.25);border-radius:18px;background:linear-gradient(180deg,#070a10,#111827);padding:12px 0;margin-top:10px;box-shadow:inset 0 0 24px rgba(0,0,0,.35);}
.casino-wheel-reel-wrap:before,.casino-wheel-reel-wrap:after{content:"";position:absolute;top:0;bottom:0;width:42px;z-index:3;pointer-events:none;}
.casino-wheel-reel-wrap:before{left:0;background:linear-gradient(90deg,#070a10,transparent);}
.casino-wheel-reel-wrap:after{right:0;background:linear-gradient(270deg,#070a10,transparent);}
.casino-wheel-marker{position:absolute;left:50%;top:4px;bottom:4px;width:3px;transform:translateX(-50%);z-index:5;background:#ef4444;box-shadow:0 0 0 1px rgba(255,255,255,.22),0 0 16px rgba(239,68,68,.65);border-radius:99px;}
.casino-wheel-marker:before,.casino-wheel-marker:after{content:"";position:absolute;left:50%;transform:translateX(-50%);border-left:8px solid transparent;border-right:8px solid transparent;}
.casino-wheel-marker:before{top:-1px;border-top:10px solid #ef4444;}
.casino-wheel-marker:after{bottom:-1px;border-bottom:10px solid #ef4444;}
.casino-wheel-reel{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:4px calc(50% - 54px);scroll-snap-type:x mandatory;}
.casino-wheel-reel::-webkit-scrollbar{display:none;}
.casino-wheel-prize{flex:0 0 108px;min-height:92px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(180deg,var(--bg-raised),var(--bg-panel));padding:8px;display:grid;grid-template-rows:46px auto auto;place-items:center;text-align:center;scroll-snap-align:center;transition:transform .12s,border-color .12s,box-shadow .12s,background .12s;}
.casino-wheel-prize.aktiv{border-color:var(--gold);box-shadow:0 0 0 2px rgba(245,197,24,.24),0 0 24px rgba(245,197,24,.18);transform:scale(1.07);background:linear-gradient(180deg,rgba(245,197,24,.16),rgba(245,197,24,.05));}
.casino-wheel-prize.jackpot{border-color:rgba(245,197,24,.32);}
.casino-wheel-prize.rare{border-color:rgba(96,165,250,.28);}
.casino-wheel-icon{width:46px;height:46px;border-radius:12px;background:rgba(0,0,0,.18);display:flex;align-items:center;justify-content:center;}
.casino-wheel-icon img{max-width:40px;max-height:40px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 3px 5px rgba(0,0,0,.55));}
.casino-wheel-prize b{max-width:100%;font-family:var(--font-title);font-size:12px;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.casino-wheel-prize small{font-size:10px;color:var(--text-3);}
.casino-msg{margin:10px 0;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.04);padding:9px 10px;color:var(--text-2);font-size:12px;text-align:center;}
.casino-msg.win{border-color:rgba(245,197,24,.42);color:var(--gold);background:rgba(245,197,24,.08);}
.casino-bets{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:8px;}
.casino-bets span{font-size:11px;color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;}
.casino-bet{width:38px;height:32px;border:1px solid var(--border);border-radius:9px;background:var(--bg-panel);color:var(--text-2);font-weight:900;cursor:pointer;}
.casino-bet.aktiv{border-color:var(--gold);color:var(--gold);background:var(--gold-dim);}
.casino-subnav{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;}
.casino-subnav button{min-height:36px;border:1px solid var(--border-em);border-radius:12px;background:var(--bg-raised);color:var(--text-2);font-weight:800;cursor:pointer;}
.casino-list{display:flex;flex-direction:column;gap:8px;}
.casino-prize-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.035);padding:9px;}
.casino-prize-row b{display:block;color:var(--text-1);font-family:var(--font-title);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.casino-prize-row small{display:block;margin-top:2px;color:var(--text-3);font-size:10px;}
.casino-prize-row em{font-style:normal;color:var(--gold);font-family:var(--font-mono);font-size:11px;white-space:nowrap;}
.casino-prize-row button{min-height:32px;border:1px solid rgba(245,197,24,.35);border-radius:10px;background:rgba(245,197,24,.08);color:var(--gold);font-weight:900;cursor:pointer;}
.casino-prize-row button:disabled{opacity:.35;cursor:not-allowed;}
.casino-status{min-height:8px;color:var(--gold);font-size:12px;text-align:center;margin-bottom:8px;}
.casino-voltorb-start{border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,rgba(245,197,24,.07),rgba(255,255,255,.025));padding:12px;text-align:center;}
.casino-voltorb-title{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:6px;color:var(--gold);font-family:var(--font-title);font-size:16px;}
.casino-voltorb-title img{width:60px;height:60px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 3px 7px rgba(0,0,0,.45));}
.casino-voltorb-start p{margin:0 0 10px;color:var(--text-2);font-size:12px;line-height:1.45;}
.casino-voltorb-start button{min-height:34px;margin:3px;border:1px solid rgba(245,197,24,.35);border-radius:10px;background:rgba(245,197,24,.08);color:var(--gold);font-weight:900;}
.casino-voltorb-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px;}
.casino-voltorb-grid button{aspect-ratio:1;border:1px solid rgba(245,197,24,.18);border-radius:13px;background:linear-gradient(180deg,#2a2419,#111622 58%,#090c12);color:var(--gold);font-family:var(--font-title);font-size:22px;font-weight:900;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 5px 12px rgba(0,0,0,.18);}
.casino-voltorb-grid button.open{border-color:rgba(76,175,80,.42);background:linear-gradient(180deg,rgba(76,175,80,.18),rgba(76,175,80,.06));color:#bff7c9;}
.casino-voltorb-grid button.bomb{border-color:rgba(239,68,68,.55);background:radial-gradient(circle at 50% 45%,rgba(239,68,68,.22),rgba(239,68,68,.07));color:#ffb4b4;}
.casino-voltorb-grid button.defused{border-color:rgba(245,197,24,.5);background:linear-gradient(180deg,rgba(245,197,24,.18),rgba(245,197,24,.06));color:var(--gold);font-size:16px;}
.casino-voltorb-grid button img{width:76px;height:76px;max-width:92%;max-height:92%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 3px 7px rgba(0,0,0,.55));}
.casino-voltorb-help{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-top:10px;border:1px solid rgba(245,197,24,.22);border-radius:14px;background:rgba(255,255,255,.035);padding:8px 10px;}
.casino-voltorb-help span{color:var(--text-2);font-size:12px;font-weight:800;}
.casino-voltorb-help button{min-height:32px;border:1px solid rgba(245,197,24,.45);border-radius:10px;background:rgba(245,197,24,.09);color:var(--gold);font-weight:900;cursor:pointer;}
.casino-voltorb-help button:disabled{opacity:.4;cursor:not-allowed;}
.casino-voltorb-bank{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-top:10px;border:1px solid rgba(245,197,24,.28);border-radius:14px;background:rgba(245,197,24,.07);padding:9px 10px;}
.casino-voltorb-bank b{font-family:var(--font-title);color:var(--gold);}
.casino-voltorb-bank button{min-height:34px;border:1px solid rgba(245,197,24,.45);border-radius:10px;background:var(--gold-dim);color:var(--gold);font-weight:900;cursor:pointer;}
@media (max-width:430px){.casino-menu{grid-template-columns:1fr}.casino-prize-row{grid-template-columns:1fr auto}.casino-prize-row button{grid-column:1/-1}.casino-wallet b{font-size:17px}}
.profile-ranking-stats{grid-column:2;justify-content:flex-start;}
.profile-rank{width:26px;height:26px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:rgba(245,197,24,.16);color:#ffe27a;font-family:var(--font-mono);font-size:12px;font-weight:900;}
.profile-muted{padding:14px;border:1px dashed var(--border-em);border-radius:14px;color:var(--text-2);text-align:center;background:rgba(255,255,255,.025);}
@media (max-width:520px){
  .profile-shell{width:100%;max-height:94vh;border-radius:16px;padding:10px;}
  .profile-hero-new{grid-template-columns:1fr;}
  .profile-stat-grid-new{grid-template-columns:repeat(2,minmax(0,1fr));}
  .profile-mon-card{grid-template-columns:26px 38px minmax(0,1fr);}
  .profile-mon-card img{width:38px;height:38px;}
  .profile-mini-stats{grid-column:1/-1;justify-content:stretch;}
  .profile-mini-stats span{flex:1;}
  .profile-ranking-stats{grid-column:1/-1;}
  .profile-ranking-stats span{flex:1;min-width:64px;}
}


.world-map-toggle{width:100%;margin:0 0 12px;padding:11px 14px;border-radius:var(--r-sm);border:1px solid rgba(245,197,24,.34);background:rgba(245,197,24,.09);color:#ffe27a;font-family:var(--font-title);font-size:16px;font-weight:800;letter-spacing:.7px;text-align:left;cursor:pointer;}
.world-map-toggle:hover{background:rgba(245,197,24,.15);border-color:rgba(245,197,24,.6);}
.world-map-overlay{position:fixed;inset:0;z-index:9400;background:rgba(3,5,10,.88);backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:12px;}
.world-map-overlay-panel{width:min(980px,96vw);height:min(780px,92vh);display:flex;flex-direction:column;border:1px solid rgba(245,197,24,.34);border-radius:16px;background:linear-gradient(180deg,#151923,#090b10);box-shadow:0 22px 70px rgba(0,0,0,.7);overflow:hidden;}
.world-map-overlay-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,rgba(245,197,24,.12),rgba(224,48,48,.08));}
.world-map-overlay-head b{display:block;font-family:var(--font-title);font-size:22px;color:var(--text-1);letter-spacing:.8px;}
.world-map-overlay-head small{display:block;margin-top:2px;color:var(--text-3);font-size:11px;}
.world-map-overlay-head button{width:38px;height:38px;border-radius:10px;border:1px solid var(--border-em);background:var(--bg-raised);color:var(--text-1);font-family:var(--font-title);font-size:18px;font-weight:900;cursor:pointer;}
.world-map-overlay-head button:hover{border-color:var(--gold);background:var(--gold-dim);}
.world-map-overlay-body{flex:1;min-height:0;overflow:hidden;padding:10px;}
.world-map-overlay-body .world-map-card{height:100%;margin:0;display:flex;flex-direction:column;}
.world-map-overlay-body .world-map-scroll{max-height:none;flex:1;min-height:0;}
.world-map-card{margin:0 0 14px;border:1px solid var(--border-em);border-radius:var(--r-md);background:linear-gradient(180deg,var(--bg-raised),var(--bg-surface));overflow:hidden;}
.world-map-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);}
.world-map-head b{display:block;font-family:var(--font-title);font-size:17px;color:var(--text-1);letter-spacing:.8px;}
.world-map-head small{display:block;color:var(--text-2);font-size:11px;}
.world-map-head>span{font-size:11px;color:var(--gold);font-family:var(--font-mono);white-space:nowrap;}
.world-map-legend{display:flex;gap:7px;flex-wrap:wrap;padding:8px 12px;border-bottom:1px solid var(--border);}
.world-map-legend span{font-size:10px;color:var(--text-2);border:1px solid var(--border);border-radius:999px;padding:2px 7px;background:rgba(255,255,255,.03);}
.world-map-legend .visited{border-color:rgba(34,197,94,.35);color:#8ee8ad;}
.world-map-legend .current{border-color:rgba(224,48,48,.55);color:#ff9a9a;}
.world-map-legend .locked{opacity:.62;}
.world-map-legend .branch{border-color:rgba(59,130,246,.35);color:#9cc4ff;}
.world-map-scroll{overflow:auto;max-height:430px;background:radial-gradient(circle at 30% 50%,rgba(59,130,246,.08),transparent 34%),radial-gradient(circle at 70% 45%,rgba(245,197,24,.06),transparent 36%),#090b10;}
.world-map-canvas{position:relative;min-width:100%;}
.world-map-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.world-map-edge{fill:none;stroke-width:3;stroke-linecap:round;opacity:.88;}
.world-map-edge.main{stroke:#9b1f1f;filter:drop-shadow(0 0 4px rgba(224,48,48,.25));}
.world-map-edge.branch{stroke:#315c9b;stroke-width:2;stroke-dasharray:6 5;opacity:.82;}
.world-map-edge-label{font-size:10px;fill:#9cc4ff;font-family:var(--font-mono);paint-order:stroke;stroke:#090b10;stroke-width:4px;}
.world-map-node{position:absolute;width:106px;min-height:56px;border-radius:9px;border:1px solid var(--border-em);background:rgba(18,21,28,.95);color:var(--text-2);padding:6px 7px;text-align:left;display:grid;grid-template-columns:22px 1fr;grid-template-rows:auto auto;gap:0 5px;box-shadow:0 10px 24px rgba(0,0,0,.22);font-family:var(--font-ui);}
.world-map-node .world-map-icon{grid-row:1 / 3;font-size:17px;align-self:center;}
.world-map-node b{font-size:11px;line-height:1.12;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.world-map-node small{font-size:9px;color:var(--text-3);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.world-map-node.visited{border-color:rgba(34,197,94,.42);color:#d8ffe4;background:rgba(19,41,29,.94);}
.world-map-node.current{border-color:rgba(224,48,48,.75);color:#fff;background:linear-gradient(180deg,rgba(87,25,31,.96),rgba(29,17,22,.96));box-shadow:0 0 0 2px rgba(224,48,48,.18),0 12px 28px rgba(0,0,0,.3);}
.world-map-node.locked{opacity:.46;filter:grayscale(.7);}
.world-map-node.branch{border-style:dashed;}
.world-map-node.main{border-bottom:2px solid rgba(224,48,48,.55);}

.tc-trade-overlay{position:fixed;inset:0;z-index:9900;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 35%,rgba(59,130,246,.18),rgba(5,7,12,.94) 58%,#030407 100%);backdrop-filter:blur(4px);color:var(--text-1);animation:tcTradeIn .25s ease-out;}
.tc-trade-overlay.tc-trade-fade{animation:tcTradeOut .45s ease-in forwards;}
.tc-trade-stage{position:relative;width:min(560px,94vw);height:360px;border:2px solid rgba(245,197,24,.42);border-radius:18px;background:linear-gradient(180deg,#182238,#080b12);box-shadow:0 24px 80px rgba(0,0,0,.72),inset 0 0 38px rgba(96,165,250,.1);overflow:hidden;}
.tc-trade-stars{position:absolute;inset:0;background:radial-gradient(circle at 20% 22%,rgba(255,255,255,.7) 0 1px,transparent 2px),radial-gradient(circle at 72% 34%,rgba(255,255,255,.55) 0 1px,transparent 2px),radial-gradient(circle at 42% 68%,rgba(245,197,24,.65) 0 1px,transparent 2px);opacity:.8;animation:tcStars 2.4s linear infinite;}
.tc-trade-lane{position:absolute;left:0;right:0;height:120px;display:flex;align-items:center;justify-content:center;}
.tc-trade-lane.outgoing{top:40px;}
.tc-trade-lane.incoming{top:166px;}
.tc-trade-link{position:absolute;left:14%;right:14%;top:164px;height:2px;background:linear-gradient(90deg,transparent,rgba(96,165,250,.9),rgba(245,197,24,.9),rgba(96,165,250,.9),transparent);box-shadow:0 0 16px rgba(96,165,250,.8);animation:tcPulse 1s ease-in-out infinite;}
.tc-trade-mon{position:absolute;width:92px;height:92px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 8px 10px rgba(0,0,0,.65));}
.tc-trade-send{left:68px;animation:tcSendMon 2.2s ease-in forwards;}
.tc-trade-recv{right:68px;opacity:0;animation:tcReceiveMon 2.2s ease-out 3.05s forwards;}
.tc-trade-ball{position:absolute;width:46px;height:46px;border-radius:50%;background:linear-gradient(180deg,#ef4444 0 43%,#111827 44% 55%,#f8fafc 56% 100%);border:2px solid rgba(255,255,255,.65);box-shadow:0 0 18px rgba(245,197,24,.35),0 8px 18px rgba(0,0,0,.5);}
.tc-trade-ball span{position:absolute;left:50%;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#f8fafc;border:2px solid #111827;}
.tc-trade-ball-send{left:calc(50% - 23px);opacity:0;animation:tcBallSend 2.3s ease-in forwards;}
.tc-trade-ball-in{right:calc(50% - 23px);opacity:0;animation:tcBallIn 2.3s ease-out 2.65s forwards;}
.tc-trade-text{position:absolute;left:18px;right:18px;bottom:18px;border:2px solid rgba(255,255,255,.72);border-radius:10px;background:#f8fafc;color:#111827;padding:13px 15px;font-family:var(--font-title);box-shadow:0 0 0 4px rgba(17,24,39,.85);}
.tc-trade-text b{display:block;font-size:18px;line-height:1.25;}
.tc-trade-text small{display:block;margin-top:4px;color:#475569;font-family:var(--font-ui);font-size:12px;}
@keyframes tcTradeIn{from{opacity:0;}to{opacity:1;}}
@keyframes tcTradeOut{to{opacity:0;transform:scale(.98);}}
@keyframes tcStars{0%{transform:translateX(0);}100%{transform:translateX(-28px);}}
@keyframes tcPulse{0%,100%{opacity:.45;}50%{opacity:1;}}
@keyframes tcSendMon{0%{transform:translateX(0) scale(1);filter:drop-shadow(0 8px 10px rgba(0,0,0,.65));opacity:1;}45%{transform:translateX(128px) scale(.9);filter:drop-shadow(0 8px 10px rgba(0,0,0,.65)) sepia(1) saturate(5) hue-rotate(310deg);opacity:1;}70%,100%{transform:translateX(176px) scale(.05);filter:drop-shadow(0 0 16px rgba(239,68,68,.9)) sepia(1) saturate(7) hue-rotate(310deg);opacity:0;}}
@keyframes tcBallSend{0%,38%{opacity:0;transform:translateX(-120px) rotate(0);}50%{opacity:1;}100%{opacity:0;transform:translateX(165px) rotate(760deg);}}
@keyframes tcBallIn{0%{opacity:0;transform:translateX(-165px) rotate(-760deg);}18%{opacity:1;}70%{opacity:1;transform:translateX(120px) rotate(0);}100%{opacity:0;transform:translateX(120px) rotate(0);}}
@keyframes tcReceiveMon{0%,20%{opacity:0;transform:translateX(-172px) scale(.05);filter:drop-shadow(0 0 16px rgba(239,68,68,.9)) sepia(1) saturate(7) hue-rotate(310deg);}55%{opacity:1;transform:translateX(-96px) scale(.75);filter:drop-shadow(0 0 12px rgba(239,68,68,.45)) sepia(.8) saturate(4) hue-rotate(310deg);}100%{opacity:1;transform:translateX(0) scale(1);filter:drop-shadow(0 8px 10px rgba(0,0,0,.65));}}

.gym-battleground-section{border-color:rgba(245,158,11,.38);background:radial-gradient(circle at top left,rgba(245,158,11,.16),transparent 42%),rgba(15,23,42,.72);}
.gym-bg-hint,.gym-bg-lock{margin:8px 0 10px;padding:10px 12px;border:1px solid rgba(245,158,11,.22);border-radius:12px;color:#d1d5db;background:rgba(2,6,23,.35);font-size:.88rem;line-height:1.35;}
.gym-bg-lock{color:#fcd34d;}
.gym-bg-row{width:100%;text-align:left;border:1px solid rgba(245,158,11,.22);border-radius:12px;background:linear-gradient(90deg,rgba(245,158,11,.13),rgba(15,23,42,.84));cursor:pointer;margin:6px 0;padding:9px 10px;}
.gym-bg-row:hover,.gym-bg-row:focus-visible{border-color:rgba(250,204,21,.65);box-shadow:0 0 0 1px rgba(250,204,21,.24),0 12px 28px rgba(0,0,0,.24);}
.gym-bg-row .trainer-status{color:#facc15;max-width:34%;text-align:right;font-size:.78rem;}
.gym-bg-card{width:100%;display:grid;gap:5px;text-align:left;margin:8px 0;padding:12px 13px;border:1px solid rgba(245,158,11,.34);border-radius:14px;background:linear-gradient(135deg,rgba(245,158,11,.13),rgba(15,23,42,.92));color:var(--text-1);cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.04);}
.gym-bg-card:hover,.gym-bg-card:focus-visible{border-color:rgba(250,204,21,.7);box-shadow:0 0 0 1px rgba(250,204,21,.2),0 12px 28px rgba(0,0,0,.28);}
.gym-bg-card-rank{width:max-content;padding:3px 8px;border:1px solid rgba(245,158,11,.35);border-radius:999px;color:var(--gold);font-family:var(--font-title);font-size:10px;letter-spacing:.08em;text-transform:uppercase;background:rgba(245,158,11,.08);}
.gym-bg-card b{font-family:var(--font-title);font-size:18px;line-height:1.05;color:var(--text-1);}
.gym-bg-card small{color:var(--text-3);font-size:12px;}
.gym-bg-card em{font-style:normal;color:#d1d5db;font-size:13px;line-height:1.35;}
.gym-bg-card strong{justify-self:end;margin-top:2px;color:#facc15;font-family:var(--font-title);font-size:12px;letter-spacing:.03em;}
.gym-bg-modal{z-index:1750;background:rgba(3,5,10,.78);backdrop-filter:blur(5px);}
.gym-bg-modal-panel{width:min(560px,96vw);border-top:3px solid var(--gold);background:radial-gradient(circle at 16% 0%,rgba(245,158,11,.18),transparent 36%),linear-gradient(180deg,#171b26,#080a0f);}
.gym-bg-modal-panel .machine-head small{display:block;margin-top:2px;color:var(--gold);font-family:var(--font-title);font-size:10px;letter-spacing:.16em;text-transform:uppercase;}
.gym-bg-modal-panel .trainer-section{margin:12px;border-radius:14px;}
.arena-choice-modal{z-index:1740;background:rgba(3,5,10,.76);backdrop-filter:blur(5px);}
.arena-choice-panel{width:min(460px,95vw);border-top:3px solid var(--gold);background:radial-gradient(circle at 16% 0%,rgba(245,158,11,.16),transparent 36%),linear-gradient(180deg,#171b26,#080a0f);}
.arena-choice-panel .machine-head small{display:block;margin-top:2px;color:var(--gold);font-family:var(--font-title);font-size:10px;letter-spacing:.14em;text-transform:uppercase;}
.arena-choice-list{display:grid;gap:10px;padding:13px;}
.arena-choice-card{display:grid;gap:5px;text-align:left;padding:14px;border:1px solid rgba(245,158,11,.32);border-radius:15px;background:linear-gradient(135deg,rgba(245,158,11,.12),rgba(15,23,42,.92));color:var(--text-1);cursor:pointer;}
.arena-choice-card:hover,.arena-choice-card:focus-visible{border-color:rgba(250,204,21,.72);box-shadow:0 0 0 1px rgba(250,204,21,.2),0 12px 28px rgba(0,0,0,.28);}
.arena-choice-card span{width:max-content;padding:3px 8px;border:1px solid rgba(245,158,11,.35);border-radius:999px;color:var(--gold);font-family:var(--font-title);font-size:10px;letter-spacing:.08em;text-transform:uppercase;background:rgba(245,158,11,.08);}
.arena-choice-card b{font-family:var(--font-title);font-size:19px;color:var(--text-1);}
.arena-choice-card small{color:var(--text-3);font-size:13px;line-height:1.35;}
.arena-choice-card.arena-choice-muted{opacity:.72;}
/* Aurelion: Team-Obsidian-Endgame */
.obsidian-zone-banner{margin:10px 0 14px;padding:12px 14px;border:1px solid rgba(153,92,255,.42);border-left:4px solid #934cff;border-radius:12px;background:linear-gradient(120deg,rgba(41,17,64,.96),rgba(14,15,23,.94));display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 8px 24px rgba(20,4,38,.28)}
.obsidian-zone-banner>div{display:grid;gap:2px}.obsidian-zone-banner small{color:#bd92ff;text-transform:uppercase;letter-spacing:.12em;font-size:10px}.obsidian-zone-banner b{font-size:16px;color:#fff}.obsidian-zone-banner span{color:#9da0ad;font-size:12px}.obsidian-zone-banner>i{font-style:normal;font-weight:800;font-size:10px;letter-spacing:.08em;color:#efe4ff;border:1px solid #7d42cf;border-radius:999px;padding:5px 8px;white-space:nowrap}.obsidian-zone-banner.done{border-left-color:#55d78b}.obsidian-zone-banner.done>i{color:#76e9a5;border-color:#3f9d68}.obsidian-zone-banner.story{border-left-color:#f6cc5c}.obsidian-zone-banner.finale{border-color:rgba(255,54,92,.55);border-left-color:#ff365c;background:linear-gradient(120deg,rgba(72,10,27,.97),rgba(16,10,18,.96))}.obsidian-zone-banner.finale>i{border-color:#ff365c;color:#ff8ba2}

.obsidian-modal{position:fixed;inset:0;z-index:18000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(2,3,8,.88);backdrop-filter:blur(7px)}
.obsidian-story-panel,.obsidian-terminal-panel,.obsidian-mew-panel,.obsidian-path-panel,.obsidian-seal-victory{width:min(520px,100%);max-height:calc(100vh - 32px);overflow:auto;color:#f7f3ff;border:1px solid rgba(167,105,255,.52);border-top:4px solid #934cff;border-radius:18px;background:linear-gradient(155deg,#19131f,#0c0e16 55%,#171020);box-shadow:0 24px 80px rgba(0,0,0,.68),0 0 42px rgba(112,46,191,.18);padding:22px}
.obsidian-story-kicker,.obsidian-terminal-head small,.obsidian-mew-head small,.obsidian-path-head small,.obsidian-seal-victory>small{text-transform:uppercase;letter-spacing:.17em;font-size:10px;color:#b886ff;font-weight:800}.obsidian-story-panel h2,.obsidian-terminal-panel h2,.obsidian-mew-panel h2,.obsidian-path-panel h2,.obsidian-seal-victory h2{margin:7px 0 17px;font-size:25px;color:#fff}.obsidian-story-emblem{height:78px;display:grid;place-items:center;margin:10px 0}.obsidian-story-emblem span{width:64px;height:64px;border:2px solid #a15dff;border-radius:50%;position:relative;box-shadow:0 0 28px rgba(147,76,255,.45),inset 0 0 22px rgba(147,76,255,.2);animation:obsidianEmblemPulse 2.2s ease-in-out infinite}.obsidian-story-emblem span:before,.obsidian-story-emblem span:after{content:"";position:absolute;inset:13px;border:2px solid #d2b5ff;transform:rotate(45deg)}.obsidian-story-emblem span:after{inset:23px;background:#a15dff;border:0;border-radius:50%}
.obsidian-story-dialog{min-height:145px;padding:17px;border:1px solid rgba(255,255,255,.11);border-left:3px solid #934cff;border-radius:12px;background:rgba(255,255,255,.035)}.obsidian-story-dialog b{display:block;color:#cdaeff;font-size:12px;text-transform:uppercase;letter-spacing:.09em;margin-bottom:9px}.obsidian-story-dialog p{margin:0;line-height:1.58;font-size:16px;color:#e9e7ef}.obsidian-story-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.obsidian-story-dots{display:flex;gap:6px}.obsidian-story-dots i{width:6px;height:6px;border-radius:50%;background:#4a4256}.obsidian-story-dots i.active{background:#b77cff;box-shadow:0 0 9px #9f54ff}.obsidian-story-next,.obsidian-mew-finish,.obsidian-seal-victory button{border:1px solid #a362ff;border-radius:10px;background:linear-gradient(135deg,#7b35d3,#a551fa);color:#fff;padding:11px 16px;font-weight:800}

.obsidian-terminal-panel>p{color:#bbb7c4;line-height:1.45}.obsidian-energy{height:9px;margin:18px 0;border-radius:99px;background:#252130;overflow:hidden;border:1px solid rgba(255,255,255,.08)}.obsidian-energy i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#a151ff,#ff3c6b);box-shadow:0 0 12px #9d4fff;transition:width .28s ease}.obsidian-circuit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.obsidian-circuit-grid button{aspect-ratio:1.45;border:1px solid #41374d;border-radius:12px;background:radial-gradient(circle at 50% 50%,#292032,#11131b);color:#70667d;position:relative;overflow:hidden}.obsidian-circuit-grid button:before{content:"";position:absolute;inset:9px;border:1px solid currentColor;border-radius:50%;opacity:.45}.obsidian-circuit-grid button span{position:relative;font-size:13px;font-weight:800}.obsidian-circuit-grid button.pulse{color:#f1ddff;border-color:#bd7bff;background:radial-gradient(circle,#b458ff,#301b42 48%,#11131b 75%);box-shadow:0 0 20px rgba(180,88,255,.7)}.obsidian-circuit-grid button.hit{transform:scale(.93);color:#fff;border-color:#fff}.obsidian-terminal-status{text-align:center;margin-top:16px;color:#c4beca;font-size:13px;min-height:20px}.obsidian-terminal-panel.error{animation:obsidianError .35s ease}.obsidian-terminal-panel.complete{border-top-color:#54e497;box-shadow:0 0 42px rgba(46,204,113,.3)}

.obsidian-circuit-grid button.solved{color:#dfffea;border-color:#52dd8e;background:radial-gradient(circle,#319c61,#14291d 60%)}.obsidian-code-target{display:flex;align-items:center;justify-content:center;gap:7px;margin:17px 0;padding:12px;border:1px solid #3b3048;border-radius:11px;background:#0c0d13}.obsidian-code-target i{width:30px;height:30px;display:grid;place-items:center;border:1px solid #9757dc;border-radius:50%;font-style:normal;font-weight:900;color:#e6d5fa;background:#2d193f}.obsidian-code-target span{width:12px;height:1px;background:#5f4a73}.obsidian-balance-grid{display:grid;gap:9px;margin-top:18px}.obsidian-balance-row{display:grid;grid-template-columns:1fr auto 38px 46px 38px;align-items:center;gap:7px;border:1px solid #342d3d;border-radius:11px;padding:10px;background:#101118}.obsidian-balance-row b{font-size:13px}.obsidian-balance-row small{font-size:9px;color:#a893bc;text-transform:uppercase}.obsidian-balance-row button{width:38px;height:36px;border:1px solid #59466c;border-radius:8px;background:#201727;color:#d5c6e3;font-size:19px}.obsidian-balance-row i{height:36px;display:grid;place-items:center;border-radius:8px;background:#090b10;color:#ff6485;font-style:normal;font-weight:900}.obsidian-balance-row.matched{border-color:#3d9c67;background:#102019}.obsidian-balance-row.matched i{color:#6ee49d}

.obsidian-hydro-stage{height:260px;border:1px solid rgba(119,207,255,.25);border-radius:16px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 58%,rgba(62,186,227,.28),rgba(8,21,36,.94) 64%);position:relative}.obsidian-hydro-stage:before,.obsidian-hydro-stage:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 22px,rgba(94,205,241,.04) 23px 24px);animation:hydroScan 5s linear infinite}.obsidian-hydro-tank{width:154px;height:222px;border:3px solid rgba(130,225,255,.62);border-radius:70px 70px 28px 28px;display:grid;place-items:center;position:relative;background:linear-gradient(rgba(71,192,229,.22),rgba(35,121,173,.38));box-shadow:0 0 28px rgba(75,202,244,.24),inset 0 0 35px rgba(86,216,255,.2);transition:.7s}.obsidian-hydro-tank i{position:absolute;inset:10px;border:1px solid rgba(178,239,255,.28);border-radius:58px 58px 22px 22px}.obsidian-hydro-tank img{width:112px;image-rendering:pixelated;filter:drop-shadow(0 0 10px rgba(200,238,255,.6));animation:mewFloat 2.4s ease-in-out infinite}.obsidian-hydro-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.obsidian-hydro-controls button{border:1px solid #554567;background:#18151f;color:#c9c3d1;padding:11px;border-radius:9px}.obsidian-hydro-controls button.off{border-color:#3d9e6c;color:#77e3a4;background:#10251b;text-decoration:line-through}.obsidian-mew-text{line-height:1.45;color:#c7c2cc}.obsidian-mew-panel.released .obsidian-hydro-tank{border-color:#fff;box-shadow:0 0 45px rgba(140,230,255,.75);animation:hydroBreak .6s ease forwards}.obsidian-mew-panel.released .obsidian-hydro-tank img{animation:mewEscape 1.5s ease-in forwards}.obsidian-mew-finish{width:100%;margin-top:12px}

.obsidian-seal-panel{margin:14px 0;padding:14px;border:1px solid #30263b;border-radius:15px;background:linear-gradient(145deg,#16131c,#0d0f15)}.obsidian-seal-head{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-bottom:12px}.obsidian-seal-head>div{display:grid}.obsidian-seal-head small{font-size:9px;color:#9369c5;letter-spacing:.14em;text-transform:uppercase}.obsidian-seal-head b{color:#eee7f8;font-size:16px}.obsidian-seal-head>span{font-size:11px;color:#a986d2}.obsidian-seal-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.obsidian-seal-slot{aspect-ratio:1;display:grid;place-items:center;border:1px solid #2e2835;border-radius:9px;background:#101119;position:relative;filter:saturate(.25);opacity:.42}.obsidian-seal-slot i{font-style:normal;font-size:8px;font-weight:900;color:#8e829c}.obsidian-seal-slot small{position:absolute;right:3px;bottom:1px;font-size:7px;color:#5d5666}.obsidian-seal-slot.earned{opacity:1;filter:none;border-color:#8d4ed5;background:radial-gradient(circle,#4b236c,#17111f 68%);box-shadow:0 0 9px rgba(142,71,218,.25)}.obsidian-seal-slot.earned i{color:#eadbff}.obsidian-seal-panel>button{width:100%;margin-top:10px;border:1px solid #66408e;border-radius:8px;background:#1c1426;color:#cdaeff;padding:9px;font-size:12px}.obsidian-seal-panel.locked p{margin:0;color:#77717d;font-size:12px;line-height:1.45}

.obsidian-seal-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.obsidian-seal-actions button{border:1px solid #66408e;border-radius:8px;background:#1c1426;color:#cdaeff;padding:9px;font-size:12px}.obsidian-path-panel{padding:0}.obsidian-path-head{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 12px}.obsidian-path-head h2{margin-bottom:0}.obsidian-path-head button{border:1px solid #42394d;background:#17151d;color:#d7cedf;border-radius:9px;width:38px;height:38px}.obsidian-path-progress{height:5px;background:#211b28;margin:0 20px 15px;border-radius:99px;overflow:hidden}.obsidian-path-progress i{display:block;height:100%;background:linear-gradient(90deg,#7535c0,#bd68ff)}.obsidian-path-list{padding:0 14px 20px;display:grid;gap:7px}.obsidian-path-card{min-height:62px;border:1px solid #2e2936;border-radius:11px;background:#101119;display:grid;grid-template-columns:26px 42px 1fr;align-items:center;gap:8px;padding:8px 10px;opacity:.43}.obsidian-path-card>span{font-size:10px;color:#6d6575}.obsidian-path-card>i{width:38px;height:38px;display:grid;place-items:center;border:1px solid #4c3c5d;border-radius:50%;font-style:normal;font-size:8px;font-weight:900;color:#a99ab9}.obsidian-path-card>div{display:grid}.obsidian-path-card b{font-size:13px;color:#d8d2df}.obsidian-path-card small{font-size:10px;color:#77717e;margin-top:2px}.obsidian-path-card.done{opacity:1;border-color:#5d3c7d;background:linear-gradient(100deg,#22142e,#111119)}.obsidian-path-card.done>i{background:#783cb5;border-color:#b979f0;color:#fff}.obsidian-path-card.current{opacity:1;border-color:#bd7cff;box-shadow:0 0 15px rgba(158,82,230,.14)}.obsidian-path-story{padding:10px 14px;margin:2px 20px;border-left:2px solid #61d9f7;background:#101b24;display:grid}.obsidian-path-story b{font-size:12px;color:#bfefff}.obsidian-path-story small{font-size:10px;color:#7194a0}.obsidian-path-story.finale{border-left-color:#ff4267;background:#251017}.obsidian-path-story.finale b{color:#ff9db0}.obsidian-vault-balance{margin:0 18px 14px;padding:12px 14px;border:1px solid #5a3d76;border-radius:11px;background:#1b1224;display:flex;align-items:center;justify-content:space-between}.obsidian-vault-balance span{font-size:11px;color:#ad9bbd}.obsidian-vault-balance b{font-size:22px;color:#d8b0ff}.obsidian-vault-list{padding:0 14px 20px;display:grid;gap:8px}.obsidian-vault-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:12px;border:1px solid #302a38;border-radius:11px;background:#101119}.obsidian-vault-card>div{display:grid;gap:3px}.obsidian-vault-card b{font-size:13px;color:#eee8f4}.obsidian-vault-card small{font-size:10px;line-height:1.35;color:#77717e}.obsidian-vault-card button{border:1px solid #7548a0;border-radius:8px;background:#24152f;color:#d7b1f7;padding:8px;font-size:10px;white-space:nowrap}.obsidian-vault-card button:disabled{opacity:.35}

.obsidian-seal-victory{text-align:center}.obsidian-seal-large{width:124px;height:124px;margin:20px auto;display:grid;place-items:center;border:2px solid #a15aff;border-radius:50%;background:radial-gradient(circle,#67308f,#1b1124 68%);box-shadow:0 0 38px rgba(156,75,229,.5);animation:obsidianEmblemPulse 1.7s ease-in-out infinite}.obsidian-seal-large i{font-style:normal;font-size:24px;font-weight:900;letter-spacing:.08em;color:#fff}.obsidian-seal-victory p{color:#c6bfcb;line-height:1.5}.obsidian-seal-victory-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:16px 0}.obsidian-seal-victory-meta span{border:1px solid #493757;border-radius:999px;padding:5px 9px;font-size:10px;color:#c7a8e7}.obsidian-seal-victory button{width:100%}.obsidian-final-victory{border-top-color:#ff3c68;background:linear-gradient(155deg,#231019,#0c0e16 58%,#1d0d22)}.obsidian-final-mewtwo{height:190px;position:relative;display:grid;place-items:center;margin:7px 0}.obsidian-final-mewtwo span{position:absolute;width:155px;height:105px;border-radius:50%;background:radial-gradient(circle,rgba(91,28,125,.85),rgba(36,9,57,.42) 55%,transparent 72%);filter:blur(7px);animation:darkSmoke 2.6s ease-in-out infinite}.obsidian-final-mewtwo img{position:relative;width:165px;image-rendering:pixelated;filter:brightness(.62) saturate(.65) hue-rotate(225deg) drop-shadow(0 0 11px #a34cff);animation:obsidianMewtwoFall 2.2s ease-in-out infinite}.obsidian-final-victory blockquote{margin:14px 0;padding:12px 14px;border-left:3px solid #a44dff;background:rgba(255,255,255,.035);color:#d9c8e8;text-align:left;font-size:13px;line-height:1.45}

@keyframes obsidianEmblemPulse{50%{transform:scale(1.06);filter:brightness(1.25)}}
@keyframes obsidianError{25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}
@keyframes hydroScan{to{transform:translateY(24px)}}
@keyframes mewFloat{50%{transform:translateY(-8px) rotate(2deg)}}
@keyframes hydroBreak{45%{transform:scale(1.06);filter:brightness(1.8)}100%{border-color:transparent;background:transparent;box-shadow:none}}
@keyframes mewEscape{0%{transform:scale(1);opacity:1}40%{transform:scale(1.12) translateY(-10px);opacity:1}100%{transform:scale(.25) translate(280px,-260px);opacity:0}}
@keyframes obsidianMewtwoFall{50%{transform:translateY(6px);filter:brightness(.72) saturate(.7) hue-rotate(225deg) drop-shadow(0 0 17px #b968ff)}}

@media(max-width:430px){.obsidian-story-panel,.obsidian-terminal-panel,.obsidian-mew-panel,.obsidian-seal-victory{padding:17px}.obsidian-story-panel h2,.obsidian-terminal-panel h2,.obsidian-mew-panel h2{font-size:21px}.obsidian-hydro-stage{height:225px}.obsidian-hydro-tank{height:190px;width:135px}.obsidian-seal-grid{gap:5px}.obsidian-seal-slot i{font-size:7px}}
