/* Mobile-first: base = phones; min-width 600/768/960 enhance */
:root{--bg:#0b0f14;--fg:#e8eef2;--ac:#00d2be;--mu:#9db3c3;--card:#131b24;--pad:clamp(.9rem,4vw,1.5rem)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:1rem/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow-wrap:break-word;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
a{color:var(--ac)}img{max-width:100%;height:auto;image-rendering:pixelated;display:block;border:3px solid #22313f;aspect-ratio:16/9;object-fit:cover}iframe,video{max-width:100%;border:0}
h1,h2,.brand,.btn,.yr{font-family:ui-monospace,"Courier New",monospace;letter-spacing:.01em}
h1{font-size:clamp(1.5rem,6.4vw,2.8rem);line-height:1.15;margin:.2em 0 .4em}
h2{font-size:clamp(1.2rem,4.6vw,1.5rem);line-height:1.25;border-left:6px solid var(--ac);padding-left:.5em;margin:1.8em 0 .6em}h3{line-height:1.3}
p,li{max-width:68ch}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;color:#000;padding:10px;z-index:9}
/* header */
.top{background:#0b0f14;border-bottom:3px solid var(--ac);padding-top:env(safe-area-inset-top)}
.bar{max-width:1080px;margin:auto;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.4rem max(var(--pad),env(safe-area-inset-right)) .4rem max(var(--pad),env(safe-area-inset-left))}
.brand{font-weight:800;margin-right:auto;color:#fff;text-decoration:none;white-space:nowrap;min-height:44px;display:flex;align-items:center;font-size:1rem}.brand span{background:var(--ac);color:#000;padding:0 .25em;margin:0 .2em}
.top{position:relative;z-index:5}.menu{background:none;margin:0;padding:0;order:3}
.menu summary{list-style:none;min-height:44px;min-width:44px;display:flex;align-items:center;gap:.35em;padding:0 .7em;border:2px solid #2b3d4d;color:var(--fg);font-weight:700;font-size:.95rem;order:3;cursor:pointer;-webkit-user-select:none;user-select:none}
.menu summary::-webkit-details-marker{display:none}.menu[open] summary{border-color:var(--ac)}.menu summary:focus-visible,.top a:focus-visible{outline:3px solid #fff;outline-offset:2px}
.menu nav{position:absolute;left:0;right:0;top:100%;background:#0b0f14;border-bottom:3px solid var(--ac);padding:0 max(var(--pad),env(safe-area-inset-right)) .4rem max(var(--pad),env(safe-area-inset-left));box-shadow:0 12px 24px #000a}.menu ul{list-style:none;margin:0 auto;max-width:1080px;padding:0}
.menu li{max-width:none;border-bottom:1px solid #22313f}.menu nav a{display:flex;align-items:center;min-height:48px;padding:0 .3rem;color:var(--fg);text-decoration:none;font-size:1.05rem}
.menu .lang a{color:var(--ac);font-weight:700}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;background:var(--ac);color:#000;font-weight:800;text-decoration:none;padding:.6em 1.1em;border:0;box-shadow:4px 4px 0 #006b61;cursor:pointer;font-size:1rem;text-align:center;touch-action:manipulation}
.btn:hover,.btn:focus-visible{transform:translate(2px,2px);box-shadow:2px 2px 0 #006b61}
.btn.sm{min-height:44px;padding:0 .8em;font-size:.95rem;color:#000;box-shadow:3px 3px 0 #006b61;order:2;white-space:nowrap}
.btn.big{font-size:1.15rem;padding:.7em 1.3em;margin:.5em 0;width:100%;min-height:52px}
.btn.alt{background:#1c2a36;color:var(--fg);box-shadow:4px 4px 0 #000;border:2px solid var(--ac)}
main{width:100%;max-width:1080px;margin:0 auto;padding:.5rem max(var(--pad),env(safe-area-inset-right)) 1rem max(var(--pad),env(safe-area-inset-left));flex:1}
/* hero: CTA first on phones */
.hero{display:grid;gap:1rem;align-items:center;padding:.6rem 0}.hero h1{margin-top:.1em}.hero p{margin:.5em 0}
.tag{display:inline-block;background:#1c2a36;border:2px dashed var(--ac);padding:.2em .6em;font-weight:700;font-size:.95rem}
.hero .links a,.bc a,.tl a,.pn a,.fl a{display:inline-block;padding:.6em 0;min-height:44px}
.ctl{display:grid;gap:.4em;padding-left:1.2em}.shots{display:grid;gap:1em;grid-template-columns:1fr;margin-top:1em}
.chapters{list-style:none;padding:0;display:grid;gap:.9em}.chapters li{background:var(--card);padding:.9em;border-left:6px solid var(--ac);max-width:none}
.chapters li>a{color:#fff;text-decoration:none;font-size:1.05rem;display:block;line-height:1.4}.chapters p{margin:.4em 0 0;color:#c5d3dd}
.yr{background:var(--ac);color:#000;padding:0 .4em;margin-right:.5em;font-weight:700;display:inline-block}
details{background:var(--card);margin:.5em 0;padding:.7em 1em}summary{cursor:pointer;font-weight:700;min-height:44px}
.note{color:var(--mu);font-size:.9rem}.row{display:flex;gap:.8em;flex-wrap:wrap}.row .btn{flex:1 1 7em}.bc{font-size:.9rem;color:var(--mu);margin:.2em 0}
.chap img{margin-top:1em}.pn{display:flex;flex-direction:column;gap:.2em}
footer{border-top:3px solid #22313f;margin:2.5em auto 0;padding:1.2em max(var(--pad),env(safe-area-inset-right)) calc(1.2em + env(safe-area-inset-bottom)) max(var(--pad),env(safe-area-inset-left));max-width:1080px;width:100%;color:var(--mu);font-size:.9rem}
.ctas{display:flex;flex-direction:column;gap:.6em;margin-top:.8em}.ctas .btn.cta{font-size:1rem;padding:.5em 1em}
.chapters .ctas a.btn{color:#000}.chapters .ctas a.btn.alt{color:var(--fg)}
.res{margin-top:1.5em}.reslist{list-style:none;padding:0;display:grid;gap:.6em}.reslist li{background:var(--card);padding:.7em .9em;border-left:4px solid var(--ac);line-height:1.45;max-width:none}
.reslist a{display:block;padding:.6em 0}.rt{display:inline-block;background:#1c2a36;border:1px solid var(--ac);color:var(--ac);font:700 .75rem ui-monospace,monospace;padding:.1em .45em;margin-right:.3em;text-transform:uppercase}.src{color:var(--mu);font-size:.9rem;display:block}
.qa{background:var(--card);margin:.7em 0;padding:.8em 1em;border-left:4px solid #22313f}.qa h3{margin:0 0 .3em;font-size:1.05rem}.qa p{margin:.3em 0}.qa .ans{color:#fff}
.lead{font-size:1.05rem}
/* facts table reflows into stacked rows on phones */
.tw{overflow-x:auto}.facts{border-collapse:collapse;width:100%}.facts tr{display:block;padding:.5em 0;border-bottom:1px solid #22313f}.facts th,.facts td{display:block;text-align:left;padding:.1em 0;vertical-align:top}.facts th{color:var(--mu);font-weight:600;font-size:.9rem}
.tl{list-style:none;padding:0;border-left:3px solid var(--ac);margin-left:.4em}.tl li{padding:.4em 0 .6em 1em}
.cta-box{background:#10202b;border:2px dashed var(--ac);padding:1em;margin-top:2em}.cta-box h2{margin-top:0}
[id]{scroll-margin-top:1rem}
@media(min-width:600px){.btn.big{width:auto}.ctas{flex-direction:row;flex-wrap:wrap}.ctas .btn.cta{flex:1 1 11em}.shots{grid-template-columns:1fr 1fr}.pn{flex-direction:row;justify-content:space-between;gap:1em}}
@media(min-width:768px){.facts tr{display:table-row;padding:0}.facts th,.facts td{display:table-cell;padding:.5em .7em;border-bottom:1px solid #22313f}.facts th{width:38%;font-size:1rem}.chapters{grid-template-columns:1fr 1fr}.hero{padding:1.5rem 0}.lead{font-size:1.1rem}}
@media(min-width:960px){.top{position:sticky;top:0;z-index:5;background:rgba(11,15,20,.96)}[id]{scroll-margin-top:4.5em}
 .bar{flex-wrap:nowrap;gap:1rem}.menu summary{display:none}.menu{order:1}.menu nav{position:static;border:0;box-shadow:none;padding:0;background:none}.menu ul{display:flex;gap:1.1rem;margin:0;border:0}.menu li{border:0}.menu nav a{font-size:.95rem;min-height:44px;min-width:44px;justify-content:center;padding:0}
 .menu::details-content{content-visibility:visible;display:contents}.btn.sm{order:5}.hero{grid-template-columns:1fr 1.2fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.inst{position:fixed;z-index:8;left:max(.5rem,env(safe-area-inset-left));right:max(.5rem,env(safe-area-inset-right));bottom:calc(.75rem + env(safe-area-inset-bottom));display:flex;align-items:center;gap:.4rem;background:#10202b;border:2px solid var(--ac);padding:.4rem .3rem .4rem .8rem;box-shadow:0 6px 24px #000e;max-width:32rem;margin:auto}
.ios .inst{bottom:calc(4.25rem + env(safe-area-inset-bottom))}.inst p{margin:0;font-size:.95rem;line-height:1.3;flex:1;font-weight:600}.inst .ib{order:0}.ix{min-width:44px;min-height:44px;background:none;border:0;color:var(--fg);font-size:1.2rem;cursor:pointer}
.inst .arrow{position:absolute;left:50%;bottom:-1.3rem;transform:translateX(-50%);color:var(--ac);font-size:1rem;animation:bob 1.2s ease-in-out infinite}@keyframes bob{50%{transform:translate(-50%,4px)}}
.standalone [data-install],.standalone .ili{display:none!important}.ili a{color:var(--ac)!important;font-weight:700}
.herocta{display:flex;flex-direction:column;gap:.2rem}.herocta .btn.alt{min-height:48px;margin:.3em 0}.ilink a{display:inline-block;padding:.6em 0;min-height:44px;font-weight:700}
.steps{padding-left:1.4em;display:grid;gap:.7em}.steps li{padding-left:.2em}.ico{display:inline-block;vertical-align:middle;color:var(--ac);background:#1c2a36;border-radius:6px;padding:2px;margin:0 .15em}
.guide{background:var(--card);padding:.2em 1em 1em;margin:1em 0;border-left:6px solid #22313f}.guide.mine{border-left-color:var(--ac)}.guide h2{margin-top:.8em;border:0;padding:0}
.warn{background:#2a1f0b;border:2px solid #f5b400;padding:.6em .9em;margin:.6em 0}.warn p{margin:.2em 0 .6em}
.gwrap{display:grid;gap:1em}.ph{width:120px;height:210px;border:4px solid #8aa3b5;border-radius:20px;margin:0 auto;display:flex;flex-direction:column;overflow:hidden;background:#05080e}
.ph-s{flex:1;display:flex;align-items:center;justify-content:center;font:700 .8rem ui-monospace,monospace}.ph-s b{background:var(--ac);color:#000;padding:0 .2em;margin-left:.2em}
.ph-bar{height:40px;background:#1c2a36;display:flex;align-items:center;justify-content:center;border-top:1px solid #33475a}.ph-bar .ico{outline:3px solid #f5b400;animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{outline-color:transparent}}
@media(min-width:600px){.herocta{flex-direction:row;flex-wrap:wrap;gap:1rem;align-items:center}.gwrap{grid-template-columns:140px 1fr;align-items:start}}
@media(prefers-reduced-motion:reduce){.inst .arrow,.ph-bar .ico{animation:none}}
