:root{color-scheme:light;--brand-indigo-950: #071A3D;--brand-indigo-900: #0B2559;--brand-indigo-800: #123B8D;--brand-indigo-700: #1851B4;--brand-cyan-700: #008EAD;--brand-cyan-600: #00AFCF;--brand-cyan-500: #16C6E3;--brand-cyan-300: #75E6F5;--brand-cyan-100: #DDF9FD;--brand-coral-700: #D94C3E;--brand-coral-600: #EF5D4C;--brand-coral-500: #FF715B;--brand-coral-200: #FFC3B9;--brand-coral-100: #FFF0ED;--brand-success-700: #148258;--brand-success-600: #18A66B;--brand-success-500: #20B875;--brand-success-100: #DDF8EB;--color-bg: #F5F9FF;--color-bg-subtle: #EEF5FD;--color-surface: #FFFFFF;--color-surface-elevated: #FFFFFF;--color-surface-tinted: #F1F8FF;--color-text: #0D1B3D;--color-text-secondary: #465979;--color-text-muted: #6B7B96;--color-text-inverse: #FFFFFF;--color-primary: #123B8D;--color-primary-hover: #0B2F76;--color-primary-active: #071F54;--color-primary-contrast: #FFFFFF;--color-accent: #00AFCF;--color-accent-hover: #008EAD;--color-accent-soft: #DDF9FD;--color-feedback: #EF5D4C;--color-feedback-hover: #D94C3E;--color-feedback-soft: #FFF0ED;--color-success: #18A66B;--color-success-soft: #DDF8EB;--color-border: #D9E5F3;--color-border-strong: #B8CAE0;--color-focus: #16C6E3;--shadow-sm: 0 2px 8px rgb(11 37 89 / .08);--shadow-md: 0 10px 30px rgb(11 37 89 / .12);--shadow-lg: 0 22px 60px rgb(11 37 89 / .16);--glow-cyan: 0 0 28px rgb(22 198 227 / .24);--glow-coral: 0 0 24px rgb(255 113 91 / .18);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--font-display: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", ui-monospace, monospace}[data-theme=dark]{color-scheme:dark;--color-bg: #061125;--color-bg-subtle: #09172E;--color-surface: #0C1B36;--color-surface-elevated: #112747;--color-surface-tinted: #0B2342;--color-text: #F4F8FF;--color-text-secondary: #C7D4E8;--color-text-muted: #94A8C5;--color-text-inverse: #071A3D;--color-primary: #48D4EC;--color-primary-hover: #75E6F5;--color-primary-active: #A6F0F9;--color-primary-contrast: #071A3D;--color-accent: #48D4EC;--color-accent-hover: #75E6F5;--color-accent-soft: #0B344D;--color-feedback: #FF806B;--color-feedback-hover: #FF9A89;--color-feedback-soft: #402028;--color-success: #38D493;--color-success-soft: #103D32;--color-border: #203A5D;--color-border-strong: #355578;--color-focus: #75E6F5;--shadow-sm: 0 2px 10px rgb(0 0 0 / .24);--shadow-md: 0 12px 34px rgb(0 0 0 / .32);--shadow-lg: 0 24px 70px rgb(0 0 0 / .42);--glow-cyan: 0 0 32px rgb(72 212 236 / .3);--glow-coral: 0 0 26px rgb(255 128 107 / .22)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--color-bg: #061125;--color-bg-subtle: #09172E;--color-surface: #0C1B36;--color-surface-elevated: #112747;--color-surface-tinted: #0B2342;--color-text: #F4F8FF;--color-text-secondary: #C7D4E8;--color-text-muted: #94A8C5;--color-text-inverse: #071A3D;--color-primary: #48D4EC;--color-primary-hover: #75E6F5;--color-primary-active: #A6F0F9;--color-primary-contrast: #071A3D;--color-accent: #48D4EC;--color-accent-hover: #75E6F5;--color-accent-soft: #0B344D;--color-feedback: #FF806B;--color-feedback-hover: #FF9A89;--color-feedback-soft: #402028;--color-success: #38D493;--color-success-soft: #103D32;--color-border: #203A5D;--color-border-strong: #355578;--color-focus: #75E6F5;--shadow-sm: 0 2px 10px rgb(0 0 0 / .24);--shadow-md: 0 12px 34px rgb(0 0 0 / .32);--shadow-lg: 0 24px 70px rgb(0 0 0 / .42);--glow-cyan: 0 0 32px rgb(72 212 236 / .3);--glow-coral: 0 0 26px rgb(255 128 107 / .22)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);line-height:1.6;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--color-text);line-height:1.2;letter-spacing:-.01em}h1{font-weight:750;font-size:1.85rem}h2{font-weight:700;font-size:1.4rem}h3{font-weight:700}a{color:var(--color-accent-hover);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:4px}.app-layout{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg)}.main-content{flex:1;max-width:1040px;margin:0 auto;padding:2.5rem 1.25rem;width:100%}.navbar{background:color-mix(in srgb,var(--color-surface) 82%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--color-border);color:var(--color-text);padding:.7rem 1.5rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100}.navbar-brand a{display:inline-flex;align-items:center;color:var(--color-text);text-decoration:none;font-family:var(--font-display);font-weight:800;font-size:1.15rem}.navbar-logo{height:44px;width:auto;max-width:none;display:block;object-fit:contain}.navbar-links{display:flex;gap:1.25rem;align-items:center}.navbar-links a{color:var(--color-text-secondary);text-decoration:none;font-weight:500;font-size:.95rem;padding:.35rem .1rem;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.navbar-links a:hover{color:var(--color-primary);text-decoration:none;border-bottom-color:var(--color-accent)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface-tinted);color:var(--color-text-secondary);cursor:pointer;font-size:1.05rem;line-height:1;transition:background .15s,color .15s,box-shadow .15s,transform .15s}.theme-toggle:hover{color:var(--color-accent-hover);box-shadow:var(--glow-cyan);transform:translateY(-1px)}.auth-page{display:grid;grid-template-columns:1.05fr 1fr;gap:2.5rem;align-items:center;min-height:calc(100vh - 200px);padding-top:1rem}.auth-hero{position:relative;border-radius:var(--radius-xl);padding:2.5rem;background:radial-gradient(120% 120% at 80% 10%,var(--color-accent-soft) 0%,transparent 55%),linear-gradient(160deg,var(--color-surface-tinted),var(--color-bg-subtle));border:1px solid var(--color-border);box-shadow:var(--shadow-md);overflow:hidden;min-height:440px;display:flex;flex-direction:column;justify-content:center}.auth-hero:before{content:"";position:absolute;inset:-30% -30% auto auto;width:460px;height:460px;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--color-accent) 22%,transparent);opacity:.5;pointer-events:none}.auth-hero-img{width:100%;max-width:460px;height:auto;align-self:center;filter:drop-shadow(var(--shadow-lg));position:relative;z-index:1}.auth-hero-tagline{font-family:var(--font-display);font-weight:700;font-size:1.5rem;color:var(--color-text);margin-top:1.5rem;text-align:center;position:relative;z-index:1}.auth-hero-sub{color:var(--color-text-secondary);text-align:center;margin-top:.4rem;position:relative;z-index:1}.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2.25rem;width:100%;max-width:440px;box-shadow:var(--shadow-md);justify-self:center}.auth-card h1{margin-bottom:.4rem}.auth-card>p:first-of-type,.auth-subtitle{color:var(--color-text-secondary);margin-bottom:1.5rem}.auth-link{margin-top:1.25rem;text-align:center;font-size:.9rem;color:var(--color-text-secondary)}@media (max-width: 860px){.auth-page{grid-template-columns:1fr;min-height:0}.auth-hero{display:none}}.form-group{margin-bottom:1.1rem}.form-group label{display:block;font-weight:600;margin-bottom:.4rem;font-size:.88rem;color:var(--color-text-secondary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.65rem .85rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:.95rem;font-family:inherit;color:var(--color-text);background:var(--color-surface);transition:border-color .15s,box-shadow .15s}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-muted)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-focus) 35%,transparent)}.form-group textarea{resize:vertical}.form-row{display:flex;gap:1rem}.form-row .form-group{flex:1}.checkbox-group label{display:flex;align-items:flex-start;gap:.5rem;font-weight:400;font-size:.88rem;color:var(--color-text-secondary);cursor:pointer}.checkbox-group input[type=checkbox]{width:auto;margin-top:.25rem;accent-color:var(--color-accent)}.btn-primary{background:var(--color-accent);color:var(--color-primary-contrast);border:none;padding:.7rem 1.4rem;border-radius:var(--radius-md);font-family:var(--font-display);font-size:.95rem;font-weight:650;cursor:pointer;width:100%;transition:background .15s,box-shadow .15s,transform .1s}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:var(--glow-cyan);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{background:var(--color-surface-tinted);color:var(--color-primary);border:1px solid var(--color-border-strong);padding:.6rem 1.2rem;border-radius:var(--radius-md);font-family:var(--font-display);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.btn-secondary:hover:not(:disabled){background:var(--color-accent-soft);border-color:var(--color-accent)}.btn-link{background:none;border:none;color:var(--color-accent-hover);cursor:pointer;font-size:.9rem;font-weight:600;padding:0}.btn-link:hover{text-decoration:underline}.btn-danger{color:var(--color-feedback-hover);margin-left:.75rem}.btn-danger:hover{color:var(--color-feedback)}.action-cell{white-space:nowrap}.btn-large{padding:.85rem 2rem;font-size:1.05rem;margin-top:1rem}.btn-remove{color:var(--color-feedback);font-size:1.2rem;font-weight:700}.page{padding:0}.page h1{margin-bottom:1.5rem}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.75rem}.page-header h1{margin-bottom:0}.page-header .btn-primary{width:auto}.data-table{width:100%;border-collapse:collapse;background:var(--color-surface);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.data-table th,.data-table td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid var(--color-border);color:var(--color-text)}.data-table th[scope=col]{background:var(--color-surface-tinted);font-weight:700;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.data-table tbody tr:last-child td,.data-table tbody tr:last-child th{border-bottom:none}.data-table tbody tr:hover{background:var(--color-surface-tinted)}.data-table th[scope=row]{font-weight:600}.clickable-row{cursor:pointer}.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.status-badge{display:inline-block;padding:.25rem .7rem;border-radius:999px;font-size:.72rem;color:#fff;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.score-badge{font-weight:700;color:var(--color-primary)}.override-badge{font-size:.75rem;color:var(--color-feedback-hover);margin-left:.5rem}.error-message{background:var(--color-feedback-soft);color:var(--color-feedback-hover);padding:.8rem 1rem;border-radius:var(--radius-sm);margin-bottom:1rem;border:1px solid color-mix(in srgb,var(--color-feedback) 40%,transparent)}.success-text{color:var(--color-success);font-weight:600}.warning-text{color:var(--color-feedback-hover)}.hint{color:var(--color-text-muted);font-size:.85rem;margin-top:.5rem}.loading{text-align:center;padding:3rem;color:var(--color-text-muted)}.empty-state{text-align:center;padding:3.5rem 2rem;color:var(--color-text-secondary);background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg)}.drop-zone,.file-drop-zone{border:2px dashed var(--color-border-strong);border-radius:var(--radius-lg);padding:2.25rem;text-align:center;margin-bottom:1.5rem;transition:border-color .2s,background .2s;background:var(--color-surface-tinted)}.file-drop-zone{cursor:pointer}.drop-zone.drag-over,.file-drop-zone:hover{border-color:var(--color-accent);background:var(--color-accent-soft)}.file-list,.upload-summary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.file-list ul{list-style:none;margin:.5rem 0}.file-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--color-border)}.file-name{flex:1}.file-size{color:var(--color-text-muted);font-size:.85rem}.file-status{font-size:.78rem;text-transform:uppercase;font-weight:600;letter-spacing:.02em}.file-done .file-status{color:var(--color-success)}.file-error .file-status{color:var(--color-feedback)}.file-uploading .file-status{color:var(--color-accent-hover)}.file-skipped .file-status{color:var(--color-text-muted)}.file-skipped .file-name{text-decoration:line-through;opacity:.6}.file-error-msg{font-size:.75rem;color:var(--color-text-muted);font-style:italic}.validation-message{color:var(--color-text-secondary);font-size:.95rem;margin-bottom:.75rem}.validation-complete{color:var(--color-success);font-weight:700;font-size:1rem;margin-bottom:.5rem}.progress-bar-container{width:100%;height:10px;background:var(--color-bg-subtle);border-radius:999px;overflow:hidden;margin-bottom:.5rem}.progress-bar{height:100%;background:linear-gradient(90deg,var(--color-accent),var(--brand-cyan-500));border-radius:999px;transition:width .5s ease-in-out;min-width:2%}.progress-text{font-size:.9rem;color:var(--color-text-secondary)}.download-buttons{display:inline-flex;gap:.35rem;margin-left:.75rem}.btn-icon{background:var(--color-surface-tinted);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:.3rem .55rem;font-size:.8rem;color:var(--color-text-secondary);cursor:pointer;transition:background .15s,border-color .15s}.btn-icon:hover{background:var(--color-accent-soft);border-color:var(--color-accent)}.payment-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;max-width:500px;box-shadow:var(--shadow-md)}.free-banner{background:var(--color-success-soft);color:var(--brand-success-700);padding:.8rem;border-radius:var(--radius-sm);text-align:center;font-weight:700;margin-bottom:1rem}.discount-banner{background:var(--color-accent-soft);color:var(--color-primary);padding:.8rem;border-radius:var(--radius-sm);margin-bottom:1rem;font-size:.9rem}.breakdown-table{width:100%;margin:1rem 0}.breakdown-table td{padding:.5rem 0}.breakdown-table td:last-child{text-align:right}.total-row td{border-top:2px solid var(--color-border-strong);padding-top:.75rem;font-weight:700}.payment-note{font-size:.85rem;color:var(--color-text-muted);margin:1rem 0}.rubric-table{width:100%;border-collapse:collapse;background:var(--color-surface);margin-bottom:1rem;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border)}.rubric-table th,.rubric-table td{padding:.6rem;border:1px solid var(--color-border);vertical-align:top}.rubric-table th{background:var(--color-surface-tinted);font-size:.82rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.rubric-table input,.rubric-table textarea{width:100%;padding:.35rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text)}.rubric-footer{display:flex;justify-content:space-between;align-items:center;margin:1rem 0}.total-points{font-weight:700;color:var(--color-primary)}.section-divider{border:none;border-top:1px solid var(--color-border);margin:2rem 0}.preview-info{margin-bottom:1rem;font-size:.9rem;color:var(--color-text-muted)}.preview-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem;margin-bottom:1rem;box-shadow:var(--shadow-sm)}.preview-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.preview-actions{display:flex;gap:1rem;margin-top:1.5rem}.preview-actions .btn-primary{width:auto}.progress-section{max-width:520px}.progress-section .progress-bar-container{height:26px;border-radius:999px}.progress-section .progress-text{font-size:1.1rem;font-weight:600;color:var(--color-text);margin-bottom:.5rem}.complete-section{margin-top:1.5rem}.centrifuge-loader{width:120px;height:120px;margin:1.5rem auto;background:url(/assets/mark-B58yqmV2.webp) center / contain no-repeat;animation:gf-spin 2.4s cubic-bezier(.5,0,.5,1) infinite;transform-origin:50% 54%}[data-theme=dark] .centrifuge-loader{background-image:url(/assets/mark_dark-DtxSa4xP.webp)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .centrifuge-loader{background-image:url(/assets/mark_dark-DtxSa4xP.webp)}}.results-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem 1rem;text-align:center;box-shadow:var(--shadow-sm)}.stat-label{display:block;font-size:.78rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem}.stat-value{display:block;font-family:var(--font-display);font-size:1.6rem;font-weight:750;color:var(--color-text)}.distribution{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.5rem;margin-bottom:2rem;box-shadow:var(--shadow-sm)}.distribution-chart{display:flex;align-items:flex-end;gap:.5rem;height:180px;padding-top:1rem}.dist-bar-group{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.dist-bar{width:100%;max-width:42px;background:linear-gradient(180deg,var(--brand-cyan-500),var(--color-accent));border-radius:6px 6px 0 0}.dist-label{font-size:.7rem;color:var(--color-text-muted);margin-top:.25rem}.dist-count{font-size:.75rem;font-weight:700;color:var(--color-text)}.student-detail{padding:1rem}.detail-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.detail-table{width:100%;border-collapse:collapse;font-size:.9rem}.detail-table th,.detail-table td{padding:.55rem;border-bottom:1px solid var(--color-border);text-align:left}.detail-table th{font-weight:700;color:var(--color-text-muted)}.override-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.override-form{display:flex;flex-direction:column;gap:.75rem;max-width:400px}.override-form .btn-primary,.override-form .btn-secondary{width:auto}.intake-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-md)}.intake-form .btn-primary{margin-top:1rem}.form-section{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.5rem;margin-bottom:1.5rem;background:var(--color-surface-tinted)}.form-section legend{font-family:var(--font-display);font-weight:700;font-size:1.1rem;padding:0 .5rem;color:var(--color-text)}.section-help{color:var(--color-text-muted);font-size:.9rem;margin-bottom:1rem}.content-mode-toggle{display:flex;gap:0;margin-bottom:1rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);overflow:hidden;width:fit-content}.toggle-btn{padding:.55rem 1.25rem;border:none;background:var(--color-surface);cursor:pointer;font-size:.9rem;color:var(--color-text-secondary);transition:all .15s}.toggle-btn:not(:last-child){border-right:1px solid var(--color-border-strong)}.toggle-btn.active{background:var(--color-accent);color:var(--color-primary-contrast);font-weight:600}.toggle-btn:hover:not(.active){background:var(--color-accent-soft)}.drop-prompt p{margin:.25rem 0;color:var(--color-text-secondary)}.drop-hint{font-size:.85rem;color:var(--color-text-muted)!important}.file-selected{display:flex;align-items:center;justify-content:center;gap:1rem;font-size:1rem;color:var(--color-text)}.price-estimate{background:var(--color-success-soft);border:1px solid color-mix(in srgb,var(--color-success) 35%,transparent);border-radius:var(--radius-md);padding:1.25rem 1.5rem;margin-bottom:1.5rem}.price-badge{display:inline-block;padding:.25rem .75rem;border-radius:999px;font-weight:700;font-size:.85rem;margin-bottom:.5rem}.price-badge.free{background:var(--color-success-soft);color:var(--brand-success-700)}.price-badge.discounted{background:var(--color-accent-soft);color:var(--color-primary)}.price-badge.standard{background:var(--color-bg-subtle);color:var(--color-text-secondary)}.price-detail{margin:.5rem 0;font-size:1.1rem;color:var(--color-text)}.price-breakdown{font-size:.85rem;color:var(--color-text-muted)}.price-disclaimer{font-size:.8rem;color:var(--color-text-muted);margin-top:.75rem;margin-bottom:0;font-style:italic}.field-hint{display:block;font-size:.8rem;color:var(--color-text-muted);margin-top:.25rem}.solution-guide-container{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem;background:var(--color-surface)}.solution-header{display:flex;justify-content:space-between;align-items:center}.solution-preview{margin-top:.75rem;padding:.75rem;background:var(--color-surface-tinted);border-radius:var(--radius-sm);max-height:120px;overflow-y:auto}.solution-preview-item{margin-bottom:.5rem;font-size:.9rem;color:var(--color-text-secondary)}.preview-more{font-size:.85rem;color:var(--color-text-muted);font-style:italic}.solution-full{margin-top:1rem}.solution-item{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:1rem;margin-bottom:1rem}.solution-item h4{margin:0 0 .5rem;color:var(--color-text)}.solution-item label{display:block;font-size:.85rem;font-weight:600;color:var(--color-text-muted);margin:.5rem 0 .25rem}.spinner{width:26px;height:26px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:gf-spin .8s linear infinite;margin:.5rem 0}@keyframes gf-spin{to{transform:rotate(360deg)}}.generating-status{padding:1.25rem;background:var(--color-accent-soft);border-radius:var(--radius-md);text-align:center;display:flex;flex-direction:column;align-items:center;color:var(--color-text-secondary)}.workflow-stepper{background:color-mix(in srgb,var(--color-surface) 85%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);padding:.85rem 1rem;position:sticky;top:55px;z-index:90}.stepper-steps{display:flex;align-items:center;justify-content:center;list-style:none;padding:0;margin:0 auto;gap:0;max-width:900px}.stepper-step{display:flex;align-items:center;flex:1;position:relative}.stepper-step:not(:last-child):after{content:"";position:absolute;top:50%;right:0;width:calc(100% - 40px);height:2px;background:var(--color-border);transform:translateY(-50%);left:40px}.stepper-step.past:not(:last-child):after{background:var(--color-accent)}.stepper-btn{display:flex;flex-direction:column;align-items:center;gap:.3rem;background:none;border:none;cursor:default;padding:.25rem;position:relative;z-index:1}.stepper-step.past .stepper-btn{cursor:pointer}.stepper-step.past .stepper-btn:hover .stepper-number{background:var(--color-accent-hover);transform:scale(1.1)}.stepper-number{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;transition:all .15s}.stepper-step.past .stepper-number{background:var(--color-accent);color:var(--color-primary-contrast)}.stepper-step.current .stepper-number{background:var(--color-primary);color:var(--color-primary-contrast);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-focus) 35%,transparent)}.stepper-step.future .stepper-number{background:var(--color-bg-subtle);color:var(--color-text-muted)}.stepper-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.stepper-step.past .stepper-label{color:var(--color-accent-hover)}.stepper-step.current .stepper-label{color:var(--color-primary);font-weight:700}.stepper-step.future .stepper-label{color:var(--color-text-muted)}@media (max-width: 640px){.stepper-label{display:none}.stepper-steps{gap:.25rem}}.admin-dashboard{max-width:1200px;margin:0 auto;padding:24px}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.admin-header h1{margin:0}.admin-refresh-btn{padding:8px 16px;background:var(--color-surface-tinted);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;font-size:14px}.admin-refresh-btn:hover{background:var(--color-accent-soft)}.admin-tabs{display:flex;gap:4px;margin-bottom:24px;border-bottom:2px solid var(--color-border)}.admin-tabs button{padding:10px 20px;border:none;background:none;cursor:pointer;font-size:14px;font-weight:600;color:var(--color-text-muted);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}.admin-tabs button:hover{color:var(--color-text)}.admin-tabs button.active{color:var(--color-accent-hover);border-bottom-color:var(--color-accent)}.admin-section{margin-bottom:32px}.admin-section h2{font-size:16px;font-weight:700;margin-bottom:12px;color:var(--color-text)}.admin-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.admin-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow-sm)}.admin-card h3{font-size:12px;font-weight:600;color:var(--color-text-muted);margin:0 0 8px;text-transform:uppercase;letter-spacing:.5px}.admin-card-value{font-family:var(--font-display);font-size:24px;font-weight:750;color:var(--color-text)}.admin-card-sub{font-size:12px;color:var(--color-text-muted);margin-top:4px}.admin-card-revenue{border-left:4px solid var(--color-success)}.admin-card-cost{border-left:4px solid var(--brand-coral-600)}.admin-card-profit{border-left:4px solid var(--color-success)}.admin-card-loss{border-left:4px solid var(--color-feedback)}.admin-card-warning .admin-card-value{color:var(--color-feedback)}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table th{text-align:left;padding:10px 12px;background:var(--color-surface-tinted);border-bottom:2px solid var(--color-border);font-size:12px;text-transform:uppercase;color:var(--color-text-muted);letter-spacing:.5px}.admin-table td{padding:10px 12px;border-bottom:1px solid var(--color-border);color:var(--color-text)}.admin-table-full{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.admin-monospace{font-family:var(--font-mono);font-size:12px}.admin-small{font-size:11px;color:var(--color-text-muted)}.admin-row-blocked{background:var(--color-feedback-soft)}.admin-badge{display:inline-block;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700}.admin-badge-active{background:var(--color-success-soft);color:var(--brand-success-700)}.admin-badge-blocked{background:var(--color-feedback-soft);color:var(--color-feedback-hover)}.admin-btn{padding:5px 12px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:12px;cursor:pointer;background:var(--color-surface);color:var(--color-text-secondary)}.admin-btn-block{background:var(--color-feedback-soft);border-color:color-mix(in srgb,var(--color-feedback) 45%,transparent);color:var(--color-feedback-hover)}.admin-btn-block:hover{background:color-mix(in srgb,var(--color-feedback) 18%,transparent)}.admin-btn-unblock{background:var(--color-success-soft);border-color:color-mix(in srgb,var(--color-success) 45%,transparent);color:var(--brand-success-700)}.admin-btn-unblock:hover{background:color-mix(in srgb,var(--color-success) 18%,transparent)}.admin-block-form{display:flex;gap:6px;align-items:center}.admin-block-form input{padding:4px 8px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:12px;width:120px;background:var(--color-surface);color:var(--color-text)}.admin-link-list{list-style:none;padding:0;margin:0}.admin-link-list li{margin-bottom:8px}.admin-link-list a{display:inline-block;padding:8px 14px;background:var(--color-surface-tinted);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-accent-hover);text-decoration:none;font-size:14px;transition:all .2s}.admin-link-list a:hover{background:var(--color-accent-soft);border-color:var(--color-accent);text-decoration:none}.admin-loading{text-align:center;padding:48px;color:var(--color-text-muted)}.admin-error{text-align:center;padding:48px;color:var(--color-feedback-hover)}.admin-error button{margin-top:12px;padding:8px 16px;background:var(--color-accent);color:var(--color-primary-contrast);border:none;border-radius:var(--radius-sm);cursor:pointer}.admin-footer{font-size:12px;color:var(--color-text-muted);text-align:right;margin-top:16px}.admin-console-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.subscribe-container{max-width:900px;margin:0 auto;padding:2rem 1rem}.subscribe-header{text-align:center;margin-bottom:2rem}.subscribe-title{font-family:var(--font-display);font-size:2.1rem;font-weight:750;color:var(--color-text);margin-bottom:.5rem}.subscribe-subtitle{font-size:1.1rem;color:var(--color-text-secondary)}.subscribe-toggle{display:flex;justify-content:center;gap:0;margin:0 auto 2rem;background:var(--color-bg-subtle);border-radius:999px;padding:4px;width:fit-content}.subscribe-toggle-btn{padding:.5rem 1.5rem;border:none;border-radius:999px;font-size:.95rem;font-weight:600;cursor:pointer;background:transparent;color:var(--color-text-secondary);transition:all .2s;display:flex;align-items:center;gap:.5rem}.subscribe-toggle-btn--active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.subscribe-toggle-save{font-size:.75rem;background:var(--color-success-soft);color:var(--brand-success-700);padding:.15rem .5rem;border-radius:999px;font-weight:700}.subscribe-error{text-align:center;color:var(--color-feedback);margin-bottom:1.5rem;font-size:.9rem}.subscribe-plans{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media (max-width: 640px){.subscribe-plans{grid-template-columns:1fr}}.subscribe-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;position:relative;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);transition:box-shadow .2s,border-color .2s,transform .2s}.subscribe-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-accent);transform:translateY(-3px)}.subscribe-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--color-accent);color:var(--color-primary-contrast);font-size:.75rem;font-weight:700;padding:.3rem .85rem;border-radius:999px;white-space:nowrap;box-shadow:var(--glow-cyan)}.subscribe-plan-name{font-family:var(--font-display);font-size:1.4rem;font-weight:750;color:var(--color-text);margin-bottom:.5rem}.subscribe-plan-tagline{font-size:.9rem;color:var(--color-text-secondary);margin-bottom:1.5rem;line-height:1.4}.subscribe-price{margin-bottom:.25rem}.subscribe-price-amount{font-family:var(--font-display);font-size:2.6rem;font-weight:800;color:var(--color-text)}.subscribe-price-period{font-size:1rem;color:var(--color-text-muted)}.subscribe-price-note{font-size:.85rem;color:var(--color-text-muted);margin-bottom:1.5rem}.subscribe-features{list-style:none;padding:0;margin:1.5rem 0;flex:1}.subscribe-feature{padding:.45rem 0;font-size:.9rem;color:var(--color-text-secondary);display:flex;align-items:center;gap:.5rem}.subscribe-feature-check{color:var(--color-success);font-weight:700;font-size:1rem}.subscribe-btn{width:100%;padding:.8rem 1.5rem;background:var(--color-accent);color:var(--color-primary-contrast);border:none;border-radius:var(--radius-md);font-family:var(--font-display);font-size:1rem;font-weight:650;cursor:pointer;transition:background .2s,box-shadow .2s,transform .1s;margin-top:auto}.subscribe-btn:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:var(--glow-cyan);transform:translateY(-1px)}.subscribe-btn:disabled{opacity:.55;cursor:not-allowed}.subscribe-btn--primary{background:var(--color-primary)}.subscribe-btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.subscribe-card--highlighted{border:2px solid var(--color-accent);box-shadow:var(--shadow-md),var(--glow-cyan)}.subscribe-trial-note{font-size:13px;color:var(--color-success);font-weight:700;margin:8px 0 16px}.subscribe-comparison{max-width:700px;margin:48px auto 0}.subscribe-comparison-title{font-family:var(--font-display);font-size:20px;font-weight:700;text-align:center;margin-bottom:16px;color:var(--color-text)}.subscribe-table{width:100%;border-collapse:collapse;font-size:14px}.subscribe-table th{text-align:center;padding:12px;background:var(--color-surface-tinted);border-bottom:2px solid var(--color-border);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted)}.subscribe-table th:first-child{text-align:left}.subscribe-table td{padding:10px 12px;border-bottom:1px solid var(--color-border);text-align:center;color:var(--color-text)}.subscribe-table td:first-child{text-align:left;color:var(--color-text-secondary)}.subscribe-highlight{color:var(--color-success);font-weight:700}.subscribe-footer{text-align:center;margin-top:32px;font-size:13px;color:var(--color-text-muted)}.subscribe-footer p{margin:4px 0}.account-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem 2rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.account-plan-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem}.account-plan-name{font-family:var(--font-display);font-size:1.5rem;font-weight:750;color:var(--color-text);margin:0 0 .25rem}.account-plan-price{font-size:1rem;color:var(--color-text-muted)}.account-status{display:inline-block;padding:.3rem .85rem;border-radius:999px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.account-status--active{background:var(--color-success-soft);color:var(--brand-success-700)}.account-status--trialing{background:var(--color-accent-soft);color:var(--color-primary)}.account-status--paused{background:color-mix(in srgb,#f59e0b 22%,transparent);color:#854d0e}.account-status--cancelled,.account-status--past_due{background:var(--color-feedback-soft);color:var(--color-feedback-hover)}.account-trial-banner{background:var(--color-accent-soft);border:1px solid color-mix(in srgb,var(--color-accent) 35%,transparent);border-radius:var(--radius-md);padding:.8rem 1rem;margin-bottom:1.25rem;color:var(--color-primary);font-size:.9rem;font-weight:500}.account-cancel-banner{background:var(--color-feedback-soft);border:1px solid color-mix(in srgb,var(--color-feedback) 40%,transparent);border-radius:var(--radius-md);padding:.8rem 1rem;margin-bottom:1.25rem;color:var(--color-feedback-hover);font-size:.9rem;font-weight:500}.account-usage{margin-bottom:1rem}.account-usage-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.9rem;color:var(--color-text-secondary);font-weight:500}.account-usage-bar{width:100%;height:10px;background:var(--color-bg-subtle);border-radius:999px;overflow:hidden}.account-usage-fill{height:100%;background:linear-gradient(90deg,var(--color-accent),var(--color-success));border-radius:999px;transition:width .4s ease;min-width:2%}.account-period{font-size:.9rem;color:var(--color-text-muted)}.account-period strong{color:var(--color-text-secondary)}.account-section-title{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--color-text);margin:0 0 1rem}.account-actions{display:flex;flex-direction:column;gap:1rem}.account-action-row{display:flex;align-items:flex-start;gap:1rem}.account-action-row .btn-primary{width:auto;background:var(--color-success);padding:.65rem 1.4rem}.account-action-row .btn-primary:hover:not(:disabled){background:var(--brand-success-700);box-shadow:none}.account-action-row .btn-secondary{padding:.65rem 1.4rem}.account-action-row .btn-danger{margin-left:0;padding:.65rem 1.4rem;background:none;border:1px solid color-mix(in srgb,var(--color-feedback) 45%,transparent);border-radius:var(--radius-md);color:var(--color-feedback-hover);font-family:var(--font-display);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .15s}.account-action-row .btn-danger:hover:not(:disabled){background:var(--color-feedback-soft)}.account-action-row .btn-danger:disabled{opacity:.5;cursor:not-allowed}.account-action-note{font-size:.82rem;color:var(--color-text-muted);margin:.35rem 0 0}.account-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#071a3d8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.account-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;max-width:450px;width:90%;box-shadow:var(--shadow-lg);animation:slideUp .2s ease}@keyframes slideUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.account-modal h3{font-family:var(--font-display);font-size:1.25rem;font-weight:750;color:var(--color-text);margin:0 0 .75rem}.account-modal p{color:var(--color-text-secondary);font-size:.95rem;line-height:1.6;margin:0 0 1.5rem}.account-modal-actions{display:flex;gap:.75rem}.account-modal-actions .btn-danger{margin-left:0;padding:.65rem 1.2rem;background:var(--color-feedback);color:#fff;border:none;border-radius:var(--radius-md);font-family:var(--font-display);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s}.account-modal-actions .btn-danger:hover:not(:disabled){background:var(--color-feedback-hover)}.account-modal-actions .btn-danger:disabled{opacity:.5;cursor:not-allowed}.account-modal-actions .btn-secondary{padding:.65rem 1.2rem}.account-placeholder{color:var(--color-text-muted);font-size:.9rem;font-style:italic}.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}dl.results-summary{margin-top:0}.results-summary dt,.results-summary dd,dl.admin-cards{margin:0}.admin-card dt{font-size:12px;font-weight:600;color:var(--color-text-muted);margin:0 0 8px;text-transform:uppercase;letter-spacing:.5px}.admin-card dd{margin:0}.warning-banner{background:var(--color-feedback-soft);border:1px solid color-mix(in srgb,var(--color-feedback) 35%,transparent);border-left:4px solid var(--color-feedback);border-radius:var(--radius-md);padding:12px 16px;margin:16px 0;color:var(--color-feedback-hover)}.warning-banner p{margin:6px 0}.warning-banner .file-list-compact{margin:6px 0 0}.mapping-group{margin:20px 0}.mapping-group-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.row-actions{display:flex;gap:10px;flex-wrap:wrap}.move-select{margin-left:8px;font-size:.85em}.inline-input{width:100%;max-width:220px;padding:4px 6px}.data-table tr.row-warning{background:var(--color-feedback-soft)}.file-list-compact li{display:flex;align-items:center;justify-content:space-between;gap:8px}.support-chat-launcher{position:fixed;bottom:20px;right:20px;z-index:1000;padding:.75rem 1.15rem;border:none;border-radius:999px;background:var(--color-feedback);color:#fff;font-family:var(--font-display);font-size:15px;font-weight:650;cursor:pointer;box-shadow:var(--shadow-md),var(--glow-coral);transition:background .15s,transform .15s}.support-chat-launcher:hover{background:var(--color-feedback-hover);transform:translateY(-2px)}.support-chat-panel{position:fixed;bottom:80px;right:20px;z-index:1000;width:360px;max-width:calc(100vw - 40px);height:480px;max-height:calc(100vh - 120px);display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.support-chat-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;background:var(--color-feedback);color:#fff;font-family:var(--font-display);font-weight:700}.support-chat-close{background:none;border:none;color:#fff;font-size:16px;cursor:pointer}.support-chat-messages{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px;background:var(--color-bg-subtle)}.support-chat-hint{color:var(--color-text-muted);font-size:13px;padding:8px}.support-chat-msg{display:flex;flex-direction:column}.support-chat-msg-user{align-items:flex-end}.support-chat-msg-agent{align-items:flex-start}.support-chat-bubble{max-width:85%;padding:8px 12px;border-radius:var(--radius-md);font-size:14px;line-height:1.4;white-space:pre-wrap}.support-chat-msg-user .support-chat-bubble{background:var(--color-accent);color:#fff}.support-chat-msg-agent .support-chat-bubble{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}.support-chat-escalated{font-size:12px;color:var(--color-success);margin-top:4px}.support-chat-error{color:var(--color-feedback-hover);background:var(--color-feedback-soft);font-size:13px;padding:8px 12px}.support-chat-input{display:flex;gap:8px;padding:10px;border-top:1px solid var(--color-border);background:var(--color-surface)}.support-chat-input textarea{flex:1;resize:none;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:8px;font-family:inherit;font-size:14px;background:var(--color-surface);color:var(--color-text)}.support-chat-input button{padding:8px 16px;border:none;border-radius:var(--radius-sm);background:var(--color-accent);color:#fff;font-weight:650;cursor:pointer}.support-chat-input button:disabled{background:var(--color-text-muted);cursor:not-allowed}.landing{color:var(--color-text)}.landing-nav{display:flex;align-items:center;justify-content:space-between;max-width:1160px;margin:0 auto;padding:1.1rem 1.5rem}.landing-nav-logo{height:56px;width:auto;max-width:none;display:block;object-fit:contain}.landing-nav-actions{display:flex;align-items:center;gap:.9rem}.landing-hero{position:relative;overflow:hidden;background:radial-gradient(90% 120% at 88% 0%,var(--color-accent-soft) 0%,transparent 55%),linear-gradient(180deg,var(--color-bg),var(--color-bg-subtle))}.landing-hero-inner{max-width:1160px;margin:0 auto;padding:3.5rem 1.5rem 4rem;display:grid;grid-template-columns:1.05fr 1fr;gap:2.5rem;align-items:center}.landing-eyebrow{display:inline-block;font-family:var(--font-display);font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-hover);background:var(--color-accent-soft);padding:.35rem .85rem;border-radius:999px;margin-bottom:1.25rem}.landing-title{font-family:var(--font-display);font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:800;line-height:1.05;letter-spacing:-.02em;margin-bottom:1.1rem}.landing-title .accent{color:var(--color-accent-hover)}.landing-subtitle{font-size:1.15rem;color:var(--color-text-secondary);max-width:34ch;margin-bottom:1.75rem}.landing-cta-row{display:flex;gap:.9rem;flex-wrap:wrap;align-items:center}.landing-btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-weight:650;font-size:1rem;padding:.85rem 1.6rem;border-radius:var(--radius-md);cursor:pointer;text-decoration:none;border:1px solid transparent;transition:background .15s,box-shadow .15s,transform .1s,border-color .15s}.landing-btn:hover{text-decoration:none;transform:translateY(-1px)}.landing-btn--primary{background:var(--color-accent);color:var(--color-primary-contrast)}.landing-btn--primary:hover{background:var(--color-accent-hover);box-shadow:var(--glow-cyan)}.landing-btn--ghost{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-border-strong)}.landing-btn--ghost:hover{border-color:var(--color-accent);background:var(--color-surface-tinted)}.landing-note{font-size:.85rem;color:var(--color-text-muted);margin-top:.9rem}.landing-hero-art{position:relative}.landing-hero-img{width:100%;height:auto;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);position:relative;z-index:1}.landing-hero-art:after{content:"";position:absolute;top:-12%;right:-8%;bottom:-8%;left:-12%;border-radius:50%;border:1.5px dashed color-mix(in srgb,var(--color-accent) 30%,transparent);opacity:.4;z-index:0;animation:gf-orbit 40s linear infinite}@keyframes gf-orbit{to{transform:rotate(360deg)}}.landing-divider{display:block;width:100%;height:60px;margin-top:-1px;color:var(--color-bg-subtle)}.landing-section{max-width:1160px;margin:0 auto;padding:3rem 1.5rem}.landing-section-head{text-align:center;max-width:40rem;margin:0 auto 2.5rem}.landing-section-title{font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:750;margin-bottom:.75rem}.landing-section-sub{color:var(--color-text-secondary);font-size:1.05rem}.landing-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;position:relative}.landing-step{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.75rem;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}.landing-step:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.landing-step-num{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--color-accent-soft);color:var(--color-accent-hover);font-family:var(--font-display);font-weight:800;font-size:1.1rem;margin-bottom:1rem}.landing-step h3{font-size:1.15rem;margin-bottom:.5rem}.landing-step p{color:var(--color-text-secondary);font-size:.95rem}.landing-walkthrough{padding-top:1rem}.landing-walk-list{list-style:none;margin:0 auto;padding:0;max-width:760px;position:relative}.landing-walk-list:before{content:"";position:absolute;left:27px;top:24px;bottom:24px;width:2px;background:linear-gradient(180deg,var(--color-accent),color-mix(in srgb,var(--color-accent) 20%,transparent));opacity:.5}.landing-walk-item{display:flex;gap:1.25rem;align-items:flex-start;padding:1rem 0;position:relative}.landing-walk-marker{flex:0 0 auto;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);position:relative;z-index:1}.landing-walk-body h3{font-family:var(--font-display);font-size:1.1rem;font-weight:700;margin-bottom:.35rem;color:var(--color-text)}.landing-walk-body p{color:var(--color-text-secondary);font-size:.98rem;line-height:1.6;max-width:60ch}@media (max-width: 560px){.landing-walk-list:before{left:22px}.landing-walk-marker{width:46px;height:46px;font-size:1.25rem}}.landing-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem}.landing-feature{background:var(--color-surface-tinted);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem}.landing-feature-dot{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;margin-bottom:.85rem}.landing-feature--check .landing-feature-dot{background:var(--color-success-soft)}.landing-feature--cyan .landing-feature-dot{background:var(--color-accent-soft)}.landing-feature--coral .landing-feature-dot{background:var(--color-feedback-soft)}.landing-feature h3{font-size:1.05rem;margin-bottom:.4rem}.landing-feature p{color:var(--color-text-secondary);font-size:.92rem}.landing-cta-band{max-width:1160px;margin:1rem auto 3rem;padding:2.75rem 2rem;text-align:center;border-radius:var(--radius-xl);background:radial-gradient(80% 140% at 50% 0%,var(--color-accent-soft) 0%,transparent 60%),linear-gradient(160deg,var(--color-surface-tinted),var(--color-bg-subtle));border:1px solid var(--color-border)}.landing-cta-band h2{font-size:clamp(1.6rem,3vw,2.1rem);margin-bottom:.6rem}.landing-cta-band p{color:var(--color-text-secondary);margin-bottom:1.5rem}.landing-footer{border-top:1px solid var(--color-border);padding:2rem 1.5rem;background:var(--color-bg-subtle)}.landing-footer-inner{max-width:1160px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--color-text-muted);font-size:.88rem}.landing-footer-logo{height:30px;width:auto;opacity:.9}.landing-footer-links{display:flex;gap:1.25rem;flex-wrap:wrap}@media (max-width: 820px){.landing-hero-inner{grid-template-columns:1fr;padding-top:2rem}.landing-hero-art{order:-1;max-width:480px}.landing-subtitle{max-width:none}.landing-steps{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.centrifuge-loader{animation:none}.landing-hero-art:after{animation:none}}
