/* The game-mode destination uses its own layout; shared navigation and Goody gate stay intact. */
.tower-menu-rune{position:absolute;left:50%;top:35%;width:65%;aspect-ratio:1;border:1px solid #c79eff44;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 30px #a46ef52a,inset 0 0 30px #a46ef518;pointer-events:none;animation:towerMenuRune 5s ease-in-out infinite}
@keyframes towerMenuRune{50%{opacity:.35;transform:translate(-50%,-50%) scale(1.08)}}
@media(prefers-reduced-motion:reduce){.tower-menu-rune{animation:none}}
body.gamemode-page {
    --mode-gold: #edcc91;
    margin: 0;
    padding: 0;
    min-height: 100vh;
    min-height: 100dvh;
    overflow-x: hidden;
    background: #080c13;
    color: #f6f0e6;
    font-family: "Outfit", sans-serif;
    animation: none;
}
body.gamemode-page::before {
    position: fixed; inset: -12px; z-index: 0;
    background: linear-gradient(180deg, rgba(5,9,16,.68), rgba(5,9,16,.88)), url('../image/backgrounds/helyszínek/sagar.webp') center / cover;
    filter: blur(4px); opacity: .28; mask-image: none;
}
.gamemode-page .landing-topbar { background: linear-gradient(#080c13e8, #080c1399, transparent); }
.mode-atmosphere { position: fixed; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; }
.mode-aurora { position: absolute; inset: 0; background: radial-gradient(ellipse at 25% 52%, #54727c20, transparent 55%), radial-gradient(ellipse at 78% 42%, #b0844820, transparent 50%); animation: modeAurora 16s ease-in-out infinite alternate; }
.mode-orbit { position: absolute; width: min(90vw, 1050px); aspect-ratio: 1; left: 50%; top: 38%; border: 1px solid #edcc910b; border-radius: 50%; transform: translate(-50%, -50%); box-shadow: 0 0 0 65px #edcc9103, 0 0 0 66px #edcc9108, 0 0 0 140px #edcc9102, 0 0 0 141px #edcc9106; }
.mode-motes { position: absolute; inset: 0; }
.mode-motes i { position: absolute; left: var(--x); top: var(--y); width: var(--size); height: var(--size); border-radius: 50%; background: #ffe0a6; box-shadow: 0 0 12px 2px #efb86755; opacity: 0; animation: modeMote var(--duration) var(--delay) linear infinite; }
.mode-selector { position: relative; z-index: 1; padding: 120px 0 38px; min-height: calc(100dvh - 90px); box-sizing: border-box; }
.mode-heading { text-align: center; padding: 0 24px; margin: 0 auto 30px; }
.mode-eyebrow { display: flex; align-items: center; justify-content: center; gap: 18px; color: var(--mode-gold); font-size: 10px; font-weight: 500; letter-spacing: .32em; text-transform: uppercase; }
.mode-eyebrow i { width: 48px; height: 1px; background: linear-gradient(90deg, transparent, #edcc9170); }
.mode-eyebrow i:last-child { transform: rotate(180deg); }
.mode-heading h1 { margin: 14px 0 12px; font: 400 clamp(28px, 3.2vw, 52px)/1.2 "AOW", serif; letter-spacing: .025em; text-shadow: 0 4px 30px #0008; }
.mode-heading h1 em { color: var(--mode-gold); font-style: normal; }
.mode-heading p { margin: 0; color: #a6adb8; font-size: clamp(12px, 1vw, 15px); font-weight: 300; letter-spacing: .035em; }
.mode-carousel { --mode-width: min(62vw, 780px); --mode-gap: clamp(18px, 3vw, 50px); outline: none; }
.mode-carousel:focus-visible .mode-controls { outline: 1px solid var(--mode-gold); outline-offset: 8px; }
.mode-viewport { display: flex; align-items: center; gap: var(--mode-gap); overflow-x: auto; overflow-y: hidden; padding: 26px calc((100% - var(--mode-width)) / 2) 36px; scrollbar-width: none; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; cursor: grab; }
.mode-viewport::-webkit-scrollbar { display: none; }
.mode-viewport.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.mode-card { position: relative; isolation: isolate; flex: 0 0 var(--mode-width); width: var(--mode-width); height: clamp(380px, 52vh, 570px); box-sizing: border-box; padding: 0; overflow: hidden; border: 1px solid rgba(var(--mode-accent), .32); border-radius: 14px; background: #101720; color: #fff; text-decoration: none; text-align: left; font: inherit; cursor: pointer; scroll-snap-align: center; transform: scale(.90); opacity: .45; filter: saturate(.55); transition: transform .6s cubic-bezier(.2,.75,.2,1), opacity .6s, filter .6s, border-color .6s, box-shadow .6s; }
.mode-card.is-active { opacity: 1; filter: saturate(1); transform: scale(1); border-color: rgba(var(--mode-accent), .7); box-shadow: 0 22px 45px #0007, 0 0 36px rgba(var(--mode-accent), .10); }
.mode-card::after { content: ""; position: absolute; inset: 7px; z-index: 3; pointer-events: none; border: 1px solid #ffffff12; border-radius: 9px; }
.mode-card:focus-visible { outline: 2px solid var(--mode-gold); outline-offset: 5px; }
.mode-art { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 39%; z-index: -2; transition: transform 1.4s cubic-bezier(.2,.75,.2,1); }
.mode-card.is-active:hover .mode-art { transform: scale(1.035); }
.mode-card-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, #05081077, transparent 27%, #0508101a 40%, #050810d9 75%, #050810 100%); }
.mode-topline { position: absolute; top: 24px; left: 28px; right: 28px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #ffffffd9; font-size: 10px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; text-shadow: 0 2px 6px #000; }
.mode-badge { border: 1px solid rgba(var(--mode-accent), .5); background: #080c1399; backdrop-filter: blur(10px); color: rgb(var(--mode-accent)); padding: 7px 11px; border-radius: 4px; font-size: 9px; white-space: nowrap; }
.mode-copy { position: absolute; left: 36px; right: 36px; bottom: 29px; display: flex; flex-direction: column; align-items: flex-start; }
.mode-number { display: flex; align-items: center; gap: 10px; color: rgb(var(--mode-accent)); font-size: 9px; letter-spacing: .24em; }
.mode-number i { display: block; height: 1px; width: 32px; background: currentColor; opacity: .5; }
.mode-card .mode-title { align-self: flex-start; text-align: left; margin: 10px 0 11px; color: #fff5e8; font: 400 clamp(26px, 2.8vw, 43px)/1.15 "AOW", serif; letter-spacing: .01em; text-shadow: 0 3px 16px #0008; }
.mode-description { max-width: 450px; color: #c1c8d1; font-size: 14px; font-weight: 300; line-height: 1.6; }
.mode-action { align-self: stretch; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 23px; padding-top: 16px; border-top: 1px solid rgba(var(--mode-accent), .3); color: rgb(var(--mode-accent)); font-size: 11px; font-weight: 500; letter-spacing: .13em; text-transform: uppercase; }
.mode-action > span { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid rgba(var(--mode-accent), .4); border-radius: 50%; font-size: 18px; transition: background .3s; }
.mode-card.is-active:hover .mode-action > span { background: rgba(var(--mode-accent), .17); }
.mode-card.is-soon { cursor: default; }
.mode-card.is-soon .mode-action { color: #b8bcca; }
.mode-controls { display: flex; align-items: center; justify-content: center; gap: clamp(16px, 4vw, 35px); width: fit-content; margin: 0 auto; }
.mode-arrow { display: grid; place-items: center; width: 46px; height: 46px; padding: 0; border: 1px solid #edcc9140; border-radius: 50%; background: #0a101ab3; color: var(--mode-gold); font: 22px "Outfit", sans-serif; cursor: pointer; transition: background .25s, border-color .25s, transform .25s; }
.mode-arrow:hover { background: #edcc911c; border-color: #edcc91; transform: scale(1.08); }
.mode-arrow:focus-visible, .mode-dots button:focus-visible, .mode-academy:focus-visible { outline: 2px solid var(--mode-gold); outline-offset: 4px; }
.mode-pagination { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.mode-counter { display: flex; gap: 8px; align-items: baseline; font-size: 11px; letter-spacing: .13em; color: #747e8f; }
.mode-counter b { color: var(--mode-gold); font-size: 18px; font-weight: 400; }
.mode-dots { display: flex; align-items: center; gap: 4px; }
.mode-dots button { display: grid; place-items: center; width: 26px; height: 24px; background: none; border: 0; padding: 0; cursor: pointer; }
.mode-dots button::before { content: ""; width: 5px; height: 5px; background: #5a6476; border-radius: 50%; transition: background .3s, box-shadow .3s; }
.mode-dots button[aria-current]::before { width: 7px; height: 7px; background: var(--mode-gold); box-shadow: 0 0 12px #edcc9170; }
.mode-hint { margin: 17px 16px 0; text-align: center; color: #858d9b; font-size: 10px; letter-spacing: .06em; }
.mode-hint > span { margin-right: 8px; color: #b39e7c; }
.mode-academy { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; width: fit-content; margin: 30px auto 0; padding: 16px 20px; border-top: 1px solid #edcc911f; color: #8d98a9; text-align: center; text-decoration: none; font-size: 12px; }
.mode-academy strong { color: #d4bd94; font-weight: 400; }
.mode-academy:hover strong { color: #fff0d0; }
.gamemode-page .legal-site-footer { position: relative; z-index: 1; box-sizing: border-box; max-width: 100%; background: transparent; }
@keyframes modeMote { 0% { opacity: 0; transform: translate3d(0,30px,0); } 25%,65% { opacity: .5; } 100% { opacity: 0; transform: translate3d(35px,-130px,0); } }
@keyframes modeAurora { to { transform: scale(1.2) translateY(-25px); opacity: .5; } }
@media (min-width: 1900px) { .mode-carousel { --mode-width: min(58vw, 1000px); } .mode-card { height: clamp(550px, 54vh, 780px); } .mode-description { font-size: 16px; max-width: 550px; } }
@media (max-width: 800px) { .mode-selector { padding-top: 110px; } .mode-carousel { --mode-width: 78vw; --mode-gap: 14px; } .mode-card { height: clamp(440px, 58vh, 580px); } .mode-heading { margin-bottom: 14px; } .mode-copy { left: 25px; right: 25px; } .mode-topline { left: 23px; right: 23px; } }
@media (max-width: 480px) { .mode-selector { padding-top: 94px; padding-bottom: 20px; } .mode-heading { padding-inline: 18px; } .mode-heading h1 { font-size: 27px; } .mode-eyebrow { font-size: 8px; gap: 12px; } .mode-eyebrow i { width: 24px; } .mode-carousel { --mode-width: 85vw; --mode-gap: 8px; } .mode-card { height: clamp(415px, 59svh, 520px); border-radius: 10px; } .mode-copy { left: 22px; right: 22px; bottom: 23px; } .mode-topline { top: 21px; left: 21px; right: 21px; font-size: 8px; letter-spacing: .06em; } .mode-badge { font-size: 8px; padding: 6px 8px; } .mode-description { font-size: 13px; line-height: 1.5; } .mode-card .mode-title { font-size: 27px; } .mode-action { font-size: 9px; letter-spacing: .06em; margin-top: 18px; padding-top: 13px; } .mode-viewport { padding-block: 15px 25px; } .mode-academy { margin: 23px 20px 0; font-size: 11px; } }
@media (max-height: 650px) and (min-width: 801px) { .mode-selector { padding-top: 92px; } .mode-heading { margin-bottom: 4px; } .mode-heading h1 { font-size: 32px; margin-block: 9px; } .mode-card { height: 350px; } .mode-copy { bottom: 22px; } .mode-description { font-size: 12px; } .mode-card .mode-title { font-size: 30px; margin-block: 8px; } .mode-action { margin-top: 12px; padding-top: 10px; } }
@media (prefers-reduced-motion: reduce) { .mode-atmosphere *, .goody-gate * { animation: none !important; } .mode-card, .mode-art, .mode-action > span, .mode-arrow { transition: none; } }
