/* Motyw: szkło (glassmorphism) na żywej, ciemnej "zorzy" — wspólny dla strony gry i panelu */
:root{
  --bg:#070b14;--bg-2:#0b111e;--surface:rgba(16,24,48,.5);--surface-2:rgba(255,255,255,.055);--surface-3:rgba(255,255,255,.1);
  --line:rgba(255,255,255,.09);--line-2:rgba(255,255,255,.17);
  --text:#eef3ff;--text-2:#c4d0ea;--muted:#8d9cc0;--dim:#6677a0;
  --accent:#5eb0ff;--accent-2:#6f9bff;--accent-soft:rgba(94,176,255,.16);
  --good:#3ee6a0;--warn:#ffc857;--bad:#ff7d6b;--crit:#ff4f7b;--info:#4fd6ff;--violet:#b49bff;--rad:#7dffb8;
  --r:18px;--r-sm:12px;--shadow:0 10px 40px rgba(2,4,20,.55),0 1px 0 rgba(255,255,255,.07) inset;
  --glass:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025) 50%,rgba(255,255,255,.035));
}
body{background:var(--bg)!important;overflow-x:hidden}
body::before{content:"";position:fixed;inset:-10%;z-index:0;pointer-events:none;filter:blur(60px);
  background:radial-gradient(45% 40% at 20% 0%,rgba(50,110,210,.28),transparent 70%),radial-gradient(40% 40% at 90% 100%,rgba(30,90,170,.2),transparent 70%);
  animation:aurora 40s ease-in-out infinite alternate}
@keyframes aurora{0%{transform:translate3d(0,0,0) rotate(0) scale(1)}50%{transform:translate3d(3%,-3%,0) rotate(4deg) scale(1.08)}100%{transform:translate3d(-3%,3%,0) rotate(-3deg) scale(1.03)}}
body::after{background:radial-gradient(ellipse at center,transparent 55%,rgba(2,4,16,.55) 100%)!important}
.bar,header.bar{background:rgba(9,14,26,.6)!important;backdrop-filter:blur(22px) saturate(1.6)!important;-webkit-backdrop-filter:blur(22px) saturate(1.6)!important;border-bottom:1px solid var(--line-2)!important;box-shadow:0 8px 30px rgba(2,4,20,.35)}
.brand b{background:linear-gradient(90deg,#fff,#a9cdfa);-webkit-background-clip:text;background-clip:text;color:transparent}
.logo{filter:drop-shadow(0 0 10px rgba(94,176,255,.8))!important}
.card{position:relative;background:var(--glass)!important;backdrop-filter:blur(24px) saturate(1.7);-webkit-backdrop-filter:blur(24px) saturate(1.7);
  border:1px solid var(--line-2)!important;border-radius:var(--r);box-shadow:var(--shadow);transition:transform .25s ease,box-shadow .25s ease,border-color .25s}
.card::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;padding:1px;
  background:linear-gradient(140deg,rgba(255,255,255,.28),rgba(255,255,255,0) 35%,rgba(94,176,255,.0) 65%,rgba(94,176,255,.18));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.card:hover{transform:translateY(-2px);box-shadow:0 18px 50px rgba(0,10,40,.5),0 1px 0 rgba(255,255,255,.1) inset}
.card-h{color:var(--text-2)!important}
.card-h::before{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 0 12px var(--accent)}
.btn{background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.05))!important;border:1px solid var(--line-2)!important;border-radius:var(--r-sm);
  backdrop-filter:blur(8px);box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 4px 14px rgba(2,4,20,.3);transition:all .2s ease}
.btn:hover{transform:translateY(-1px);border-color:var(--accent)!important;background:linear-gradient(180deg,rgba(94,176,255,.3),rgba(94,176,255,.1))!important;box-shadow:0 0 0 1px rgba(94,176,255,.35),0 8px 24px rgba(60,120,255,.35)}
.btn:active{transform:translateY(0) scale(.98)}
.btn.pri,.btn.primary{background:linear-gradient(135deg,#3f93f0,#2f6fd0)!important;color:#fff;border-color:transparent!important}
input,textarea,select{background:rgba(5,9,26,.45)!important;border:1px solid var(--line-2)!important;color:var(--text);backdrop-filter:blur(6px);border-radius:var(--r-sm)}
input::placeholder,textarea::placeholder{color:var(--dim)}
input:focus,textarea:focus,select:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px rgba(94,176,255,.22),0 0 22px rgba(94,176,255,.2)}
.chip{background:rgba(255,255,255,.07)!important;backdrop-filter:blur(6px);border:1px solid var(--line-2)!important;box-shadow:0 1px 0 rgba(255,255,255,.12) inset}
.chip.good{box-shadow:0 0 14px rgba(62,230,160,.22)}.chip.bad,.chip.crit{box-shadow:0 0 14px rgba(255,79,123,.25)}
.m-bar{background:rgba(2,5,18,.6)!important;border:1px solid var(--line)!important;height:11px;border-radius:99px;box-shadow:0 1px 3px rgba(0,0,0,.5) inset}
.m-fill{border-radius:99px!important;background:linear-gradient(90deg,color-mix(in srgb,var(--c) 55%,#6b8cff),var(--c))!important;box-shadow:0 0 14px color-mix(in srgb,var(--c) 70%,transparent)}
.pollbox{background:rgba(255,255,255,.04);backdrop-filter:blur(8px);border-radius:var(--r-sm)}
.kv dt{color:var(--muted)}.kv dd{color:var(--text)}
.loginbox{margin-top:16vh!important}
::selection{background:rgba(94,176,255,.4)}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:99px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}
.pwrap{z-index:2}
@media (prefers-reduced-motion:reduce){body::before{animation:none}}

/* --- strona gry --- */
.tab{border-radius:999px}
.tab:hover{background:rgba(255,255,255,.08)!important;color:var(--text)}
.tab[aria-selected=true]{background:linear-gradient(135deg,rgba(94,176,255,.26),rgba(94,176,255,.1))!important;border-color:rgba(160,190,255,.45)!important;box-shadow:0 0 22px rgba(94,176,255,.3),0 1px 0 rgba(255,255,255,.25) inset!important}
.badge{background:linear-gradient(135deg,var(--accent),var(--accent-2))!important;color:#fff!important}.badge.bad{background:var(--crit)!important}
.hero{background:linear-gradient(115deg,color-mix(in srgb,var(--mc) 26%,rgba(255,255,255,.06)) 0%,rgba(255,255,255,.04) 65%)!important;backdrop-filter:blur(24px) saturate(1.6);-webkit-backdrop-filter:blur(24px) saturate(1.6);border:1px solid var(--line-2)!important;box-shadow:var(--shadow)}
.skl{background:rgba(255,255,255,.06)!important;border-color:var(--line)!important}.skl.on{background:var(--mc)!important}
.goal{background:rgba(94,176,255,.12)!important;border-color:rgba(94,176,255,.35)!important}
.npcq{background:linear-gradient(100deg,rgba(94,176,255,.1),transparent 70%)!important;border-left-color:var(--accent)!important}
.introcard{background:linear-gradient(115deg,rgba(94,176,255,.1),rgba(255,255,255,.03) 62%)!important;border:1px solid rgba(140,180,255,.4)!important;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.lcard,.die-card,.callout,.poll-card,.gameover,.sp-banner{backdrop-filter:blur(18px) saturate(1.5);-webkit-backdrop-filter:blur(18px) saturate(1.5)}
.lcard{background:var(--glass)!important;border-color:var(--line-2)!important}
.mapwrap{border-radius:var(--r);overflow:hidden}
.reader-tools{background:rgba(10,15,28,.8)!important;backdrop-filter:blur(20px) saturate(1.6);-webkit-backdrop-filter:blur(20px) saturate(1.6);box-shadow:0 8px 28px rgba(2,4,20,.5)}
.mapwrap{border:1px solid var(--line-2);box-shadow:var(--shadow)}
.maptools .btn,.mapctl .btn{backdrop-filter:blur(14px)}
.hud{scrollbar-color:rgba(255,255,255,.2) transparent}
.reader{font-feature-settings:"liga","kern"}
a{color:var(--accent)}
.live.on::before{box-shadow:0 0 10px var(--good)}
.divider::before,.divider::after{background:linear-gradient(90deg,transparent,var(--accent),transparent)!important}
.tab[hidden]{display:none!important}
