.app-download { cursor: pointer; }
.app-download:focus-visible { outline: 3px solid #a855f7; outline-offset: -3px; }
.app-download[aria-busy="true"] { cursor: progress; }
.compliance-info { width: 100%; max-width: 480px; padding: 24px 16px; background: #f8f9fa; color: #4b5563; font-size: 12px; line-height: 1.9; text-align: center; cursor: auto; overflow-wrap: anywhere; }
.compliance-info a { color: #555; text-underline-offset: 3px; }
.download-notice { position: fixed; z-index: 200; top: 50%; left: 50%; transform: translate(-50%, -50%); width: max-content; max-width: calc(100% - 40px); padding: 14px 18px; border-radius: 10px; background: #1f2937; color: white; font-size: 14px; line-height: 1.6; box-shadow: 0 8px 28px #0004; cursor: auto; }
.download-notice[hidden] { display: none; }
.browser-guide { position: fixed; inset: 0; width: calc(100% - 40px); max-width: 360px; margin: auto; padding: 24px; border: 0; border-radius: 16px; color: #1f2937; box-shadow: 0 12px 40px #0004; cursor: auto; }
.browser-guide::backdrop { background: #0009; }
.browser-guide h2 { margin: 0 0 12px; font-size: 20px; }
.browser-guide p { font-size: 15px; line-height: 1.7; }
.browser-guide button { display: block; width: 100%; margin-top: 20px; padding: 12px; background: #7e22ce; border: 0; border-radius: 8px; color: #fff; font-size: 16px; cursor: pointer; }

html, body { height: auto; min-height: 100%; overflow-x: hidden; overflow-y: auto; }
body { font-family: Arial, sans-serif; background: #0e0c18; }
.pc { height: auto; min-height: 100vh; }
.pc .main-box { max-width: 1500px; margin: 0 auto; padding: clamp(30px, 5vw, 100px); align-items: center; }
.pc .main-box .right { min-width: 0; }
.pc .main-box > .left-img { flex-shrink: 0; max-height: 78vh; }
.pc .main-box .right .bottom .download-buttons { width: 100%; }
.pc .main-box .right .bottom .download-buttons img { width: min(46%, 280px); }
.compliance-info { max-width: none; background: #100f19; color: #bbb7c6; padding: 24px 16px; }
.compliance-info a { color: #ddd4f7; }
@media (max-width: 768px) {
  .pc { display: none; }
  .phone { min-height: 100vh; padding-bottom: 20px; overflow: visible; }
  .phone .bottom { left: 0; right: 0; width: 100%; z-index: 100; margin: 0; }
  .phone .bottom img { width: 46%; min-width: 0; max-width: 180px; }
}
