:root { color-scheme:light; --ink:#182333; --muted:#697586; --blue:#2563eb; --line:#e3e8ef; --bg:#f8fafc; --card:#fff; --soft:#eef4ff; --surface:#f1f5f9; }
:root[data-theme="dark"] { color-scheme:dark; --ink:#f2f2f2; --muted:#a3a3a3; --blue:#e5e5e5; --line:#2e2e2e; --bg:#101010; --card:#181818; --soft:#262626; --surface:#222; }
@media(prefers-color-scheme:dark) { :root:not([data-theme="light"]):not([data-theme="dark"]) { color-scheme:dark; --ink:#f2f2f2; --muted:#a3a3a3; --blue:#e5e5e5; --line:#2e2e2e; --bg:#101010; --card:#181818; --soft:#262626; --surface:#222; } }
html { scrollbar-width:none; }
html::-webkit-scrollbar { display:none; }
.site-page { background:var(--bg); min-height:100vh; display:flex; flex-direction:column; }
.site-page main,.site-page footer { width:100%; max-width:1200px; margin:0 auto; padding-left:32px; padding-right:32px; }
.site-page main { flex:1; }
.site-page .site-header { --ink:#182333; --muted:#697586; --blue:#2563eb; --line:#e3e8ef; --card:#fff; --surface:#f1f5f9; --soft:#eef4ff; position:sticky; top:0; z-index:100; width:100%; max-width:none; height:auto; margin:0; padding:0; flex-shrink:0; display:block; color:var(--ink); background:var(--card); border-bottom:1px solid var(--line); }
:root[data-theme="dark"] .site-page .site-header { --ink:#f2f2f2; --muted:#a3a3a3; --blue:#e5e5e5; --line:#2e2e2e; --card:#181818; --surface:#222; --soft:#262626; }
:root[data-theme="dark"] .site-page .brand-mark { filter:grayscale(1); }
.site-header-inner { width:100%; max-width:1280px; min-height:72px; margin:0 auto; padding:0 32px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { font-size:28px; font-weight:600; letter-spacing:-.04em; }
.brand-mark { width:46px; height:46px; border-radius:9px; }
.header-actions { display:flex; align-items:center; gap:28px; }
nav { display:flex; align-items:center; gap:30px; font-size:14px; }
nav a { position:relative; padding:12px 0; white-space:nowrap; transition:color .15s ease; }
nav a:hover,nav a[aria-current="page"] { color:var(--blue); }
nav a[aria-current="page"]::after { content:""; position:absolute; bottom:4px; left:0; right:0; height:2px; background:var(--blue); border-radius:2px; }
button { font:inherit; cursor:pointer; }
[hidden] { display:none !important; }
#theme-toggle[hidden] { display:grid !important; visibility:hidden; }
a:focus-visible,button:focus-visible,summary:focus-visible,.feature-banner:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { z-index:200; }
.theme-picker { position:relative; }
.theme-toggle { width:36px; height:36px; border:1px solid var(--line); border-radius:10px; background:var(--card); color:var(--ink); font-size:20px; display:grid; place-items:center; }
.theme-toggle:hover { background:var(--surface); }
.theme-options { position:absolute; top:46px; right:0; width:164px; padding:6px; border:1px solid var(--line); border-radius:12px; background:var(--card); box-shadow:0 12px 32px #00000014; z-index:5; }
.theme-options button { width:100%; border:0; background:transparent; color:var(--muted); padding:9px 12px; border-radius:7px; text-align:left; }
.theme-options button:hover,.theme-options button[aria-pressed="true"] { background:var(--soft); color:var(--blue); }
.intro-main { padding-top:0; padding-bottom:72px; }
.home-hero { text-align:center; padding:64px 0 36px; }
.hero-eyebrow { display:inline-flex; align-items:center; gap:8px; color:var(--muted); margin:0 0 20px; font-size:13px; }
.hero-eyebrow::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--blue); }
.home-hero h1 { font-size:clamp(34px,4.6vw,56px); font-weight:750; line-height:1.22; letter-spacing:-.055em; text-wrap:balance; }
.hero-description { font-size:18px; line-height:1.7; color:var(--muted); margin:20px auto 26px; max-width:620px; text-wrap:balance; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:46px; padding:0 22px; border:1px solid transparent; border-radius:10px; font-size:14px; font-weight:600; transition:background .15s ease,box-shadow .15s ease; }
.primary { color:#fff; background:#2563eb; box-shadow:0 4px 12px #2563eb20; }
.primary:hover { background:#1d4ed8; }
.primary:disabled { background:#6b7d98; opacity:1; box-shadow:none; cursor:not-allowed; }
:root[data-theme="dark"] .site-page .primary { color:#111; background:#e5e5e5; box-shadow:0 4px 16px #0003; }
:root[data-theme="dark"] .site-page .primary:hover { background:#fff; box-shadow:0 6px 20px #0004; }
:root[data-theme="dark"] .site-page .primary:disabled { color:#a3a3a3; background:#333; box-shadow:none; }
:root[data-theme="dark"] .site-page .banner-viewport { background:#111; }
.secondary { background:var(--card); color:var(--ink); border-color:var(--line); box-shadow:none; }
.secondary:hover { background:var(--surface); }
.hero-platform { margin:16px 0 0; color:var(--muted); font-size:12px; }
.hero-platform span { margin:0 8px; color:var(--line); }
.feature-banner { position:relative; isolation:isolate; outline-offset:6px; scroll-margin-top:96px; }
.banner-viewport { overflow:hidden; touch-action:pan-y; cursor:grab; user-select:none; border:1px solid var(--line); border-radius:16px; background:#101c36; box-shadow:0 16px 40px #15284b10; }
.feature-banner.is-dragging .banner-viewport { cursor:grabbing; }
.feature-banner.is-dragging .banner-track { transition:none; }
.banner-track { display:flex; transition:transform .35s ease; }
.banner-slide { flex:0 0 100%; min-width:0; aspect-ratio:16 / 9; }
.banner-image-link { display:block; width:100%; height:100%; }
.banner-image { display:block; width:100%; height:100%; object-fit:contain; }
.banner-image-link:focus-visible { outline-offset:-4px; }
.banner-controls { padding:18px 4px 4px; }
.banner-dots { display:flex; align-items:center; justify-content:center; gap:8px; overflow-x:auto; padding:4px; }
.banner-dots button { flex-shrink:0; border:1px solid transparent; border-radius:9px; min-height:42px; padding:8px 18px; background:transparent; color:var(--muted); white-space:nowrap; font-size:13px; font-weight:500; }
.banner-dots button:hover { color:var(--ink); background:var(--surface); }
.banner-dots button[aria-pressed="true"] { border-color:var(--line); background:var(--card); color:var(--blue); box-shadow:0 2px 5px #15284b06; }
.banner-caption { color:var(--muted); text-align:center; font-size:12px; margin:12px 0 0; }
.home-section { margin-top:80px; }
.section-heading { text-align:center; margin-bottom:28px; }
.section-heading h2 { margin:0 0 12px; font-size:30px; letter-spacing:-.035em; line-height:1.3; }
.section-heading p { margin:0; color:var(--muted); font-size:15px; }
.feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.feature-card { padding:28px; border:1px solid var(--line); border-radius:16px; background:var(--card); box-shadow:none; }
.feature-card .feature-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:11px; background:var(--soft); color:var(--blue); }
.feature-icon svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.feature-card h3 { margin:22px 0 12px; font-size:19px; font-weight:650; }
.feature-card p { color:var(--muted); font-size:14px; line-height:1.85; margin:0; }
.feature-card .feature-note { margin-top:20px; font-size:12px; color:var(--blue); }
.faq-list { width:100%; max-width:820px; margin:0 auto; border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); padding:22px 0; }
.faq-list summary { cursor:pointer; font-size:15px; font-weight:500; list-style:none; position:relative; padding-right:28px; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:"+"; position:absolute; right:2px; color:var(--muted); font-size:20px; line-height:1.2; }
.faq-list details[open] summary::after { content:"−"; color:var(--blue); }
.faq-list p { color:var(--muted); font-size:14px; margin:14px 0 0; line-height:1.9; }
.faq-list a,.text-link { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
.section-link { margin:24px 0 0; text-align:center; font-size:14px; }
.content-main { padding-top:56px; padding-bottom:72px; }
.download-view { padding-top:56px; }
.content-main>h1,.inline-help>h2 { font-size:36px; margin:0 0 30px; letter-spacing:-.035em; line-height:1.3; }
.page-description { color:var(--muted); margin:-14px 0 30px; font-size:15px; }
.download-panel { padding:36px; background:var(--card); border:1px solid var(--line); border-radius:16px; }
.windows-mark { display:grid; grid-template-columns:repeat(2,15px); gap:3px; margin-bottom:24px; width:33px; }
.windows-mark i { width:15px; height:15px; background:var(--blue); }
.download-panel h2 { margin:0 0 8px; font-size:25px; }
.download-panel>p { color:var(--muted); font-size:14px; }
.download-panel .button { margin-top:14px; }
.download-panel .download-actions { flex-wrap:wrap; gap:16px; align-items:center; }
.release-status { overflow-wrap:anywhere; color:var(--muted); font-size:12px; }
.info-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:20px; }
.info-grid:empty { display:none; }
.info-grid article { padding:28px; border-radius:16px; box-shadow:none; }
.info-grid article h2 { font-size:22px; margin:0 0 12px; }
.info-grid article p { margin-bottom:12px; font-size:14px; }
.info-grid article details { margin-top:18px; }
.inline-help { padding-top:56px; }
.inline-help>h2 { text-align:center; }
.legal-panel { padding:28px; border:1px solid var(--line); background:var(--card); border-radius:16px; max-width:860px; }
.legal-panel h2 { margin:0 0 14px; font-size:22px; }
.legal-panel p { color:var(--muted); font-size:14px; line-height:1.9; }
.legal-panel a { color:var(--blue); }
.purchase-page,body[data-site-view="purchase"] { height:100dvh; min-height:0; overflow:hidden; }
.site-page .shop-main,body[data-site-view="purchase"] .intro-main { max-width:1280px; min-height:0; padding-top:0; padding-bottom:0; }
.shop-main,#purchase { display:flex; flex-direction:column; }
#purchase { height:100%; min-height:0; }
.shop-viewport { --shop-offset:210px; flex:1; min-height:0; overflow:hidden; border-radius:16px; background:var(--card); }
.shop-frame { display:block; width:100%; height:calc(100% + var(--shop-offset)); margin-top:calc(0px - var(--shop-offset)); border:0; background:var(--card); }
.site-page.purchase-page footer,body[data-site-view="purchase"] footer { display:none; }
.site-page footer { display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--line); padding-top:28px; padding-bottom:32px; font-size:12px; gap:20px; }
.site-page footer>span:last-child { display:flex; flex-wrap:wrap; gap:20px; }
@media(max-width:900px) { .site-page main,.site-page footer,.site-header-inner { padding-left:24px; padding-right:24px; } .banner-dots button { padding-left:14px; padding-right:14px; } .feature-card { padding:24px; } }
@media(max-width:650px) {
  .site-header-inner { min-height:68px; flex-wrap:wrap; gap:12px; padding-top:14px; padding-bottom:10px; }
  .brand { font-size:24px; }
  .brand-mark { width:36px; height:36px; }
  .header-actions { flex-basis:100%; justify-content:space-between; gap:12px; }
  nav { gap:24px; font-size:13px; }
  .theme-toggle { width:32px; height:32px; }
  .home-hero { padding-top:40px; padding-bottom:28px; }
  .home-hero h1 { font-size:34px; max-width:340px; margin:auto; }
  .hero-description { font-size:16px; margin:16px 0 22px; }
  .hero-eyebrow { margin-bottom:16px; font-size:12px; }
  .hero-platform { line-height:1.9; }
  .banner-viewport { border-radius:12px; }
  .feature-banner { scroll-margin-top:144px; }
  .banner-dots { justify-content:flex-start; }
  .banner-dots button { padding:8px 14px; }
  .banner-controls { padding-top:12px; }
  .banner-caption { font-size:11px; }
  .home-section { margin-top:52px; }
  .section-heading h2 { font-size:25px; }
  .section-heading p { font-size:14px; }
  .feature-grid,.info-grid { grid-template-columns:1fr; }
  .feature-card { padding:24px; }
  .feature-card h3 { margin-top:16px; }
  .content-main,.inline-help { padding-top:36px; }
  .content-main>h1,.inline-help>h2 { font-size:30px; }
  .download-panel,.legal-panel { padding:24px; }
  .site-page footer { align-items:flex-start; flex-direction:column; }
  .intro-main,.content-main { padding-bottom:48px; }
}
@media(max-width:380px) { .site-page main,.site-page footer,.site-header-inner { padding-left:18px; padding-right:18px; } nav { gap:20px; } .home-hero h1 { font-size:32px; } .hero-actions { flex-direction:column; } .hero-actions .button { width:100%; } }
@media(prefers-reduced-motion:reduce) { .banner-track { transition:none; } nav a,.button { transition:none; } }
