.platform-downloads { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 12px; margin-block-start: 12px; }
.platform-download { display: inline-flex; align-items: center; gap: 9px; min-block-size: 42px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 8px; font-size: 13px; font-weight: 550; }
.platform-download:hover { background: var(--surface); text-decoration: none; }
.coming-soon { color: var(--muted); font-size: 10px; font-weight: 500; padding: 3px 6px; border-radius: 4px; background: var(--surface); white-space: nowrap; }
.cinematic-landing .hero-copy .platform-downloads { justify-content: flex-start; }
.support-downloads .platform-downloads { justify-content: flex-start; margin-block-end: 26px; }
.notification-dialog { inline-size: min(440px, calc(100% - 32px)); max-block-size: calc(100dvh - 40px); padding: 28px; border: 1px solid var(--line); border-radius: 18px; color: var(--text); background: var(--background); box-shadow: 0 24px 100px #0006; text-align: start; }
.notification-dialog::backdrop { background: #0b101a99; backdrop-filter: blur(6px); }
html:has(.notification-dialog[open]) { overflow: hidden; }
.notification-heading { display: flex; align-items: center; justify-content: space-between; margin-block-end: 18px; }
.notification-mark { color: var(--blue); background: var(--surface); border: 1px solid var(--line); inline-size: 40px; block-size: 40px; display: grid; place-items: center; border-radius: 10px; font-size: 22px; }
.notification-close { inline-size: 40px; block-size: 40px; border: 0; border-radius: 9px; background: transparent; color: var(--muted); font-size: 27px; line-height: 1; cursor: pointer; }
.notification-close:hover { background: var(--surface); color: var(--text); }
.notification-dialog h2 { margin-block-end: 12px; font-size: 28px; line-height: 1.2; letter-spacing: -.7px; }
.notification-dialog > p, .notification-page > p { color: var(--muted); font-size: 14px; line-height: 1.65; }
.notification-fields { display: grid; gap: 8px; margin-block: 22px 16px; }
.notification-fields label { color: var(--text); font-size: 13px; font-weight: 600; }
.notification-fields input, .notification-fields select { inline-size: 100%; min-block-size: 46px; padding: 10px 12px; font: inherit; font-size: 15px; color: var(--text); background: var(--surface); border: 1px solid var(--line); border-radius: 8px; }
.notification-fields label:not(:first-child) { margin-block-start: 6px; }
.notification-consent { display: flex; align-items: flex-start; gap: 10px; color: var(--muted); font-size: 12px; line-height: 1.6; margin-block: 16px 22px; cursor: pointer; }
.notification-consent input { flex-shrink: 0; inline-size: 17px; block-size: 17px; margin: 2px 0 0; accent-color: var(--blue); }
.notification-submit { inline-size: 100%; cursor: pointer; }
.notification-submit:hover:not(:disabled) { background: var(--blue-hover); }
.notification-status { font-size: 13px; line-height: 1.65; color: var(--text); margin-block: 14px 0; }
.notification-status:empty { display: none; }
.notification-privacy { font-size: 11px; line-height: 1.6; color: var(--muted); margin-block: 14px 0; }
.notification-privacy a { color: var(--text); text-decoration: underline; text-underline-offset: 3px; }
.notification-page { max-inline-size: 520px; }
.notification-page h1 { font-size: clamp(32px, 5vw, 46px); }
.notification-page form { margin-block-end: 30px; }
.notification-dialog [hidden], .notification-page [hidden] { display: none !important; }
@media (max-width: 700px) { .notification-dialog { padding: 22px; } }
