@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}.article-body img{max-width:100%;height:auto;display:block;margin:22px auto;border:1px solid var(--line);border-radius:8px}.article-stats{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:32px;padding-top:20px;border-top:1px solid var(--line)}.article-stats .views{font-size:13px}.like-btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:14px;color:var(--text-dim);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:7px 16px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.like-btn:hover{color:var(--accent-bright);border-color:var(--line-2)}.like-btn .heart{font-size:16px;line-height:1}.like-btn.on{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.like-btn:disabled{opacity:.6;cursor:default}.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)}.shell-wide{max-width:1320px}.mat{display:grid;grid-template-columns:244px minmax(0,1fr) 212px;gap:40px;align-items:start}.mat-side{position:sticky;top:18px;align-self:start;max-height:calc(100vh - 36px);overflow-y:auto;padding-right:6px;font-family:var(--mono)}.mat-search{position:relative;margin-bottom:18px}.mat-search input{width:100%;box-sizing:border-box;background:var(--surface);color:var(--text-strong);border:1px solid var(--line);border-radius:9px;padding:9px 12px;font-family:var(--mono);font-size:12.5px;outline:none;transition:border-color .14s ease}.mat-search input:focus{border-color:var(--accent)}.mat-search input::placeholder{color:var(--text-dim)}.mat-search-res{position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;background:var(--surface-2);border:1px solid var(--line-2);border-radius:10px;padding:6px;max-height:320px;overflow-y:auto;box-shadow:0 12px 40px #0006}.mat-search-empty{color:var(--text-dim);font-size:12.5px;padding:8px 10px}.mat-search-hit{display:block;width:100%;text-align:left;cursor:pointer;background:transparent;border:0;border-radius:7px;padding:8px 10px}.mat-search-hit:hover{background:var(--accent-soft)}.mat-search-hit .t{display:block;color:var(--accent-bright);font-size:12.5px;font-weight:600}.mat-search-hit .d{display:block;color:var(--text-dim);font-family:var(--sans);font-size:12px;line-height:1.4;margin-top:2px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.mat-tree .mat-part{margin-bottom:18px}.mat-tree .mat-part-t{color:var(--text-dim);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}.mat-tree ul{margin:0;padding:0;list-style:none}.mat-tree li{padding:0;margin:0}.mat-tree li:before{content:none}.mat-tree li a{display:block;color:var(--text);border-bottom:0;font-size:13px;line-height:1.4;padding:6px 10px;border-radius:7px;border-left:2px solid transparent}.mat-tree li a:hover{color:var(--accent-bright);background:var(--surface)}.mat-tree li a.active{color:var(--accent);background:var(--surface);border-left-color:var(--accent);font-weight:600}.mat-toc{position:sticky;top:18px;align-self:start;max-height:calc(100vh - 36px);overflow-y:auto;font-family:var(--mono)}.mat-toc-t{color:var(--text-dim);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}.mat-toc ul{margin:0;padding:0;list-style:none;border-left:1px solid var(--line)}.mat-toc li{padding:0;margin:0}.mat-toc li:before{content:none}.mat-toc li a{display:block;color:var(--text-dim);border-bottom:0;font-size:12px;line-height:1.35;padding:5px 0 5px 12px;margin-left:-1px;border-left:1px solid transparent}.mat-toc li.lvl-3 a{padding-left:24px;font-size:11.5px}.mat-toc li a:hover{color:var(--accent-bright)}.mat-toc li.active a{color:var(--accent);border-left-color:var(--accent)}.mat-burger{display:none;font-family:var(--mono);font-size:13px;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:9px 14px;cursor:pointer;margin-bottom:18px}.mat-burger:hover{color:var(--accent-bright);border-color:var(--line-2)}.mat-scrim{display:none}.mat-doc{min-width:0}.mat-doc h1{font-size:30px;margin-bottom:10px}.mat-doc .crumb{font-family:var(--mono);display:flex;align-items:center;gap:8px;color:var(--text-dim);font-size:12px;margin-bottom:14px}.mat-doc .crumb a{color:var(--text-dim);border-bottom:0}.mat-doc .crumb a:hover{color:var(--accent-bright)}.mat-doc .crumb .sep{opacity:.5}.mat-byline{font-family:var(--mono);display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--text-dim);font-size:12.5px;margin-bottom:14px}.mat-byline .who{color:var(--text)}.mat-byline .who .plus{color:var(--accent)}.mat-byline .sep{opacity:.5}.mat-byline .tags{margin:0}.mat-ai-note{font-size:13px;line-height:1.55;color:var(--text-dim);background:var(--surface);border:1px solid var(--line);border-left:2px solid var(--accent);border-radius:8px;padding:11px 14px;margin-bottom:26px}.mat-ai-note a{font-family:var(--mono);font-size:12.5px}.mat-ai-note.big{font-size:14px;padding:16px 18px;margin:18px 0 34px}.mat-ai-note.big strong{color:var(--accent)}.mat-overview .desc{color:var(--text);max-width:70ch;font-size:16px;margin-bottom:6px}.mat-part-block{margin-top:14px}.mat-part-block h2{font-family:var(--mono);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin:34px 0 4px;display:flex;align-items:center;gap:14px}.mat-part-block h2:after{content:"";flex:1;height:1px;background:var(--line)}.mat-part-blurb{color:var(--text-dim);font-size:13.5px;margin:0 0 14px}.mat-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.mat-card{display:block;text-decoration:none;border-bottom:0;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:14px 16px;transition:border-color .14s ease,transform .14s ease}.mat-card:hover{border-color:var(--line-2);transform:translateY(-2px)}.mat-card .t{display:block;font-family:var(--mono);color:var(--accent-bright);font-size:14px;font-weight:600;margin-bottom:5px}.mat-card .d{display:block;color:var(--text);font-size:13px;line-height:1.5;opacity:.9}.mat-body{font-size:16.5px}.mat-body h2,.mat-body h3{scroll-margin-top:18px}.mat-body .tldr{background:var(--accent-soft);border:1px solid var(--line-2);border-radius:10px;padding:14px 16px 6px;margin:0 0 26px}.mat-body .tldr .tldr-k{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:6px}.mat-body .tldr p{margin:0 0 8px;color:var(--text-strong);max-width:none}.mat-body .cl{border:1px solid var(--line);border-left:3px solid var(--text-dim);background:var(--surface);border-radius:8px;padding:12px 16px;margin:20px 0}.mat-body .cl p{max-width:none;margin:0 0 8px}.mat-body .cl p:last-child{margin-bottom:0}.mat-body .cl .cl-t{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;margin-bottom:6px}.mat-body .cl-note{border-left-color:var(--accent)}.mat-body .cl-note .cl-t{color:var(--accent)}.mat-body .cl-tip{border-left-color:#6fbf8b}.mat-body .cl-tip .cl-t{color:#6fbf8b}.mat-body .cl-warn{border-left-color:#e0894f}.mat-body .cl-warn .cl-t{color:#e0894f}.mat-body .cl-hist{border-left-color:var(--line-2);background:transparent}.mat-body .cl-hist .cl-t{color:var(--text-dim)}html[data-theme=light] .mat-body .cl-tip{border-left-color:#2e7d52}html[data-theme=light] .mat-body .cl-tip .cl-t{color:#2e7d52}.mat-body details.faq{border:1px solid var(--line);border-radius:8px;padding:0;margin:8px 0;background:var(--surface)}.mat-body details.faq summary{cursor:pointer;padding:12px 16px;color:var(--text-strong);font-family:var(--mono);font-size:14px;list-style:none}.mat-body details.faq summary::-webkit-details-marker{display:none}.mat-body details.faq summary:before{content:"+ ";color:var(--accent)}.mat-body details.faq[open] summary:before{content:"– "}.mat-body details.faq[open] summary{border-bottom:1px solid var(--line)}.mat-body details.faq p{margin:0;max-width:none;padding:12px 16px;color:var(--text)}.mat-body table{width:100%;border-collapse:collapse;margin:20px 0;font-size:14.5px}.mat-body th,.mat-body td{border:1px solid var(--line);padding:8px 12px;text-align:left;vertical-align:top}.mat-body th{font-family:var(--mono);color:var(--text-strong);background:var(--surface);font-weight:600}.mat-body pre{position:relative}.mat-body pre .copy-btn{position:absolute;top:8px;right:8px;font-family:var(--mono);font-size:10.5px;color:var(--text-dim);background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:3px 8px;cursor:pointer;opacity:0;transition:opacity .14s ease,color .14s ease}.mat-body pre:hover .copy-btn{opacity:1}.mat-body pre .copy-btn:hover{color:var(--accent-bright);border-color:var(--line-2)}.mat-body pre.mermaid{text-align:center;color:var(--text-dim);font-size:12px}.mat-body pre.mermaid.mermaid-done{background:transparent;border:0;padding:8px 0;overflow-x:auto}.mat-body pre.mermaid svg{max-width:100%;height:auto}.mat-body figure.bpmn{margin:22px 0;padding:8px;background:#fbfbf9;border:1px solid var(--line-2);border-radius:10px}.mat-body figure.bpmn .bpmn-canvas{width:100%;height:400px}.mat-body figure.bpmn .bpmn-canvas svg{max-width:100%}.mat-body figure.bpmn figcaption{font-family:var(--mono);font-size:12px;color:#6b5d44;text-align:center;margin-top:6px}@media (max-width: 600px){.mat-body figure.bpmn .bpmn-canvas{height:300px}}.mat-graph{border:1px solid var(--line);border-radius:12px;background:radial-gradient(120% 100% at 50% 0%,var(--surface),var(--bg));overflow:hidden;margin-top:6px}.mat-graph-canvas{width:100%;height:460px;touch-action:none}.mat-graph-hint{font-family:var(--mono);font-size:12px;color:var(--text-dim);text-align:center;padding:18px}.mat-graph-legend{display:flex;flex-wrap:wrap;gap:6px 14px;padding:12px 16px;border-top:1px solid var(--line);font-family:var(--mono);font-size:11px;color:var(--text-dim)}.mat-graph-legend .lg{display:inline-flex;align-items:center;gap:6px}.mat-graph-legend .lg i{width:9px;height:9px;border-radius:50%;display:inline-block}.mat-graph-tip{padding:0 16px 12px;font-family:var(--mono);font-size:11px;color:var(--text-dim);opacity:.8}@media (max-width: 600px){.mat-graph-canvas{height:340px}}#rv-root{font-family:var(--mono)}.rv-fab{position:fixed;right:16px;bottom:16px;z-index:9000;display:flex;gap:8px;align-items:center}.rv-fab-main,.rv-fab-panel{font-family:var(--mono);font-size:12.5px;cursor:pointer;border-radius:999px;padding:9px 15px;border:1px solid var(--line-2);background:var(--surface-2);color:var(--text);box-shadow:0 6px 24px #00000059;transition:color .14s ease,border-color .14s ease,background .14s ease}.rv-fab-main:hover,.rv-fab-panel:hover{color:var(--accent-bright);border-color:var(--accent)}.rv-fab-main.on{background:var(--accent);color:#1a1206;border-color:var(--accent);font-weight:700}.rv-sel-btn{position:fixed;z-index:9100;font-family:var(--mono);font-size:11.5px;cursor:pointer;background:var(--accent);color:#1a1206;font-weight:700;border:0;border-radius:7px;padding:5px 10px;box-shadow:0 4px 16px #0006}.rv-panel{position:fixed;top:0;right:0;bottom:0;z-index:9050;width:360px;max-width:92vw;background:var(--surface-2);border-left:1px solid var(--line-2);box-shadow:-12px 0 40px #0006;display:flex;flex-direction:column}.rv-panel-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line);font-size:12px;color:var(--text-dim);word-break:break-all}.rv-x{background:0;border:0;color:var(--text-dim);font-size:20px;line-height:1;cursor:pointer}.rv-x:hover{color:var(--accent-bright)}.rv-compose{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.rv-quote-chip{display:flex;align-items:flex-start;gap:8px;justify-content:space-between;background:var(--accent-soft);border:1px solid var(--line-2);border-radius:7px;padding:6px 9px;font-size:11.5px;color:var(--accent-bright);line-height:1.4}.rv-quote-chip button{background:0;border:0;color:var(--text-dim);cursor:pointer;font-size:14px;line-height:1}.rv-compose textarea{width:100%;box-sizing:border-box;resize:vertical;background:var(--bg);color:var(--text-strong);border:1px solid var(--line);border-radius:8px;padding:9px 11px;font-family:var(--sans);font-size:14px;line-height:1.5;outline:none}.rv-compose textarea:focus{border-color:var(--accent)}.rv-add{align-self:flex-start;font-family:var(--mono);font-size:12px;cursor:pointer;background:var(--accent);color:#1a1206;font-weight:700;border:0;border-radius:8px;padding:8px 14px}.rv-add:disabled{opacity:.5;cursor:default}.rv-list{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:10px}.rv-empty{color:var(--text-dim);font-size:12.5px;padding:8px 0}.rv-note{border:1px solid var(--line);border-left:2px solid var(--accent);border-radius:8px;padding:10px 12px;background:var(--surface)}.rv-note.done{opacity:.55;border-left-color:var(--text-dim)}.rv-note-q{font-size:11.5px;color:var(--accent-bright);line-height:1.4;margin-bottom:5px}.rv-note-b{font-family:var(--sans);font-size:13.5px;color:var(--text-strong);line-height:1.5;white-space:pre-wrap}.rv-note-actions{display:flex;gap:14px;margin-top:8px}.rv-note-actions button{background:0;border:0;color:var(--text-dim);font-family:var(--mono);font-size:11px;cursor:pointer;padding:0}.rv-note-actions button:hover{color:var(--accent-bright)}mark.rv-hl{background:#e3a0634d;color:inherit;border-bottom:2px dotted var(--accent);border-radius:2px;cursor:help}@media (max-width: 600px){.rv-panel{width:100vw}}@media (max-width: 1080px){.mat{grid-template-columns:230px minmax(0,1fr);gap:30px}.mat-toc{display:none}}@media (max-width: 760px){.shell-wide{max-width:var(--col)}.mat{display:block}.mat-burger{display:inline-block}.mat-side{position:fixed;top:0;left:0;bottom:0;z-index:50;width:80%;max-width:320px;max-height:none;background:var(--surface-2);border-right:1px solid var(--line-2);padding:22px 18px;transform:translate(-100%);transition:transform .2s ease;overflow-y:auto}.mat.drawer-open .mat-side{transform:translate(0)}.mat.drawer-open .mat-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#00000080}}
