@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--bg-base:#060b18;--bg-surface:#0d1526;--bg-elevated:#131d33;--bg-card:#131d33d9;--accent-primary:#00d4aa;--accent-blue:#3d8eff;--accent-coral:#ff6b6b;--accent-amber:#ffb84d;--accent-purple:#9b6fff;--text-primary:#f0f4ff;--text-secondary:#8a9bbd;--text-dim:#506282;--border-subtle:#ffffff0f;--border-medium:#ffffff1f;--border-accent:#00d4aa4d;--glass-bg:#0d1526b3;--glass-border:#ffffff14;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--shadow-card:0 4px 32px #0006, 0 1px 0 #ffffff0d;--shadow-glow:0 0 40px #00d4aa26}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}.texture-overlay{z-index:9999;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");position:absolute;inset:0}body{background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Outfit,-apple-system,sans-serif}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:0 0;border-radius:4px;transition:background .2s}:hover::-webkit-scrollbar-thumb{background:var(--text-dim)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}h1,h2,h3,h4{letter-spacing:-.03em;font-family:Outfit,sans-serif;line-height:1.1}.metric-massive{letter-spacing:-.05em;color:var(--text-primary);font-family:Outfit,sans-serif;font-size:3.5rem;font-weight:700;line-height:1}.text-gradient{background:linear-gradient(135deg, var(--accent-primary), var(--accent-blue));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.app-shell{background:var(--bg-base);width:100vw;height:100vh;position:relative;overflow:hidden}.global-map-layer{z-index:1;transition:opacity .5s;position:absolute;inset:0}.map-dimmed{opacity:.15;filter:blur(8px);pointer-events:none}.app-header{-webkit-backdrop-filter:blur(28px);border:1px solid var(--border-subtle);z-index:50;background:#0d152673;border-radius:16px;justify-content:space-between;align-items:center;height:60px;padding:0 24px;display:flex;position:absolute;top:16px;left:88px;right:16px;box-shadow:0 8px 32px #00000080,inset 0 1px 1px #ffffff26,inset 0 -1px 1px #0006}.header-left{flex:1;align-items:center;gap:16px;display:flex}.app-header .logo{color:var(--text-primary);align-items:center;gap:10px;font-family:Outfit,sans-serif;font-size:18px;font-weight:700;text-decoration:none;display:flex}.logo-icon{object-fit:cover;border-radius:8px;width:32px;height:32px;box-shadow:0 0 20px #00d4aa66}.header-divider{background:var(--border-medium);width:1px;height:16px}.header-breadcrumb{color:var(--text-secondary);letter-spacing:.02em;align-items:center;gap:8px;font-family:Outfit,sans-serif;font-size:14px;font-weight:500;display:flex}.breadcrumb-icon{filter:grayscale(.5)contrast(1.2);font-size:14px}.header-right{flex:1;justify-content:flex-end;align-items:center;gap:16px;display:flex}.status-badge{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:flex}.status-dot{background:var(--accent-primary);width:7px;height:7px;box-shadow:0 0 6px var(--accent-primary);border-radius:50%;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.side-nav{-webkit-backdrop-filter:blur(28px);border:1px solid var(--border-subtle);z-index:50;background:#0d152673;border-radius:16px;flex-direction:column;align-items:center;gap:12px;width:60px;padding:24px 0;display:flex;position:absolute;top:16px;bottom:16px;left:16px;box-shadow:0 8px 32px #00000080}.nav-icon-btn{border-radius:var(--radius-sm);cursor:pointer;width:40px;height:40px;color:var(--text-dim);background:0 0;border:none;justify-content:center;align-items:center;font-size:18px;transition:all .15s;display:flex}.nav-icon-btn:hover{background:var(--border-subtle);color:var(--text-primary)}.nav-icon-btn.active{color:var(--accent-primary);background:#00d4aa1f}.map-page-overlays{z-index:10;pointer-events:none;position:absolute;inset:0}.left-panel{-webkit-backdrop-filter:blur(32px);border:1px solid var(--border-subtle);pointer-events:auto;background:#0d15268c;border-radius:16px;width:320px;animation:.6s cubic-bezier(.16,1,.3,1) floatInLeft;display:block;position:absolute;top:92px;bottom:16px;left:88px;overflow:hidden auto;box-shadow:0 16px 40px #0009}@keyframes floatInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:none}}.panel-header{border-bottom:1px solid var(--border-subtle);flex-shrink:0;padding:16px 16px 12px}.panel-title{color:var(--text-primary);letter-spacing:-.01em;margin-bottom:2px;font-family:Outfit,sans-serif;font-size:14px;font-weight:700}.panel-subtitle{color:var(--text-dim);font-size:11px}.panel-body{flex-direction:column;gap:8px;padding:0 12px 24px;display:flex}.panel-footer{border-top:1px solid var(--border-subtle);background:#060b1866;flex-direction:column;gap:8px;padding:16px;display:flex}.map-container{width:100%;height:100%;position:relative;overflow:hidden}.map-svg{width:100%;height:100%;position:absolute;inset:0}.county-path{stroke:#ffffff0a;stroke-width:.3px;cursor:pointer;transition:stroke .1s,stroke-width .1s,filter .1s}.county-path:hover{stroke:#fff9;stroke-width:1.2px;filter:brightness(1.25)}.state-mesh{fill:none;stroke:#ffffff26;stroke-width:.8px;pointer-events:none}.right-panel{-webkit-backdrop-filter:blur(32px);border:1px solid var(--border-subtle);pointer-events:auto;background:#0d15268c;border-radius:16px;flex-direction:column;width:340px;animation:.6s cubic-bezier(.16,1,.3,1) floatInRight;display:flex;position:absolute;top:92px;bottom:16px;right:16px;overflow:hidden;box-shadow:0 16px 40px #0009}@keyframes floatInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:none}}.card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff05;padding:12px}.card-glass{border-radius:var(--radius-md);background:#ffffff08;border:1px solid #ffffff0d}.intervention-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;background:#ffffff05;align-items:flex-start;gap:10px;padding:10px 12px;transition:all .15s;display:flex}.intervention-card:hover{border-color:var(--border-medium);background:#ffffff0d;transform:translate(2px)}.intervention-card.active{border-color:var(--accent-primary);background:#00d4aa0f}.intervention-icon{background:var(--bg-card);border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:18px;display:flex}.intervention-name{color:var(--text-primary);font-size:13px;font-weight:500;line-height:1.3}.intervention-meta{color:var(--text-dim);margin-top:2px;font-size:11px}.intervention-badge{border-radius:99px;align-items:center;gap:3px;padding:1px 6px;font-size:10px;font-weight:500;display:inline-flex}.badge-preventive{color:var(--accent-primary);background:#00d4aa26}.badge-behavioral{color:var(--accent-blue);background:#3d8eff26}.badge-environmental{color:var(--accent-purple);background:#9b6fff26}.badge-access{color:var(--accent-amber);background:#ffb84d26}.badge-education{color:var(--accent-coral);background:#ff6b6b26}.active-intervention{border-radius:var(--radius-md);background:#00d4aa0f;border:1px solid #00d4aa33;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.active-int-header{align-items:center;gap:8px;display:flex}.remove-btn{width:22px;height:22px;color:var(--accent-coral);cursor:pointer;background:#ff6b6b26;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;font-size:14px;transition:background .15s;display:flex}.remove-btn:hover{background:#ff6b6b4d}.slider-row{flex-direction:column;gap:4px;display:flex}.slider-label{color:var(--text-secondary);justify-content:space-between;font-size:11px;display:flex}.slider-label span{color:var(--text-primary);font-weight:500}input[type=range]{appearance:none;background:var(--bg-base);border-radius:2px;outline:none;width:100%;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent-primary);cursor:pointer;border-radius:50%;width:14px;height:14px;box-shadow:0 0 8px #00d4aa80}input[type=range]::-webkit-slider-runnable-track{border-radius:2px;height:4px}select{background:var(--bg-base);border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;outline:none;width:100%;padding:6px 10px;font-family:inherit;font-size:12px}select:focus{border-color:var(--accent-primary)}.btn{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.btn-primary{background:var(--accent-primary);color:#060b18;box-shadow:0 0 20px #00d4aa4d}.btn-primary:hover{background:#00eabd;transform:translateY(-1px);box-shadow:0 0 28px #00d4aa80}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border-medium);background:0 0}.btn-ghost:hover{color:var(--text-primary);border-color:var(--border-accent);background:#00d4aa0d}.btn-danger{color:var(--accent-coral);background:#ff6b6b26;border:1px solid #ff6b6b33}.btn-danger:hover{background:#ff6b6b40}.btn-sm{padding:5px 10px;font-size:12px}.btn-full{width:100%}.metrics-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.metric-tile{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:10px 12px}.metric-tile-value{color:var(--text-primary);margin-bottom:4px;font-family:Space Grotesk,sans-serif;font-size:22px;font-weight:700;line-height:1}.metric-tile-label{color:var(--text-dim);font-size:11px;line-height:1.3}.metric-tile-change{margin-top:6px;font-size:12px;font-weight:600}.change-positive{color:var(--accent-primary)}.change-negative{color:var(--accent-coral)}.change-neutral{color:var(--text-secondary)}.map-legend{border:1px solid var(--glass-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#060b1899;flex-direction:column;align-items:stretch;gap:10px;width:clamp(220px,28vw,320px);padding:12px 14px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.legend-bar{border-radius:999px;width:100%;height:10px;overflow:hidden}.legend-labels{justify-content:space-between;align-items:flex-start;gap:10px;margin-top:8px;display:flex}.map-legend-copy{flex-direction:column;gap:4px;display:flex}.map-legend-title{color:var(--text-primary);font-size:12px;font-weight:600;line-height:1.3}.map-legend-caption{color:var(--text-dim);font-size:11px;line-height:1.45}.legend-scale{flex-direction:column;display:flex}.legend-label-group{flex-direction:column;gap:3px;min-width:0;display:flex}.legend-label-group small{color:var(--text-dim);font-size:10px;line-height:1.3}.legend-label-group strong{color:var(--text-secondary);font-size:11px;font-weight:600}.legend-label-group-center{text-align:center;align-items:center}.legend-label-group-end{text-align:right;align-items:flex-end}.map-controls{flex-direction:column;gap:8px;display:flex;position:absolute;bottom:24px;right:380px}.map-control-group{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;display:flex;overflow:hidden}.map-control-btn{cursor:pointer;color:var(--text-secondary);text-align:left;border:none;border-bottom:1px solid var(--border-subtle);white-space:nowrap;background:0 0;padding:8px 12px;font-size:12px;font-weight:500;transition:all .1s}.map-control-btn:last-child{border-bottom:none}.map-control-btn:hover{color:var(--text-primary);background:#ffffff0d}.map-control-btn.active{color:var(--accent-primary);background:#00d4aa14}.map-mode-pill{border:1px solid var(--glass-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#060b1899;gap:4px;padding:4px;display:flex;position:absolute;bottom:24px;left:440px}.mode-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:99px;padding:5px 10px;font-size:11px;font-weight:500;transition:all .15s}.mode-btn.active{background:var(--accent-primary);color:#060b18}.map-tooltip{pointer-events:none;z-index:1000;background:var(--bg-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-md);max-width:240px;padding:10px 14px;transition:opacity .1s;position:absolute;box-shadow:0 8px 32px #0009}.tooltip-title{color:var(--text-primary);margin-bottom:6px;font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:600}.tooltip-row{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:11px;line-height:1.8;display:flex}.tooltip-val{color:var(--text-primary);font-weight:500}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:radial-gradient(circle,#060b1829,#060b1875);justify-content:center;align-items:center;padding:56px 24px 32px 100px;display:flex;position:fixed;inset:0}.modal{background:var(--bg-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-xl);width:100%;max-width:560px;max-height:80vh;box-shadow:var(--shadow-card);padding:22px;overflow-y:auto}.modal-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.modal-header-copy{flex-direction:column;gap:6px;display:flex}.modal-header-tags{flex-wrap:wrap;gap:8px;display:flex}.modal-context-chip{color:var(--text-secondary);background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;align-items:center;padding:5px 10px;font-size:11px;display:inline-flex}.modal-context-chip.active{color:var(--accent-primary);background:#00d4aa1f;border-color:#00d4aa47}.modal-context-summary{color:var(--text-secondary);background:linear-gradient(#0a111ff0,#0d1828d6);border:1px solid #ffffff0f;border-radius:14px;padding:14px 16px;font-size:13px;line-height:1.65}.modal-close{border:1px solid var(--border-medium);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;transition:all .15s;display:flex}.modal-close:hover{background:var(--border-subtle);color:var(--text-primary)}.ai-panel{flex-direction:column;height:100%;display:flex}.ai-content{color:var(--text-secondary);flex:1;padding:16px;font-size:13px;line-height:1.7;overflow-y:auto}.ai-content strong,.ai-content b{color:var(--text-primary)}.ai-typing-cursor{background:var(--accent-primary);vertical-align:middle;width:2px;height:14px;margin-left:2px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.ai-placeholder{height:100%;color:var(--text-dim);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex}.ai-placeholder-icon{opacity:.4;font-size:36px}.section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:8px;font-size:11px;font-weight:600}.tab-group{background:var(--bg-base);border-radius:var(--radius-sm);gap:2px;padding:4px;display:flex}.tab-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:1;padding:5px 8px;font-size:11px;font-weight:500;transition:all .15s}.tab-btn.active{background:var(--bg-elevated);color:var(--text-primary);box-shadow:0 1px 4px #0000004d}.loading-bar{background:linear-gradient(90deg, transparent, var(--accent-primary), transparent);background-size:200% 100%;border-radius:1px;height:2px;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.spinner{border:2px solid var(--border-medium);border-top-color:var(--accent-primary);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.impact-bar-row{border:1px solid #0000;border-radius:12px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;transition:background .16s,border-color .16s;display:flex}.impact-bar-row-active{background:#00d4aa14;border:1px solid #00d4aa29}.impact-bar-label{width:148px;color:var(--text-secondary);flex-shrink:0;font-size:11px}.impact-bar-track{background:var(--bg-base);border-radius:3px;flex:1;height:6px;overflow:hidden}.impact-bar-fill{border-radius:3px;height:100%;transition:width .5s}.impact-bar-fill-active{box-shadow:0 0 16px #00d4aa2e}.impact-bar-val{width:74px;color:var(--text-primary);text-align:right;font-size:11px;font-weight:600}.bar-positive,.bar-negative{background:linear-gradient(90deg,#60b8ffb3,#60b8ff73)}.objective-input{background:var(--bg-base);border:1px solid var(--border-medium);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);resize:none;outline:none;padding:8px 10px;font-family:inherit;font-size:12px;line-height:1.5}.objective-input:focus{border-color:var(--accent-primary)}.objective-input::placeholder{color:var(--text-dim)}.equity-gauge{flex-direction:column;align-items:center;gap:4px;display:flex}.gauge-value{font-family:Space Grotesk,sans-serif;font-size:28px;font-weight:700}.gauge-label{color:var(--text-dim);font-size:11px}.page-full{-webkit-backdrop-filter:blur(32px);border:1px solid var(--border-subtle);z-index:50;background:#0d15268c;border-radius:16px;flex-direction:column;gap:24px;padding:32px;animation:.4s fadeIn;display:flex;position:absolute;inset:92px 16px 16px 88px;overflow:auto;box-shadow:0 16px 40px #0009}.page-full-flush{-webkit-backdrop-filter:blur(32px);border:1px solid var(--border-subtle);z-index:50;background:#0d15268c;border-radius:16px;flex-direction:column;padding:0;animation:.4s fadeIn;display:flex;position:absolute;inset:92px 16px 16px 88px;overflow:hidden;box-shadow:0 16px 40px #0009}input[type=text],input[type=number]{background:var(--bg-base);border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-primary);outline:none;width:100%;padding:7px 10px;font-family:inherit;font-size:13px}input[type=text]:focus,input[type=number]:focus{border-color:var(--accent-primary)}.custom-checkbox{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.custom-checkbox input{display:none}.custom-checkbox .box{border:1.5px solid var(--border-medium);background:var(--bg-base);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;transition:all .15s;display:flex}.custom-checkbox input:checked+.box{background:var(--accent-primary);border-color:var(--accent-primary);color:#060b18}.radio-pills{flex-wrap:wrap;gap:4px;display:flex}.radio-pill{border:1px solid var(--border-medium);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:99px;padding:4px 10px;font-size:11px;font-weight:500;transition:all .15s}.radio-pill.active{border-color:var(--accent-primary);color:var(--accent-primary);background:#00d4aa1a}.divider{background:var(--border-subtle);height:1px;margin:4px 0}.scroll-y{flex:1;overflow-y:auto}.fade-in{animation:.3s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.num-large{font-family:Space Grotesk,sans-serif;font-size:20px;font-weight:700}.num-accent{color:var(--accent-primary)}@media (width<=1280px){.left-panel{width:300px;left:80px}.right-panel{width:300px}.map-mode-pill{left:400px}.map-controls{right:340px}}.individual-page{grid-template-columns:380px 1fr;height:100%;display:grid;overflow:hidden}.patient-form-panel{border-right:1px solid var(--border-subtle);background:#060b1899;flex-direction:column;display:flex;position:relative;overflow:hidden}.patient-form-scroll{flex-direction:column;flex:1;padding-bottom:24px;display:flex;overflow:hidden auto}.patient-form-bottom{border-top:1px solid var(--border-subtle);z-index:2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#060b18f2;padding:16px 20px}.patient-form-header{border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:2;background:#060b18eb;justify-content:space-between;align-items:flex-start;gap:12px;padding:24px 20px 16px;display:flex;position:sticky;top:0}.patient-form-title{color:var(--text-primary);letter-spacing:-.02em;margin:0 0 4px;font-family:Outfit,sans-serif;font-size:18px;font-weight:700}.patient-form-subtitle{color:var(--text-dim);margin:0;font-size:12px;line-height:1.5}.btn-mock{color:var(--accent-primary);cursor:pointer;white-space:nowrap;background:#00d4aa1a;border:1px solid #00d4aa40;border-radius:8px;flex-shrink:0;padding:6px 12px;font-family:Outfit,sans-serif;font-size:12px;font-weight:600;transition:all .15s}.btn-mock:hover{background:#00d4aa2e}.form-section{border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:12px;padding:16px 20px;display:flex}.form-label{letter-spacing:.12em;color:var(--text-dim);text-transform:uppercase;font-size:10px;font-weight:700}.form-grid-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form-grid-3{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}.form-field{flex-direction:column;gap:5px;display:flex}.autocomplete-dropdown{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--accent-primary);z-index:50;background:#060b18f2;border-radius:8px;width:100%;max-height:220px;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 12px 32px #0009}.autocomplete-item{cursor:pointer;color:var(--text-primary);border-bottom:1px solid #ffffff0d;padding:10px 14px;font-size:13px;transition:background .15s}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item:hover{background:#00d4aa26}.field-label{color:var(--text-secondary);font-size:11px;font-weight:500}.field-input{border:1px solid var(--border-subtle);color:var(--text-primary);box-sizing:border-box;background:#ffffff0a;border-radius:8px;outline:none;width:100%;padding:8px 10px;font-family:Outfit,sans-serif;font-size:13px;transition:border-color .15s}.field-input:focus{border-color:#00d4aa66}.field-input::placeholder{color:var(--text-dim)}.field-textarea{resize:vertical;min-height:60px}.field-textarea-tall{min-height:120px}.sex-pills{gap:6px;display:flex}.sex-pill{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;background:#ffffff08;border-radius:8px;flex:1;padding:7px;font-family:Outfit,sans-serif;font-size:12px;font-weight:500;transition:all .15s}.sex-pill.active{color:var(--accent-primary);background:#00d4aa1a;border-color:#00d4aa59}.bmi-badge{color:var(--text-secondary);border:1px solid var(--border-subtle);background:#ffffff0a;border-radius:6px;align-items:center;gap:8px;padding:4px 10px;font-size:12px;display:inline-flex}.bmi-label{border-radius:4px;padding:1px 6px;font-size:11px;font-weight:700}.bmi-normal{color:var(--accent-primary);background:#00d4aa26}.bmi-overweight{color:#ff9b3d;background:#ff9b3d26}.bmi-obese{color:#ff5757;background:#ff575726}.smoker-toggle{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:flex}.smoker-toggle input{display:none}.smoker-box{border:1px solid var(--border-medium);background:#ffffff08;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;transition:all .15s;display:flex}.smoker-box.active{border-color:var(--accent-primary);color:var(--accent-primary);background:#00d4aa26}.upload-zone{border:1.5px dashed var(--border-medium);cursor:pointer;text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:18px;transition:all .2s;display:flex}.upload-zone:hover{background:#00d4aa0a;border-color:#00d4aa66}.upload-icon{opacity:.7;font-size:24px}.upload-text{color:var(--text-secondary);font-size:13px;font-weight:600}.upload-sub{color:var(--text-dim);font-size:11px}.timeline-error{color:#ff8080;background:#ff57571a;border:1px solid #ff57574d;border-radius:8px;margin:0 20px;padding:10px 14px;font-size:12px}.btn-generate{background:linear-gradient(135deg, var(--accent-primary), var(--accent-blue));color:var(--bg-base);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin:8px 20px 0;padding:14px;font-family:Outfit,sans-serif;font-size:14px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 20px #00d4aa4d}.btn-generate:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 28px #00d4aa66}.btn-generate:disabled{opacity:.7;cursor:not-allowed}.btn-spinner{border:2px solid #0003;border-top-color:var(--bg-base);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite spin}.timeline-panel{flex-direction:column;height:100%;display:flex;overflow:hidden auto}.timeline-empty{text-align:center;color:var(--text-dim);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:40px;display:flex}.timeline-empty-icon{opacity:.25;filter:grayscale();font-size:56px}.timeline-empty-title{color:var(--text-secondary);font-family:Outfit,sans-serif;font-size:18px;font-weight:600}.timeline-empty-sub{color:var(--text-dim);max-width:440px;font-size:13px;line-height:1.7}.btn-mock-large{color:var(--accent-primary);cursor:pointer;background:#00d4aa1a;border:1px solid #00d4aa4d;border-radius:10px;margin-top:8px;padding:12px 24px;font-family:Outfit,sans-serif;font-size:14px;font-weight:600;transition:all .15s}.btn-mock-large:hover{background:#00d4aa2e;transform:translateY(-1px)}.timeline-loading{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;display:flex}.loading-orb{border:3px solid #00d4aa26;border-top-color:var(--accent-primary);border-radius:50%;width:56px;height:56px;animation:1s linear infinite spin;box-shadow:0 0 24px #00d4aa4d}.loading-title{color:var(--text-primary);font-family:Outfit,sans-serif;font-size:16px;font-weight:600}.loading-sub{color:var(--text-dim);text-align:center;max-width:360px;font-size:13px;line-height:1.6}.timeline-header{border-bottom:1px solid var(--border-subtle);flex-shrink:0;padding:20px 24px 12px}.avoided-badge{color:var(--accent-primary);background:#00d4aa1f;border:1px solid #00d4aa4d;border-radius:99px;padding:2px 8px;font-size:11px;font-weight:600}.intervention-strip{border-bottom:1px solid var(--border-subtle);background:#00000026;flex-direction:column;flex-shrink:0;gap:10px;padding:12px 24px;display:flex}.intervention-strip-label{letter-spacing:.12em;color:var(--text-dim);text-transform:uppercase;font-size:10px;font-weight:700}.intervention-chips{flex-wrap:wrap;gap:6px;display:flex}.intervention-chip{border:1px solid var(--border-medium);color:var(--text-secondary);cursor:pointer;background:#ffffff08;border-radius:99px;padding:5px 12px;font-family:Outfit,sans-serif;font-size:12px;font-weight:500;transition:all .15s}.intervention-chip:hover{color:var(--text-primary);border-color:#00d4aa4d}.intervention-chip.active{color:var(--accent-primary);background:#00d4aa1f;border-color:#00d4aa66;font-weight:600}.btn-reevaluate{color:var(--accent-primary);cursor:pointer;background:#00d4aa26;border:1px solid #00d4aa66;border-radius:8px;align-self:flex-start;align-items:center;gap:8px;padding:8px 18px;font-family:Outfit,sans-serif;font-size:13px;font-weight:600;transition:all .15s;animation:.2s fadeIn;display:flex}.btn-reevaluate:hover:not(:disabled){background:#00d4aa38}.btn-reevaluate:disabled{opacity:.6;cursor:not-allowed}.btn-spinner-sm{border-width:1.5px;width:12px;height:12px}.timeline-scroll{flex:1;padding:20px 24px 40px;overflow-y:auto}.timeline-track{flex-direction:column;gap:0;max-width:760px;display:flex}.timeline-era-label{letter-spacing:.14em;color:var(--text-dim);text-transform:uppercase;padding:16px 0 8px 36px;font-size:10px;font-weight:700}.timeline-now-label{color:var(--accent-primary)}.timeline-future-label{color:#ff9b3d}.timeline-card{border:1px solid;border-radius:12px;margin-bottom:10px;transition:transform .15s,box-shadow .15s;animation:.35s both fadeIn;display:flex;overflow:hidden}.timeline-card:hover{transform:translate(2px);box-shadow:0 4px 20px #0000004d}.timeline-card-avoided{opacity:.7}.timeline-card-side{flex-direction:column;flex-shrink:0;align-items:center;width:36px;padding:14px 0 0;display:flex}.timeline-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.timeline-line{background:#ffffff0f;flex:1;width:1.5px;margin-top:6px}.timeline-header{justify-content:space-between;align-items:flex-start;gap:20px;padding:24px 32px 16px;display:flex}.timeline-patient-name{color:var(--text-primary);letter-spacing:-.02em;margin:0;font-family:Outfit,sans-serif;font-size:22px;font-weight:700}.timeline-patient-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 0;font-size:13px;display:flex}.timeline-card-body{flex-direction:column;flex:1;gap:5px;padding:12px 14px;display:flex}.timeline-canvas-wrapper{-webkit-user-select:none;user-select:none;border-top:1px solid var(--border-subtle);background:radial-gradient(circle,#10183066,#040814f2);flex:1;position:relative;overflow:hidden}.timeline-grid-animated{animation:40s linear infinite panGrid}@keyframes panGrid{0%{transform:translate(0)}to{transform:translate(-40px)}}.timeline-inner-canvas{will-change:transform;height:100%;transition:none;position:absolute;top:0}.era-labels{pointer-events:none;z-index:10;justify-content:space-between;padding:0 24px;display:flex;position:absolute;top:14px;left:0;right:0}.era-label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);font-size:10px;font-weight:700}.era-label-now{color:var(--accent-primary)}.era-label-future{color:#ff9b3d}.timeline-node-wrap{cursor:pointer;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute}.node-circle{border-radius:50%;flex-shrink:0;transition:transform .15s,box-shadow .15s;position:relative}.node-present{animation:2.5s ease-in-out infinite present-pulse}@keyframes present-pulse{0%,to{box-shadow:0 0 8px #00d4aa66,0 0 #00d4aa33}50%{box-shadow:0 0 18px #00d4aab3,0 0 0 8px #00d4aa0d}}.node-pulse-ring{opacity:0;border:1.5px solid;border-radius:50%;animation:2.5s ease-in-out infinite ring-pulse;position:absolute;inset:-6px}.node-pulse-ring-1{animation-delay:0s}.node-pulse-ring-2{animation-delay:1.25s}@keyframes ring-pulse{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}.node-triangle{cursor:pointer;transition:transform .15s;position:relative}.node-triangle:hover{transform:scale(1.15)}.node-age-label{letter-spacing:.04em;white-space:nowrap;margin-top:2px;font-family:Outfit,sans-serif;font-size:11px;font-weight:700}.node-avoided-ribbon{letter-spacing:.1em;color:var(--accent-primary);white-space:nowrap;z-index:5;background:#00d4aa1f;border:1px solid #00d4aa4d;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700;position:absolute;top:-20px;left:50%;transform:translate(-50%)}.timeline-scroll-hint{color:var(--text-dim);letter-spacing:.08em;pointer-events:none;opacity:.5;font-size:11px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.timeline-tooltip{z-index:100;pointer-events:none;border:1px solid;border-radius:16px;width:320px;animation:.25s cubic-bezier(.16,1,.3,1) both tooltipIn;position:absolute}.tooltip-glass-surface{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:linear-gradient(135deg,#060a18f2,#0c1224d9);border-radius:16px;position:absolute;inset:0}.tooltip-content-wrapper{z-index:1;padding:18px 20px;position:relative}@keyframes tooltipIn{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:none}}.tooltip-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.tooltip-type-badge{letter-spacing:.1em;text-transform:uppercase;border:1px solid;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:800}.tooltip-age{color:var(--text-dim);font-size:11px}.tooltip-title{letter-spacing:-.01em;margin-bottom:6px;font-family:Outfit,sans-serif;font-size:14px;font-weight:700;line-height:1.3}.tooltip-desc{color:var(--text-secondary);font-size:12px;line-height:1.55}.tooltip-risk-note{color:var(--text-dim);background:#ff9b3d0f;border:1px solid #ff9b3d26;border-radius:6px;margin-top:8px;padding:6px 8px;font-size:10px;line-height:1.4}.tooltip-tail{border-top:8px solid;border-left:8px solid #0000;border-right:8px solid #0000;width:0;height:0;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.similarity-card{border-bottom:1px solid var(--border-subtle);background:#ff9b3d0a;flex-shrink:0;align-items:center;gap:20px;padding:14px 24px;animation:.3s fadeIn;display:flex}.similarity-left{flex-shrink:0;align-items:center;gap:14px;display:flex}.similarity-score-ring{flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;display:flex;position:relative}.similarity-score-num{color:#ff9b3d;letter-spacing:-.02em;z-index:1;font-family:Outfit,sans-serif;font-size:20px;font-weight:800;position:relative}.similarity-label-block{flex-direction:column;gap:3px;display:flex}.similarity-headline{color:#ff9b3d;font-family:Outfit,sans-serif;font-size:13px;font-weight:700}.similarity-subhead{color:var(--text-secondary);max-width:200px;font-size:11px;line-height:1.45}.similarity-stats{gap:20px;margin-left:auto;display:flex}.sim-stat{flex-direction:column;align-items:center;gap:2px;display:flex}.sim-stat-val{color:var(--text-primary);font-family:Outfit,sans-serif;font-size:16px;font-weight:700}.sim-stat-label{color:var(--text-dim);text-align:center;white-space:nowrap;font-size:10px}.intervention-sim-panel{border-bottom:1px solid var(--border-subtle);background:#00d4aa08;flex-direction:column;flex-shrink:0;gap:10px;padding:12px 24px;animation:.2s fadeIn;display:flex}.btn-simulate-interventions{color:var(--accent-primary);cursor:pointer;white-space:nowrap;background:#00d4aa14;border:1px solid #00d4aa40;border-radius:8px;flex-shrink:0;padding:7px 14px;font-family:Outfit,sans-serif;font-size:12px;font-weight:600;transition:all .15s}.btn-simulate-interventions:hover{background:#00d4aa26}.timeline-card-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.timeline-age{letter-spacing:-.01em;font-family:Outfit,sans-serif;font-size:13px;font-weight:700}.timeline-year{color:var(--text-dim);font-size:11px}.timeline-type-badge{letter-spacing:.06em;text-transform:uppercase;opacity:.85;border:1px solid;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600}.timeline-category-icon{opacity:.8;font-size:13px}.timeline-severity{color:var(--text-dim);margin-left:auto;font-size:12px}.timeline-card-title{letter-spacing:-.01em;font-family:Outfit,sans-serif;font-size:14px;font-weight:600}.timeline-title-avoided{opacity:.6;text-decoration:line-through}.avoided-strike{color:var(--accent-primary);text-decoration:none}.avoided-tag{letter-spacing:.08em;color:var(--accent-primary);background:#00d4aa1f;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:700;text-decoration:none}.timeline-card-desc{color:var(--text-secondary);font-size:12px;line-height:1.6}.timeline-panel{background:radial-gradient(circle at 0 0,#3d8eff1a,#0000 26%),radial-gradient(circle at 100% 0,#00d4aa14,#0000 22%),linear-gradient(#070b16e0,#050912f5);min-width:0}.timeline-header{z-index:3;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(#0a101ed1,#0a101e73);border-bottom:1px solid #ffffff0d;padding:26px 30px 18px;position:relative}.timeline-patient-name{letter-spacing:-.04em;font-size:28px}.timeline-patient-meta{color:#cad8f7b3}.timeline-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.btn-view-context{color:#b2d8ff;cursor:pointer;white-space:nowrap;background:linear-gradient(#0f1f32eb,#07101cc2);border:1px solid #60b8ff47;border-radius:12px;flex-shrink:0;padding:11px 16px;font-family:Outfit,sans-serif;font-size:12px;font-weight:600;transition:all .15s;box-shadow:inset 0 1px #ffffff14,0 10px 30px #00000038}.btn-view-context:hover{background:linear-gradient(#12263df5,#091424cc);transform:translateY(-1px)}.btn-simulate-interventions{color:#8df7df;background:linear-gradient(#0b272ae0,#06121cb8);border:1px solid #00d4aa4d;border-radius:12px;justify-content:center;align-items:center;min-height:44px;padding:11px 16px;display:inline-flex;box-shadow:inset 0 1px #ffffff14,0 10px 30px #00000038}.btn-simulate-interventions:hover{background:linear-gradient(#0e3236f0,#08161ecc);transform:translateY(-1px)}.timeline-prevention-section{background:linear-gradient(#08111ee0,#060e18c2),radial-gradient(circle at 100% 0,#00d4aa1a,#0000 34%);border-top:1px solid #ffffff0d}.timeline-utility-bar{justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 30px 18px;display:flex}.timeline-utility-copy{flex-direction:column;gap:8px;max-width:700px;display:flex}.timeline-utility-title{letter-spacing:-.03em;color:var(--text-primary);font-family:Outfit,sans-serif;font-size:18px;font-weight:700}.timeline-utility-subtitle{color:#cad8f7ad;font-size:13px;line-height:1.6}.timeline-utility-status{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;display:flex}.timeline-utility-count{color:#93f7e2;letter-spacing:.08em;text-transform:uppercase;background:#00d4aa14;border:1px solid #00d4aa2e;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:700}.timeline-inline-intervention-panel{flex-direction:column;gap:12px;padding:0 30px 24px;display:flex}.retrospective-opportunity-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;padding:0 30px 28px;display:grid}.retrospective-opportunity-card{background:linear-gradient(#08101ef2,#050b14db),radial-gradient(circle at 100% 0,#ff9b3d1f,#0000 34%);border:1px solid #ffffff14;border-radius:20px;flex-direction:column;gap:10px;min-height:220px;padding:18px;display:flex;box-shadow:0 18px 36px #0000003d,inset 0 1px #ffffff0d}.retrospective-opportunity-topline{justify-content:space-between;align-items:center;gap:10px;display:flex}.retrospective-opportunity-anchor{letter-spacing:.08em;text-transform:uppercase;color:#cad8f79e;font-size:11px;font-weight:700}.retrospective-opportunity-priority{letter-spacing:.12em;text-transform:uppercase;border-radius:999px;align-items:center;min-height:24px;padding:0 9px;font-size:10px;font-weight:800;display:inline-flex}.retrospective-opportunity-priority-medium{color:#b7dcff;background:#60b8ff24}.retrospective-opportunity-priority-high{color:#ffd493;background:#ffb84d29}.retrospective-opportunity-priority-critical{color:#ffb0b0;background:#ff6b6b29}.retrospective-opportunity-title{letter-spacing:-.04em;color:var(--text-primary);font-size:19px;font-weight:700}.retrospective-opportunity-action{color:#e8efffdb;font-size:13px;line-height:1.65}.retrospective-opportunity-rationale{color:#cad8f7b3;border-top:1px solid #ffffff0f;margin-top:auto;padding-top:12px;font-size:12px;line-height:1.58}.similarity-card{background:linear-gradient(90deg,#ff9b3d14,#10162626 38%,#00d4aa0f);border-bottom:1px solid #ffffff0d;gap:28px;padding:18px 30px;position:relative;overflow:hidden}.similarity-card:before{content:"";pointer-events:none;background:radial-gradient(circle at 20%,#ff9b3d29,#0000 22%),radial-gradient(circle at 78%,#00d4aa1a,#0000 20%);position:absolute;inset:0}.similarity-left,.similarity-stats{z-index:1;position:relative}.similarity-score-ring{width:88px;height:88px}.similarity-score-num{font-size:24px}.similarity-headline{letter-spacing:-.03em;font-size:16px}.similarity-subhead{max-width:280px;font-size:12px}.similarity-stats{gap:28px}.sim-stat{min-width:92px}.sim-stat-val{letter-spacing:-.04em;font-size:24px}.sim-stat-label{white-space:normal;line-height:1.35}.timeline-stage-shell{flex:1;min-height:540px;position:relative;overflow:hidden}.timeline-overlay-backdrop{z-index:8;cursor:pointer;background:radial-gradient(circle at 72% 18%,#00d4aa1f,#0000 24%),linear-gradient(#02071233,#02071294);border:0;position:absolute;inset:0}.intervention-sim-panel{z-index:9;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:linear-gradient(#060e1af5,#060e18e0),radial-gradient(circle at 100% 0,#00d4aa1f,#0000 34%);border:1px solid #00d4aa38;border-radius:24px;width:min(430px,100% - 44px);max-height:calc(100% - 44px);padding:20px;position:absolute;top:22px;right:22px;overflow-y:auto;box-shadow:0 30px 80px #0000007a,0 0 40px #00d4aa14,inset 0 1px #ffffff0f}.intervention-panel-topline{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.intervention-panel-count{color:#8df7df;letter-spacing:.08em;text-transform:uppercase;background:#00d4aa17;border:1px solid #00d4aa29;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:700}.intervention-panel-title{letter-spacing:-.04em;color:var(--text-primary);font-size:18px;font-weight:700;line-height:1.15}.intervention-panel-subtitle{color:#cad8f7b3;font-size:13px;line-height:1.55}.intervention-chips{gap:10px;margin-top:18px}.intervention-chip{color:#e0e8fac2;background:#ffffff08;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:9px;padding:9px 13px;font-size:12px;font-weight:600;line-height:1.2;display:inline-flex}.intervention-chip:hover{background:#00d4aa14;border-color:#00d4aa47}.intervention-chip.active{color:#9df8e3;background:linear-gradient(#072b2eeb,#041a1ee0);border-color:#00d4aa61;box-shadow:0 10px 24px #00d4aa1f}.intervention-chip-check{background:#ffffff0f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;display:inline-flex}.intervention-chip.active .intervention-chip-check{background:#00d4aa2e}.intervention-panel-footer{flex-direction:column;align-items:flex-start;gap:14px;margin-top:20px;display:flex}.intervention-panel-note{color:#cad8f79e;font-size:12px;line-height:1.5}.btn-reevaluate{background:linear-gradient(135deg,#00d4aa2e,#3d8eff24);border-radius:12px;min-height:44px;padding:10px 18px;box-shadow:0 14px 34px #00000042}.btn-reevaluate:hover:not(:disabled){background:linear-gradient(135deg,#00d4aa3d,#3d8eff2e);transform:translateY(-1px)}.timeline-canvas-wrapper{background:radial-gradient(circle at 30% 24%,#3d8eff1f,#0000 20%),radial-gradient(circle at 68% 56%,#00d4aa1a,#0000 20%),linear-gradient(#050912e0,#03060efa);border-top:1px solid #ffffff0a;height:100%;position:relative;overflow:hidden}.timeline-stage-hud{z-index:6;pointer-events:none;justify-content:space-between;align-items:flex-start;gap:20px;display:flex;position:absolute;top:18px;left:24px;right:24px}.timeline-stage-kicker{letter-spacing:.18em;text-transform:uppercase;color:#8da0c5b3;font-size:10px;font-weight:800;display:inline-block}.timeline-stage-copy{max-width:520px}.timeline-stage-title{letter-spacing:-.04em;color:var(--text-primary);margin-top:8px;font-size:20px;font-weight:700}.timeline-stage-hint{letter-spacing:.01em;color:#8da0c58f;margin-top:8px;font-size:12px;font-weight:500}.timeline-stage-status{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);text-align:right;background:#080d187a;border:1px solid #ffffff14;border-radius:16px;max-width:280px;padding:12px 14px}.timeline-stage-status-label{letter-spacing:.16em;text-transform:uppercase;color:#96acd5a8;font-size:10px;font-weight:800;display:block}.timeline-stage-status-value{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:5px;font-size:14px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.timeline-nav{z-index:7;position:absolute;bottom:26px}.timeline-nav-left{left:16px}.timeline-nav-right{right:16px}.timeline-nav-btn{width:44px;height:44px;color:var(--text-primary);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);cursor:pointer;background:#080d18a3;border:1px solid #ffffff14;border-radius:50%;transition:transform .15s,background .15s,border-color .15s}.timeline-nav-btn:hover{background:#0a121ee0;border-color:#00d4aa38;transform:scale(1.05)}.timeline-viewport{cursor:grab;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;overscroll-behavior:contain;outline:none;height:100%;position:relative;overflow:auto hidden}.timeline-viewport::-webkit-scrollbar{display:none}.timeline-viewport.dragging{cursor:grabbing}.timeline-inner-canvas{height:100%;min-height:680px;position:relative}.timeline-canvas-wrapper{background-image:radial-gradient(circle,#b4c8ff12 1px,#0000 1px);background-size:28px 28px;background-attachment:local}.timeline-baseline,.timeline-baseline-glow{pointer-events:none;border-radius:999px;height:3px;position:absolute;top:350px;left:72px;right:72px}.timeline-baseline{background:linear-gradient(90deg,#677dafb3,#677dafe6)}.timeline-baseline-glow{opacity:.72;filter:blur(14px);background:linear-gradient(90deg,#0000,#7c8bab38 18%,#7c8bab52 50%,#7c8bab38 82%,#0000);height:16px;top:344px}.timeline-event-card{border:1px solid var(--border-subtle);width:276px;height:196px;color:var(--text-primary);text-align:left;cursor:pointer;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:22px;flex-direction:column;padding:16px 16px 14px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;position:absolute;overflow:hidden}.timeline-event-card:hover,.timeline-event-card:focus-visible,.timeline-event-card.active{border-color:#ffffff1f;transform:translateY(-6px)}.timeline-event-card:focus-visible{outline:none}.timeline-event-card-bottom:hover,.timeline-event-card-bottom:focus-visible,.timeline-event-card-bottom.active{transform:translateY(6px)}.timeline-event-card-center{width:292px}.timeline-event-card.present{border-color:#00d4aa38}.timeline-event-card.avoided{color:#cfe2e9bd}.timeline-card-aura{opacity:.6;pointer-events:none;position:absolute;inset:-48px}.timeline-card-row,.timeline-card-footer{z-index:1;justify-content:space-between;align-items:center;gap:10px;display:flex;position:relative}.timeline-card-badge{letter-spacing:.12em;text-transform:uppercase;background:#ffffff08;border:1px solid #ffffff1f;border-radius:999px;align-items:center;min-height:24px;padding:0 9px;font-size:10px;font-weight:800;display:inline-flex}.timeline-card-year{z-index:1;color:#b4c4e5b3;font-size:12px;font-weight:600;position:relative}.timeline-card-heading{z-index:1;letter-spacing:-.04em;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:14px;font-size:15px;font-weight:700;line-height:1.12;display:-webkit-box;position:relative;overflow:hidden}.timeline-card-body-copy{z-index:1;color:#e0e8fac2;-webkit-line-clamp:4;-webkit-box-orient:vertical;margin-top:12px;font-size:11px;line-height:1.48;display:-webkit-box;position:relative;overflow:hidden}.timeline-card-footer{z-index:1;margin-top:auto;padding-top:14px;position:relative}.timeline-card-age{color:#edf3ffd6;font-size:12px;font-weight:700}.timeline-card-severity{text-transform:uppercase;letter-spacing:.12em;border-radius:999px;align-items:center;min-height:24px;padding:0 9px;font-size:10px;font-weight:800;display:inline-flex}.timeline-card-severity-low{color:#b9c6e0;background:#7c8bab24}.timeline-card-severity-medium{color:#d2dced;background:#7c8bab24}.timeline-card-severity-high{color:#efbc86;background:#e3a45c29}.timeline-card-severity-critical{color:#ffb09c;background:#ff785e29}.timeline-event-connector{opacity:.54;border-radius:999px;width:2px;position:absolute;transform:translate(-50%)}.timeline-event-connector.active{opacity:.9}.timeline-node-wrap{z-index:4}.timeline-node-wrap.active{z-index:5}.timeline-node-halo{opacity:.65;pointer-events:none;position:absolute;inset:-28px}.node-circle{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.node-circle-hovered{transform:scale(1.14)}.node-triangle{z-index:2;position:relative}.node-age-label{text-transform:uppercase;letter-spacing:.12em;margin-top:12px;font-size:10px}.node-avoided-ribbon{text-transform:uppercase;border-radius:999px;padding:3px 7px;top:-24px}.timeline-focus-card{z-index:6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid #ffffff14;border-radius:24px;padding:16px 18px;position:absolute;top:28px;right:24px;overflow:visible}.timeline-focus-row,.timeline-focus-footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.timeline-focus-badge{letter-spacing:.12em;text-transform:uppercase;background:#ffffff08;border:1px solid #ffffff1a;border-radius:999px;align-items:center;min-height:24px;padding:0 9px;font-size:10px;font-weight:800;display:inline-flex}.timeline-focus-year{color:#c6d3eeb8;font-size:13px;font-weight:700}.timeline-focus-title{letter-spacing:-.04em;color:var(--text-primary);margin-top:12px;font-size:24px;font-weight:700;line-height:1.08}.timeline-focus-desc{color:#e0e8facc;overflow-wrap:anywhere;margin-top:12px;font-size:13px;line-height:1.58}.timeline-focus-desc.scrollable{max-height:160px;padding-right:6px;overflow-y:auto}.timeline-focus-footer{margin-top:14px}.timeline-focus-age{color:#edf3ffdb;font-size:12px;font-weight:700}.timeline-focus-note{color:#a8b9da99;border-top:1px solid #ffffff0f;margin-top:12px;padding-top:12px;font-size:10px;line-height:1.5}.timeline-preview-card{z-index:4;text-align:left;cursor:pointer;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #ffffff14;border-radius:18px;padding:12px 13px;transition:transform .18s,border-color .18s,box-shadow .18s;position:absolute;overflow:hidden}.timeline-preview-card:hover,.timeline-preview-card:focus-visible,.timeline-preview-card.active{border-color:#ffffff24;transform:translateY(-3px)}.timeline-preview-card:focus-visible{outline:none}.timeline-preview-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.timeline-preview-badge{letter-spacing:.12em;text-transform:uppercase;background:#ffffff08;border:1px solid #ffffff1a;border-radius:999px;align-items:center;min-height:20px;padding:0 7px;font-size:9px;font-weight:800;display:inline-flex}.timeline-preview-year{color:#c6d3eeb8;font-size:11px;font-weight:700}.timeline-preview-title{letter-spacing:-.03em;color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:10px;font-size:14px;font-weight:700;line-height:1.16;display:-webkit-box;overflow:hidden}.timeline-preview-connector{opacity:.5;border-radius:999px;width:2px;position:absolute;transform:translate(-50%)}.timeline-preview-connector.active{opacity:.9}.timeline-canvas-wrapper.compact .timeline-stage-hud{gap:16px;top:14px;left:18px;right:18px}.timeline-canvas-wrapper.compact .timeline-stage-copy{max-width:420px}.timeline-canvas-wrapper.compact .timeline-stage-kicker{font-size:9px}.timeline-canvas-wrapper.compact .timeline-stage-title{margin-top:6px;font-size:16px}.timeline-canvas-wrapper.compact .timeline-stage-hint{margin-top:6px;font-size:11px}.timeline-canvas-wrapper.compact .timeline-stage-status{max-width:240px;padding:10px 12px}.timeline-canvas-wrapper.compact .timeline-stage-status-value{font-size:13px}.timeline-canvas-wrapper.compact .timeline-focus-card{border-radius:18px;padding:12px 14px;right:18px}.timeline-canvas-wrapper.compact .timeline-focus-badge{min-height:20px;padding:0 7px;font-size:9px}.timeline-canvas-wrapper.compact .timeline-focus-year{font-size:11px}.timeline-canvas-wrapper.compact .timeline-focus-title{margin-top:10px;font-size:18px}.timeline-canvas-wrapper.compact .timeline-focus-desc{margin-top:10px;font-size:11px;line-height:1.46}.timeline-canvas-wrapper.compact .timeline-focus-desc.scrollable{max-height:130px}.timeline-canvas-wrapper.compact .timeline-focus-footer{margin-top:10px}.timeline-canvas-wrapper.compact .timeline-focus-age{font-size:11px}.timeline-canvas-wrapper.compact .timeline-focus-note{margin-top:10px;padding-top:10px;font-size:9px}.timeline-canvas-wrapper.compact .timeline-nav{bottom:12px}.timeline-canvas-wrapper.compact .timeline-nav-btn{width:36px;height:36px}.timeline-canvas-wrapper.compact .timeline-baseline{top:276px}.timeline-canvas-wrapper.compact .timeline-baseline-glow{top:270px}.timeline-canvas-wrapper.compact .timeline-event-card{border-radius:18px;padding:12px 12px 10px}.timeline-canvas-wrapper.compact .timeline-event-card:hover,.timeline-canvas-wrapper.compact .timeline-event-card:focus-visible,.timeline-canvas-wrapper.compact .timeline-event-card.active{transform:translateY(-4px)}.timeline-canvas-wrapper.compact .timeline-event-card-bottom:hover,.timeline-canvas-wrapper.compact .timeline-event-card-bottom:focus-visible,.timeline-canvas-wrapper.compact .timeline-event-card-bottom.active{transform:translateY(4px)}.timeline-canvas-wrapper.compact .timeline-card-row,.timeline-canvas-wrapper.compact .timeline-card-footer{gap:8px}.timeline-canvas-wrapper.compact .timeline-card-badge{min-height:20px;padding:0 7px;font-size:9px}.timeline-canvas-wrapper.compact .timeline-card-year{font-size:11px}.timeline-canvas-wrapper.compact .timeline-card-heading{margin-top:10px;font-size:13px;line-height:1.12}.timeline-canvas-wrapper.compact .timeline-card-body-copy{-webkit-line-clamp:3;margin-top:8px;font-size:10px;line-height:1.42}.timeline-canvas-wrapper.compact .timeline-card-footer{padding-top:10px}.timeline-canvas-wrapper.compact .timeline-card-age{font-size:10px}.timeline-canvas-wrapper.compact .timeline-card-severity{min-height:20px;padding:0 7px;font-size:9px}.timeline-canvas-wrapper.compact .timeline-preview-card{border-radius:16px;padding:10px 11px}.timeline-canvas-wrapper.compact .timeline-preview-title{margin-top:8px;font-size:12px}.timeline-canvas-wrapper.compact .timeline-node-halo{inset:-20px}.timeline-canvas-wrapper.compact .node-age-label{margin-top:8px;font-size:9px}.timeline-canvas-wrapper.compact .node-avoided-ribbon{padding:2px 6px;font-size:8px;top:-18px}@media (width<=1440px){.individual-page{grid-template-columns:352px 1fr}.timeline-stage-status{max-width:260px}.similarity-stats{gap:18px}.timeline-stage-copy{max-width:440px}}@media (width<=1100px){.individual-page{grid-template-columns:1fr}.patient-form-panel{border-right:0;border-bottom:1px solid var(--border-subtle);max-height:42%}.timeline-header,.similarity-card,.timeline-utility-bar,.timeline-inline-intervention-panel,.retrospective-opportunity-grid{padding-left:22px;padding-right:22px}.timeline-stage-hud{right:76px}.timeline-stage-status{display:none}}@media (width<=820px){.timeline-header,.timeline-header-actions,.timeline-utility-bar{flex-direction:column;align-items:stretch}.timeline-utility-status{justify-content:flex-start}.retrospective-opportunity-grid{grid-template-columns:1fr}.similarity-card{flex-direction:column;align-items:flex-start}.similarity-stats{flex-wrap:wrap;justify-content:space-between;width:100%;margin-left:0}.timeline-stage-hud{top:14px;left:18px;right:18px}.timeline-stage-title{font-size:18px}.timeline-stage-copy{max-width:100%}.timeline-nav{display:none}.intervention-sim-panel{width:auto;max-height:calc(100% - 28px);top:14px;left:14px;right:14px}.timeline-inner-canvas{min-height:720px}}.diabetes-context-card{background:linear-gradient(120deg,#ff9b3d14,#080f1c8c 46%,#00d4aa0f),radial-gradient(circle at 0 0,#ff9b3d24,#0000 30%);border-bottom:1px solid #ffffff0d;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:22px 28px;padding:20px 30px;display:grid}.diabetes-context-summary{align-items:flex-start;gap:18px;display:flex}.diabetes-context-ring{flex-shrink:0;justify-content:center;align-items:center;width:96px;height:96px;display:flex;position:relative}.diabetes-context-score{z-index:1;letter-spacing:-.04em;color:#ff9b3d;font-size:24px;font-weight:800;position:relative}.diabetes-context-copy{flex-direction:column;gap:8px;display:flex}.diabetes-context-kicker{letter-spacing:.14em;text-transform:uppercase;color:#ffb84dd1;font-size:11px;font-weight:700}.diabetes-context-title{letter-spacing:-.04em;font-size:22px}.diabetes-context-subhead,.diabetes-factor-explainer,.population-explainer-copy,.population-empty-copy{color:#cad8f7c7;line-height:1.6}.diabetes-context-badges,.population-chip-row{flex-wrap:wrap;gap:8px;display:flex}.diabetes-context-chip,.population-chip,.tooltip-pill{color:var(--text-secondary);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:600;display:inline-flex}.diabetes-context-chip.muted{color:var(--text-dim)}.tooltip-pill{color:var(--accent-primary);background:#00d4aa14;border-color:#00d4aa38;margin-bottom:8px}.diabetes-context-breakdown{flex-direction:column;gap:10px;display:flex}.diabetes-context-breakdown-head{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);justify-content:space-between;align-items:baseline;gap:16px;font-size:12px;font-weight:700;display:flex}.diabetes-context-caveat{letter-spacing:0;text-transform:none;color:#cad8f7b8;max-width:360px;font-size:11px;font-weight:500}.diabetes-factor-row{display:flex}.diabetes-factor-copy{background:#090f1d8a;border:1px solid #ffffff0f;border-radius:14px;width:100%;padding:10px 12px}.diabetes-factor-header,.population-bridge-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.diabetes-factor-label{color:var(--text-primary);font-size:12px;font-weight:700}.diabetes-factor-value{color:#ffb84deb;font-size:11px}.diabetes-factor-bar{background:#ffffff0f;border-radius:999px;width:100%;height:7px;margin:8px 0 6px;overflow:hidden}.diabetes-factor-bar span{border-radius:inherit;background:linear-gradient(90deg,#ffb84db3,#00d4aae6);height:100%;display:block}.diabetes-context-stats,.population-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.diabetes-context-stat{background:#08101d7a;border:1px solid #ffffff0f;border-radius:16px;flex-direction:column;gap:6px;padding:14px;display:flex}.diabetes-context-stat-value{letter-spacing:-.04em;color:var(--text-primary);font-size:26px;font-weight:800}.diabetes-context-stat-label{color:var(--text-secondary);font-size:11px;line-height:1.4}.population-left-panel,.population-right-panel{background:#0d15269e}.population-right-scroll{flex-direction:column;min-height:100%;display:flex;overflow-y:auto}.population-panel-card{background:#ffffff08;border:1px solid #ffffff0f;border-radius:16px;flex-direction:column;gap:12px;padding:14px;display:flex}.population-focus-card{background:linear-gradient(#0e222e9e,#ffffff08),#ffffff08;border-color:#00d4aa24}.population-focus-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.population-focus-metric{letter-spacing:-.04em;color:var(--text-primary);font-size:20px;font-weight:700}.population-focus-copy{color:var(--accent-primary);text-transform:uppercase;letter-spacing:.08em;margin-top:4px;font-size:12px}.population-focus-chip{color:var(--accent-primary);background:#00d4aa17;border-color:#00d4aa38}.population-anchor-title{letter-spacing:-.03em;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:18px;font-weight:700;display:flex}.population-anchor-title span,.population-anchor-copy{color:var(--text-secondary)}.population-action-btn,.population-selector-btn,.population-mode-btn,.population-chip-button{color:var(--text-primary);cursor:pointer;background:#070d1abf;border:1px solid #ffffff14;transition:all .16s}.population-action-btn{border-radius:10px;align-self:flex-start;padding:9px 12px;font-size:12px;font-weight:600}.population-action-btn:hover,.population-selector-btn:hover,.population-mode-btn:hover,.population-chip-button:hover{border-color:#00d4aa47;transform:translateY(-1px)}.population-selector-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.population-selector-btn,.population-mode-btn{text-align:left;border-radius:12px;flex-direction:column;align-items:flex-start;gap:5px;padding:12px;display:flex}.population-selector-btn.active,.population-mode-btn.active{background:linear-gradient(#0b272ad9,#07111ed1);border-color:#00d4aa47;box-shadow:inset 0 1px #ffffff0d}.population-selector-btn small,.population-mode-btn small{color:var(--text-dim);line-height:1.45}.population-mode-list,.population-bridge-list{flex-direction:column;gap:10px;display:flex}.population-mode-pill-row{flex-wrap:wrap;gap:8px;display:flex}.population-mode-pill{appearance:none;min-height:42px;color:var(--text-secondary);text-align:center;white-space:normal;overflow-wrap:anywhere;cursor:pointer;background:#070d1ab8;border:1px solid #ffffff14;border-radius:999px;outline:none;flex:156px;padding:10px 12px;font-family:inherit;font-size:12px;font-weight:600;line-height:1.2;transition:all .16s}.population-mode-pill:hover{color:var(--text-primary);border-color:#00d4aa47}.population-mode-pill.active{color:var(--text-primary);background:#00d4aa24;border-color:#00d4aa47;box-shadow:inset 0 1px #ffffff0d}.population-mode-pill:focus-visible{border-color:#3d8eff85;box-shadow:0 0 0 2px #060b18f2,0 0 0 4px #3d8eff52}.population-mode-pill.active:focus-visible{box-shadow:inset 0 1px #ffffff0d,0 0 0 2px #060b18f2,0 0 0 4px #3d8eff52}.population-lens-guide{background:linear-gradient(#070d1aeb,#0b1422d1);border:1px solid #ffffff0f;border-radius:12px;flex-direction:column;gap:8px;margin-top:12px;padding:12px;display:flex}.population-lens-guide-label{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-primary);font-size:10px;font-weight:700}.population-lens-guide-copy{color:var(--text-secondary);font-size:12px;line-height:1.55}.population-lens-guide-rule{color:var(--text-dim);border-top:1px solid #ffffff0f;flex-direction:column;gap:4px;padding-top:8px;font-size:11px;display:flex}.population-lens-guide-rule strong{color:var(--text-primary);font-size:12px;font-weight:600}.population-bridge-row{color:var(--text-secondary);border-bottom:1px solid #ffffff0d;padding-bottom:10px;font-size:12px}.population-bridge-row:last-child{border-bottom:0;padding-bottom:0}.population-bridge-row strong{color:var(--text-primary);text-align:right}.population-compare-summary{color:var(--text-secondary);background:linear-gradient(#0a111ff0,#0d1828d6);border:1px solid #ffffff0f;border-radius:14px;padding:14px 16px;font-size:13px;line-height:1.65}.population-chip-button{padding:8px 10px}.population-ai-shell{padding:0 16px 16px}.population-spotlight{background:linear-gradient(180deg, #141f36f5, #111b2df0), var(--bg-elevated)}.modal-spotlight-hero{grid-template-columns:minmax(0,152px) minmax(0,1fr);align-items:stretch;gap:14px;margin-bottom:20px;display:grid}.modal-spotlight-value{letter-spacing:-.05em;color:var(--text-primary);background:linear-gradient(#00d4aa1f,#060b181f);border:1px solid #00d4aa29;border-radius:18px;justify-content:center;align-items:center;padding:18px 16px;font-size:34px;font-weight:800;line-height:1;display:flex}.modal-spotlight-copy{flex-direction:column;gap:10px;display:flex}.modal-spotlight-label{letter-spacing:.12em;text-transform:uppercase;color:var(--accent-primary);font-size:11px;font-weight:700}.modal-glance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:20px;display:grid}.modal-glance-card{background:#090f1d94;border:1px solid #ffffff0f;border-radius:16px;padding:14px}.modal-glance-value{letter-spacing:-.05em;color:var(--text-primary);font-size:28px;font-weight:800}.modal-glance-value-accent{color:var(--accent-purple)}.modal-glance-label{color:var(--text-secondary);margin-top:6px;font-size:11px}.modal-signal-list{flex-direction:column;gap:10px;display:flex}.modal-section-note{color:var(--text-dim);border-top:1px solid #ffffff0f;margin-top:18px;padding-top:14px;font-size:12px;line-height:1.6}@media (width<=1100px){.diabetes-context-card{grid-template-columns:1fr;padding:20px 22px}}@media (width<=820px){.diabetes-context-summary,.diabetes-context-breakdown-head{flex-direction:column;align-items:flex-start}.diabetes-context-stats,.population-metric-grid,.population-selector-grid,.modal-glance-grid,.modal-spotlight-hero{grid-template-columns:1fr}.population-mode-pill-row{grid-template-columns:1fr;display:grid}.map-legend{width:min(320px,100vw - 32px)}.modal-overlay{padding:24px 16px}}
