:root{--bg:#F6F8FC;--surface:#fff;--card:#fff;--text:#0F172A;--muted:#5B6B82;--border:#E3E8F1;--primary:#2F6FED;--primary-soft:#E7EFFD;--ok:#10A56B;--shadow:0 1px 2px rgba(15,23,42,.04),0 8px 24px rgba(15,23,42,.06);--serif:"Iowan Old Style","Palatino Linotype",Georgia,serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
:root[data-theme=dark]{--bg:#0B1220;--surface:#111A2B;--card:#152036;--text:#E8EEF8;--muted:#9AA9C1;--border:#243350;--primary:#6C9BFF;--primary-soft:#1B2A4A;--shadow:none}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0B1220;--surface:#111A2B;--card:#152036;--text:#E8EEF8;--muted:#9AA9C1;--border:#243350;--primary:#6C9BFF;--primary-soft:#1B2A4A;--shadow:none}}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}
body{font:17px/1.6 var(--sans);background:var(--bg);color:var(--text)}
h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.15;letter-spacing:-.01em}
h1{font-size:clamp(34px,6vw,56px)}h2{font-size:clamp(26px,4vw,34px);margin-bottom:18px}h3{font-size:20px}
a{color:var(--primary)}img{max-width:100%;display:block}
.wrap{width:min(1120px,100% - 32px);margin-inline:auto}
:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:8px}
.top{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.top .wrap{display:flex;align-items:center;gap:20px;height:64px}
.brand{display:flex;align-items:center;gap:10px;font:700 20px var(--serif);color:var(--text);text-decoration:none}
.logo{width:32px;height:32px;border-radius:9px;background:var(--primary);color:#fff;display:grid;place-items:center;font:700 17px var(--serif)}
nav{margin-left:auto;display:flex;gap:22px;align-items:center}nav a{color:var(--muted);text-decoration:none;font-size:15px;font-weight:500}nav a:hover{color:var(--text)}
.theme{width:38px;height:38px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;font-size:16px}
section{padding:56px 0}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center;padding:64px 0 40px}
.hero p{color:var(--muted);font-size:19px;margin:18px 0 26px;max-width:46ch}
.btn{display:inline-block;padding:12px 22px;border-radius:12px;background:var(--primary);color:#fff;text-decoration:none;font-weight:600;border:0;cursor:pointer;font-size:16px}
.btn.ghost{background:var(--primary-soft);color:var(--primary)}
.icons{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}.icons img{width:132px;height:132px;border-radius:30px;box-shadow:0 14px 34px rgba(15,23,42,.18)}.icons img:nth-child(2){margin-top:36px}
.tools{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px;align-items:center}
.search{flex:1;min-width:200px;max-width:340px;padding:11px 16px;border-radius:99px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;margin-left:auto}
.chip{padding:8px 16px;border-radius:99px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;font:500 14px var(--sans)}.chip[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:#fff}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.card{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px;text-align:center;align-items:center}
.card .ic{width:76px;height:76px;border-radius:19px}.card h3{margin-top:2px}.card p{color:var(--muted);font-size:15px}
.card a.stretch{color:inherit;text-decoration:none;display:flex;flex-direction:column;gap:8px;align-items:center}
.card:hover{border-color:var(--primary)}
.tag{font-size:12px;font-weight:600;padding:3px 10px;border-radius:99px;background:var(--primary-soft);color:var(--primary)}
.store{display:inline-block;padding:9px 16px;border-radius:11px;background:#0F172A;color:#fff;text-decoration:none;font-size:13px;font-weight:600}
.store.off{background:var(--primary-soft);color:var(--muted);cursor:default}
.soon{border-style:dashed;justify-content:center;color:var(--muted);box-shadow:none}
.featured{background:var(--card);border:1px solid var(--border);border-radius:24px;padding:28px;display:grid;grid-template-columns:1fr 1.2fr;gap:28px;align-items:center;box-shadow:var(--shadow)}
.featured .ic{width:84px;height:84px;border-radius:21px;margin-bottom:14px}.featured p{color:var(--muted);margin:10px 0 18px}
.shots{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px}.shots img{height:360px;width:auto;border-radius:20px;border:1px solid var(--border);scroll-snap-align:start;flex:none}
.three{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.pill{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:18px}.pill h3{font-size:18px;margin-bottom:4px}.pill p{color:var(--muted);font-size:15px}
.about{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.avatar{width:84px;height:84px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font:700 30px var(--serif)}.about p{max-width:60ch;color:var(--muted)}
.crumb{padding-top:24px;font-size:15px}
.apphead{display:flex;gap:22px;align-items:center;flex-wrap:wrap;padding:24px 0 8px}.apphead .ic{width:104px;height:104px;border-radius:26px}.apphead p{color:var(--muted)}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
details{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px 18px;margin-bottom:10px}summary{cursor:pointer;font-weight:600}details p{color:var(--muted);margin-top:8px}
.prose{max-width:760px}.prose h2{margin-top:30px}.prose ol,.prose ul{padding-left:22px}.prose li{margin:6px 0}.prose p{margin:10px 0;color:var(--muted)}
.help{display:flex;gap:14px;flex-wrap:wrap;align-items:center;justify-content:space-between;background:var(--card);border:1px solid var(--border);border-radius:18px;padding:20px}
footer{border-top:1px solid var(--border);padding:30px 0;color:var(--muted);font-size:14px}footer .wrap{display:flex;gap:18px;flex-wrap:wrap;justify-content:space-between}footer a{color:var(--muted)}
@media(max-width:760px){.hero,.featured{grid-template-columns:1fr}nav{gap:14px}.icons img{width:104px;height:104px}.shots img{height:300px}}
