:root { color-scheme: light dark; --bg:#f7f8fb; --surface:#fff; --ink:#1b1d25; --muted:#606775; --line:#e2e5ec; --accent:#365fd5; --soft:#eef1f8; --orbit:#eff2fd; --audio:#f2effd; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:24px; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased; }
a { color:var(--accent); text-decoration:none; text-underline-offset:4px; }
a:hover { text-decoration:underline; }
a:focus-visible, summary:focus-visible { outline:3px solid var(--accent); outline-offset:5px; border-radius:4px; }
img { display:block; max-width:100%; height:auto; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { line-height:1.12; letter-spacing:-.035em; }
h1 { font-size:clamp(42px,6.4vw,76px); font-weight:700; margin-bottom:24px; }
h2 { font-size:32px; font-weight:650; }
h3 { font-size:21px; font-weight:650; }
p { margin-bottom:20px; }
.wrap { width:min(1100px,calc(100% - 64px)); margin-inline:auto; }
.skip-link { position:absolute; left:24px; top:-100px; padding:8px 16px; background:var(--surface); z-index:10; }
.skip-link:focus { top:12px; }
.site-header { border-bottom:1px solid var(--line); }
.header-inner { display:flex; align-items:center; justify-content:space-between; min-height:86px; gap:24px; }
.brand { display:flex; align-items:center; gap:10px; color:var(--ink); font-size:22px; font-weight:750; letter-spacing:-.06em; }
.brand:hover { text-decoration:none; }
.brand-mark { display:grid; place-items:center; width:32px; height:32px; background:var(--ink); color:var(--surface); border-radius:10px; font-size:20px; font-weight:650; letter-spacing:-.02em; }
nav { display:flex; align-items:center; gap:30px; font-size:14px; font-weight:550; }
nav a { color:var(--muted); }
nav a:hover { color:var(--ink); }
.hero { text-align:center; padding:80px 0 62px; }
.eyebrow { color:var(--muted); font-size:12px; font-weight:650; letter-spacing:.12em; text-transform:uppercase; margin-bottom:22px; }
.hero h1 .accent { color:var(--accent); }
.hero .intro { max-width:660px; margin:0 auto; color:var(--muted); font-size:20px; line-height:1.6; }
.section-heading { display:flex; justify-content:space-between; align-items:baseline; gap:24px; margin-bottom:22px; }
.section-heading h2 { font-size:25px; margin:0; }
.section-heading p { font-size:14px; color:var(--muted); margin:0; }
.apps-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.app-card { border:1px solid var(--line); border-radius:28px; padding:34px; background:var(--surface); display:flex; flex-direction:column; position:relative; overflow:hidden; }
.app-card.orbit { background:linear-gradient(155deg,var(--orbit),var(--surface) 70%); }
.app-card.audio { background:linear-gradient(155deg,var(--audio),var(--surface) 70%); }
.app-card-top { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:25px; }
.app-icon { width:112px; height:112px; object-fit:contain; filter:drop-shadow(0 10px 14px rgba(22,27,55,.12)); }
.category { color:var(--muted); font-size:12px; font-weight:550; border:1px solid var(--line); padding:5px 11px; border-radius:100px; }
.app-card h2 { font-size:30px; margin-bottom:12px; }
.app-card .description { font-size:17px; line-height:1.55; color:var(--muted); margin-bottom:20px; }
.feature-list { list-style:none; padding:0; margin:0 0 28px; font-size:14px; color:var(--muted); }
.feature-list li { display:flex; gap:10px; margin-bottom:8px; }
.feature-list li::before { content:"✓"; color:var(--accent); font-weight:650; }
.card-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin-top:auto; }
.button { display:inline-flex; align-items:center; justify-content:center; border-radius:10px; background:var(--accent); color:#fff; padding:11px 17px; font-size:14px; font-weight:600; line-height:1.3; border:1px solid transparent; }
.button:hover { background:#2c50bd; text-decoration:none; }
.button.secondary { background:var(--surface); color:var(--ink); border-color:var(--line); }
.button.secondary:hover { background:var(--soft); }
.text-link { font-size:14px; font-weight:550; }
.availability { margin:20px 0 0; color:var(--muted); font-size:12px; }
.section { padding:65px 0; }
.legacy-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.legacy-app { display:flex; align-items:center; gap:14px; padding:20px; border:1px solid var(--line); background:var(--surface); border-radius:15px; color:var(--ink); }
.legacy-app strong { font-size:16px; font-weight:600; }
.legacy-text { min-width:0; }
.legacy-icon { width:56px; height:56px; flex:0 0 56px; object-fit:contain; border-radius:12px; }
.legacy-app .legacy-text > span { display:block; margin-top:4px; color:var(--muted); font-size:13px; line-height:1.5; }
.legacy-app:hover { border-color:var(--accent); text-decoration:none; }
.support-strip { display:flex; justify-content:space-between; align-items:center; gap:32px; background:var(--soft); border:1px solid var(--line); border-radius:24px; padding:34px; margin-bottom:64px; }
.support-strip h2 { font-size:26px; margin-bottom:9px; }
.support-strip p { color:var(--muted); margin:0; max-width:620px; }
.site-footer { border-top:1px solid var(--line); padding:26px 0 34px; color:var(--muted); font-size:13px; }
.footer-inner { display:flex; justify-content:space-between; flex-wrap:wrap; align-items:center; gap:20px; }
.footer-links { display:flex; flex-wrap:wrap; gap:24px; }
.footer-links a { color:var(--muted); }
.product-hero { padding:64px 0 56px; }
.product-hero .app-icon { width:144px; height:144px; margin:0 auto 24px; }
.product-hero h1 { font-size:clamp(36px,5.1vw,62px); }
.product-hero .card-actions { justify-content:center; margin-top:28px; }
.product-hero .availability { font-size:13px; }
.features-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-bottom:60px; }
.feature { background:var(--surface); border:1px solid var(--line); border-radius:20px; padding:28px; }
.feature h2 { font-size:21px; margin-bottom:14px; }
.feature p { color:var(--muted); font-size:15px; margin:0; }
.prose { max-width:760px; padding:56px 0 70px; }
.page-heading { margin-bottom:36px; }
.page-heading .app-icon { width:72px; height:72px; margin-bottom:24px; }
.page-heading h1 { font-size:clamp(35px,4.6vw,50px); margin-bottom:16px; }
.page-heading .intro { color:var(--muted); font-size:18px; }
.prose h2 { font-size:24px; margin:38px 0 15px; }
.prose ul,.prose ol { padding-left:24px; }
.prose li { margin-bottom:10px; }
.prose .updated { font-size:13px; color:var(--muted); }
.notice { background:var(--soft); border:1px solid var(--line); border-radius:14px; padding:18px 22px; }
.notice p:last-child { margin-bottom:0; }
.prose details { border-bottom:1px solid var(--line); padding:17px 0; }
.prose summary { font-weight:600; cursor:pointer; padding-right:10px; }
.prose details p { margin:16px 0 4px; color:var(--muted); }
code { font-size:.9em; overflow-wrap:anywhere; }
@media (prefers-color-scheme:dark) {
 :root { --bg:#111319; --surface:#191c24; --ink:#f2f3f7; --muted:#aab1c0; --line:#303643; --accent:#91aaff; --soft:#202532; --orbit:#202941; --audio:#28243b; }
 .button { background:#426adf; color:#fff; }
 .button:hover { background:#537bef; }
 .app-icon { filter:drop-shadow(0 10px 18px rgba(0,0,0,.2)); }
}
@media (max-width:760px) {
 .wrap { width:calc(100% - 40px); }
 .header-inner { min-height:74px; }
 nav { gap:18px; font-size:13px; }
 .hero { padding:56px 0 42px; }
 .hero .intro { font-size:18px; }
 .apps-grid { grid-template-columns:1fr; gap:20px; }
 .app-card { padding:28px; border-radius:22px; }
 .app-card-top { margin-bottom:20px; }
 .app-icon { width:96px; height:96px; }
 .legacy-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .section { padding:46px 0; }
 .section-heading { flex-direction:column; gap:7px; }
 .support-strip { padding:28px; flex-direction:column; align-items:flex-start; gap:20px; margin-bottom:44px; }
 .features-grid { grid-template-columns:1fr; gap:14px; }
 .prose { padding-top:42px; }
 .product-hero .app-icon { width:120px; height:120px; }
}
@media (max-width:420px) {
 .wrap { width:calc(100% - 32px); }
 .brand { font-size:20px; gap:8px; }
 nav { gap:14px; }
 .brand-mark { width:28px; height:28px; border-radius:9px; }
 .legacy-grid { grid-template-columns:1fr; }
 .app-card { padding:24px; }
 .app-card h2 { font-size:27px; }
 .app-card-top { gap:12px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
