html{--color-text-body:#112038;--color-text-heading:#06111f;--color-text-note:#4f5d75;--color-surface-page-start:#f8fbff;--color-surface-page-end:#eaf1ff;--color-surface-card:#ffffff;--color-border-subtle:#d2dcea;--color-button-default:#0f4c81;--color-button-selected:#09385f;--color-button-content-default:#ffffff;--color-button-content-selected:#ffffff;--color-link-default:#0b4a83;--color-link-selected:#06325b;--color-feedback-error:#aa2834;--color-feedback-success:#1f7a42;--color-border-error:#c0364340;--radius-control:10px;--radius-card:18px;--radius-banner:22px;--shadow-card:0 14px 34px rgba(8,31,57,0.08);--shadow-elevated:0 14px 36px rgba(7,23,44,0.22);--text-body-font-family:"Avenir Next","Avenir","Segoe UI",sans-serif;--text-body-font-size:1rem;--text-body-line-height:1.5;--text-heading-font-family:"Futura","Avenir Next Condensed","Trebuchet MS",sans-serif;--text-heading-font-size:2.1rem;--text-heading-line-height:1.2;--text-subheading-font-size:1.1rem;--text-subheading-line-height:1.4;--text-note-font-size:0.92rem;--text-note-line-height:1.3;--text-error-font-size:0.85rem;--text-error-line-height:1.3;--dimension-layout-horizontal-margin:min(1100px,calc(100vw - 48px));--dimension-layout-vertical-margin:28px;--dimension-content-narrow:min(460px,100%);--dimension-content-wide:min(520px,100%);--spacing-content-small:14px;--spacing-content-medium:18px;--spacing-content-large:28px;--spacing-button-accent:11px 18px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--text-body-font-family);font-size:var(--text-body-font-size);line-height:var(--text-body-line-height);color:var(--color-text-body);background:radial-gradient(circle at 12% 0,rgba(150,180,235,.2),transparent 40%),linear-gradient(160deg,var(--color-surface-page-start),var(--color-surface-page-end))}h1,h2,h3,h4{color:var(--color-text-heading);font-family:var(--text-heading-font-family)}h1{font-size:var(--text-heading-font-size);line-height:var(--text-heading-line-height)}a{color:var(--color-link-default);text-decoration:none}a:hover{color:var(--color-link-selected)}main{width:var(--dimension-layout-horizontal-margin);margin:var(--dimension-layout-vertical-margin) auto}label{display:flex;flex-direction:column;gap:6px;font-size:var(--text-note-font-size);line-height:var(--text-note-line-height)}input,select,textarea{border:1px solid var(--color-border-subtle);border-radius:var(--radius-control);font:inherit;padding:10px 12px;background:var(--color-surface-card)}label .fieldError{color:var(--color-feedback-error);font-size:var(--text-error-font-size);line-height:var(--text-error-line-height);font-weight:600}label:has(.fieldError) input,label:has(.fieldError) select,label:has(.fieldError) textarea{border-color:var(--color-border-error)}input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}button{cursor:pointer;border:0;border-radius:var(--radius-control);padding:var(--spacing-button-accent);font:inherit;color:var(--color-button-content-default);background:var(--color-button-default)}button:hover{background:var(--color-button-selected);color:var(--color-button-content-selected)}.pageCenter{min-height:100vh;align-items:center;padding:24px}.pageCenter,.sectionCenter{display:flex;justify-content:center}.contentNarrow{width:var(--dimension-content-narrow)}.contentWide{width:var(--dimension-content-wide)}.formGrid{display:grid;grid-gap:16px;gap:16px}.textNote{margin:0;color:var(--color-text-note)}.feedbackError{margin:0;color:var(--color-feedback-error);font-weight:600}.feedbackSuccess{margin:0;color:var(--color-feedback-success);font-weight:600}.my-medium{margin-top:var(--spacing-content-medium);margin-bottom:var(--spacing-content-medium)}.mb-small{margin-bottom:var(--spacing-content-small)}.mb-medium{margin-bottom:var(--spacing-content-medium)}.mb-large{margin-bottom:var(--spacing-content-large)}@media screen and (max-width:768px){html{--text-heading-font-size:1.75rem;--dimension-layout-horizontal-margin:calc(100vw - 30px);--spacing-content-large:20px}}