*{margin:0;padding:0;box-sizing:border-box}:root{--font-family-base: "Inter", system-ui, -apple-system, sans-serif;--color-text: #1a1a1a;--color-bg: #fafafa;--color-muted: #555;--color-muted-dark: #333;--color-border: #ccc;--color-border-light: #e5e5e5;--color-border-dark: #ddd;--color-gray: #888;--color-gray-dark: #999;--color-gray-medium: #666;--color-light-bg: #f0f0f0;--color-white: #fff;--fs-xs: .85rem;--fs-sm: .9rem;--fs-md: .95rem;--fs-lg: 1rem;--fs-xl: 1.1rem;--fs-xxl: 1.2rem;--fs-heading: 2rem;--fs-large-heading: 2.5rem;--fs-hero: 3rem;--space-xs: .5rem;--space-sm: .35rem;--space-md: .75rem;--space-lg: 1rem;--space-lg2: 1.25rem;--space-xl: 1.5rem;--space-xxl: 2rem;--space-3xl: 3rem;--radius-sm: 4px;--radius-md: 6px}body{font-family:var(--font-family-base);color:var(--color-text);background:var(--color-bg);line-height:1.6}a{color:inherit;text-decoration:none}h1{font-size:var(--fs-heading);font-weight:700;margin-bottom:var(--space-xs)}h2{font-size:var(--fs-xl);font-weight:600}.btn{padding:.7rem 1.5rem;border-radius:6px;font-size:var(--fs-md);background:var(--color-text);color:var(--color-bg);border:none;cursor:pointer;transition:opacity .2s}.btn:hover{opacity:.85}.btn-outline{background:transparent;color:var(--color-text);border:1.5px solid var(--color-text)}.btn-outline:hover{background:var(--color-text);color:var(--color-bg)}.navbar{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xl) var(--space-3xl);border-bottom:1px solid var(--color-border-light);background:var(--color-bg);position:sticky;top:0}.navbar-name{font-size:1.2rem;font-weight:600}.navbar-links{display:flex;gap:2rem}.navbar-links a{font-size:var(--fs-md);color:var(--color-muted);transition:color .2s}.navbar-links a:hover{color:var(--color-text)}.home{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 80px);text-align:center;padding:var(--space-xxl);position:relative}.home h1{font-size:var(--fs-hero);font-weight:700;margin-bottom:var(--space-xs)}.home-tagline{font-size:var(--fs-xxl);color:var(--color-muted);margin-bottom:var(--space-xl)}.home-intro{max-width:500px;color:var(--color-gray-medium);margin-bottom:var(--space-xxl)}.home-links{display:flex;gap:var(--space-lg)}.home-quote{position:absolute;bottom:20px;left:0;width:100%;text-align:center;color:var(--color-gray-medium);font-style:italic;white-space:nowrap}.home-quote-link{color:var(--color-gray-medium);text-decoration:underline}.construction{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 80px);text-align:center;padding:var(--space-xxl)}.construction h1{font-size:var(--fs-large-heading);font-weight:700;letter-spacing:-.5px}.construction-divider{width:40px;height:2px;background:var(--color-border);margin:1.5rem 0}.construction-status{font-size:var(--fs-xl);color:var(--color-muted);margin-bottom:var(--space-xs)}.construction-sub{font-size:var(--fs-md);color:var(--color-gray-dark);margin-bottom:var(--space-xxl)}.cv{max-width:700px;margin:0 auto;padding:3rem 2rem}.cv-header{margin-bottom:2.5rem}.cv-subtitle{color:var(--color-muted);font-size:var(--fs-xl);margin-top:.25rem}.cv-section{margin-bottom:2rem}.cv-section h2{font-size:var(--fs-xl);font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--color-muted-dark);border-bottom:1px solid var(--color-border-light);padding-bottom:.5rem;margin-bottom:1rem}.cv-entry{margin-bottom:1.25rem}.cv-entry-header{display:flex;justify-content:space-between;align-items:baseline}.cv-entry-header h3{font-size:var(--fs-lg);font-weight:600}.cv-date{font-size:var(--fs-xs);color:var(--color-gray);white-space:nowrap}.cv-company,.cv-detail{font-size:var(--fs-sm);color:var(--color-muted);margin-top:.15rem}.cv-list{margin-top:.4rem;padding-left:1.2rem}.cv-list li{font-size:var(--fs-sm);color:var(--color-muted);margin-bottom:.3rem}.cv-skills{display:flex;flex-direction:column;gap:1rem}.cv-skill-group h3{font-size:var(--fs-sm);font-weight:600;margin-bottom:.25rem}.cv-skill-group p{font-size:var(--fs-sm);color:var(--color-muted)}.cv-link{font-size:var(--fs-md);color:var(--color-muted)}.cv-link a{color:var(--color-text);font-weight:500;border-bottom:1px solid var(--color-border);transition:border-color .2s}.cv-link a:hover{border-color:var(--color-text)}.contact{max-width:700px;margin:0 auto;padding:var(--space-3xl) var(--space-xxl)}.contact-intro{color:var(--color-muted);font-size:var(--fs-lg);margin-bottom:var(--space-xl)}.contact-links{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl)}.contact-links a{font-size:var(--fs-md);color:var(--color-text);font-weight:500;border-bottom:1px solid var(--color-border);transition:border-color .2s}.contact-links a:hover{border-color:var(--color-text)}.contact-dot{color:var(--color-border)}.contact-divider{height:1px;background:var(--color-border-light);margin-bottom:var(--space-xxl)}.contact-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.35rem}.form-group label{font-size:var(--fs-xs);font-weight:600;color:var(--color-muted-dark)}.form-group input,.form-group textarea{font-family:inherit;font-size:var(--fs-md);padding:.6rem .75rem;border:1px solid var(--color-border-dark);border-radius:4px;background:var(--color-white);color:var(--color-text);transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-gray-dark)}.form-btn{align-self:flex-start}.contact-success{font-size:var(--fs-lg);color:var(--color-muted-dark);padding:var(--space-xl);background:var(--color-light-bg);border-radius:6px;text-align:center}.projects-page{max-width:1200px;margin:0 auto;padding:var(--space-xxl);min-height:100vh}.projects-header{text-align:center;margin-bottom:var(--space-3xl)}.projects-title{font-size:var(--fs-hero);color:var(--color-text);margin-bottom:var(--space-lg);font-weight:700;letter-spacing:-.5px}.projects-subtitle{font-size:var(--fs-xl);color:var(--color-gray-medium);font-weight:500;margin:0}.projects-container{width:100%}.projects-empty{background:var(--color-light-bg);border:2px dashed var(--color-border);border-radius:12px;padding:var(--space-3xl);text-align:center}.projects-empty p{font-size:var(--fs-lg);color:var(--color-gray);margin:0}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(500px,1fr));gap:var(--space-xxl)}.project-card{background:var(--color-white);border-radius:12px;overflow:hidden;box-shadow:0 4px 6px #00000012;transition:all .3s ease;display:flex;flex-direction:column;border:1px solid var(--color-border-light)}.project-card:hover{transform:translateY(-8px);box-shadow:0 12px 24px #0000001f}.project-content{padding:var(--space-xxl);flex:1;display:flex;flex-direction:column;gap:var(--space-lg)}.project-title{font-size:var(--fs-xl);color:var(--color-muted-dark);font-weight:700;margin:0;line-height:1.4}.project-description{font-size:var(--fs-md);color:var(--color-gray-medium);margin:0;line-height:1.6;flex:1}.project-tags{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-sm)}.project-tag{display:inline-block;background:linear-gradient(135deg,#e0f2fe,#dbeafe);color:#0369a1;padding:var(--space-sm) var(--space-md);border-radius:6px;font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;border:1px solid #bae6fd}.project-links{display:flex;gap:var(--space-md);padding:var(--space-lg) var(--space-xxl);border-top:1px solid var(--color-border-light);background:var(--color-light-bg)}.project-link{flex:1;text-align:center;padding:var(--space-md) var(--space-lg);background:#2563eb;color:var(--color-white);text-decoration:none;border-radius:8px;font-size:var(--fs-sm);font-weight:600;transition:all .3s ease;border:2px solid #2563eb}.project-link:hover{background:#1d4ed8;transform:translateY(-2px);box-shadow:0 4px 12px #2563eb4d}.project-link.github{background:var(--color-muted-dark);border-color:var(--color-muted-dark)}.project-link.github:hover{background:var(--color-text);border-color:var(--color-text)}@media(max-width:768px){.projects-page{padding:var(--space-lg2)}.projects-header{margin-bottom:var(--space-xxl)}.projects-title{font-size:var(--fs-large-heading);margin-bottom:var(--space-md)}.projects-subtitle{font-size:var(--fs-lg)}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-lg2)}.project-content{padding:var(--space-lg2)}.project-links{padding:var(--space-lg) var(--space-lg2)}}@media(max-width:480px){.projects-page{padding:var(--space-lg)}.projects-header{margin-bottom:var(--space-xxl)}.projects-title{font-size:var(--fs-heading)}.projects-subtitle{font-size:var(--fs-md)}.projects-grid{grid-template-columns:1fr;gap:var(--space-lg)}.project-content{padding:var(--space-lg)}.project-links{flex-direction:column;padding:var(--space-lg);gap:var(--space-sm)}.project-link{padding:var(--space-md) var(--space-lg)}}.yield-playground{max-width:1400px;margin:0 auto;padding:var(--space-xxl);background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh}.yield-playground h1{font-size:var(--fs-hero);color:var(--color-text);margin-bottom:var(--space-xxl);text-align:center;font-weight:700;letter-spacing:-.5px}.yield-playground-tagline{font-size:var(--fs-xl);text-align:center;color:var(--color-gray-medium);font-weight:500;margin:0;margin-bottom:var(--space-xl)}.playground-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xxl);align-items:start}.chart-side,.controls-side{display:flex;flex-direction:column;gap:var(--space-xxl)}.playground-section{background:var(--color-white);border-radius:12px;padding:var(--space-xxl);box-shadow:0 4px 6px #00000012;transition:box-shadow .3s ease}.playground-section:hover{box-shadow:0 10px 20px #0000001a}.playground-section h2{font-size:var(--fs-xxl);color:var(--color-muted-dark);margin-bottom:var(--space-lg2);padding-bottom:var(--space-lg);border-bottom:2px solid var(--color-border-light);font-weight:600}.bond-parameters{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.parameter-group{display:flex;flex-direction:column}.parameter-group label{display:block;font-weight:500;color:var(--color-muted-dark);margin-bottom:var(--space-md);font-size:var(--fs-md)}.parameter-group input[type=number]{padding:var(--space-md) var(--space-lg);border:2px solid var(--color-border-light);border-radius:8px;font-size:var(--fs-md);transition:all .3s ease;background-color:var(--color-white);color:var(--color-text)}.parameter-group input[type=number]:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.parameter-group input[type=number]:hover{border-color:#93c5fd}.shift-section{background:linear-gradient(135deg,#f0f4f8,#d9e2ec)}.shift-display{font-size:var(--fs-xxl);font-weight:700;color:#2563eb;margin-bottom:var(--space-lg2);text-align:center}.shift-slider-container{display:flex;align-items:center;gap:var(--space-lg)}.shift-range{font-weight:500;color:var(--color-muted);min-width:60px;font-size:var(--fs-sm)}.shift-range.negative{text-align:right;color:#ef4444}.shift-range.positive{text-align:left;color:#10b981}input[type=range]{flex:1;height:8px;border-radius:4px;background:linear-gradient(to right,#ef4444,#f0f0f0 50%,#10b981);outline:none;-webkit-appearance:none;appearance:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:#2563eb;cursor:pointer;box-shadow:0 2px 8px #2563eb4d;transition:all .2s ease}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 4px 12px #2563eb80}input[type=range]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#2563eb;cursor:pointer;border:none;box-shadow:0 2px 8px #2563eb4d;transition:all .2s ease}input[type=range]::-moz-range-thumb:hover{transform:scale(1.2);box-shadow:0 4px 12px #2563eb80}.metrics-container{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.metric-item{background:linear-gradient(135deg,#f9fafb,#f0f4f8);padding:var(--space-lg);border-radius:10px;border-left:4px solid #2563eb;box-shadow:0 2px 4px #0000000d;transition:all .3s ease}.metric-item:hover{transform:translateY(-2px);box-shadow:0 6px 12px #0000001a}.metric-label{font-size:var(--fs-xs);color:var(--color-gray);font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-sm)}.metric-value{font-size:var(--fs-lg);font-weight:700;color:var(--color-muted-dark);font-family:Courier New,monospace;word-break:break-word}.chart-section{background:linear-gradient(135deg,#f9fafb,#f0f4f8)}.chart-container{width:100%;background:var(--color-white);border-radius:10px;padding:var(--space-lg2);box-shadow:0 4px 12px #00000014}.chart-container svg{width:100%;height:auto}.yield-curve-input h3{font-size:var(--fs-lg);color:var(--color-muted-dark);margin-bottom:var(--space-lg);font-weight:600}.rate-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:var(--space-lg)}.rate-input-group{display:flex;flex-direction:column}.rate-input-group label{display:block;font-weight:600;color:var(--color-text);margin-bottom:var(--space-sm);font-size:var(--fs-sm);text-align:center}.rate-input-group input[type=number]{padding:var(--space-md) var(--space-sm);border:2px solid var(--color-border-light);border-radius:8px;font-size:var(--fs-md);transition:all .3s ease;background-color:var(--color-white);color:var(--color-text);text-align:center;font-weight:500}.rate-input-group input[type=number]:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.rate-input-group input[type=number]:hover{border-color:#93c5fd}.preset-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--space-md)}.preset-button{padding:var(--space-md) var(--space-lg);background:linear-gradient(135deg,#2563eb,#1d4ed8);color:var(--color-white);border:none;border-radius:8px;font-size:var(--fs-md);font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #2563eb33;text-transform:capitalize}.preset-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #2563eb66;background:linear-gradient(135deg,#1d4ed8,#1e40af)}.preset-button:active{transform:translateY(0);box-shadow:0 2px 8px #2563eb33}@media(max-width:1024px){.playground-layout{grid-template-columns:1fr;gap:var(--space-xxl)}.metrics-container{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}@media(max-width:768px){.yield-playground{padding:var(--space-lg2)}.yield-playground h1{font-size:var(--fs-large-heading);margin-bottom:var(--space-xl)}.playground-section{padding:var(--space-lg2)}.playground-section h2{font-size:var(--fs-xl);margin-bottom:var(--space-lg)}.bond-parameters,.metrics-container{grid-template-columns:1fr;gap:var(--space-lg)}.shift-slider-container{flex-wrap:wrap}input[type=range]{width:100%}}@media(max-width:480px){.yield-playground{padding:var(--space-lg);min-height:auto}.yield-playground h1{font-size:var(--fs-heading)}.playground-section{padding:var(--space-lg)}.parameter-group label{font-size:var(--fs-sm)}.metric-label{font-size:var(--fs-xs)}.metric-value{font-size:var(--fs-lg)}.chart-container{padding:var(--space-lg)}}.four-zero-four{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 80px);text-align:center;padding:var(--space-xxl)}.four-zero-four h1{font-size:var(--fs-hero);font-weight:700;letter-spacing:-.5px}.four-zero-four-subtitle{font-size:var(--fs-xl);color:var(--color-muted);margin-bottom:var(--space-xs)}.four-zero-four-description{font-size:var(--fs-md);color:var(--color-gray-dark);margin-bottom:var(--space-xxl)}.torah-page{max-width:1200px;margin:0 auto;padding:var(--space-xxl);display:grid;grid-template-columns:1fr 360px;gap:var(--space-xxl);min-height:100vh}.torah-main{display:flex;flex-direction:column;gap:var(--space-lg)}.torah-header{margin-bottom:var(--space-lg)}.torah-header h1{margin:0}.torah-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-lg)}.torah-card-link{text-decoration:none}.torah-card{border:1px solid var(--color-border-light);background:var(--color-white);border-radius:12px;padding:var(--space-lg);box-shadow:0 4px 10px #0000000a;transition:transform .2s ease,box-shadow .2s ease}.torah-card:hover{transform:translateY(-3px);box-shadow:0 8px 16px #0000001a}.torah-card h2{margin:0 0 var(--space-sm) 0;color:var(--color-text);font-size:var(--fs-lg)}.torah-card time{color:var(--color-gray);font-size:var(--fs-sm)}.torah-sidebar{background:var(--color-light-bg);border:1px solid var(--color-border);border-radius:12px;padding:var(--space-lg)}@media(max-width:976px){.torah-page{grid-template-columns:1fr}.torah-sidebar{order:-1}}.torah-dispatch-page{max-width:1000px;margin:0 auto;padding:var(--space-xxl)}.torah-dispatch-header h1{margin:0}.torah-dispatch-content p,.torah-dispatch-content li{line-height:1.7;margin-bottom:var(--space-md)}.torah-dispatch-content h1,.torah-dispatch-content h2,.torah-dispatch-content h3{margin-top:var(--space-lg);margin-bottom:var(--space-sm)}.torah-dispatch-content ul{padding-left:1.2rem;margin-bottom:var(--space-md)}.error{color:var(--color-danger)}.growth-page{max-width:800px;margin:0 auto;padding:var(--space-xxl);line-height:1.7;position:relative;padding-bottom:60px}.growth-page h1{font-size:var(--fs-hero);font-weight:700;margin-bottom:var(--space-lg);text-align:center}.growth-page p{margin-bottom:var(--space-lg);color:var(--color-text);font-size:var(--fs-base)}.growth-quote{position:absolute;bottom:20px;left:0;width:100%;text-align:center;color:var(--color-gray-medium);font-style:italic;white-space:nowrap}
