:root { color-scheme: light; font-family: 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif; color: #15243a; background: #f6f8fc; font-synthesis: none; -webkit-font-smoothing: antialiased; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; }
::selection { color: #173b88; background: #dce8ff; }
.brand { padding: 32px 44px; display: flex; align-items: center; gap: 11px; font-size: 19px; font-weight: 650; letter-spacing: -.025em; }
.brand img, .entry-brand img { display: block; }
.entry { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 32px 24px 96px; text-align: center; }
.entry-brand { padding: 16px; background: white; box-shadow: 0 12px 36px #233d7010; border-radius: 24px; margin-bottom: 32px; }
h1 { font-size: clamp(25px, 3.2vw, 36px); font-weight: 600; letter-spacing: -.03em; margin: 0 0 15px; line-height: 1.4; }
.status-copy p { margin: 0; max-width: 40ch; color: #64748b; font-size: 15px; line-height: 1.9; text-wrap: pretty; }
.progress { width: 148px; height: 3px; margin-top: 34px; background: #e0e8f6; overflow: hidden; border-radius: 3px; }
.progress span { display: block; width: 42%; height: 100%; background: #2563eb; animation: travel 1.6s ease-in-out infinite; }
.caption { color: #64748b; margin: 16px 0 0; font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; max-width: 100%; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 18px; margin-top: 26px; min-height: 46px; padding: 0 25px; color: #fff; background: #2563eb; border: none; border-radius: 9px; font: inherit; font-size: 14px; text-decoration: none; cursor: pointer; transition: background .16s; }
.button:hover { background: #1d4ed8; }.button:focus-visible { outline: 3px solid #83aaff; outline-offset: 4px; }
[hidden] { display: none !important; }
footer { display: flex; align-items: center; justify-content: center; gap: 15px; padding: 24px; color: #64748b; font-size: 12px; line-height: 1.7; border-top: 1px solid #e6ebf3; }
footer i { height: 12px; width: 1px; background: #cbd5e1; }
.noscript { max-width: 32ch; color: #9a3412; font-size: 14px; line-height: 1.8; }
@keyframes travel { from { transform: translateX(-110%); } to { transform: translateX(350%); } }
@media (max-width: 480px) { .brand { padding: 24px; font-size: 17px; }.entry { padding-bottom: 64px; }.entry-brand { margin-bottom: 26px; }footer { flex-wrap: wrap; gap: 8px; font-size: 11px; } }
@media (prefers-reduced-motion: reduce) { .progress span { animation: none; transform: translateX(70%); }.button { transition: none; } }
