*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=dark]{--bg-primary:#000;--bg-card:#ffffff08;--bg-card-hover:#ffffff0d;--text-primary:#f5f5f7;--text-secondary:#909098;--text-muted:#585860;--border-subtle:#ffffff14;--border-hover:#ffffff2e;--leader-dot:#ffffff38;--logo-bg:#141416;--control-bg:#ffffff0a;--control-bg-hover:#ffffff14;--control-border:#ffffff1a;--control-active-bg:#ffffff26;--control-active-text:#fff;--accent-emerald:#10b981;--popover-bg:#111113;--popover-border:#ffffff24;--popover-shadow:0 12px 30px -4px #000000bf,0 4px 12px -2px #00000080;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}[data-theme=light]{--bg-primary:#fff;--bg-card:#f7f7f9;--bg-card-hover:#efeff2;--text-primary:#111115;--text-secondary:#585860;--text-muted:#8a8a92;--border-subtle:#00000012;--border-hover:#00000029;--leader-dot:#00000040;--logo-bg:#ececf0;--control-bg:#0000000a;--control-bg-hover:#00000014;--control-border:#00000017;--control-active-bg:#0000001f;--control-active-text:#000;--accent-emerald:#10b981;--popover-bg:#fff;--popover-border:#0000001f;--popover-shadow:0 12px 28px -4px #0000001f,0 4px 12px -2px #00000014}html{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;transition:background-color .2s,color .2s}body{background-color:var(--bg-primary);color:var(--text-primary);justify-content:center;min-height:100vh;margin:0;padding:0;transition:background-color .2s,color .2s;display:flex;overflow-x:hidden}#root{justify-content:center;width:100%;display:flex}.cv-container{width:100%;max-width:680px;margin:0 auto;padding:36px 24px 100px}.pattern-reveal-pending .top-bar,.pattern-reveal-pending .hero-profile,.pattern-reveal-pending .hero-bio,.pattern-reveal-pending .section-label,.pattern-reveal-pending .language-item,.pattern-reveal-pending .work-row,.pattern-reveal-pending .company-card,.pattern-reveal-pending .latest-launch-card,.pattern-reveal-pending .project-row,.pattern-reveal-pending .experiment-card,.pattern-reveal-pending .experiments-view-all,.pattern-reveal-pending .other-work-item,.pattern-reveal-pending .site-footer{opacity:0!important;visibility:hidden!important}.top-bar{justify-content:flex-end;margin-bottom:32px;display:flex}.top-controls{align-items:center;gap:8px;display:flex}.lang-switch{background-color:var(--control-bg);border:1px solid var(--control-border);border-radius:6px;align-items:center;padding:2px;display:inline-flex}.lang-btn{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:500;transition:background-color .15s,color .15s}.lang-btn:hover{color:var(--text-primary)}.lang-btn.active{background-color:var(--control-active-bg);color:var(--control-active-text);font-weight:600}.theme-toggle-btn{background-color:var(--control-bg);border:1px solid var(--control-border);width:28px;height:28px;color:var(--text-muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:inline-flex}.theme-toggle-btn:hover{background-color:var(--control-bg-hover);color:var(--text-primary)}.theme-toggle-btn svg{width:14px;height:14px}.hero-section{margin-bottom:44px}.hero-profile{align-items:center;gap:14px;margin-bottom:22px;display:flex}.avatar-wrapper{background-color:var(--logo-bg);border-radius:50%;flex-shrink:0;width:44px;height:44px;position:relative;overflow:hidden}.avatar-img{object-fit:cover;width:100%;height:100%;display:block}.hero-title-group{flex-direction:column;gap:3px;display:flex}.hero-name{letter-spacing:-.01em;color:var(--text-primary);font-size:18px;font-weight:500;line-height:1.25}.hero-alias{color:var(--text-muted);font-size:12.5px;font-family:var(--font-mono);align-items:center;gap:6px;line-height:1.4;display:inline-flex}.hero-alias__prefix{text-transform:uppercase;letter-spacing:.06em;opacity:.65;font-size:10.5px;font-weight:500}.hero-bio{flex-direction:column;gap:14px;display:flex}.hero-bio p{color:var(--text-secondary);font-size:14.5px;line-height:1.65}.section{margin-bottom:44px}.section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:20px;font-size:11px;font-weight:600}.languages-grid{flex-wrap:wrap;align-items:center;gap:16px 28px;display:flex;position:relative}.language-item{z-index:1;color:var(--text-primary);letter-spacing:-.01em;cursor:pointer;border-radius:6px;align-items:center;gap:8px;margin:-4px -6px;padding:4px 6px;font-size:14.5px;font-weight:500;text-decoration:none;transition:background-color .18s,color .18s;display:inline-flex;position:relative}.language-item:hover,.language-item:focus-within{background-color:var(--control-bg);z-index:999;outline:none}.language-item:focus-visible{background-color:var(--control-bg);z-index:999;outline:none}.language-icon-wrap{border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:relative;overflow:hidden}.language-icon-wrap svg{object-fit:contain;width:100%;max-width:20px;height:100%;max-height:20px;display:block}.lang-svg-icon{flex-shrink:0}.language-name{color:var(--text-primary);letter-spacing:-.01em;white-space:nowrap;font-size:14px;font-weight:500}.language-popover{opacity:0;visibility:hidden;pointer-events:none;z-index:100;background-color:var(--popover-bg);border:1px solid var(--popover-border);min-width:170px;max-width:230px;box-shadow:var(--popover-shadow);border-radius:8px;padding:10px 12px;transition:opacity .18s cubic-bezier(.16,1,.3,1),transform .18s cubic-bezier(.16,1,.3,1),visibility .18s;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(-4px)}.language-popover:before{content:"";border-style:solid;border-width:0 6px 6px;border-color:transparent transparent var(--popover-border)transparent;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.language-popover:after{content:"";border-style:solid;border-width:0 5px 5px;border-color:transparent transparent var(--popover-bg)transparent;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.language-item:hover .language-popover{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%)translateY(0)}.language-item:focus-visible .language-popover{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%)translateY(0)}.popover-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px;padding-bottom:5px;display:flex}.popover-title{letter-spacing:.02em;color:var(--text-primary);font-size:11px;font-weight:600;font-family:var(--font-mono)}.popover-level{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:9.5px;font-weight:500}.popover-stack-tags{flex-wrap:wrap;gap:4px 5px;display:flex}.popover-tag{font-size:11px;font-family:var(--font-mono);color:var(--text-secondary);background-color:var(--control-bg);border:1px solid var(--border-subtle);white-space:nowrap;border-radius:4px;align-items:center;gap:4.5px;padding:2.5px 6.5px;font-weight:500;line-height:1.2;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex}.stack-svg-icon{flex-shrink:0;width:12px;height:12px;display:block}.popover-tag:hover{color:var(--text-primary);border-color:var(--border-hover);background-color:var(--control-bg-hover)}.work-list{flex-direction:column;gap:16px;display:flex}.work-row{justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex;position:relative}.work-left{white-space:nowrap;color:var(--text-primary);flex-shrink:0;align-items:center;gap:10px;font-weight:500;display:flex}.company-logo-reveal{border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex;position:relative;overflow:hidden}.company-logo-reveal svg{width:18px;height:18px;display:block}.company-logo-reveal img,.company-logo-img{object-fit:contain;border-radius:3px;width:16px;height:16px;display:block}.company-logo-fallback{width:18px;height:18px;font-size:10px;font-weight:700;font-family:var(--font-mono);color:var(--text-secondary);background-color:var(--logo-bg);text-transform:uppercase;border-radius:4px;justify-content:center;align-items:center;line-height:1;display:flex}.work-company{color:var(--text-primary);font-size:14px;font-weight:500}.work-leader{border-bottom:1px dotted var(--leader-dot);flex:1;min-width:20px;height:1px;margin:0 4px}.work-right{white-space:nowrap;flex-shrink:0;align-items:baseline;gap:14px;display:flex}.work-role{color:var(--text-secondary);font-size:13.5px}.work-period{color:var(--text-muted);font-size:13px}.latest-launch-card{background-color:var(--bg-card);border:1px solid var(--border-subtle);color:inherit;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:16px 20px;text-decoration:none;transition:border-color .2s,background-color .2s;display:grid}.latest-launch-card:hover{background-color:var(--bg-card-hover);border-color:var(--border-hover)}.launch-left{flex-shrink:0;align-items:center;gap:12px;display:flex}.launch-icon-reveal{background-color:var(--logo-bg);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex;position:relative;overflow:hidden}.launch-icon-reveal svg{width:24px;height:auto;max-height:20px;color:var(--text-primary)}.launch-title-block{flex-direction:column;gap:2px;display:flex}.latest-title{color:var(--text-primary);white-space:nowrap;font-size:14.5px;font-weight:500}.latest-tagline{letter-spacing:.05em;color:var(--text-secondary);text-transform:uppercase;font-size:10px;font-weight:600}.latest-desc{color:var(--text-secondary);font-size:13px;line-height:1.5}.latest-arrow{color:var(--text-muted);flex-shrink:0;font-size:14px;transition:transform .2s,color .2s}.latest-launch-card:hover .latest-arrow{color:var(--text-primary);transform:translate(2px,-2px)}.section-companies{margin-bottom:44px}.companies-list{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.company-card{background-color:var(--bg-card);border:1px solid var(--border-subtle);color:inherit;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;transition:border-color .2s,background-color .2s,transform .2s;display:flex;position:relative;overflow:hidden}.company-card:hover{background-color:var(--bg-card-hover);border-color:var(--border-hover);transform:translateY(-1.5px)}.company-card-icon-reveal{background-color:var(--logo-bg);border:1px solid var(--border-subtle);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:relative;overflow:hidden}.company-card-icon-reveal svg{width:20px;height:20px;display:block}.company-card-name{letter-spacing:-.01em;color:var(--text-primary);white-space:nowrap;flex:1;font-size:14.5px;font-weight:500}.company-card-arrow{color:var(--text-muted);opacity:.6;flex-shrink:0;margin-left:auto;font-size:13px;transition:transform .2s,opacity .2s,color .2s}.company-card:hover .company-card-arrow{color:var(--text-primary);opacity:1;transform:translate(2px,-2px)}.projects-list{flex-direction:column;display:flex}.project-row{border-bottom:1px solid var(--border-subtle);color:inherit;grid-template-columns:160px 1fr auto;align-items:baseline;gap:16px;padding:14px 0;text-decoration:none;transition:opacity .15s;display:grid}.project-row:first-child{border-top:1px solid var(--border-subtle)}.project-row:hover{opacity:.85}.project-title{color:var(--text-primary);font-size:14px;font-weight:500}.project-desc{color:var(--text-secondary);font-size:13.5px;line-height:1.5}.project-arrow{color:var(--text-muted);flex-shrink:0;font-size:13px;transition:transform .2s,color .2s}.project-row:hover .project-arrow{color:var(--text-primary);transform:translate(2px,-2px)}.section-experiments{margin-bottom:44px}.experiments-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.experiment-card{background-color:var(--bg-card);border:1px solid var(--border-subtle);color:inherit;border-radius:12px;flex-direction:column;text-decoration:none;transition:border-color .2s,background-color .2s,transform .2s;display:flex;overflow:hidden}.experiment-card:hover{background-color:var(--bg-card-hover);border-color:var(--border-hover);transform:translateY(-2px)}.experiment-preview{background-color:#fff;justify-content:center;align-items:center;width:100%;height:200px;display:flex;position:relative;overflow:hidden}.experiment-preview-img{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform .35s;display:block}.experiment-card:hover .experiment-preview-img{transform:scale(1.04)}.experiment-info{background-color:var(--bg-card);border-top:1px solid var(--border-subtle);align-items:center;padding:13px 16px;display:flex}.experiment-title{color:var(--text-primary);font-size:13.5px;font-weight:500;line-height:1.4}.experiments-view-all{background-color:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:8px;align-items:center;gap:8px;width:-moz-fit-content;width:fit-content;margin-top:20px;padding:8px 16px;font-size:13px;font-weight:500;text-decoration:none;transition:background-color .2s,border-color .2s;display:inline-flex}.experiments-view-all:hover{background-color:var(--bg-card-hover);border-color:var(--border-hover)}.view-all-arrow{color:var(--text-muted);font-size:13px;transition:transform .2s,color .2s}.experiments-view-all:hover .view-all-arrow{color:var(--text-primary);transform:translate(3px)}.section-other-works{margin-bottom:44px}.other-works-list{flex-wrap:wrap;align-items:center;gap:16px 28px;display:flex}.other-work-item{color:var(--text-primary);letter-spacing:-.01em;align-items:center;gap:6px;font-size:17px;font-weight:500;text-decoration:none;transition:opacity .15s;display:inline-flex}.other-work-item:hover{opacity:.85}.other-work-title{color:var(--text-primary)}.other-work-arrow{color:var(--text-muted);font-size:14px;transition:transform .2s,color .2s}.other-work-item:hover .other-work-arrow{color:var(--text-primary);transform:translate(2px,-2px)}.site-footer{margin-top:48px;padding-top:16px}.footer-links{flex-wrap:wrap;gap:20px;margin-bottom:32px;display:flex}.footer-link{color:var(--text-secondary);align-items:center;gap:4px;font-size:13.5px;text-decoration:none;transition:color .15s;display:inline-flex}.footer-link:hover{color:var(--text-primary)}.link-arrow{color:var(--text-muted);font-size:12px}.footer-meta{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:12px;display:flex}.pattern-text-wrapper{display:inline;position:relative}.pattern-reveal__sr{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pattern-reveal__visual{display:inline;position:relative}.pattern-reveal__word{cursor:inherit;vertical-align:baseline;margin-right:.26em;display:inline-block;position:relative}.pattern-reveal__word:last-child{margin-right:0}.pattern-reveal__cover{pointer-events:none;background-color:var(--bg-primary);z-index:2;border-radius:2px;position:absolute;top:-1px;bottom:-2px;left:-2px;right:-2px;overflow:hidden}.pattern-reveal__cover svg{width:100%;height:100%;display:block}.media-pattern{pointer-events:none;background-color:var(--bg-primary);z-index:10;border-radius:inherit;display:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.media-pattern svg{width:100%;height:100%;display:block}@media (max-width:640px){.cv-container{padding:24px 16px 80px}.work-row{flex-direction:column;align-items:flex-start;gap:4px}.work-leader{display:none}.work-right{gap:10px;padding-left:28px}.company-card{padding:10px 12px}.latest-launch-card{grid-template-columns:1fr auto;gap:12px}.launch-left{grid-column:1/-1}.project-row{grid-template-columns:1fr auto;gap:6px}.project-desc-wrap{grid-column:1/-1}.experiments-grid{grid-template-columns:1fr}.other-works-list{gap:14px 20px}.other-work-item{font-size:15.5px}.footer-meta{flex-direction:column;align-items:flex-start;gap:6px}}