/* Aspect public site — minimal, lowercase, one accent. Replaces site.css, public-design.css and home.css on public routes. */
@font-face{font-family:Inter;src:url('/assets/inter-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Inter;src:url('/assets/inter-cyrillic.woff2') format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0400-052F}

:root {
 color-scheme:dark;
 --bg:#101113;--step:#15171a;--field:#1b1e23;--ink:#f0f1f4;--soft:#9ba1ab;
 --accent:#8aa9d4;--accent-hover:#a7bfe1;--accent-ink:#101113;--backdrop:#07090de8;
 --display:clamp(44px,4.6vw,68px);--heading:clamp(28px,2.4vw,34px);--lead:19px;--body:17px;--small:14px;
 --gutter:clamp(20px,4vw,48px);--section:clamp(72px,9vw,128px);--radius:4px;
 --ease:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after {box-sizing:border-box;}
html {scroll-behavior:smooth;scroll-padding-top:24px;-webkit-text-size-adjust:100%;}
body {margin:0;background:var(--bg);color:var(--ink);font:400 var(--body)/1.55 Inter,Arial,sans-serif;font-feature-settings:'cv11','ss01';-webkit-font-smoothing:antialiased;text-transform:lowercase;}
input,textarea,select,code,kbd,.keep-case {text-transform:none;}
::selection {background:var(--accent);color:var(--accent-ink);}
h1,h2,h3,p,ul,ol,figure,fieldset {margin:0;}
ul,ol {padding:0;list-style:none;}
img,svg {display:block;max-width:100%;}
a {color:inherit;text-decoration:none;}
button,input {font:inherit;color:inherit;}
button {text-transform:inherit;}
button {cursor:pointer;}
button,a {touch-action:manipulation;}
h1,h2,h3 {font-weight:550;letter-spacing:-.03em;text-wrap:balance;}
h1 {font-size:var(--display);line-height:1;overflow-wrap:break-word;}
h2 {font-size:var(--heading);line-height:1.15;}
h3 {font-size:var(--lead);line-height:1.35;letter-spacing:-.01em;}
p {text-wrap:pretty;}
:focus-visible {outline:2px solid var(--accent);outline-offset:3px;border-radius:2px;}
.visually-hidden {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.icon {width:14px;height:14px;fill:currentColor;flex:none;}
.skip {position:absolute;left:var(--gutter);top:-100px;z-index:20;background:var(--ink);color:var(--bg);padding:10px 14px;border-radius:var(--radius);}
.skip:focus {top:12px;}
.shell {max-width:1320px;margin:0 auto;padding-inline:var(--gutter);}
html {scrollbar-color:#2c3038 var(--bg);}

/* Actions: one filled button in the accent, everything else is text. */
.primary {display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;border:0;border-radius:var(--radius);background:var(--accent);color:var(--accent-ink);font-weight:550;transition:background-color .2s,transform .2s var(--ease);}
.primary:hover {background:var(--accent-hover);}
.primary:active {transform:translateY(1px);}
.primary:disabled {background:var(--field);color:var(--soft);cursor:default;}
.primary .icon {width:13px;height:13px;transition:transform .25s var(--ease);}
.primary:hover .icon {transform:translateX(3px);}
.text-link {display:inline-flex;align-items:center;gap:10px;min-height:44px;border:0;padding:0;background:none;color:var(--ink);transition:color .2s;}
.text-link:hover {color:var(--accent);}
.text-link .icon {width:12px;height:12px;}
main :not(nav)>a:not([class]),main :not(nav) li>a:not([class]) {text-decoration:underline;text-decoration-color:#4a505b;text-underline-offset:4px;transition:text-decoration-color .2s,color .2s;}
main :not(nav)>a:not([class]):hover {color:var(--accent);text-decoration-color:currentColor;}

/* Header: mark, four links, language and the account. */
.site-header {position:relative;display:flex;align-items:center;gap:40px;min-height:96px;}
.brand {display:inline-flex;align-items:center;gap:12px;font-size:20px;font-weight:600;letter-spacing:-.03em;}
.brand img {width:26px;height:26px;}
.brand>span>span {color:var(--accent);}
.header-nav {display:flex;gap:32px;}
.header-nav a,.account-link,.language-control button {color:var(--soft);transition:color .2s;}
.header-nav a:hover,.header-nav a[aria-current],.account-link:hover {color:var(--ink);}
.header-actions {display:flex;align-items:center;gap:28px;margin-left:auto;}
.language-control {display:flex;gap:2px;}
.language-control button {border:0;background:none;min-width:36px;min-height:40px;padding:6px;font-size:var(--small);}
.language-control button[aria-pressed=true] {color:var(--ink);}
.language-control button:hover {color:var(--ink);}
.account-link {display:inline-flex;align-items:center;gap:10px;min-height:44px;}
.account-link .icon {width:13px;height:13px;}
.menu-toggle {display:none;width:44px;height:44px;align-items:center;justify-content:center;padding:0;border:0;background:none;}
.preview-ribbon {padding:8px var(--gutter);font-size:var(--small);color:var(--soft);background:var(--step);text-align:center;}
.service-message {margin-top:24px;padding:14px 16px;border-radius:var(--radius);background:var(--step);color:var(--ink);max-width:60ch;}
.service-message+.text-link,.service-message+.primary {margin-top:16px;}
.muted {color:var(--soft);}

/* Section frame: heading on the left four columns, content on the right. */
.home-hero,.hero {display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--gutter);min-height:min(760px,calc(100svh - 96px));padding-bottom:var(--section);}
.home-intro,.hero-copy {align-self:center;padding-block:48px;}
.home-lead,.lead {margin-top:28px;font-size:var(--lead);line-height:1.5;color:var(--soft);max-width:34ch;}
.home-actions,.hero-actions {display:flex;flex-wrap:wrap;align-items:center;gap:12px 32px;margin-top:40px;}
.split,.home-game,.home-pricing,.home-faq,.section,.guide-layout,.policy-layout {display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--gutter);padding-bottom:var(--section);}
.home-section-heading,.section-head {align-self:start;}
.home-section-heading p,.section-head p {margin-top:16px;color:var(--soft);max-width:32ch;}
.home-section-heading .text-link,.section-head .text-link {margin-top:16px;}

/* Home: the menu itself is the picture. */
.home-showcase {align-self:center;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:clamp(24px,4vw,56px);background:var(--step);border-radius:var(--radius);}
.home-preview-media {position:relative;}
.home-preview-open,.home-game-image {position:relative;display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;}
.home-shot {position:relative;display:block;overflow:hidden;width:100%;aspect-ratio:var(--shot-ratio);background:#080e19;border-radius:2px;}
.home-shot img {position:absolute;max-width:none;width:var(--shot-width);height:auto;left:var(--shot-left);top:var(--shot-top);}
.home-expand {position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:36px;height:36px;border-radius:var(--radius);background:#101113d9;color:var(--ink);opacity:0;transition:opacity .2s;}
.home-preview-open:hover .home-expand,.home-preview-open:focus-visible .home-expand {opacity:1;}
.home-shot-controls {display:flex;gap:28px;margin-top:24px;}
.home-shot-controls button,.gallery-choice {display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0;border:0;background:none;color:var(--soft);transition:color .2s;}
.home-shot-controls button::before,.gallery-choice::before {content:'';width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.45;transition:background-color .2s,opacity .2s;}
.home-shot-controls button:hover,.gallery-choice:hover {color:var(--ink);}
.home-shot-controls button[aria-selected=true],.gallery-choice[aria-pressed=true] {color:var(--ink);}
.home-shot-controls button[aria-selected=true]::before,.gallery-choice[aria-pressed=true]::before {background:var(--accent);opacity:1;}
.home-game .home-game-image {grid-column:1/-1;}
.home-game .home-section-heading {grid-column:1/-1;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--gutter);align-items:end;}
.home-game .home-section-heading p {margin:0;max-width:none;}

/* Prices: a short list, chosen with a dot. */
.price-picker,[data-public-plans] {min-width:0;}
.term-comparison {display:grid;gap:4px;border:0;padding:0;}
.term-card {position:relative;display:block;cursor:pointer;}
.term-card input {position:absolute;opacity:0;pointer-events:none;}
.term-card-body {display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:4px 20px;padding:22px 24px;border-radius:var(--radius);transition:background-color .2s;}
.term-card-body::before {content:'';grid-row:1/3;width:10px;height:10px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--soft);transition:background-color .2s,box-shadow .2s;}
.term-name {grid-column:2;font-size:var(--lead);font-weight:500;}
.term-price {grid-column:3;grid-row:1/3;font-size:var(--heading);font-weight:550;letter-spacing:-.03em;font-variant-numeric:tabular-nums;}
.term-detail,.term-state {grid-column:2;font-size:var(--small);color:var(--soft);}
.term-state {display:none;}
.term-card:hover input:not(:disabled)+.term-card-body {background:var(--step);}
.term-card input:checked+.term-card-body {background:var(--step);}
.term-card input:checked+.term-card-body::before {background:var(--accent);box-shadow:none;}
.term-card input:focus-visible+.term-card-body {outline:2px solid var(--accent);outline-offset:2px;}
.term-card input:disabled+.term-card-body {opacity:.45;cursor:default;}
.plan-checkout {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;margin-top:32px;padding-inline:24px;}
.plan-selection {font-size:var(--lead);font-variant-numeric:tabular-nums;}
.home-checkout-actions {display:flex;align-items:center;gap:12px 32px;flex-wrap:wrap;}
.payment-note,.key-note {margin-top:24px;padding-inline:24px;font-size:var(--small);color:var(--soft);max-width:62ch;}
.key-note a {color:var(--ink);text-decoration:underline;text-underline-offset:4px;}
.plan-error {margin-top:16px;padding-inline:24px;color:#e7b7bd;}
.plan-error:empty {display:none;}
.subscription-comparison>.service-message {margin:0 0 24px;}

/* Questions: plain disclosures, an accent dot on the open one. */
.home-questions,.faq {display:grid;gap:4px;align-self:start;}
.home-questions details,.faq details {border-radius:var(--radius);transition:background-color .2s;}
.home-questions details[open],.faq details[open] {background:var(--step);}
.home-questions summary,.faq summary {display:flex;align-items:center;gap:16px;min-height:64px;padding:12px 24px;cursor:pointer;list-style:none;font-size:var(--lead);}
.home-questions summary::-webkit-details-marker,.faq summary::-webkit-details-marker {display:none;}
.home-questions summary::before,.faq summary::before {content:'';flex:none;width:6px;height:6px;border-radius:50%;background:var(--soft);opacity:.45;transition:background-color .2s,opacity .2s;}
.home-questions details[open] summary::before,.faq details[open] summary::before {background:var(--accent);opacity:1;}
.home-questions summary:hover,.faq summary:hover {color:var(--ink);}
.home-questions summary .icon,.faq summary .icon {margin-left:auto;width:12px;height:12px;color:var(--soft);transition:transform .25s var(--ease);}
.home-questions details[open] summary .icon,.faq details[open] summary .icon {transform:rotate(180deg);}
.home-questions details p,.faq details p {padding:0 56px 24px 46px;color:var(--soft);max-width:68ch;}
.faq .disclosure {display:none;}

/* Product page. */
.hero-art {position:relative;display:grid;place-items:end center;overflow:hidden;background:var(--step);border-radius:var(--radius);min-height:520px;}
.hero-agent {width:auto;height:min(100%,640px);max-height:640px;object-fit:contain;}
.hero-service {display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:40px;font-size:var(--small);color:var(--soft);}
.hero-service img {width:16px;height:auto;opacity:.8;}
.status {display:inline-flex;align-items:center;gap:8px;color:var(--ink);}
.status-dot {width:6px;height:6px;border-radius:50%;background:var(--accent);}
.feature-mosaic {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px var(--gutter);}
.feature-panel p {margin-top:10px;color:var(--soft);max-width:36ch;}
.feature-panel .text-link {margin-top:8px;}
.requirements>div p {margin-top:16px;color:var(--soft);max-width:32ch;}
.requirements>div .text-link {margin-top:16px;}
.requirements ul {display:grid;gap:4px;align-self:start;}
.requirements li {display:flex;align-items:center;gap:16px;min-height:56px;padding:0 24px;font-size:var(--lead);}
.requirements li::before {content:'';width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none;}

/* Gallery (product and guide). */
.showcase-section .media-gallery {min-width:0;}
.gallery-fallback img {width:100%;height:auto;border-radius:var(--radius);}
.gallery-view {margin:0;}
.gallery-stage {display:block;width:100%;padding:0;border:0;background:var(--step);border-radius:var(--radius);overflow:hidden;cursor:zoom-in;}
.gallery-frame {position:relative;display:block;width:100%;aspect-ratio:16/9;overflow:hidden;background:#080e19;}
.gallery-frame img {display:block;width:100%;height:100%;object-fit:contain;}
.gallery-frame-detail img {position:absolute;width:var(--image-width);height:auto;max-width:none;left:var(--image-left);top:var(--image-top);}
.gallery-caption {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;font-size:var(--small);color:var(--soft);}
.gallery-enlarge {border:0;background:none;padding:0;min-height:44px;color:var(--ink);font-size:var(--small);}
.gallery-enlarge:hover {color:var(--accent);}
.gallery-choices {display:flex;flex-wrap:wrap;gap:4px 28px;margin-top:8px;}
.gallery-choice .gallery-frame {display:none;}
.gallery-choice-label {font-size:var(--body);}

/* Guide and documents: a quiet index on the left, the text on the right. */
.page-intro {padding:clamp(40px,8vw,120px) 0 var(--section);max-width:880px;}
.page-intro .lead {max-width:44ch;}
.policy-date {margin-top:20px;font-size:var(--small);color:var(--soft);}
.guide-nav,.policy-nav {position:sticky;top:32px;align-self:start;display:grid;gap:2px;}
.guide-nav ol {display:grid;gap:2px;}
.guide-more {display:grid;gap:2px;margin-top:24px;}
.guide-nav a,.policy-nav a {display:flex;align-items:center;gap:14px;min-height:40px;color:var(--soft);transition:color .2s;}
.guide-nav a::before,.policy-nav a::before {content:'';width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.45;flex:none;transition:background-color .2s,opacity .2s;}
.guide-nav a:hover,.policy-nav a:hover,.guide-nav a[aria-current],.policy-nav a[aria-current] {color:var(--ink);}
.guide-nav a[aria-current]::before,.policy-nav a[aria-current]::before {background:var(--accent);opacity:1;}
.guide-steps {display:grid;}
.guide-step {padding-bottom:72px;max-width:68ch;}
.guide-step h2 {font-size:26px;margin-bottom:20px;}
.guide-step p+p {margin-top:14px;}
.guide-step p:not(:first-of-type) {color:var(--soft);}
.guide-layout>div>.primary {margin-top:8px;}
.policy-content {max-width:68ch;display:grid;gap:56px;}
.policy-content h2 {font-size:22px;letter-spacing:-.02em;margin-bottom:16px;}
.policy-content p+p {margin-top:12px;}
.policy-content p {color:#d4d7dd;}

/* Footer: three short lines and nothing else. */
.footer-wordmark {display:none;}
.site-footer {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 32px;padding-top:56px;font-size:var(--small);color:var(--soft);}
.footer-links,.policy-links {display:flex;flex-wrap:wrap;gap:4px 24px;}
.footer-links a,.policy-links a {display:inline-flex;align-items:center;min-height:40px;color:var(--ink);transition:color .2s;}
.footer-links a:hover,.policy-links a:hover {color:var(--accent);}
.policy-links {margin-top:8px;font-size:var(--small);}
.policy-links a {color:var(--soft);}
.footer-note {padding:16px 0 40px;font-size:var(--small);color:var(--soft);}

/* Dialogs: the only floating surfaces, so the only shadows. */
dialog {color:var(--ink);background:var(--step);border:0;border-radius:6px;box-shadow:0 24px 64px -16px #000c;}
dialog::backdrop {background:var(--backdrop);}
.home-image-dialog,.gallery-dialog {padding:16px;max-width:min(1200px,calc(100vw - 32px));max-height:92svh;}
.gallery-dialog img {max-height:74svh;width:auto;height:auto;}
.home-dialog-image {width:min(var(--fit-width),1040px);max-width:calc(100vw - 72px);max-height:72svh;overflow:auto;overscroll-behavior:contain;}
.home-dialog-image.is-zoomed .home-shot {width:var(--native-width);max-width:none;}
.home-dialog-footer,.gallery-dialog-footer {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px;padding-top:16px;}
.gallery-dialog-footer p {color:var(--soft);font-size:var(--small);}
.home-dialog-footer .primary {order:3;margin-left:auto;}
.home-zoom {min-height:44px;border:0;border-radius:var(--radius);padding:8px 14px;background:var(--field);}
.home-zoom[aria-pressed=true] {color:var(--accent);}
.purchase-dialog {width:min(460px,calc(100vw - 32px));padding:32px;}
.purchase-dialog h2 {font-size:24px;margin-bottom:20px;}
.purchase-dialog p {margin-top:12px;}
.purchase-dialog .primary {margin-top:24px;width:100%;}
.purchase-dialog .text-link {margin-top:12px;}
.purchase-summary {display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;color:var(--soft);}
.purchase-summary strong {color:var(--ink);font-weight:550;}
.purchase-price {margin-left:auto;font-size:var(--heading);font-weight:550;color:var(--ink);font-variant-numeric:tabular-nums;}

/* Motion: masked headline lines; sections rise once. */
.line {display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em;}
.line>span {display:block;}
@media(prefers-reduced-motion:no-preference) {
 .line>span {animation:line-rise 900ms var(--ease) backwards;animation-delay:calc(var(--line,0)*110ms + 60ms);}
 .home-lead,.hero-copy .lead,.page-intro .lead,.home-actions,.hero-actions,.hero-service,.policy-date {animation:soft-in 700ms var(--ease) 420ms backwards;}
 .home-showcase,.hero-art {animation:soft-in 900ms var(--ease) 200ms backwards;}
}
@keyframes line-rise {from{transform:translateY(105%)}to{transform:none}}
@keyframes soft-in {from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

@media(max-width:1100px) {
 .header-nav {gap:24px;}
 .site-header {gap:28px;}
}
@media(max-width:900px) {
 .home-hero,.hero {grid-template-columns:1fr;min-height:0;gap:40px;}
 .home-intro,.hero-copy {padding-block:32px 0;}
 .hero-art {min-height:420px;}
 .hero-agent {height:420px;}
 .split,.home-game,.home-pricing,.home-faq,.section,.guide-layout,.policy-layout {grid-template-columns:1fr;gap:32px;}
 .home-game .home-section-heading {grid-template-columns:1fr;gap:16px;}
 .guide-nav,.policy-nav {position:static;}
 .policy-nav {display:flex;flex-wrap:wrap;gap:0 24px;}
}
@media(max-width:700px) {
 .site-header {gap:12px;min-height:76px;}
 .site-header.navigation-ready .header-nav {display:none;}
 .menu-toggle {display:inline-flex;}
 .site-header.navigation-open .header-nav {display:grid;position:absolute;z-index:10;left:0;right:0;top:100%;gap:0;padding:8px 0 16px;background:var(--bg);}
 .navigation-open .header-nav a {display:flex;align-items:center;min-height:52px;font-size:22px;color:var(--ink);}
 .header-actions {gap:4px;}
 .account-link span {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
 .account-link {justify-content:center;min-width:44px;}
 .account-link .icon {width:16px;height:16px;}
 .feature-mosaic {grid-template-columns:1fr;gap:32px;}
 .home-showcase {padding:16px;margin-inline:calc(var(--gutter)*-1);border-radius:0;}
 .home-shot-controls {gap:22px;margin-top:12px;}
 .home-expand {opacity:1;width:30px;height:30px;right:8px;bottom:8px;}
 .home-game .home-shot {aspect-ratio:1.5;}
 .home-game .home-shot img {width:246%;left:-37%;top:-85%;}
 .term-card-body {padding:20px 16px;gap:2px 16px;}
 .term-price {font-size:26px;}
 .plan-checkout,.payment-note,.key-note,.plan-error {padding-inline:16px;}
 .plan-checkout {flex-direction:column;align-items:stretch;}
 .home-checkout-actions {flex-direction:column-reverse;align-items:stretch;gap:4px;}
 .home-checkout-actions .text-link {justify-content:center;}
 .home-questions summary,.faq summary {padding:12px 16px;font-size:var(--body);}
 .home-questions details p,.faq details p {padding:0 16px 20px 38px;}
 .requirements li {padding:0 16px;font-size:var(--body);}
 .policy-intro h1 {font-size:32px;}
 .hero-art {margin-inline:calc(var(--gutter)*-1);border-radius:0;min-height:360px;}
 .hero-agent {height:360px;}
 .site-footer {flex-direction:column;align-items:flex-start;padding-top:32px;}
}
@media(prefers-reduced-motion:reduce) {
 html {scroll-behavior:auto;}
 *,*::before,*::after {animation:none!important;transition:none!important;}
}
@media(min-width:701px) and (max-width:900px) {
 .requirements ul {grid-template-columns:1fr 1fr;}
}
