/*! EXO (exogame.eu) © 2026 Patryk Żukiewicz i Eryk Żukiewicz. Wszelkie prawa zastrzeżone. Kopiowanie, rozpowszechnianie i wykorzystanie kodu, grafik i treści bez zgody autorów zabronione. */
html.is-gated,html.is-gated body{overflow:hidden}.gate{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:var(--gutter);background:radial-gradient(60% 50% at 50% 46%,rgba(56,118,220,.22),transparent 70%),radial-gradient(30% 24% at 50% 46%,rgba(246,169,69,.1),transparent 70%),var(--void);text-align:center;transition:opacity .9s var(--ease-out),visibility 0s linear .9s}.gate:before{content:"";position:absolute;left:50%;top:46%;width:min(86vw,760px);aspect-ratio:1 / .36;border:1px solid var(--holo-dim);border-radius:50%;transform:translate(-50%,-50%) rotate(-12deg);box-shadow:0 0 40px -10px #7fd3ff80,inset 0 0 40px -10px #7fd3ff66;opacity:.55;animation:gate-orbit 2.4s var(--ease-out) both}.gate.is-leaving{opacity:0;visibility:hidden}.gate.is-leaving .gate__inner{transform:scale(1.08);filter:blur(6px)}.gate__inner{position:relative;display:grid;justify-items:center;gap:var(--space-4);max-width:520px;transition:transform .9s var(--ease-out),filter .9s var(--ease-out)}.gate__kicker{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.3em;text-transform:uppercase;color:var(--holo);animation:gate-in 1s var(--ease-out) .2s both}.gate__logo{font-family:var(--font-display);font-weight:800;font-size:clamp(5rem,3rem + 10vw,10rem);line-height:.85;letter-spacing:-.03em;background:linear-gradient(180deg,#fff,#e0eeff 48%,#9cc7f2);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 18px rgba(127,211,255,.5)) drop-shadow(0 0 60px rgba(80,160,255,.35));animation:gate-logo 1.6s var(--ease-out) both}.gate__tag{font-size:var(--fs-md);color:var(--fg-muted);animation:gate-in 1s var(--ease-out) .5s both}.gate__langs{display:grid;justify-items:center;gap:var(--space-3);margin-top:var(--space-4);animation:gate-in 1s var(--ease-out) .7s both}.gate__lang-label{font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.24em;text-transform:uppercase;color:var(--fg-faint)}.gate__flags{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3)}.gate__flag{display:grid;justify-items:center;gap:var(--space-2);min-width:88px;padding:var(--space-3) var(--space-3) var(--space-2);border:1px solid var(--line);border-radius:var(--r-md);background:var(--glass);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.08em;color:var(--fg-muted);cursor:pointer;transition:border-color var(--dur),background var(--dur),color var(--dur),box-shadow var(--dur),transform var(--dur)}.gate__flag img{display:block;width:60px;height:40px;object-fit:cover;border-radius:var(--r-sm);box-shadow:0 0 0 1px var(--line-strong);filter:saturate(.75) brightness(.85);transition:filter var(--dur)}.gate__flag:hover{border-color:var(--holo-dim);color:var(--fg);transform:translateY(-2px)}.gate__flag:hover img,.gate__flag[aria-pressed=true] img{filter:none}.gate__flag[aria-pressed=true]{border-color:var(--holo);background:var(--holo-soft);color:var(--holo);box-shadow:var(--glow-holo)}.gate__flag:focus-visible{outline:2px solid var(--holo);outline-offset:3px}.gate__actions{display:grid;justify-items:center;gap:var(--space-3);margin-top:var(--space-3);animation:gate-in 1s var(--ease-out) .9s both}.gate__actions .btn--primary{min-width:220px;justify-content:center}.gate__mute{padding:var(--space-2) var(--space-3);border:0;background:none;font-size:var(--fs-sm);color:var(--fg-faint);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line-strong);transition:color var(--dur)}.gate__mute:hover{color:var(--fg)}.gate__hint{max-width:34ch;font-size:var(--fs-xs);color:var(--fg-faint);animation:gate-in 1s var(--ease-out) 1.1s both}.gate__note{max-width:40ch;font-size:var(--fs-xs);color:var(--holo);opacity:.8}html[data-jezyk=pl] .gate__note,.gate__note:empty{display:none}@media (prefers-reduced-motion: reduce){.gate__flag:hover{transform:none}}@keyframes gate-in{0%{opacity:0;transform:translateY(12px)}}@keyframes gate-logo{0%{opacity:0;letter-spacing:.25em;filter:blur(12px)}}@keyframes gate-orbit{0%{opacity:0;transform:translate(-50%,-50%) rotate(-12deg) scale(.6)}}.sound,.sound__btn{position:relative}.eq{display:flex;align-items:flex-end;gap:2px;height:14px}.eq i{width:2px;height:4px;border-radius:1px;background:currentColor;transition:height var(--dur)}.eq i:nth-child(2){height:7px}.eq i:nth-child(3){height:5px}.sound__btn.is-playing{color:var(--holo);border-color:var(--holo-dim)}.sound__btn.is-playing .eq i{animation:eq .9s ease-in-out infinite alternate}.sound__btn.is-playing .eq i:nth-child(2){animation-duration:.64s;animation-delay:-.2s}.sound__btn.is-playing .eq i:nth-child(3){animation-duration:1.1s;animation-delay:-.4s}.sound__btn.is-playing .eq i:nth-child(4){animation-duration:.76s;animation-delay:-.1s}.sound__btn.is-muted .eq i{height:2px}.sound__btn.is-muted:after{content:"";position:absolute;width:20px;height:1.5px;background:currentColor;transform:rotate(-40deg)}@keyframes eq{0%{height:3px}to{height:14px}}.sound__panel{position:absolute;right:0;top:calc(100% + 10px);z-index:50;display:grid;gap:var(--space-3);width:300px;padding:var(--space-4);border:1px solid var(--line-strong);border-radius:var(--r-md);background:linear-gradient(180deg,var(--glass-hi),transparent 45%),#090f1eeb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-deep),var(--glow-holo);animation:rise .22s var(--ease-out) both}.sound__title{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.16em;text-transform:uppercase;color:var(--holo)}.sound__row{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"btn meta" "btn range";align-items:center;column-gap:var(--space-3);row-gap:var(--space-1)}.sound__toggle{grid-area:btn;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface-2);color:var(--fg-muted);transition:color var(--dur),background var(--dur),border-color var(--dur),box-shadow var(--dur)}.sound__toggle:hover{color:var(--fg);border-color:var(--holo-dim)}.sound__toggle[aria-pressed=true]{color:var(--accent-ink);border-color:transparent;background:linear-gradient(180deg,#ffc06a,var(--accent) 55%,#ea9228);box-shadow:var(--glow-accent)}.sound__toggle:disabled{opacity:.4;cursor:default}.sound__toggle .i-pause,.sound__toggle[aria-pressed=true] .i-play,.sound__toggle .i-off,.sound__toggle[aria-pressed=false] .i-on{display:none}.sound__toggle[aria-pressed=true] .i-pause,.sound__toggle[aria-pressed=false] .i-off{display:block}.sound__meta{grid-area:meta;display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);min-width:0}.sound__label{font-size:var(--fs-sm);font-weight:500}.sound__note{overflow:hidden;font-size:var(--fs-2xs);color:var(--fg-faint);text-overflow:ellipsis;white-space:nowrap}.sound__mute{margin-top:var(--space-1);padding:.55rem;border:1px solid var(--line);border-radius:999px;background:transparent;font-size:var(--fs-sm);color:var(--fg-muted);transition:color var(--dur),border-color var(--dur)}.sound__mute:hover{color:var(--fg);border-color:var(--line-strong)}.range{grid-area:range;width:100%;height:18px;margin:0;background:transparent;cursor:pointer;-webkit-appearance:none;appearance:none}.range::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(90deg,var(--holo) var(--v, 50%),rgba(158,171,195,.22) var(--v, 50%))}.range::-moz-range-track{height:4px;border-radius:2px;background:linear-gradient(90deg,var(--holo) var(--v, 50%),rgba(158,171,195,.22) var(--v, 50%))}.range::-webkit-slider-thumb{width:14px;height:14px;margin-top:-5px;border:0;border-radius:50%;background:#fff;box-shadow:0 0 0 3px #7fd3ff40,0 0 12px var(--holo-dim);-webkit-appearance:none;appearance:none}.range::-moz-range-thumb{width:14px;height:14px;border:0;border-radius:50%;background:#fff;box-shadow:0 0 0 3px #7fd3ff40,0 0 12px var(--holo-dim)}.range:disabled{opacity:.35;cursor:default}@media (max-width: 560px){.sound__panel{position:fixed;left:var(--gutter);right:var(--gutter);top:calc(env(safe-area-inset-top,0px) + 70px);width:auto}}
