:root{--bg-primary:#0c0d11;--bg-secondary:#13141a;--bg-tertiary:#1a1b22;--bg-elevated:#22232c;--border-subtle:hsla(0,0%,100%,.06);--border-medium:hsla(0,0%,100%,.1);--text-primary:#e8e6e1;--text-secondary:#9a9890;--text-tertiary:#5c5a55;--accent:#2d9b75;--accent-hover:#248a66;--positive:#2d9b75;--positive-bg:rgba(45,155,117,.12);--negative:#c4553a;--negative-bg:rgba(196,85,58,.12);--info:#5b8db8;--color-success:var(--positive);--color-error:var(--negative);--color-success-bg:var(--positive-bg);--color-error-bg:var(--negative-bg);--brand-color:var(--accent);--brand-hover:var(--accent-hover);--font-mono:"JetBrains Mono",monospace;--font-sans:"Outfit",sans-serif}*{box-sizing:border-box;padding:0;margin:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5;overflow-x:hidden;font-feature-settings:tabular-nums lining-nums;font-variant-numeric:tabular-nums lining-nums}.font-mono{font-family:var(--font-mono);font-feature-settings:tabular-nums lining-nums;font-variant-numeric:tabular-nums lining-nums}.text-accent,.text-brand{color:var(--accent)}.text-success{color:var(--positive)}.text-error{color:var(--negative)}.text-secondary{color:var(--text-secondary)}.container{max-width:1400px;margin:0 auto;padding:1.5rem}.dense-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:12px;text-align:left}.dense-table th{background-color:var(--bg-secondary);color:var(--text-secondary);font-weight:600;padding:8px 12px;border-bottom:1px solid var(--border-medium);position:-webkit-sticky;position:sticky;top:0;z-index:10}.dense-table td{padding:8px 12px;border-bottom:1px solid var(--border-subtle);vertical-align:middle}.dense-table tr:hover td{background-color:var(--bg-tertiary)}.dense-table .num{text-align:right}.dense-table tr:nth-child(2n) td{background-color:hsla(0,0%,100%,.015)}.panel{background-color:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:4px;padding:1.25rem;margin-bottom:1.5rem;position:relative}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;border-bottom:1px solid var(--border-subtle);padding-bottom:.5rem}.panel-title{font-size:13px;font-weight:600;color:var(--text-primary)}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:1px;gap:1px;margin-bottom:1.5rem;background-color:var(--border-subtle);border:1px solid var(--border-subtle);border-radius:4px;overflow:hidden}.metric-card{background-color:var(--bg-secondary);padding:1rem}.metric-positive{background-color:var(--positive-bg)}.metric-negative{background-color:var(--negative-bg)}.metric-label{font-size:11px;color:var(--text-secondary);margin-bottom:4px;font-weight:500}.metric-value{font-family:var(--font-mono);font-size:20px;font-weight:700;color:var(--text-primary)}.custom-slider{-webkit-appearance:none;width:100%;height:4px;background:var(--bg-tertiary);outline:none;border-radius:2px}.custom-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);cursor:pointer;border:none}.custom-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent);cursor:pointer;border:none}.form-input{background-color:var(--bg-tertiary);border:1px solid var(--border-subtle);color:var(--text-primary);font-family:var(--font-mono);font-size:13px;padding:6px 10px;border-radius:2px;outline:none}.form-input:focus{border-color:var(--accent)}.btn{background-color:var(--accent);color:#000;font-weight:600;padding:6px 12px;border:none;border-radius:2px;cursor:pointer;font-family:var(--font-sans);font-size:12px;transition:background-color .15s ease}.btn:hover{background-color:var(--accent-hover)}.btn-secondary{background-color:transparent;border:1px solid var(--border-subtle);color:var(--text-primary)}.btn-secondary:hover{background-color:var(--bg-tertiary)}.btn-danger{background-color:var(--negative);color:#fff}.btn-danger:hover{background-color:#a84432}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.navbar{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);padding:10px 1.5rem;display:flex;justify-content:space-between;align-items:center}.nav-links{display:flex;gap:1.5rem}.nav-link{color:var(--text-secondary);font-size:13px;font-weight:500;transition:color .15s ease}.nav-link:hover{color:var(--text-primary)}.nav-link.active{color:var(--accent);border-bottom:2px solid var(--accent);padding-bottom:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.form-input:focus-visible,select.form-input:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(45,155,117,.25)}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-elevated) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s linear infinite;border-radius:4px;display:inline-block;width:100%;height:100%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{flex-direction:column;text-align:center;padding:2rem;color:var(--text-secondary);font-size:13px;border:1px dashed var(--border-subtle);border-radius:4px}.empty-state,.loading-container{display:flex;align-items:center;justify-content:center;font-family:var(--font-mono)}.loading-container{height:60vh;color:var(--accent)}.table-scroll-hint{position:relative}.table-scroll-hint:after{content:"";position:absolute;top:0;right:0;bottom:0;width:15px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.5));pointer-events:none;opacity:.8}.toast{position:fixed;bottom:20px;right:20px;background-color:var(--bg-tertiary);border:1px solid var(--border-subtle);color:var(--text-primary);padding:12px 20px;border-radius:4px;box-shadow:0 4px 12px rgba(0,0,0,.5);font-family:var(--font-mono);font-size:12px;z-index:1000;animation:slideIn .2s ease-out}@keyframes slideIn{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.skip-link{position:absolute;top:-100px;left:0;background:var(--accent);color:#000;padding:8px 16px;font-family:var(--font-mono);font-size:12px;font-weight:600;z-index:2000;transition:top .2s;border-bottom-right-radius:4px;text-decoration:none}.skip-link:focus{top:0;outline:none}.layout-wrapper{display:flex;flex-direction:column;min-height:100vh}.layout-main{flex-grow:1;padding-bottom:2rem}.layout-footer{background-color:var(--bg-secondary);border-top:1px solid var(--border-subtle);padding:10px 1.5rem;text-align:center;font-size:11px;color:var(--text-secondary)}.footer-content{flex-direction:column;gap:6px}.footer-content,.footer-legal{display:flex;align-items:center}.footer-legal{gap:8px}.footer-legal a{font-size:10px;color:var(--text-secondary);text-decoration:none}.footer-legal a:hover{color:var(--accent)}.footer-legal span{color:var(--border-subtle);font-size:10px}.error-container{padding:2rem;color:var(--negative);font-family:var(--font-mono)}.error-panel{border:1px solid var(--negative);border-radius:4px;background-color:var(--bg-secondary);padding:1.25rem}.error-title{font-size:14px;font-weight:600;color:var(--negative)}.error-subtitle{margin-top:20px;font-size:11px;color:var(--text-secondary)}.diagnostics-ribbon{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:10px;gap:10px;background-color:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:4px;padding:10px 15px;margin-bottom:1rem}.diagnostics-cell{display:flex;flex-direction:column}.diagnostics-label{font-family:var(--font-mono);font-size:9px;color:var(--text-secondary);margin-bottom:2px}.diagnostics-value{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--text-primary)}.diagnostics-value.status-passed{color:var(--positive)}.diagnostics-value.model-cubic_spline,.diagnostics-value.status-failed_fallback_used,.diagnostics-warning{color:var(--negative)}.diagnostics-warning{grid-column:span 5;font-family:var(--font-mono);font-size:11px;margin-top:6px;border-top:1px solid var(--border-subtle);padding-top:4px}.chart-panel{padding:1rem}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,500px),1fr));grid-gap:1.5rem;gap:1.5rem;margin-bottom:1.5rem}.skeleton-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:1px;gap:1px;margin-bottom:1.5rem;background-color:var(--border-subtle);border:1px solid var(--border-subtle);border-radius:4px;overflow:hidden}.skeleton-card{height:72px;background-color:var(--bg-secondary);padding:10px}.skeleton-text{height:12px;margin-bottom:8px;border-radius:2px}.skeleton-value{height:24px;border-radius:2px;width:60%}.skeleton-table-row{height:33px;margin-bottom:4px}.skeleton-chart-box{height:350px;border-radius:4px}.skeleton-diagnostics{height:58px;margin-bottom:1rem}.scenario-row{margin-bottom:15px}.scenario-label-row{display:flex;justify-content:space-between;margin-bottom:5px;font-size:12px}.scenario-section{border-top:1px solid var(--border-subtle);padding-top:15px}.table-wrapper{overflow-x:auto;position:relative}.td-truncate{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:180px}.panel-holding-count{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary)}.alert-error{color:var(--negative);border:1px solid var(--negative);border-radius:2px;background-color:var(--negative-bg)}.alert-error,.alert-success{font-family:var(--font-mono);font-size:12px;margin-bottom:15px;padding:8px}.alert-success{color:var(--positive);border:1px solid var(--positive);border-radius:2px;background-color:var(--positive-bg)}.auth-panel{padding:2rem;max-width:500px;margin:4rem auto}.auth-panel-success{max-width:600px}.auth-heading{margin-bottom:20px}.auth-info{font-size:13px;line-height:1.8;color:var(--text-secondary)}.text-primary{color:var(--text-primary)}.auth-id{font-size:11px}.auth-actions{margin-top:25px;display:flex;gap:10px}.form-group{margin-bottom:15px}.form-label{font-size:11px;color:var(--text-secondary);display:block;margin-bottom:4px}.form-input-full{width:100%}.password-hint{font-size:10px;display:block;margin-top:4px}.form-submit{width:100%;margin-bottom:15px}.auth-divider{border-top:1px solid var(--border-subtle);padding-top:15px;text-align:center}.auth-toggle{background:none;border:none;color:var(--accent);cursor:pointer;font-size:12px}.auth-social{margin-top:15px;text-align:center}.auth-or{font-size:10px;color:var(--text-secondary);margin-bottom:10px}.auth-back{margin-top:20px;text-align:center}.auth-back-link{font-size:11px;color:var(--text-secondary)}.google-btn{width:100%;background-color:#4285f4;color:#fff;border:none;font-size:12px;transition:background-color .15s ease}.google-btn:hover{background-color:#357ae8}.fade-in{animation:fadeIn .25s ease-in-out forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.row-flash td{animation:rowFlashAnim 1s ease-out}@keyframes rowFlashAnim{0%{background-color:rgba(45,155,117,.4)!important}to{background-color:transparent}}.progress-bar-container{width:100%;height:6px;background-color:var(--bg-tertiary);border-radius:3px;overflow:hidden;margin-top:10px}.progress-bar-fill{height:100%;width:50%;background-color:var(--accent);border-radius:3px;animation:progressMove 1.5s ease-in-out infinite}@keyframes progressMove{0%{transform:translateX(-100%)}50%{transform:translateX(100%)}to{transform:translateX(200%)}}.legal-page{max-width:800px;padding-top:2rem;padding-bottom:3rem}.legal-header{margin-bottom:2rem;border-bottom:1px solid var(--border-subtle);padding-bottom:1rem}.legal-header h1{font-size:24px;margin-bottom:.5rem}.legal-updated{font-size:11px;color:var(--text-secondary)}.legal-content{font-size:13px;line-height:1.8;color:var(--text-primary)}.legal-content section{margin-bottom:2rem}.legal-content h2{font-size:15px;font-weight:600;color:var(--accent);margin-bottom:.75rem;border-bottom:1px solid var(--border-subtle);padding-bottom:.5rem}.legal-content h3{font-size:13px;font-weight:600;color:var(--text-primary);margin-top:1.25rem;margin-bottom:.5rem}.legal-content p{margin-bottom:.75rem;color:var(--text-secondary)}.legal-content ul{margin-bottom:.75rem;padding-left:1.5rem}.legal-content li{margin-bottom:.4rem;color:var(--text-secondary)}.legal-content li strong{color:var(--text-primary)}.legal-content .legal-caps{font-size:11px;letter-spacing:.02em}.legal-content .legal-contact{font-size:12px;padding:12px 16px;background-color:var(--bg-tertiary);border-radius:2px}.legal-critical{border:1px solid var(--negative);padding:1.25rem;border-radius:4px;background-color:var(--negative-bg)}.legal-critical h2{color:var(--negative);border-bottom-color:var(--negative)}.mt-10{margin-top:10px}.fw-600{font-weight:600}.portfolio-left-col{grid-column:span 2}@media (max-width:1200px){.container{max-width:100%}}@media (max-width:768px){.container{padding:1rem}.portfolio-left-col{grid-column:span 1}.metric-grid{grid-template-columns:repeat(3,1fr);gap:1px}.navbar{flex-direction:column;gap:10px;align-items:stretch}.nav-links{overflow-x:auto;white-space:nowrap;padding-bottom:5px;gap:1rem;scrollbar-width:none}.nav-links::-webkit-scrollbar{display:none}.legal-page{padding-top:1rem}.legal-header h1{font-size:20px}}@media (max-width:480px){body{font-size:13px}.metric-grid{grid-template-columns:repeat(2,1fr)}.dense-table td,.dense-table th{padding:6px 8px;font-size:11px}.dense-table td:nth-child(4),.dense-table td:nth-child(5),.dense-table td:nth-child(6),.dense-table td:nth-child(8),.dense-table th:nth-child(4),.dense-table th:nth-child(5),.dense-table th:nth-child(6),.dense-table th:nth-child(8){display:none}}@font-face{font-family:__JetBrains_Mono_3c557b;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__JetBrains_Mono_3c557b;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__JetBrains_Mono_3c557b;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__JetBrains_Mono_3c557b;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__JetBrains_Mono_3c557b;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__JetBrains_Mono_3c557b;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__JetBrains_Mono_Fallback_3c557b;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_3c557b{font-family:__JetBrains_Mono_3c557b,__JetBrains_Mono_Fallback_3c557b;font-style:normal}.__variable_3c557b{--font-mono:"__JetBrains_Mono_3c557b","__JetBrains_Mono_Fallback_3c557b"}@font-face{font-family:__Outfit_ed3508;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/98848575513c9742-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Outfit_ed3508;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7b0b24f36b1a6d0b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Outfit_Fallback_ed3508;src:local("Arial");ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.00%;size-adjust:99.82%}.__className_ed3508{font-family:__Outfit_ed3508,__Outfit_Fallback_ed3508;font-style:normal}.__variable_ed3508{--font-sans:"__Outfit_ed3508","__Outfit_Fallback_ed3508"}