:root{--primary: #1e77bd;--primary-dark: #04345c;--secondary: #10564f;--bg: #eef3f8;--bg-elevated: #ffffff;--text: #04345c;--muted: #5a7388;--primary-soft: #e2eff8;--secondary-soft: #e6f0ee;--line: rgba(4, 52, 92, .09);--shadow: 0 1px 2px rgba(4, 52, 92, .04);--font-display: "Syne", system-ui, sans-serif;--font-body: "Manrope", system-ui, sans-serif;--ease-out: cubic-bezier(.23, 1, .32, 1);--radius: 16px;--focus-glow: rgba(30, 119, 189, .2);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(ellipse 80% 50% at 0% -10%,rgba(30,119,189,.12),transparent 55%),radial-gradient(ellipse 60% 40% at 100% 0%,rgba(16,86,79,.08),transparent 50%),var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.03em;font-weight:700}a{color:var(--primary)}button,input,select,textarea{font:inherit}.field{width:100%;min-height:2.45rem;padding:.55rem .8rem;border:0;border-radius:10px;background:color-mix(in srgb,var(--bg) 70%,var(--bg-elevated));box-shadow:inset 0 0 0 1px var(--line);color:var(--text);font-size:.92rem;transition:box-shadow .16s var(--ease-out),background .16s var(--ease-out)}.field:focus{outline:none;background:var(--bg-elevated);box-shadow:inset 0 0 0 1px var(--primary),0 0 0 3px var(--focus-glow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.45rem;padding:.45rem .95rem;border:0;border-radius:10px;font-weight:650;font-size:.88rem;cursor:pointer;text-decoration:none;transition:background .16s var(--ease-out),transform .12s var(--ease-out),box-shadow .16s var(--ease-out)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-secondary{background:transparent;color:var(--primary-dark);box-shadow:inset 0 0 0 1px var(--line)}.btn-secondary:hover:not(:disabled){background:var(--primary-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 35%,var(--line))}.page-enter{animation:page-enter .38s var(--ease-out) both}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.skel{border-radius:14px;background:linear-gradient(90deg,var(--primary-soft),var(--bg-elevated),var(--primary-soft));background-size:200% 100%;animation:shine 1.1s ease-in-out infinite}@keyframes shine{to{background-position:-100% 0}}
