@font-face{font-family:Strichpunkt Sans;src:url(./strichpunkt-wide-bold-Cjbwb3gA.woff2)format("woff2");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:Noto Sans;src:url(./noto-regular-Dz-tT26o.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Noto Sans;src:url(./noto-bold-CPRww8x0.woff2)format("woff2");font-style:normal;font-weight:700;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-ink:#bfc3c7;--color-copy:#adb3b9;--color-muted:#8e969d;--color-blue:#bfc3c7;--color-blue-dark:#e6e9eb;--color-surface:#080808;--color-project:#111315;--color-line:#33383c;--font-display:"Strichpunkt Sans", "Noto Sans", sans-serif;--font-body:"Noto Sans", sans-serif;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:3rem;--space-6:4rem;--content-edge:6.45%}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-surface);color:var(--color-ink);font-family:var(--font-body);margin:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--color-blue);outline-offset:4px;border-radius:3px}.skip-link{z-index:100;background:var(--color-ink);color:#fff;border-radius:6px;padding:.65rem 1rem;position:fixed;top:.7rem;left:.7rem;transform:translateY(-150%)}.skip-link:focus{transform:none}.comp-frame{isolation:isolate;background:var(--color-surface);container-type:inline-size}.header-ground{z-index:-1;background:linear-gradient(109deg,#fbfbfb 0 60%,#eaf7ff 60% 100%)}.hero-ground{z-index:-1;background:linear-gradient(109deg,#fbfbfb 0 55%,#eaf7ff 55% 100%)}.brand{z-index:4;white-space:nowrap;font-family:var(--font-body);letter-spacing:-.04em;align-items:flex-start;font-size:2.85cqw;font-weight:700;line-height:1;display:flex}.brand-domain{color:var(--color-blue)}.main-nav a{z-index:4;white-space:nowrap;letter-spacing:-.025em;justify-content:center;align-items:center;font-size:1.11cqw;font-weight:400;line-height:1;transition:color .18s;display:flex}.main-nav a:hover{color:var(--color-blue)}.hero-name{z-index:2;font-family:var(--font-display);letter-spacing:-.035em;white-space:nowrap;transform-origin:0 0;margin:0;font-size:7.36cqw;font-weight:700;line-height:.99;transform:scaleX(.9)}.hero-role{z-index:2;letter-spacing:-.04em;color:#202e47;white-space:nowrap;margin:0;font-size:4.18cqw;font-weight:400;line-height:1.1}.hero-role span{color:#142139;padding-inline:.2em;display:inline-block}.hero-role .hero-specialty{white-space:nowrap;color:inherit;padding-inline:0}.primary-action,.text-action{z-index:3;white-space:nowrap;justify-content:center;align-items:center;gap:.65em;font-size:1.22cqw;line-height:1;display:inline-flex}.primary-action{background:var(--color-blue);color:#fff;border-radius:.65cqw;transition:background .18s,transform .18s,box-shadow .18s;box-shadow:0 8px 18px #075bd81f}.primary-action:hover{background:var(--color-blue-dark);transform:translateY(-2px);box-shadow:0 12px 22px #075bd829}.text-action{color:var(--color-blue);transition:color .18s}.text-action:hover{color:var(--color-blue-dark)}.primary-action svg,.text-action svg{flex:none;width:1.18em;height:1.18em}.project-ground{z-index:-1;background:linear-gradient(105deg,#e8f4fb,#edf8fb 56%,#e8f3fa)}.project-title{z-index:2;letter-spacing:-.04em;white-space:nowrap;transform-origin:0 0;margin:0;font-size:2.38cqw;font-weight:700;line-height:1.2;transform:scaleX(.89)}.project-meta{z-index:2;color:#354965;white-space:nowrap;margin:0;font-size:1.24cqw;line-height:1.4}.project-meta strong{font-weight:700}.tech-chip{z-index:2;color:#3f5372;white-space:nowrap;background:#ffffff21;border:1px solid #c7daee;border-radius:.7cqw;justify-content:center;align-items:center;font-size:1.03cqw;line-height:1;display:flex}.github-action{z-index:3;color:var(--color-blue);white-space:nowrap;align-items:center;gap:.6em;font-size:1.27cqw;line-height:1;transition:color .18s;display:inline-flex}.github-action:hover{color:var(--color-blue-dark)}.github-icon{width:1.33em;height:1.33em}.link-arrow{width:1.18em;height:1.18em}.diagram-caption{z-index:3;color:#526a8d;text-align:right;white-space:nowrap;margin:0;font-size:1.02cqw;line-height:1.35}.diagram-connectors{z-index:1;pointer-events:none;color:var(--color-blue)}.diagram-connectors .line{display:block;position:absolute}.line-vue,.line-postgres{border-left:2px solid;width:0;height:16%;left:7.6%}.line-vue{top:16.3%}.line-postgres{top:65%}.line-vue:before,.line-postgres:before,.line-vue:after,.line-postgres:after{content:"";border-left:4px solid #0000;border-right:4px solid #0000;position:absolute;left:-5px}.line-vue:before,.line-postgres:before{border-bottom:6px solid;top:-2px}.line-vue:after,.line-postgres:after{border-top:6px solid;bottom:-2px}.line-telegram-start,.line-monitor-start{border-top:2px dashed;width:7%;left:63%}.line-telegram-start{top:41%}.line-monitor-start{top:54%}.line-telegram-turn,.line-monitor-turn{border-left:2px dashed;left:70%}.line-telegram-turn{height:38.6%;top:2.4%}.line-monitor-turn{height:17%;top:54%}.line-telegram-end,.line-monitor-end{border-top:2px dashed;left:70%}.line-telegram-end{width:22%;top:2.4%}.line-monitor-end{width:27%;top:71%}.line-telegram-end:after,.line-monitor-end:after{content:"";border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:9px solid;position:absolute;top:-6px;right:-1px}@media (prefers-reduced-motion:no-preference){.diagram-connectors .line{animation:.7s cubic-bezier(.18,.75,.2,1) both signal-arrive}.line-telegram-start,.line-telegram-turn,.line-telegram-end{animation-delay:.1s}.line-monitor-start,.line-monitor-turn,.line-monitor-end{animation-delay:.22s}.project-feature:hover .line-telegram-end:after,.project-feature:hover .line-monitor-end:after{transition:transform .22s cubic-bezier(.2,.8,.2,1);transform:translate(3px)}@keyframes signal-arrive{0%{opacity:.68;filter:blur(1px)}to{opacity:1;filter:blur()}}}.diagram-node{z-index:2;border:1px solid;border-radius:.78cqw;display:block}.node-vue,.node-api{background:#eef9ffb8;border-color:#5bafff}.node-postgres{background:#f6f1ffa8;border-color:#aa86ff}.node-telegram{background:#ebfff4c2;border-color:#35c482}.node-checks{background:#fbfcffd6;border-color:#b7c9e5}.diagram-icon{z-index:3;justify-content:center;align-items:center;display:flex}.diagram-icon svg{width:88%;height:88%}.icon-vue,.icon-api{color:#0579f8}.icon-postgres{color:#9952e7}.icon-telegram{color:#04b96d}.icon-checks{color:#415875}.icon-telegram svg{width:86%;height:86%;transform:translate(10px,2px)}.icon-checks svg{width:95%;height:95%}.diagram-label{z-index:3;white-space:nowrap;flex-direction:column;justify-content:center;gap:.07em;line-height:1.15;display:flex}.diagram-label strong{letter-spacing:-.03em;font-weight:700}.diagram-label small{color:#3c5475;font-size:.75em;line-height:1.26}.r-node-vue-label,.r-node-telegram-label{font-size:1.36cqw}.r-node-telegram-label{left:82.4%}.r-node-api-label{font-size:1.53cqw}.r-node-postgres-label{font-size:1.43cqw}.r-node-postgres-label small{color:#9650e2}.r-node-checks-label{font-size:1.18cqw}.r-node-checks-label small{margin-top:.25em;font-size:.84em}.diagram-mobile{display:none}.about-ground{z-index:-1;background:#fbfbfb}.about-title{z-index:2;letter-spacing:-.04em;margin:0;font-size:3cqw;line-height:1.1}.about-rule{z-index:2;background:linear-gradient(#e3e9f7 50%,#c7d4f0 50%);height:2px;top:89.45%}.about-copy{z-index:2;color:#253a58;margin:0;font-size:1.23cqw;line-height:1.38}.nowrap{white-space:nowrap}.section-shell{width:min(87.1%,1440px);margin-inline:auto}.section-heading{grid-template-columns:minmax(0,32%) minmax(0,1fr);align-items:start;column-gap:5rem;display:grid}.section-heading h2,.additional-projects h2{letter-spacing:-.04em;margin:0;font-size:clamp(2.5rem,4vw,4.5rem);line-height:1.08}.section-heading p{max-width:66ch;color:var(--color-copy);margin:.55rem 0 0;font-size:clamp(1.05rem,1.42vw,1.34rem);line-height:1.65}.stack-section{padding-block:clamp(6rem,9vw,9.5rem)}.stack-list{border-top:1px solid var(--color-line);margin-top:clamp(3rem,5vw,5.5rem)}.stack-row{border-bottom:1px solid var(--color-line);grid-template-columns:minmax(0,32%) minmax(0,1fr);align-items:baseline;column-gap:5rem;padding-block:2.2rem;display:grid}.stack-row h3{letter-spacing:-.02em;margin:0;font-size:clamp(1.16rem,1.65vw,1.6rem);line-height:1.3}.stack-row p{color:var(--color-copy);margin:0;font-size:clamp(1.05rem,1.5vw,1.4rem);line-height:1.5}.project-story{background:var(--color-project);padding-block:clamp(6rem,9vw,9.5rem)}.feature-list{border-top:1px solid #c3d9ed;margin:clamp(3rem,5vw,5.5rem) 0 0}.feature-row{border-bottom:1px solid #c3d9ed;grid-template-columns:minmax(0,32%) minmax(0,1fr);column-gap:5rem;padding-block:2rem;display:grid}.feature-row dt{letter-spacing:-.02em;font-size:clamp(1.12rem,1.6vw,1.55rem);font-weight:700}.feature-row dd{color:var(--color-copy);margin:0;font-size:clamp(1.05rem,1.4vw,1.3rem);line-height:1.55}.story-link{color:var(--color-blue);text-underline-offset:.34em;align-items:center;gap:.8rem;margin-top:3rem;font-size:1.1rem;font-weight:700;text-decoration:underline;transition:color .18s;display:inline-flex}.story-link:hover{color:var(--color-blue-dark)}.story-link svg,.contact-row svg{flex:none;width:1.1em;height:1.1em}.additional-projects{padding-block:7rem}.additional-project{border-bottom:1px solid var(--color-line);grid-template-columns:1.5fr 1fr auto;gap:3rem;padding-block:3rem;display:grid}.additional-project:first-of-type{border-top:1px solid var(--color-line);margin-top:3rem}.additional-project h3{letter-spacing:-.03em;margin:0 0 .8rem;font-size:clamp(1.8rem,2.4vw,2.4rem)}.additional-project p{max-width:65ch;color:var(--color-copy);margin:0;line-height:1.6}.additional-project dl{grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:0;display:grid}.additional-project dt{font-weight:700}.additional-project dd{color:var(--color-copy);margin:0}.additional-project>a{color:var(--color-blue);white-space:nowrap;font-weight:700}.contact-section{background:#f7fbfd;padding-block:clamp(6rem,9vw,9.5rem)}.contact-list{border-top:1px solid var(--color-line);margin-top:clamp(3rem,5vw,5.5rem)}.contact-row{border-bottom:1px solid var(--color-line);grid-template-columns:minmax(0,32%) minmax(0,1fr) auto;align-items:center;column-gap:5rem;min-height:6.5rem;display:grid}.contact-label{color:var(--color-muted);font-size:1.08rem}.contact-row a,.contact-placeholder{letter-spacing:-.03em;align-items:center;gap:.5rem;width:fit-content;font-size:clamp(1.35rem,2.3vw,2.2rem);font-weight:700;display:inline-flex}.contact-row a{color:var(--color-ink);transition:color .18s}.contact-row small{color:var(--color-muted);font-size:.92rem}.site-footer{color:var(--color-copy);justify-content:space-between;align-items:center;gap:1.5rem;padding-block:2.5rem;font-size:.95rem;display:flex}.site-footer span:first-child{color:var(--color-ink);font-weight:700}.site-footer a{color:var(--color-blue);text-underline-offset:.3em;align-items:center;gap:.25em;text-decoration:underline;display:inline-flex}.site-footer a svg{width:1em;height:1em}@media (width<=1100px){.comp-frame{aspect-ratio:auto;display:block;overflow:visible;container-type:normal}.comp-frame [class*=r-]{width:auto;height:auto;position:static;inset:auto}.header-ground,.hero-ground,.about-ground{display:none}.site-header{background:#f8fbfd;padding:1.4rem 6% 1.1rem}.brand{letter-spacing:-.04em;font-size:clamp(1.8rem,5vw,2.3rem);display:inline-flex}.main-nav{justify-content:space-between;gap:.5rem;margin-top:1.65rem;display:flex}.main-nav a{justify-content:flex-start;padding-block:.35rem;font-size:clamp(.79rem,2.3vw,.95rem);display:inline-flex}.hero{background:linear-gradient(112deg,#fbfbfb 0 52%,#eaf7ff 100%);flex-direction:column;align-items:flex-start;gap:0;padding:clamp(3.5rem,9vw,6rem) 6% clamp(4rem,11vw,6.5rem);display:flex}.hero-name{font-size:clamp(4.1rem,13vw,7rem);line-height:.99;transform:none}.hero-role{letter-spacing:-.04em;white-space:normal;max-width:22ch;margin-top:1.1rem;font-size:clamp(1.75rem,5.8vw,3.5rem);line-height:1.18}.hero-role .role-divider{display:none}.hero-role .hero-specialty{margin-top:.18rem;display:block}.primary-action{border-radius:9px;width:auto;min-height:3.25rem;margin-top:2.3rem;padding:.9rem 1.15rem;font-size:1rem}.text-action{width:auto;min-height:2.8rem;margin-top:.8rem;padding:.35rem 0;font-size:1rem}.project-feature{isolation:isolate;background:var(--color-project);padding:3.6rem 6% 4rem;position:relative}.comp-frame .project-ground{z-index:-1;width:100%;height:100%;display:block;position:absolute;inset:0}.project-title{white-space:normal;max-width:100%;font-size:clamp(1.8rem,5.7vw,3rem);line-height:1.18;transform:none}.project-meta{white-space:normal;margin-top:.75rem;font-size:1rem;line-height:1.45}.project-tech{flex-wrap:wrap;gap:.5rem;margin-top:1.6rem;display:flex}.tech-chip{border-radius:9px;min-height:2rem;padding:.4rem .65rem;font-size:.82rem}.github-action{margin-top:1.6rem;font-size:1.05rem}.diagram-caption{text-align:left;white-space:normal;margin-top:3rem;font-size:.82rem;line-height:1.4}.diagram-layer{margin-top:1rem}.diagram-layer>:not(.diagram-mobile){display:none!important}.diagram-mobile{border-top:1px solid #c6dbed;margin:0;padding:0;list-style:none;display:block}.diagram-mobile li{border-bottom:1px solid #c6dbed;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:baseline;gap:.7rem;padding-block:.95rem;display:grid}.diagram-mobile strong{font-size:.94rem;line-height:1.35}.diagram-mobile span{color:#415674;font-size:.85rem;line-height:1.35}.about-intro{background:#fbfbfb;padding:4rem 6% 2.7rem;position:relative}.about-title{font-size:clamp(2.2rem,6vw,3.2rem)}.about-rule{background:var(--color-line);width:100%;margin-top:1rem;display:block;height:1px!important}.about-copy{max-width:42ch;margin-top:1.5rem;font-size:1rem;line-height:1.6}.section-shell{width:88%}.section-heading{grid-template-columns:1fr;gap:.8rem}.section-heading h2,.additional-projects h2{font-size:clamp(2.2rem,6vw,3.5rem)}.section-heading p{margin-top:0;font-size:1rem;line-height:1.6}.stack-section,.project-story,.contact-section{padding-block:4.8rem}.stack-list,.feature-list,.contact-list{margin-top:2.7rem}.stack-row,.feature-row{grid-template-columns:1fr;gap:.55rem;padding-block:1.4rem}.stack-row h3,.feature-row dt{font-size:1.15rem}.stack-row p,.feature-row dd{font-size:1rem}.additional-projects{padding-block:5rem}.additional-project{grid-template-columns:1fr;gap:1.2rem}.contact-row{grid-template-columns:1fr auto;gap:.4rem 1rem;min-height:auto;padding-block:1.25rem}.contact-label{grid-column:1/-1;font-size:.9rem}.contact-row a,.contact-placeholder{font-size:clamp(1.35rem,4.4vw,2rem)}.contact-row small{text-align:right;grid-area:2/2;font-size:.77rem}.site-footer{flex-wrap:wrap;align-items:flex-start;padding-block:2rem;font-size:.85rem}}@media (width<=420px){.main-nav{gap:.25rem}.main-nav a{font-size:.87rem}.hero-role{font-size:1.78rem}.diagram-mobile li{grid-template-columns:1fr 1.15fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html{scrollbar-color:#5e666d #080808}body{background:var(--color-surface)}::selection{color:#080808;background:#bfc3c7}a:focus-visible,button:focus-visible{outline-offset:4px;outline:2px solid #e6e9eb}.skip-link{color:#080808;background:#bfc3c7}.theme-toggle{color:#cbd0d3;cursor:pointer;background:#0808088c;border:1px solid #4b5359;border-radius:7px;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;padding:.5rem;transition:color .18s,border-color .18s,background .18s;display:inline-flex}.theme-toggle:hover{color:#fff;background:#1b1e20;border-color:#bfc3c7}.theme-toggle svg{flex:none;width:1.25rem;height:1.25rem}.comp-frame .theme-toggle{z-index:8;position:absolute;top:1.45%;right:1.6%}.comp-frame{background:#080808}.header-ground{background:linear-gradient(109deg,#080808 0 60%,#111315 60% 100%)}.hero-ground{background:linear-gradient(109deg,#080808 0 55%,#111315 55% 100%)}.brand-domain,.main-nav a:hover{color:#e6e9eb}.hero-role,.hero-role span,.about-copy{color:var(--color-ink)}.primary-action{color:#080808;background:#bfc3c7;box-shadow:0 10px 28px #0000004d}.primary-action:hover{background:#e6e9eb;box-shadow:0 14px 32px #0000005c}.text-action,.github-action,.story-link,.site-footer a{color:#bfc3c7}.text-action:hover,.github-action:hover,.story-link:hover,.site-footer a:hover{color:#fff}.project-ground{background:linear-gradient(105deg,#111315,#171a1d 60%,#101214)}.project-title{letter-spacing:-.015em;white-space:normal;text-wrap:balance;width:43%;font-size:2.08cqw;line-height:1.18;transform:none}.project-meta{color:#aeb4ba}.tech-chip{color:#c3c8cc;background:#bfc3c70e;border-color:#515960}.diagram-caption{color:#929ba2}.diagram-connectors{color:#8b969e}.node-vue,.node-api,.node-postgres,.node-telegram,.node-checks{background:#080808c7;border-color:#626a70}.icon-vue,.icon-api,.icon-postgres,.icon-telegram,.icon-checks{color:#c2c8cc}.icon-telegram path[fill=\#e8fff2]{fill:#111315}.diagram-label small,.r-node-postgres-label small{color:#8f989f}.about-ground{background:#080808}.about-rule{background:linear-gradient(#272c30 50%,#596168 50%)}.project-details-link{z-index:3;color:#bfc3c7;text-underline-offset:.35em;align-items:center;gap:.45em;font-size:1.1cqw;line-height:1.3;text-decoration:underline;transition:color .18s;display:inline-flex;position:absolute;top:74%;left:6.45%}.project-details-link:hover{color:#fff}.stack-section{isolation:isolate;position:relative;overflow:hidden}.stack-section>*{z-index:1;position:relative}.section-heading h2,.additional-projects h2{letter-spacing:-.025em}.section-heading p,.additional-project p,.additional-project dd{color:var(--color-copy)}.stack-section{padding-bottom:clamp(6rem,9vw,9.5rem)}.stack-switcher{margin-top:clamp(3rem,5vw,5.5rem)}.stack-tabs{flex-wrap:wrap;gap:.6rem;display:flex}.stack-tab{color:#adb3b9;min-height:3.15rem;font:600 clamp(.9rem,1.1vw,1.05rem) var(--font-body);cursor:pointer;background:0 0;border:1px solid #4b5359;border-radius:7px;padding:.68rem 1.05rem;transition:background .22s,color .22s,border-color .22s,transform .22s cubic-bezier(.16,1,.3,1);position:relative}.stack-tab:hover{color:#fff;border-color:#bfc3c7;transform:translateY(-3px)}.stack-tab.is-active{color:#080808;background:#bfc3c7;border-color:#bfc3c7}.stack-tab.is-active:hover{color:#080808;background:#e6e9eb;border-color:#e6e9eb}.stack-panel{border-top:1px solid var(--color-line);min-height:11rem;margin-top:2.5rem;padding-top:2.2rem}.stack-panel h3{color:#e3e6e8;letter-spacing:-.025em;margin:0 0 1.65rem;font-size:clamp(1.8rem,2.7vw,2.7rem);line-height:1.15}.stack-technologies{flex-wrap:wrap;gap:.75rem;max-width:80rem;margin:0;padding:0;list-style:none;display:flex}.stack-technologies li{color:#c7cbcf;border:1px solid #444b50;border-radius:7px;padding:.75rem 1rem;font-size:clamp(.95rem,1.15vw,1.12rem);line-height:1.3}.stack-detail{max-width:65ch;color:var(--color-copy);margin:1.7rem 0 0;font-size:1rem;line-height:1.7}@media (prefers-reduced-motion:no-preference){.stack-panel{animation:.32s cubic-bezier(.16,1,.3,1) both stack-panel-in}@keyframes stack-panel-in{0%{opacity:.65;transform:translateY(10px)}to{opacity:1;transform:none}}}.contact-section{background:#101214}.contact-row a{color:#d9dde0}.contact-row a:hover{color:#fff}.contact-placeholder{color:var(--color-copy)}.site-footer span:first-child{color:var(--color-ink)}@media (width<=1100px){.site-header{background:#0d0f10}.comp-frame .site-header .theme-toggle{position:absolute;top:1.1rem;left:auto;right:6%}.hero{isolation:isolate;background:linear-gradient(112deg,#080808 0 52%,#111315 100%);position:relative;overflow:hidden}.project-feature{background:var(--color-project);overflow:hidden}.project-title{letter-spacing:-.015em;width:auto;max-width:34ch;font-size:clamp(1.75rem,5vw,2.8rem);line-height:1.22}.project-details-link{width:fit-content;margin-top:1.15rem;font-size:1rem;display:flex;position:relative;top:auto;left:auto}.diagram-mobile,.diagram-mobile li{border-color:var(--color-line)}.diagram-mobile span{color:var(--color-copy)}.about-intro{background:#080808}.about-rule{background:var(--color-line)}.stack-panel{min-height:11rem}}@media (width<=700px){.stack-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.stack-tab{text-align:left;min-height:3.3rem;padding:.6rem .75rem;font-size:.83rem}.stack-panel{margin-top:2rem}.stack-technologies{gap:.55rem}.stack-technologies li{padding:.65rem .8rem;font-size:.92rem}}@media (prefers-reduced-motion:reduce){.stack-panel{animation:none!important}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-ink:#0b1428;--color-copy:#293b59;--color-muted:#526888;--color-blue:#086af8;--color-blue-dark:#0058d6;--color-surface:#fbfbfb;--color-project:#eaf5fb;--color-line:#c9d9ed}html[data-theme=light]{scrollbar-color:#92aac1 #fbfbfb}html[data-theme=light] ::selection{color:#fff;background:#086af8}html[data-theme=light] a:focus-visible,html[data-theme=light] button:focus-visible{outline-color:#086af8}html[data-theme=light] .skip-link{color:#fff;background:#0b1428}html[data-theme=light] .theme-toggle{color:#293b59;background:#ffffffc7;border-color:#c7d6e6}html[data-theme=light] .theme-toggle:hover{color:#086af8;background:#fff;border-color:#086af8}html[data-theme=light] .comp-frame{background:#fbfbfb}html[data-theme=light] .header-ground{background:linear-gradient(109deg,#fbfbfb 0 60%,#eaf7ff 60% 100%)}html[data-theme=light] .hero-ground{background:linear-gradient(109deg,#fbfbfb 0 55%,#eaf7ff 55% 100%)}html[data-theme=light] .brand-domain,html[data-theme=light] .main-nav a:hover{color:#086af8}html[data-theme=light] .hero-role{color:#202e47}html[data-theme=light] .hero-role span{color:#142139}html[data-theme=light] .hero-role .hero-specialty{color:inherit}html[data-theme=light] .primary-action{color:#fff;background:#086af8;box-shadow:0 8px 18px #075bd81f}html[data-theme=light] .primary-action:hover{background:#0058d6;box-shadow:0 12px 22px #075bd829}html[data-theme=light] .text-action,html[data-theme=light] .github-action,html[data-theme=light] .story-link,html[data-theme=light] .site-footer a{color:#086af8}html[data-theme=light] .text-action:hover,html[data-theme=light] .github-action:hover,html[data-theme=light] .story-link:hover,html[data-theme=light] .site-footer a:hover{color:#0058d6}html[data-theme=light] .project-ground{background:linear-gradient(105deg,#e8f4fb,#edf8fb 56%,#e8f3fa)}html[data-theme=light] .project-meta{color:#354965}html[data-theme=light] .tech-chip{color:#3f5372;background:#ffffff21;border-color:#c7daee}html[data-theme=light] .diagram-caption{color:#526a8d}html[data-theme=light] .diagram-connectors{color:#086af8}html[data-theme=light] .node-vue,html[data-theme=light] .node-api{background:#eef9ffb8;border-color:#5bafff}html[data-theme=light] .node-postgres{background:#f6f1ffa8;border-color:#aa86ff}html[data-theme=light] .node-telegram{background:#ebfff4c2;border-color:#35c482}html[data-theme=light] .node-checks{background:#fbfcffd6;border-color:#b7c9e5}html[data-theme=light] .icon-vue,html[data-theme=light] .icon-api{color:#0579f8}html[data-theme=light] .icon-postgres{color:#9952e7}html[data-theme=light] .icon-telegram{color:#04b96d}html[data-theme=light] .icon-checks{color:#415875}html[data-theme=light] .icon-telegram path[fill=\#e8fff2]{fill:#e8fff2}html[data-theme=light] .diagram-label small{color:#3c5475}html[data-theme=light] .r-node-postgres-label small{color:#9650e2}html[data-theme=light] .project-details-link{color:#086af8}html[data-theme=light] .project-details-link:hover{color:#0058d6}html[data-theme=light] .about-ground{background:#fbfbfb}html[data-theme=light] .about-copy{color:#253a58}html[data-theme=light] .about-rule{background:linear-gradient(#e3e9f7 50%,#c7d4f0 50%)}html[data-theme=light] .stack-tab{color:#293b59;background:#fff;border-color:#c9d9ed}html[data-theme=light] .stack-tab:hover{color:#086af8;border-color:#086af8}html[data-theme=light] .stack-tab.is-active{color:#fff;background:#086af8;border-color:#086af8}html[data-theme=light] .stack-tab.is-active:hover{color:#fff;background:#0058d6;border-color:#0058d6}html[data-theme=light] .stack-panel h3{color:#0b1428}html[data-theme=light] .stack-technologies li{color:#293b59;background:#fff;border-color:#c9d9ed}html[data-theme=light] .contact-section{background:#f7fbfd}html[data-theme=light] .contact-row a{color:#0b1428}html[data-theme=light] .contact-row a:hover{color:#086af8}html[data-theme=light] .contact-placeholder{color:#293b59}html[data-theme=light] .project-page-hero{background:linear-gradient(112deg,#fbfbfb 0 55%,#eaf7ff 100%)}html[data-theme=light] .project-page-hero h1{color:#0b1428}html[data-theme=light] .project-page-hero h1 span:last-child{color:#293b59}html[data-theme=light] .project-page-dash{color:#8093ac}html[data-theme=light] .project-page-lead{color:#293b59}html[data-theme=light] .detail-primary{color:#fff;background:#086af8}html[data-theme=light] .detail-primary:hover{background:#0058d6}html[data-theme=light] .detail-secondary,html[data-theme=light] .detail-outro a{color:#086af8}html[data-theme=light] .detail-secondary:hover,html[data-theme=light] .detail-outro a:hover{color:#0058d6}html[data-theme=light] .project-facts strong,html[data-theme=light] .detail-heading h2,html[data-theme=light] .detail-outro h2,html[data-theme=light] .detail-feature h3{color:#0b1428}html[data-theme=light] .architecture-section{background:#eaf5fb}html[data-theme=light] .architecture-node{background:#fbfbfb;border-color:#bed3e7}html[data-theme=light] .architecture-node--core{border-color:#086af8}html[data-theme=light] .architecture-node strong{color:#0b1428}html[data-theme=light] .architecture-arrow{color:#086af8}@media (width<=1100px){html[data-theme=light] .site-header{background:#f8fbfd}html[data-theme=light] .hero{background:linear-gradient(112deg,#fbfbfb 0 52%,#eaf7ff 100%)}html[data-theme=light] .project-feature{background:#eaf5fb}html[data-theme=light] .about-intro{background:#fbfbfb}html[data-theme=light] .about-rule{background:#c9d9ed}html[data-theme=light] .diagram-mobile,html[data-theme=light] .diagram-mobile li{border-color:#c6dbed}html[data-theme=light] .diagram-mobile span{color:#415674}}
