@import"https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Spline+Sans+Mono:wght@400;500;600&display=swap";.app{min-height:100vh;display:flex;flex-direction:column;background:var(--ink-900)}.appbar{position:sticky;top:0;z-index:40;background:var(--ink-900);background:color-mix(in srgb,var(--ink-900) 82%,transparent);-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line)}.appbar-inner{max-width:1120px;margin:0 auto;padding:.7rem var(--spacing-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg)}.appbar-brand{display:flex;align-items:center;gap:.75rem;min-width:0}.appbar-logo{height:30px;width:auto;display:block}.appbar-titles{display:flex;flex-direction:column;line-height:1.05}.appbar .brand-name{font-size:1.45rem;line-height:1}.appbar-tag{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-faint);margin-top:3px}.appbar .logo-icon{width:40px;height:40px}.appbar-actions{display:flex;align-items:center;gap:var(--spacing-md)}.user-chip{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.76rem;color:var(--text);padding:.25rem .6rem .25rem .3rem;border-radius:50px;background:var(--ink-800);box-shadow:inset 0 0 0 1px var(--line)}.user-avatar{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--signal-dim);color:var(--signal-deep);font-weight:600;font-size:.68rem;box-shadow:inset 0 0 0 1px var(--line-signal)}.logo-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:var(--radius-md);background:var(--ink-800);box-shadow:inset 0 0 0 1px var(--line-signal),0 8px 24px -10px var(--signal-glow)}.logo-icon svg{display:block}.logo-icon .brain-stroke{stroke-dasharray:1;stroke-dashoffset:0}.brand-name{font-family:var(--font-display);font-size:clamp(2.4rem,5vw,3.4rem);font-weight:600;font-optical-sizing:auto;letter-spacing:-.02em;color:var(--text-hi);margin:0;line-height:1}.brand-name .brand-accent{color:var(--signal);font-style:italic}.api-status{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-lo)}.api-status .status-dot{width:7px;height:7px;border-radius:50%;background:var(--signal);animation:pulseDot 2.4s ease-in-out infinite}.api-status.unhealthy{color:var(--coral)}.api-status.unhealthy .status-dot{background:var(--coral)}.logout-btn{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-lo);background:transparent;padding:.4rem .8rem;border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--line-strong);transition:all var(--transition-fast)}.logout-btn:hover{color:var(--coral);box-shadow:inset 0 0 0 1px var(--coral)}.login-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-xl);padding:var(--spacing-xl) var(--spacing-lg)}.login-card{position:relative;width:100%;max-width:420px;background:var(--ink-800);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:clamp(1.8rem,5vw,2.6rem)}.login-card:before,.login-card:after{content:"";position:absolute;width:14px;height:14px;border:1px solid var(--line-signal);pointer-events:none}.login-card:before{top:14px;left:14px;border-right:none;border-bottom:none}.login-card:after{bottom:14px;right:14px;border-left:none;border-top:none}.login-brand{display:flex;align-items:center;gap:.7rem;margin-bottom:var(--spacing-xl)}.login-logo{height:44px;width:auto;display:block}.login-title{font-family:var(--font-display);font-size:1.7rem;font-weight:500;color:var(--text-hi);margin:.5rem 0 .4rem}.login-hint{color:var(--text-lo);font-size:.92rem;margin-bottom:var(--spacing-xl)}.login-card .form-field{margin-bottom:var(--spacing-lg)}.pw-wrap{position:relative}.pw-wrap input{padding-right:2.8rem}.pw-toggle{position:absolute;top:50%;right:.5rem;transform:translateY(-50%);display:grid;place-items:center;width:32px;height:32px;color:var(--text-lo);background:transparent;border-radius:var(--radius-sm)}.pw-toggle:hover{color:var(--signal)}.login-submit{width:100%;margin-top:var(--spacing-sm)}.login-foot{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;color:var(--text-faint)}.app-main{position:relative;flex:1;padding:clamp(2rem,5vw,3.5rem) 0;background-image:radial-gradient(circle,var(--line) 1px,transparent 1.6px);background-size:30px 30px}.upload-section,.progress-monitor,.results-display{position:relative;background:var(--ink-800);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.upload-section,.progress-monitor{padding:clamp(1.6rem,4vw,2.6rem)}.upload-section:before,.upload-section:after,.progress-monitor:before,.progress-monitor:after{content:"";position:absolute;width:14px;height:14px;border:1px solid var(--line-signal);pointer-events:none}.upload-section:before,.progress-monitor:before{top:14px;left:14px;border-right:none;border-bottom:none}.upload-section:after,.progress-monitor:after{bottom:14px;right:14px;border-left:none;border-top:none}.error-banner{display:flex;align-items:center;gap:var(--spacing-md);background:var(--coral-dim);border:1px solid rgba(251,113,133,.4);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg);margin-bottom:var(--spacing-xl);color:var(--coral-text);animation:dropIn var(--animation-duration) var(--animation-timing) both}.error-banner svg{flex-shrink:0;color:var(--coral)}.error-banner span{flex:1;font-weight:500}.close-btn{background:none;border:none;font-size:1.4rem;line-height:1;color:var(--coral-text);width:28px;height:28px;display:grid;place-items:center;border-radius:50%;transition:all var(--transition-fast)}.close-btn:hover{background:rgba(251,113,133,.18);transform:rotate(90deg)}.study-form{display:block}.panel-head{margin-bottom:var(--spacing-xl)}.study-form h3,.panel-head h3{font-family:var(--font-display);font-size:1.85rem;font-weight:500;color:var(--text-hi);margin:.5rem 0 .4rem;letter-spacing:-.02em}.study-form-hint{color:var(--text-lo);font-size:.95rem;max-width:62ch}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem 1.5rem}.form-field{display:flex;flex-direction:column;gap:.45rem}.form-field.full-width{grid-column:1 / -1}.form-field label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--text-lo)}.form-field .required-mark{color:var(--signal)}.form-field input,.form-field select{background:var(--ink-900)}.form-field input:disabled,.form-field select:disabled{opacity:.5}.form-field.checkbox-field{justify-content:flex-end}.checkbox-field .checkbox-label{display:flex;align-items:center;gap:.6rem;font-size:.92rem;font-weight:500;color:var(--text);cursor:pointer;padding:.6rem 0}.action-section{margin-top:var(--spacing-xl);display:flex;justify-content:flex-end;padding-top:var(--spacing-lg);border-top:1px solid var(--line)}.drop-zone{position:relative;border:1.5px dashed var(--line-strong);border-radius:var(--radius-lg);background:var(--ink-900);padding:clamp(1.6rem,5vw,2.8rem);text-align:center;cursor:pointer;transition:border-color var(--transition-base),background var(--transition-base);overflow:hidden}.drop-zone:hover:not(.disabled),.drop-zone:focus-visible{border-color:var(--signal);background:var(--signal-dim);outline:none}.drop-zone.dragging{border-color:var(--signal);border-style:solid;background:var(--signal-dim);box-shadow:inset 0 0 0 1px var(--line-signal),0 0 30px -8px var(--signal-glow)}.drop-zone.disabled{cursor:not-allowed;opacity:.7}.drop-zone.has-file{border-style:solid;border-color:var(--line-signal);background:var(--ink-850)}.drop-zone-content{pointer-events:none}.drop-icon{display:inline-grid;place-items:center;width:60px;height:60px;margin-bottom:var(--spacing-md);border-radius:50%;color:var(--signal);background:var(--signal-dim);box-shadow:inset 0 0 0 1px var(--line-signal)}.drop-zone-text{font-family:var(--font-display);font-size:1.25rem;color:var(--text-hi);margin-bottom:.4rem}.drop-zone-text span{color:var(--signal)}.drop-zone-info{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;color:var(--text-faint)}.drop-file{display:flex;align-items:center;gap:var(--spacing-md);text-align:left}.drop-file-icon{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;border-radius:var(--radius-md);color:var(--signal);background:var(--signal-dim);box-shadow:inset 0 0 0 1px var(--line-signal)}.drop-file-text{flex:1;min-width:0}.drop-file-name{display:block;font-weight:600;color:var(--text-hi);word-break:break-all}.drop-file-meta{font-family:var(--font-mono);font-size:.74rem;color:var(--text-lo)}.drop-file-clear{flex-shrink:0;width:30px;height:30px;display:grid;place-items:center;font-size:1.3rem;line-height:1;color:var(--text-lo);background:transparent;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line-strong)}.drop-file-clear:hover{color:var(--coral);box-shadow:inset 0 0 0 1px var(--coral)}.drop-upload{display:flex;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--line)}.drop-upload-bar{flex:1;height:6px;background:var(--ink-700);border-radius:50px;overflow:hidden}.drop-upload-fill{height:100%;background:linear-gradient(90deg,var(--signal-deep),var(--signal));border-radius:50px;transition:width var(--transition-base);box-shadow:0 0 14px -2px var(--signal-glow)}.drop-upload-pct{font-family:var(--font-mono);font-size:.74rem;color:var(--signal);white-space:nowrap}.destination{margin-top:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg);background:var(--ink-850);border:1px solid var(--line);border-radius:var(--radius-lg)}.destination-ids{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:.7rem}.dest-chip{display:inline-flex;align-items:baseline;gap:.4rem;font-family:var(--font-mono);font-size:.82rem;color:var(--text-hi);padding:.28rem .6rem;background:var(--ink-900);border:1px solid var(--line);border-radius:var(--radius-sm)}.dest-chip i{font-style:normal;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint)}.dest-chip-active{color:var(--signal);border-color:var(--line-signal);background:var(--signal-dim)}.dest-chip-active i{color:var(--signal);opacity:.7}.destination-key{display:block;font-family:var(--font-mono);font-size:.74rem;color:var(--text-lo);word-break:break-all}.meta-block{margin-top:var(--spacing-xl)}.meta-block .eyebrow{margin-bottom:var(--spacing-md)}.meta-block .eyebrow small{letter-spacing:.02em;text-transform:none;color:var(--text-faint)}.error-message{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-lg);padding:var(--spacing-md);background:var(--coral-dim);border:1px solid rgba(251,113,133,.4);border-radius:var(--radius-md);color:var(--coral-text);font-weight:500;font-size:.92rem}.error-message svg{flex-shrink:0;color:var(--coral)}.progress-monitor{animation:fadeIn var(--animation-duration) var(--animation-timing) both}.progress-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.progress-header h3{font-family:var(--font-display);font-size:1.6rem;font-weight:500;color:var(--text-hi)}.progress-header h3 .proc-target{font-family:var(--font-mono);font-size:.95rem;font-style:normal;color:var(--signal);word-break:break-all}.task-info{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.task-id{font-family:var(--font-mono);font-size:.74rem;color:var(--text-lo);padding:.3rem .6rem;background:var(--ink-900);border:1px solid var(--line);border-radius:var(--radius-sm);word-break:break-all}.status-badge{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;padding:.3rem .7rem;border-radius:50px;color:var(--amber);background:var(--amber-dim);box-shadow:inset 0 0 0 1px #f5b45459}.progress-bar-container{margin-bottom:var(--spacing-xl)}.progress-readout{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.7rem}.progress-readout .pct{font-family:var(--font-display);font-size:2.6rem;font-weight:500;color:var(--text-hi);font-variant-numeric:tabular-nums;line-height:1}.progress-readout .pct-unit{font-family:var(--font-mono);color:var(--text-lo);font-size:1rem}.progress-bar{width:100%;height:8px;background:var(--ink-900);border-radius:50px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--line);position:relative}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--signal-deep),var(--signal));border-radius:50px;transition:width var(--transition-slow);position:relative;overflow:hidden;box-shadow:0 0 16px -2px var(--signal-glow)}.progress-bar-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);animation:sheen 1.8s var(--ease-out-expo) infinite}.progress-bar-text{position:absolute;opacity:0}.progress-details{margin-bottom:var(--spacing-xl)}.progress-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.info-item{display:flex;flex-direction:column;gap:.35rem;padding:var(--spacing-md) var(--spacing-lg);background:var(--ink-850)}.info-item.full-width{grid-column:1 / -1}.info-label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint)}.info-value{font-size:1rem;font-weight:500;color:var(--text-hi)}.timeline h4{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-lo);margin-bottom:var(--spacing-lg)}.timeline-steps{display:flex;flex-direction:column}.timeline-step{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) 0;border-bottom:1px solid var(--line);position:relative;transition:all var(--transition-base)}.timeline-step:last-child{border-bottom:none}.step-icon{width:30px;height:30px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;font-size:.85rem;font-family:var(--font-mono);background:var(--ink-900);color:var(--text-faint);box-shadow:inset 0 0 0 1px var(--line-strong)}.timeline-step.completed .step-icon{background:var(--signal-dim);color:var(--signal);box-shadow:inset 0 0 0 1px var(--line-signal)}.timeline-step.in-progress .step-icon{background:var(--amber-dim);color:var(--amber);box-shadow:inset 0 0 0 1px #f5b45466;animation:pulseDot 1.8s ease-in-out infinite}.step-content{flex:1;display:flex;align-items:baseline;justify-content:space-between;gap:var(--spacing-md)}.step-label{font-weight:500;color:var(--text);font-size:.98rem}.timeline-step.completed .step-label,.timeline-step.in-progress .step-label{color:var(--text-hi)}.step-range{font-family:var(--font-mono);font-size:.72rem;color:var(--text-faint);font-variant-numeric:tabular-nums}.progress-animation{display:flex;align-items:center;gap:var(--spacing-md);justify-content:center;padding:var(--spacing-xl) 0 0;margin-top:var(--spacing-xl);border-top:1px solid var(--line)}.progress-animation p{color:var(--text-lo);font-size:.95rem}.results-display{overflow:hidden;animation:scaleIn var(--animation-duration) var(--animation-timing) both}.results-header{position:relative;padding:clamp(1.8rem,4vw,2.8rem);border-bottom:1px solid var(--line);background:radial-gradient(600px 300px at 80% -40%,var(--signal-dim),transparent 70%),var(--ink-850)}.success-banner{display:flex;align-items:flex-start;gap:var(--spacing-md)}.success-banner .success-mark{width:54px;height:54px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;color:var(--signal);background:var(--signal-dim);box-shadow:inset 0 0 0 1px var(--line-signal),0 0 0 0 var(--signal-glow);animation:markPop .6s var(--ease-out-expo) both,markRing 2.6s ease-out .6s infinite}@keyframes markPop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}@keyframes markRing{0%{box-shadow:inset 0 0 0 1px var(--line-signal),0 0 0 0 var(--signal-glow)}70%,to{box-shadow:inset 0 0 0 1px var(--line-signal),0 0 0 14px transparent}}.success-text{min-width:0}.success-banner h2{font-family:var(--font-display);font-size:clamp(1.7rem,4vw,2.4rem);font-weight:500;letter-spacing:-.02em;color:var(--text-hi);margin:.15rem 0 0}.results-message{color:var(--text);margin-top:.5rem;max-width:64ch;font-size:.95rem}.results-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.4rem;margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--line)}.results-meta-item{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-lo)}.results-meta-item b{font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--text-hi);letter-spacing:0;margin-right:.3rem;font-variant-numeric:tabular-nums}.results-ref{margin-left:auto;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;color:var(--text-faint);padding:.2rem .55rem;border:1px solid var(--line);border-radius:var(--radius-sm)}.results-content{padding:clamp(1.6rem,4vw,2.6rem)}.statistics-section,.visualization-section{margin-bottom:var(--spacing-2xl)}.statistics-section h3,.visualization-section h3,.downloads-section h3{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-lo);margin-bottom:var(--spacing-lg);display:flex;align-items:center;gap:.7rem}.statistics-section h3:after,.visualization-section h3:after,.downloads-section h3:after{content:"";flex:1;height:1px;background:var(--line)}.viewer{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:#0a0f16;box-shadow:var(--shadow-md)}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-md);padding:.7rem .9rem;background:var(--ink-850);border-bottom:1px solid var(--line)}.viewer-views{display:flex;gap:.3rem;flex-wrap:wrap}.view-btn{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-lo);background:var(--ink-800);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.4rem .7rem;cursor:pointer;transition:all var(--transition-fast)}.view-btn:hover:not(:disabled){color:var(--signal);border-color:var(--line-signal)}.view-btn.active{color:#fff;background:var(--signal-deep);border-color:var(--signal-deep)}.view-btn:disabled{opacity:.45;cursor:default}.viewer-controls{display:flex;align-items:center;gap:var(--spacing-lg)}.overlay-toggle{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text);cursor:pointer}.overlay-toggle input{accent-color:var(--signal)}.opacity-control{display:inline-flex;align-items:center;gap:.5rem}.opacity-control span{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-lo)}.opacity-control input[type=range]{accent-color:var(--signal);width:110px;cursor:pointer}.viewer-canvas-wrap{position:relative;width:100%;height:clamp(360px,52vh,560px);background:#06090d}.viewer-canvas{width:100%;height:100%;display:block}.viewer-msg{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:.6rem;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.06em;color:#cdd6e0;background:rgba(6,9,13,.7)}.viewer-msg.error{color:#fda4af;padding:var(--spacing-lg);text-align:center}.viewer-hint{padding:.6rem .9rem;font-size:.78rem;color:var(--text-faint);background:var(--ink-850);border-top:1px solid var(--line)}.region-table-wrap{margin-top:var(--spacing-xl)}.region-table-head{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-md);flex-wrap:wrap}.region-table-head h4{font-family:var(--font-display);font-size:1.15rem;font-weight:500;color:var(--text-hi);display:flex;align-items:baseline;gap:.6rem}.region-count{font-family:var(--font-mono);font-size:.7rem;color:var(--text-faint);letter-spacing:.06em}.region-search{font-family:var(--font-ui);font-size:.85rem;padding:.45rem .7rem;background:var(--ink-850);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-hi);min-width:180px}.region-search:focus{outline:none;border-color:var(--line-signal)}.region-table-scroll{max-height:380px;overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius-md)}.region-table{width:100%;border-collapse:collapse;font-size:.86rem}.region-table thead th{position:sticky;top:0;z-index:1;background:var(--ink-850);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);text-align:left;padding:.6rem .9rem;border-bottom:1px solid var(--line)}.region-table th.num,.region-table td.num{text-align:right;font-variant-numeric:tabular-nums}.region-table td{padding:.55rem .9rem;border-bottom:1px solid var(--line);color:var(--text)}.region-table tbody tr:last-child td{border-bottom:none}.region-table tbody tr:hover td{background:var(--ink-850)}.region-name{color:var(--text-hi);font-weight:500}.region-group{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.04em;color:var(--text-lo);padding:.15rem .5rem;border-radius:50px;background:var(--ink-750);white-space:nowrap}.share-cell{position:relative;display:inline-flex;align-items:center;justify-content:flex-end;gap:.5rem;min-width:96px}.share-bar{position:absolute;left:0;height:6px;bottom:-2px;background:var(--signal);opacity:.55;border-radius:3px}.share-val{font-variant-numeric:tabular-nums}.region-empty{text-align:center;color:var(--text-lo);padding:var(--spacing-lg)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.stat-card{display:flex;flex-direction:column;gap:.4rem;padding:var(--spacing-lg);background:var(--ink-850);transition:background var(--transition-base),transform var(--transition-fast)}.stat-card:hover{background:var(--ink-800);transform:translateY(-2px)}.stat-card:hover .stat-icon{opacity:1;transform:translateY(-1px)}.stat-icon{color:var(--signal);opacity:.85;transition:opacity var(--transition-fast),transform var(--transition-fast);margin-bottom:.2rem}.stat-value{font-family:var(--font-display);font-size:2.2rem;font-weight:500;color:var(--text-hi);font-variant-numeric:tabular-nums;line-height:1}.stat-label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}.top-structures{margin-top:var(--spacing-xl);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.top-structures h4{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-lo);padding:var(--spacing-md) var(--spacing-lg);background:var(--ink-850);border-bottom:1px solid var(--line)}.structures-list{display:flex;flex-direction:column}.structure-item{display:flex;align-items:center;gap:var(--spacing-md);padding:.7rem var(--spacing-lg);border-bottom:1px solid var(--line);transition:background var(--transition-fast)}.structure-item:last-child{border-bottom:none}.structure-item:hover{background:var(--ink-850)}.structure-rank{font-family:var(--font-mono);font-weight:500;color:var(--signal);min-width:2.2rem;font-size:.85rem}.structure-id{flex:1;font-family:var(--font-mono);font-size:.85rem;color:var(--text)}.structure-volume{font-family:var(--font-mono);font-size:.85rem;color:var(--text-lo)}.file-group{margin-bottom:var(--spacing-xl)}.file-group-title{display:flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-size:1.1rem;font-weight:500;color:var(--text-hi);margin-bottom:var(--spacing-md)}.file-group-count{font-family:var(--font-mono);font-size:.66rem;font-weight:500;color:var(--text-lo);background:var(--ink-750);border-radius:50px;padding:.1rem .5rem}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:var(--spacing-md)}.file-card{display:flex;flex-direction:column;gap:.7rem;padding:1rem 1.1rem .9rem;background:var(--ink-850);border:1px solid var(--line);border-radius:var(--radius-lg);transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);animation:riseIn var(--animation-duration) var(--animation-timing) both}.file-card:hover{transform:translateY(-2px);border-color:var(--line-signal);box-shadow:var(--shadow-md)}.file-card-head{display:flex;align-items:center;justify-content:space-between}.file-card-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:var(--radius-md);color:var(--signal);background:var(--signal-dim);box-shadow:inset 0 0 0 1px var(--line-signal)}.file-format{font-family:var(--font-mono);font-size:.62rem;font-weight:600;letter-spacing:.12em;padding:.2rem .5rem;border-radius:var(--radius-sm);color:var(--text-lo);background:var(--ink-750);box-shadow:inset 0 0 0 1px var(--line)}.file-format.fmt-pdf{color:var(--amber);background:var(--amber-dim);box-shadow:inset 0 0 0 1px #d977064d}.file-format.fmt-nifti{color:var(--signal-deep);background:var(--signal-dim);box-shadow:inset 0 0 0 1px var(--line-signal)}.file-format.fmt-json{color:var(--coral-text);background:var(--coral-dim);box-shadow:inset 0 0 0 1px #e11d4838}.file-card-body{flex:1;min-width:0}.file-card-title{font-family:var(--font-ui);font-size:.98rem;font-weight:600;color:var(--text-hi);margin-bottom:.2rem;line-height:1.25}.file-card-desc{font-size:.82rem;color:var(--text-lo);line-height:1.35}.file-download{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;width:100%;padding:.5rem .8rem;background:transparent;color:var(--signal-deep);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;box-shadow:inset 0 0 0 1px var(--line-signal);cursor:pointer;transition:all var(--transition-fast)}.file-download:hover:not(:disabled){background:var(--signal);color:#fff;box-shadow:inset 0 0 0 1px var(--signal)}.file-download:disabled{opacity:.6;cursor:default}.file-download .spinner-small{border-top-color:var(--signal-deep)}.action-buttons{display:flex;gap:var(--spacing-md);flex-wrap:wrap;justify-content:flex-end;padding-top:var(--spacing-xl);border-top:1px solid var(--line)}.no-files{color:var(--text-lo);padding:var(--spacing-lg);text-align:center}.failure-panel{position:relative;background:var(--ink-800);border:1px solid rgba(225,29,72,.28);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:clamp(1.6rem,4vw,2.6rem);margin-bottom:var(--spacing-xl)}.failure-head{display:flex;align-items:center;gap:var(--spacing-md)}.failure-head svg{color:var(--coral);flex-shrink:0}.failure-head h2{font-family:var(--font-display);font-size:1.7rem;font-weight:500;color:var(--text-hi);letter-spacing:-.02em;margin:.25rem 0 0}.failure-message{color:var(--coral-text);margin:var(--spacing-lg) 0;font-weight:500}.failure-key{display:block;font-family:var(--font-mono);font-size:.74rem;color:var(--text-lo);padding:.5rem .7rem;background:var(--ink-900);border:1px solid var(--line);border-radius:var(--radius-sm);word-break:break-all;margin-bottom:var(--spacing-lg)}.history-panel{position:relative;background:var(--ink-800);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:clamp(1.4rem,3.5vw,2.2rem);margin-top:var(--spacing-xl)}.history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.ghost-btn{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-lo);background:transparent;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.45rem .8rem;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.ghost-btn:hover:not(:disabled){color:var(--signal);border-color:var(--line-signal);background:var(--signal-dim)}.ghost-btn:disabled{opacity:.5;cursor:default}.history-empty{color:var(--text-lo);padding:var(--spacing-lg) 0}.history-list{display:flex;flex-direction:column}.history-row{display:grid;grid-template-columns:64px 1fr 116px 130px;align-items:center;gap:var(--spacing-md);width:100%;text-align:left;padding:.75rem .6rem;border:none;border-bottom:1px solid var(--line);background:transparent;cursor:pointer;font-family:inherit;color:var(--text);transition:background var(--transition-fast)}.history-row:last-child{border-bottom:none}.history-row:hover:not(.history-row-head){background:var(--ink-850)}.history-row.active{background:var(--signal-dim);box-shadow:inset 2px 0 0 var(--signal)}.history-row-head{cursor:default;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint)}.history-row-head:hover{background:transparent}.history-study{font-family:var(--font-mono);font-weight:600;color:var(--text-hi)}.history-file{font-size:.9rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-date{font-family:var(--font-mono);font-size:.74rem;color:var(--text-lo)}.status-badge{display:inline-flex;align-items:center;gap:.4rem;width:max-content}.status-badge .badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.status-badge.success{color:var(--signal-deep);background:var(--signal-dim);box-shadow:inset 0 0 0 1px var(--line-signal)}.status-badge.failure{color:var(--coral-text);background:var(--coral-dim);box-shadow:inset 0 0 0 1px #e11d484d}.status-badge.started,.status-badge.pending{color:var(--amber);background:var(--amber-dim);box-shadow:inset 0 0 0 1px #d977064d}.status-badge.started .badge-dot,.status-badge.pending .badge-dot{animation:pulseDot 1.4s ease-in-out infinite}.dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-lg)}.dashboard-head .btn-primary{flex-shrink:0}.dashboard-banner{position:relative;overflow:hidden;margin-bottom:var(--spacing-xl);padding:clamp(1.7rem,4vw,2.6rem);border:1px solid var(--line);border-radius:var(--radius-xl);background:radial-gradient(540px 280px at 92% -40%,var(--signal-dim),transparent 70%),radial-gradient(420px 240px at 0% 120%,rgba(99,102,241,.06),transparent 70%),linear-gradient(120deg,var(--ink-800),var(--ink-850));box-shadow:var(--shadow-md)}.dashboard-banner-text{position:relative;z-index:1;max-width:60ch}.dashboard-banner h3{font-family:var(--font-display);font-size:clamp(1.7rem,4vw,2.3rem);font-weight:500;letter-spacing:-.02em;color:var(--text-hi);margin:.35rem 0 .5rem}.dashboard-banner-actions{display:flex;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-lg);flex-wrap:wrap}.dashboard-count{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-lo);padding:.4rem .8rem;border-radius:50px;background:var(--ink-850);box-shadow:inset 0 0 0 1px var(--line)}.dashboard-banner-mark{position:absolute;right:-28px;top:50%;transform:translateY(-50%);width:clamp(150px,22vw,230px);height:auto;opacity:.1;pointer-events:none;z-index:0}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.6rem;padding:clamp(2.5rem,8vw,5rem) var(--spacing-lg);background:var(--ink-800);border:1px dashed var(--line-strong);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.empty-state svg{color:var(--signal);opacity:.8;margin-bottom:.4rem}.empty-state h4{font-family:var(--font-display);font-size:1.4rem;color:var(--text-hi);font-weight:500}.empty-state p{color:var(--text-lo);margin-bottom:var(--spacing-md)}.patient-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-xl)}.patient-card{position:relative;display:flex;flex-direction:column;gap:.55rem;text-align:left;padding:var(--spacing-lg);background:var(--ink-800);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;font-family:inherit;animation:emerge .6s var(--ease-out-expo) both;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.patient-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(420px 160px at 50% -20%,var(--signal-dim),transparent 70%);opacity:0;transition:opacity var(--transition-fast);pointer-events:none}.patient-card:hover{transform:translateY(-4px);border-color:var(--line-signal);box-shadow:var(--shadow-lg)}.patient-card:hover:before{opacity:1}.patient-card:hover .patient-avatar{transform:scale(1.06)}.patient-card .patient-avatar{transition:transform var(--transition-fast)}.patient-card>*{position:relative}.patient-card-top{display:flex;align-items:center;justify-content:space-between}.patient-avatar{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:var(--signal-dim);color:var(--signal-deep);font-family:var(--font-mono);font-weight:600;font-size:.95rem;letter-spacing:.04em;box-shadow:inset 0 0 0 1px var(--line-signal)}.patient-avatar.lg{width:60px;height:60px;border-radius:16px;font-size:1.35rem}.patient-name{font-family:var(--font-display);font-size:1.3rem;font-weight:500;color:var(--text-hi);letter-spacing:-.01em;margin-top:.2rem}.patient-sub{color:var(--text-lo);font-size:.88rem}.patient-card-foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.4rem;padding-top:.7rem;border-top:1px solid var(--line)}.patient-scans{font-family:var(--font-mono);font-size:.74rem;color:var(--text);letter-spacing:.04em}.patient-last{font-family:var(--font-mono);font-size:.72rem;color:var(--text-faint)}.back-link{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-lo);background:none;border:none;cursor:pointer;padding:0;margin-bottom:var(--spacing-lg);transition:color var(--transition-fast)}.back-link:hover{color:var(--signal)}.patient-header{display:flex;align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.patient-title{font-family:var(--font-display);font-size:clamp(1.7rem,4vw,2.3rem);font-weight:500;color:var(--text-hi);letter-spacing:-.02em;margin:.2rem 0 .3rem}.patient-detail-line{color:var(--text-lo);font-size:.95rem}.patient-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--spacing-xl);align-items:start;margin-top:var(--spacing-xl)}.scan-upload-panel{margin:0}.scan-history{position:relative;background:var(--ink-800);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:clamp(1.4rem,3.5vw,2.2rem)}.scan-list{display:flex;flex-direction:column;gap:.6rem}.scan-row{display:flex;align-items:center;gap:var(--spacing-md);width:100%;text-align:left;padding:.8rem .9rem;background:var(--ink-850);border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;font-family:inherit;color:var(--text);transition:border-color var(--transition-fast),background var(--transition-fast)}.scan-row:hover{border-color:var(--line-signal)}.scan-row.active{border-color:var(--signal);box-shadow:inset 0 0 0 1px var(--signal);background:var(--signal-dim)}.scan-icon{color:var(--signal);flex-shrink:0;display:inline-flex}.scan-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.scan-name{color:var(--text-hi);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scan-date{font-family:var(--font-mono);font-size:.72rem;color:var(--text-lo)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);background:rgba(15,23,42,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn var(--transition-fast) ease both}.modal-card{position:relative;width:min(560px,100%);max-height:90vh;overflow-y:auto;background:var(--ink-800);border:1px solid var(--line-strong);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:clamp(1.6rem,4vw,2.4rem)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.modal-head h3{font-family:var(--font-display);font-size:1.6rem;font-weight:500;color:var(--text-hi);letter-spacing:-.02em;margin-top:.3rem}.modal-close{background:none;border:1px solid var(--line);border-radius:var(--radius-sm);width:32px;height:32px;font-size:1.3rem;line-height:1;color:var(--text-lo);cursor:pointer;flex-shrink:0;transition:all var(--transition-fast)}.modal-close:hover{color:var(--coral);border-color:var(--coral)}.compare-toggle{margin-left:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-lo);background:var(--ink-800);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.5rem .85rem;cursor:pointer;transition:all var(--transition-fast)}.compare-toggle:hover{color:var(--signal);border-color:var(--line-signal)}.compare-toggle.active{color:#fff;background:var(--signal-deep);border-color:var(--signal-deep)}.compare-section{position:relative;background:var(--ink-800);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:clamp(1.5rem,4vw,2.4rem);margin-bottom:var(--spacing-xl)}.compare-selectors{display:flex;align-items:flex-end;gap:var(--spacing-lg);flex-wrap:wrap;margin-bottom:var(--spacing-xl)}.compare-pick{display:flex;flex-direction:column;gap:.4rem;flex:1;min-width:200px}.compare-pick label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-lo)}.compare-pick select{font-family:var(--font-ui);font-size:.9rem;padding:.55rem .7rem;background:var(--ink-850);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-hi)}.compare-pick select:focus{outline:none;border-color:var(--line-signal)}.compare-arrow{color:var(--signal);flex-shrink:0;margin-bottom:.6rem}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.metric-card{background:var(--ink-850);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-lg);transition:transform var(--transition-fast),border-color var(--transition-fast)}.metric-card:hover{transform:translateY(-2px);border-color:var(--line-signal)}.metric-label{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-lo)}.metric-values{display:flex;align-items:baseline;gap:.5rem;margin:.5rem 0 .3rem;font-variant-numeric:tabular-nums}.metric-base{color:var(--text-lo);font-size:.95rem}.metric-sep{color:var(--text-faint)}.metric-follow{color:var(--text-hi);font-family:var(--font-display);font-size:1.3rem;font-weight:500}.metric-delta{font-family:var(--font-mono);font-size:.78rem;font-weight:600}.metric-delta.up,.delta.up,.pct.up{color:var(--signal-deep)}.metric-delta.down,.delta.down,.pct.down{color:var(--coral-text)}.metric-delta.flat,.delta.flat{color:var(--text-faint)}.compare-view-toggle{align-self:flex-end;margin-bottom:.05rem}.compare-viewers{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.compare-viewer{display:flex;flex-direction:column;gap:.5rem;min-width:0}.compare-viewer-label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-lo)}.compare-viewer .viewer-canvas-wrap{height:clamp(280px,38vh,420px)}.delta{font-variant-numeric:tabular-nums;white-space:nowrap}.compare-legend{display:inline-flex;align-items:center;gap:.8rem;font-family:var(--font-mono);font-size:.68rem}.compare-unit{color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase}.landing{display:flex;flex-direction:column;min-height:100vh}.landing-nav{position:sticky;top:0;z-index:40;background:var(--ink-900);background:color-mix(in srgb,var(--ink-900) 82%,transparent);-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line)}.landing-nav-inner{max-width:1120px;margin:0 auto;padding:.8rem var(--spacing-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg)}.landing-nav-links{display:flex;align-items:center;gap:clamp(1rem,3vw,2rem)}.landing-nav-links a{font-size:.9rem;color:var(--text-lo);transition:color var(--transition-fast)}.landing-nav-links a:hover{color:var(--signal-deep)}.landing-signin{padding:.55rem 1.15rem}.hero{width:100%;max-width:1120px;margin:0 auto;padding:clamp(2.8rem,8vw,6rem) var(--spacing-lg);display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(2rem,6vw,4.5rem);align-items:center}.hero-title{font-family:var(--font-display);font-size:clamp(2.6rem,6vw,4.3rem);font-weight:600;line-height:1.04;letter-spacing:-.03em;color:var(--text-hi);margin:.7rem 0 1.1rem}.hero-title em{font-style:italic;font-weight:500;color:var(--signal)}.hero-sub{font-size:1.1rem;line-height:1.6;color:var(--text-lo);max-width:52ch;margin-bottom:var(--spacing-xl)}.hero-cta{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.hero-trust{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.hero-visual{position:relative}.hero-panel{position:relative;background:var(--ink-800);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:var(--spacing-lg)}.hero-panel:before,.hero-panel:after{content:"";position:absolute;width:14px;height:14px;border:1px solid var(--line-signal);pointer-events:none}.hero-panel:before{top:12px;left:12px;border-right:none;border-bottom:none}.hero-panel:after{bottom:12px;right:12px;border-left:none;border-top:none}.hero-panel-head{display:flex;align-items:center;justify-content:space-between}.hero-ticks{display:flex;gap:5px}.hero-ticks i{width:8px;height:8px;border-radius:50%;background:var(--ink-700)}.hero-ticks i:first-child{background:var(--signal)}.hero-mark{display:block;width:56%;max-width:200px;margin:1.4rem auto 1.6rem}.hero-bars{display:flex;flex-direction:column;gap:.65rem}.hero-bar-row{display:flex;align-items:center;gap:.7rem}.hero-bar-label{font-size:.76rem;color:var(--text-lo);width:44%;flex-shrink:0}.hero-bar-track{flex:1;height:6px;background:var(--ink-700);border-radius:50px;overflow:hidden}.hero-bar-fill{height:100%;background:linear-gradient(90deg,var(--signal-deep),var(--signal));border-radius:50px}.hero-chip{position:absolute;display:flex;align-items:center;gap:.5rem;background:var(--ink-800);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:.6rem .9rem;font-size:.8rem;color:var(--text)}.hero-chip span{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-lo)}.hero-chip b{font-family:var(--font-display);font-size:1.15rem;color:var(--signal-deep)}.hero-chip-1{left:-22px;bottom:16%;flex-direction:column;align-items:flex-start;gap:.1rem;animation:floatY 6s ease-in-out infinite}.hero-chip-2{right:-14px;top:14%;animation:floatY 7s ease-in-out infinite .5s}.hero-chip-dot{width:8px;height:8px;border-radius:50%;background:var(--signal)}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.landing-section{width:100%;max-width:1120px;margin:0 auto;padding:clamp(2.5rem,6vw,4.5rem) var(--spacing-lg)}.section-head{text-align:center;margin-bottom:var(--spacing-2xl)}.section-head .eyebrow{justify-content:center}.section-head h2{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.6rem);font-weight:500;letter-spacing:-.02em;color:var(--text-hi);margin-top:.5rem}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:var(--spacing-lg)}.feature-card{background:var(--ink-800);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);animation:emerge .6s var(--ease-out-expo) both;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.feature-card:hover{transform:translateY(-4px);border-color:var(--line-signal);box-shadow:var(--shadow-lg)}.feature-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--radius-md);background:var(--signal-dim);color:var(--signal-deep);box-shadow:inset 0 0 0 1px var(--line-signal);margin-bottom:var(--spacing-md)}.feature-card h3{font-family:var(--font-display);font-size:1.3rem;font-weight:500;color:var(--text-hi);margin-bottom:.5rem}.feature-card p{color:var(--text-lo);line-height:1.55;font-size:.92rem}.how .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-lg)}.step{padding-top:var(--spacing-md);border-top:1px solid var(--line)}.step-n{font-family:var(--font-mono);font-size:.9rem;letter-spacing:.12em;color:var(--signal)}.step h4{font-family:var(--font-display);font-size:1.15rem;font-weight:500;color:var(--text-hi);margin:.5rem 0 .4rem}.step p{color:var(--text-lo);font-size:.88rem;line-height:1.5}.cta-band{width:calc(100% - 2 * var(--spacing-lg));max-width:1120px;margin:0 auto var(--spacing-2xl);padding:clamp(2.5rem,6vw,4rem) var(--spacing-lg);text-align:center;background:radial-gradient(620px 240px at 50% -30%,var(--signal-dim),transparent 70%),var(--ink-850);border:1px solid var(--line);border-radius:var(--radius-xl)}.cta-band .eyebrow{justify-content:center}.cta-band h2{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.6rem);font-weight:500;color:var(--text-hi);margin:.5rem 0 .6rem}.cta-band p{color:var(--text-lo);margin-bottom:var(--spacing-xl)}.hero-frame{position:relative;margin:0;border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-xl);aspect-ratio:4 / 3;background:var(--ink-800)}.hero-frame img{width:100%;height:100%;object-fit:cover;display:block}.hero-frame:before,.hero-frame:after{content:"";position:absolute;width:16px;height:16px;border:1.5px solid rgba(255,255,255,.75);pointer-events:none;z-index:1}.hero-frame:before{top:14px;left:14px;border-right:none;border-bottom:none}.hero-frame:after{bottom:14px;right:14px;border-left:none;border-top:none}.how-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,3.5rem);align-items:center}.how-figure{margin:0;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-lg);background:#000}.how-figure img{width:100%;height:100%;object-fit:cover;display:block}.how-grid .steps{grid-template-columns:1fr;gap:0}.how-grid .step{padding:var(--spacing-lg) 0}.how-grid .step:first-child{padding-top:0;border-top:none}.cta-band-image{position:relative;overflow:hidden;border:none;background:none}.cta-band-image:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,rgba(4,20,28,.9),rgba(13,148,136,.55)),url(/images/neuro.jpg) center / cover no-repeat;z-index:0}.cta-band-inner{position:relative;z-index:1}.cta-band-image h2{color:#fff}.cta-band-image p,.cta-band-image .eyebrow{color:#ffffffd9}.cta-band-image .eyebrow:before{background:rgba(255,255,255,.6)}.login-screen{position:relative}.login-back{position:absolute;top:var(--spacing-lg);left:var(--spacing-lg);display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-lo);background:transparent;border:none;cursor:pointer;transition:color var(--transition-fast)}.login-back:hover{color:var(--signal-deep)}.app-footer{position:relative;margin-top:var(--spacing-2xl);border-top:1px solid var(--line);color:var(--text-lo)}.app-footer:before{content:"";position:absolute;top:-1px;left:50%;transform:translate(-50%);width:140px;height:1px;background:linear-gradient(90deg,transparent,var(--signal),transparent)}.footer-inner{max-width:1120px;margin:0 auto;padding:var(--spacing-xl) var(--spacing-lg) .6rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-md) var(--spacing-lg)}.footer-left{display:flex;align-items:center;gap:var(--spacing-md)}.footer-logo{height:24px;width:auto;display:block;opacity:.9}.footer-copy{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;color:var(--text-faint)}.footer-nav{display:flex;align-items:center;gap:var(--spacing-lg)}.footer-nav a{font-size:.84rem;color:var(--text-lo);transition:color var(--transition-fast)}.footer-nav a:hover{color:var(--signal-deep)}.footer-note{max-width:1120px;margin:0 auto;padding:0 var(--spacing-lg) var(--spacing-xl);font-size:.74rem;color:var(--text-faint)}@media (max-width: 720px){.form-grid{grid-template-columns:1fr}.progress-info{grid-template-columns:1fr 1fr}.file-grid{grid-template-columns:1fr}.results-ref{margin-left:0}.action-buttons,.action-section{justify-content:stretch;flex-direction:column}.action-buttons button,.action-section button{width:100%}.results-header .success-banner{flex-direction:column;align-items:flex-start}.history-row{grid-template-columns:48px 1fr auto}.history-row .history-date{display:none}.history-row-head span:last-child{display:none}.patient-body{grid-template-columns:1fr}.dashboard-head{flex-direction:column}.compare-viewers{grid-template-columns:1fr}.appbar-tag{display:none}.footer-inner{flex-direction:column;align-items:flex-start}.hero{grid-template-columns:1fr}.hero-visual{order:-1;max-width:460px}.hero-chip{display:none}.how-grid{grid-template-columns:1fr}.landing-nav-links a{display:none}}@media (max-width: 480px){.progress-info{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}.user-name,.logout-label{display:none}.logout-btn{padding:.4rem .55rem}.appbar-logo{height:26px}.how .steps{grid-template-columns:1fr}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--ink-950: #e3e8ee;--ink-900: #e9edf2;--ink-850: #f1f5f9;--ink-800: #ffffff;--ink-750: #eef2f7;--ink-700: #dbe2ea;--ink-650: #cdd6e0;--line: rgba(15, 23, 42, .08);--line-strong: rgba(15, 23, 42, .16);--line-signal: rgba(13, 148, 136, .38);--signal: #0d9488;--signal-bright: #14b8a6;--signal-deep: #0f766e;--signal-glow: rgba(13, 148, 136, .22);--signal-dim: rgba(13, 148, 136, .1);--amber: #c2710c;--amber-dim: rgba(217, 119, 6, .13);--coral: #e11d48;--coral-text: #9f1239;--coral-dim: rgba(225, 29, 72, .09);--text-hi: #0f1a26;--text: #475569;--text-lo: #64748b;--text-faint: #94a3b8;--font-display: "Fraunces", Georgia, "Times New Roman", serif;--font-ui: "Archivo", system-ui, -apple-system, sans-serif;--font-mono: "Spline Sans Mono", ui-monospace, "SFMono-Regular", monospace;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: 4px;--radius-md: 7px;--radius-lg: 11px;--radius-xl: 16px;--transition-fast: .14s cubic-bezier(.4, 0, .2, 1);--transition-base: .24s cubic-bezier(.4, 0, .2, 1);--transition-slow: .42s cubic-bezier(.16, 1, .3, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--primary-color: var(--signal);--primary-hover: var(--signal-bright);--primary-light: var(--signal-bright);--primary-dark: var(--signal-deep);--secondary-color: var(--signal);--accent-color: var(--signal-bright);--accent-light: var(--signal-bright);--danger-color: var(--coral);--warning-color: var(--amber);--success-color: var(--signal);--success-light: var(--signal-bright);--bg-primary: var(--ink-800);--bg-secondary: var(--ink-900);--bg-tertiary: var(--ink-750);--text-primary: var(--text-hi);--text-secondary: var(--text);--text-tertiary: var(--text-lo);--border-color: var(--line-strong);--border-light: var(--line);--gray-300: var(--text);--gray-400: var(--text-lo);--font-sans: var(--font-ui);--font-heading: var(--font-display);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 6px 18px rgba(15, 23, 42, .08);--shadow-lg: 0 18px 50px rgba(15, 23, 42, .1);--shadow-xl: 0 28px 70px rgba(15, 23, 42, .12);--animation-duration: .6s;--animation-timing: var(--ease-out-expo)}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-ui);font-size:1rem;line-height:1.55;color:var(--text);background-color:var(--ink-900);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01","cv01"}html:before{content:"";position:fixed;top:-12%;right:-12%;bottom:-12%;left:-12%;z-index:0;pointer-events:none;background:radial-gradient(880px 520px at 72% -8%,rgba(45,212,191,.13),transparent 60%),radial-gradient(720px 460px at 8% 2%,rgba(99,102,241,.08),transparent 55%),radial-gradient(620px 520px at 96% 70%,rgba(45,212,191,.06),transparent 60%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 46%,transparent 88%);mask-image:linear-gradient(180deg,#000 0%,#000 46%,transparent 88%);animation:auroraDrift 34s ease-in-out infinite alternate;will-change:transform}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:linear-gradient(transparent 0 39px,var(--line) 39px 40px),linear-gradient(90deg,transparent 0 39px,var(--line) 39px 40px);background-size:40px 40px,40px 40px;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 38%,transparent 78%);mask-image:linear-gradient(180deg,#000 0%,#000 38%,transparent 78%)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}#root{position:relative;z-index:1}code,kbd,samp{font-family:var(--font-mono)}h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--font-display);font-weight:500;line-height:1.08;letter-spacing:-.015em;color:var(--text-hi);font-optical-sizing:auto}h1{font-size:clamp(2.6rem,6vw,4rem)}h2{font-size:clamp(1.9rem,4vw,2.6rem)}h3{font-size:1.5rem}h4{font-size:1.1rem}h5{font-size:1rem}h6{font-size:.9rem}p{margin:0}.eyebrow{display:inline-flex;align-items:center;gap:.55em;font-family:var(--font-mono);font-size:.7rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--text-lo)}.eyebrow:before{content:"";width:1.6em;height:1px;background:var(--line-signal)}a{color:var(--signal);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--signal-bright)}button{font-family:var(--font-ui);font-size:inherit;cursor:pointer;border:none;outline:none;transition:all var(--transition-base)}button:disabled{cursor:not-allowed;opacity:.45}.btn-primary{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6em;background:var(--signal);color:#fff;padding:.7rem 1.4rem;border-radius:var(--radius-md);font-weight:600;letter-spacing:.01em;box-shadow:0 0 0 1px var(--line-signal),0 8px 24px -8px var(--signal-glow);overflow:hidden;transition:transform .18s var(--ease-out-expo),box-shadow .25s ease,background .2s ease}.btn-primary:after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skew(-18deg);pointer-events:none}.btn-primary:hover:not(:disabled){background:var(--signal-deep);box-shadow:0 0 0 1px var(--signal-deep),0 14px 34px -8px var(--signal-glow);transform:translateY(-2px)}.btn-primary:hover:not(:disabled):after{animation:btnSheen .7s var(--ease-out-expo)}.btn-primary:active:not(:disabled){transform:translateY(0) scale(.985)}@keyframes btnSheen{0%{left:-120%}to{left:130%}}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.6em;background:transparent;color:var(--text-hi);padding:.7rem 1.4rem;border-radius:var(--radius-md);font-weight:600;box-shadow:inset 0 0 0 1px var(--line-strong);transition:transform .18s var(--ease-out-expo),box-shadow .25s ease,background .2s ease}.btn-secondary:hover:not(:disabled){box-shadow:inset 0 0 0 1px var(--text-lo);background:rgba(15,23,42,.03);transform:translateY(-2px)}.btn-secondary:active:not(:disabled){transform:translateY(0) scale(.985)}.btn-danger{background:var(--coral);color:#fff;padding:.7rem 1.4rem;border-radius:var(--radius-md);font-weight:600}.btn-large{padding:.95rem 2rem;font-size:1.02rem}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=datetime-local],textarea,select{width:100%;padding:.6rem .8rem;background:var(--ink-900);border:1px solid var(--line-strong);border-radius:var(--radius-md);font-family:var(--font-ui);font-size:.95rem;color:var(--text-hi);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input::placeholder{color:var(--text-faint)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--signal);box-shadow:0 0 0 3px var(--signal-dim)}input[type=date],input[type=datetime-local]{color-scheme:light}input[type=checkbox],input[type=radio]{width:1.05rem;height:1.05rem;cursor:pointer;accent-color:var(--signal)}.container{max-width:1120px;margin:0 auto;padding:0 var(--spacing-lg)}.text-center{text-align:center}.spinner{width:38px;height:38px;border:2px solid var(--line-strong);border-top-color:var(--signal);border-radius:50%;animation:spin .9s linear infinite;margin:0 auto}.spinner-small{display:inline-block;width:15px;height:15px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;vertical-align:-2px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes riseIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes dropIn{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes pulseDot{0%,to{opacity:1;box-shadow:0 0 0 0 var(--signal-glow)}50%{opacity:.55;box-shadow:0 0 0 5px transparent}}@keyframes sheen{0%{transform:translate(-120%)}to{transform:translate(220%)}}@keyframes scan{0%{transform:translateY(-100%)}to{transform:translateY(900%)}}@keyframes auroraDrift{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(-2.2%,1.6%,0) scale(1.06)}to{transform:translate3d(2%,-1.2%,0) scale(1.03)}}@keyframes emerge{0%{opacity:0;transform:translateY(14px);filter:blur(6px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.animate-fade-in{animation:fadeIn var(--animation-duration) var(--animation-timing) both}.animate-fade-in-up{animation:riseIn var(--animation-duration) var(--animation-timing) both}.animate-fade-in-down{animation:dropIn var(--animation-duration) var(--animation-timing) both}.animate-scale-in{animation:scaleIn var(--animation-duration) var(--animation-timing) both}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media (max-width: 768px){html{font-size:15px}.container{padding:0 var(--spacing-md)}}@media (max-width: 480px){html{font-size:14px}.container{padding:0 var(--spacing-sm)}}
