@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700;800;900&family=Geist+Mono:wght@300;400;500;600;700&display=swap";body{margin:0;background:#f5eee0;color:#333;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.chat-panel{display:flex;flex-direction:column;height:100%;width:100%;background:#fff;border:none;box-shadow:none;animation:slideInLeft .3s ease-out}.chat-header{padding:16px;border-bottom:2px solid #000;background:#000;color:#fff}.chat-header h3{margin:0 0 4px;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.chat-status{font-family:JetBrains Mono,monospace;font-size:11px;opacity:.8;text-transform:uppercase}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.no-messages{display:flex;align-items:center;justify-content:center;height:100%;color:#666;font-style:italic}.message{display:flex;animation:fadeInUp .3s ease-out}.message.user{justify-content:flex-end}.message.assistant{justify-content:flex-start}.message-content{max-width:80%;padding:8px 12px;border:1px solid #000;position:relative}.message.user .message-content{background:#000;color:#fff;border-radius:12px 12px 4px}.message.assistant .message-content{background:#f0f0f0;color:#000;border-radius:12px 12px 12px 4px}.message-text{font-family:JetBrains Mono,monospace;font-size:12px;line-height:1.4;margin-bottom:4px}.message-time{font-family:JetBrains Mono,monospace;font-size:10px;opacity:.6;text-align:right}.message.assistant .message-time{text-align:left}.chat-footer{padding:12px 16px;border-top:1px solid #ddd;background:#f8f8f8}.voice-indicator{display:flex;align-items:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:11px;color:#666}.voice-dot{width:6px;height:6px;border-radius:50%;background:#0f0;animation:pulse 1.5s infinite}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-track{background:#f1f1f1}.chat-messages::-webkit-scrollbar-thumb{background:#000}.chat-messages::-webkit-scrollbar-thumb:hover{background:#555}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.memory-cloud-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:25;overflow:hidden}.floating-thought{position:absolute;pointer-events:none;animation:fadeInOut var(--duration, 6s) linear forwards}.thought-text{font-family:JetBrains Mono,Courier New,monospace;font-size:18px;font-weight:700;color:#000;background:transparent;padding:8px 12px;white-space:normal;max-width:400px;text-transform:uppercase;letter-spacing:.5px;word-wrap:break-word;overflow-wrap:break-word}.thought-text span{display:block}.thought-image img{display:block;width:120px;height:90px;object-fit:cover;border:none}@keyframes fadeInOut{0%{opacity:0;transform:translate(0)}15%{opacity:1;transform:translate(calc(var(--drift-x) * .15),calc(var(--drift-y) * .15))}85%{opacity:1;transform:translate(calc(var(--drift-x) * .85),calc(var(--drift-y) * .85))}to{opacity:0;transform:translate(var(--drift-x),var(--drift-y))}}@media (max-width: 768px){.thought-text{font-size:14px;padding:6px 10px;letter-spacing:.3px}.thought-image img{width:80px;height:60px}.floating-thought{animation:fadeInOutMobile var(--duration, 4s) linear forwards}@keyframes fadeInOutMobile{0%{opacity:0;transform:translate(0)}20%{opacity:1;transform:translate(calc(var(--drift-x) * .2),calc(var(--drift-y) * .2))}80%{opacity:1;transform:translate(calc(var(--drift-x) * .8),calc(var(--drift-y) * .8))}to{opacity:0;transform:translate(var(--drift-x),var(--drift-y))}}}@media (max-width: 480px){.thought-text{font-size:12px;padding:4px 8px}.thought-image img{width:60px;height:45px}}@media (prefers-reduced-motion: reduce){.floating-thought{animation:simpleFade 3s ease-in-out forwards}@keyframes simpleFade{0%{opacity:0}20%,80%{opacity:1}to{opacity:0}}}.blindsight{min-height:100vh;background-color:#f5f5f8;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,sans-serif;color:#000;position:relative;overflow-x:hidden;background:#f5f5f8}.blindsight *{list-style:none}.blindsight ul,.blindsight ol{padding:0;margin:0}.header{display:flex;justify-content:space-between;align-items:stretch;padding:0;position:fixed;top:0;left:0;right:0;height:80px;background:#f5f5f8;border-bottom:4px solid #000;z-index:100;transition:transform .3s ease}.header.hidden{transform:translateY(-100%)}.logo{display:flex;align-items:center;font-size:40px;font-weight:900;letter-spacing:-.5px;color:#000;padding:0 40px;margin-left:-5px;height:100%;border-right:none;text-decoration:none;list-style:none;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,sans-serif}.logo-icon{margin-right:12px;font-size:16px;font-weight:900}.navigation{display:flex;align-items:stretch;height:100%}.nav-button{background:transparent;border:none;border-left:4px solid #000;color:#000;font-size:14px;font-weight:500;padding:0 24px;cursor:pointer;transition:all .2s ease;margin:0;border-radius:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif;height:100%;display:flex;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:2px;text-decoration:none}.nav-button:hover,.nav-button.active{background:#000;color:#fff}.main-content{padding-top:80px;min-height:100vh}.left-section{transition:all .5s ease-in-out}.left-section.call-active{animation:slideInCall .5s ease-out}.call-container{width:100%;height:100%;animation:fadeInContent .5s ease-out}.talk-button{transition:all .3s ease}.talk-button.connecting{opacity:.7;cursor:not-allowed}.talk-button.active{background:red;color:#fff;animation:pulse 2s infinite}.error-message{margin-top:8px;padding:8px 12px;background:red;color:#fff;border:2px solid #000;font-family:JetBrains Mono,monospace;font-size:11px;animation:shake .5s ease-in-out}@keyframes slideInCall{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInContent{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.container{max-width:1400px;margin:0 auto;padding:0 40px;min-height:calc(100vh - 80px);display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.left-section{display:flex;flex-direction:column;justify-content:center;max-width:500px}.right-section{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.about-heading{font-size:clamp(80px,12vw,140px);font-weight:900;margin:0 0 40px -8px;line-height:.9;letter-spacing:-.02em}.about-description{font-size:16px;line-height:1.6;color:#333;max-width:450px}.about-description p{margin:0 0 20px}.about-description p:last-child{margin-bottom:0}.definition-block{margin-bottom:0}.term{font-size:24px;font-weight:600;margin:0 0 8px;color:#000}.pronunciation{font-size:14px;color:#666;margin:0 0 16px;font-style:italic}.part-of-speech{font-size:14px;font-style:italic;margin:0 0 24px;color:#333}.definition-text{font-size:16px;line-height:1.7;color:#333}.definition-text p{margin:0 0 20px}.definition-text p:last-child{margin-bottom:0}.github-link{color:#000;text-decoration:none;font-weight:600;border-bottom:2px solid #000;transition:all .2s ease}.github-link:hover{background:#000;color:#fff;padding:2px 4px}.talk-button-container{position:fixed;bottom:40px;right:40px;z-index:50;display:flex;flex-direction:column;align-items:center}.portrait-image{max-width:200px;height:auto;margin-bottom:0;display:block}.talk-button{background:#b85a7a;color:#fff;border:4px solid #B85A7A;font-size:18px;font-weight:700;padding:20px 40px;cursor:pointer;transition:all .3s ease;font-family:inherit;text-transform:uppercase;letter-spacing:1px;position:relative;overflow:hidden}.talk-button:hover{background:#c8698a;border-color:#c8698a;transform:scale(1.05)}.talk-button:active{transform:scale(.95)}@media (max-width: 1024px){.container{display:flex;flex-direction:column;gap:60px;align-items:center;min-height:auto;padding-top:40px}.left-section,.right-section{width:100%;max-width:600px}.right-section{align-items:center}}@media (max-width: 768px){.header{height:auto;flex-direction:column;position:fixed}.logo{border-right:none;border-bottom:3px solid #000;padding:8px 20px;height:auto;justify-content:center}.navigation{height:auto}.nav-button{flex:1;min-width:80px;height:35px;font-size:12px;padding:0 16px;border-left:3px solid #000;justify-content:center}.nav-button:first-child{border-left:none}.main-content{padding-top:0;min-height:100vh;padding-bottom:120px}.container{padding:20px;min-height:calc(100vh - 120px);grid-template-columns:1fr;gap:40px}.main-content{padding-top:120px;min-height:100vh;padding-bottom:120px}.about-heading{font-size:clamp(60px,20vw,120px);margin-bottom:40px}.definition-block{max-width:100%;margin-bottom:60px}.talk-button-container{position:static;margin-top:40px;display:flex;justify-content:center}}@media (max-width: 480px){.main-content{padding-top:140px}.container{padding-top:60px}.definition-text{font-size:15px}.term{font-size:20px}.nav-button{padding:8px 16px;font-size:13px}}.call-view-container{display:flex;min-height:calc(100vh - 80px);position:relative;width:100%}@media (max-width: 768px){.call-view-container{min-height:100vh;height:100vh;position:fixed;inset:0}}.chat-sidebar{position:fixed;left:0;top:80px;bottom:0;width:400px;background:#fff;border-right:2px solid #000;transform:translate(-400px);transition:transform .3s ease;z-index:50;display:flex}.chat-sidebar.open{transform:translate(0)}.chat-toggle{position:absolute;left:100%;top:50%;transform:translateY(-50%);background:#000;color:#fff;border:none;padding:12px 16px;cursor:pointer;font-size:14px;font-weight:600;writing-mode:vertical-rl;text-orientation:mixed;border-radius:0 4px 4px 0;transition:all .2s ease}.chat-sidebar.open .chat-toggle{left:auto;right:10px;top:10px;transform:none;writing-mode:horizontal-tb;padding:8px 12px;border-radius:4px;background:#f5f5f8;color:#000;border:1px solid #000}.chat-toggle:hover{background:#333}.chat-sidebar.open .chat-toggle:hover{background:#e5e5e8}.call-main-area{flex:1;display:flex;align-items:center;justify-content:center;padding:40px;background:#f5f5f8;width:100%;margin-left:0;transition:margin-left .3s ease}.call-view-container:has(.chat-sidebar.open) .call-main-area{margin-left:400px}.call-content{display:flex;flex-direction:column;align-items:center;gap:24px;width:100%;max-width:100%;position:relative}.portrait-container{position:relative;display:flex;align-items:center;justify-content:center;width:calc(100vw - 80px);max-width:1400px;height:calc(100vh - 180px);max-height:800px}.call-view-container:has(.chat-sidebar.open) .portrait-container{width:calc(100vw - 480px)}.call-portrait{width:200px;height:200px;border:4px solid #000;object-fit:cover;box-shadow:4px 4px #000}.call-status-display{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fff;border:2px solid #000;box-shadow:3px 3px #000}.status-dot{width:10px;height:10px;background:#ccc;animation:none}.status-dot.active{background:#0f0;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.status-text{font-size:14px;font-weight:600;color:#000}.call-controls-container{display:flex;gap:20px}.control-btn{width:60px;height:60px;border:3px solid #000;background:#fff;color:#000;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:3px 3px #000}.control-btn svg{width:24px;height:24px;fill:currentColor}.control-btn:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:5px 5px #000}.control-btn:disabled{opacity:.5;cursor:not-allowed}.mute-btn.muted{background:#f44;color:#fff}.end-call-btn{background:#f44}.end-call-btn:hover{background:red}.call-error-message{position:absolute;bottom:40px;left:50%;transform:translate(-50%);background:#f44;color:#fff;padding:12px 24px;border:2px solid #000;box-shadow:3px 3px #000;font-size:14px;font-weight:500}.back-button{position:fixed;top:20px;left:20px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid #000;color:#000;text-decoration:none;font-size:18px;font-weight:300;z-index:1000;transition:all .2s ease}.back-button:hover{background:#000;color:#fff}:root{--bg: #ffffff;--foreground: #000000;--primary: #000000;--secondary: #000000;--accent: #000000;--muted: #ffffff;--muted-foreground: #333333;--max: 1200px;--spacing: 24px}*{box-sizing:border-box}html,body{height:100%}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--foreground);font-family:Geist,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,video{display:block;max-width:100%;height:auto}.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--spacing)}header{padding:60px 0 0;text-align:left}.mast{text-align:left}.name{font-family:Geist,sans-serif;font-weight:900;font-size:clamp(48px,8vw,80px);line-height:1;color:var(--foreground);letter-spacing:-.02em;margin:0}.tag{color:var(--secondary);font-size:18px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin:12px 0 24px}.contact{display:flex;flex-direction:column;gap:4px;align-items:flex-start;font-size:14px;color:var(--muted-foreground);margin-bottom:0}.contact a{color:inherit;text-decoration:none}.contact a:hover{color:var(--foreground)}.summary{font-size:16px;line-height:1.6;color:var(--muted-foreground);max-width:800px;margin:0 0 24px;font-weight:400}.nav{display:none}.section{margin:40px 0 60px}.section h2{font-size:32px;font-weight:800;color:var(--foreground);margin:0 0 40px;text-transform:uppercase;letter-spacing:.02em;position:relative;padding-bottom:16px}.section h2:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:4px;background:var(--foreground)}.tagline{display:block;font-size:14px;font-weight:400;color:var(--muted-foreground);text-transform:none;letter-spacing:normal;margin-top:8px}.project{display:grid;grid-template-columns:1fr;gap:32px;padding:40px 0}@media (min-width: 768px){.project{grid-template-columns:1fr 300px;align-items:start}}.p-head{margin-bottom:16px}.p-title{font-size:20px;font-weight:700;color:var(--foreground);margin:0 0 8px;text-transform:uppercase;letter-spacing:.02em}.p-badge{display:inline-block;background:var(--secondary);color:#fff;padding:4px 12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}.p-meta{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}.tech-tag{background:var(--muted);color:var(--foreground);padding:4px 8px;font-size:11px;font-family:Geist Mono,monospace;font-weight:500}.p-links{margin-top:16px;display:flex;flex-direction:column;gap:8px}.project-link{color:var(--foreground);text-decoration:underline;font-size:14px;font-weight:500;transition:color .2s ease}.project-link:hover{color:var(--secondary)}.project-url{font-family:Geist Mono,monospace;font-size:12px;color:var(--muted-foreground);margin-top:2px;word-break:break-all}.p-desc{color:var(--muted-foreground);margin-bottom:16px}.bullets{margin:0;padding:0;list-style:none}.bullets li{margin:8px 0;padding-left:16px;position:relative;color:var(--muted-foreground)}.bullets li:before{content:"•";position:absolute;left:0;color:var(--primary);font-weight:700}.item{padding:32px 0}.role{font-size:20px;font-weight:700;color:var(--foreground);margin:0 0 4px}.org{color:var(--secondary);font-weight:600;margin-bottom:8px}.item-header{display:flex;justify-content:space-between;align-items:flex-start;width:100%}.role-info{flex:1}.time{color:var(--muted-foreground);font-family:Geist Mono,monospace;font-size:14px;flex-shrink:0;margin-left:16px;margin-top:4px}@media (min-width: 1200px){.bullets.experience-bullets{columns:2;column-gap:40px;column-fill:balance;align-items:start;margin-top:16px}.bullets.experience-bullets li{break-inside:avoid;margin:12px 0}.bullets.experience-bullets li:first-child{margin-top:0}}.media-grid{display:grid;gap:16px}.ph{aspect-ratio:1/1;border:2px solid var(--muted-foreground);background:var(--muted);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.ph img{width:100%;height:100%;object-fit:cover}.ph .label{position:absolute;bottom:8px;left:8px;background:#fff;color:var(--foreground);padding:4px 8px;font-family:Geist Mono,monospace;font-size:11px;font-weight:600}footer{margin-top:80px;border-top:1px solid var(--muted-foreground);padding:32px 0;text-align:center;color:var(--muted-foreground);font-size:14px}@media print{@page{margin:.9in!important;size:letter!important}html,body{height:auto!important;overflow:visible!important}*{-webkit-print-color-adjust:exact!important;color-adjust:exact!important}body{background:#fff!important;color:#000!important;font-size:18px!important;line-height:1.5!important}.wrap{padding:0!important;max-width:none!important}main.wrap{display:flex!important;flex-direction:column!important;page-break-before:avoid!important}#experience{order:1!important;page-break-before:avoid!important;page-break-after:avoid!important}#experience h2{page-break-after:avoid!important}#experience .tagline,#experience .item:first-child .role{page-break-before:avoid!important;page-break-after:avoid!important}#skills{order:2!important;page-break-before:avoid!important;margin-top:10px!important}#projects{order:3!important;page-break-before:always!important;margin-top:10px!important}#education{order:4!important;margin-top:10px!important;page-break-after:avoid!important}#education .item:last-child{margin-bottom:0!important;padding-bottom:0!important}header{padding:0!important;text-align:left!important;page-break-after:avoid!important}.name{font-size:38px!important;color:#000!important;margin-bottom:0!important;page-break-after:avoid!important}.tag{font-size:16px!important;margin:8px 0!important;color:#666!important;page-break-before:avoid!important;page-break-after:avoid!important}.contact{margin:20px 0 30px!important;font-size:13px!important;gap:2px!important;page-break-inside:avoid!important}.contact span,.contact a{page-break-before:avoid!important;page-break-after:avoid!important}.summary{font-size:14px!important;line-height:1.5!important;margin:8px 0 12px!important;page-break-inside:avoid!important;page-break-after:avoid!important}.nav,.back-button{display:none!important}.section{margin:24px 0!important;page-break-inside:avoid}.section:last-child{margin-bottom:0!important}.section:first-of-type{page-break-before:avoid!important}.section h2{font-size:20px!important;margin:0 0 12px!important;color:#000!important;border-bottom:1px solid #ccc!important;padding-bottom:4px!important}.section h2:after{display:none!important}.tagline{font-size:14px!important;margin-top:2px!important;color:#666!important}.project{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;padding:16px 0!important;border-bottom:1px solid #ddd!important;page-break-inside:avoid}.media-grid,.ph,img{display:none!important}.p-title{font-size:18px!important;margin:0 0 4px!important;color:#000!important}.p-badge{font-size:11px!important;padding:2px 6px!important;background:#666!important;color:#fff!important}.p-desc{font-size:15px!important;color:#444!important;margin-bottom:8px!important}.bullets{font-size:14px!important;color:#444!important}.bullets li{margin:4px 0!important;padding-left:12px!important}.p-meta{margin:8px 0 0!important;gap:4px!important}.tech-tag{font-size:13px!important;padding:2px 4px!important;background:#fff!important;color:#000!important;border:1px solid #ddd!important}.p-links{margin:8px 0 0!important;gap:8px!important}.project-link{font-size:12px!important;color:#000!important;text-decoration:underline!important}.project-url{font-size:10px!important;color:#666!important;margin-top:1px!important}.item{padding:12px 0!important;border-bottom:1px solid #eee!important;page-break-inside:avoid!important;page-break-after:avoid!important}.role{font-size:15px!important;color:#000!important;margin:0 0 2px!important}.org{font-size:14px!important;color:#666!important;margin-bottom:4px!important}.item-header{display:flex!important;justify-content:space-between!important;align-items:flex-start!important}.role-info{flex:1!important}.time{font-size:12px!important;color:#888!important;margin-left:16px!important;margin-top:4px!important;flex-shrink:0!important}.media-grid{display:grid!important;gap:8px!important}.ph{aspect-ratio:1/1!important;border:1px solid #ccc!important;background:#f8f8f8!important;height:180px!important;width:180px!important}.ph .label{font-size:8px!important;background:#fff!important;color:#000!important;padding:2px 4px!important}footer{display:none!important}main.wrap{page-break-after:avoid!important}main.wrap>*:last-child{page-break-after:avoid!important;margin-bottom:0!important}.project,.item{break-inside:avoid}h1,h2,h3{break-after:avoid}}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.awards{margin-top:16px;padding:0;font-family:Geist,sans-serif}.awards-label{font-weight:400;font-style:italic;color:#000;margin-right:8px}.award{font-style:italic;color:#000;font-weight:400}@media print{.awards{font-size:14px!important}.awards-label{font-weight:400!important;font-style:italic!important;color:#000!important}.award{font-style:italic!important;color:#000!important;font-weight:400!important}}
