
/* ===== Oberfläche: Grundlagen und Farben ===== */
:root{
  --ink:#10171D; --paper:#F0F2F0; --neon:#E0B368; --neon-soft:rgba(224,179,104,.22);
  --muted:rgba(237,230,220,.6); --line:rgba(237,230,220,.16);
  --bg:var(--ink); --fg:var(--paper); --glow:var(--neon); --glow-soft:var(--neon-soft); --panel:rgba(10,7,16,.74);
  --hud:rgba(13,21,27,.88); --hud-rand:rgba(222,232,235,.17); --hud-text:#F0F3F2; --hud-leise:#B7C2C6;
  --cyan:#3ad0ff; --gold:#ffd166; --rot:#ff3b4e; --gruen:#8bd17c;
  --schatten:0 2px 0 rgba(0,0,0,.55),0 0 14px rgba(0,0,0,.55);
  --rand:max(14px,env(safe-area-inset-left));
}
html[data-mode="tag"]{
  --bg:#F2EADC; --fg:#1B1208; --muted:rgba(27,18,8,.66); --line:rgba(27,18,8,.18);
  --glow:#936020; --glow-soft:rgba(147,96,32,.2); --panel:rgba(242,234,220,.92);
}
*{box-sizing:border-box}
body{margin:0;height:100svh;overflow:hidden;background:var(--bg);color:var(--fg);font-family:'Archivo',system-ui,sans-serif;font-size:16px;transition:background 1.2s linear,color 1.2s linear;-webkit-tap-highlight-color:transparent}
h1,h2,h3,b{font-family:'Anton',Impact,sans-serif;font-weight:400;letter-spacing:.02em}
a{color:inherit}
button{font-family:inherit}
kbd{font-family:'Archivo',sans-serif;font-weight:600;font-size:10px;letter-spacing:.04em;padding:1px 5px;border-radius:4px;border:1px solid currentColor;opacity:.75}
#szene{position:fixed;inset:0;z-index:0}
#szene canvas{display:block;width:100%;height:100%}
.vignette{position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 46%,transparent 48%,rgba(4,2,8,.8) 100%);opacity:.3;transition:opacity 1.2s linear}
html[data-mode="tag"] .vignette{opacity:.16}
.hud{position:fixed;z-index:5}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--glow);outline-offset:3px}
@keyframes einblenden{from{opacity:0}to{opacity:1}}
@keyframes hochgleiten{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
/* Vor dem Start bleibt das HUD aus */
body:not(.imSpiel) .hud,body:not(.imSpiel) .linksunten,body:not(.imSpiel) .sterne{visibility:hidden}

/* ===== Oberfläche: oben rechts Uhr, Geld, Level, Knöpfe ===== */
.topbar{top:max(14px,env(safe-area-inset-top));right:var(--rand);display:flex;flex-direction:column;align-items:flex-end;gap:2px;pointer-events:none;color:var(--hud-text);text-align:right}
.topbar > *{pointer-events:auto}
.uhr{display:flex;align-items:baseline;gap:7px;text-shadow:var(--schatten)}
.uhr b{font-family:'Archivo',system-ui,sans-serif;font-weight:600;font-size:19px;font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--hud-text)}
.uhr span{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--hud-leise);font-weight:600}
.kontoanzeige{display:flex;align-items:baseline;gap:6px;line-height:1;text-shadow:var(--schatten)}
.kontoanzeige b{font-family:'Archivo',system-ui,sans-serif;font-weight:600;font-size:32px;font-variant-numeric:tabular-nums;color:#fff;letter-spacing:-.03em;transition:color .3s}
.kontoanzeige .euro{font-family:'Archivo',system-ui,sans-serif;font-size:20px;color:#e0b368;text-shadow:var(--schatten)}
.kontoanzeige.plus b{color:#b7ffcf}
.kontoanzeige.minus b{color:#ffb3bd}
.levelzeile{display:flex;align-items:center;gap:8px;margin-top:4px}
.levelzeile span{font-family:'Anton',sans-serif;font-size:13px;letter-spacing:.1em;color:var(--gold);text-shadow:var(--schatten)}
.levelzeile i{display:block;width:110px;height:5px;border-radius:3px;background:rgba(0,0,0,.45);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);overflow:hidden}
.levelzeile i b{display:block;height:100%;width:0;background:linear-gradient(90deg,#ffb938,var(--gold));transition:width .6s ease}
.kopfknoepfe{display:flex;gap:6px;margin-top:10px}
.werkstattknopf{display:flex;align-items:center;gap:7px;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;padding:7px 11px;border:1px solid var(--hud-rand);border-radius:999px;color:var(--hud-text);background:var(--hud);cursor:pointer;transition:border-color .2s,background .2s,transform .12s}
.werkstattknopf:hover{border-color:#e0b368;background:rgba(224,179,104,.18)}
.werkstattknopf:active{transform:scale(.95)}
.werkstattknopf svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.pauseknopf{padding:7px}
/* Geld fliegt hoch */
.geldflug{position:relative;height:0;width:100%;pointer-events:none}
.geldflug span{position:absolute;right:0;top:-40px;font-family:'Anton',sans-serif;font-size:30px;white-space:nowrap;color:#9dffbf;text-shadow:0 0 18px rgba(80,255,150,.45),var(--schatten);animation:geldHoch 1.7s cubic-bezier(.2,.8,.3,1) forwards}
.geldflug span.minus{color:#ff8b98;text-shadow:0 0 18px rgba(255,60,80,.45),var(--schatten);animation-name:geldRunter}
@keyframes geldHoch{0%{opacity:0;transform:translateY(34px) scale(.7)}15%{opacity:1;transform:translateY(0) scale(1.12)}30%{transform:translateY(-6px) scale(1)}100%{opacity:0;transform:translateY(-70px)}}
@keyframes geldRunter{0%{opacity:0;transform:translateY(-10px)}15%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(40px)}}

/* ===== Oberfläche: Fahndungssterne ===== */
.sterne{position:fixed;z-index:6;top:calc(max(14px,env(safe-area-inset-top)) + 150px);right:var(--rand);font-size:30px;letter-spacing:2px;color:var(--gold);text-shadow:0 0 2px #000,0 0 3px #000,0 2px 0 #000,0 0 18px rgba(255,209,102,.45);animation:einblenden .3s}
.sterne[hidden]{display:none}
.sterne.blinkt{animation:sternBlink .5s steps(2) infinite}
@keyframes sternBlink{50%{color:#4fa3ff;text-shadow:0 0 2px #000,0 2px 0 #000,0 0 18px rgba(79,163,255,.7)}}

/* ===== Oberfläche: Auftrag oben links ===== */
.auftrag{top:max(14px,env(safe-area-inset-top));left:var(--rand);width:min(316px,88vw);padding:14px 16px;color:var(--hud-text);background:linear-gradient(110deg,rgba(13,21,27,.94),rgba(13,21,27,.83));border:1px solid var(--hud-rand);border-left:2px solid #e0b368;border-radius:3px;box-shadow:0 8px 24px rgba(0,0,0,.22);transition:opacity .3s}
.auftrag .label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:#e0b368;display:block;margin-bottom:7px}
.auftrag h2{font-family:'Archivo',system-ui,sans-serif;font-weight:600;font-size:19px;line-height:1.2;margin:0 0 5px}
.auftrag p{margin:0;font-size:13px;color:var(--hud-leise);line-height:1.45}
.auftrag .lohn{display:inline-block;margin-top:8px;font-size:12px;color:var(--gold);letter-spacing:.06em;font-weight:600}
.zielzeile{display:flex;align-items:center;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid var(--hud-rand)}
.pfeil{width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:rgba(255,45,126,.14);border:1px solid var(--glow);display:grid;place-items:center;transition:transform .1s linear}
.pfeil svg{width:19px;height:19px;fill:var(--glow)}
.entfernung b{font-size:22px;color:#fff;display:block;line-height:1}
.entfernung span{font-size:10.5px;color:var(--hud-leise);letter-spacing:.18em;text-transform:uppercase}
.zeitbalken{margin-top:10px;height:3px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden}
.zeitbalken i{display:block;height:100%;width:100%;background:var(--glow);transition:width .2s linear}
.zeitbalken i.knapp{background:var(--rot)}
body.ohneAuftrag .auftrag{padding:10px 14px;opacity:.9}
body.ohneAuftrag .auftrag p,body.ohneAuftrag .auftrag .zielzeile,body.ohneAuftrag .auftrag .zeitbalken,body.ohneAuftrag .auftrag .lohn{display:none}
body.ohneAuftrag .auftrag h2{font-size:18px;margin:0}
.arbeit{margin-top:10px}
.arbeit span{font-size:11px;letter-spacing:.16em;color:var(--hud-leise)}
.arbeit .bar{height:5px;background:rgba(255,255,255,.1);border-radius:3px;overflow:hidden;margin-top:5px}
.arbeit .bar i{display:block;height:100%;width:0;background:var(--glow);transition:width .12s linear}

/* ===== Oberfläche: unten links Funk und runde Minikarte ===== */
.linksunten{position:fixed;z-index:5;left:var(--rand);bottom:max(16px,env(safe-area-inset-bottom));width:236px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.funk{max-width:236px;padding:9px 12px;font-size:12px;line-height:1.4;color:var(--hud-leise);background:var(--hud);border:1px solid var(--hud-rand);border-radius:3px}
.funk b{display:block;color:#e0b368;font-family:'Archivo',system-ui,sans-serif;font-weight:600;font-size:9px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:4px}
.karte-box{position:relative;left:auto;bottom:auto;display:flex;flex-direction:column;align-items:center;width:216px}
.minirund{position:relative;width:216px;height:216px;border-radius:50%;padding:4px;background:#73858a;box-shadow:0 8px 24px rgba(0,0,0,.35),0 0 0 1px rgba(229,237,239,.25)}
.karte-box canvas{display:block;width:208px;height:208px;border-radius:50%;background:#0b0910}
.karte-box p{margin:6px 0 0;font-size:10.5px;letter-spacing:.14em;color:var(--hud-leise);text-align:center;text-shadow:var(--schatten)}
.navizeile{margin:8px 0 0 !important;padding:5px 10px;border-radius:999px;background:rgba(10,40,58,.85);border:1px solid rgba(58,208,255,.55);color:#bfeeff !important;font-size:11px !important;letter-spacing:.04em !important;text-align:center !important;max-width:236px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.navizeile[hidden]{display:none}

/* ===== Oberfläche: unten rechts runder Tacho ===== */
.steuer{right:var(--rand);bottom:max(16px,env(safe-area-inset-bottom));width:214px;padding:12px 14px;display:flex;flex-direction:column;align-items:center;color:var(--hud-text);background:linear-gradient(135deg,rgba(18,29,35,.94),rgba(10,17,22,.92));border:1px solid var(--hud-rand);border-radius:4px;box-shadow:0 8px 24px rgba(0,0,0,.25);transition:opacity .35s,transform .35s}
body.zuFuss .steuer{opacity:0;transform:translateY(20px);pointer-events:none}
.regenscheibe{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}
.tachotempomat{position:absolute;left:50%;top:22%;transform:translateX(-50%);font-size:11px;font-weight:700;color:#7fe0a0;letter-spacing:.04em;padding:1px 7px;border-radius:999px;background:rgba(40,120,70,.25);border:1px solid rgba(127,224,160,.4);white-space:nowrap}
.tachorund{position:relative;width:176px;height:176px;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(27,41,47,.45),transparent 70%)}
.tachosvg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(135deg)}
.tachosvg circle{fill:none;stroke-width:4;stroke-linecap:butt}
.tacho-hinten{stroke:rgba(255,255,255,.1);stroke-dasharray:395.8 527.8}
.tacho-vorne{stroke:#e0b368;stroke-dasharray:0 527.8;transition:stroke-dasharray .12s linear,stroke .3s}
.tacho-vorne.rot{stroke:#ff4a3d}
#tachoStriche line{stroke:rgba(255,255,255,.35);stroke-width:2}
#tachoStriche line.gross{stroke:rgba(255,255,255,.7);stroke-width:3}
.tachomitte{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.tachomitte b{font-family:'Archivo',system-ui,sans-serif;font-weight:600;font-size:46px;letter-spacing:-.06em;font-variant-numeric:tabular-nums;color:#fff}
.tachomitte span{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--hud-leise);font-weight:600;margin-top:2px}
.tachogang{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);min-width:30px;padding:2px 8px;border-radius:2px;background:rgba(224,179,104,.1);border:1px solid rgba(224,179,104,.45);font-family:'Archivo',system-ui,sans-serif;font-size:15px;font-weight:600;text-align:center;color:#e0b368}
.tachoinfo{width:176px;margin-top:6px;text-align:center}
.autoname{display:block;font-family:'Archivo',system-ui,sans-serif;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--hud-text)}
.drehzahl{height:3px;margin:10px 0 12px;overflow:hidden;background:rgba(240,243,242,.12)}
.drehzahl i{display:block;height:100%;width:0;background:#d5e2df;transition:width .15s linear}
.drehzahl i.rot{background:#ff7568}
.fahrstatus{display:flex;flex-direction:column;gap:4px;margin-top:11px;padding-top:8px;border-top:1px solid var(--hud-rand);font-size:10px;line-height:1.3;color:var(--hud-leise)}
.fahrlicht{color:#91cba5;font-size:9px;letter-spacing:.08em}
.fahrwarnung{color:#efc37d;font-size:10px;line-height:1.4;margin-top:7px}
.fahrlicht[hidden],.fahrwarnung[hidden]{display:none}
.kmh{display:none}
.tacho{display:none}
.tacho i{display:block;height:100%;width:0}
.zustand{display:flex;align-items:center;gap:5px;margin-top:5px;font-size:9px;color:var(--hud-leise)}
.zustand .balk{flex:1;height:5px;border-radius:3px;background:rgba(0,0,0,.45);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);overflow:hidden}
.zustand .balk i{display:block;height:100%;width:100%;background:var(--gruen);transition:width .3s}
#schadenBalken{background:#ff6b3d}

/* ===== Oberfläche: Hubschrauber ===== */
.helihud{right:var(--rand);bottom:max(16px,env(safe-area-inset-bottom));width:190px;padding:12px 14px;border-radius:14px;background:radial-gradient(circle at 50% 30%,rgba(26,16,34,.92),rgba(6,4,10,.88) 80%);border:1px solid var(--hud-rand);box-shadow:0 12px 30px rgba(0,0,0,.45);color:var(--hud-text)}
.helihud[hidden]{display:none}
.heli-hoehe{display:flex;align-items:flex-end;gap:12px}
.heli-leiter{position:relative;width:10px;height:74px;border-radius:5px;background:rgba(255,255,255,.1);overflow:hidden}
.heli-leiter i{position:absolute;left:0;right:0;bottom:0;height:0;background:linear-gradient(0deg,#f2c417,#ff2d7e);transition:height .12s linear}
.heli-hoehe b,.heli-tempo b{display:block;font-family:'Anton',sans-serif;font-size:40px;line-height:1;color:#fff}
.heli-hoehe span,.heli-tempo span{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--hud-leise);font-weight:600}
.heli-tempo{display:flex;align-items:baseline;gap:6px;margin-top:8px}
.heli-tempo b{font-size:26px}
.heli-status{margin-top:6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#f2c417}
#heliZustand.rot{background:#ff4a3d}
#heliZustand{background:var(--gruen);transition:width .3s}
body.imHeli .kampfhud{display:none}

/* ===== Oberfläche: Hinweise, Toasts, Tagesmeldung ===== */
.hinweis{position:fixed;z-index:6;bottom:max(96px,calc(env(safe-area-inset-bottom) + 86px));left:50%;transform:translate(-50%,10px);padding:9px 18px;background:linear-gradient(180deg,rgba(12,8,20,.9),rgba(8,5,14,.86));border:1px solid rgba(255,45,126,.55);border-radius:10px;font-size:14px;color:var(--hud-text);box-shadow:0 8px 24px rgba(0,0,0,.35);opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;white-space:nowrap;max-width:calc(100vw - 24px);overflow:hidden;text-overflow:ellipsis}
.hinweis.an{opacity:1;transform:translate(-50%,0)}
.hinweis b{display:inline-block;min-width:22px;padding:0 6px;margin:0 2px;border-radius:5px;background:var(--glow);color:#0a0610;font-size:14px;letter-spacing:.04em;text-align:center}
html[data-mode="tag"] .hinweis b{color:#fff}
.toast{position:fixed;z-index:8;top:26%;left:50%;transform:translate(-50%,-50%);min-width:min(420px,86vw);max-width:min(720px,90vw);padding:14px 30px 16px;text-align:center;pointer-events:none;opacity:0;font-family:'Anton',sans-serif;font-size:clamp(22px,3.4vw,38px);line-height:1.15;color:#fff;text-shadow:0 0 24px var(--glow-soft),var(--schatten);background:linear-gradient(90deg,transparent,rgba(8,5,14,.78) 18%,rgba(8,5,14,.78) 82%,transparent)}
.toast::before,.toast::after{content:"";position:absolute;left:12%;right:12%;height:2px;background:linear-gradient(90deg,transparent,var(--glow),transparent)}
.toast::before{top:0}.toast::after{bottom:0}
.toast.an{animation:toastRein 3s cubic-bezier(.2,.8,.2,1) forwards;animation-duration:var(--dauer,2.4s)}
.toast.geld{color:#c9ffdb}
.toast.geld::before,.toast.geld::after{background:linear-gradient(90deg,transparent,#5dffa0,transparent)}
@keyframes toastRein{0%{opacity:0;transform:translate(-50%,-50%) scale(.86)}8%{opacity:1;transform:translate(-50%,-50%) scale(1.04)}14%{transform:translate(-50%,-50%) scale(1)}86%{opacity:1;transform:translate(-50%,-50%)}100%{opacity:0;transform:translate(-50%,-62%)}}
.tagesmeldung{position:fixed;z-index:6;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;opacity:0;pointer-events:none;transition:opacity .8s}
.tagesmeldung.an{opacity:1}
.tagesmeldung b{display:block;font-size:clamp(30px,6vw,64px);color:#fff;text-shadow:0 0 30px var(--glow-soft),var(--schatten);text-transform:uppercase}
.tagesmeldung span{font-size:15px;color:var(--hud-text);text-shadow:var(--schatten)}

/* ===== Oberfläche: Handy ===== */
.handy{position:fixed;inset:0;z-index:11;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 60%,rgba(4,3,8,.35),rgba(4,3,8,.78));padding:14px;animation:einblenden .2s}
.handy[hidden]{display:none}
.geraet{width:min(372px,94vw);height:min(740px,90svh);background:#07060b;border-radius:48px;padding:0;box-shadow:0 40px 100px rgba(0,0,0,.7),0 0 0 3px #2c2b35,0 0 0 5px #0c0b10,0 0 0 6px #3a3946,inset 0 0 0 2px #000;display:flex;flex-direction:column;overflow:hidden;position:relative;color:#EDE6DC;animation:handyRein .42s cubic-bezier(.2,.9,.25,1.12)}
.geraet::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 18% 12%,rgba(255,45,126,.55),transparent 42%),radial-gradient(circle at 90% 38%,rgba(90,70,255,.45),transparent 45%),radial-gradient(circle at 30% 92%,rgba(58,208,255,.35),transparent 45%),linear-gradient(160deg,#1a0b24,#0a0714 60%,#07101c);transition:opacity .3s}
.geraet.app::before{opacity:.25}
/* Hintergrund je Rolle (22-handy.js, handyRolleSetzen) */
.handy[data-rolle="polizei"] .geraet[data-hg="rolle"]::before{background:radial-gradient(circle at 20% 12%,rgba(79,163,255,.6),transparent 44%),radial-gradient(circle at 88% 40%,rgba(30,70,200,.5),transparent 46%),radial-gradient(circle at 30% 92%,rgba(230,242,26,.18),transparent 40%),linear-gradient(160deg,#0b1a3a,#060b1c 60%,#050812)}
.handy[data-rolle="feuerwehr"] .geraet[data-hg="rolle"]::before{background:radial-gradient(circle at 20% 12%,rgba(255,75,59,.62),transparent 44%),radial-gradient(circle at 88% 40%,rgba(200,30,20,.5),transparent 46%),radial-gradient(circle at 30% 92%,rgba(255,170,60,.25),transparent 40%),linear-gradient(160deg,#3a0b0b,#1c0606 60%,#120505)}
.handy[data-rolle="rettung"] .geraet[data-hg="rolle"]::before{background:radial-gradient(circle at 20% 12%,rgba(255,140,60,.62),transparent 44%),radial-gradient(circle at 88% 40%,rgba(255,255,255,.22),transparent 46%),radial-gradient(circle at 30% 92%,rgba(214,40,40,.4),transparent 40%),linear-gradient(160deg,#3a1a0b,#1c0d06 60%,#120805)}
.handy[data-rolle="logistik"] .geraet[data-hg="rolle"]::before{background:radial-gradient(circle at 20% 12%,rgba(242,196,106,.55),transparent 44%),radial-gradient(circle at 88% 40%,rgba(255,138,31,.4),transparent 46%),radial-gradient(circle at 30% 92%,rgba(120,80,40,.4),transparent 40%),linear-gradient(160deg,#2e2210,#18120a 60%,#0f0b06)}
.handy[data-rolle="zivil"] .geraet[data-hg="rolle"]::before{background:radial-gradient(circle at 20% 12%,rgba(160,170,185,.4),transparent 44%),radial-gradient(circle at 88% 40%,rgba(90,110,140,.4),transparent 46%),radial-gradient(circle at 30% 92%,rgba(58,208,255,.22),transparent 40%),linear-gradient(160deg,#1c2028,#0d1016 60%,#090b10)}
.handy[data-rolle="krimi"] .geraet[data-hg="rolle"]::before{background:radial-gradient(circle at 20% 12%,rgba(176,74,255,.6),transparent 44%),radial-gradient(circle at 88% 40%,rgba(255,45,126,.45),transparent 46%),radial-gradient(circle at 30% 92%,rgba(57,255,122,.22),transparent 40%),linear-gradient(160deg,#160622,#0a0410 60%,#06030a)}
.rollenkopf{display:flex;align-items:center;gap:10px;margin:2px 0 10px;padding:9px 12px;border-radius:14px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.08)}
.rollenkopf i{font-style:normal;display:grid;place-items:center;width:32px;height:32px;border-radius:9px;font-size:18px}
.rollenkopf b{display:block;font-family:'Anton',sans-serif;font-weight:400;font-size:16px;letter-spacing:.04em;text-transform:uppercase}
.rollenkopf span{font-size:11px;color:rgba(237,230,220,.65)}
.geraet > *{position:relative;z-index:1}
@keyframes handyRein{from{opacity:0;transform:translateY(70px) scale(.9) rotate(-2deg)}to{opacity:1;transform:none}}
.insel{position:absolute !important;top:11px;left:50%;transform:translateX(-50%);width:100px;height:28px;background:#000;border-radius:16px;z-index:4 !important}
.statusleiste{display:flex;justify-content:space-between;align-items:center;padding:15px 28px 6px;font-size:12.5px;font-weight:600;letter-spacing:.02em;color:#fff}
.netzbalken{display:none}
.screen{flex:1;overflow-y:auto;padding:12px 18px 18px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}
.screen.neu{animation:appRein .26s cubic-bezier(.2,.8,.2,1)}
@keyframes appRein{from{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:none}}
.screen h3{font-size:25px;margin:2px 0 4px}
.screen .unter{font-size:12.5px;color:rgba(237,230,220,.62);margin:0 0 14px;line-height:1.45}
.appkopf{position:sticky;top:-12px;z-index:2;display:flex;align-items:center;gap:8px;margin:-12px -18px 6px;padding:8px 14px;background:linear-gradient(180deg,rgba(10,8,16,.96),rgba(10,8,16,.82))}
.appkopf button{border:0;background:transparent;color:var(--cyan);font:inherit;font-size:14px;cursor:pointer;padding:6px 4px}
.appkopf span{margin-left:auto;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(237,230,220,.5)}
.hwidget{margin:18px 2px 6px;padding:16px 16px 14px;border-radius:22px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.hwidget .hzeit{font-family:'Anton',sans-serif;font-size:54px;line-height:.95;color:#fff;letter-spacing:.02em}
.hwidget .hdatum{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.hwidget .hzeilen{display:flex;justify-content:space-between;gap:10px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.12);font-size:12px;color:rgba(255,255,255,.75)}
.hwidget .hzeilen b{display:block;font-size:19px;color:#fff}
.appgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 6px;padding:8px 2px 8px}
.appgruppe{margin:12px 4px 0;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.62);font-weight:600}
.app{position:relative;background:transparent;border:0;padding:0;cursor:pointer;display:grid;justify-items:center;gap:6px;color:#fff;font-size:10.5px;letter-spacing:.01em;text-shadow:0 1px 3px rgba(0,0,0,.8);transition:transform .12s}
.app:hover .appicon{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.35)}
.app:active{transform:scale(.9)}
.appicon{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;font-family:'Anton',sans-serif;font-size:25px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35);box-shadow:0 6px 16px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.3);transition:transform .15s,box-shadow .15s;animation:iconRein .4s cubic-bezier(.2,.9,.3,1.3) backwards}
.appicon .sym{font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;font-size:27px;line-height:1}
@keyframes iconRein{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:none}}
.app .punkt{position:absolute;top:-5px;right:4px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#ff2d3d;color:#fff;font-size:11px;font-weight:600;display:grid;place-items:center;box-shadow:0 0 0 2px #120a18;text-shadow:none}
.screen[data-schirm="start"]{display:flex;flex-direction:column}
.screen[data-schirm="start"] > *{flex:0 0 auto}
.hdock{position:sticky;bottom:0;z-index:2;background:rgba(40,30,55,.82) !important;margin-top:auto !important;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:12px -4px 0;padding:12px 8px 10px;border-radius:28px;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.hdock .app span.name{display:none}
.hmeldungen h4{margin:16px 2px 6px;font-family:'Archivo',sans-serif;font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.hmeldung{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;margin-bottom:6px;border-radius:16px;background:rgba(255,255,255,.07);font-size:12.5px;line-height:1.35;color:rgba(255,255,255,.88)}
.hmeldung i{font-style:normal;font-size:10.5px;color:rgba(255,255,255,.45);margin-left:auto;white-space:nowrap}
.handymeldung{position:absolute !important;left:10px;right:10px;top:48px;z-index:5 !important;padding:11px 14px;border-radius:18px;background:rgba(34,28,46,.97);box-shadow:0 14px 30px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.1);font-size:13px;line-height:1.35;color:#fff;opacity:0;transform:translateY(-24px);pointer-events:none;transition:opacity .25s,transform .3s cubic-bezier(.2,.9,.3,1.2)}
.handymeldung.an{opacity:1;transform:none}
.handymeldung small{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--neon);margin-bottom:2px}
.zeile{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px;margin-bottom:8px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06)}
.zeile h4{margin:0 0 3px;font-family:'Anton',sans-serif;font-weight:400;font-size:16px;letter-spacing:.02em}
.zeile p{margin:0;font-size:12px;color:rgba(237,230,220,.6);line-height:1.4}
.zeile .ort{font-size:10.5px;letter-spacing:.14em;color:#ff5c9a;text-transform:uppercase;font-weight:600}
.pille{border:1px solid #ff2d7e;background:rgba(255,45,126,.08);color:#ff5c9a;border-radius:999px;padding:9px 14px;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,transform .1s}
.pille:hover{background:rgba(255,45,126,.22)}
.pille:active{transform:scale(.95)}
.pille:disabled{opacity:.35;border-color:rgba(237,230,220,.25);color:rgba(237,230,220,.45);background:transparent;cursor:not-allowed}
.pille.aktiv{background:#ff2d7e;color:#0a0a10}
.handyfuss{padding:4px 0 8px;display:flex;justify-content:center}
.homebar{width:220px;height:34px;border:0;background:transparent;cursor:pointer;display:grid;place-items:center;border-radius:20px}
.homebar::before{content:"";display:block;width:134px;height:5px;border-radius:3px;background:rgba(255,255,255,.7);transition:background .15s,width .15s}
.homebar:hover::before,.homebar:active::before{background:#ff2d7e;width:150px}
.baufortschritt{height:6px;background:rgba(237,230,220,.14);border-radius:3px;overflow:hidden;margin:6px 0 16px}
.baufortschritt i{display:block;height:100%;background:linear-gradient(90deg,#ff2d7e,#ff8ab5)}
.kontobox{text-align:center;padding:22px 0 14px}
.kontobox b{display:block;font-family:'Anton',sans-serif;font-size:48px;color:#fff;line-height:1;text-shadow:0 0 24px rgba(255,45,126,.5)}
.kontobox span{font-size:12px;letter-spacing:.16em;color:rgba(237,230,220,.55);text-transform:uppercase}
.mini{font-size:11.5px;color:rgba(237,230,220,.5);line-height:1.5;margin-top:14px}
.loeschen{margin-top:18px;border:1px solid rgba(255,45,61,.6);background:transparent;color:#ff5a66;border-radius:999px;padding:9px 16px;font-size:12px;cursor:pointer}
.chatliste p{margin:0 0 6px;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.06);font-size:13px}

/* ===== Oberfläche: Kampf ===== */
.kampfhud{position:fixed;z-index:6;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:14px;padding:8px 16px;background:var(--hud);border:1px solid var(--hud-rand);border-radius:999px;color:var(--hud-text)}
.kampfhud[hidden]{display:none}
.hpbar{width:160px;height:8px;border-radius:4px;background:rgba(255,255,255,.12);overflow:hidden}
.hpbar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#ff3b4e,#ff2d7e);transition:width .15s}
.kampfhud span{font-family:'Anton',sans-serif;font-size:15px;letter-spacing:.06em;color:var(--hud-text)}
.kampfhud .munition{color:var(--glow);min-width:150px;text-align:center}
.ausdauer{width:70px;height:5px;border-radius:3px;background:rgba(255,255,255,.12);overflow:hidden}
.ausdauer i{display:block;height:100%;width:100%;background:#57c8ff;transition:width .1s}
.slots{display:flex;gap:4px}
.slots i{font-style:normal;font-family:'Anton',sans-serif;font-size:12px;width:20px;height:20px;display:grid;place-items:center;border-radius:4px;border:1px solid var(--hud-rand);color:rgba(237,230,220,.25)}
.slots i.hat{color:var(--hud-text)}
.slots i.an{background:var(--glow);color:#0a0610;border-color:transparent}
.fadenkreuz{position:fixed;z-index:6;left:50%;top:44%;width:22px;height:22px;margin:-11px 0 0 -11px;border:2px solid rgba(255,255,255,.85);border-radius:50%;pointer-events:none;box-shadow:0 0 6px rgba(0,0,0,.6)}
.fadenkreuz::after{content:"";position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px 0 0 -2px;border-radius:50%;background:#ff2d7e}
.fadenkreuz[hidden]{display:none}
.fadenkreuz.treffer{border-color:#ff2d3d}
.schadenblitz{position:fixed;inset:0;z-index:7;pointer-events:none;opacity:0;transition:opacity .25s;background:radial-gradient(ellipse at 50% 50%,transparent 45%,rgba(200,0,20,.55) 100%)}
.schadenblitz.an{opacity:1;transition:opacity .05s}

/* ===== Oberfläche: Missionstext oben mittig ===== */
.missionsbox{position:fixed;z-index:6;top:max(16px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);max-width:min(560px,60vw);padding:10px 26px 11px;text-align:center;color:var(--hud-text);background:linear-gradient(90deg,transparent,rgba(30,4,10,.86) 14%,rgba(30,4,10,.86) 86%,transparent);animation:hochgleiten .35s}
.missionsbox::after{content:"";position:absolute;left:14%;right:14%;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--rot),transparent)}
.missionsbox[hidden]{display:none}
.missionsbox b{display:block;font-size:19px;letter-spacing:.08em;text-transform:uppercase;color:#ff5a68}
.missionsbox span{font-size:13.5px;color:var(--hud-text)}
body.mitEinweiser .missionsbox{top:130px}

/* ===== Oberfläche: Emotes und Arbeit ===== */
.emoterad{position:fixed;z-index:10;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;grid-template-columns:repeat(4,112px);gap:10px;padding:18px;background:rgba(10,7,16,.9);border:1px solid var(--hud-rand);border-radius:18px;color:var(--hud-text);animation:einblenden .2s}
.emoterad[hidden]{display:none}
.emoterad button{height:92px;border-radius:14px;border:1px solid var(--hud-rand);background:rgba(255,255,255,.04);color:var(--hud-text);cursor:pointer;display:grid;place-items:center;gap:2px;font-family:inherit}
.emoterad button:hover{border-color:var(--glow);background:rgba(255,45,126,.12)}
.emoterad button b{font-size:26px;color:var(--glow);line-height:1}
.emoterad button span{font-size:12px;letter-spacing:.06em}
.emoterad button i{font-style:normal;font-size:10px;color:var(--hud-leise)}
.emoterad p{grid-column:1/-1;margin:2px 0 0;text-align:center;font-size:12px;color:var(--hud-leise)}
.arbeitspanel{position:fixed;z-index:6;left:50%;top:58%;transform:translate(-50%,-50%);width:260px;padding:18px 18px 16px;text-align:center;color:var(--hud-text);background:rgba(10,7,16,.86);border:1px solid var(--glow);border-radius:16px}
.arbeitspanel[hidden]{display:none}
.arbeitspanel h3{margin:0 0 10px;font-size:18px;letter-spacing:.04em}
.ring{position:relative;width:118px;height:118px;margin:0 auto 10px}
.ring svg{width:118px;height:118px;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:9}
.ring .hinten{stroke:rgba(255,255,255,.1)}
.ring .vorne{stroke:var(--glow);stroke-linecap:round;transition:stroke-dashoffset .12s}
.ring b{position:absolute;inset:0;display:grid;place-items:center;font-family:'Anton',sans-serif;font-size:44px;color:var(--hud-text)}
.ring.puls b{animation:puls .18s ease}
@keyframes puls{0%{transform:scale(1)}50%{transform:scale(1.25);color:var(--glow)}100%{transform:scale(1)}}
.arbeitspanel span{font-size:13px;color:var(--hud-leise)}

/* ===== Oberfläche: Einweisung ===== */
.einweiser{position:fixed;z-index:6;top:max(14px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);min-width:320px;max-width:min(520px,44vw);padding:11px 32px 11px 20px;text-align:center;color:var(--hud-text);background:rgba(14,23,29,.94);border:1px solid rgba(224,179,104,.4);border-radius:4px;box-shadow:0 8px 24px rgba(0,0,0,.25);animation:hochgleiten .35s}
.einweiser[hidden]{display:none}
.einweiser-x{position:absolute;top:6px;right:8px;width:26px;height:26px;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:var(--hud-text);font-size:13px;cursor:pointer;pointer-events:auto}
.einweiser-x:hover{background:rgba(255,255,255,.18)}
.einweiser small{display:block;font-size:10px;letter-spacing:.16em;color:#e0b368;margin-bottom:6px;font-weight:600}
.einweiser div{font-size:15px;line-height:1.4}
.einweiser div b{color:var(--glow)}
.einweiser .punkte2{display:flex;gap:5px;justify-content:center;margin-top:8px}
.einweiser .punkte2 i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.18)}
.einweiser .punkte2 i.fertig{background:var(--glow)}
.einweiser.fertig{animation:blinken .6s ease 2}
@keyframes blinken{50%{box-shadow:0 0 0 6px rgba(255,45,126,.35)}}
.sprechblase{position:fixed;z-index:5;pointer-events:none;font-family:'Anton',sans-serif;font-size:26px;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.8)}

.blende{position:fixed;inset:0;z-index:11;background:#000;opacity:0;pointer-events:none;transition:opacity .22s}
.blende.an{opacity:1}
.blende.weich{transition:opacity 1.1s ease}

/* ===== Oberfläche: große Karte ===== */
.grosskarte{position:fixed;inset:0;z-index:12;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 50%,rgba(5,4,8,.72),rgba(5,4,8,.92));padding:2vmin;animation:einblenden .2s}
.grosskarte[hidden]{display:none}
.gk-rahmen{display:flex;gap:16px;max-width:96vw;max-height:94vh;background:linear-gradient(160deg,rgba(18,12,26,.96),rgba(8,6,12,.96));border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:14px;color:var(--paper);box-shadow:0 30px 80px rgba(0,0,0,.6);animation:kartenRein .32s cubic-bezier(.2,.9,.3,1.1)}
@keyframes kartenRein{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
.gk-karte{position:relative;flex:0 0 auto}
.gk-rahmen canvas{display:block;width:min(86vh,62vw);height:min(86vh,62vw);border-radius:12px;cursor:crosshair;background:#0b0910;touch-action:none}
.gk-rahmen canvas.zieht{cursor:grabbing}
.gk-zoom{position:absolute;right:12px;top:12px;display:flex;flex-direction:column;gap:6px}
.gk-zoom button{width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:rgba(10,7,16,.88);color:#fff;font-size:20px;line-height:1;cursor:pointer;transition:border-color .15s,background .15s}
.gk-zoom button:hover{border-color:var(--cyan);background:rgba(58,208,255,.16)}
.gk-info{position:absolute;left:12px;bottom:10px;margin:0;padding:5px 10px;border-radius:999px;background:rgba(10,7,16,.85);font-size:11px;letter-spacing:.08em;color:rgba(237,230,220,.75);pointer-events:none}
.gk-rahmen aside{width:260px;display:flex;flex-direction:column;gap:8px;overflow:auto;min-height:0}
.gk-kopf{display:flex;align-items:center;justify-content:space-between}
.gk-rahmen h3{margin:2px 0 0;font-family:'Anton',sans-serif;font-size:30px;letter-spacing:.04em;text-transform:uppercase}
.gk-x,.pause-x{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:transparent;color:var(--paper);cursor:pointer;font-size:14px}
.gk-x:hover,.pause-x:hover{border-color:var(--neon);color:var(--neon)}
.gk-rahmen .unter{margin:0;font-size:12.5px;color:rgba(237,230,220,.6);line-height:1.45}
.gk-legende{display:grid;grid-template-columns:1fr 1fr;gap:5px 10px;padding:10px;border-radius:10px;background:rgba(255,255,255,.04);font-size:11.5px;color:rgba(237,230,220,.8)}
.gk-legende span{display:flex;align-items:center;gap:7px}
.blip{display:inline-block;width:12px;height:12px;border-radius:50%;flex:0 0 12px}
.blip.rein{background:#ff2d7e;box-shadow:0 0 0 2px #fff inset}
.blip.ort{background:#1b1524;box-shadow:0 0 0 2px rgba(237,230,220,.6) inset}
.blip.ich{width:0;height:0;border-radius:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:12px solid #ff2d7e}
.blip.leute{background:#7fd4ff}
.blip.job{background:#ffd166}
.blip.ziel{background:#3ad0ff;border-radius:50% 50% 50% 0;transform:rotate(-45deg)}
.blip.mission{background:#ff3b4e}
.blip.route{height:4px;border-radius:2px;background:#3ad0ff}
.gk-orte{display:flex;flex-direction:column;gap:4px;overflow:auto;flex:1;min-height:80px}
.gk-orte button{display:flex;align-items:center;gap:8px;text-align:left;padding:7px 9px;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:var(--paper);font:inherit;font-size:13px;cursor:pointer;transition:border-color .15s,background .15s}
.gk-orte button:hover,.gk-orte button.an{border-color:#3ad0ff;background:rgba(58,208,255,.12)}
.gk-orte button i{font-style:normal;width:22px;text-align:center}
.gk-orte h5{margin:10px 2px 2px;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55);font-weight:600}
.gk-orte h5:first-child{margin-top:0}
.gk-orte button small{margin-left:auto;font-size:10px;color:#3ad0ff;letter-spacing:.08em}
.gk-aus{padding:10px;border-radius:10px;border:1px solid rgba(58,208,255,.5);background:rgba(58,208,255,.08);color:var(--paper);cursor:pointer;font:inherit}
.gk-aus:disabled{opacity:.35;cursor:default}
.grosskarte .mini{margin:0}

/* ===== Oberfläche: Pausenmenü und Einstellungen ===== */
.fps{position:fixed;z-index:9;right:10px;bottom:4px;font:600 12px Inter,Arial,sans-serif;color:#8bd17c;background:rgba(0,0,0,.45);padding:3px 7px;border-radius:5px}
.fps[hidden]{display:none}
.einstellungen{position:fixed;inset:0;z-index:13;display:grid;place-items:center;background:linear-gradient(90deg,rgba(5,3,9,.94),rgba(5,3,9,.72) 60%,rgba(5,3,9,.5));animation:einblenden .22s;color:var(--paper)}
.einstellungen[hidden]{display:none}
.ein-rahmen{width:min(720px,94vw);max-height:92vh;overflow:auto;background:linear-gradient(160deg,rgba(20,12,28,.97),rgba(9,6,14,.97));border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:20px 24px;box-shadow:0 30px 80px rgba(0,0,0,.6);animation:hochgleiten .3s cubic-bezier(.2,.8,.2,1)}
.pause-kopf{display:flex;justify-content:space-between;align-items:flex-start}
.pause-kopf small{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--neon);font-weight:600}
.ein-rahmen h3{margin:0 0 12px;font-family:'Anton',sans-serif;font-size:34px;text-transform:uppercase;line-height:1.05}
.ein-rahmen h3 span{color:var(--neon)}
.ein-rahmen h4{margin:18px 0 4px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:rgba(237,230,220,.7)}
.pause-reiter{display:flex;gap:4px;margin:4px 0 14px;border-bottom:1px solid rgba(255,255,255,.1);overflow-x:auto}
.pause-reiter button{padding:10px 14px;border:0;border-bottom:3px solid transparent;background:transparent;color:rgba(237,230,220,.6);font:inherit;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s}
.pause-reiter button:hover{color:#fff}
.pause-reiter button.an{color:#fff;border-bottom-color:var(--neon)}
.pause-seite{animation:einblenden .25s}
.pause-seite[hidden]{display:none}
.pause-gross{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pause-karte{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:16px 18px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:var(--paper);cursor:pointer;text-align:left;transition:border-color .15s,background .15s,transform .12s}
.pause-karte:hover{border-color:var(--neon);background:rgba(255,45,126,.1);transform:translateY(-2px)}
.pause-karte b{font-size:22px;text-transform:uppercase}
.pause-karte span{font-size:12.5px;color:rgba(237,230,220,.6)}
.pause-karte.haupt{background:linear-gradient(135deg,#ff2d7e,#b3125a);border-color:transparent;color:#fff}
.pause-karte.haupt span{color:rgba(255,255,255,.85)}
.pause-kurz{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}
.pause-kurz div,.statistik div{padding:12px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}
.pause-kurz b,.statistik b{display:block;font-size:24px;color:#fff;line-height:1.1}
.pause-kurz span,.statistik span{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(237,230,220,.55)}
.statistik{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.statistik div.breit{grid-column:1/-1}
.statistik .balken{height:6px;border-radius:3px;background:rgba(255,255,255,.1);margin-top:8px;overflow:hidden}
.statistik .balken i{display:block;height:100%;background:linear-gradient(90deg,#ffb938,var(--gold))}
.steuerhilfe{display:grid;grid-template-columns:1fr 1fr;gap:6px 22px}
.steuerhilfe h4{grid-column:1/-1}
.steuerhilfe div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:13.5px}
.steuerhilfe kbd{font-size:12px;padding:3px 8px;opacity:1;border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.06);min-width:28px;text-align:center}
.pause-link a{color:rgba(237,230,220,.7)}
.pause-link{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.neues-spiel{background:none;border:1px solid rgba(255,120,100,.35);color:rgba(255,190,180,.85);border-radius:999px;padding:5px 12px;font:inherit;font-size:11px;cursor:pointer}
.neues-spiel:hover{background:rgba(255,90,70,.12)}
.neues-spiel.sicher{background:#b3342a;border-color:#ff7a68;color:#fff}
.ein-reihe{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.ein-reihe label{font-size:14px}
.ein-reihe input[type=range]{width:220px;accent-color:var(--neon)}
.ein-reihe input[type=checkbox]{width:20px;height:20px;accent-color:var(--neon)}
.ein-knoepfe{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.ein-knoepfe button,.ein-fuss button,.ein-tasten button{padding:8px 13px;border-radius:9px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:var(--paper);cursor:pointer;font:inherit;font-size:13px;transition:border-color .15s}
.ein-knoepfe button:hover,.ein-fuss button:hover,.ein-tasten button:hover{border-color:var(--neon)}
.ein-knoepfe button.an,.ein-fuss .haupt{background:var(--neon);color:#0a0610;border-color:transparent;font-weight:600}
.ein-tasten{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px}
.ein-tasten div{display:flex;justify-content:space-between;align-items:center;font-size:13px}
.ein-tasten button.wartet{border-color:var(--neon);color:var(--neon)}
.ein-fuss{display:flex;gap:8px;justify-content:flex-end;align-items:center;margin-top:16px;flex-wrap:wrap}
.pause-fuss{justify-content:space-between;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}
.pause-fuss .mini{margin:0}
.pause-fuss .haupt{padding:10px 26px;font-size:14px;letter-spacing:.08em;text-transform:uppercase}

/* ===== Oberfläche: Chat, Rennen, Lobby ===== */
.chatlog{position:fixed;z-index:6;left:var(--rand);bottom:340px;max-width:360px;pointer-events:none}
.chatlog p{margin:3px 0;padding:4px 8px;border-radius:6px;background:rgba(7,5,11,.62);font-size:13px;color:#ede6dc;transition:opacity .4s}
.chatlog b{color:#ff9ac4}
.chateingabe{position:fixed;z-index:12;left:50%;bottom:22%;transform:translateX(-50%);width:min(460px,90vw)}
.chateingabe[hidden]{display:none}
.chateingabe input{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--glow);background:rgba(10,7,16,.92);color:var(--hud-text);font:inherit;font-size:15px}
.rennanzeige{position:fixed;z-index:6;top:120px;left:50%;transform:translateX(-50%);padding:8px 18px;border-radius:10px;background:rgba(7,5,11,.78);border:1px solid #ffd166;color:#ffd166;font-family:'Anton',sans-serif;font-size:22px;letter-spacing:.04em}
.rennanzeige[hidden]{display:none}
.lobbybox{position:fixed;z-index:5;top:calc(max(14px,env(safe-area-inset-top)) + 196px);right:var(--rand);padding:10px 12px;min-width:172px;background:var(--hud);border:1px solid var(--hud-rand);border-radius:8px;font-size:13px;color:var(--hud-text)}
.lobbybox[hidden]{display:none}
.lobbybox b{display:block;color:var(--glow);font-size:12px;letter-spacing:.18em;margin-bottom:6px}
.lobbybox p{margin:2px 0;color:var(--hud-leise);font-size:12.5px;display:flex;justify-content:space-between;gap:10px}
.lobbybox p i{font-style:normal;color:var(--hud-text)}

/* ===== Oberfläche: Touch ===== */
.touch{position:fixed;inset:0;z-index:7;pointer-events:none}
.touch[hidden]{display:none}
.stick{position:absolute;left:max(22px,env(safe-area-inset-left));bottom:max(30px,env(safe-area-inset-bottom));width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.04),rgba(255,255,255,.1));border:2px solid rgba(255,255,255,.2);pointer-events:auto;touch-action:none}
.stick i{position:absolute;left:50%;top:50%;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;background:radial-gradient(circle at 40% 35%,rgba(223,233,232,.9),rgba(103,125,133,.8));box-shadow:0 4px 14px rgba(0,0,0,.4)}
.touchknoepfe{position:absolute;right:max(14px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(3,54px);gap:9px;pointer-events:auto}
.touchknoepfe button{width:54px;height:54px;border-radius:50%;border:2px solid rgba(255,255,255,.22);background:rgba(10,7,16,.6);color:#fff;font-size:19px;touch-action:none}
.touchknoepfe button.an{background:rgba(180,133,61,.85)}
.touchkontext{position:absolute;right:max(14px,env(safe-area-inset-right));bottom:calc(max(24px,env(safe-area-inset-bottom)) + 192px);display:flex;flex-wrap:wrap-reverse;justify-content:flex-end;max-width:62vw;gap:8px;pointer-events:auto}
.touchan .einweiser{top:auto;bottom:calc(max(24px,env(safe-area-inset-bottom)) + 250px);min-width:0;width:calc(100vw - 16px);max-width:none;padding:8px 34px 8px 12px}
.touchkontext button{min-width:48px;height:44px;padding:0 12px;border-radius:22px;border:2px solid rgba(255,255,255,.22);background:rgba(10,7,16,.6);color:#fff;font-size:17px;touch-action:none}
.touchkontext button[hidden]{display:none}
.touchkontext button[data-wann="mission"]{background:rgba(135,95,41,.94);font-size:15px;font-weight:600}

/* ===== Oberfläche: Fotomodus ===== */
body.foto .hud,body.foto .linksunten,body.foto .funk,body.foto .hinweis,body.foto .lobbybox,body.foto .toast,body.foto .sterne{opacity:0;pointer-events:none;transition:opacity .3s}
.fotorahmen{position:fixed;inset:0;z-index:8;pointer-events:none;opacity:0;transition:opacity .35s}
.fotorahmen.an{opacity:1}
.fotorahmen i{position:absolute;width:46px;height:46px;border:2px solid rgba(255,255,255,.85)}
.fotorahmen i:nth-child(1){top:26px;left:26px;border-right:0;border-bottom:0}
.fotorahmen i:nth-child(2){top:26px;right:26px;border-left:0;border-bottom:0}
.fotorahmen i:nth-child(3){bottom:26px;left:26px;border-right:0;border-top:0}
.fotorahmen i:nth-child(4){bottom:26px;right:26px;border-left:0;border-top:0}
.fotorahmen p{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);margin:0;font-family:'Anton',sans-serif;font-size:19px;letter-spacing:.22em;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.8)}
.fotorahmen p span{color:#ff2d7e}

/* ===== Oberfläche: Überlagerung (Start und Werkstatt) ===== */
.einzug{position:fixed;inset:0;z-index:12;display:grid;place-items:center;pointer-events:none;opacity:0;transition:opacity .45s ease;background:#000}
.einzug.an{opacity:1}
.einzug.rot{background:radial-gradient(ellipse at 50% 45%,#7d0512 0%,#2a0206 42%,#0a0002 100%)}
.reise{position:fixed;inset:0;z-index:12;display:grid;place-items:center;align-content:center;gap:34px;pointer-events:none;opacity:0;transition:opacity .45s ease;background:radial-gradient(ellipse at 50% 120%,color-mix(in srgb,var(--reise-farbe,#ffb000) 22%,#05060a) 0%,#05060a 62%)}
.reise[hidden]{display:none}
.reise.an{opacity:1}
.reise-schild{display:grid;justify-items:center;gap:6px;padding:18px 34px 16px;border:3px solid #f4f4f0;border-radius:10px;background:#1e5a2e;box-shadow:0 18px 60px rgba(0,0,0,.6);transform:translateY(8px);transition:transform .6s ease}
.reise.an .reise-schild{transform:none}
.reise-schild small{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#d6eadb}
.reise-schild b{font-family:'Anton',sans-serif;font-size:clamp(30px,6vw,64px);line-height:1;color:#fff;letter-spacing:.02em}
.reise-schild span{font-size:15px;color:#f4f4f0;opacity:.9}
.reise-strasse{width:min(520px,80vw);height:6px;border-radius:3px;background:rgba(255,255,255,.12);overflow:hidden}
.reise-strasse i{display:block;height:100%;width:0;background:var(--reise-farbe,#ffb000)}
.reise.an .reise-strasse i{animation:reiseFahrt var(--reise-dauer,2.6s) linear forwards}
@keyframes reiseFahrt{to{width:100%}}
.einzug p{font-family:'Anton',sans-serif;font-size:clamp(26px,5.4vw,58px);color:#ff2a3c;text-shadow:0 0 40px rgba(255,20,40,.55);max-width:22ch;text-align:center;margin:0;padding:0 20px;line-height:1.15}
.overlay{position:fixed;inset:0;z-index:9;display:grid;place-items:center;background:color-mix(in srgb,var(--bg) 90%,transparent);padding:20px;overflow:auto;animation:einblenden .25s}
.overlay[hidden]{display:none}
.karte-inhalt{position:relative;z-index:2;max-width:620px;text-align:center;padding:20px 0}
.karte-inhalt h2{font-size:clamp(34px,7vw,66px);line-height:1;text-transform:uppercase;margin:0 0 14px}
.karte-inhalt h2 span{color:var(--glow)}
.karte-inhalt p{color:var(--muted);margin:0 auto 10px;max-width:48ch;line-height:1.6}
.zahlen{display:flex;gap:30px;justify-content:center;margin:20px 0 24px;flex-wrap:wrap}
.zahlen b{display:block;font-size:34px;color:var(--glow);line-height:1}
.zahlen span{font-size:12px;letter-spacing:.16em;color:var(--muted)}
.steuerung{display:grid;grid-template-columns:repeat(2,1fr);gap:5px 16px;margin:10px 0 4px;font-size:13px;color:rgba(237,230,220,.7);text-align:left}
.steuerung b{color:#fff;font-family:'Archivo',sans-serif;font-weight:600;margin-right:4px}
.overlay p.neu{display:inline-block;padding:5px 12px;border-radius:12px;line-height:1.35;background:var(--glow);color:var(--bg);font-size:11.5px;letter-spacing:.08em;font-weight:600;margin-bottom:14px}
.startknopf{display:inline-flex;align-items:center;gap:12px;padding:15px 32px;border:0;border-radius:4px;background:var(--glow);color:var(--bg);font-weight:600;font-size:17px;cursor:pointer}
.tasten{display:flex;gap:8px;justify-content:center;margin:18px 0 4px;flex-wrap:wrap}
.taste{border:1px solid var(--line);border-radius:4px;padding:7px 13px;font-family:'Anton',sans-serif;font-size:15px}
.namensfeld{width:100%;max-width:340px;margin:6px auto 12px;display:block;padding:14px 16px;border:1px solid var(--line);background:var(--panel);color:var(--fg);font:inherit;font-size:17px;border-radius:3px;text-align:center}
.vorschlaege{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:18px}
.vorschlag{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:999px;padding:7px 13px;font-size:12.5px;cursor:pointer;transition:border-color .15s,color .15s,background .15s}
.vorschlag:hover,.vorschlag.an{border-color:var(--glow);color:var(--glow)}
.knopfreihe{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:6px}
.zweitknopf{padding:15px 24px;border:1px solid var(--glow);background:transparent;color:var(--glow);border-radius:2px;font-size:15px;cursor:pointer}
.codefeld{width:150px;text-align:center;letter-spacing:.3em;text-transform:uppercase;padding:14px 10px;border:1px solid var(--line);background:var(--panel);color:var(--fg);font:inherit;font-size:17px;border-radius:3px}
.lobbyliste{margin:18px auto 0;max-width:400px;text-align:left}
.lobbyliste div{display:flex;justify-content:space-between;padding:9px 2px;border-bottom:1px solid var(--line);font-size:14px}
.lobbyliste span{color:var(--muted);font-size:12px;letter-spacing:.14em}
.code{font-family:'Anton',sans-serif;font-size:38px;letter-spacing:.24em;color:var(--glow);display:block;margin:6px 0 2px}
.werkstatt{width:min(740px,94vw);text-align:left}
.werkstatt h2{text-align:center}
.wkopf{display:flex;justify-content:space-between;align-items:baseline;gap:14px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:6px;flex-wrap:wrap}
.wkopf b{font-size:26px;color:var(--glow)}
.teil{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.teil h3{font-size:19px;margin:0 0 3px}
.teil p{margin:0;font-size:13px;color:var(--muted);line-height:1.45}
.teil .stufe{font-size:12px;letter-spacing:.14em;color:var(--glow)}
.kaufen{padding:11px 18px;border:1px solid var(--glow);background:transparent;color:var(--glow);border-radius:2px;font-size:14px;cursor:pointer;white-space:nowrap}
.kaufen:disabled{opacity:.35;cursor:not-allowed;border-color:var(--line);color:var(--muted)}
.wfuss{display:flex;justify-content:center;margin-top:22px}

/* ===== Oberfläche: Start- und Ladebildschirm ===== */
.overlay.start{background:#10171d;padding:0;place-items:stretch;overflow:hidden;color:#F0F2F0}
.startbild{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;animation:startZoom 26s ease-in-out infinite alternate}
@keyframes startZoom{from{transform:scale(1)}to{transform:scale(1.06) translateY(-1%)}}
.overlay:not(.start) .startbild,.overlay:not(.start) .startregen,.overlay:not(.start) .startblau{display:none}
/* Kameraflug hinter dem Menü (39-startflug.js): das gemalte Bild blendet aus, die echte Stadt erscheint */
.overlay.start.live{background:transparent}
.startbild,.startblau,.startregen{transition:opacity 2.4s ease}
.overlay.start.live .startbild,.overlay.start.live .startblau,.overlay.start.live .startregen{opacity:0}
.startblende{position:absolute;inset:0;background:#07040d;opacity:0;pointer-events:none;z-index:1}
.overlay.start.live .startblende.lauf{animation:startBlende 11s linear both}
@keyframes startBlende{0%{opacity:1}11%{opacity:0}89%{opacity:0}100%{opacity:1}}
.overlay.start.live::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse at 60% 45%,transparent 45%,rgba(7,4,13,.55) 100%)}
.startort{position:absolute;right:6vw;top:4.2vh;z-index:3;opacity:0;pointer-events:none;color:#fff;display:none;text-align:right}
.overlay.start.live .startort{display:block}
.startort b{display:block;font-family:'Anton',sans-serif;font-size:15px;letter-spacing:.28em;text-transform:uppercase;font-weight:400}
.startort span{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(237,230,220,.6);margin-top:3px}
.startort.lauf{animation:startOrt 11s ease both}
@keyframes startOrt{0%,10%{opacity:0;transform:translateY(6px)}18%,80%{opacity:1;transform:none}90%,100%{opacity:0}}
.startregen{position:absolute;inset:0;pointer-events:none;overflow:hidden;opacity:.3}
.startregen::before{content:"";position:absolute;left:-10%;right:-10%;top:-260px;bottom:0;background-image:repeating-linear-gradient(104deg,transparent 0 22px,rgba(200,210,255,.35) 22px 23px,transparent 23px 61px),repeating-linear-gradient(100deg,transparent 0 37px,rgba(255,200,230,.25) 37px 38px,transparent 38px 90px);background-size:180px 260px,260px 260px;animation:regen .8s linear infinite;will-change:transform}
@keyframes regen{from{transform:translate3d(0,0,0)}to{transform:translate3d(-60px,260px,0)}}
.startblau{position:absolute;left:0;right:0;bottom:0;height:40%;pointer-events:none}
.startblau i{position:absolute;bottom:4%;width:46vmin;height:30vmin;border-radius:50%;filter:blur(30px);opacity:.0;animation:blaulicht 1.1s infinite}
.startblau i:first-child{left:6%;background:radial-gradient(circle,rgba(40,110,255,.8),transparent 70%)}
.startblau i:last-child{left:20%;background:radial-gradient(circle,rgba(255,40,70,.75),transparent 70%);animation-delay:.55s}
@keyframes blaulicht{0%,40%{opacity:.55}50%,100%{opacity:.05}}
.overlay.start .karte-inhalt{position:relative;z-index:2;max-width:none;width:100%;min-height:100%;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,440px);grid-template-rows:1fr auto;gap:24px 6vw;align-items:end;padding:6vh 6vw 6vh;text-align:left;background:linear-gradient(90deg,rgba(7,4,13,.82),rgba(7,4,13,.2) 55%,rgba(7,4,13,.6)),linear-gradient(0deg,rgba(7,4,13,.9),transparent 40%)}
.startlogo{grid-column:1;grid-row:1/3;align-self:end;animation:hochgleiten .9s cubic-bezier(.2,.8,.2,1)}
.startlogo small{display:inline-block;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:#e0b368;font-weight:600;margin-bottom:14px}
.overlay.start .karte-inhalt h2{font-size:clamp(56px,10vw,148px);line-height:.86;margin:0;text-transform:uppercase;color:#fff;text-shadow:0 8px 40px rgba(0,0,0,.6)}
.overlay.start .karte-inhalt h2 span{display:block;color:#e0b368;font-size:.55em;letter-spacing:.025em;margin-top:.3em;line-height:1}
.overlay.start .startzeile{margin:18px 0 0;max-width:36ch;font-size:clamp(14px,1.4vw,17px);color:rgba(237,230,220,.8);line-height:1.5}
.ladeteil{grid-column:2;grid-row:2;align-self:end;transition:opacity .5s}
.ladebalken{height:4px;border-radius:2px;background:rgba(255,255,255,.12);overflow:hidden}
.ladebalken i{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#a67d42,#e0b368)}
.ladetext{display:flex;justify-content:space-between;margin:10px 0 0 !important;max-width:none !important;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:rgba(237,230,220,.75) !important}
.ladetext b{font-family:'Anton',sans-serif;font-size:16px;color:#fff;letter-spacing:.06em}
.ladetipp{margin:14px 0 0 !important;font-size:13px;color:rgba(237,230,220,.55) !important}
.startpanel{grid-column:2;grid-row:1/3;align-self:end;display:flex;flex-direction:column;padding:24px 24px 18px;border-radius:6px;background:linear-gradient(160deg,rgba(24,37,44,.96),rgba(12,21,27,.96));border:1px solid rgba(229,237,239,.18);box-shadow:0 20px 60px rgba(0,0,0,.35);opacity:0;transform:translateY(20px);pointer-events:none;visibility:hidden;transition:opacity .6s,transform .6s cubic-bezier(.2,.8,.2,1),visibility 0s .6s;max-height:calc(100svh - 12vh);overflow:hidden}
.startpanel .rollenwahl{min-height:0;overflow-y:auto;flex-shrink:1}
.startpanel .rollentitel,.startpanel .rollenhilfe,.startpanel .startzeile2,.startpanel .startrand{flex-shrink:0}
.overlay.bereit .startpanel{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity .6s .15s,transform .6s .15s cubic-bezier(.2,.8,.2,1),visibility 0s}
.overlay.bereit .ladeteil{opacity:0;pointer-events:none}
.overlay.start p.neu{margin:0 0 16px}
/* Patch Notes: die ersten vier Punkte, der Rest aufklappbar */
.patchnotes .mehr{margin:6px 0 0;background:none;border:0;padding:0;color:#e0b368;font:inherit;font-size:12px;letter-spacing:.08em;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.namenlabel{display:block;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:rgba(237,230,220,.6);font-weight:600;margin-bottom:6px}
.overlay.start .namensfeld{max-width:none;margin:0 0 10px;text-align:left;font-family:'Anton',sans-serif;font-size:24px;letter-spacing:.04em;padding:12px 16px;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.35);color:#fff}
.overlay.start .namensfeld:focus{border-color:var(--neon);outline:none;box-shadow:0 0 0 3px rgba(224,179,104,.2)}
.overlay.start .vorschlaege{justify-content:flex-start;margin-bottom:18px}
.overlay.start .vorschlag{border-color:rgba(255,255,255,.14);color:rgba(237,230,220,.72)}
.overlay.start .vorschlag:hover,.overlay.start .vorschlag.an{border-color:var(--neon);color:#fff;background:rgba(224,179,104,.16)}
.overlay.start .knopfreihe{justify-content:stretch}
.overlay.start .startknopf{flex:1;justify-content:center;padding:17px 28px;border-radius:4px;background:#e0b368;color:#182127;font-family:'Archivo',system-ui,sans-serif;font-weight:800;font-size:22px;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 6px 18px rgba(0,0,0,.2);transition:transform .15s,background .15s}
.overlay.start .startknopf:hover{transform:translateY(-1px);background:#ecc687}
.overlay.start .startknopf:active{transform:scale(.97)}
.overlay.start .startknopf kbd{font-size:10px;opacity:.8}
.overlay.start #netzHinweis{font-size:12px;color:rgba(237,230,220,.55);margin:14px 0 0;max-width:none}
/* Rollenwahl im Startmenü (21-rollen.js, 23-start-tasten.js) */
.rollentitel{margin:0 0 14px;font-family:'Archivo',system-ui,sans-serif;font-weight:600;font-size:16px;letter-spacing:.04em;color:#fff}
.rollenwahl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px}
.rollenkarte{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;column-gap:10px;align-items:center;text-align:left;padding:11px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#fff;cursor:pointer;font:inherit;transition:border-color .15s,background .15s,transform .15s}
.rollenkarte:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.3)}
.rollenkarte .rs{grid-row:1/4;display:grid;place-items:center;width:40px;height:40px;border-radius:10px;font-size:22px;background:var(--rf,#555)}
.rollenkarte b{font-family:'Archivo',system-ui,sans-serif;font-weight:600;font-size:14px;letter-spacing:.01em}
.rollenkarte small{font-size:11.5px;line-height:1.3;color:rgba(237,230,220,.68)}
.rollenkarte .rstory{grid-column:2;margin-top:3px;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(237,230,220,.45)}
.rollenkarte .rstory.ja{color:#ffd166}
.rollenkarte.an{border-color:var(--rf);background:linear-gradient(135deg,color-mix(in srgb,var(--rf) 26%,transparent),rgba(255,255,255,.03));box-shadow:0 0 0 1px var(--rf) inset}
.startzeile2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:stretch}
.startname{grid-column:1/-1;min-width:0}
.overlay.start .startname .namensfeld{font-size:18px;padding:10px 12px;margin:0}
.overlay.start .startname .vorschlaege{display:none}
.overlay.start .startzeile2 .startknopf{min-width:0;font-size:16px;padding:12px 10px}
@media (max-height:800px){.startpanel .rollenkarte small,.startpanel .rollenkarte .rstory{display:none}}
.startrand{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;margin-top:12px;font-size:11.5px;color:rgba(237,230,220,.5)}
.startrand #netzHinweis{flex:1 1 100%;font-size:11.5px;margin:0}
.randknopf{background:none;border:0;padding:0;color:rgba(237,230,220,.65);font:inherit;font-size:11.5px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.randknopf:hover{color:#fff}
/* Changelog: kurze Karte im Startmenü, alles Weitere im Fenster */
.patch-handy{display:none}
.changelog{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:20px;background:rgba(7,4,13,.72);backdrop-filter:blur(6px);animation:einblenden .2s}
.changelog[hidden]{display:none}
.cl-karte{width:min(620px,100%);max-height:min(82vh,760px);display:flex;flex-direction:column;background:#120b1d;border:1px solid rgba(255,138,181,.35);border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.6);overflow:hidden}
.cl-kopf{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.08)}
.cl-kopf h3{margin:0;font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:#ff8ab5}
.cl-zu{background:none;border:0;color:rgba(237,230,220,.8);font-size:20px;line-height:1;cursor:pointer;padding:4px 8px;border-radius:8px}
.cl-zu:hover,.cl-zu:focus-visible{background:rgba(255,255,255,.08)}
.cl-inhalt{overflow:auto;padding:8px 18px 18px;overscroll-behavior:contain}
.cl-version{border-bottom:1px solid rgba(255,255,255,.07)}
.cl-version summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;padding:12px 0;font-size:15px;color:#ede6dc}
.cl-version summary::-webkit-details-marker{display:none}
.cl-version summary::after{content:"▾";margin-left:auto;color:rgba(237,230,220,.5);transition:transform .2s}
.cl-version:not([open]) summary::after{transform:rotate(-90deg)}
.cl-nr{display:inline-block;min-width:3.2em;padding:2px 8px;border-radius:999px;background:rgba(255,138,181,.15);color:#ff8ab5;font-size:12px;font-weight:700;text-align:center}
.cl-version ul{margin:0 0 12px;padding:0;list-style:none;display:grid;gap:8px}
.cl-version li{font-size:13.5px;line-height:1.5;color:rgba(237,230,220,.78);padding-left:12px;border-left:2px solid rgba(255,138,181,.25)}
.cl-version li b{display:block;color:#ede6dc;font-weight:600}
.patchnotes{margin-top:20px;max-width:44ch;padding:12px 14px;border-left:3px solid var(--neon);background:rgba(7,4,13,.5);border-radius:0 10px 10px 0}
.patchnotes b{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#e0b368}
.patchnotes ul{margin:6px 0 0;padding-left:18px;font-size:13px;line-height:1.55;color:rgba(237,230,220,.8)}
.startmehr{margin-top:10px;border-top:1px solid rgba(255,255,255,.08);padding-top:8px}
.startmehr summary{cursor:pointer;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:rgba(237,230,220,.7);font-weight:600;padding:4px 0;list-style:none}
.startmehr summary::before{content:"+ ";color:var(--neon)}
.startmehr[open] summary::before{content:"− "}
.startmehr p{font-size:13px;margin:8px 0 !important;max-width:none !important;color:rgba(237,230,220,.65) !important;line-height:1.5}

/* ===== Oberfläche: kleine Bildschirme und Touch ===== */
@media (max-width:760px), (pointer:coarse) and (max-height:520px){
  :root{--rand:max(8px,env(safe-area-inset-left))}
  .topbar{top:max(8px,env(safe-area-inset-top))}
  .uhr b{font-size:15px}
  .uhr span{font-size:9px}
  .kontoanzeige b{font-size:30px}
  .kontoanzeige .euro{font-size:20px}
  .levelzeile i{width:70px;height:4px}
  .levelzeile span{font-size:11px}
  .kopfknoepfe{margin-top:6px}
  .werkstattknopf span,.werkstattknopf kbd{display:none}
  .werkstattknopf{padding:7px}
  .geldflug span{font-size:22px;top:-28px}
  .sterne{top:calc(max(8px,env(safe-area-inset-top)) + 112px);font-size:19px}
  .lobbybox{display:none}
  .linksunten{top:max(8px,env(safe-area-inset-top));bottom:auto;width:auto}
  .funk,.karte-box p#kartenTitel{display:none}
  .karte-box{width:118px}
  .minirund{width:118px;height:118px;padding:3px}
  .karte-box canvas{width:112px;height:112px}
  .karte-box{align-items:flex-start}
  .navizeile{max-width:62vw;font-size:10px !important;padding:3px 8px;margin-top:5px !important}
  .auftrag{top:calc(max(8px,env(safe-area-inset-top)) + 160px);width:min(60vw,300px);padding:9px 12px 10px}
  .auftrag h2{font-size:17px}
  .auftrag p{display:none}
  .auftrag .lohn{font-size:11px;margin-top:4px}
  .zielzeile{margin-top:6px;padding-top:6px}
  .pfeil{width:28px;height:28px;flex-basis:28px}
  .entfernung b{font-size:17px}
  .steuer{top:calc(max(8px,env(safe-area-inset-top)) + 146px);bottom:auto;width:120px;padding:7px}
  .tachorund{width:96px;height:96px}
  .tachomitte b{font-size:26px}
  .tachomitte span{font-size:8px}
  .tachogang{bottom:6px;font-size:11px;padding:0 5px;min-width:20px}
  .tachoinfo{width:100px}
  .autoname{font-size:10px}
  .drehzahl{margin:6px 0}
  .fahrstatus{margin-top:6px;padding-top:5px;font-size:9px}
  .fahrlicht{font-size:8px}
  .fahrwarnung{font-size:9px;margin-top:4px}
  .tachoinfo .zustand{font-size:8px;gap:3px}
  .einweiser{top:auto;bottom:calc(max(24px,env(safe-area-inset-bottom)) + 206px);min-width:0;width:calc(100vw - 16px);max-width:none;padding:8px 12px}
  .einweiser div{font-size:13px}
  .hinweis{bottom:calc(max(24px,env(safe-area-inset-bottom)) + 206px);font-size:12.5px;white-space:normal;text-align:center;width:max-content}
  body.mitEinweiser .hinweis{bottom:calc(max(24px,env(safe-area-inset-bottom)) + 300px)}
  .kampfhud{bottom:calc(max(24px,env(safe-area-inset-bottom)) + 170px);gap:8px;padding:6px 12px;max-width:calc(100vw - 16px);flex-wrap:wrap;justify-content:center}
  .hpbar{width:100px}
  .kampfhud .munition{min-width:0}
  .missionsbox{top:auto;bottom:calc(max(24px,env(safe-area-inset-bottom)) + 250px);max-width:calc(100vw - 16px)}
  body.mitEinweiser .missionsbox{top:auto;bottom:calc(max(24px,env(safe-area-inset-bottom)) + 340px)}
  .toast{top:40%;font-size:22px;padding:10px 18px}
  .chatlog{bottom:auto;top:46%;max-width:70vw}
  .chatlog p{font-size:11.5px}
  .rennanzeige{top:auto;bottom:calc(max(24px,env(safe-area-inset-bottom)) + 206px);font-size:17px}
  .emoterad{grid-template-columns:repeat(4,1fr);width:calc(100vw - 16px);padding:10px;gap:6px}
  .emoterad button{height:72px}
  .gk-rahmen{flex-direction:column;padding:10px;max-height:96svh;width:96vw;gap:10px}
  .gk-rahmen canvas{width:min(92vw,62svh);height:min(92vw,62svh);margin:0 auto}
  .gk-rahmen aside{width:auto;min-height:0;flex:1}
  .gk-legende{grid-template-columns:repeat(4,1fr);font-size:10px;padding:8px}
  .gk-rahmen .unter,.grosskarte .mini{display:none}
  .gk-rahmen h3{font-size:22px}
  .ein-rahmen{width:100vw;max-height:100svh;height:100svh;border-radius:0;padding:16px}
  .pause-gross,.statistik{grid-template-columns:1fr 1fr}
  .pause-kurz{grid-template-columns:1fr 1fr}
  .steuerhilfe,.ein-tasten{grid-template-columns:1fr}
  .ein-reihe input[type=range]{width:140px}
  .overlay.start .karte-inhalt{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;padding:max(24px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom));gap:18px;align-items:start;background:linear-gradient(0deg,rgba(7,4,13,.94) 30%,rgba(7,4,13,.3) 70%,rgba(7,4,13,.6))}
  .startlogo{grid-column:1;grid-row:1}
  .overlay.start .karte-inhalt h2{font-size:clamp(48px,16vw,80px)}
  .overlay.start .startzeile{font-size:13.5px;margin-top:10px}
  .ladeteil{grid-column:1;grid-row:3}
  .startpanel{grid-column:1;grid-row:3;padding:18px 16px 14px;max-height:none}
  .patchnotes{display:none}
  .patch-handy{display:inline-block;margin-top:8px;background:rgba(7,4,13,.55);border:1px solid rgba(255,138,181,.4);color:#ff8ab5;border-radius:999px;padding:6px 14px;font:inherit;font-size:12.5px;letter-spacing:.06em;cursor:pointer}
  .cl-karte{max-height:88vh}
  .rollenkarte{padding:9px 10px}
  .rollenkarte small{display:none}
  .rollenkarte .rs{width:34px;height:34px;font-size:19px}
  .overlay.start .startknopf{font-size:22px;padding:15px 20px}
  .steuerung{grid-template-columns:1fr}
}
/* Im Querformat auf dem Handy ist die Höhe knapp */
@media (max-height:520px){
  .minirund{width:118px;height:118px}
  .karte-box canvas{width:112px;height:112px}
  .funk{display:none}
  .tachorund{width:110px;height:110px}
  .tachomitte b{font-size:30px}
  .steuer{width:120px}
}
/* Im Touch-Querformat stehen Instrumente zwischen Karte und Bedienfeld. */
@media (pointer:coarse) and (orientation:landscape), (pointer:coarse) and (min-width:901px){
  .touchan .steuer{top:max(8px,env(safe-area-inset-top));right:calc(max(14px,env(safe-area-inset-right)) + 190px);bottom:auto;width:180px;padding:7px;display:grid;grid-template-columns:70px 1fr;gap:8px;align-items:center}
  .touchan .tachorund{width:70px;height:70px}
  .touchan .tachomitte b{font-size:22px}
  .touchan .tachomitte span{font-size:7px}
  .touchan .tachogang{font-size:9px;bottom:3px;min-width:16px;padding:0 3px}
  .touchan .tachoinfo{width:auto;min-width:0;margin-top:0}
  .touchan .drehzahl{margin:4px 0}
  .touchan .autoname{font-size:8px}
  .touchan .tachoinfo .zustand{font-size:7px;gap:2px;margin-top:3px}
  .touchan .fahrstatus{font-size:8px;gap:2px;margin-top:2px;padding-top:2px}
  .touchan .fahrwarnung{font-size:8px}
  .touchan .touchkontext{right:calc(max(14px,env(safe-area-inset-right)) + 190px);bottom:max(24px,env(safe-area-inset-bottom));max-width:112px}
}

@media (prefers-reduced-motion:reduce){
  .startbild,.startregen::before,.startblau i,.sterne.blinkt{animation:none}
  .geraet,.gk-rahmen,.ein-rahmen,.screen.neu,.appicon{animation:none}
}

/* ===== Platz für Missionen: eigene Stile hier anhängen ===== */

/* ===== Ende Platz für Missionen ===== */

/* ===== Story-Kampagne (38-story-film.js, 38-story.js) =====
   Eigener Block: Letterbox, Missionstitel, Untertitel, Anruf, Missionsziel, Fotosucher, Schlussbild */
.story-balken{position:fixed;left:0;right:0;height:0;z-index:10;background:#000;pointer-events:none;transition:height .6s ease}
.story-balken.oben{top:0}
.story-balken.unten{bottom:0}
body.imFilm .story-balken{height:11vh}
body.imFilm .hud,body.imFilm .linksunten,body.imFilm .auftrag,body.imFilm .missionsbox,body.imFilm .hinweis,body.imFilm .einweiser,
body.imFilm .kampfhud,body.imFilm .sterne,body.imFilm .lobbybox,body.imFilm .chatlog,body.imFilm .fadenkreuz,body.imFilm .rennanzeige,
body.imFilm .arbeitspanel,body.imFilm .fps,body.imFilm .story-ziel,body.imFilm .toast{opacity:0;pointer-events:none;transition:opacity .4s}
.story-titel{position:fixed;z-index:11;left:6vw;top:calc(11vh + 26px);pointer-events:none;animation:storyRein .7s ease both}
.story-titel[hidden]{display:none}
.story-titel small{display:block;font:600 13px Inter,Arial,sans-serif;letter-spacing:.28em;color:#ffb000;margin-bottom:6px}
.story-titel b{display:block;font-family:'Anton',sans-serif;font-weight:400;font-size:clamp(34px,6vw,72px);line-height:1;color:#fff;text-transform:uppercase;text-shadow:0 4px 24px rgba(0,0,0,.7)}
.story-untertitel{position:fixed;z-index:11;left:50%;bottom:calc(11vh + 18px);transform:translateX(-50%);width:min(820px,90vw);text-align:center;pointer-events:none;font-size:clamp(16px,2.1vw,22px);line-height:1.4;color:#fff;text-shadow:0 2px 6px #000,0 0 18px rgba(0,0,0,.8)}
body:not(.imFilm) .story-untertitel{bottom:128px}
.story-untertitel[hidden]{display:none}
.story-untertitel b{margin-right:8px;font-weight:700}
.story-skip{position:fixed;z-index:11;right:24px;bottom:calc(11vh - 30px);font:600 11px Inter,Arial,sans-serif;letter-spacing:.2em;color:rgba(255,255,255,.55);text-transform:uppercase;cursor:pointer}
.story-skip[hidden]{display:none}
.story-anruf{position:fixed;z-index:9;right:min(3vw,20px);top:128px;display:flex;align-items:center;gap:12px;padding:12px 18px 12px 12px;background:rgba(10,8,14,.86);border:1px solid #ffb000;border-radius:18px;backdrop-filter:blur(10px);cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.4);transition:transform .2s}
.story-anruf[hidden]{display:none}
.story-anruf.wackelt{transform:rotate(-1.5deg)}
.story-anruf i{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;font:700 20px Inter,Arial,sans-serif;font-style:normal;color:#1b1208}
.story-anruf small{display:block;font-size:10px;letter-spacing:.2em;color:rgba(237,230,220,.6);text-transform:uppercase}
.story-anruf b{display:block;font-size:16px;color:#fff}
.story-anruf span{display:block;font-size:12px;color:#ffb000}
.story-ziel{position:fixed;z-index:6;left:50%;bottom:118px;transform:translateX(-50%);width:min(560px,92vw);padding:10px 18px 12px;text-align:center;background:rgba(7,5,11,.72);border:1px solid rgba(255,176,0,.55);border-radius:10px;backdrop-filter:blur(8px);pointer-events:none}
.story-ziel[hidden]{display:none}
.story-ziel b{display:block;font-size:16px;color:#fff;font-weight:600}
.story-ziel span{display:block;margin-top:3px;font-size:12.5px;color:#ffd166}
.story-leiste{margin-top:8px;height:4px;border-radius:2px;background:rgba(255,255,255,.14);overflow:hidden}
.story-leiste[hidden]{display:none}
.story-leiste i{display:block;height:100%;width:0;background:#ffb000;transition:width .2s linear}
.story-sucher{position:fixed;z-index:6;left:50%;top:44%;width:min(46vw,420px);height:min(30vw,270px);transform:translate(-50%,-50%);pointer-events:none}
.story-sucher[hidden]{display:none}
.story-sucher i{position:absolute;width:34px;height:34px;border:3px solid rgba(255,255,255,.85)}
.story-sucher i:nth-child(1){left:0;top:0;border-right:0;border-bottom:0}
.story-sucher i:nth-child(2){right:0;top:0;border-left:0;border-bottom:0}
.story-sucher i:nth-child(3){left:0;bottom:0;border-right:0;border-top:0}
.story-sucher i:nth-child(4){right:0;bottom:0;border-left:0;border-top:0}
.story-sucher b{position:absolute;left:50%;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#ff3b4e;box-shadow:0 0 10px #ff3b4e}
.story-blitz{position:fixed;inset:0;z-index:12;background:#fff;opacity:0;pointer-events:none}
.story-blitz.an{animation:storyBlitz .45s ease-out}
.story-ende{position:fixed;inset:0;z-index:13;display:grid;place-items:center;background:rgba(4,3,8,.62);backdrop-filter:blur(5px);padding:16px}
.story-ende[hidden]{display:none}
.story-karte{width:min(520px,94vw);padding:26px 28px 22px;text-align:center;background:rgba(12,10,16,.94);border:1px solid #ffb000;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.5);animation:storyRein .45s ease both}
.story-ende.schlecht .story-karte{border-color:#ff3b4e}
.story-karte small{display:block;font-family:'Anton',sans-serif;font-size:clamp(30px,5vw,46px);letter-spacing:.04em;color:#ffb000;line-height:1}
.story-ende.schlecht .story-karte small{color:#ff3b4e}
.story-karte h2{margin:8px 0 14px;font-size:18px;font-weight:600;color:#fff;text-transform:none}
.story-karte p{margin:8px 0;color:rgba(237,230,220,.72);font-size:14px;line-height:1.5}
.story-karte p.grund{font-size:17px;color:#fff}
.story-karte .sterne3{font-size:38px;letter-spacing:6px;color:#ffd166;line-height:1.1}
.story-karte .sterne3 small{display:block;font:600 12px Inter,Arial,sans-serif;letter-spacing:.3em;color:rgba(237,230,220,.6);text-transform:uppercase;margin-top:4px}
.story-karte .werte{display:grid;grid-template-columns:1fr auto;gap:6px 18px;margin:16px 0 8px;text-align:left;font-size:14px}
.story-karte .werte span{color:rgba(237,230,220,.6)}
.story-karte .werte b{color:#fff;text-align:right;font-weight:600}
.story-karte .werte b i{font-style:normal;color:rgba(237,230,220,.5);font-weight:400;font-size:12px}
.story-karte .werte b.geld{color:#8bd17c}
.story-knoepfe{display:flex;gap:10px;justify-content:center;margin-top:18px;flex-wrap:wrap}
.story-knoepfe button{padding:11px 20px;border:1px solid rgba(237,230,220,.3);border-radius:999px;background:transparent;color:#fff;font-size:14px;cursor:pointer}
.story-knoepfe button.haupt{background:#ffb000;border-color:#ffb000;color:#1b1208;font-weight:600}
@keyframes storyRein{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes storyBlitz{0%{opacity:.9}100%{opacity:0}}
@media (prefers-reduced-motion: reduce){.story-balken{transition:none}.story-titel,.story-karte{animation:none}.story-anruf{transition:none}.story-blitz.an{animation:none}}
/* ===== Ende Story-Kampagne ===== */

/* ===== Freizeit (26-innenraeume.js): Spielothek, Tanke, MM-Terminal, Fernseher, Konsole ===== */
.freizeit{position:fixed;inset:0;z-index:12;display:grid;place-items:center;padding:14px;background:radial-gradient(ellipse at 50% 55%,rgba(5,3,9,.45),rgba(5,3,9,.84));animation:einblenden .2s;color:var(--paper)}
.freizeit[hidden]{display:none}
.fz-rahmen{width:min(460px,94vw);max-height:92svh;overflow:auto;box-sizing:border-box;background:linear-gradient(160deg,rgba(24,12,32,.97),rgba(9,6,14,.97));border:1px solid rgba(255,255,255,.1);border-radius:22px;padding:18px 20px 16px;box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 40px rgba(255,45,126,.12);animation:hochgleiten .3s cubic-bezier(.2,.8,.2,1)}
.freizeit[data-art="tanke"] .fz-rahmen{border-top:3px solid #c0392b}
.freizeit[data-art="mm"] .fz-rahmen{border-top:3px solid #ffc72c}
.freizeit[data-art="automat"] .fz-rahmen,.freizeit[data-art="rad"] .fz-rahmen{border-top:3px solid #ff2d7e}
.freizeit[data-art="tv"] .fz-rahmen,.freizeit[data-art="konsole"] .fz-rahmen{border-top:3px solid #3ad0ff}
.fz-kopf{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}
.fz-kopf small{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--neon);font-weight:600}
.fz-kopf h3{margin:2px 0 0;font-family:'Anton',sans-serif;font-weight:400;font-size:30px;text-transform:uppercase;line-height:1.05;letter-spacing:.02em}
.fz-unter{margin:0 0 10px;font-size:12.5px;color:rgba(237,230,220,.62);line-height:1.45}
.fz-fuss{margin:12px 0 0;font-size:11.5px;color:rgba(237,230,220,.5);line-height:1.45}
.fz-liste{display:grid;gap:7px}
.fz-ware{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06)}
.fz-ware h4{margin:0 0 2px;font-family:'Anton',sans-serif;font-weight:400;font-size:16px;letter-spacing:.02em}
.fz-ware p{margin:0;font-size:12px;color:rgba(237,230,220,.6);line-height:1.35}
.fz-ware span{display:block;margin-top:4px;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#8bd17c;font-weight:600}
.fz-haupt{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:12px;padding:13px 16px;border:0;border-radius:999px;background:linear-gradient(90deg,#ff2d7e,#ff6aa6);color:#0a0610;font:600 15px 'Archivo',sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;box-shadow:0 8px 24px rgba(255,45,126,.35);transition:transform .1s,opacity .2s}
.fz-haupt:active{transform:scale(.97)}
.fz-haupt.aus{opacity:.35;pointer-events:none}
.fz-haupt kbd{font:600 10px 'Archivo',sans-serif;padding:2px 6px;border-radius:5px;background:rgba(0,0,0,.18)}
.fz-ergebnis{margin-top:10px;min-height:20px;text-align:center;font-family:'Anton',sans-serif;font-size:18px;letter-spacing:.03em;color:#ffd166;text-shadow:0 0 18px rgba(255,209,102,.35)}
.fz-walzen{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px;border-radius:18px;background:linear-gradient(180deg,#0c0812,#1c1026 50%,#0c0812);box-shadow:inset 0 0 0 2px rgba(255,45,126,.5),inset 0 10px 30px rgba(0,0,0,.6),0 0 30px rgba(255,45,126,.2)}
.fz-walzen span{display:grid;place-items:center;height:92px;border-radius:12px;background:linear-gradient(180deg,#d9d2c6,#fffaf0 30%,#fffaf0 70%,#d9d2c6);color:#c0392b;font-family:'Anton',"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;font-size:46px;box-shadow:inset 0 6px 10px rgba(0,0,0,.25),inset 0 -6px 10px rgba(0,0,0,.25)}
.fz-einsatz{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(237,230,220,.6)}
.fz-plan{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px}
.fz-plan span{display:grid;justify-items:center;gap:2px;padding:6px 2px;border-radius:10px;background:rgba(255,255,255,.05);font-size:10.5px;color:rgba(237,230,220,.6)}
.fz-plan b{font-family:'Archivo',"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;font-size:13px;color:#fff;white-space:nowrap}
.fz-radbox{display:grid;justify-items:center}
.fz-rad{position:relative;width:250px;height:250px;margin:14px auto 0}
.fz-scheibe{position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 6px #14081a,0 0 0 8px #ffd24a,0 0 34px rgba(255,210,74,.35);transition:transform 3.4s cubic-bezier(.12,.7,.15,1)}
.fz-scheibe b{position:absolute;left:50%;top:50%;width:48px;margin:-9px 0 0 -24px;text-align:center;font:600 13px 'Archivo',sans-serif;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.8)}
.fz-zeiger{position:absolute;left:50%;top:-14px;margin-left:-11px;border-left:11px solid transparent;border-right:11px solid transparent;border-top:24px solid #fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.6))}
.fz-nabe{position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#b8bec6);box-shadow:0 2px 8px rgba(0,0,0,.5)}
.fz-los{margin:0 0 12px;padding:12px;border-radius:16px;background:linear-gradient(135deg,#2a1a04,#4a3208);border:1px dashed rgba(255,209,102,.6);text-align:center}
.fz-los h4{margin:0 0 8px;font-family:'Anton',sans-serif;font-weight:400;color:#ffd166;letter-spacing:.05em}
.fz-los p{margin:8px 0 0;font-size:12.5px;color:rgba(237,230,220,.75)}
.fz-losfelder{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.fz-losfelder button{height:54px;border:0;border-radius:10px;background:repeating-linear-gradient(45deg,#9aa0a8,#9aa0a8 6px,#b8bec6 6px,#b8bec6 12px);color:#2a2a2e;font:400 20px 'Anton',sans-serif;cursor:pointer}
.fz-losfelder button.auf{background:#fffaf0;color:#1b1208;cursor:default}
.fz-tv{--kanal:#ff2d7e}
.fz-tvbild{position:relative;aspect-ratio:16/10;overflow:hidden;padding:14px 16px 34px;border-radius:14px;background:radial-gradient(ellipse at 30% 20%,rgba(255,255,255,.12),#07050b 75%);box-shadow:0 0 0 8px #0c0c0f,0 0 0 9px #2a2a30,0 14px 40px rgba(0,0,0,.6);margin:8px}
.fz-tvbild::before{content:"";position:absolute;inset:0;pointer-events:none;background:var(--kanal);opacity:.16}
.fz-tvbild::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px)}
.fz-tvbild > *{position:relative;z-index:1}
.fz-tvbild small{display:inline-block;padding:3px 8px;border-radius:4px;background:var(--kanal);color:#0a0610;font:600 10.5px 'Archivo',sans-serif;letter-spacing:.14em;text-transform:uppercase}
.fz-tvbild b{display:block;margin:10px 0 6px;font-family:'Anton',sans-serif;font-weight:400;font-size:22px;letter-spacing:.02em;color:#fff}
.fz-tvbild p{margin:0;font-size:14px;line-height:1.45;color:rgba(255,255,255,.88)}
.fz-quiz{display:grid;gap:6px;margin-top:10px}
.fz-quiz:empty{display:none}
.fz-quiz .pille{text-align:left;white-space:normal;padding:7px 12px}
.fz-laufband{position:absolute !important;left:0;right:0;bottom:0;height:24px;overflow:hidden;background:rgba(0,0,0,.65);border-top:2px solid var(--kanal)}
.fz-laufband span{position:absolute;top:4px;white-space:nowrap;font-size:12px;font-weight:600;color:#fff;animation:fzLaufband 22s linear infinite}
@keyframes fzLaufband{from{transform:translateX(420px)}to{transform:translateX(-100%)}}
.fz-tvknoepfe{display:flex;justify-content:space-between;align-items:center;margin-top:16px;font-size:12px;color:rgba(237,230,220,.6)}
.fz-konsolekopf{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(237,230,220,.6);margin-bottom:6px}
.fz-konsolekopf b{font-family:'Anton',sans-serif;font-weight:400;font-size:16px;letter-spacing:.04em;color:#fff;margin-left:4px}
#fzKonsole{display:block;width:100%;height:auto;aspect-ratio:320/220;border-radius:12px;background:#120a1e;box-shadow:0 0 0 2px rgba(58,208,255,.4),0 0 24px rgba(58,208,255,.15);image-rendering:pixelated}
@media (prefers-reduced-motion: reduce){.fz-scheibe{transition-duration:.6s}.fz-laufband span{animation:none;left:8px}}

/* ===== Radio (32-schaden-wetter-radio.js): Anzeige beim Senderwechsel ===== */
.radioanzeige{position:fixed;z-index:6;right:calc(var(--rand) + 200px);bottom:max(26px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:12px;padding:10px 16px 10px 12px;min-width:210px;border-radius:14px;background:linear-gradient(100deg,rgba(9,6,15,.9),rgba(9,6,15,.72));border:1px solid var(--hud-rand);border-left:3px solid var(--glow);color:var(--hud-text);box-shadow:0 12px 30px rgba(0,0,0,.35);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s,transform .3s cubic-bezier(.2,.9,.3,1.2)}
.radioanzeige.an{opacity:1;transform:none}
.radioanzeige small{display:block;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--glow);font-weight:600}
.radioanzeige div b{display:block;font-family:'Anton',sans-serif;font-weight:400;font-size:20px;letter-spacing:.04em;line-height:1.1}
.radioanzeige span{display:block;font-size:12px;color:var(--hud-leise);margin-top:1px}
.ra-eq{display:flex;align-items:flex-end;gap:3px;width:22px;height:26px}
.ra-eq b{display:block;width:4px;height:100%;border-radius:2px;background:var(--glow);transform-origin:bottom;animation:raEq .9s ease-in-out infinite alternate}
.ra-eq b:nth-child(2){animation-delay:-.3s}.ra-eq b:nth-child(3){animation-delay:-.6s}.ra-eq b:nth-child(4){animation-delay:-.15s}
.radioanzeige.aus .ra-eq b{animation:none;transform:scaleY(.15);background:rgba(255,255,255,.3)}
@keyframes raEq{from{transform:scaleY(.2)}to{transform:scaleY(1)}}
body.foto .radioanzeige{opacity:0}
@media (max-width:760px){.radioanzeige{right:auto;left:50%;bottom:auto;top:calc(max(14px,env(safe-area-inset-top)) + 64px);transform:translate(-50%,-8px)}.radioanzeige.an{transform:translate(-50%,0)}}
@media (prefers-reduced-motion: reduce){.ra-eq b{animation:none}}

/* ===== Fotomodus: Auslöser für Kölugram (21-fotomodus-waschen.js) ===== */
.fotorahmen p small{display:block;margin-top:4px;font-family:'Archivo',sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.7);text-align:center}
.fotorahmen::after{content:"";position:absolute;inset:0;background:#fff;opacity:0}
.fotorahmen.blitz::after{animation:fotoBlitz .45s ease-out}
@keyframes fotoBlitz{from{opacity:.85}to{opacity:0}}

/* ===== Handy: Freizeit-Apps (22-handy.js): Kölugram, Telefon, Nachrichten, Wetter, Volksbank, Radio, Einstellungen ===== */
.geraet[data-hg="elm"]::before{background:radial-gradient(circle at 20% 15%,rgba(139,209,124,.55),transparent 45%),radial-gradient(circle at 85% 45%,rgba(58,208,255,.3),transparent 45%),linear-gradient(160deg,#0f2416,#07140c 60%,#061018)}
.geraet[data-hg="dom"]::before{background:radial-gradient(circle at 25% 12%,rgba(255,209,102,.55),transparent 42%),radial-gradient(circle at 80% 70%,rgba(255,120,60,.35),transparent 45%),linear-gradient(160deg,#2a1a08,#140c05 60%,#0c0806)}
.geraet[data-hg="nacht"]::before{background:radial-gradient(circle at 20% 10%,rgba(90,120,255,.5),transparent 42%),radial-gradient(circle at 85% 60%,rgba(58,208,255,.3),transparent 45%),linear-gradient(160deg,#0b1030,#060a1c 60%,#040612)}
/* Breite Inhalte (Story-Leiste, Fotos) dürfen den Bildschirm nicht aufweiten */
#handyScreen{min-width:0;max-width:100%;box-sizing:border-box;overflow-x:hidden}
.kg-bild{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:var(--farbe,#9aa0a8);color:#0a0610;font:600 15px 'Archivo',sans-serif;font-style:normal;box-shadow:0 0 0 2px #0a0714,0 0 0 4px var(--farbe,#9aa0a8)}
.kg-bild.gross{width:50px;height:50px;font-size:20px;box-shadow:0 0 0 2px #0a0714,0 0 0 4px #d62976,0 0 0 5px #ffb000}
.kg-bild.riesig{width:96px;height:96px;font-size:40px;margin:0 auto}
.kg-logo{font-family:'Anton',sans-serif;font-size:28px;letter-spacing:.02em;background:linear-gradient(90deg,#ffb000,#ff2d7e,#b04cff);-webkit-background-clip:text;background-clip:text;color:transparent;margin:0 0 8px}
.kg-storys{display:flex;gap:12px;overflow-x:auto;padding:6px 6px 10px;margin:0;scrollbar-width:none}
.kg-storys span{display:grid;justify-items:center;gap:6px}
.kg-storys small{font-size:10px;color:rgba(255,255,255,.7)}
.kg-neu{display:flex;gap:8px;margin:4px 0 0}
.kg-neu input{flex:1;min-width:0;padding:9px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:inherit;font:inherit;font-size:13px}
.kg-tipp{margin:8px 2px 10px}
.kg-post{margin:0 0 12px;padding:10px 10px 8px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06)}
.kg-post header{display:flex;align-items:center;gap:10px}
.kg-post header b{display:block;font-size:13px}
.kg-post header small{display:block;font-size:11px;color:rgba(255,255,255,.5)}
.kg-post time{margin-left:auto;font-size:10.5px;color:rgba(255,255,255,.45);white-space:nowrap}
.kg-post > p{margin:8px 2px 4px;font-size:13px;line-height:1.45;color:rgba(255,255,255,.9)}
.kg-foto{display:block;width:100%;aspect-ratio:1;object-fit:cover;margin-top:10px;border-radius:12px;background:#1a1224}
.kg-post footer{display:flex;align-items:center;gap:8px;font-size:12px;color:rgba(255,255,255,.65)}
.kg-herz{border:0;background:transparent;color:#fff;font-size:21px;line-height:1;cursor:pointer;padding:2px 2px 0;transition:transform .12s}
.kg-herz.an{color:#ff2d55;transform:scale(1.12)}
.kg-kom{margin:4px 2px 0;font-size:12px;color:rgba(255,255,255,.78)}
.kg-kom b{color:#fff;margin-right:2px}
.kontakt{display:flex;align-items:center;gap:12px;text-align:left}
.kontakt-knoepfe{display:flex;gap:6px}
.kontakt-knoepfe .pille{padding:8px 11px}
.hkopf{margin:16px 2px 8px;font:600 11px 'Archivo',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.anrufliste{margin:2px 4px}
.ruf{display:grid;justify-items:center;text-align:center;padding:26px 0 10px}
.ruf h3{margin:18px 0 2px}
.ruf > p{margin:0;font-size:13px;color:rgba(255,255,255,.6)}
.ruf-satz{min-height:96px;margin:24px 0;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.07);font-size:14px;line-height:1.45;width:100%;box-sizing:border-box}
.ruf-satz b{display:block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#35c759;margin-bottom:4px}
.ruf-auf{width:66px;height:66px;border:0;border-radius:50%;background:#ff3b30;color:#fff;font-size:28px;cursor:pointer;transform:rotate(135deg);box-shadow:0 10px 26px rgba(255,59,48,.45)}
button.chatwahl{width:100%;font:inherit;color:inherit;cursor:pointer;text-align:left}
.chatwahl small{font-size:10.5px;color:rgba(255,255,255,.45);white-space:nowrap}
.neu-punkt{min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#30b0ff;color:#fff;font-size:11px;font-weight:600;display:grid;place-items:center}
.chatkopf{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.chatkopf .pille{padding:6px 10px;margin-right:4px}
.blasen{display:flex;flex-direction:column;gap:6px;min-height:200px}
.blase{align-self:flex-start;max-width:78%;margin:0;padding:8px 12px 6px;border-radius:18px 18px 18px 6px;background:rgba(255,255,255,.1);font-size:13.5px;line-height:1.4}
.blase.ich{align-self:flex-end;border-radius:18px 18px 6px 18px;background:#30b0ff;color:#04121c}
.blase small{display:block;margin-top:2px;font-size:9.5px;opacity:.55}
.blase.tippt{font-style:italic;opacity:.6}
.schnell{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.schnell .pille{padding:7px 11px;border-color:#30b0ff;color:#7fd0ff;background:rgba(48,176,255,.08)}
.wetterkopf{display:grid;justify-items:center;padding:18px 12px 16px;margin:0;border-radius:22px;text-align:center;background:linear-gradient(180deg,rgba(58,123,255,.45),rgba(58,123,255,.08))}
.wetterkopf.wetter-regen,.wetterkopf.wetter-gewitter{background:linear-gradient(180deg,rgba(90,100,130,.55),rgba(60,70,100,.1))}
.wetterkopf.wetter-nebel{background:linear-gradient(180deg,rgba(170,170,180,.35),rgba(120,120,130,.08))}
.wetterkopf small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.wetterkopf b{font-family:'Anton',sans-serif;font-weight:400;font-size:72px;line-height:1;color:#fff}
.wetterkopf span{font-size:16px}
.wetterkopf p{margin:8px 0 0;font-size:12px;color:rgba(255,255,255,.7)}
.wetterreihe{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;padding:10px 6px;border-radius:18px;background:rgba(255,255,255,.06)}
.wetterreihe span{display:grid;justify-items:center;gap:4px;font-size:11px}
.wetterreihe small{color:rgba(255,255,255,.55)}
.wetterreihe b{font-size:20px;font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif}
.wetterreihe i{font-style:normal;font-weight:600}
.bankkarte{position:relative;display:grid;gap:2px;padding:18px 18px 16px;margin:4px 0 12px;border-radius:18px;background:linear-gradient(135deg,#0a5bb5,#063a78 60%,#ff8a1f 160%);box-shadow:0 14px 30px rgba(0,0,0,.4)}
.bankkarte small{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.bankkarte b{font-family:'Anton',sans-serif;font-weight:400;font-size:38px;color:#fff;line-height:1.1;margin:8px 0 10px}
.bankkarte span{font-size:12px;letter-spacing:.18em;color:#fff}
.bankkarte i{font-style:normal;font-size:11px;letter-spacing:.1em;color:rgba(255,255,255,.6)}
.bankheute{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bankheute div{padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.06)}
.bankheute small{display:block;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.bankheute b{font-family:'Anton',sans-serif;font-weight:400;font-size:19px}
.bankheute .plus,.buchung .plus{color:#8bd17c}
.bankheute .minus,.buchung .minus{color:#ff8b98}
.bankbalken{display:flex;align-items:flex-end;gap:4px;height:64px;margin:12px 0 0;padding:8px 10px;border-radius:14px;background:rgba(255,255,255,.04)}
.bankbalken i{flex:1;border-radius:3px 3px 0 0;background:#8bd17c;min-height:4px}
.bankbalken i.minus{background:#ff8b98}
.buchung{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 4px;border-bottom:1px solid rgba(255,255,255,.07)}
.buchung b{display:block;font-size:13px;font-weight:600}
.buchung small{font-size:10.5px;color:rgba(255,255,255,.45)}
.buchung span{font-family:'Anton',sans-serif;font-size:16px;white-space:nowrap}
.hgwahl{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.hgwahl button{height:84px;border-radius:14px;border:2px solid transparent;cursor:pointer;display:flex;align-items:flex-end;justify-content:center;padding:6px;color:#fff;font:600 10.5px 'Archivo',sans-serif}
.hgwahl button.an{border-color:#fff}
.hg-rolle{background:conic-gradient(#2f6fe0 0 60deg,#d6332a 60deg 120deg,#e8662a 120deg 180deg,#b8862b 180deg 240deg,#7d8794 240deg 300deg,#b04aff 300deg)}
.hg-neon{background:radial-gradient(circle at 20% 15%,#ff2d7e,transparent 60%),linear-gradient(160deg,#1a0b24,#07101c)}
.hg-elm{background:radial-gradient(circle at 20% 15%,#8bd17c,transparent 60%),linear-gradient(160deg,#0f2416,#061018)}
.hg-dom{background:radial-gradient(circle at 25% 12%,#ffd166,transparent 60%),linear-gradient(160deg,#2a1a08,#0c0806)}
.hg-nacht{background:radial-gradient(circle at 20% 10%,#5a78ff,transparent 60%),linear-gradient(160deg,#0b1030,#040612)}
label.schalter{cursor:pointer;font-size:13px}
label.schalter input[type=range]{width:120px;accent-color:#ff2d7e}
label.schalter input[type=checkbox]{width:20px;height:20px;accent-color:#ff2d7e}
/* ===== Ende Freizeit, Radio und Handy-Apps ===== */
/* ===== Tuning bei KFZ Mert ===== */
body.tuningAn .hud,body.tuningAn .linksunten,body.tuningAn .sterne,body.tuningAn .hinweis,body.tuningAn .missionsbox{opacity:0;pointer-events:none;transition:opacity .25s}
.tuning{position:fixed;z-index:9;top:0;right:0;bottom:0;width:min(420px,100vw);display:flex;flex-direction:column;color:#EDE6DC;background:linear-gradient(90deg,rgba(8,5,14,.55),rgba(8,5,14,.93) 18%);border-left:1px solid rgba(255,45,126,.35);box-shadow:-20px 0 60px rgba(0,0,0,.45);animation:tuningRein .3s cubic-bezier(.2,.8,.2,1)}
.tuning[hidden]{display:none}
.tkopf{position:relative;padding:22px 26px 14px 34px}
.tkopf small{display:block;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#ff2d7e;font-weight:600}
.tkopf h2{margin:2px 0 0;font-size:44px;line-height:1;text-transform:uppercase;color:#fff}
.tkopf p{margin:4px 0 0;font-size:13px;color:rgba(237,230,220,.65)}
.tkopf b{position:absolute;right:26px;top:26px;font-size:24px;color:#ff2d7e;text-shadow:0 0 14px rgba(255,45,126,.4)}
.treiter{display:flex;gap:4px;padding:0 20px 0 34px;border-bottom:1px solid rgba(237,230,220,.14);overflow-x:auto;scrollbar-width:none}
.treiter button{flex:0 0 auto;padding:10px 12px 11px;background:none;border:0;border-bottom:2px solid transparent;color:rgba(237,230,220,.6);font:600 12px/1 inherit;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.treiter button:hover{color:#fff}
.treiter button.an{color:#fff;border-bottom-color:#ff2d7e}
.tliste{flex:1;overflow-y:auto;padding:6px 20px 12px 34px;scrollbar-width:thin}
.tteil{padding:14px 0 12px;border-bottom:1px solid rgba(237,230,220,.08)}
.tteil h3{margin:0;font-size:19px;letter-spacing:.04em;text-transform:uppercase}
.tteil p{margin:3px 0 10px;font-size:12.5px;line-height:1.45;color:rgba(237,230,220,.58)}
.twahl{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.topt{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:92px;padding:8px 11px;border-radius:8px;border:1px solid rgba(237,230,220,.16);background:rgba(255,255,255,.04);color:#EDE6DC;font:600 12.5px/1.2 inherit;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,transform .1s}
.topt em{font-style:normal;font-weight:400;font-size:11px;color:rgba(237,230,220,.55)}
.topt:hover{border-color:rgba(255,45,126,.6);background:rgba(255,45,126,.08)}
.topt:active{transform:scale(.97)}
.topt.gekauft em{color:#8bd17c}
.topt.an{border-color:#ff2d7e;background:rgba(255,45,126,.18);box-shadow:0 0 0 1px #ff2d7e inset}
.tfarbe{width:30px;height:30px;border-radius:50%;border:2px solid rgba(255,255,255,.25);cursor:pointer;box-shadow:inset 0 -6px 10px rgba(0,0,0,.35),inset 0 4px 8px rgba(255,255,255,.25);transition:transform .12s}
.tfarbe:hover{transform:scale(1.12)}
.tfarbe.an{border-color:#fff;box-shadow:0 0 0 3px #ff2d7e,inset 0 -6px 10px rgba(0,0,0,.35)}
.ttrenn{width:1px;height:24px;margin:0 4px;background:rgba(237,230,220,.2)}
.tkz{display:flex;align-items:stretch;border-radius:6px;overflow:hidden;border:2px solid #14141a;background:#f2f2ee;max-width:260px}
.tkz span{display:grid;place-items:center;width:30px;background:#12329c;color:#f2f2ee;font:700 13px/1 Arial,sans-serif}
.tkz input{flex:1;min-width:0;border:0;padding:8px 10px;background:transparent;color:#14141a;font:700 24px/1 'Arial Narrow',Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;outline:none}
.tfuss{padding:12px 20px 18px 34px;border-top:1px solid rgba(237,230,220,.14);background:rgba(0,0,0,.25)}
.tkorb{display:flex;flex-wrap:wrap;gap:4px 12px;min-height:18px;margin-bottom:12px;font-size:12px;color:rgba(237,230,220,.75)}
.tkorb span b{margin-left:5px;font-family:inherit;font-weight:600;color:#fff}
.tkorb .leer{color:rgba(237,230,220,.45)}
.tknoepfe{display:flex;gap:8px}
.tknoepfe button{flex:1;padding:13px 14px;border-radius:10px;font:400 18px/1 'Anton',Impact,sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.tzurueck{background:transparent;border:1px solid rgba(237,230,220,.25);color:#EDE6DC}
.tkaufen{flex:1.5!important;border:0;background:linear-gradient(135deg,#ff2d7e,#c2135f);color:#fff;box-shadow:0 10px 26px rgba(255,45,126,.35)}
.tkaufen:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
@keyframes tuningRein{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:none}}
@media (max-width:760px){.tuning{top:auto;height:62vh;width:100vw;border-left:0;border-top:1px solid rgba(255,45,126,.35);background:rgba(8,5,14,.93)}.tkopf{padding:14px 18px 10px}.tkopf h2{font-size:30px}.treiter,.tliste,.tfuss{padding-left:18px;padding-right:18px}}
@media (prefers-reduced-motion:reduce){.tuning{animation:none}}
/* ===== Ende Tuning ===== */

/* Controller (13-pad.js): Auswahl in Menüs und Knöpfe in Hinweisen */
.padfokus{outline:3px solid var(--neon,#3ad0ff)!important;outline-offset:2px;box-shadow:0 0 0 6px rgba(58,208,255,.18)}
.padknopf{display:inline-block;min-width:1.5em;padding:0 .35em;border-radius:1em;background:rgba(255,255,255,.16);text-align:center}

/* Pausenmenü: letzte Meldungen in der Statistik */
.meldungen ol{ list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 6px; text-align: left; }
.meldungen li{ font-size: 13px; line-height: 1.35; opacity: .9; }
.meldungen time{ display: inline-block; min-width: 46px; opacity: .55; font-variant-numeric: tabular-nums; }

/* Levelbelohnung wartet: goldener Punkt an der Levelanzeige, ein Klick öffnet das Profil */
.levelzeile{cursor:pointer;pointer-events:auto}
.levelzeile.bonus span::after{content:'';display:inline-block;width:7px;height:7px;margin-left:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px var(--gold);vertical-align:middle;animation:bonusPuls 1.2s ease-in-out infinite}
@keyframes bonusPuls{50%{transform:scale(1.5);opacity:.6}}
@media (prefers-reduced-motion: reduce){ .levelzeile.bonus span::after{animation:none} }

/* Drift-Wertung über dem Tacho */
.driftanzeige{position:absolute;z-index:6;right:0;bottom:calc(100% + 10px);display:flex;align-items:baseline;gap:8px;padding:6px 14px;border-radius:4px;background:rgba(14,23,29,.94);border:1px solid rgba(224,179,104,.4);color:#fff;font-family:'Archivo',system-ui,sans-serif;letter-spacing:.04em;white-space:nowrap;pointer-events:none;transition:opacity .25s}
.driftanzeige[hidden]{display:none}
.driftanzeige small{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#e0b368}
.driftanzeige b{font-size:26px;font-weight:400;font-variant-numeric:tabular-nums}
.driftanzeige i{font-style:normal;font-size:18px;color:var(--gold)}
.driftanzeige.pause{opacity:.6}
@media (max-width:760px){ .driftanzeige{bottom:auto;top:calc(100% + 8px);padding:4px 10px} .driftanzeige b{font-size:20px} }
@media (max-height:520px){ .driftanzeige{right:calc(100% + 8px);top:0;bottom:auto} }

/* Straßenname unter der Minikarte: beim Wechsel kurz hell */
#kartenTitel{transition:color .4s, text-shadow .4s}
#kartenTitel.neu{color:#fff;text-shadow:0 0 10px rgba(58,208,255,.8)}

/* Tagesaufgaben im Auftragskasten */
.tagesliste{list-style:none;margin:8px 0 0;padding:8px 0 0;border-top:1px solid rgba(255,255,255,.1);display:grid;gap:4px}
.tagesliste[hidden]{display:none}
.tagesliste li{font-size:12px;line-height:1.3;opacity:.85;display:flex;gap:8px;align-items:baseline}
.tagesliste li b{min-width:44px;font-variant-numeric:tabular-nums;color:var(--gold);font-weight:600}
.tagesliste li.fertig{opacity:.45;text-decoration:line-through}
@media (max-width:700px){ .tagesliste{display:none} }

/* Startmenü: eine Zeile zur gewählten Rolle */
#overlay .rollenhilfe{margin:8px 2px 12px;font-size:12.5px;line-height:1.4;color:#ddd6e6;opacity:1;min-height:2.8em}
.gk-reise{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px}
.gk-reise-grund{flex:1 1 100%;margin:2px 0 0;min-height:1.2em;font:500 12px Inter,Arial,sans-serif;color:#ffb3c9}
.gk-reise-grund:empty{display:none}
.gk-reise button{flex:1;padding:8px 4px;border-radius:8px;border:1px solid rgba(237,230,220,.18);background:rgba(255,255,255,.04);color:var(--text,#ede6dc);font:600 12px Inter,Arial,sans-serif;cursor:pointer}
.gk-reise button.hier{background:var(--glow,#ff2d7e);border-color:transparent;color:#fff;cursor:default}
.gk-reise button:disabled:not(.hier){opacity:.45;cursor:default}

/* ===== Admin-Menü (35-admin.js), öffnet mit !admin im Chat ===== */
#pauseChat{border-color:rgba(255,255,255,.22);color:rgba(237,230,220,.85);margin-right:6px}
.adminmenue{z-index:30}
.adm-rahmen{width:min(620px,96vw);border-top:3px solid #ffc72c}
.adm-reiter{margin-top:0}
.adm-inhalt h4{margin:14px 0 6px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:rgba(237,230,220,.6)}
.adm-feld{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.adm-feld label{flex:1 0 150px;font-size:13px;color:rgba(237,230,220,.8)}
.adm-feld input,.adm-feld select{flex:1 1 140px;min-width:0;padding:7px 9px;border-radius:9px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.35);color:var(--paper);font:inherit;font-size:13px}
.adm-inhalt button{padding:7px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:var(--paper);font:inherit;font-size:12.5px;cursor:pointer}
.adm-inhalt button:hover,.adm-inhalt button.an{border-color:#ffc72c;background:rgba(255,199,44,.14)}
.adm-inhalt button.haupt{background:linear-gradient(135deg,#ff2d7e,#b3125a);border-color:transparent;color:#fff}
.adm-knoepfe{display:flex;flex-wrap:wrap;gap:5px}
.adm-unten{margin-top:14px}
.adm-hinweis{margin:6px 0;font-size:12px;color:rgba(237,230,220,.6);line-height:1.45}
.adm-haken{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px 10px;font-size:12.5px}
.adm-haken label{display:flex;align-items:center;gap:6px}
.adm-json textarea{width:100%;box-sizing:border-box;margin:6px 0;padding:8px;border-radius:9px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.4);color:var(--paper);font:12px/1.4 ui-monospace,monospace}
.adm-json summary{cursor:pointer;margin-top:12px;font-size:13px}
.adm-liste{display:grid;gap:6px}
.adm-inhalt .adm-zeile{display:flex;justify-content:space-between;gap:10px;border-radius:12px;text-align:left;padding:10px 12px}
.adm-zeile span,.adm-eintrag span,.adm-eintrag small{color:rgba(237,230,220,.6);font-size:12px}
.adm-eintrag{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.04)}

/* Einstieg und Sicherung */
.start-neben{display:block;width:100%;min-width:0;margin:0;padding:10px 12px;border:1px solid rgba(224,179,104,.4);border-radius:4px;background:rgba(10,18,24,.8);color:#f0f2f0;font:inherit;font-size:12px;line-height:1.4;cursor:pointer}
.start-neben:hover,.start-neben:focus-visible{border-color:#e0b368;outline:2px solid #e0b368;outline-offset:2px}
#standImportWahl[hidden]{display:none}
#standImportFrage{padding:12px;border:1px solid #ffb000;border-radius:8px}
