:root{--bg:#f5f9ff;--ink:#1e293b;--muted:#526079;--card:#ffffff;--line:#dbe7f7;--accent:#2563eb;--accent-ink:#fff;--accent-soft:#e0ecff;--accent-deep:#1d4ed8;--sky:#e0f2fe;--radius:22px;--shadow:0 10px 30px -12px rgba(37,99,235,.18),0 2px 6px rgba(30,64,175,.06);
--font:ui-rounded,"SF Pro Rounded","Nunito","Quicksand","Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);color:var(--ink);line-height:1.55;min-height:100vh;
background:radial-gradient(1200px 600px at 10% -10%,#dbeafe 0%,transparent 60%),radial-gradient(900px 500px at 100% 0%,#e0f2fe 0%,transparent 55%),radial-gradient(900px 600px at 50% 110%,#ede9fe 0%,transparent 60%),var(--bg);background-attachment:fixed}
a{color:var(--accent)}h1,h2,h3{line-height:1.2;letter-spacing:-.01em;margin:0 0 .5rem}
.wrap{max-width:640px;margin:0 auto;padding:1.25rem 1.25rem 3rem}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:1.05rem;padding:.5rem 0 1.5rem;color:var(--ink);text-decoration:none}
.brand img{width:34px;height:34px;border-radius:10px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}
.btn,button{font:inherit;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:0;cursor:pointer;border-radius:999px;padding:.75rem 1.3rem;font-weight:650;text-decoration:none;background:var(--accent);color:var(--accent-ink);transition:transform .15s,box-shadow .15s;box-shadow:0 6px 16px -6px rgba(37,99,235,.5)}
.btn:hover,button:hover{transform:translateY(-1px)}.btn:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}
.btn.big{font-size:1.15rem;padding:1.05rem 2rem;width:100%;max-width:360px}
.btn.ghost,button.ghost{background:var(--accent-soft);color:var(--accent-deep);box-shadow:none}
input{font:inherit;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:.75rem 1.1rem;min-width:0}
input:focus{border-color:#93c5fd;outline:none}
.muted{color:var(--muted)}code{background:#eef4fd;border-radius:8px;padding:.1rem .4rem;font-size:.9em}
[hidden]{display:none!important}
.mascot{display:block;margin:0 auto;height:auto}.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(#dbeafe,#93c5fd);object-fit:cover;flex:none}
