@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";:root{--font-display:"DM Serif Display", Georgia, serif;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Courier New", monospace;--color-background:#f2f1ed;--color-foreground:#1b2a4a;--color-primary:#5c1a47;--color-primary-foreground:#fff;--color-primary-hover:#4a1439;--color-surface:#fff;--color-muted:#f5f4f0;--color-muted-foreground:#6b6b6b;--color-border:#d5d3cc;--color-border-strong:#b0ada5;--color-focus:#5c1a47;--color-success:#1e3060;--color-success-bg:#e8ecf4;--color-success-border:#a8b8d0;--color-warning:#7c4a00;--color-warning-bg:#fef4e2;--color-warning-border:#f5c77e;--color-error:#9b1c1c;--color-error-bg:#fef0f0;--color-error-border:#f9a8a8;--color-info:#5c1a47;--color-info-bg:#f7edf4;--color-info-border:#cda0bf;--radius:8px;--radius-lg:12px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-sans);color:var(--color-foreground);background:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;line-height:1.55}h1,h2,h3{font-family:var(--font-display);margin:0;font-weight:400}input,textarea,select,button{font-family:var(--font-sans)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.progress-stepper{margin-bottom:var(--space-6)}.progress-stepper-compact{margin:0 0 var(--space-2);color:var(--color-primary);font-size:.8125rem;font-weight:500;display:none}.progress-stepper-list{align-items:flex-start;gap:var(--space-2);margin:0;padding:0;list-style:none;display:flex}.progress-step{align-items:center;gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.progress-step-marker{border:1px solid var(--color-border);background:var(--color-muted);width:26px;height:26px;color:var(--color-muted-foreground);border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:flex}.progress-step-done .progress-step-marker{background:var(--color-success);border-color:var(--color-success);color:#fff}.progress-step-active .progress-step-marker{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-foreground)}.progress-step-label{text-align:center;color:var(--color-muted-foreground);white-space:nowrap;font-size:.6875rem}.progress-step-active .progress-step-label{color:var(--color-primary);font-weight:600}.progress-step-done .progress-step-label{color:var(--color-success)}@media (width<=480px){.progress-stepper-compact{display:block}.progress-stepper-list{display:none}}.help-fab-container{z-index:20;align-items:flex-end;gap:var(--space-3);flex-direction:column;display:flex;position:fixed;bottom:20px;right:20px}.help-fab-button{background:var(--color-primary);width:52px;height:52px;color:var(--color-primary-foreground);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;box-shadow:0 10px 30px #1b2a4a33}.help-fab-button:hover{background:var(--color-primary-hover)}.help-fab-popover{background:var(--color-surface);border:1px solid var(--color-border);width:256px;padding:var(--space-4);gap:var(--space-3);border-radius:12px;flex-direction:column;display:flex;box-shadow:0 10px 30px #1b2a4a26}.help-fab-action{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:6px;text-decoration:none;display:flex}.help-fab-action-call{background:var(--color-primary);color:var(--color-primary-foreground)}.help-fab-action-email{background:var(--color-muted);border:1px solid var(--color-border);color:var(--color-foreground)}.help-fab-action-copy{flex-direction:column;display:flex}.help-fab-action-title{font-size:.875rem;font-weight:600;line-height:1.2}.help-fab-action-sub{opacity:.85;font-size:.75rem}.page-shell{background:var(--color-background);flex-direction:column;min-height:100vh;display:flex}.page-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:10;position:sticky;top:0}.page-header-inner{max-width:640px;padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-3);margin:0 auto;display:flex}.page-brand-mark{background:var(--color-primary);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;line-height:1;display:flex}.page-brand-name{color:var(--color-foreground);font-size:.875rem;font-weight:600;line-height:1.2}.page-brand-sub{color:var(--color-muted-foreground);margin-top:2px;font-size:.6875rem;line-height:1.2}.page-main{width:100%;max-width:640px;padding:var(--space-6) var(--space-4) var(--space-8);box-sizing:border-box;flex:1;margin:0 auto}.page-footer{border-top:1px solid var(--color-border);padding:var(--space-4) var(--space-6);margin-top:var(--space-6)}.page-footer-inner{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;max-width:640px;margin:0 auto;display:flex}.page-footer-notice{color:var(--color-muted-foreground);margin:0;font-size:.75rem}.page-footer-support{color:var(--color-primary);white-space:nowrap;font-size:.75rem;text-decoration:none}.page-footer-support:hover{text-decoration:underline}@media (width>=640px){.page-header-inner,.page-main{padding-left:var(--space-6);padding-right:var(--space-6)}}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius);cursor:pointer;border:1px solid #0000;min-width:44px;font-weight:500;transition:background-color .15s,border-color .15s,opacity .15s;display:inline-flex}.btn-md{height:44px;padding:0 var(--space-6);font-size:.9375rem}.btn-lg{height:52px;padding:0 var(--space-8);font-size:1rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:var(--color-primary-foreground)}.btn-primary:not(:disabled):hover{background:var(--color-primary-hover)}.btn-secondary{color:var(--color-primary);border-color:var(--color-primary);background:0 0}.btn-secondary:not(:disabled):hover{background:var(--color-info-bg)}.btn-ghost{color:var(--color-muted-foreground);background:0 0;border-color:#0000}.btn-ghost:not(:disabled):hover{background:var(--color-muted);color:var(--color-foreground)}.btn-spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite btn-spin}@keyframes btn-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.btn-spinner{animation-duration:1.4s}}.status-message{gap:var(--space-1);padding:var(--space-4);border-radius:var(--radius);border:1px solid var(--color-border);flex-direction:column;font-size:.9375rem;line-height:1.55;display:flex}.status-message-title{margin:0;font-size:.9375rem;font-weight:600}.status-message-body{color:var(--color-foreground)}.status-message-body p{margin:0}.status-message-body p+p{margin-top:var(--space-1)}.status-message-info{background:var(--color-info-bg);border-color:var(--color-info-border)}.status-message-info .status-message-title{color:var(--color-primary)}.status-message-warning{background:var(--color-warning-bg);border-color:var(--color-warning-border)}.status-message-warning .status-message-title{color:var(--color-warning)}.status-message-success{background:var(--color-success-bg);border-color:var(--color-success-border)}.status-message-success .status-message-title{color:var(--color-success)}.status-message-error{background:var(--color-error-bg);border-color:var(--color-error-border)}.status-message-error .status-message-title{color:var(--color-error)}.status-message-neutral{background:var(--color-muted);border-color:var(--color-border)}.status-message-neutral .status-message-body{color:var(--color-muted-foreground)}.landing{gap:var(--space-8);flex-direction:column;display:flex}.landing-hero{gap:var(--space-3);flex-direction:column;display:flex}.landing-eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--color-primary);background:var(--color-info-bg);border:1px solid var(--color-info-border);padding:var(--space-1) var(--space-3);border-radius:999px;align-self:flex-start;font-size:.75rem;font-weight:600}.landing-title{font-family:var(--font-display);color:var(--color-foreground);font-size:2rem;line-height:1.2}.landing-lead{color:var(--color-muted-foreground);max-width:34rem;margin:0;font-size:1rem;line-height:1.6}.landing-section-title{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.05em;color:var(--color-foreground);margin:0 0 var(--space-3);font-size:.8125rem;font-weight:600}.landing-process-list{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.landing-process-item{gap:var(--space-3);display:flex}.landing-process-number{background:var(--color-primary);width:28px;height:28px;color:var(--color-primary-foreground);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8125rem;font-weight:600;display:flex}.landing-process-label{color:var(--color-foreground);margin:0;font-size:.9375rem;font-weight:500}.landing-process-sub{color:var(--color-muted-foreground);margin:2px 0 0;font-size:.8125rem}.landing-notice-list{flex-direction:column;gap:2px;margin:0;padding-left:1.1rem;display:flex}.landing-cta{gap:var(--space-2);flex-direction:column;display:flex}.landing-cta-note{color:var(--color-muted-foreground);margin:0;font-size:.75rem}@media (width>=480px){.landing-title{font-size:2.5rem}}.form-field{gap:var(--space-1);flex-direction:column;display:flex}.form-field-label{color:var(--color-foreground);font-size:.9375rem;font-weight:500}.form-field-hint,.form-field-help{color:var(--color-muted-foreground);margin:0;font-size:.8125rem}.form-field-input-wrap{position:relative}.form-field-input{width:100%;height:44px;padding:0 var(--space-3);color:var(--color-foreground);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);font-size:.9375rem;transition:border-color .15s}.form-field-input:hover{border-color:var(--color-border-strong)}.form-field-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-info-border);outline:none}.form-field-input.has-suffix{padding-right:3.25rem}.form-field-suffix{right:var(--space-3);color:var(--color-muted-foreground);pointer-events:none;font-size:.875rem;font-weight:500;position:absolute;top:50%;transform:translateY(-50%)}.checkbox-field{gap:var(--space-1);flex-direction:column;display:flex}.checkbox-field-row{align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);cursor:pointer;font-size:.9375rem;line-height:1.5;display:flex}.checkbox-field-row:has(input:checked){border-color:var(--color-primary);background:var(--color-info-bg)}.checkbox-field-row input{width:18px;height:18px;accent-color:var(--color-primary);flex-shrink:0;margin-top:3px}.checkbox-field-description{padding-left:var(--space-3);color:var(--color-muted-foreground);margin:0;font-size:.8125rem;line-height:1.5}.radio-group{gap:var(--space-2);border:0;flex-direction:column;margin:0;padding:0;display:flex}.radio-group-legend{color:var(--color-foreground);margin-bottom:var(--space-1);padding:0;font-size:.9375rem;font-weight:500}.radio-group-options{gap:var(--space-2);flex-direction:column;display:flex}.radio-option-row{align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);cursor:pointer;font-size:.875rem;line-height:1.5;display:flex}.radio-option-row.is-selected{border-color:var(--color-primary);background:var(--color-info-bg)}.radio-option-row input{width:18px;height:18px;accent-color:var(--color-primary);flex-shrink:0;margin-top:3px}.pledge-form{gap:var(--space-6);flex-direction:column;display:flex}.pledge-form-intro{gap:var(--space-1);flex-direction:column;display:flex}.pledge-form-title{font-family:var(--font-display);color:var(--color-foreground);font-size:1.75rem}.pledge-form-subtitle{color:var(--color-muted-foreground);margin:0;font-size:.875rem}.pledge-form-section{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.pledge-form-section:first-of-type{border-top:none;padding-top:0}.pledge-form-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted-foreground);margin:0;font-size:.75rem;font-weight:600}.pledge-form-grid{gap:var(--space-3);grid-template-columns:1fr;display:grid}.pledge-form-actions{gap:var(--space-3);padding-top:var(--space-2);flex-direction:column-reverse;display:flex}.submit-error{margin:0}@media (width>=480px){.pledge-form-grid{grid-template-columns:1fr 1fr}.pledge-form-actions{flex-direction:row;justify-content:space-between}}.copyable-value{gap:var(--space-1);padding:var(--space-3) 0;flex-direction:column;display:flex}.copyable-value-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted-foreground);font-size:.75rem;font-weight:600}.copyable-value-row{align-items:center;gap:var(--space-2);display:flex}.copyable-value-text{color:var(--color-foreground);word-break:break-word;flex:1;font-size:.9375rem}.copyable-value-text.is-mono{font-family:var(--font-mono)}.is-prominent .copyable-value-text{font-size:1.125rem;font-weight:600}.copyable-value-btn{height:36px;padding:0 var(--space-3);color:var(--color-muted-foreground);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;flex-shrink:0;font-size:.8125rem;font-weight:500;transition:border-color .15s,color .15s,background-color .15s}.copyable-value-btn:hover{border-color:var(--color-border-strong);color:var(--color-foreground)}.copyable-value-btn.is-copied{border-color:var(--color-success-border);background:var(--color-success-bg);color:var(--color-success)}.signature-pad{gap:var(--space-2);flex-direction:column;display:flex}.signature-pad-header{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.signature-pad-label{color:var(--color-foreground);font-size:.9375rem;font-weight:500}.signature-pad-clear{color:var(--color-muted-foreground);cursor:pointer;background:0 0;border:none;align-items:center;min-height:44px;padding:0;font-size:.8125rem;text-decoration:underline;display:inline-flex}.signature-pad-clear:hover{color:var(--color-error)}.signature-pad-canvas-wrap{border:2px solid var(--color-border);border-radius:var(--radius);background:#fff;transition:border-color .15s;position:relative;overflow:hidden}.signature-pad-canvas-wrap:hover{border-color:var(--color-border-strong)}.signature-pad-canvas-wrap.has-signature{border-color:var(--color-success-border)}.signature-pad-canvas-wrap.has-error{border-color:var(--color-error-border)}.signature-pad-canvas{touch-action:none;cursor:crosshair;width:100%;height:180px;display:block}.signature-pad-placeholder{padding:0 var(--space-4);text-align:center;color:var(--color-muted-foreground);pointer-events:none;justify-content:center;align-items:center;font-size:.875rem;display:flex;position:absolute;inset:0}.signature-pad-status{color:var(--color-success);margin:0;font-size:.8125rem}.signature-pad-error{color:var(--color-error);margin:0;font-size:.8125rem}@media (width<=480px){.signature-pad-canvas{height:220px}}.funnel-step{gap:var(--space-6);flex-direction:column;display:flex}.funnel-step-intro{gap:var(--space-1);flex-direction:column;display:flex}.funnel-step-title{font-family:var(--font-display);color:var(--color-foreground);font-size:1.75rem}.funnel-step-subtitle{color:var(--color-muted-foreground);margin:0;font-size:.875rem}.funnel-step-section{gap:var(--space-3);flex-direction:column;display:flex}.funnel-step-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted-foreground);margin:0;font-size:.75rem;font-weight:600}.funnel-step-help{color:var(--color-muted-foreground);margin:0;font-size:.875rem;line-height:1.55}.pledge-summary{gap:var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius);padding:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.pledge-summary>div:last-child{grid-column:1/-1}.pledge-summary-label{color:var(--color-muted-foreground);font-size:.75rem;display:block}.pledge-summary-value{color:var(--color-foreground);font-size:.9375rem;font-weight:500;display:block}.jpnbu-display{border:2px solid var(--color-primary);background:var(--color-info-bg);border-radius:var(--radius);padding:var(--space-4)}.payment-instructions{gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);padding:var(--space-4);flex-direction:column;display:flex}.payment-instructions h2{font-family:var(--font-display);font-size:1.375rem}.payment-instructions-grid{flex-direction:column;display:flex}.payment-instructions-grid>*+*{border-top:1px solid var(--color-border)}.completion-checklist{gap:var(--space-1);flex-direction:column;margin:0;padding-left:1.1rem;font-size:.9375rem;display:flex}.completion-reference{font-family:var(--font-mono);color:var(--color-muted-foreground);margin:0;font-size:.8125rem}.completion-downloads{gap:var(--space-2);flex-wrap:wrap;display:flex}.completion-notice-list{flex-direction:column;gap:2px;margin:0;padding-left:1.1rem;display:flex}.funnel-back-link{margin-top:var(--space-8);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.session-expired{gap:var(--space-4);flex-direction:column;display:flex}.pledge-recorded-notice{margin:0 0 var(--space-6);color:var(--color-muted-foreground);font-size:.875rem}
