[hidden] { display: none !important; }
button { font: inherit; cursor: pointer; }
button:disabled { cursor: default; opacity: .6; }
.dialog-open { overflow: hidden; }
html[data-device="desktop"] .desktop-home { display: flex; }
html[data-device="desktop"] .mobile-home { display: none; }
html:not([data-device="desktop"]) .desktop-home { display: none; }
html:not([data-device="desktop"]) .mobile-home { display: flex; flex-direction: column; width:100%; max-width:750px; height:100svh; min-height:620px; margin:auto; padding-bottom:0; }
.mobile-header, .mobile-actions, .download-links, .help-button, .download-footer { flex-shrink:0; }
.mobile-header { display:flex; align-items:center; justify-content:space-between; padding:15px 22px; gap:12px; }
.mobile-header img { width:122px; height:auto; }
.mobile-header span { font-size:13px; color:#999; white-space:nowrap; }
.mobile-header strong { color:#e32636; font-size:16px; }
.mobileSwiper { width:100%; flex:1; height:auto; min-height:210px; }
.mobileSwiper .swiper-slide img { width:100%; height:100%; object-fit:contain; }
.mobileSwiper .swiper-pagination { flex-direction:row; justify-content:center; }
.mobileSwiper .swiper-pagination-bullet-active { width:20px; height:12px; }
.mobile-actions { display:grid; gap:15px; padding:15px 30px 0; }
.mobile-actions a, .mobile-actions button { width:100%; display:flex; align-items:center; justify-content:center; min-height:52px; margin:0; border:0; border-radius:11px; background:#0084ac; color:#fff; text-decoration:none; font-size:14px; }
.help-button { border:0; padding:0; background:transparent; display:block; width:150px; margin:20px auto 12px; }
.help-button img { width:150px; height:auto; display:block; }
.download-footer { text-align:center; border-top:1px solid #eee; padding:10px 12px; font-size:11px; color:#999; }
.download-footer a { color:#0084ac; text-decoration:none; }
.download-footer .status { margin:4px 0 0; font-size:11px; color:#777; line-height:1.4; }
.empty-message { margin:10px 20px; font-size:13px; line-height:1.6; color:#777; text-align:center; }
.qr-hint { margin:12px 0 0; color:#777; font-size:13px; }
.return-home { color:#0084ac; font-size:13px; text-decoration:none; margin-top:12px; }
.download-dialog { position:fixed; inset:0; z-index:1100; display:flex; align-items:center; justify-content:center; }
.dialog-backdrop { position:absolute; inset:0; width:100%; height:100%; background:rgba(0,0,0,.5); border:0; cursor:default; }
.dialog-heading { position:sticky; top:0; z-index:1; height:35px; display:flex; align-items:center; justify-content:center; background:#e8e8e8; color:#1f2533; }
.dialog-heading h2 { margin:0; font-size:14px; font-weight:400; }
.dialog-close { position:absolute; right:10px; top:0; width:35px; height:35px; padding:0; font-size:24px; line-height:35px; color:#1f2533; background:none; border:0; }
.download-links { padding:15px 30px 0; }
.download-choices { display:grid; gap:12px; }
.download-option { display:flex; align-items:center; justify-content:center; min-height:50px; border-radius:11px; background:#0084ac; color:#fff; font-size:16px; text-decoration:none; }
.guide-panel { position:absolute; bottom:0; width:100%; max-width:750px; max-height:calc(100svh - 80px); background:#fff; border-radius:15px 15px 0 0; overflow:auto; padding-bottom:env(safe-area-inset-bottom); }
.guide-panel .dialog-heading { height:50px; background:#fff; }
.guide-panel .dialog-heading h2 { font-size:17px; }
.guide-panel .dialog-close { top:7px; }
.guide-image { display:block; width:100%; height:auto; }
.testflight-guide { background:#2e8bd8; padding:24px 15px 15px; }
.tf-title { display:block; width:min(266px,90%); height:auto; margin:0 auto 24px; }
.tf-step { background:white; border:1px solid #e6e6e6; border-radius:10px; text-align:center; padding:15px; margin-bottom:15px; }
.tf-step h3 { margin:8px 0 15px; font-size:17px; font-weight:400; }
.tf-step p { font-size:13px; }
.tf-step a { display:block; padding:12px; margin:15px 12px; background:#0777ce; border-radius:10px; color:white; text-decoration:none; }
.tf-step img { display:block; width:calc(100% - 36px); height:auto; margin:20px auto 0; }
.download-dialog a:focus-visible, button:focus-visible { outline:3px solid #ffbb00; outline-offset:3px; }
@media(max-width:750px) {
  html[data-device="desktop"] .center { flex-direction:column; padding:25px; }
  html[data-device="desktop"] .leftModel { width:100%; max-width:500px; }
  html[data-device="desktop"] .rightModel { display:none; }
  html[data-device="desktop"] .pclogo { margin-bottom:45px; }
  html[data-device="desktop"] .leftModel .text1 { font-size:32px; line-height:1.5; }
  html[data-device="desktop"] .leftModel .text2 { font-size:18px; }
  html[data-device="desktop"] .leftModel .codemodel { margin-top:25px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; } }
