@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-cyrillic-700-normal-BWTpRfYl.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-700-normal-CEoEElIJ.woff) format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/onest-latin-400-normal-bladozIj.woff2) format("woff2"),url(/assets/onest-latin-400-normal-BAzPRZHg.woff) format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/onest-latin-500-normal-qHiQtL66.woff2) format("woff2"),url(/assets/onest-latin-500-normal-oFTiz6Nq.woff) format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/onest-latin-600-normal-jVaZHx2Z.woff2) format("woff2"),url(/assets/onest-latin-600-normal-6nn5mF7m.woff) format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/onest-cyrillic-400-normal-DH8vlB-A.woff2) format("woff2"),url(/assets/onest-cyrillic-400-normal-BxvCLB5P.woff) format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/onest-cyrillic-500-normal-DHyr8B2c.woff2) format("woff2"),url(/assets/onest-cyrillic-500-normal-CyY1vN0Q.woff) format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/onest-cyrillic-600-normal-DiaWg2oX.woff2) format("woff2"),url(/assets/onest-cyrillic-600-normal-CXIKc6w5.woff) format("woff")}:root{--bg: #0A0A0A;--surface: #151210;--surface-2: #1C1813;--accent: #E3A063;--accent-bright: #F2BE86;--accent-soft: rgba(227, 160, 99, .12);--text: #D8C49B;--text-strong: #EEDCB6;--text-dim: #94815F;--line: #2A2418;--line-soft: #1C1810;--line-2: #3A3120;--glow: .1;--blink: 1s;--mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;--sans: "Onest", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--col: 920px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(720px 360px at 26% 2%,rgba(227,160,99,calc(var(--glow))),#e3a06300 66%)}.mono{font-family:var(--mono)}.shell{position:relative;z-index:2;max-width:var(--col);margin:0 auto;padding:24px 40px 100px}.hdr{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:8px 0 16px;margin-bottom:40px;flex-wrap:wrap}.hdr-brand{font-family:var(--mono);color:var(--accent);text-decoration:none;font-weight:700;font-size:16px;display:inline-flex;align-items:baseline}.hdr-brand .brand-ext{color:var(--text-dim)}.hdr-brand:hover .brand-name{color:var(--accent-bright)}.hdr-nav{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-family:var(--mono)}.hdr-nav a{color:var(--text);text-decoration:none;font-size:13px;padding:7px 11px;border-radius:8px;transition:background .14s ease,color .14s ease}.hdr-nav a:hover{color:var(--accent-bright);background:var(--surface)}.hdr-nav a.active{color:var(--accent);background:var(--surface)}.hdr-cta{color:#1a1206!important;background:var(--accent);font-weight:700;padding:7px 14px}.hdr-cta:hover{background:var(--accent-bright)!important;color:#1a1206!important}.theme-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--text-dim);font-size:15px;line-height:1;padding:4px 6px;cursor:pointer;transition:color .15s ease}.theme-toggle:hover{color:var(--accent-bright)}.cursor{display:inline-block;width:.55em;height:1em;margin-left:4px;background:var(--accent);vertical-align:text-bottom;animation:blink var(--blink) steps(2,start) infinite}@keyframes blink{50%{opacity:0}}h1,h2,h3,h4{font-family:var(--mono);color:var(--text-strong);font-weight:500;margin:0 0 14px;line-height:1.3}h1{font-size:24px;color:var(--accent);margin-bottom:8px;letter-spacing:-.01em}h2{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);font-weight:500;margin:50px 0 16px;display:flex;align-items:center;gap:14px}h2:after{content:"";flex:1;height:1px;background:var(--line)}h3{font-size:15px;margin-top:26px;color:var(--text-strong)}p{margin:0 0 14px}p,li{max-width:68ch}a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:color .12s ease,border-color .12s ease}a:hover{color:var(--accent-bright);border-bottom-color:var(--accent-bright)}a.bare,a.bare:hover{border-bottom:0}ul{padding-left:0;list-style:none;margin:0 0 14px}ul li{padding-left:18px;position:relative;margin-bottom:5px}ul li:before{content:"—";position:absolute;left:0;color:var(--text-dim)}.muted{color:var(--text-dim)}.dim{color:var(--text-dim);font-size:13px;font-family:var(--mono)}hr.soft{border:0;border-top:1px solid var(--line);margin:40px 0}.hero{padding:56px 0 26px}.hero-kick{font-family:var(--mono);display:inline-flex;align-items:center;gap:9px;font-size:12px;letter-spacing:.03em;color:var(--text-dim);border:1px solid var(--line);background:var(--surface);padding:6px 13px;border-radius:999px;margin-bottom:26px}.hero-kick .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent)}.hero-line{font-family:var(--mono);font-weight:800;font-size:54px;line-height:1.04;letter-spacing:-.02em;color:var(--text-strong);display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}.hero-line .prompt{color:var(--text-dim);font-weight:400;font-size:.55em}.hero-line s.strike{color:var(--text-dim);font-weight:500;text-decoration:line-through;text-decoration-thickness:4px;text-decoration-color:var(--line-2)}.hero-line .ac{color:var(--accent)}.hero-sub{margin-top:28px;color:var(--text);max-width:60ch;font-size:18px;line-height:1.62}.hero-sub b,.hero-sub strong{color:var(--text-strong);font-weight:600}.page-head{margin-bottom:30px}.page-head .crumb{font-family:var(--mono);display:flex;align-items:center;gap:8px;color:var(--text-dim);font-size:12px;margin-bottom:12px}.page-head .crumb a{color:var(--text-dim);border-bottom:0}.page-head .crumb a:hover{color:var(--accent-bright)}.page-head .crumb .sep{opacity:.5}.page-head h1{font-size:30px}.page-head .desc{color:var(--text);margin:0;max-width:62ch;font-size:17px}.sec-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:6px}.sec-card{display:flex;align-items:center;gap:12px;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;border-bottom:1px solid var(--line);transition:border-color .14s ease,transform .14s ease}.sec-card:hover{border-color:var(--line-2);transform:translateY(-2px);border-bottom-color:var(--line-2)}.sec-card .sec-title{color:var(--text-strong);font-weight:600;font-size:15px}.sec-card .sec-desc{display:none}.sec-card .sec-arrow{margin-left:auto;color:var(--accent);font-family:var(--mono)}@media (max-width: 720px){.sec-list{grid-template-columns:1fr}}.alist{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.acard{display:block;text-decoration:none;background:linear-gradient(180deg,var(--surface),var(--bg));border:1px solid var(--line);border-radius:12px;padding:18px;transition:transform .15s ease,border-color .15s ease}.acard:hover{transform:translateY(-3px);border-color:var(--line-2)}.acard .meta{font-family:var(--mono);display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;font-size:11px;color:var(--text-dim);letter-spacing:.03em;margin-bottom:10px}.acard .title{color:var(--accent-bright);font-weight:600;font-size:16px;line-height:1.3;margin-bottom:8px}.acard:hover .title{color:var(--accent-bright)}.acard .tease{color:var(--text);font-size:14px;line-height:1.55;opacity:.9}@media (max-width: 720px){.alist{grid-template-columns:1fr}}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.tag{font-family:var(--mono);font-size:10.5px;color:var(--accent);background:var(--accent-soft);border:0;padding:3px 9px;border-radius:6px;white-space:nowrap}.tag.solid{color:#1a1206;background:var(--accent)}button.tag{cursor:pointer}.pgrid{display:flex;flex-direction:column;gap:12px}.pcard{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px 22px;transition:border-color .14s ease}.pcard:hover{border-color:var(--line-2)}.pcard .ptitle{font-family:var(--mono);color:var(--accent);font-size:16px;font-weight:500;margin-bottom:8px;display:flex;align-items:baseline;gap:12px}.pcard .ptitle .num{color:var(--text-dim);font-size:12px}.pcard .pdesc{color:var(--text);margin-bottom:8px;font-size:15px;line-height:1.6;max-width:64ch}.pcard .plinks{font-family:var(--mono);display:flex;gap:16px;margin-top:12px;font-size:13px}.pcard .plinks a{color:var(--accent);border-bottom:0}.pcard .plinks a:hover{color:var(--accent-bright)}.tline{display:flex;flex-direction:column}.titem{position:relative;padding:0 0 28px 26px;border-left:1px solid var(--line);margin-left:5px}.titem:last-child{padding-bottom:0}.titem:before{content:"";position:absolute;left:-5px;top:7px;width:9px;height:9px;background:var(--bg);border:2px solid var(--accent);border-radius:50%;box-shadow:0 0 8px #e3a06380}.titem .period{font-family:var(--mono);color:var(--text-dim);font-size:12px;margin-bottom:3px}.titem .role{font-family:var(--mono);color:var(--accent);font-size:16px;margin-bottom:3px}.titem .company{color:var(--text-strong);font-size:14.5px;font-weight:600;margin-bottom:10px}.titem .desc{color:var(--text);font-size:15px;margin-bottom:10px}.titem .desc ul{margin:6px 0}.titem .desc ul li{font-size:14.5px;line-height:1.6}.lgroup{margin-bottom:36px}.lgroup:last-child{margin-bottom:0}.lgroup h3{font-family:var(--mono);display:flex;align-items:baseline;gap:10px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);font-weight:500;padding-bottom:0;margin:0 0 12px;border:0}.lgroup h3 .count{color:var(--text-dim);font-size:11px}.litem{display:grid;grid-template-columns:1fr auto;gap:4px 14px;align-items:baseline;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:10px;margin-bottom:8px;transition:border-color .14s ease}.litem:hover{border-color:var(--line-2)}.litem .lbody a{color:var(--accent-bright);border-bottom:0;font-size:15px;font-weight:600}.litem .lwhy{grid-column:1 / -1;color:var(--text);opacity:.82;font-size:14px;margin-top:2px}.litem .lhost{font-family:var(--mono);color:var(--text-dim);font-size:11px}.article-body{font-size:17px;line-height:1.78;color:var(--text)}.article-body p{max-width:66ch}.article-body h2{font-family:var(--mono);font-size:20px;text-transform:none;letter-spacing:0;margin:38px 0 14px;color:var(--text-strong);display:block}.article-body h2:after{display:none}.article-body h3{font-size:17px;margin-top:26px;color:var(--text-strong)}.article-body blockquote{margin:20px 0;padding:10px 0 10px 18px;border-left:2px solid var(--accent);color:var(--text-strong);font-style:normal;max-width:64ch}.article-body code{font-family:var(--mono);font-size:.88em;color:var(--accent);background:var(--accent-soft);padding:1px 6px;border-radius:4px}.article-body pre{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px 18px;overflow-x:auto;font-family:var(--mono);font-size:13.5px;line-height:1.6;color:var(--text-strong);margin:20px 0;max-width:100%}.article-body pre code{background:transparent;padding:0;color:inherit}.proflist{display:flex;flex-direction:column;gap:8px;margin:8px 0 12px}.proflist .pf{display:grid;grid-template-columns:14ch 1fr;gap:20px;align-items:baseline;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:10px}.proflist .pf .k{font-family:var(--mono);color:var(--accent);font-size:14px}.proflist .pf .v{color:var(--text);font-size:15px;line-height:1.6}@media (max-width: 580px){.proflist .pf{grid-template-columns:1fr;gap:4px}}.about-intro{display:grid;grid-template-columns:180px 1fr;gap:26px;align-items:start;margin-bottom:8px}.about-intro .img-slot,.about-intro .img-empty{width:180px;height:220px}.about-intro .intro-text p:last-child{margin-bottom:0}@media (max-width: 580px){.about-intro{grid-template-columns:1fr}.about-intro .img-slot,.about-intro .img-empty{width:100%;height:240px}}.dogs-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0 8px}.dog-cell{display:flex;flex-direction:column;gap:8px}.dog-cell .img-slot,.dog-cell .img-empty{width:100%;aspect-ratio:4 / 3}.dog-cell .dog-cap{font-family:var(--mono);font-size:12.5px;color:var(--text-dim)}.dog-cell .dog-cap strong{color:var(--accent);font-weight:500}@media (max-width: 480px){.dogs-row{grid-template-columns:1fr}}.skills{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0 24px}@media (max-width: 580px){.skills{grid-template-columns:1fr}}.skill-col{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px 20px}.skill-col h4{font-family:var(--mono);color:var(--accent);font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 12px;font-weight:500}.skill-col ul li{font-size:14.5px;line-height:1.6}.contact-cta{margin:40px 0 8px;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.contact-cta .ctitle{font-family:var(--mono);color:var(--text-strong);font-size:16px}.contact-cta .csub{color:var(--text-dim);font-size:14px;margin-top:4px}.contact-cta a.cta-btn{background:var(--accent);color:#1a1206;font-weight:700;font-size:14px;padding:10px 16px;border-radius:9px;border-bottom:0}.contact-cta a.cta-btn:hover{background:var(--accent-bright);color:#1a1206;border-bottom:0}.ftr{margin-top:80px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start;gap:22px;flex-wrap:wrap;font-family:var(--mono);color:var(--text-dim);font-size:12px}.ftr .ftr-contacts{display:flex;flex-direction:column;gap:5px}.ftr .ftr-contacts a{color:var(--text);border-bottom:0}.ftr .ftr-contacts a:hover{color:var(--accent-bright)}.ftr .ftr-meta{text-align:right}.ftr .ftr-meta .muted{font-size:11px}.back{font-family:var(--mono);display:inline-block;margin-bottom:18px;color:var(--text-dim);font-size:13px;border-bottom:0}.back:hover{color:var(--accent-bright);border-bottom:0}.pn{display:flex;justify-content:space-between;gap:18px;margin-top:40px;padding-top:22px;border-top:1px solid var(--line)}.pn a{flex:1;text-decoration:none;color:var(--text);border-bottom:0;display:flex;flex-direction:column;gap:3px}.pn a.next{text-align:right;align-items:flex-end}.pn a .dim{font-size:11px}.pn a .tt{color:var(--accent);font-size:14.5px;font-weight:600}.pn a:hover .tt{color:var(--accent-bright)}.pn .spacer{flex:1}.img-slot{width:100%;height:100%;object-fit:cover;border-radius:10px;display:block}.img-empty{display:flex;align-items:center;justify-content:center;text-align:center;padding:12px;border:1.5px dashed var(--line-2);border-radius:10px;color:var(--text-dim);font-family:var(--mono);font-size:12px;background:var(--surface)}@media (max-width: 600px){.shell{padding:20px 18px 60px}.hdr{gap:10px;margin-bottom:30px}.hdr-nav{gap:4px;font-size:12.5px}.hero{padding:36px 0 20px}.hero-line{font-size:34px;gap:10px}.page-head h1{font-size:24px}.ftr{flex-direction:column;gap:14px}.ftr .ftr-meta{text-align:left}}::selection{background:#e3a06347;color:var(--text-strong)}a:focus-visible,button:focus-visible,.sec-card:focus-visible,.acard:focus-visible,.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.cursor{animation:none;opacity:1}}html[data-theme=light]{--bg: #FBF8F1;--surface: #F3EEE2;--surface-2: #EBE4D3;--accent: #B45309;--accent-bright: #9A3412;--accent-soft: rgba(180, 83, 9, .1);--text: #2A2318;--text-strong: #14100A;--text-dim: #6E6147;--line: #E2DAC8;--line-soft: #EDE7D9;--line-2: #D3C9B2;--glow: 0}html[data-theme=light] .hdr-cta,html[data-theme=light] .hdr-cta:hover,html[data-theme=light] .tag.solid,html[data-theme=light] .contact-cta a.cta-btn,html[data-theme=light] .contact-cta a.cta-btn:hover{color:#fbf8f1!important}html[data-theme=light] ::selection{background:#b453092e;color:var(--text-strong)}
