*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%;background:#000;color:var(--text);font-family:var(--font-body);overflow-x:hidden}.pong-shell{position:relative;min-height:100vh;padding:18px;isolation:isolate}.pong-bg{position:fixed;inset:-4vh -4vw;background:url("../assets/images/startbild.png") center/cover no-repeat;filter:saturate(1.1);transform:scale(1.06);z-index:-3;animation:pongDrift 28s ease-in-out infinite alternate}.pong-bg:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(0,255,204,.08),rgba(0,0,0,.74) 58%,#000 100%),linear-gradient(135deg,rgba(0,255,204,.08),rgba(255,0,212,.10))}.pong-shell:after{content:"";position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.035) 0 1px,transparent 1px 5px);opacity:.35;mix-blend-mode:overlay}.pong-hud{width:min(1200px,100%);margin:0 auto 18px;display:grid;grid-template-columns:auto 1fr 1fr 1fr;gap:10px;align-items:stretch}.hud-tile{min-height:56px;padding:10px 14px;background:rgba(0,0,0,.70);border:1px solid var(--line);box-shadow:var(--shadow-kaspa);display:flex;flex-direction:column;justify-content:center;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px))}.hud-tile small,.score-card small,.eyebrow,.field-label{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-size:.75rem}.hud-tile strong{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.1em}.pong-menu,.pong-stage{width:min(1200px,100%);margin:0 auto;padding:clamp(20px,3vw,34px);background:linear-gradient(135deg,rgba(0,0,0,.88),rgba(2,18,18,.70));border:1px solid var(--line);box-shadow:var(--shadow-kaspa),inset 0 0 58px rgba(0,255,204,.04);backdrop-filter:blur(12px);clip-path:polygon(0 0,calc(100% - 30px) 0,100% 30px,100% 100%,30px 100%,0 calc(100% - 30px))}.pong-menu h1{margin-top:8px;font-family:var(--font-display);font-size:clamp(3rem,8vw,7.5rem);line-height:.88;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 0 34px rgba(0,255,204,.4)}.menu-copy{max-width:820px;margin:16px 0 22px;color:#c9dfdc;line-height:1.55}.field-label{display:block;margin-bottom:8px}.name-field{width:min(420px,100%);height:48px;background:rgba(0,0,0,.78);border:1px solid var(--line);color:var(--text);padding:0 14px;font-family:var(--font-display);font-size:1.15rem;letter-spacing:.09em;outline:none}.name-field:focus{box-shadow:0 0 22px rgba(0,255,204,.32)}.difficulty-grid,.launch-grid{display:grid;gap:12px;margin-top:18px}.difficulty-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.launch-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.difficulty-btn{min-height:48px;background:rgba(0,0,0,.76);border:1px solid rgba(0,255,204,.3);color:var(--kaspa);font-family:var(--font-display);font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.difficulty-btn:hover,.difficulty-btn.is-active{background:rgba(0,255,204,.18);border-color:var(--kaspa);box-shadow:0 0 22px rgba(0,255,204,.32)}.difficulty-btn--magenta{color:var(--magenta);border-color:rgba(255,0,212,.36)}.difficulty-btn--magenta:hover,.difficulty-btn--magenta.is-active{background:rgba(255,0,212,.17);border-color:var(--magenta);box-shadow:0 0 22px rgba(255,0,212,.32)}.session-panel{margin-top:18px;padding:16px;background:rgba(0,0,0,.62);border:1px solid rgba(255,0,212,.28)}.session-panel strong{font-family:var(--font-display);color:var(--magenta);letter-spacing:.12em;text-transform:uppercase}.session-panel p{margin:8px 0 12px;color:var(--muted)}.session-row{display:flex;gap:10px}.session-row input{flex:1;background:#000;border:1px solid var(--line);color:var(--kaspa);padding:0 12px;font-family:var(--font-display);letter-spacing:.12em}.is-hidden{display:none!important}.scorebar{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;margin-bottom:16px}.score-card{padding:14px 18px;background:rgba(0,0,0,.72);border:1px solid var(--line);box-shadow:var(--shadow-kaspa);text-align:center}.score-card--right{border-color:rgba(255,0,212,.38);box-shadow:var(--shadow-magenta)}.score-card strong{display:block;margin-top:4px;font-family:var(--font-display);font-size:2.4rem;color:var(--kaspa);text-shadow:0 0 16px var(--kaspa)}.score-card--right strong{color:var(--magenta);text-shadow:0 0 16px var(--magenta)}.arena-wrap{position:relative;border:1px solid var(--line);background:#000;box-shadow:0 0 38px rgba(0,255,204,.24);overflow:hidden}#pongCanvas{display:block;width:100%;height:auto;background:#020303}.countdown{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;font-family:var(--font-display);font-size:clamp(2.5rem,8vw,7rem);letter-spacing:.08em;color:var(--kaspa);text-shadow:0 0 32px var(--kaspa);text-transform:uppercase}.result-modal{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:14px;background:rgba(0,0,0,.78);backdrop-filter:blur(7px);text-align:center}.result-modal h2{font-family:var(--font-display);font-size:clamp(2.8rem,8vw,6.5rem);color:var(--kaspa);text-transform:uppercase;text-shadow:0 0 30px var(--kaspa)}.result-modal p{color:#c9dfdc}.modal-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.control-help{margin-top:12px;color:var(--muted);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.1em;text-align:center;font-size:.82rem}@keyframes pongDrift{from{transform:scale(1.05) translate(-.8%,-.5%)}to{transform:scale(1.1) translate(.8%,.5%)}}@media(max-width:820px){.pong-hud,.scorebar,.launch-grid,.difficulty-grid{grid-template-columns:1fr}.pong-hud{gap:8px}.session-row{flex-direction:column}}

/* Destiny Live Lobby */
.lobby-panel{margin-top:20px;padding:18px;background:rgba(0,0,0,.82);border:1px solid rgba(255,0,212,.42);box-shadow:0 0 28px rgba(255,0,212,.15)}
.lobby-head,.session-code-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.lobby-head small{display:block;color:var(--muted);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.14em}.lobby-head strong{display:block;color:var(--magenta);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em}.lobby-close{width:38px;height:38px;border:1px solid rgba(255,0,212,.5);background:#000;color:var(--magenta);font-size:1.5rem;cursor:pointer}.lobby-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:12px;margin-top:16px}.join-line{display:flex;gap:10px}.join-line input{min-width:0;flex:1;background:#000;border:1px solid var(--line);color:var(--kaspa);padding:0 12px;font-family:var(--font-display);font-size:1rem;letter-spacing:.12em;text-transform:uppercase}.lobby-live{margin-top:16px}.session-code-row{padding:12px;border:1px solid rgba(0,255,204,.24);background:rgba(0,255,204,.04)}.session-code-row span{color:var(--muted);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.14em}.session-code-row strong{flex:1;color:var(--kaspa);font-family:var(--font-display);font-size:1.25rem;letter-spacing:.12em}.player-list{display:grid;gap:8px;margin-top:12px}.lobby-player{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:10px;padding:11px 12px;background:rgba(0,0,0,.7);border:1px solid rgba(0,255,204,.18)}.lobby-player.is-host{border-color:var(--kaspa)}.player-slot{color:var(--muted);font-family:var(--font-display)}.player-name{font-family:var(--font-display);font-weight:700;letter-spacing:.08em}.player-state{font-family:var(--font-display);font-size:.75rem;color:var(--kaspa);text-transform:uppercase;letter-spacing:.1em}.lobby-message{margin:12px 0;color:var(--muted)}.connection-badge{position:absolute;right:12px;top:12px;padding:7px 10px;background:rgba(0,0,0,.72);border:1px solid var(--kaspa);color:var(--kaspa);font-family:var(--font-display);letter-spacing:.13em;box-shadow:0 0 16px rgba(0,255,204,.25)}
@media(max-width:760px){.lobby-actions{grid-template-columns:1fr}.join-line{flex-direction:column}.session-code-row{flex-wrap:wrap}}

.cup-groups{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:8px;max-height:320px;overflow:auto;margin:12px 0}
.cup-group{padding:8px;border:1px solid rgba(0,255,204,.22);background:rgba(0,0,0,.45)}
.cup-group>strong{display:block;color:var(--kaspa);margin-bottom:6px}
.cup-group>div{display:flex;justify-content:space-between;gap:8px;padding:3px 0;font-size:.78rem}
.cup-group .is-player{color:var(--magenta);font-weight:800}
.cup-bracket{max-height:220px;overflow:auto;margin:10px 0}
.cup-round{display:grid;gap:4px;padding:6px 0;border-top:1px solid rgba(255,255,255,.08)}
.cup-round span{font-size:.72rem;color:#cfe3df}
@media(max-width:900px){.cup-groups{grid-template-columns:repeat(2,minmax(140px,1fr))}}

.cup-group>div{grid-template-columns:1fr auto auto;display:grid;align-items:center}.cup-goals{color:#8bbdb5;font-size:.7rem;padding:0 6px}

/* === GO-LIVE MERGED FIX: GLOBAL HUD SAFE AREA ===
   .pong-bg stays fixed; only menu/game UI moves below the fixed KAS header. */
body.has-destiny-global-hud .pong-shell {
  box-sizing: border-box;
  height: 100vh;
  padding-top: 76px;
}
body.has-destiny-global-hud .pong-hud,
body.has-destiny-global-hud .pong-stage {
  box-sizing: border-box;
}
@media (max-width:760px) {
  body.has-destiny-global-hud .pong-shell { padding-top: 118px; }
}
