/* =========================================================
   PRAY Mensch ärgere Dich nicht – Stylesheet
   ========================================================= */
:root{
  --bg:#09060f; --bg2:#0e0918; --card:#130d1f; --card2:#1a1229; --border:#2a1f42;
  --text:#f4eefc; --muted:#a597c0;
  --p:#ff2bd6; --v:#8b5cf6; --c:#22d3ee; --g:#1ed760; --r:#ff4d6d; --y:#facc15; --o:#fb923c;
  --pc0:#ff2bd6; --pc1:#22d3ee; --pc2:#facc15; --pc3:#1ed760; --pc4:#8b5cf6; --pc5:#fb923c;
  --shadow:0 20px 50px rgba(0,0,0,.45);
  --radius:22px;
  color-scheme:dark;
}
:root[data-theme="light"]{
  --bg:#f6f2fb; --bg2:#efe7f8; --card:#ffffff; --card2:#f4eefb; --border:#e2d6f1;
  --text:#1b1028; --muted:#6c5a87;
  --shadow:0 16px 40px rgba(60,20,90,.14);
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{background:var(--bg);color:var(--text);font:16px/1.5 Outfit,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-tap-highlight-color:transparent;overflow-x:hidden}
[hidden]{display:none!important}
button{font:inherit;color:inherit;cursor:pointer}
input,select{font:inherit}
.muted{color:var(--muted)}
.small{font-size:.88rem}
.center{text-align:center}

/* ---------- Hintergrund ---------- */
.bg{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 50% -20%,var(--bg2),var(--bg) 60%)}
.blob{position:absolute;width:55vmax;height:55vmax;border-radius:50%;filter:blur(90px);opacity:.28}
:root[data-theme="light"] .blob{opacity:.18}
.b1{background:var(--p);left:-20vmax;top:-25vmax;animation:drift1 26s ease-in-out infinite alternate}
.b2{background:var(--c);right:-25vmax;top:10vh;animation:drift2 31s ease-in-out infinite alternate}
.b3{background:var(--v);left:20vw;bottom:-35vmax;animation:drift3 35s ease-in-out infinite alternate}
@keyframes drift1{to{transform:translate(18vw,12vh) scale(1.15)}}
@keyframes drift2{to{transform:translate(-14vw,20vh) scale(.9)}}
@keyframes drift3{to{transform:translate(-10vw,-14vh) scale(1.1)}}
.grid{position:absolute;inset:-50%;background-image:linear-gradient(rgba(139,92,246,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(139,92,246,.07) 1px,transparent 1px);background-size:44px 44px;transform:perspective(600px) rotateX(58deg) translateY(10%);-webkit-mask-image:linear-gradient(to top,#000 10%,transparent 60%);mask-image:linear-gradient(to top,#000 10%,transparent 60%)}
#fx{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:70}
#flash{position:fixed;inset:0;pointer-events:none;z-index:60;opacity:0;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.95),rgba(255,43,214,.55) 40%,rgba(139,92,246,0) 75%)}
#flash.go{animation:flash .7s ease-out both}
@keyframes flash{0%{opacity:.95}100%{opacity:0}}

/* ---------- Grundbausteine ---------- */
.wrap{width:100%;max-width:1080px;margin:0 auto;padding:18px 16px 40px}
.wrap.narrow{max-width:680px}
.screen{min-height:100vh;min-height:100dvh}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px}
.back{background:none;border:0;color:var(--muted);text-decoration:none;font:400 1.2rem "Bebas Neue",sans-serif;letter-spacing:.12em;padding:6px 0}
.back:hover{color:var(--text)}
.tb-right{display:flex;gap:8px}
.ibtn{width:42px;height:42px;border-radius:14px;border:1px solid var(--border);background:color-mix(in srgb,var(--card) 80%,transparent);display:grid;place-items:center;font-size:1.1rem;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:transform .15s,border-color .2s}
.ibtn:hover{border-color:var(--p);transform:translateY(-1px)}
.title{margin:0;font:400 clamp(3.4rem,11vw,7rem)/.9 "Bebas Neue",Impact,sans-serif;letter-spacing:.04em;background:linear-gradient(180deg,#fff 8%,var(--p) 58%,var(--v));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 22px rgba(255,43,214,.35))}
:root[data-theme="light"] .title{background:linear-gradient(180deg,var(--v) 5%,var(--p) 70%);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 4px 14px rgba(255,43,214,.25))}
.title.mid{font-size:clamp(2.6rem,9vw,3.6rem)}
.tag0{margin:0 0 4px;font:400 1.15rem "Bebas Neue",sans-serif;letter-spacing:.25em;color:var(--c)}
.hero{text-align:center;padding:14px 0 6px}
.hero.small{padding:12px 0 12px}
.showcase{display:block;width:min(560px,100%);height:180px;margin:4px auto 0}
.announce{max-width:720px;margin:0 auto 14px;padding:12px 16px;border-radius:16px;border:1px solid var(--c);background:color-mix(in srgb,var(--c) 10%,var(--card));text-align:center}
.announce.warn{border-color:var(--y);background:color-mix(in srgb,var(--y) 12%,var(--card))}

.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.twocol{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.board{margin-top:16px}
.panel{background:color-mix(in srgb,var(--card) 88%,transparent);border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.panel+.panel{margin-top:0}
.wrap.narrow .panel{margin-bottom:16px}
.panel h2{margin:0 0 10px;font:400 1.9rem/1 "Bebas Neue",sans-serif;letter-spacing:.06em}
.panel h2 small{font-size:1.1rem;color:var(--muted);letter-spacing:.1em}
.panel p{margin:0 0 14px}
.namepanel{max-width:520px;margin:6px auto 16px}
.namepanel .fld{margin:0}
.fld{display:block;margin:0 0 12px}
.fld span{display:block;font-size:.82rem;color:var(--muted);margin:0 0 5px;letter-spacing:.04em}
.fld input,.fld select{width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--border);background:var(--bg);color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s}
.fld input:focus,.fld select:focus{border-color:var(--p);box-shadow:0 0 0 3px rgba(255,43,214,.18)}
.codein{text-transform:uppercase;letter-spacing:.35em;font:400 1.6rem "Bebas Neue",sans-serif!important;text-align:center}
.chk{display:flex;align-items:center;gap:10px;margin:0 0 12px;cursor:pointer;font-size:.95rem}
.chk input{appearance:none;width:42px;height:24px;border-radius:999px;background:var(--border);position:relative;flex:none;cursor:pointer;transition:background .2s}
.chk input::after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s}
.chk input:checked{background:linear-gradient(90deg,var(--p),var(--v))}
.chk input:checked::after{transform:translateX(18px)}
.chk input:disabled{opacity:.5;cursor:default}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px 18px;border:0;border-radius:16px;background:linear-gradient(90deg,var(--p),var(--v));color:#fff;font:400 1.35rem/1 "Bebas Neue",sans-serif;letter-spacing:.1em;box-shadow:0 10px 28px rgba(255,43,214,.28);transition:transform .15s,box-shadow .2s,opacity .2s,filter .2s}
.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 34px rgba(255,43,214,.4)}
.btn:active:not(:disabled){transform:scale(.97)}
.btn:disabled{opacity:.45;cursor:default;filter:grayscale(.4)}
.btn.alt{background:linear-gradient(90deg,var(--c),var(--v));box-shadow:0 10px 28px rgba(34,211,238,.25)}
.btn.hot{background:linear-gradient(90deg,var(--y),var(--o),var(--p));color:#1b0a00;box-shadow:0 10px 28px rgba(250,204,21,.28)}
.btn.ghost{background:transparent;border:1px solid var(--border);color:var(--text);box-shadow:none}
.btn.ghost:hover:not(:disabled){border-color:var(--p);box-shadow:0 0 0 1px var(--p)}
.btn.sm{width:auto;font-size:1.05rem;padding:9px 14px}
.btn.big{font-size:1.8rem;padding:18px}
.btn.danger{background:linear-gradient(90deg,var(--r),var(--p))}
.inline{display:flex;gap:10px;flex-wrap:wrap}
.inline .btn{width:auto;flex:1}
.inline.center{justify-content:center}

/* ---------- Tischliste / Rangliste ---------- */
.rooms{display:grid;gap:10px}
.room{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:var(--card2);border:1px solid var(--border)}
.room .rc{font:400 1.6rem/1 "Bebas Neue",sans-serif;letter-spacing:.2em;color:var(--p)}
.room .ri{flex:1;font-size:.88rem;color:var(--muted);line-height:1.3}
.room .ri b{color:var(--text);font-weight:600}
.room .btn{width:auto;padding:9px 16px;font-size:1.1rem}
.empty{color:var(--muted);text-align:center;padding:14px}
table.lbt{width:100%;border-collapse:collapse;font-size:.92rem}
.lbt th,.lbt td{padding:7px 6px;border-bottom:1px solid var(--border);text-align:left}
.lbt th{font-weight:600;color:var(--muted);font-size:.78rem;letter-spacing:.05em}
.lbt td.n{text-align:right;font-weight:700}
.lbt th.n{text-align:right}
.lbt tr:first-child td{color:var(--y)}
.rulesbox{margin-top:16px}
.rulesbox summary{cursor:pointer;list-style:none}
.rulesbox summary::-webkit-details-marker{display:none}
.rulesbox summary h2{display:inline}
.rulesbox summary::after{content:" ▾";color:var(--muted)}
.rulestext ul{padding-left:20px;margin:6px 0 12px}
.rulestext li{margin:4px 0}

/* ---------- Lobby ---------- */
.codebig{letter-spacing:.3em;padding-left:.3em}
.invite{display:flex;gap:8px;justify-content:center;margin-top:10px;flex-wrap:wrap}
.members{display:grid;gap:8px;margin-bottom:14px}
.mem{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--card2);border:1px solid var(--border);animation:popIn .35s both}
.mem .pawnic{width:22px;height:28px;flex:none}
.mem .mn{flex:1;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mem .tagx{font:400 .9rem/1 "Bebas Neue",sans-serif;letter-spacing:.12em;padding:4px 8px;border-radius:999px;border:1px solid var(--border);color:var(--muted)}
.mem .tagx.host{border-color:var(--y);color:var(--y)}
.mem .tagx.me{border-color:var(--c);color:var(--c)}
.mem .tagx.team{border-color:var(--v);color:var(--v)}
.mem .mbtn{border:0;background:transparent;color:var(--muted);padding:4px 6px;border-radius:8px}
.mem .mbtn:hover{color:var(--text);background:var(--border)}
.dot{width:9px;height:9px;border-radius:50%;background:var(--g);box-shadow:0 0 8px var(--g);flex:none}
.dot.off{background:var(--muted);box-shadow:none}
.palette-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:6px}
.palette{display:flex;gap:8px}
.palette button{width:34px;height:34px;border-radius:50%;border:2px solid transparent;background:var(--col);box-shadow:0 0 14px color-mix(in srgb,var(--col) 60%,transparent);transition:transform .15s}
.palette button:hover:not(:disabled){transform:scale(1.12)}
.palette button.on{border-color:var(--text);transform:scale(1.12)}
.palette button:disabled{opacity:.18;box-shadow:none;cursor:not-allowed}
.rulesgrid{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}
.rulesgrid .fld{margin-bottom:10px}
.hint{margin:8px 0 0;font-size:.9rem;color:var(--muted);min-height:1.3em}
@keyframes popIn{from{opacity:0;transform:scale(.92) translateY(6px)}to{opacity:1;transform:none}}

/* ---------- Spiel ---------- */
.screen.game{position:fixed;inset:0;min-height:0;overflow:hidden;touch-action:none}
.board3d{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none}
.hud-top{position:absolute;left:0;right:0;top:0;display:flex;align-items:flex-start;gap:10px;padding:max(10px,env(safe-area-inset-top)) 12px 0;pointer-events:none;z-index:5}
.hud-top>*{pointer-events:auto}
.plist{flex:1;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;pointer-events:none}
.pchip{pointer-events:auto;position:relative;display:flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;border-radius:16px;background:color-mix(in srgb,var(--card) 82%,transparent);border:1px solid var(--border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:border-color .25s,box-shadow .25s,transform .25s;min-width:0}
.pchip.turn{border-color:var(--col);box-shadow:0 0 0 1px var(--col),0 0 26px color-mix(in srgb,var(--col) 45%,transparent);transform:translateY(2px)}
.pchip .pawnic{width:18px;height:24px;flex:none}
.pchip .pn{font-weight:600;font-size:.9rem;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pchip .pg{display:flex;gap:3px}
.pchip .pg i{width:7px;height:7px;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--col) 70%,transparent)}
.pchip .pg i.in{background:var(--col);border-color:var(--col);box-shadow:0 0 6px var(--col)}
.pchip .pk{font:400 .95rem/1 "Bebas Neue",sans-serif;letter-spacing:.06em;color:var(--muted)}
.pchip .pr{font:400 1rem/1 "Bebas Neue",sans-serif;color:var(--y)}
.pchip .ptimer{position:absolute;left:10px;right:10px;bottom:-1px;height:3px;border-radius:2px;overflow:hidden;background:transparent}
.pchip .ptimer i{display:block;height:100%;background:var(--col);transform-origin:left}
.pchip.off{opacity:.55}
.bubble{position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:6px;padding:3px 10px;border-radius:999px;background:var(--text);color:var(--bg);font-size:1.3rem;line-height:1.2;white-space:nowrap;animation:bubble 2s cubic-bezier(.2,.8,.2,1) both;pointer-events:none;z-index:5}
@keyframes bubble{0%{opacity:0;transform:translate(-50%,-8px) scale(.6)}15%{opacity:1;transform:translate(-50%,0) scale(1.1)}25%,75%{transform:translate(-50%,0) scale(1);opacity:1}100%{opacity:0;transform:translate(-50%,8px)}}

.menu{position:absolute;top:60px;left:12px;z-index:20;display:grid;gap:4px;padding:8px;border-radius:18px;background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);min-width:220px;animation:popIn .2s both}
.menu button{text-align:left;padding:10px 12px;border:0;border-radius:12px;background:transparent}
.menu button:hover{background:var(--card2)}
.menu button.danger{color:var(--r)}
.menu-code{padding:6px 12px 8px;color:var(--muted);font-size:.85rem;border-bottom:1px solid var(--border);margin-bottom:4px}
.menu-code b{font:400 1.3rem "Bebas Neue",sans-serif;letter-spacing:.2em;color:var(--p)}

.hud-bottom{position:absolute;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(560px,calc(100% - 20px));padding:12px 14px 10px;border-radius:var(--radius);border:1px solid var(--border);background:color-mix(in srgb,var(--card) 84%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow);text-align:center;z-index:5;transition:border-color .3s,box-shadow .3s}
.hud-bottom.myturn{border-color:var(--c);box-shadow:0 0 0 1px var(--c),0 0 40px rgba(34,211,238,.22),var(--shadow)}
.turnline{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.status{flex:1;font:400 1.45rem/1.1 "Bebas Neue",sans-serif;letter-spacing:.08em;text-align:left;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.status b{font-weight:400;color:var(--sc,var(--p))}
.timer{width:90px;height:5px;border-radius:3px;background:var(--border);overflow:hidden;flex:none}
.timer i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--c),var(--p));transform-origin:left}
.timer.warn i{background:linear-gradient(90deg,var(--y),var(--r))}
.actions{display:flex;gap:10px}
.actions .btn{flex:1}
.rollbtn{font-size:1.7rem;padding:15px}
.rollbtn .dicon{font-size:1.3rem}
.rollbtn:not(:disabled){animation:rollGlow 1.6s ease-in-out infinite}
@keyframes rollGlow{50%{box-shadow:0 10px 40px rgba(255,43,214,.6),0 0 0 3px rgba(255,43,214,.25)}}
.kickbtn{position:relative;font-size:2.1rem;padding:16px;background:linear-gradient(90deg,#ff2b5e,var(--p),#ff7a00);background-size:200% 100%;color:#fff;box-shadow:0 0 0 3px rgba(255,77,109,.35),0 12px 40px rgba(255,43,94,.55);animation:kickPulse .9s ease-in-out infinite,kickShift 2s linear infinite;text-shadow:0 2px 0 rgba(0,0,0,.25)}
@keyframes kickPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
@keyframes kickShift{to{background-position:200% 0}}
.kickbtn::before{content:"";position:absolute;inset:-6px;border-radius:20px;border:2px solid rgba(255,77,109,.7);animation:kickRing 1.2s ease-out infinite;pointer-events:none}
@keyframes kickRing{0%{opacity:1;transform:scale(.96)}100%{opacity:0;transform:scale(1.15)}}
.pustbtn{font-size:1.8rem;padding:15px;background:linear-gradient(90deg,var(--c),#8ef0ff,var(--v));color:#06121a;animation:kickPulse .7s ease-in-out infinite}
.hud-bottom .hint{margin:7px 0 0;font-size:.85rem}
.reacts{display:flex;justify-content:center;gap:5px;margin-top:8px;flex-wrap:wrap}
.reacts button{width:36px;height:36px;border-radius:11px;border:1px solid var(--border);background:var(--card2);font-size:1.1rem;transition:transform .15s,border-color .2s}
.reacts button:hover{transform:translateY(-3px) scale(1.08);border-color:var(--p)}
.reacts button:active{transform:scale(.9)}
.autobtn{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(100% + 8px);z-index:6}
.hud-bottom .autobtn{bottom:auto}

.ticker{position:absolute;left:12px;bottom:max(14px,env(safe-area-inset-bottom));z-index:4;display:flex;flex-direction:column;gap:4px;max-width:260px;pointer-events:none}
.ticker div{font-size:.8rem;padding:4px 10px;border-radius:10px;background:color-mix(in srgb,var(--card) 80%,transparent);border:1px solid var(--border);color:var(--muted);animation:tick 6s ease both}
.ticker div b{color:var(--text);font-weight:600}
@keyframes tick{0%{opacity:0;transform:translateX(-10px)}6%,85%{opacity:1;transform:none}100%{opacity:0}}

/* Großes Banner */
.bigbanner{position:absolute;left:0;right:0;top:34%;text-align:center;pointer-events:none;z-index:30}
.bigbanner .bb{display:inline-block;max-width:94vw;white-space:nowrap;font:400 clamp(2.4rem,9vw,6.2rem)/.9 "Bebas Neue",Impact,sans-serif;letter-spacing:.04em;color:#fff;-webkit-text-stroke:2px rgba(0,0,0,.25);text-shadow:0 0 30px var(--bc,#ff2bd6),0 0 60px var(--bc,#ff2bd6),0 6px 0 rgba(0,0,0,.35);animation:bbIn 2.2s cubic-bezier(.2,1.4,.3,1) both}
.bigbanner .bb small{display:block;white-space:normal;font-size:max(.3em,1rem);letter-spacing:.2em;margin-top:.25em;-webkit-text-stroke:0;color:#fff}
.bigbanner .bb.kick{animation:bbKick 2.6s cubic-bezier(.2,1.6,.3,1) both;background:linear-gradient(180deg,#fff 20%,#ffd1f4 50%,var(--bc,#ff2bd6));-webkit-background-clip:text;background-clip:text;color:transparent}
@keyframes bbIn{0%{opacity:0;transform:scale(.4) rotate(-6deg)}14%{opacity:1;transform:scale(1.08) rotate(1deg)}22%{transform:scale(1)}80%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.15)}}
@keyframes bbKick{0%{opacity:0;transform:scale(3) rotate(-12deg);filter:blur(8px)}10%{opacity:1;transform:scale(.92) rotate(-4deg);filter:none}16%{transform:scale(1.08) rotate(-3deg)}22%{transform:scale(1) rotate(-3deg)}26%{transform:translate(-6px,3px) rotate(-3deg)}30%{transform:translate(6px,-3px) rotate(-3deg)}34%{transform:rotate(-3deg)}82%{opacity:1;transform:rotate(-3deg)}100%{opacity:0;transform:scale(.8) translateY(-40px) rotate(-3deg)}}
.floaters{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:8}
.floaters span{position:absolute;bottom:120px;font-size:2rem;animation:floatUp 2.2s ease-out both}
@keyframes floatUp{0%{opacity:0;transform:translateY(0) scale(.5)}15%{opacity:1;transform:translateY(-30px) scale(1.2)}100%{opacity:0;transform:translateY(-260px) scale(1)}}

/* ---------- Overlays ---------- */
.overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:16px;background:rgba(5,3,10,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fadeIn .3s both}
:root[data-theme="light"] .overlay{background:rgba(240,230,250,.55)}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.result{width:min(560px,100%);max-height:92vh;overflow:auto;text-align:center;animation:popIn .4s both}
.podium{display:flex;align-items:flex-end;justify-content:center;gap:10px;margin:18px 0 10px;min-height:170px}
.pod{display:flex;flex-direction:column;align-items:center;gap:6px;width:31%;max-width:150px}
.pod .pawnic{width:38px;height:50px;animation:podHop 1.6s ease-in-out infinite}
.pod:nth-child(2) .pawnic{animation-delay:-.4s}
@keyframes podHop{50%{transform:translateY(-8px)}}
.pod .pname{font-weight:700;font-size:.95rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pod .block{width:100%;border-radius:14px 14px 4px 4px;display:grid;place-items:center;font:400 2.4rem "Bebas Neue",sans-serif;color:#fff;background:linear-gradient(180deg,var(--col),color-mix(in srgb,var(--col) 40%,#000));box-shadow:0 0 30px color-mix(in srgb,var(--col) 45%,transparent);animation:podUp .7s cubic-bezier(.2,1.3,.4,1) both}
.pod.p1 .block{height:110px;animation-delay:.3s}
.pod.p2 .block{height:78px;animation-delay:.15s}
.pod.p3 .block{height:56px}
@keyframes podUp{from{transform:scaleY(0);transform-origin:bottom}to{transform:scaleY(1);transform-origin:bottom}}
.restable{margin:0 0 16px}
.restable table{width:100%;border-collapse:collapse;font-size:.92rem}
.restable td,.restable th{padding:6px;border-bottom:1px solid var(--border)}
.restable th{color:var(--muted);font-weight:600;font-size:.78rem;text-align:left}
.restable td.n,.restable th.n{text-align:right}
.toast{position:fixed;left:50%;top:18px;transform:translate(-50%,calc(-100% - 40px));z-index:90;padding:11px 18px;border-radius:14px;background:var(--text);color:var(--bg);font-weight:600;box-shadow:var(--shadow);transition:transform .35s cubic-bezier(.2,1.3,.4,1);max-width:calc(100% - 30px);text-align:center}
.toast.on{transform:translate(-50%,0)}
.toast.err{background:var(--r);color:#fff}

/* ---------- Responsiv ---------- */
@media (max-width:860px){
  .cards3{grid-template-columns:1fr}
  .twocol{grid-template-columns:1fr}
}
@media (max-width:600px){
  .hud-top{flex-wrap:wrap;row-gap:6px}
  .hud-top .plist{order:3;flex-basis:100%}
  .rulesgrid{grid-template-columns:1fr}
  .showcase{height:140px}
  .panel{padding:18px}
  .plist{gap:5px}
  .pchip{padding:4px 8px 5px 6px;gap:5px;border-radius:12px}
  .pchip .pn{max-width:58px;font-size:.78rem}
  .pchip .pk{display:none}
  .pchip .pawnic{width:14px;height:19px}
  .pchip .pg i{width:6px;height:6px}
  .status{font-size:1.2rem}
  .rollbtn{font-size:1.5rem;padding:13px}
  .kickbtn{font-size:1.8rem}
  .reacts button{width:32px;height:32px;font-size:1rem}
  .ticker{display:none}
  .hud-bottom{padding:10px 12px 8px}
  .bigbanner{top:28%}
}
@media (prefers-reduced-motion:reduce){
  .blob{animation:none}
  *{animation-duration:.01ms!important;animation-iteration-count:1!important}
}
