*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--color-brand:#2563eb;--color-brand-dark:#1d4ed8;--color-brand-light:#eff6ff;--color-accent:#7c3aed;--color-bg:#ffffff;--color-surface:#f8fafc;--color-border:#e2e8f0;--color-text:#0f172a;--color-text-muted:#475569;--color-text-faint:#94a3b8;--color-success:#16a34a;--color-success-bg:#f0fdf4;--color-error:#dc2626;--color-error-bg:#fef2f2;--color-warning-bg:#fffbeb;--color-warning:#d97706;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:"SF Mono","Fira Code","Fira Mono",Menlo,Monaco,Consolas,monospace;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 rgb(0 0 0/0.05);--shadow-md:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--shadow-lg:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--shadow-xl:0 20px 25px -5px rgb(0 0 0/0.1),0 8px 10px -6px rgb(0 0 0/0.1);--focus-ring:0 0 0 3px rgba(37,99,235,0.4)}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);line-height:1.6;-webkit-font-smoothing:antialiased}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}.site-wrapper{display:flex;flex-direction:column;min-height:100vh}#main-content{flex:1 1}.container{width:100%;max-width:1100px;margin-inline:auto;padding-inline:var(--space-6)}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border)}.header-inner{justify-content:space-between;height:64px}.header-inner,.logo{display:flex;align-items:center}.logo{gap:var(--space-2);text-decoration:none;color:var(--color-text)}.logo-mark{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--color-brand);color:#fff;font-weight:800;font-size:1.1rem;border-radius:var(--radius-md);letter-spacing:-.02em}.logo-text{font-size:1.25rem;font-weight:800;letter-spacing:-.03em;color:var(--color-text)}.site-footer{border-top:1px solid var(--color-border);padding-block:var(--space-8);background:var(--color-surface)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.footer-brand{font-size:.875rem;color:var(--color-text-muted)}.site-footer nav{display:flex;gap:var(--space-6)}.site-footer nav a{font-size:.875rem;color:var(--color-text-muted);text-decoration:none}.site-footer nav a:hover{color:var(--color-brand)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-weight:600;font-size:1rem;line-height:1;border-radius:var(--radius-md);border:2px solid transparent;cursor:pointer;text-decoration:none;transition:background .15s,color .15s,border-color .15s,box-shadow .15s,opacity .15s;padding:.75rem 1.5rem;white-space:nowrap}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--color-brand);color:#fff;border-color:var(--color-brand)}.btn-primary:hover:not(:disabled){background:var(--color-brand-dark);border-color:var(--color-brand-dark)}.btn-outline{background:transparent;color:var(--color-brand);border-color:var(--color-brand)}.btn-outline:hover:not(:disabled){background:var(--color-brand-light)}.btn-sm{font-size:.875rem;padding:.5rem 1rem}.btn-lg{font-size:1.125rem;padding:1rem 2rem;border-radius:var(--radius-lg)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:.9rem;font-weight:600;color:var(--color-text)}.form-label .required{color:var(--color-error);margin-left:2px}.form-input,.form-select{width:100%;padding:.625rem .875rem;font-size:1rem;font-family:var(--font-sans);color:var(--color-text);background:#fff;border:1.5px solid var(--color-border);border-radius:var(--radius-md);transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-input:focus,.form-select:focus{outline:none;border-color:var(--color-brand);box-shadow:var(--focus-ring)}.form-input.error,.form-select.error{border-color:var(--color-error)}.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23475569' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .875rem center;padding-right:2.5rem}.form-hint{font-size:.8rem;color:var(--color-text-muted)}.form-error{font-size:.8rem;color:var(--color-error);font-weight:500}.form-checkbox-group{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-4);background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md)}.form-checkbox-group.error{border-color:var(--color-error);background:var(--color-error-bg)}.form-checkbox{flex-shrink:0;width:18px;height:18px;margin-top:3px;cursor:pointer;accent-color:var(--color-brand)}.form-checkbox-label{font-size:.875rem;line-height:1.5;color:var(--color-text);cursor:pointer}.form-checkbox-label a{color:var(--color-brand);text-decoration:underline}.alert{padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);font-size:.95rem;line-height:1.6}.alert-success{background:var(--color-success-bg);border:1.5px solid #bbf7d0;color:#14532d}.alert-error{background:var(--color-error-bg);border:1.5px solid #fecaca;color:#7f1d1d}.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}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}@media (max-width:640px){.container{padding-inline:var(--space-4)}.footer-inner{flex-direction:column;align-items:flex-start}}.header-nav{display:flex;align-items:center;gap:1.25rem}.header-nav a:not(.btn){color:#374151;text-decoration:none;font-size:.9rem;font-weight:500;transition:color .15s}.header-nav a:not(.btn):hover{color:var(--color-brand)}.header-nav a:not(.btn):focus-visible{outline:2px solid var(--color-brand);outline-offset:3px;border-radius:3px}