.hero{display:flex;gap:24px;align-items:center;padding-block:clamp(32px,7vw,72px) 20px}.app-icon{border-radius:26%;box-shadow:0 10px 30px -10px #00000059;flex:none}.publisher{margin-top:8px;color:var(--accent-text);font:500 .8rem/1 var(--mono);letter-spacing:.06em}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;padding-block:18px}.facts div{text-align:center;padding:6px;border-inline-start:1px solid var(--line)}.facts div:first-child{border:0}.facts strong{display:block;font:600 1.05rem/1.3 var(--mono)}.facts span{font:.72rem var(--mono);color:var(--muted)}.get-label{margin:28px 0 12px}.os-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.os{display:flex;align-items:center;gap:14px;padding:12px 18px;min-height:60px;text-align:left;cursor:pointer;border:1.5px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:600 1.05rem/1.15 var(--serif);transition:border-color .15s,transform .15s}.os:hover{border-color:var(--accent);transform:translateY(-1px)}.os small{display:block;font:500 .62rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.os[data-primary]{background:var(--ink);color:var(--paper);border-color:var(--ink);order:-1}.os[data-primary] small{color:color-mix(in srgb,var(--paper) 70%,transparent)}.note{margin-top:14px}.qr-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.qr-row .btn{flex:none}.grid{display:grid;gap:14px;margin-top:24px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.card p{margin-top:6px}dialog{width:min(440px,calc(100vw - 24px));padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--paper);color:var(--ink);box-shadow:0 30px 80px #0006}dialog::backdrop{background:#00000073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.qr-content{display:grid;justify-items:center;gap:12px;padding:12px 0 4px;text-align:center}.qr-content h3{padding-right:20px}#install-qr{display:block;width:min(248px,70vw);height:auto;padding:8px;border:1px solid var(--line);border-radius:var(--radius-s);background:#fff}.qr-url{overflow-wrap:anywhere;font-family:var(--mono)}@media (max-width: 600px){dialog{margin:auto auto 0;width:100%;max-width:none;border-radius:22px 22px 0 0;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}}@media (max-width: 600px){.qr-row{align-items:flex-start;flex-direction:column}}dialog[open]{animation:rise .25s ease-out}@keyframes rise{0%{opacity:0;translate:0 16px}}.x{position:absolute;top:10px;right:12px;width:36px;height:36px;border:0;background:none;font-size:1.6rem;color:var(--muted);cursor:pointer}.sheet-head{display:flex;gap:14px;align-items:center;margin-bottom:18px}.sheet-head img{border-radius:26%}.st{display:none}dialog[data-stage=verify] .st-verify,dialog[data-stage=installing] .st-installing,dialog[data-stage=done] .st-done,dialog[data-stage=guide] .st-guide,dialog[data-stage=other] .st-other{display:block}.st>.btn{width:100%;margin-top:14px}.checks{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:10px;font-size:1rem}.checks i{display:inline-block;width:18px;height:18px;margin-right:10px;vertical-align:-3px;border:2px solid var(--line);border-radius:50%}[data-state=run] i{border-color:var(--accent);border-top-color:transparent;animation:spin .7s linear infinite}[data-state=ok] i{background:var(--ok);border-color:var(--ok);box-shadow:inset 0 0 0 3px var(--paper)}[data-state=bad] i{background:var(--bad);border-color:var(--bad)}.track{height:6px;border-radius:6px;background:var(--line);overflow:hidden;margin-bottom:8px}#bar{height:100%;width:0;background:linear-gradient(90deg,var(--sun-1),var(--sun-2));transition:width .25s}.fine{margin-top:12px;text-align:center}.st-installing,.st-done,.st-other,.st-guide{text-align:center}.st-guide ol{text-align:left;padding-left:22px;line-height:1.5;margin:14px 0 0}.st-guide li{margin-bottom:8px}.spin{width:36px;height:36px;margin:8px auto 12px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.tick{color:var(--ok);stroke-width:2.5}.st-done h3{margin:6px 0}@keyframes spin{to{rotate:1turn}}
