@import"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&display=swap";.page-wrapper[data-astro-cid-sckkx6r4]{min-height:100vh;display:flex;flex-direction:column}:root{--color-bg: #faf8f5;--color-bg-warm: #f5f2ed;--color-surface: #ffffff;--color-surface-elevated: #fffefa;--color-text: #1a1814;--color-text-secondary: #5c574e;--color-text-muted: #8a857b;--color-accent: #8b5a2b;--color-accent-light: #c4956a;--color-accent-dark: #5d3a1a;--color-border: #e5e0d8;--color-border-light: #f0ebe4;--color-success: #4a7c59;--color-error: #9b4444;--color-warning: #a68b3d;--color-gap-bg: #f5f7f5;--color-gap-bg-deep: #e8ece8;--color-gap-surface: #fafcfa;--color-gap-accent: #2b5a4a;--color-gap-accent-light: #4a8b6a;--color-gap-accent-dark: #1a3d30;--color-gap-border: #d8e5e0;--color-gap-text: #141a18;--color-gap-text-secondary: #4e5c57;--color-gap-text-muted: #7a8a84;--font-display: "Instrument Serif", Georgia, serif;--font-body: "DM Sans", -apple-system, sans-serif;--space-xs: .375rem;--space-sm: .75rem;--space-md: 1.25rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 5rem;--space-3xl: 7rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 20px;--shadow-sm: 0 1px 2px rgba(26, 24, 20, .04);--shadow-md: 0 4px 12px rgba(26, 24, 20, .06);--shadow-lg: 0 8px 24px rgba(26, 24, 20, .08);--shadow-xl: 0 16px 48px rgba(26, 24, 20, .12);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);font-size:1rem;font-weight:400;line-height:1.6;color:var(--color-text);background:var(--color-bg);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.025;pointer-events:none;z-index:9999}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:400;line-height:1.2;color:var(--color-text)}h1{font-size:clamp(2.5rem,5vw,4rem);letter-spacing:-.02em}h2{font-size:clamp(1.75rem,3vw,2.25rem);letter-spacing:-.01em}h3{font-size:1.25rem}p{max-width:65ch}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-dark)}input,textarea,select{font-family:var(--font-body);font-size:1rem;color:var(--color-text)}input[type=text],input[type=number],textarea{width:100%;padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast);outline:none}input:focus,textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #8b5a2b1a}input::placeholder{color:var(--color-text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);font-family:var(--font-body);font-size:.9375rem;font-weight:500;line-height:1;text-decoration:none;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);outline:none}.btn-primary{background:var(--color-text);color:var(--color-bg)}.btn-primary:hover{background:var(--color-accent-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg-warm);border-color:var(--color-text-muted)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.card{background:var(--color-surface);border:none;border-radius:var(--radius-lg);box-shadow:0 1px 3px #1a18140a,0 4px 12px #1a181405}[data-mode=gap] .card{box-shadow:0 1px 3px #141a180a,0 4px 12px #141a1805}label{display:block;font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--space-xs);letter-spacing:.02em;text-transform:uppercase}.container{width:100%;max-width:800px;margin:0 auto;padding:0 var(--space-lg)}.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}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:fadeIn var(--transition-slow) forwards}.animate-slide-up{animation:slideUp var(--transition-slow) forwards}.delay-1{animation-delay:50ms}.delay-2{animation-delay:.1s}.delay-3{animation-delay:.15s}.delay-4{animation-delay:.2s}.delay-5{animation-delay:.25s}.flow-section{display:none;opacity:0;transform:translateY(20px);transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1);pointer-events:none}.flow-section.visible{display:block;opacity:1;transform:translateY(0);pointer-events:auto}.flow-section.exiting{opacity:0;transform:translateY(-10px);transition-duration:.25s}.flow-section.visible [data-animate]{animation:slideUpFadeIn .4s cubic-bezier(.16,1,.3,1) both}.flow-section.visible [data-animate]:nth-child(1){animation-delay:0ms}.flow-section.visible [data-animate]:nth-child(2){animation-delay:50ms}.flow-section.visible [data-animate]:nth-child(3){animation-delay:.1s}.flow-section.visible [data-animate]:nth-child(4){animation-delay:.15s}.flow-section.visible [data-animate]:nth-child(5){animation-delay:.2s}@keyframes slideUpFadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.btn-submit{position:relative;min-width:140px;overflow:hidden}.btn-submit .btn-content{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);transition:opacity .2s ease}.btn-submit .btn-loader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.btn-submit.loading .btn-content{opacity:0}.btn-submit.loading .btn-loader{opacity:1}.btn-submit.loading{pointer-events:none}.spinner{width:20px;height:20px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.spinner-sm{width:16px;height:16px;border-width:2px}.spinner-lg{width:32px;height:32px;border-width:3px}@keyframes spin{to{transform:rotate(360deg)}}.stat-card{transition:transform .3s ease,box-shadow .3s ease}.stat-card.pulse,.stat-pulse{animation:statPulse .5s ease}@keyframes statPulse{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}[data-mode=download] .stat-card.pulse{box-shadow:0 0 0 3px #8b5a2b26}[data-mode=gap] .stat-card.pulse{box-shadow:0 0 0 3px #2b5a4a26}.error-display{text-align:center;padding:var(--space-xl) var(--space-lg)}.error-icon{width:64px;height:64px;margin:0 auto var(--space-lg);color:var(--color-error)}.error-icon svg{width:100%;height:100%}.error-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-error);margin-bottom:var(--space-sm)}.error-message{color:var(--color-text-secondary);margin-bottom:var(--space-lg);max-width:400px;margin-left:auto;margin-right:auto}.error-actions{display:flex;justify-content:center;gap:var(--space-md);flex-wrap:wrap}.flow-section.error{--accent-color: var(--color-error)}.flow-section.error .progress-bar{background:var(--color-error)}.loading-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-xl);color:var(--color-text-secondary)}.loading-overlay .spinner{color:var(--color-accent)}[data-mode=gap] .loading-overlay .spinner{color:var(--color-gap-accent)}@media(prefers-reduced-motion:reduce){.flow-section,.btn-submit .btn-content,.btn-submit .btn-loader,.stat-card{transition:none}.spinner{animation:none;border-color:currentColor}.stat-card.pulse,.stat-pulse{animation:none}.flow-section.visible [data-animate]{animation:none;opacity:1;transform:none}}
