* { box-sizing:border-box; }
:root { color-scheme:light dark; --bg:#fafaf9; --card:#fff; --ink:#202020; --muted:#74746f; --border:#e7e7e3; --soft:#f3f3f0; --danger:#b42318; }
body { min-height:100vh; min-height:100svh; margin:0; padding:32px 20px 70px; display:grid; place-items:center; background:var(--bg); color:var(--ink); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; -webkit-font-smoothing:antialiased; }
.card { width:100%; max-width:420px; padding:40px 32px 28px; background:var(--card); border:1px solid var(--border); border-radius:28px; text-align:center; box-shadow:0 14px 48px #00000004; }
.mark { display:grid; place-items:center; width:70px; height:70px; margin:0 auto 22px; border-radius:22px; background:var(--soft); }
.mark svg { width:38px; height:38px; }
.brand { margin:0 0 10px; font-size:12px; font-weight:600; letter-spacing:.14em; color:var(--muted); overflow-wrap:anywhere; }
h1 { margin:0; font-size:25px; font-weight:600; letter-spacing:-.025em; }
.description { margin:14px 0 24px; color:var(--muted); font-size:14px; line-height:1.8; }
.status,.error { margin:0; min-height:44px; font-size:14px; line-height:1.7; overflow-wrap:anywhere; }
.error { color:var(--danger); }
.actions { display:grid; gap:10px; margin-top:20px; }
button { width:100%; min-height:46px; padding:12px 18px; border:1px solid var(--ink); border-radius:999px; background:var(--ink); color:var(--card); font:inherit; font-size:14px; font-weight:500; cursor:pointer; }
button.secondary { color:var(--muted); border-color:var(--border); background:var(--card); }
button:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
button:disabled { opacity:.5; cursor:wait; }
[hidden] { display:none!important; }
.destination { margin:24px 0 0; color:var(--muted); font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.footer { position:fixed; bottom:24px; margin:0; font-size:11px; color:var(--muted); letter-spacing:.06em; }
@media(prefers-color-scheme:dark) { :root { --bg:#141414; --card:#1c1c1c; --ink:#eeeeea; --muted:#aaa9a3; --border:#33332f; --soft:#2b2b27; --danger:#fda29b; } }
@media(max-width:440px) { .card { padding:32px 24px 24px; } }
