*,:after,:before{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;scroll-behavior:smooth}body,html{overflow-x:hidden}body{max-width:100vw;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--font-primary);background:#fff;color:var(--color-text)}canvas,img,picture,svg,video{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit;color:inherit}button{background:none}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}.link-inherit,.no-underline{text-decoration:none!important}.link-inherit{color:inherit!important}:focus{outline:2px solid transparent}:focus-visible{outline:2px solid #2563eb;outline-offset:2px}input:-webkit-autofill,input:-webkit-autofill:focus,input:-webkit-autofill:hover{-webkit-text-fill-color:inherit;-webkit-box-shadow:inset 0 0 0 1000px transparent;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}button::-moz-focus-inner,input[type=button]::-moz-focus-inner,input[type=reset]::-moz-focus-inner,input[type=submit]::-moz-focus-inner{border:0;padding:0}[hidden]{display:none!important}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-contrast:high){*{outline:1px solid}}:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Monaco,Inconsolata,"Roboto Mono",Menlo,Consolas,"Liberation Mono","Courier New",monospace;--font-primary:var(--font-sans);--font-secondary:var(--font-serif);--font-code:var(--font-mono);--font-weight-thin:100;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900}.font-sans{font-family:var(--font-sans)}.font-serif{font-family:var(--font-serif)}.font-mono{font-family:var(--font-mono)}.font-primary{font-family:var(--font-primary)}.font-secondary{font-family:var(--font-secondary)}.font-code{font-family:var(--font-code)}h1{margin-bottom:2rem}h1,h2{color:var(--color-heading)}h2{margin-bottom:1.5rem}h3{margin-bottom:1.25rem}h3,h4{color:var(--color-heading)}h4{margin-bottom:1rem}h5{margin-bottom:.75rem}h5,h6{color:var(--color-heading)}h6{margin-bottom:.5rem}p{margin-bottom:1rem;color:var(--color-text)}a{color:var(--color-link);text-decoration:underline;transition:color .2s ease}a:hover{color:var(--color-link-hover)}:root{--color-heading:#111827;--color-text:#374151;--color-link:#2563eb;--color-link-hover:#1d4ed8;--color-surface:#f9fafb;--color-form-border:#d1d5db;--color-form-focus:var(--color-link);--color-form-focus-shadow:rgba(37,99,235,.1);--color-form-error:#ef4444;--color-form-error-shadow:rgba(239,68,68,.1);--color-form-disabled-bg:#f9fafb;--color-form-disabled-text:#9ca3af;--color-button-primary:var(--color-link);--color-button-primary-hover:var(--color-link-hover)}input,select,textarea{width:100%;padding:.75rem;font-family:var(--font-primary);color:var(--color-text);background-color:var(--color-white);border:1px solid var(--color-form-border,var(--color-border));border-radius:6px;transition:border-color .2s ease,box-shadow .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-form-focus,var(--color-primary));box-shadow:0 0 0 3px var(--focus-ring-primary)}input:disabled,select:disabled,textarea:disabled{background-color:var(--color-form-disabled-bg,var(--color-surface));color:var(--color-form-disabled-text,var(--color-text-muted));cursor:not-allowed}input:invalid,select:invalid,textarea:invalid{border-color:var(--color-form-error,var(--color-error))}input:invalid:focus,select:invalid:focus,textarea:invalid:focus{box-shadow:0 0 0 3px var(--color-form-error-shadow,rgba(var(--color-error-rgb),.1))}textarea{resize:vertical;min-height:100px}label{display:block;margin-bottom:.5rem;color:var(--color-heading)}button{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;font-family:var(--font-primary);color:var(--color-white);background-color:var(--color-button-primary,var(--color-link));border:none;border-radius:6px;cursor:pointer;transition:background-color .2s ease,transform .1s ease}button:hover:not(:disabled){background-color:var(--color-button-primary-hover,var(--color-link-hover));transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}button:disabled{background-color:var(--color-form-disabled-bg,var(--color-surface));color:var(--color-form-disabled-text,var(--color-text-muted));cursor:not-allowed;transform:none}button.secondary{color:var(--color-text);background-color:var(--color-white);border:1px solid var(--color-form-border,var(--color-border))}button.secondary:hover:not(:disabled){background-color:var(--color-form-disabled-bg,var(--color-surface))}.form-group{margin-bottom:1.5rem}.form-group:last-child{margin-bottom:0}input[type=checkbox],input[type=radio]{width:auto;margin-right:.5rem}input[type=file]{padding:.5rem;background-color:var(--color-white);border:2px dashed var(--color-form-border,var(--color-border))}input[type=file]:hover{border-color:var(--color-form-focus,var(--color-link))}.form-error{color:var(--color-form-error,var(--color-error))}.form-error,.form-help{display:block;margin-top:.25rem}.form-help{color:var(--color-text);opacity:.7}.form-success{background:var(--color-success-bg,var(--color-surface));border:1px solid var(--color-success,var(--color-border));border-radius:6px;color:var(--color-success)}.form-error-message,.form-success{display:block;padding:.75rem 1rem;margin-bottom:1rem}.form-error-message{background:var(--color-error-bg,var(--color-surface));border:1px solid var(--color-error,var(--color-border));border-radius:6px;color:var(--color-error)}.label-optional{color:var(--color-text-muted)}.form-section{padding:1rem 0;border-top:1px solid var(--color-border)}.form-section h4{margin:0 0 1rem;color:var(--color-heading)}.checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;color:var(--color-text)}.checkbox-label input[type=checkbox]{width:1rem;height:1rem;margin:0;accent-color:var(--color-link);cursor:pointer}.checkbox-label input[type=checkbox]:disabled{cursor:not-allowed}.loading-message{padding:2rem;text-align:center;color:var(--color-text);opacity:.7}.btn,button{border:none}.btn,.btn-primary,button{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;font-family:var(--font-primary);text-decoration:none;border-radius:6px;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn,.btn-primary,button{color:var(--color-white);background-color:var(--color-button-primary,var(--color-primary));border:2px solid var(--color-button-primary,var(--color-primary))}.btn-primary:hover:not(:disabled),.btn:hover:not(:disabled),button:hover:not(:disabled){background-color:var(--color-button-primary-hover,var(--color-primary-hover));border-color:var(--color-button-primary-hover,var(--color-primary-hover));transform:translateY(-1px);box-shadow:0 4px 8px rgba(var(--color-black-rgb),.1)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;font-family:var(--font-primary);text-decoration:none;border-radius:6px;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:var(--color-button-primary,var(--color-primary));background-color:transparent;border:2px solid var(--color-button-primary,var(--color-primary))}.btn-secondary:hover:not(:disabled){background-color:var(--color-button-primary,var(--color-primary));color:var(--color-white);border-color:var(--color-button-primary,var(--color-primary));transform:translateY(-1px);box-shadow:0 4px 8px rgba(var(--color-black-rgb),.1)}.btn-outline{color:var(--color-button-primary,var(--color-primary));background-color:transparent;border:1px solid var(--color-button-primary,var(--color-primary));display:inline-flex;align-items:center;justify-content:center}.btn-outline:hover:not(:disabled){color:var(--color-white);background-color:var(--color-button-primary,var(--color-primary));transform:translateY(-1px)}.btn-ghost,.btn-link{color:var(--color-button-primary,var(--color-primary));background-color:transparent;border:1px solid transparent;padding:.5rem 1rem;display:inline-flex;align-items:center;justify-content:center}.btn-ghost:hover:not(:disabled),.btn-link:hover:not(:disabled){color:var(--color-button-primary-hover,var(--color-primary-hover));background-color:var(--color-button-ghost-hover,var(--color-primary-bg));transform:none}.btn-danger{color:var(--color-white);background-color:var(--color-button-danger,var(--color-error));border:1px solid var(--color-button-danger,var(--color-error));display:inline-flex;align-items:center;justify-content:center}.btn-danger:hover:not(:disabled){background-color:var(--color-button-danger-hover,var(--color-error-hover));border-color:var(--color-button-danger-hover,var(--color-error-hover));transform:translateY(-1px);box-shadow:0 4px 8px rgba(var(--color-error-rgb),.2)}.btn-success{color:var(--color-white);background-color:var(--color-button-success,var(--color-success));border:1px solid var(--color-button-success,var(--color-success));display:inline-flex;align-items:center;justify-content:center}.btn-success:hover:not(:disabled){background-color:var(--color-button-success-hover,var(--color-success-hover));border-color:var(--color-button-success-hover,var(--color-success-hover));transform:translateY(-1px);box-shadow:0 4px 8px rgba(var(--color-success-rgb),.2)}.btn-sm{padding:.5rem 1rem}.btn-lg{padding:1rem 2rem}.btn-xl{padding:1.25rem 2.5rem}.btn-block{width:100%}.btn:disabled,[class*=btn-]:disabled,button:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn:active:not(:disabled),[class*=btn-]:active:not(:disabled),button:active:not(:disabled){transform:translateY(0)!important}.btn-icon{padding:.75rem;width:auto;aspect-ratio:1}.btn-icon.btn-sm{padding:.5rem}.btn-icon.btn-lg{padding:1rem}.btn-group{display:inline-flex}.btn-group>.btn,.btn-group>[class*=btn-],.btn-group>button{border-radius:0;margin-left:-1px}.btn-group>.btn:first-child,.btn-group>[class*=btn-]:first-child,.btn-group>button:first-child{border-radius:6px 0 0 6px;margin-left:0}.btn-group>.btn:last-child,.btn-group>[class*=btn-]:last-child,.btn-group>button:last-child{border-radius:0 6px 6px 0}.btn-group>.btn:only-child,.btn-group>[class*=btn-]:only-child,.btn-group>button:only-child{border-radius:6px}.btn-loading{position:relative;color:transparent!important}.btn-loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border-radius:50%;border:2px solid var(--color-white);border-top:2px solid transparent;animation:btn-spin 1s linear infinite}@keyframes btn-spin{to{transform:rotate(1turn)}}:root{--color-white:#fff;--color-white-rgb:255,255,255;--color-black:#000;--color-black-rgb:0,0,0;--color-success:#10b981;--color-success-rgb:16,185,129;--color-success-hover:#059669;--color-error:#ef4444;--color-error-rgb:239,68,68;--color-error-hover:#dc2626;--color-warning:#f59e0b;--color-warning-rgb:245,158,11;--color-warning-hover:#d97706;--color-info:#3b82f6;--color-info-rgb:59,130,246;--color-info-hover:#2563eb;--color-success-bg:#d1fae5;--color-error-bg:#fee2e2;--color-warning-bg:#fef3c7;--color-info-bg:#dbeafe;--shadow-sm:0 1px 2px rgba(0,0,0,.05);--shadow-md:0 4px 6px rgba(0,0,0,.1);--shadow-lg:0 10px 15px rgba(0,0,0,.1);--shadow-xl:0 20px 25px rgba(0,0,0,.1);--focus-ring-primary:0 0 0 3px rgba(59,130,246,.1);--focus-ring-error:0 0 0 3px rgba(239,68,68,.1);--focus-ring-success:0 0 0 3px rgba(16,185,129,.1);--color-primary:#3b82f6;--color-primary-rgb:59,130,246;--color-primary-hover:#2563eb;--color-primary-active:#1d4ed8;--color-primary-bg:#dbeafe;--color-secondary:#6366f1;--color-secondary-rgb:99,102,241;--color-secondary-hover:#4f46e5;--color-secondary-active:#4338ca;--color-secondary-bg:#e0e7ff;--color-background:#fff;--color-surface:#f8f9fa;--color-surface-hover:#f1f3f4;--color-text:#1f2937;--color-text-muted:#6b7280;--color-text-light:#9ca3af;--color-border:#e5e7eb;--color-border-hover:#d1d5db;--color-border-focus:var(--color-primary);--color-button-primary:var(--color-primary);--color-button-primary-hover:var(--color-primary-hover);--color-button-secondary:var(--color-secondary);--color-button-secondary-hover:var(--color-secondary-hover);--font-primary:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;--font-secondary:"Playfair Display",ui-serif,Georgia,"Times New Roman",serif;--color-heading:var(--color-text);--color-text:var(--color-text-muted);--color-link:var(--color-primary);--color-link-hover:var(--color-primary-hover)}