/* Progressive visual enhancements: floating navigation and cinematic media. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
.header{inset:16px 24px auto;width:calc(100% - 48px);height:72px!important;grid-template-rows:72px!important;padding-inline:24px!important;border:1px solid #e8f2db24;border-radius:22px;background:#142520c9;backdrop-filter:blur(28px) saturate(135%);-webkit-backdrop-filter:blur(28px) saturate(135%);box-shadow:0 12px 45px #020e1726,inset 0 1px #ffffff12;transition:background .35s,border-color .35s,box-shadow .35s}.header.is-scrolled{background:#10201de8;border-color:#d2e9c932;box-shadow:0 12px 36px #020e1740}.header .brand{font-size:23px}.header-actions>.button-small{min-height:40px;border-radius:12px;font-size:11px;box-shadow:none}.desktop-nav{position:relative;gap:4px!important;padding:4px;border-radius:14px;background:#07191238;isolation:isolate}.desktop-nav a,:lang(ru) .desktop-nav a{padding:10px 14px!important;border:0!important;font-size:12px;position:relative;z-index:1;transition:color .25s}.desktop-nav a::after{display:none!important}.desktop-nav a:hover{color:#fff}.nav-indicator{position:absolute;top:4px;bottom:4px;left:0;width:0;pointer-events:none;z-index:0;background:linear-gradient(135deg,#dfead323,#dfead30c);border:1px solid #e7f2d923;border-radius:11px;opacity:0;transition:transform .45s var(--motion-ease),width .45s var(--motion-ease),opacity .25s}.language-switch{border:0;background:#07191255;border-radius:11px;padding:3px}.language-switch a{border-radius:8px;transition:background .25s,color .25s}.language-switch a[aria-current=page]{background:#d6e3c71c;color:#f0d3a4}.header .menu-toggle{border-radius:12px;background:#e2f0db08}.mobile-nav{left:-1px;right:-1px;top:calc(100% + 9px);border:1px solid #d2e9c92b;border-radius:22px;background:#12251ff5;padding:14px;box-shadow:0 20px 70px #010f1670}.mobile-nav:not([hidden]){display:flex;flex-direction:column;gap:4px;animation:menu-reveal .35s var(--motion-ease)}.mobile-nav a{border:0;border-radius:12px;padding:17px 20px;font-size:18px;letter-spacing:-.35px;background:#d8e8d007}.mobile-nav a:hover,.mobile-nav a[aria-current=location]{background:#d8e8d015;color:#f0cf9d}.mobile-nav a::after{content:'↗';float:right;font-size:16px;color:#a6bda0}@keyframes menu-reveal{from{opacity:0;transform:translateY(-9px) scale(.985)}to{opacity:1;transform:none}}
.hero{border-radius:0 0 32px 32px}.hero-art{filter:saturate(.88) contrast(1.04)}.hero-content{padding-top:175px}.hero-bottom{bottom:30px}.world-caption{padding:11px 16px;border:1px solid #effad326;border-radius:30px;background:#14261d50;backdrop-filter:blur(12px)}
.cast-grid{gap:24px;perspective:1200px}.cast-card{border-radius:25px;border:1px solid #d6ebbd36;background:#152b22;box-shadow:0 18px 45px #020e172b;isolation:isolate;transform:translateZ(0);transition:transform .5s var(--motion-ease),border-color .4s,box-shadow .4s}.cast-card::before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;background:radial-gradient(circle at var(--pointer-x,50%) var(--pointer-y,0%),#f0e4b41a,transparent 55%);box-shadow:inset 0 1px #fbfff12b}.cast-card.selected{border-color:#e8c899a6;box-shadow:0 16px 55px #07150e66,0 0 0 4px #d8b7780c}.cast-card:hover{transform:translateY(-6px);box-shadow:0 25px 55px #010d1766}.cast-card .portrait{transition:transform 1s var(--motion-ease);filter:saturate(.85)}.cast-card:hover .portrait{transform:scale(1.045)}.cast-index{border:1px solid #e3efd52b;background:#0e241b77;backdrop-filter:blur(10px);padding:8px 12px;border-radius:30px;font-size:8px}.cast-copy{z-index:3}.cast-arrow{border-radius:50%;background:#eddbad12;backdrop-filter:blur(10px)}
.device-showcase{padding:35px 20px 25px;position:relative;isolation:isolate;border:1px solid #cfe6b51c;border-radius:30px;background:radial-gradient(ellipse at 35% 25%,#9bcf9830,transparent 60%),linear-gradient(135deg,#21362d9c,#10211c80);box-shadow:inset 0 1px #f0ffe712,0 30px 70px #040e1726}.device-showcase::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background-image:linear-gradient(#ccebd208 1px,transparent 1px),linear-gradient(90deg,#ccebd208 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(#000,transparent 85%)}.device-preview{isolation:isolate;border-radius:22px}.device-preview::before{content:'';position:absolute;inset:20% 14% 8%;border-radius:50%;background:#c5ddb21c;filter:blur(30px);z-index:-1;transition:opacity .5s}.device-preview img{filter:drop-shadow(0 25px 24px #030f1566);transition:transform .7s var(--motion-ease),filter .7s;will-change:auto}.device-preview:hover img{transform:translateY(-8px) scale(1.015);filter:drop-shadow(0 35px 30px #030f1599)}.preview-hint{border-radius:30px;border-color:#deefd441;background:#132820a6;backdrop-filter:blur(18px);font-size:10px;box-shadow:0 5px 25px #030f1740}.device-showcase figcaption{padding-top:25px}.device-showcase h3{font-weight:550}.device-mobile .device-preview{width:86%}.render-lab{border-radius:26px;border-color:#c8dfaf2b;background:linear-gradient(145deg,#23392c,#12281f);box-shadow:0 24px 65px #040e1729}.artifact-stage>img{border-radius:16px;width:calc(100% - 36px);margin:60px 18px 22px;border:1px solid #e7f1cf30;box-shadow:0 20px 45px #040e174d;transition:opacity .3s,filter .3s}.artifact-heading{color:#c4d7b8;letter-spacing:1.6px}.artifact-heading>span:last-child{background:#dbe8cc10;border:1px solid #dbe8cc20;border-radius:20px;padding:5px 9px;margin-top:-5px}[data-fidelity]{border-radius:13px!important;transition:background .3s,border-color .3s,transform .3s!important}[data-fidelity]:hover{transform:translateX(3px)}[data-fidelity] img{border:1px solid #e5f3d124;border-radius:8px}.earth-shell{border-radius:25px;box-shadow:0 28px 70px #010e172e,inset 0 1px #ecffd616}.earth-tools{background:#23403470}.map-controls button{backdrop-filter:blur(15px);background:#183025b3;border-radius:11px}.feature-thread{border-radius:25px;border-color:#bcd6a730;box-shadow:0 28px 70px #07130e50}.gameplay-dialog{border-radius:24px;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#07130dc9;backdrop-filter:blur(12px)}.rules-main nav a{transition:background .25s,transform .25s}.rules-main nav a:hover{background:#3b5540;transform:translateY(-2px)}
@media(min-width:901px) and (max-width:1150px){.header{gap:12px!important;padding-inline:16px!important;inset-inline:16px;width:calc(100% - 32px)}.desktop-nav a,:lang(ru) .desktop-nav a{font-size:10px;padding:10px 9px!important}.header .brand{font-size:20px}.header-actions{gap:7px}.header-actions>.button-small{font-size:10px;padding:11px}}
@media(max-width:900px){.header{inset:10px 12px auto;width:calc(100% - 24px);height:64px!important;padding-inline:12px!important;border-radius:18px}.header-actions{gap:8px}.header-actions>.button-small{font-size:11px;min-height:40px;padding:11px 13px}.header .menu-toggle{height:40px;width:40px}.hero-content{padding-top:136px}.mobile-nav{max-height:calc(100dvh - 100px)}.device-showcase{padding:25px 12px}.cast-grid{gap:16px}}
@media(max-width:600px){.hero{border-radius:0 0 24px 24px}.hero-content{padding-top:125px}.cast-card{border-radius:23px}.cast-index{top:18px;left:18px}.device-showcase{margin-inline:0;padding:25px 8px;border-radius:24px;gap:34px}.device-showcase figcaption{padding-inline:16px}.device-mobile .device-preview{width:80%}.render-lab{border-radius:22px}.artifact-stage>img{width:calc(100% - 24px);margin-inline:12px;border-radius:12px}.artifact-heading{font-size:7px;letter-spacing:.8px}.preview-hint{font-size:9px;padding:9px 12px}.earth-shell{border-radius:20px}.header-actions>.button-small{letter-spacing:-.2px}.site-footer .brand img{filter:drop-shadow(0 0 18px #e2c38218)}}
@media(prefers-reduced-motion:reduce){.mobile-nav:not([hidden]){animation:none}.cast-card:hover,.device-preview:hover img,[data-fidelity]:hover{transform:none}.nav-indicator{transition:none}}
.desktop-nav a[aria-current=location]{box-shadow:none!important;text-decoration:none!important;background:transparent!important}.mobile-nav{background:#13271f!important}.mobile-nav a{background:#e0efd408}.header .menu-toggle:focus-visible{outline-offset:3px}
