dialog { width: min(580px, calc(100% - 32px)); max-height: calc(100dvh - 48px); padding: 28px; overflow: auto; color: #f2f7ff; background: linear-gradient(145deg, #061f33, #020d18 75%); border: 1px solid #14658c; border-radius: 14px; box-shadow: 0 20px 100px #000c, 0 0 45px #0079ff20; }
dialog::backdrop { background: #000811ce; backdrop-filter: blur(8px); }
body:has(dialog[open]) { overflow: hidden; }
.dialog-topline { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.dialog-brand { font-size: 11px; font-weight: 700; letter-spacing: 1.7px; color: #7eb8d8; }
.dialog-brand span { color: var(--cyan); }
.close-dialog { width: 40px; height: 40px; border: 1px solid #21516b; border-radius: 8px; background: #0a263a; color: #fff; font-size: 26px; line-height: 1; }
dialog h2 { margin: 21px 0 14px; font-size: clamp(26px, 5vw, 34px); letter-spacing: -.9px; }
dialog p { font-size: 15px; line-height: 1.65; color: #bacddd; }
dialog a { color: var(--cyan); }
.dialog-note { margin-top: 24px; padding-top: 18px; border-top: 1px solid #194054; font-size: 13px; color: #81a2b9; }
.dialog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 20px; }
.dialog-link, .team-button { display: block; text-align: left; text-decoration: none; border: 1px solid #1a4761; border-radius: 7px; padding: 14px; color: #d2efff; background: #082133; line-height: 1.4; }
.dialog-link:hover, .team-button:hover { border-color: var(--cyan); background: #0d3048; }
.team-button[aria-pressed="true"] { color: var(--gold); border-color: #b29334; }
.search-label { display: block; color: #bdcedb; font-size: 14px; margin-bottom: 10px; }
.search-input { width: 100%; background: #00111f; border: 1px solid #28627e; border-radius: 7px; padding: 14px; color: #fff; }
.search-input:focus-visible, dialog button:focus-visible, dialog a:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
.search-results { display: grid; gap: 8px; margin-top: 16px; }
.search-results a { display: block; border-bottom: 1px solid #173a50; padding: 13px 4px; text-decoration: none; }
.search-results small { display: block; margin-top: 5px; color: #96afc1; line-height: 1.5; }
.milestone-list { list-style: none; margin: 20px 0; padding: 0; }
.milestone-list li { display: grid; grid-template-columns: 75px 1fr; padding: 15px 0; border-bottom: 1px solid #1a3b50; line-height: 1.5; }
.milestone-list strong { color: var(--gold); }
.toast { position: fixed; z-index: 40; bottom: 24px; left: 50%; transform: translate(-50%, 20px); opacity: 0; pointer-events: none; width: max-content; max-width: calc(100% - 32px); padding: 13px 20px; border-radius: 9px; border: 1px solid #0e6a95; background: #052236; box-shadow: 0 12px 30px #0007; font-size: 14px; text-align: center; transition: opacity .2s, transform .2s; }
.toast.is-visible { transform: translate(-50%, 0); opacity: 1; }
.noscript-note { padding: 16px; color: #b4d2e7; text-align: center; }
