:root{--bg:#eef1f6;--bg-grad-1:#e9eefb;--bg-grad-2:#f4f1fa;--card:#fff;--line:#e3e7ee;--ink:#141821;--muted:#586074;--accent:#4f46e5;--accent-strong:#4338ca;--accent-soft:#eef0fe;--accent-ink:#fff;--ok:#15803d;--ok-soft:#e7f6ec;--warn:#b45309;--error:#b91c1c;--error-soft:#fdecec;--radius:12px;--radius-sm:9px;--radius-pill:999px;--shadow-sm:0 1px 2px rgba(20,24,33,.06);--shadow:0 6px 20px -8px rgba(20,24,33,.18);--shadow-lg:0 14px 38px -12px rgba(20,24,33,.28);--tap:44px;--ease:cubic-bezier(0.22,1,0.36,1)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body,html{margin:0;padding:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:radial-gradient(1100px 540px at 12% -10%,var(--bg-grad-1),transparent 60%),radial-gradient(900px 520px at 105% 0,var(--bg-grad-2),transparent 55%),var(--bg);background-attachment:fixed;color:var(--ink);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 55%,#fff);outline-offset:2px;border-radius:6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:12px;top:-48px;z-index:100;background:var(--card);color:var(--accent);padding:10px 14px;border-radius:var(--radius-sm);box-shadow:var(--shadow);font-weight:600;transition:top .18s var(--ease)}.skip-link:focus{top:12px}.container{width:100%;max-width:720px;margin:0 auto;padding:0 18px}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--card) 82%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}.site-header .bar{display:flex;align-items:center;gap:14px;padding:12px 18px;max-width:1060px;margin:0 auto;flex-wrap:wrap}.brand{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:19px;letter-spacing:-.02em;text-decoration:none;color:var(--accent)}.brand b{color:var(--ink);font-weight:800}.brand .dot{width:11px;height:11px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#8b5cf6);box-shadow:0 0 0 4px var(--accent-soft)}.nav{margin-left:auto;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.nav .navbtn,.nav a{display:inline-flex;align-items:center;min-height:38px;padding:6px 11px;font-size:14px;font-weight:600;color:var(--muted);text-decoration:none;border-radius:var(--radius-sm);background:none;border:0;cursor:pointer;transition:color .16s var(--ease),background .16s var(--ease)}.nav .navbtn:hover,.nav a:hover,.nav a[aria-current=page]{color:var(--accent);background:var(--accent-soft)}main.container{padding-top:24px;padding-bottom:56px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:16px;box-shadow:var(--shadow-sm);transition:box-shadow .2s var(--ease),transform .2s var(--ease)}.card:hover{box-shadow:var(--shadow)}h1{font-size:24px;letter-spacing:-.02em;line-height:1.2}h1,h2{margin:0 0 6px}h2{font-size:19px;letter-spacing:-.01em}h3{font-size:15px;margin:14px 0 6px}p{margin:0 0 10px}a{color:var(--accent)}.muted{color:var(--muted);font-size:14px}.field{margin-bottom:12px}label{display:block;font-size:13px;font-weight:600;margin:12px 0 5px;color:var(--ink)}input,select,textarea{width:100%;min-height:var(--tap);padding:11px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:15px;font-family:inherit;color:var(--ink);background:#fff;transition:border-color .16s var(--ease),box-shadow .16s var(--ease)}input::placeholder,textarea::placeholder{color:#97a0b3}input:hover,select:hover,textarea:hover{border-color:#c9d0dc}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}textarea{resize:vertical;min-height:88px;line-height:1.5}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--tap);padding:11px 18px;background:var(--accent);color:var(--accent-ink);border:1px solid transparent;border-radius:var(--radius-sm);font-size:14px;font-weight:700;font-family:inherit;white-space:nowrap;cursor:pointer;text-decoration:none;margin-top:14px;box-shadow:var(--shadow-sm);transition:background .16s var(--ease),transform .12s var(--ease),box-shadow .16s var(--ease),opacity .16s var(--ease)}.btn:hover{background:var(--accent-strong);transform:translateY(-1px);box-shadow:var(--shadow)}.btn:active{transform:translateY(0) scale(.985)}.btn:disabled,.btn[aria-disabled=true]{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn.ghost{background:#fff;color:var(--accent);border-color:color-mix(in srgb,var(--accent) 38%,#fff)}.btn.ghost:hover{background:var(--accent-soft)}.btn.small{min-height:34px;padding:6px 12px;font-size:13px;margin-top:0}.pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;letter-spacing:.01em;padding:4px 10px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent)}.pill.grey{background:#eef0f4;color:var(--muted)}.avatar{display:grid;place-items:center;overflow:hidden;flex-shrink:0;border-radius:50%;background:linear-gradient(135deg,#dfe4fb,#ece6fb);color:var(--accent);font-weight:800}.banner,.error,.ok{border-radius:var(--radius-sm);padding:11px 14px;font-size:14px;font-weight:600;margin-bottom:14px;border:1px solid;display:flex;align-items:center;gap:8px}.ok{background:var(--ok-soft);color:var(--ok);border-color:color-mix(in srgb,var(--ok) 28%,#fff)}.error{background:var(--error-soft);color:var(--error);border-color:color-mix(in srgb,var(--error) 28%,#fff)}.ok:before{content:"✓"}.error:before{content:"!";font-weight:800}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--muted);font-weight:600}td,th{padding:8px}td{border-top:1px solid var(--line)}.media{border-radius:var(--radius-sm);max-width:100%}@media (max-width:640px){body{font-size:15px}.container,.site-header .bar{padding-left:14px;padding-right:14px}h1{font-size:21px}.card{padding:16px}.nav{width:100%;margin-left:0;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}.nav::-webkit-scrollbar{display:none}.nav .navbtn,.nav a{flex-shrink:0}form[style*=flex]{flex-wrap:wrap}form[style*=flex] input{flex:1 1 180px}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}.btn:hover,.card:hover{transform:none}}