:root { color-scheme: light; font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif; color: #fff; background: #06182f; font-synthesis: none; }
* { box-sizing: border-box; }
body { margin: 0; min-width: 280px; min-height: 100svh; background: radial-gradient(ellipse at 50% 10%, #123862 0%, #06182f 68%); }
.entry { width: min(100%, 580px); margin-inline: auto; padding: 48px max(24px, env(safe-area-inset-right)) 25px max(24px, env(safe-area-inset-left)); text-align: center; }
.entry-brand { padding: 0 0 32px; }
.crest { width: 142px; height: auto; display: block; margin: 0 auto 25px; }
.eyebrow { margin: 0 0 12px; color: #d9bc77; font-size: 11px; font-weight: 700; letter-spacing: .22em; }
h1 { margin: 0; font-size: clamp(28px, 5.8vw, 38px); line-height: 1.3; font-weight: 800; letter-spacing: -.025em; }
.tagline { margin: 20px 0 0; color: #e9edf3; font-size: 19px; font-weight: 500; line-height: 1.8; letter-spacing: .06em; }
.entry-start { border-top: 3px solid #c9a85b; border-radius: 4px 4px 16px 16px; padding: 26px 26px 23px; color: #0b2548; background: #fff; box-shadow: 0 16px 36px #0002; }
h2 { margin: 0 0 10px; font-size: 18px; line-height: 1.6; font-weight: 800; }
.entry-start > p { margin: 0; font-size: 13px; line-height: 1.8; color: #526279; }
.start-link { display: flex; justify-content: center; align-items: center; gap: 20px; min-height: 58px; margin: 22px 0 16px; padding: 14px 16px; border: 1px solid #b59a5c; border-radius: 8px; background: #c9a85b; color: #06182f; font-size: 16px; font-weight: 800; text-decoration: none; }
.start-link:hover { background: #d8b96e; }
.start-link:focus-visible { outline: 3px solid #0b2548; outline-offset: 4px; }
.start-link span { font-size: 22px; line-height: 1; }
.entry-start .signin-note { font-size: 11px; }
footer { margin-top: 30px; color: #a9b9ca; font-size: 11px; letter-spacing: .04em; }
@media (min-width: 540px) { .small-break { display: none; } }
@media (max-width: 380px) { .entry { padding-inline: 18px; } .entry-start { padding-inline: 18px; } }
