/* Shared site shell. All routes and languages use the same navigation and scale. */
:root { --radius-control:6px; --radius-card:12px; --radius-stage:14px; --font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB",sans-serif; --font-display:var(--font-sans); --font-mono:"SFMono-Regular",Consolas,monospace; }
html { scroll-padding-top:100px; }
body { overflow-x:clip; background-color:#070b09; }
body::before,body::after { max-width:100%; }
[hidden] { display:none!important; }
main { min-width:0; }
button,input,select,textarea { font-family:inherit; }
button,a,summary { -webkit-tap-highlight-color:transparent; }
button:not(:disabled),summary { cursor:pointer; }
:where(a,button,select,input,textarea,summary):focus-visible { outline:2px solid #80dda3; outline-offset:5px; }
.button { border-radius:var(--radius-control); box-shadow:none; font-weight:550; display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px; }
.button.primary { background:#8dd9a8; color:#08180e; border-color:#8dd9a8; box-shadow:none; }
.button.primary:hover { background:#a4e6ba; border-color:#a4e6ba; color:#08180e; box-shadow:none; transform:none; }
.button.outline:hover { background:#ffffff06; box-shadow:none; transform:none; }
.skip-link { position:fixed; top:10px; left:16px; transform:translateY(-180%); z-index:100; color:#07100b; background:#b7efca; padding:10px 16px; border-radius:6px; font-size:13px; }
.skip-link:focus { transform:none; }
.site-header.page-header,.site-header { position:fixed; top:0; left:0; right:0; z-index:70; display:flex; align-items:center; justify-content:space-between; gap:24px; height:76px; padding:0 max(32px,calc((100vw - 1280px)/2)); background:#070b09ed; backdrop-filter:blur(18px); border-bottom:1px solid #ffffff0c; }
.brand { font-family:var(--font-sans); font-size:20px; font-weight:650; gap:9px; letter-spacing:-.045em; flex:none; }
.brand-mark { display:grid; place-items:center; width:28px; height:28px; border-radius:7px; background:#153522; color:#c7e9d3; font:750 21px/1 var(--font-sans); box-shadow:none; filter:none; text-shadow:none; animation:none; }
.site-header .top-nav { display:flex; gap:26px; align-items:center; margin-left:auto; margin-right:auto; justify-self:auto; }
.site-header .top-nav a { padding:7px 0; border-radius:0; font-size:12px; font-weight:450; color:#a2b1a8; background:none; transform:none; border-bottom:1px solid transparent; }
.site-header .top-nav a:hover { color:#e6f0e9; background:none; transform:none; }
.site-header .top-nav a.active { color:#b8e6c9; border-bottom-color:#85bd97; background:none; }
.site-header-actions { display:flex; gap:20px; align-items:center; }
.site-language { color:#9fb7a6; font-size:11px; }
.site-language:hover { color:white; }
.site-header .nav-download-cta { font-size:12px; font-weight:550; min-height:34px; padding:8px 17px; background:#9eddb3; border:1px solid #9eddb3; border-radius:6px; color:#0a2012; box-shadow:none; white-space:nowrap; }
.site-header .nav-download-cta:hover { background:#b4ebc7; border-color:#b4ebc7; box-shadow:none; transform:none; filter:none; color:#0a2012; }
.site-header .nav-download-cta[aria-current="page"] { display:inline-flex;align-items:center;gap:7px;background:#14271c;border-color:#4a7056;color:#b8e6c9; }
.site-header .nav-download-cta[aria-current="page"]::before { content:'';width:4px;height:4px;border-radius:50%;background:currentColor;flex-shrink:0; }
.site-header .nav-download-cta[aria-current="page"]:hover { background:#1b3424;border-color:#719a7b;color:#d5efdd; }
.mobile-navigation { display:none; }
.site-footer { display:grid; grid-template-columns:1fr 1fr; gap:48px 72px; padding:56px 0 28px; width:min(1280px,calc(100% - 80px)); margin:0 auto; border-top:1px solid #ffffff12; background:none; font-size:12px; color:#8fa496; }
.footer-brand>p { font-size:13px; color:#91a499; line-height:1.8; margin:18px 0 12px; }
.footer-platform { font-size:10px; color:#728c7b; }
.footer-links { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.footer-links nav { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.footer-links strong { font-size:11px; color:#c9dfd0; font-weight:500; margin-bottom:5px; }
.footer-links a { font-size:11px; color:#8fa496; }
.footer-links a:hover,.footer-legal a:hover { color:#e4f1e9; }
.site-footer .footer-legal { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:12px 24px; padding-top:22px; border-top:1px solid #ffffff0c; margin:0; font-size:10px; align-items:center; }
.footer-legal>span { margin-right:auto; }
.footer-language { margin-left:auto; }
.subpage-hero { padding-top:140px; padding-bottom:65px; width:min(1200px,calc(100% - 80px)); }
.subpage-hero-copy h1 { font-weight:550; letter-spacing:-.04em; font-size:clamp(32px,3.5vw,48px); line-height:1.25; }
.subpage-hero-copy p:not(.eyebrow) { line-height:1.9; font-size:15px; }
.eyebrow,.section-kicker { font-size:10px; letter-spacing:.12em; }
.legal-main { margin-top:140px; max-width:860px; }
.legal-main h1 { font-weight:550; font-size:clamp(34px,4vw,48px); letter-spacing:-.04em; }
.legal-main h2 { font-size:23px; font-weight:550; }
.legal-main p,.legal-main li { font-size:15px; line-height:1.95; }
.legal-notice { border-left-width:2px; background:#2fc87508; padding:12px 18px; font-size:13px!important; }
.legal-toc { padding-block:18px; border-block:1px solid #ffffff0d; gap:12px 24px; }
.legal-toc a { font-size:12px; }
.legal-main a.button { text-decoration:none; }
.commerce-main { max-width:1000px; }.commerce-main>section { padding-block:34px; }.commerce-summary { gap:42px; }.commerce-summary h2 { font-size:30px; letter-spacing:-.04em; }.commerce-summary .eyebrow { font-size:10px; }
.commerce-steps span { font-size:13px; }
.release-panel { max-width:1200px; padding-top:0; }.release-card,.download-ticket { border-radius:12px; box-shadow:none; }.download-ticket { background:#101b13; }.release-card { background:#101812; }.release-card h2,.release-card h3 { font-weight:550; }.release-card p { line-height:1.9; font-size:14px; }
.download-next { max-width:1200px; border-top:1px solid #ffffff0e; padding-top:38px; display:grid; grid-template-columns:repeat(3,1fr); gap:36px; }.download-next span { color:#6d947a; font:10px var(--font-mono); }.download-next h3 { font-size:17px; font-weight:500; margin:13px 0; }.download-next p { font-size:13px; line-height:1.85; color:var(--muted); }.download-next a { color:#b5d9c1; text-underline-offset:4px; }
@media(max-width:1050px) { .site-header .top-nav { gap:18px; }.site-header-actions { gap:14px; }.site-header.page-header { gap:20px; }.site-header .brand { font-size:18px; } }
@media(max-width:900px) {
 .site-header .top-nav { display:none; }.site-header-actions { margin-left:auto; gap:20px; }.site-header.page-header,.site-header { height:68px; padding-inline:24px; }
 .mobile-navigation { display:block; }.mobile-navigation summary { list-style:none; width:30px; height:34px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; border-radius:4px; }.mobile-navigation summary::-webkit-details-marker { display:none; }.mobile-navigation summary span { display:block; width:16px; height:1px; background:#a6bdae; }.mobile-navigation summary:hover { background:#ffffff06; }
 .mobile-navigation nav { display:flex; position:absolute; inset:67px 0 auto; background:#0c140fee; backdrop-filter:blur(18px); border-bottom:1px solid #314638; padding:18px 24px 26px; flex-direction:column; gap:0; box-shadow:0 22px 40px #0004; }
 .mobile-navigation nav a { color:#b4c8bb; padding:12px 10px; font-size:14px; border-bottom:1px solid #ffffff09; }.mobile-navigation nav a.active { color:#a5e2ba; }.mobile-navigation nav a:hover { color:#e7f6ec; background:#ffffff04; }
 .site-footer { gap:36px; }.subpage-hero { gap:30px; }
}
@media(max-width:640px) {
 .site-header.page-header,.site-header { padding-inline:20px; gap:12px; }.site-header .brand { font-size:18px; }.site-header-actions { gap:16px; }.site-header .nav-download-cta { min-height:32px; padding:7px 12px; font-size:11px; }.site-language { font-size:10px; }.brand-mark { width:25px; height:25px; font-size:19px; }
 .site-footer { width:calc(100% - 40px); grid-template-columns:1fr; padding-top:40px; gap:30px; }.footer-links { gap:20px; }.site-footer .footer-legal { gap:12px 18px; font-size:9px; }.footer-legal>span { width:100%; }.footer-language { margin-left:0; }
 .subpage-hero { width:calc(100% - 40px); padding-top:110px; padding-bottom:42px; grid-template-columns:1fr; }.subpage-hero-copy h1 { font-size:35px; }.subpage-hero-copy p:not(.eyebrow) { font-size:14px; }
 .legal-main { margin-top:112px; padding-inline:20px; }.legal-main h1 { font-size:34px; }.legal-main h2 { font-size:22px; }.legal-main p,.legal-main li { font-size:14px; }.legal-main section { padding-block:26px; }.legal-toc a { font-size:11px; }
 .commerce-main>section { padding-block:26px; }.commerce-summary { gap:18px; }.commerce-summary h2 { font-size:27px; }
 .download-next { grid-template-columns:1fr; gap:20px; }.download-next>div { border-bottom:1px solid #ffffff0c; padding-bottom:20px; }.release-panel { padding-bottom:45px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }

.story-stage .mini-label { color:#99b4a2; }
