@charset "UTF-8";:root{--clr-bg: #0e0f12;--clr-text: #eaeaea;--clr-accent: #00c6ff;--clr-accent-alt: #008cff;--clr-card-bg: #16181d;--clr-card-bg-alt: rgba(255, 255, 255, .03);--clr-border: rgba(255, 255, 255, .08);--clr-border-light: rgba(255, 255, 255, .06);--clr-shadow-accent: 0 0 25px rgba(0, 198, 255, .05);--clr-shadow-accent-hover: 0 0 25px rgba(0, 198, 255, .2);--clr-shadow-strong: 0 0 60px rgba(138, 43, 226, .4);--clr-vk: #4c75a3;--clr-tg: #2aabee;--clr-wa: #25d366;--clr-fb: #1877f2;--clr-tw: #ffffff;--clr-email: #f1c40f;--clr-text-muted: #999999;--clr-text-label: #9ea7b3;--clr-text-inverse: #ffffff;--light-text-muted: #666666;--light-text-label: #555555;--light-bg: #f9fafb;--light-text: #111;--light-accent: #0072ff;--light-card-bg: #ffffff;--light-border: rgba(0, 0, 0, .1);--light-card-bg-alt: rgba(0, 0, 0, .02);--light-border-light: rgba(0, 0, 0, .06);--radius-xs: 4px;--radius-s: 6px;--radius-m: 8px;--radius-l: 10px;--radius-xl: 14px;--radius-xxl: 1rem;--radius-round: 50%;--space-xxs: .3rem;--space-xs: .5rem;--space-s: .8rem;--space-m: 1rem;--space-l: 1.2rem;--space-xl: 1.5rem;--space-2xl: 2rem;--container-max: 820px;--container-padding: 2rem;--fs-xs: .75rem;--fs-s: .85rem;--fs-m: .95rem;--fs-base: 1rem;--fs-l: 1.3rem;--fs-xl: 2rem;--shadow-m: 0 4px 12px rgba(0, 0, 0, .3);--shadow-l: 0 4px 16px rgba(0, 0, 0, .35);--shadow-xl: 0 0 40px rgba(0, 198, 255, .3);--transition-fast: .2s ease;--transition-base: .3s ease;--transition-slow: .5s ease;--blur-backdrop: blur(12px);--bp-mobile: 480px;--bp-tablet: 768px;--bp-laptop: 1024px;--bp-desktop: 1280px;--bp-desktop-xl: 1536px;--min-mobile: 0px;--min-tablet: 481px;--min-laptop: 769px;--min-desktop: 1025px;--min-desktop-xl: 1281px;--container-padding-mobile: 1rem;--container-padding-tablet: 1.5rem;--container-padding-desktop: 2rem;--container-max-mobile: 100%;--container-max-tablet: 640px;--container-max-laptop: 880px;--container-max-desktop: 1200px;--container-max-desktop-xl: 1400px;--header-height-mobile: 56px;--header-height-tablet: 64px;--header-height-desktop: 74px;--grid-cols-mobile: 1;--grid-cols-tablet: 2;--grid-cols-laptop: 3;--grid-cols-desktop: 4;--grid-gap-mobile: 1rem;--grid-gap-tablet: 1.2rem;--grid-gap-desktop: 1.5rem;--fs-h1-mobile: 1.8rem;--fs-h1-desktop: 2.4rem;--fs-h2-mobile: 1.4rem;--fs-h2-desktop: 1.8rem;--fs-base-mobile: .95rem;--fs-base-desktop: 1rem;--radius-mobile: 8px;--radius-desktop: 12px;--shadow-mobile: 0 4px 12px rgba(0, 0, 0, .25);--shadow-desktop: 0 6px 18px rgba(0, 0, 0, .3);--space-1: var(--space-xxs);--space-2: var(--space-xs);--space-3: var(--space-s);--space-4: var(--space-m);--space-5: var(--space-l);--space-6: var(--space-xl);--space-7: var(--space-2xl)}:root{--bg: var(--clr-bg);--text: var(--clr-text);--accent: var(--clr-accent);--card-bg: var(--clr-card-bg);--border: var(--clr-border);--shadow: var(--shadow-l);--card: var(--clr-card-bg);--transition: var(--transition-base)}body.light{--clr-bg: var(--light-bg);--clr-text: var(--light-text);--clr-accent: var(--light-accent);--clr-card-bg: var(--light-card-bg);--clr-card-bg-alt: var(--light-card-bg-alt);--clr-border: var(--light-border);--clr-border-light: var(--light-border-light);--clr-text-muted: var(--light-text-muted);--clr-text-label: var(--light-text-label);--clr-text-inverse: #ffffff;--clr-shadow-accent: 0 0 25px rgba(0, 0, 0, .05);--clr-shadow-accent-hover: 0 4px 15px rgba(0, 114, 255, .25);--clr-shadow-strong: 0 0 40px rgba(0, 114, 255, .15);--shadow-m: 0 4px 12px rgba(0, 0, 0, .15);--shadow-l: 0 4px 16px rgba(0, 0, 0, .2);--shadow-xl: 0 0 40px rgba(0, 114, 255, .2);--shadow-mobile: 0 4px 12px rgba(0, 0, 0, .1);--shadow-desktop: 0 6px 18px rgba(0, 0, 0, .15);--bg: var(--light-bg);--text: var(--light-text);--accent: var(--light-accent);--card-bg: var(--light-card-bg);--border: var(--light-border);--shadow: 0 4px 16px rgba(0, 0, 0, .2);--card: var(--light-card-bg)}@media(prefers-color-scheme:light){:root{--bg: var(--light-bg);--text: var(--light-text);--accent: var(--light-accent);--card-bg: var(--light-card-bg);--border: var(--light-border)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;touch-action:manipulation}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;text-rendering:optimizeLegibility}body{line-height:1.5;font-family:system-ui,-apple-system,Inter,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg);color:var(--text)}img,picture,video,canvas,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit;border:0;background:none;outline:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button,a[role=button],input[type=button],input[type=submit],input[type=reset]{min-height:44px;min-width:44px}a{color:inherit;text-decoration:none;transition:.2s}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-weight:inherit;line-height:1.2}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent);color:var(--clr-text-inverse)}:root{font-family:Inter,sans-serif}html{height:100%;overflow-x:hidden;width:100%;max-width:100vw}body{background:var(--bg);color:var(--text);min-height:100dvh;min-height:-webkit-fill-available;display:flex;flex-direction:column;margin:0;padding:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);transition:background var(--transition),color var(--transition);overflow-x:hidden;-webkit-overflow-scrolling:touch;width:100%;max-width:100vw;box-sizing:border-box}body.light{--bg: #f9fafb;--text: #111;--accent: #0072ff;--card-bg: #ffffff;--border: rgba(0, 0, 0, .1);--shadow: 0 0 25px rgba(0, 0, 0, .05);--card: #fff}body.light:before{background:radial-gradient(ellipse at top,rgba(0,114,255,.08),transparent 70%),radial-gradient(ellipse at bottom,rgba(138,43,226,.06),transparent 70%);opacity:.3}body:before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse at top,rgba(0,198,255,.25),transparent 70%),radial-gradient(ellipse at bottom,rgba(138,43,226,.2),transparent 70%);background-size:100% 100%;animation:gradientShift 20s ease-in-out infinite alternate;filter:blur(40px);opacity:.4;pointer-events:none;transition:background var(--transition-base),opacity var(--transition-base)}main{flex:1 0 auto;width:100%;overflow-x:hidden;position:relative;display:flex;flex-direction:column}@keyframes gradientShift{0%{transform:scale(1) translateY(0)}to{transform:scale(1.05) translateY(-20px)}}@keyframes avatarPulse{0%,to{box-shadow:0 0 25px #00c6ff33,0 0 50px #8a2be233}50%{box-shadow:0 0 35px #00c6ff66,0 0 60px #8a2be24d}}h1{font-size:2rem;margin-top:1rem}@media(max-width:640px){h1{font-size:1.5rem}}h2{color:var(--accent);font-size:1.3rem;margin-bottom:1rem}ul{list-style:none;padding-left:0}ul li{padding:.3rem 0}.wrapper{background:var(--card-bg);border-radius:1rem;padding:1.5rem 1.7rem;border:1px solid var(--border);box-shadow:var(--shadow);max-width:100%;overflow-x:hidden;box-sizing:border-box}@media(max-width:640px){.wrapper{padding:1rem 1.2rem}}.main{display:flex;flex-direction:column;flex:1;gap:var(--container-padding-mobile)}@media(min-width:768px){.main{gap:var(--container-padding-tablet)}}@media(min-width:1200px){.main{gap:var(--container-padding-desktop)}}.main>.site-footer{margin-top:auto}.info-section__inner{display:grid;gap:var(--space-m)}.info-section__subtitle{margin:0;opacity:.75;line-height:1.45}.info-section__body{display:grid;gap:var(--space-s)}.info-section__body p{margin:0;line-height:1.65;opacity:.92}.info-section__body b{color:var(--accent);font-weight:650}.section-title{margin:0}.section-stat{background:#ffffff0a;border:1px solid var(--border);border-radius:12px;padding:.6rem .8rem;min-width:130px}.section-stat__value{display:block;font-weight:700;color:var(--accent)}.wave{display:inline-block;transform-origin:70% 70%;margin-right:4px;animation:waveBounce 1.8s cubic-bezier(.22,.61,.36,1) infinite}.hello-title{opacity:0;transform:translateY(6px);animation:fadeHello .8s ease forwards}@keyframes fadeHello{to{opacity:1;transform:translateY(0)}}@keyframes waveBounce{0%{transform:rotate(0)}10%{transform:rotate(18deg)}22%{transform:rotate(-12deg)}34%{transform:rotate(14deg)}46%{transform:rotate(-8deg)}58%{transform:rotate(10deg)}70%{transform:rotate(-4deg)}82%{transform:rotate(4deg)}to{transform:rotate(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.fade-out{opacity:0;transform:translateY(20px);transition:opacity var(--transition-slow) ease,transform var(--transition-slow) ease}.fade-in{opacity:1!important;transform:translateY(0)!important}.container{width:100%;margin:0 auto;padding-inline:var(--container-padding-mobile);max-width:var(--container-max-mobile);overflow-x:hidden;box-sizing:border-box}@media(min-width:768px){.container{padding-inline:var(--container-padding-tablet);max-width:var(--container-max-tablet)}}@media(min-width:1200px){.container{padding-inline:var(--container-padding-desktop);max-width:var(--container-max-desktop)}}.projects-list{display:flex;flex-direction:column;gap:1.3rem}.projects-list li{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xxl);padding:1rem 1.2rem;transition:var(--transition-base)}.projects-list li:hover{background:#00c6ff14;transform:translateY(-2px)}.projects-list a{color:var(--clr-accent);font-weight:500}.tech{margin-top:.8rem;display:flex;flex-wrap:wrap;gap:.6rem}.tech span{font-size:.8rem;padding:.3rem .6rem;border:1px solid var(--clr-border);border-radius:var(--radius-s);background:#ffffff0d;color:var(--clr-accent);transition:background var(--transition-fast)}.tech span:hover{background:var(--clr-accent);color:var(--clr-text-inverse)}.section-subtitle{margin:.35rem 0 0;opacity:.75;line-height:1.4}.section-body{display:grid;gap:var(--space-s)}.contact-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.4rem}.contact-action{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1rem;border-radius:12px;border:1px solid var(--clr-border);background:#ffffff0a;color:var(--clr-text);text-decoration:none;transition:var(--transition-fast)}.contact-action:hover{border-color:var(--clr-accent);color:var(--clr-text-inverse);background:var(--clr-accent);box-shadow:0 0 25px #00c6ff33;transform:translateY(-1px)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}@media(max-width:900px){.section-head{flex-direction:column;align-items:flex-start}}.section-stats{display:flex;gap:.6rem;flex-wrap:wrap}.section-stat{background:#ffffff0a;border:1px solid var(--clr-border);border-radius:12px;padding:.6rem .8rem;min-width:130px}@media(max-width:900px){.section-stat{min-width:0}}body.light .section-stat{background:#00000008}.section-stat__label{display:block;font-size:12px;opacity:.7}.section-stat__value{display:block;font-weight:700;color:var(--clr-accent)}.contact-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-top:.8rem}.contact-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;text-decoration:none;color:inherit;background:#ffffff08;padding:1.1rem 1.2rem;border-radius:14px;border:1px solid var(--clr-border);box-shadow:0 0 15px #00c6ff14;transition:.25s ease}.contact-card:hover{border-color:var(--clr-accent);transform:translateY(-2px);box-shadow:0 0 25px #00c6ff26}.contact-card__left{display:flex;align-items:center;gap:.9rem;min-width:0}.contact-card__right{display:flex;align-items:center;gap:.6rem;text-align:right}@media(max-width:900px){.contact-card__right{display:none}}.contact-ico{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--clr-border);background:#ffffff0a;flex:0 0 auto}.contact-meta{display:grid;gap:.15rem;min-width:0}.label{color:var(--clr-text-label);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.contact-value{color:var(--clr-accent);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:48ch}.contact-hint{font-size:12px;opacity:.7}.contact-arrow{color:var(--clr-accent);font-weight:800}.muted{opacity:.75}.info-list li{list-style:disc}.certificates{margin:0;padding:0;position:relative}.certificates-subtitle{text-align:start;margin-bottom:1rem}.cert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin:1rem 0}.cert-item{background:var(--card);border:1px solid var(--border);border-radius:.8rem;padding:1rem;box-shadow:var(--shadow);transition:transform var(--transition-base),box-shadow var(--transition-base);cursor:pointer}.cert-item .cert-title{margin-top:10px;font-weight:500}.cert-item .cert-date{font-size:13px;opacity:.7}.cert-item p{margin:.8rem 0 .3rem;color:var(--text);font-weight:500}.cert-item:hover{transform:translateY(-4px);box-shadow:0 0 25px #00c6ff33}.cert-item:hover .cert-thumb{opacity:.9}.cert-thumb{width:100%;border-radius:.5rem;border:1px solid var(--border);transition:opacity var(--transition-fast)}.cert-date{font-size:.85rem;color:var(--clr-text-muted)}.cert-filter{display:flex;gap:.7rem;margin-bottom:1.5rem;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;overflow-y:visible;padding:.6rem .4rem;scrollbar-width:none}.cert-filter::-webkit-scrollbar{display:none}.cert-filter button{position:relative;flex-shrink:0;white-space:nowrap;padding:.5rem 1rem;border-radius:10px;background:#ffffff0f;border:1px solid var(--border);color:var(--text);font-size:.92rem;font-weight:500;cursor:pointer;transition:all .25s ease;backdrop-filter:var(--blur-backdrop);box-shadow:0 1px 3px #0000001a}.cert-filter button:hover{background:#ffffff1a;border-color:var(--clr-accent);color:var(--clr-accent);transform:translateY(-1px);box-shadow:0 4px 12px #00c6ff26}.cert-filter button.active{background:var(--clr-accent);color:var(--clr-text-inverse);border-color:var(--clr-accent);box-shadow:0 4px 10px #00c6ff59;transform:translateY(-2px);font-weight:600}.cert-filter button.active:before{content:"";position:absolute;inset:0;border-radius:10px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer 2s infinite;pointer-events:none}@media(max-width:480px){.cert-filter{overflow-x:auto;overflow-y:visible;flex-wrap:nowrap;justify-content:flex-start;gap:.6rem}.cert-filter button{flex-shrink:0;white-space:nowrap}.cert-filter::-webkit-scrollbar{display:none}}[x-cloak]{display:none!important}.modal-cert{position:fixed;inset:0;z-index:10010;display:flex;align-items:center;justify-content:center;padding:clamp(12px,3vw,28px);background:#000000c7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-cert .modal-cert-content{position:relative;width:min(1100px,100%);max-height:92svh;background:var(--clr-card-bg);border:1px solid var(--clr-border);border-radius:14px;box-shadow:0 0 40px #00c6ff38;overflow:hidden}.modal-cert .modal-image-wrap{display:flex;align-items:center;justify-content:center;background:#ffffff05;min-height:400px;width:100%}.modal-cert .modal-image-wrap picture{width:100%;display:flex;align-items:center;justify-content:center}.modal-cert .modal-image{width:100%;max-height:78svh;object-fit:contain;display:block}@media(max-width:480px){.modal-cert .modal-image{max-height:72svh}}.modal-cert .modal-meta{padding:12px 16px;text-align:center;border-top:1px solid var(--border);background:#ffffff05}@media(max-width:480px){.modal-cert .modal-meta{padding:10px 12px}}.modal-cert .modal-title{margin:6px 0 2px;color:var(--text);font-weight:600}.modal-cert .modal-date{font-size:13px;opacity:.75;color:var(--text)}.modal-cert .modal-close{position:absolute;top:12px;right:12px;width:44px;height:44px;display:grid;place-items:center;border-radius:999px;border:1px solid color-mix(in oklab,var(--border),transparent 20%);background:color-mix(in oklab,var(--clr-card-bg),transparent 20%);box-shadow:0 8px 24px #00000059;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .22s cubic-bezier(.2,.9,.2,1),background .22s cubic-bezier(.2,.9,.2,1),border-color .22s cubic-bezier(.2,.9,.2,1)}.modal-cert .modal-close__icon{position:relative;width:18px;height:18px}.modal-cert .modal-close__icon:before,.modal-cert .modal-close__icon:after{content:"";position:absolute;left:50%;top:50%;width:18px;height:2px;border-radius:999px;background:var(--clr-accent);transform-origin:50% 50%;transition:transform .26s cubic-bezier(.2,.9,.2,1)}.modal-cert .modal-close__icon:before{transform:translate(-50%,-50%) rotate(45deg)}.modal-cert .modal-close__icon:after{transform:translate(-50%,-50%) rotate(-45deg)}.modal-cert .modal-close:hover,.modal-cert .modal-close:focus-visible{transform:scale(1.05);border-color:color-mix(in oklab,var(--clr-accent),var(--border) 55%)}.modal-cert .modal-close:hover .modal-close__icon:before,.modal-cert .modal-close:focus-visible .modal-close__icon:before{transform:translate(-50%,-50%) rotate(90deg)}.modal-cert .modal-close:hover .modal-close__icon:after,.modal-cert .modal-close:focus-visible .modal-close__icon:after{transform:translate(-50%,-50%) rotate(0)}.modal-cert .modal-close:active{transform:scale(.98)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.is-hidden{display:none!important}.cert-page-head{display:flex;gap:1rem;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}@media(max-width:640px){.cert-page-head{flex-direction:column}}.cert-page-subtitle{margin:.35rem 0 0;opacity:.75;line-height:1.4}.cert-stats{display:flex;gap:.6rem;flex-wrap:wrap}.cert-stat{background:#ffffff0a;border:1px solid var(--border);border-radius:12px;padding:.6rem .8rem;min-width:130px}.cert-stat__label{display:block;font-size:12px;opacity:.7}.cert-stat__value{display:block;font-weight:700;color:var(--clr-accent)}@media(max-width:640px){.cert-stat{width:100%;min-width:0}}.cert-controls{display:grid;gap:.8rem;margin:1rem 0 1.2rem}.cert-search{display:flex;gap:.6rem;align-items:center}.cert-search__input{flex:1;padding:.65rem .9rem;border-radius:12px;border:1px solid var(--border);background:#ffffff0a;color:var(--text);outline:none}.cert-search__input:focus{border-color:var(--clr-accent);box-shadow:0 0 0 3px #00c6ff26}.cert-search__clear{padding:.65rem .9rem;border-radius:12px;border:1px solid var(--border);background:#ffffff0a;color:var(--text);cursor:pointer;transition:var(--transition-fast)}.cert-search__clear:hover{border-color:var(--clr-accent);color:var(--clr-accent)}.cert-thumb-wrap{border-radius:.6rem;overflow:hidden;border:1px solid var(--border);background:#ffffff05}.cert-badge{display:inline-flex;align-items:center;font-size:12px;padding:.28rem .55rem;border-radius:999px;border:1px solid var(--border);background:#ffffff0a;margin-bottom:.55rem;opacity:.9}.cert-empty{margin-top:1rem;opacity:.75;text-align:center}.github{margin:0;padding:0;position:relative}.repo-grid.pretty{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem}.repo-card{display:block;position:relative;overflow:hidden;text-decoration:none;color:inherit;background:#ffffff0a;border:1px solid var(--clr-border);border-radius:var(--radius-xxl);padding:1.3rem 1.4rem;text-align:left;transition:all var(--transition-base)}.repo-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top left,rgba(0,198,255,.08),transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none}.repo-card:hover{transform:translateY(-4px);border-color:var(--clr-accent);box-shadow:0 0 25px #00c6ff26}.repo-card:hover:before{opacity:1}.repo-card p,.repo-card .repo-desc{color:var(--clr-text);font-size:.9rem;line-height:1.5;opacity:.9;margin:0}@media(max-width:640px){.repo-card p,.repo-card .repo-desc{font-size:.85rem}}@media(max-width:640px){.repo-card{padding:1.1rem}}.repo-card-header{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.35rem}.repo-title{margin:0;font-size:1.1rem;line-height:1.2;color:var(--clr-accent)}.badge-new{font-size:11px;padding:.25rem .55rem;border-radius:999px;border:1px solid color-mix(in oklab,var(--clr-accent),var(--clr-border) 55%);background:#00c6ff1f;color:var(--clr-accent);font-weight:700;letter-spacing:.06em;white-space:nowrap}.github-all{margin-top:1.5rem;text-align:right}.github-link{color:var(--clr-accent);text-decoration:none;font-weight:500;transition:var(--transition-base)}.github-link:hover{color:var(--clr-text-inverse);text-shadow:0 0 12px var(--clr-accent)}.section-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.section-header h2{margin:0}@media(max-width:640px){.section-header{flex-direction:column;align-items:flex-start}}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin:1rem 0 1.2rem}@media(max-width:900px){.page-head{flex-direction:column}}.page-title{margin:1rem 0 .25rem}.page-subtitle{margin:0}.page-stats{display:flex;flex-wrap:wrap;gap:.6rem}.page-stat{background:#ffffff0a;border:1px solid var(--clr-border);border-radius:var(--radius-m);padding:.6rem .8rem;min-width:130px}.page-stat__label{display:block;font-size:12px;opacity:.7}.page-stat__value{display:block;font-weight:700;color:var(--clr-accent)}@media(max-width:900px){.page-stat{min-width:0}}.info-list{margin:0;padding-left:1.1rem;display:grid;gap:.35rem}.info-list li{padding:0}.policy h1,.policy h2{color:var(--clr-accent)}.policy h1{margin-bottom:1.5rem}.policy h2{margin:1.8rem 0 .8rem}.policy p,.policy li{color:var(--clr-text);line-height:1.6}.coming-container{display:flex;justify-content:center;align-items:center;padding-block:4rem;min-height:calc(100vh - var(--header-height-desktop))}.coming-card{background:var(--clr-card-bg);border:1px solid var(--clr-border);border-radius:var(--radius-xl);padding:3rem 2rem;max-width:520px;width:100%;text-align:center;box-shadow:var(--shadow-l);backdrop-filter:var(--blur-backdrop);animation:fadeIn .5s ease}.coming-card h1{margin-bottom:.8rem;font-size:1.8rem;color:var(--clr-accent)}.coming-card .desc{color:var(--clr-text);opacity:.85;margin-bottom:2rem;font-size:1rem}@media(max-width:600px){.coming-card{padding:2rem 1.5rem}}.coming-meme{width:200px;height:auto;margin:0 auto 1.5rem;border-radius:var(--radius-l);box-shadow:var(--shadow-m)}@media(max-width:600px){.coming-meme{width:160px}}.back-btn{display:inline-block;margin-top:1.2rem;padding:.7rem 1.2rem;background:var(--clr-accent);color:var(--clr-text-inverse);border-radius:var(--radius-s);text-decoration:none;box-shadow:var(--shadow-m);transition:background var(--transition-base),transform var(--transition-base)}.back-btn:hover{background:var(--clr-accent-alt);transform:translateY(-2px)}.vl-blog__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1.2rem;margin-bottom:1.2rem}.vl-blog__title{margin:0}.vl-blog__subtitle{margin:.35rem 0 0;opacity:.85;max-width:60ch}.vl-blog__stats{display:grid;grid-auto-flow:column;gap:.8rem;align-items:start}.vl-blog__stat{background:#ffffff0a;border:1px solid var(--clr-border);border-radius:.9rem;padding:.7rem .9rem;min-width:110px}.vl-blog__statLabel{opacity:.75;font-size:var(--fs-s)}.vl-blog__statValue{display:block;font-size:1.1rem;color:var(--clr-accent);margin-top:.2rem}.vl-blog__toolbar{display:grid;gap:.9rem;margin:1rem 0 1.3rem}.vl-blog__search{display:flex;align-items:center;gap:.6rem;background:#ffffff0a;border:1px solid var(--clr-border);border-radius:.9rem;padding:.75rem .9rem;backdrop-filter:blur(10px)}.vl-blog__searchIcon{opacity:.7}.vl-blog__search input{width:100%;background:transparent;border:0;outline:0;color:var(--clr-text);font-size:var(--fs-base)}.vl-blog__controls{display:flex;gap:.8rem;flex-wrap:wrap}.vl-blog__selectWrap{position:relative;display:inline-flex;align-items:center;width:fit-content}.vl-blog__selectWrap:after{content:"";position:absolute;right:.9rem;width:.55rem;height:.55rem;pointer-events:none;border-right:2px solid color-mix(in srgb,var(--text) 70%,transparent);border-bottom:2px solid color-mix(in srgb,var(--text) 70%,transparent);transform:rotate(45deg)}.vl-blog__select{appearance:none;-webkit-appearance:none;color-scheme:dark;background:var(--card-bg);border:1px solid color-mix(in srgb,var(--border) 70%,transparent);color:var(--text);border-radius:var(--radius-3);padding:.65rem 2.4rem .65rem 1rem;line-height:1;font:inherit;cursor:pointer}.vl-blog__select:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.vl-blog__select:focus-visible{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.vl-blog__select option{background:var(--card-bg);color:var(--text)}.vl-blog__tags{display:flex;gap:.6rem;flex-wrap:wrap;overflow:visible;padding:.2rem 0 0}@media(max-width:768px){.vl-blog__tags{flex-wrap:nowrap;overflow-x:auto;padding:.2rem .2rem .6rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}.vl-blog__tags::-webkit-scrollbar{display:none}}.vl-blog__tag{flex:0 0 auto;border:1px solid var(--clr-border);background:#ffffff0a;color:var(--clr-text);border-radius:.75rem;padding:.45rem .7rem;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.vl-blog__tag:hover{transform:translateY(-1px);border-color:var(--clr-accent);box-shadow:0 0 18px #00c6ff1f;color:var(--clr-accent)}.vl-blog__tag.is-active{border-color:var(--clr-accent);color:var(--clr-accent);box-shadow:0 0 20px #00c6ff24}.vl-blog__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-top:1.2rem}@media(max-width:1100px){.vl-blog__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.vl-blog__grid{grid-template-columns:1fr}}.vl-blog__card{background:#ffffff0a;border:1px solid var(--clr-border);border-radius:.9rem;overflow:hidden;position:relative;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.vl-blog__card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top left,rgba(0,198,255,.08),transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none}.vl-blog__card:hover:before{opacity:1}.vl-blog__card:hover{transform:translateY(-4px);border-color:var(--clr-accent);box-shadow:0 0 25px #00c6ff26}.vl-blog__card.is-hidden{display:none}.vl-blog__cover img{display:block;width:100%;height:170px;object-fit:cover}.vl-blog__body{padding:1.1rem 1.2rem 1.2rem}.vl-blog__meta{display:flex;flex-wrap:wrap;gap:.45rem .55rem;opacity:.8;font-size:var(--fs-s);align-items:center}.vl-blog__dot{opacity:.6}.vl-blog__miniTag{border:1px solid var(--clr-border-light);background:#ffffff08;border-radius:.6rem;padding:.15rem .45rem;opacity:.95}.vl-blog__cardTitle{margin:.6rem 0 .45rem;font-size:1.15rem;line-height:1.15}.vl-blog__cardTitle a{color:var(--clr-accent);text-decoration:none}.vl-blog__cardTitle a:hover{text-decoration:underline}.vl-blog__desc{margin:0;opacity:.88;line-height:1.55}.vl-blog__footer{margin-top:.9rem;display:flex;align-items:center;justify-content:space-between;gap:.8rem}.vl-blog__more{color:var(--clr-accent);text-decoration:none}.vl-blog__more:hover{text-decoration:underline}.vl-blog__updated{opacity:.7;font-size:var(--fs-s)}.vl-blog__pagination{margin-top:1.6rem;display:flex;justify-content:center;gap:.5rem;align-items:center}.vl-blog__page{border:1px solid var(--clr-border);background:#ffffff0a;border-radius:.75rem;padding:.45rem .7rem;text-decoration:none;color:var(--clr-text)}.vl-blog__page.is-active{border-color:var(--clr-accent);color:var(--clr-accent);box-shadow:0 0 18px #00c6ff1f}.vl-blog__page.is-disabled{opacity:.5;pointer-events:none}.vl-blog__ellipsis{opacity:.6;padding:0 .3rem}@media(max-width:640px){.vl-blog__head{flex-direction:column}.vl-blog__stats{grid-auto-flow:row;grid-template-columns:1fr 1fr}.vl-blog__cover img{height:150px}}.vl-blog__header{display:grid;grid-template-columns:1fr auto;gap:var(--space-6);align-items:start;margin-bottom:var(--space-5)}@media(max-width:900px){.vl-blog__header{grid-template-columns:1fr}}.vl-blog__titlebox{min-width:0}.vl-blog__title{margin:0;font-size:var(--fs-2xl);line-height:1.15}.vl-blog__subtitle{margin:var(--space-2) 0 0;color:var(--light-60);max-width:70ch}.vl-blog__kpis{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(140px,1fr);gap:var(--space-3);justify-content:end}@media(max-width:900px){.vl-blog__kpis{grid-auto-flow:row;grid-auto-columns:1fr;justify-content:stretch}}.vl-blog__kpi{border-radius:var(--radius-3);background:#ffffff0a;border:1px solid rgba(255,255,255,.06);padding:var(--space-4);backdrop-filter:blur(var(--blur-backdrop));min-width:140px}.vl-blog__kpiLabel{display:block;color:var(--light-60);font-size:var(--fs-xs);letter-spacing:.02em}.vl-blog__kpiValue{display:block;margin-top:var(--space-1);font-size:var(--fs-xl);font-weight:700;color:var(--accent)}.blog-post__article{margin:0 auto;max-width:100%;overflow-x:hidden;word-wrap:break-word}.blog-post__back{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 1.25rem;color:var(--accent);opacity:.9;text-decoration:none}.blog-post__back:hover{opacity:1;text-decoration:underline}.blog-post__head{margin-bottom:1.2rem;max-width:100%;overflow-x:hidden}.blog-post__title{margin:0;font-size:clamp(28px,3vw,44px);line-height:1.1;letter-spacing:-.02em;word-wrap:break-word;overflow-wrap:break-word;max-width:100%}.blog-post__desc{margin:.6rem 0 0;opacity:.78;line-height:1.55;max-width:80ch;word-wrap:break-word;overflow-wrap:break-word}.blog-post__meta{margin-top:.9rem;display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;opacity:.85;font-size:14px;max-width:100%;overflow-x:hidden}.blog-post__updated{opacity:.75}.blog-post__reading-time{display:inline-flex;align-items:center;gap:.35rem;opacity:.8}.blog-post__reading-time iconify-icon{font-size:1em;opacity:.9}.blog-post__tags{display:flex;flex-wrap:wrap;gap:.45rem;max-width:100%;overflow-x:hidden}.blog-post__tag{display:inline-flex;padding:.35rem .55rem;border-radius:999px;border:1px solid var(--border);background:#ffffff08;text-decoration:none;color:var(--text);font-size:13px}.blog-post__tag:hover{border-color:#00c8ff59}.blog-post__cover{margin:1.2rem 0 1.6rem;border-radius:18px;overflow:hidden;border:1px solid var(--border);background:#ffffff05;max-width:100%}.blog-post__cover img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover;max-width:100%}.blog-post__content.prose{line-height:1.75;max-width:100%;overflow-x:hidden;word-wrap:break-word;color:var(--clr-text);font-size:var(--fs-base)}.blog-post__content.prose h1{font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700;line-height:1.2;margin-top:2rem;margin-bottom:1rem;color:var(--clr-accent);word-wrap:break-word;overflow-wrap:break-word;letter-spacing:-.02em}.blog-post__content.prose h1:first-child{margin-top:0}.blog-post__content.prose h2{font-size:clamp(1.5rem,3vw,1.875rem);font-weight:700;line-height:1.3;margin-top:2rem;margin-bottom:.75rem;color:var(--clr-accent);word-wrap:break-word;overflow-wrap:break-word;letter-spacing:-.01em;padding-bottom:.5rem;border-bottom:1px solid var(--clr-border)}.blog-post__content.prose h3{font-size:clamp(1.25rem,2.5vw,1.5rem);font-weight:600;line-height:1.4;margin-top:1.6rem;margin-bottom:.6rem;color:var(--clr-accent);word-wrap:break-word;overflow-wrap:break-word}.blog-post__content.prose h4{font-size:clamp(1.1rem,2vw,1.25rem);font-weight:600;line-height:1.4;margin-top:1.4rem;margin-bottom:.5rem;color:var(--clr-text);opacity:.95;word-wrap:break-word;overflow-wrap:break-word}.blog-post__content.prose h5{font-size:1.1rem;font-weight:600;line-height:1.5;margin-top:1.2rem;margin-bottom:.5rem;color:var(--clr-text);opacity:.9;word-wrap:break-word;overflow-wrap:break-word}.blog-post__content.prose h6{font-size:1rem;font-weight:600;line-height:1.5;margin-top:1rem;margin-bottom:.5rem;color:var(--clr-text);opacity:.85;text-transform:uppercase;letter-spacing:.05em;word-wrap:break-word;overflow-wrap:break-word}.blog-post__content.prose p{margin:1rem 0;word-wrap:break-word;overflow-wrap:break-word;line-height:1.75}.blog-post__content.prose p:first-child{margin-top:0}.blog-post__content.prose p:last-child{margin-bottom:0}.blog-post__content.prose ul,.blog-post__content.prose ol{margin:1rem 0;padding-left:1.75rem;max-width:100%}.blog-post__content.prose ul li,.blog-post__content.prose ol li{margin:.5rem 0;word-wrap:break-word;overflow-wrap:break-word;line-height:1.7}.blog-post__content.prose ul li p,.blog-post__content.prose ol li p{margin:.5rem 0}.blog-post__content.prose ul li ul,.blog-post__content.prose ul li ol,.blog-post__content.prose ol li ul,.blog-post__content.prose ol li ol{margin:.5rem 0;padding-left:1.5rem}.blog-post__content.prose a{color:var(--clr-accent);text-decoration:none;word-break:break-word;transition:color var(--transition-fast),opacity var(--transition-fast);border-bottom:1px solid transparent}.blog-post__content.prose a:hover{color:var(--clr-accent-alt);border-bottom-color:var(--clr-accent-alt);opacity:.9}.blog-post__content.prose a:focus-visible{outline:2px solid var(--clr-accent);outline-offset:2px;border-radius:2px}.blog-post__content.prose strong{font-weight:700;color:var(--clr-text)}.blog-post__content.prose em{font-style:italic;opacity:.95}.blog-post__content.prose code{font-family:JetBrains Mono,Fira Code,Consolas,Monaco,monospace;font-size:.9em;padding:.2em .4em;border-radius:var(--radius-s);border:1px solid var(--clr-border);background:#ffffff0a;color:var(--clr-accent);word-break:break-word;overflow-wrap:break-word}.blog-post__content.prose pre{margin:1.5rem 0;border-radius:var(--radius-xl);border:1px solid var(--clr-border);padding:1.25rem 1.5rem;overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;background:#0003;backdrop-filter:blur(10px);position:relative}.blog-post__content.prose pre:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--clr-accent),rgba(138,43,226,.6));border-radius:var(--radius-xl) var(--radius-xl) 0 0}.blog-post__content.prose pre code{display:block;padding:0;border:0;background:transparent;color:inherit;font-size:.9em;line-height:1.6;word-break:normal;overflow-wrap:normal;white-space:pre}.blog-post__content.prose pre.astro-code{margin:1.5rem 0;border-radius:var(--radius-xl);border:1px solid var(--clr-border);padding:1.25rem 1.5rem;overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;background:#0003;backdrop-filter:blur(10px);position:relative}.blog-post__content.prose pre.astro-code:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--clr-accent),rgba(138,43,226,.6));border-radius:var(--radius-xl) var(--radius-xl) 0 0}.blog-post__content.prose blockquote{margin:1.5rem 0;padding:1rem 1.25rem;border-left:4px solid var(--clr-accent);background:#ffffff08;border-radius:var(--radius-m);opacity:.95;max-width:100%;overflow-x:hidden;word-wrap:break-word;position:relative;font-style:italic}.blog-post__content.prose blockquote:before{content:'"';position:absolute;top:.5rem;left:1rem;font-size:3rem;line-height:1;color:var(--clr-accent);opacity:.2;font-family:serif}.blog-post__content.prose blockquote p{margin:.5rem 0;padding-left:1.5rem}.blog-post__content.prose blockquote p:first-child{margin-top:0}.blog-post__content.prose blockquote p:last-child{margin-bottom:0}.blog-post__content.prose blockquote cite{display:block;margin-top:.75rem;font-size:.9em;font-style:normal;opacity:.8;padding-left:1.5rem}.blog-post__content.prose blockquote cite:before{content:"— "}.blog-post__content.prose table{width:100%;max-width:100%;margin:1.5rem 0;border-collapse:collapse;overflow-x:auto;display:block;-webkit-overflow-scrolling:touch;border-radius:var(--radius-m);border:1px solid var(--clr-border);background:#ffffff05}.blog-post__content.prose table thead{background:#ffffff0d}.blog-post__content.prose table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--clr-accent);border-bottom:2px solid var(--clr-border);font-size:.95em}.blog-post__content.prose table td{padding:.75rem 1rem;border-bottom:1px solid var(--clr-border);word-wrap:break-word;overflow-wrap:break-word}.blog-post__content.prose table tbody tr{transition:background var(--transition-fast)}.blog-post__content.prose table tbody tr:hover{background:#ffffff08}.blog-post__content.prose table tbody tr:last-child td{border-bottom:none}.blog-post__content.prose img{max-width:100%;height:auto;display:block;margin:1.5rem auto;border-radius:var(--radius-m);border:1px solid var(--clr-border);background:#ffffff05;box-shadow:var(--shadow-m);transition:transform var(--transition-base),box-shadow var(--transition-base)}.blog-post__content.prose img:hover{transform:scale(1.01);box-shadow:var(--clr-shadow-accent-hover)}.blog-post__content.prose video,.blog-post__content.prose iframe{max-width:100%;display:block;margin:1.5rem auto;border-radius:var(--radius-m);border:1px solid var(--clr-border);background:#ffffff05;box-shadow:var(--shadow-m)}.blog-post__content.prose figure{margin:1.5rem 0;max-width:100%}.blog-post__content.prose figure img{margin:0}.blog-post__content.prose figure figcaption{margin-top:.75rem;font-size:.9em;text-align:center;opacity:.75;color:var(--clr-text-muted);font-style:italic}.blog-post__content.prose hr{margin:2rem 0;border:none;height:1px;background:linear-gradient(90deg,transparent,var(--clr-border),transparent);opacity:.5}.blog-post__content.prose dl{margin:1rem 0}.blog-post__content.prose dt{font-weight:600;color:var(--clr-accent);margin-top:1rem}.blog-post__content.prose dt:first-child{margin-top:0}.blog-post__content.prose dd{margin-left:1.5rem;margin-top:.5rem;opacity:.9}@media(max-width:640px){.blog-post__content.prose{font-size:var(--fs-base-mobile)}.blog-post__content.prose h1{font-size:1.75rem;margin-top:1.5rem}.blog-post__content.prose h2{font-size:1.5rem;margin-top:1.5rem}.blog-post__content.prose h3{font-size:1.25rem;margin-top:1.25rem}.blog-post__content.prose p{margin:.875rem 0}.blog-post__content.prose ul,.blog-post__content.prose ol{padding-left:1.5rem}.blog-post__content.prose pre,.blog-post__content.prose pre.astro-code{padding:1rem;font-size:.85em}.blog-post__content.prose blockquote{padding:.875rem 1rem}.blog-post__content.prose table{font-size:.9em}.blog-post__content.prose table th,.blog-post__content.prose table td{padding:.5rem .75rem}.blog-post__content.prose img{margin:1.25rem auto}}.blog-post__content.prose>h1:first-child{display:none}.blog-post__content.prose :not(pre)>code{font-family:JetBrains Mono,Fira Code,Consolas,Monaco,monospace;font-size:.9em;padding:.2em .4em;border-radius:var(--radius-s);border:1px solid var(--clr-border);background:#ffffff0a;color:var(--clr-accent);word-break:break-word;overflow-wrap:break-word}.blog-post__content.prose pre code{padding:0;border:0;background:transparent;color:inherit;word-break:normal;overflow-wrap:normal;white-space:pre;font-size:inherit}.blog-post__content.prose ol{list-style:decimal;counter-reset:list-counter}.blog-post__content.prose ol li{counter-increment:list-counter;position:relative}.blog-post__content.prose ol li::marker{color:var(--clr-accent);font-weight:600}.blog-post__content.prose ul{list-style:disc}.blog-post__content.prose ul li::marker{color:var(--clr-accent)}.blog-post__content.prose ul ul{list-style:circle;margin-top:.5rem}.blog-post__content.prose ul ul ul{list-style:square}.blog-post__content.prose ol li::marker,.blog-post__content.prose ul li::marker{color:var(--clr-accent);font-weight:600}.blog-post__content.prose input[type=checkbox]{margin-right:.5rem;margin-top:.25rem;cursor:pointer;accent-color:var(--clr-accent)}.blog-post__content.prose mark{background:#00c6ff33;color:var(--clr-text);padding:.1em .2em;border-radius:2px}.blog-post__content.prose u{text-decoration:underline;text-decoration-color:var(--clr-accent);text-underline-offset:2px}.blog-post__content.prose del{opacity:.7;text-decoration:line-through;text-decoration-color:var(--clr-text-muted)}.blog-post__content.prose abbr{text-decoration:underline dotted;cursor:help;border-bottom:1px dotted var(--clr-border)}.blog-post__content.prose h1 code,.blog-post__content.prose h2 code,.blog-post__content.prose h3 code,.blog-post__content.prose h4 code{font-size:.9em;padding:.15em .3em}.services{margin:0;padding:0;position:relative;padding-bottom:4rem}.services-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:2rem}@media(min-width:768px){.services-grid{grid-template-columns:repeat(2,1fr);gap:2rem}}@media(min-width:1024px){.services-grid{grid-template-columns:repeat(2,1fr);gap:2.5rem}}.service-card{background:var(--clr-card-bg);border:1px solid var(--clr-border);border-radius:var(--radius-xl);padding:2rem;transition:all var(--transition-base);position:relative;overflow:hidden;opacity:0;transform:translateY(20px);animation:serviceCardFadeIn .6s ease-out forwards;animation-delay:var(--delay, 0s);display:flex;flex-direction:column;gap:1.25rem}.service-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--clr-accent),rgba(138,43,226,.8));opacity:0;transition:opacity var(--transition-base)}.service-card:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at top left,rgba(0,198,255,.05),transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none}.service-card:hover{transform:translateY(-6px);border-color:var(--clr-accent);box-shadow:var(--clr-shadow-accent-hover)}.service-card:hover:before{opacity:1}.service-card:hover:after{opacity:1}.service-card:hover .service-card__icon{transform:scale(1.1) rotate(5deg);filter:drop-shadow(0 0 12px rgba(0,198,255,.6))}@media(max-width:480px){.service-card{padding:1.5rem;gap:1rem}}.service-card__header{display:flex;align-items:flex-start;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--clr-border-light)}.service-card__icon{font-size:2.5rem;line-height:1;filter:drop-shadow(0 0 8px rgba(0,198,255,.4));transition:all var(--transition-base);flex-shrink:0}@media(max-width:480px){.service-card__icon{font-size:2rem}}.service-card__title{font-size:1.4rem;font-weight:700;color:var(--clr-text);margin:0;line-height:1.3;background:linear-gradient(135deg,var(--clr-accent),rgba(138,43,226,.8));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media(max-width:480px){.service-card__title{font-size:1.2rem}}.service-card__body{display:flex;flex-direction:column;gap:1rem;flex:1}.service-card__announcement{font-size:1.05rem;font-weight:600;color:var(--clr-accent);margin:0;line-height:1.5;opacity:.95}@media(max-width:480px){.service-card__announcement{font-size:1rem}}.service-card__description{font-size:.95rem;color:var(--clr-text);margin:0;line-height:1.6;opacity:.85}@media(max-width:480px){.service-card__description{font-size:.9rem}}.services-footer{margin-top:4rem;padding-top:3rem;border-top:1px solid var(--clr-border)}.services-cta{text-align:center;padding:2.5rem;background:var(--clr-card-bg);border:1px solid var(--clr-border);border-radius:var(--radius-xl);position:relative;overflow:hidden}.services-cta:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(0,198,255,.08),transparent 70%);opacity:0;transition:opacity .4s ease}.services-cta:hover:before{opacity:1}@media(max-width:480px){.services-cta{padding:2rem 1.5rem}}.services-cta__text{font-size:1.1rem;color:var(--clr-text);margin:0 0 1.5rem;opacity:.9}@media(max-width:480px){.services-cta__text{font-size:1rem;margin-bottom:1.25rem}}.services-cta__button{display:inline-block;padding:.9rem 2rem;background:var(--clr-accent);color:var(--clr-text-inverse);border-radius:var(--radius-l);text-decoration:none;font-weight:600;font-size:1rem;box-shadow:var(--clr-shadow-accent);transition:all var(--transition-base);position:relative;z-index:1}.services-cta__button:hover{background:var(--clr-accent-alt);transform:translateY(-2px);box-shadow:var(--clr-shadow-accent-hover)}.services-cta__button:active{transform:translateY(0)}@media(max-width:480px){.services-cta__button{padding:.8rem 1.75rem;font-size:.95rem}}@keyframes serviceCardFadeIn{to{opacity:1;transform:translateY(0)}}@media(max-width:480px){.services{padding-bottom:3rem}.services-grid{gap:1.25rem;margin-top:1.5rem}.services-footer{margin-top:3rem;padding-top:2rem}}.admin-panel{max-width:1200px;margin:2rem auto;padding:2rem}.admin-panel__header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid var(--clr-border)}.admin-panel__title{font-size:2rem;font-weight:700;color:var(--clr-accent);margin:0 0 1.5rem}.admin-panel__tabs{display:flex;gap:var(--space-s);flex-wrap:wrap}.admin-panel__tab{padding:.75rem 1.5rem;background:#ffffff0d;border:1px solid var(--clr-border);border-radius:var(--radius-m);color:var(--clr-text);font:inherit;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.admin-panel__tab:hover{background:#ffffff14;border-color:var(--clr-accent)}.admin-panel__tab.active{background:var(--clr-accent);color:var(--clr-text-inverse);border-color:var(--clr-accent)}.admin-panel__auth{max-width:400px;margin:3rem auto;padding:2rem;background:#ffffff08;border:1px solid var(--clr-border);border-radius:var(--radius-xl)}.admin-panel__auth-form{display:flex;flex-direction:column;gap:var(--space-m)}.admin-panel__auth-form h2{margin:0 0 1rem;color:var(--clr-accent);font-size:1.5rem}.admin-panel__input{width:100%;padding:.875rem 1rem;background:#ffffff0d;border:1px solid var(--clr-border);border-radius:var(--radius-m);color:var(--clr-text);font:inherit;font-size:1rem}.admin-panel__input:focus{outline:none;border-color:var(--clr-accent);box-shadow:0 0 0 3px #00c6ff1a}.admin-panel__button{padding:.875rem 1.75rem;background:var(--clr-accent);color:var(--clr-text-inverse);border:1px solid var(--clr-accent);border-radius:var(--radius-m);font-weight:600;font-size:1rem;cursor:pointer;transition:all var(--transition-fast)}.admin-panel__button:hover{background:var(--clr-accent-alt);border-color:var(--clr-accent-alt);transform:translateY(-1px);box-shadow:0 4px 12px #00c6ff4d}.admin-panel__message{padding:.75rem 1rem;border-radius:var(--radius-m);font-size:.9rem;min-height:1.5rem}.admin-panel__message--success{background:#00c6ff1a;border:1px solid rgba(0,198,255,.3);color:var(--clr-accent)}.admin-panel__message--error{background:#ff00001a;border:1px solid rgba(255,0,0,.3);color:#ff6b6b}.admin-panel__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-m);margin-bottom:2rem;padding:1.5rem;background:#ffffff08;border:1px solid var(--clr-border);border-radius:var(--radius-xl)}.admin-panel__stat{display:flex;flex-direction:column;gap:var(--space-xs)}.admin-panel__stat-label{font-size:.9rem;opacity:.7;color:var(--clr-text)}.admin-panel__stat-value{font-size:2rem;font-weight:700;color:var(--clr-accent)}.admin-panel__list{display:flex;flex-direction:column;gap:var(--space-m)}.admin-panel__loading,.admin-panel__empty{text-align:center;padding:3rem;color:var(--clr-text);opacity:.7;font-style:italic}.admin-comment{background:#ffffff08;border:1px solid var(--clr-border);border-radius:var(--radius-xl);padding:1.5rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.admin-comment--pending{border-left:4px solid #ffa500}.admin-comment--approved{border-left:4px solid #00c853}.admin-comment--rejected{border-left:4px solid #ff5252}.admin-comment:hover{border-color:var(--clr-border-light);box-shadow:0 4px 12px #00c6ff1a}.admin-comment__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-m);margin-bottom:1rem;flex-wrap:wrap}.admin-comment__info{display:flex;flex-direction:column;gap:var(--space-xs);flex:1;min-width:0}.admin-comment__author{color:var(--clr-accent);font-weight:600;font-size:1.1rem}.admin-comment__email{font-size:.9rem;opacity:.7;color:var(--clr-text)}.admin-comment__link{font-size:.85rem;color:var(--clr-accent);text-decoration:none;opacity:.8}.admin-comment__link:hover{opacity:1;text-decoration:underline}.admin-comment__meta{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-xs);flex-shrink:0}.admin-comment__status{padding:.35rem .75rem;border-radius:var(--radius-s);font-size:.85rem;font-weight:600}.admin-comment__status--pending{background:#ffa50033;color:orange;border:1px solid rgba(255,165,0,.3)}.admin-comment__status--approved{background:#00c85333;color:#00c853;border:1px solid rgba(0,200,83,.3)}.admin-comment__status--rejected{background:#ff525233;color:#ff5252;border:1px solid rgba(255,82,82,.3)}.admin-comment__date{font-size:.85rem;opacity:.7;color:var(--clr-text)}.admin-comment__content{line-height:1.7;color:var(--clr-text);opacity:.9;margin-bottom:1rem;padding:1rem;background:#0003;border-radius:var(--radius-m);word-wrap:break-word;overflow-wrap:break-word}.admin-comment__ip{font-size:.8rem;opacity:.6;color:var(--clr-text);margin-bottom:1rem;font-family:monospace}.admin-comment__actions{display:flex;gap:var(--space-s);flex-wrap:wrap}.admin-comment__button{padding:.6rem 1.2rem;border-radius:var(--radius-m);font:inherit;font-size:.9rem;font-weight:500;cursor:pointer;border:1px solid;transition:all var(--transition-fast)}.admin-comment__button--approve{background:#00c8531a;border-color:#00c8534d;color:#00c853}.admin-comment__button--approve:hover{background:#00c85333;transform:translateY(-1px)}.admin-comment__button--reject{background:#ff52521a;border-color:#ff52524d;color:#ff5252}.admin-comment__button--reject:hover{background:#ff525233;transform:translateY(-1px)}.admin-comment__button--delete{background:#ff00001a;border-color:#ff00004d;color:red}.admin-comment__button--delete:hover{background:#f003;transform:translateY(-1px)}.admin-comment__button:active{transform:translateY(0)}@media(max-width:768px){.admin-panel{padding:1rem}.admin-panel__title{font-size:1.5rem}.admin-panel__tabs{flex-direction:column}.admin-panel__tab{width:100%}.admin-comment__header{flex-direction:column}.admin-comment__meta{align-items:flex-start}.admin-comment__actions{flex-direction:column}.admin-comment__button{width:100%}}.theme-btn{position:static;background:none;border:none;font-size:1.2rem;color:var(--accent);cursor:pointer;transition:transform .3s;z-index:10}.theme-btn:hover{transform:rotate(15deg)}.hero{text-align:center;margin:0;position:relative;background:none;border:none;border-radius:unset;box-shadow:none}.hero .hero-wrapper{display:flex;flex-direction:column;align-items:center;gap:1.5rem;max-width:700px;margin:0 auto;overflow-x:hidden;width:100%}.hero-content{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%;overflow-x:hidden}.hero-title{font-size:2.2rem;font-weight:700;line-height:1.2;margin:0;color:var(--clr-text)}@media(max-width:640px){.hero-title{font-size:1.75rem}}.hero-name{background:linear-gradient(135deg,var(--clr-accent),rgba(138,43,226,.8));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block}.hero-description{margin-top:.5rem;max-width:600px}.hero-description p{color:var(--clr-text);opacity:.85;line-height:1.6;font-size:1rem;margin:0}@media(max-width:640px){.hero-description p{font-size:.9rem}}.avatar-wrapper{display:inline-block;padding:8px;border-radius:var(--radius-round);background:radial-gradient(circle at 50% 50%,#00c6ff40,#8a2be240);animation:avatarPulse 4s ease-in-out infinite}.avatar-wrapper:hover .avatar{transform:scale(1.05) rotate(2deg);box-shadow:0 0 25px #00c6ff99,0 0 60px #8a2be266}.avatar{width:130px;height:130px;border-radius:var(--radius-round);object-fit:cover;border:3px solid var(--clr-accent);box-shadow:0 0 15px #00c6ff66,0 0 40px #8a2be233;transition:transform var(--transition-slow) ease,box-shadow var(--transition-slow) ease}@media(max-width:640px){.avatar{width:100px;height:100px}}.links{display:flex;gap:1rem;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:.5rem}.link-item{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-2);color:var(--clr-text);opacity:.7;transition:opacity var(--transition-fast) ease,transform var(--transition-fast) ease,color var(--transition-fast) ease;text-decoration:none}.link-item:hover{opacity:1;color:var(--clr-accent);transform:translateY(-2px)}.link-item:focus-visible{outline:2px solid var(--clr-accent);outline-offset:2px}.link-item iconify-icon,.link-item i{display:block}.subtitle{color:var(--clr-text);opacity:.7;margin:0;font-size:1rem;font-weight:500}@media(max-width:640px){.subtitle{font-size:.9rem}}.typing{display:block;white-space:nowrap;min-height:28px;max-width:100%;width:100%;margin:.5rem 0 0;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:1rem;color:var(--clr-accent);opacity:1;line-height:28px;font-weight:500;transition:opacity .2s ease;overflow:hidden;box-sizing:border-box;text-overflow:ellipsis;text-align:center}@media(max-width:640px){.typing{font-size:.85rem;min-height:24px;line-height:24px}}@media (min-width: var(--container-max-desktop)){.hero{display:none!important}}.cookie-modal{position:fixed;bottom:20px;left:50%;transform:translate(-50%) translateY(100%);background:var(--clr-card-bg);color:var(--clr-text);border:1px solid var(--clr-border);box-shadow:0 0 25px #00c6ff26;border-radius:var(--radius-l);max-width:480px;width:90%;padding:1.2rem 1.5rem;z-index:9999;opacity:0;transition:all var(--transition-slow)}.cookie-modal.show{transform:translate(-50%) translateY(0);opacity:1}.cookie-content p{margin:0;font-size:.9rem;line-height:1.5}.cookie-content a{color:var(--clr-accent);text-decoration:underline}.cookie-actions{margin-top:1rem;display:flex;gap:.8rem;justify-content:flex-end;flex-wrap:wrap}.cookie-btn{background:var(--clr-accent);border:none;color:var(--clr-text-inverse);padding:.5rem 1rem;border-radius:var(--radius-s);cursor:pointer;transition:background var(--transition-fast),transform .1s}.cookie-btn:hover{background:var(--clr-accent-alt);transform:translateY(-2px)}.cookie-btn.secondary{background:transparent;border:1px solid var(--clr-accent);color:var(--clr-accent)}.cookie-btn.secondary:hover{background:var(--clr-accent);color:var(--clr-text-inverse)}.site-footer{border-top:1px solid var(--clr-border);padding:2.5rem 1rem 3rem;text-align:center;background:#00000040;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}body.light .site-footer{background:#ffffff80}.footer-title{color:var(--clr-text);font-size:1.1rem;opacity:.9;margin-bottom:1.2rem}.footer-social{list-style:none;padding:0;margin:0 auto 1.8rem;display:flex;justify-content:center;flex-wrap:wrap;gap:.8rem}.footer-social a{display:inline-flex;gap:.5rem;align-items:center;padding:.65rem 1.2rem;font-size:.95rem;background:#ffffff0d;border:1px solid var(--clr-border);border-radius:var(--radius-l);color:var(--clr-text);transition:all var(--transition-base);backdrop-filter:var(--blur-backdrop)}body.light .footer-social a{background:#00000008}.footer-social a:hover{background:var(--clr-accent);color:var(--clr-text-inverse);border-color:var(--clr-accent);transform:translateY(-2px);box-shadow:0 4px 15px #00c6ff40}body.light .footer-social a:hover{box-shadow:0 4px 15px #0072ff4d}.footer-social a:hover iconify-icon{color:var(--clr-text-inverse)}@media(max-width:640px){.footer-social a{padding:.55rem .8rem}.footer-social a span{display:none}}.footer-copy{display:flex;align-items:center;justify-content:center;margin-top:1.2rem;font-size:.9rem;color:var(--clr-text-muted)}.footer-copy .footer-logo-img{height:24px}.footer-copy a{display:inline-flex;align-items:center;color:var(--clr-accent);text-decoration:none}.footer-copy a:hover{text-decoration:underline;color:var(--clr-text-inverse)}.share-widget{position:fixed;bottom:max(20px,env(safe-area-inset-bottom,0px));right:max(20px,env(safe-area-inset-right,0px));z-index:9999}.share-btn{width:48px;height:48px;background:var(--clr-card-bg);border:1px solid var(--clr-border);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;color:var(--clr-text);transition:var(--transition-base);box-shadow:0 2px 8px #00000026;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.share-btn:hover{background:var(--clr-card-bg-alt);border-color:var(--clr-accent);color:var(--clr-accent);box-shadow:0 4px 12px #00c6ff33;transform:translateY(-2px)}.share-btn:active{transform:translateY(0)}.share-panel{position:absolute;bottom:58px;right:0;background:var(--clr-card-bg);border:1px solid var(--clr-border);padding:8px;border-radius:var(--radius-xl);display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100vw - 40px);opacity:0;pointer-events:none;transform:translateY(8px) scale(.95);transition:var(--transition-base);box-shadow:0 8px 24px #00000040;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.share-panel.active{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.share-panel .sh{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;border-radius:var(--radius-m);transition:var(--transition-fast);color:var(--clr-text-muted);background:transparent;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.share-panel .sh:hover{color:var(--clr-text);background:var(--clr-card-bg-alt);transform:translateY(-2px)}.share-panel .sh:active{transform:translateY(0)}.share-panel .vk,.share-panel .tg,.share-panel .wa,.share-panel .fb,.share-panel .tw,.share-panel .em{color:var(--clr-text-muted)}.share-panel .vk:hover,.share-panel .tg:hover,.share-panel .wa:hover,.share-panel .fb:hover,.share-panel .tw:hover,.share-panel .em:hover{color:var(--clr-text)}.share-panel .copy{color:var(--clr-text-muted)}.share-panel .copy:hover{color:var(--clr-accent);background:#00c6ff1a}@media(max-width:640px){.share-widget{bottom:max(16px,env(safe-area-inset-bottom,0px));right:max(16px,env(safe-area-inset-right,0px))}.share-btn{width:44px;height:44px;font-size:18px}.share-panel{bottom:56px;padding:6px;gap:4px;max-width:calc(100vw - 32px)}.share-panel .sh{width:32px;height:32px;font-size:16px}}@media(min-width:641px)and (max-width:1024px){.share-widget{bottom:24px;right:24px}.share-panel{bottom:64px;padding:10px;gap:8px;flex-wrap:nowrap;max-width:none}.share-panel .sh{width:40px;height:40px;font-size:20px}}@media(min-width:1025px){.share-widget{bottom:24px;right:24px}.share-btn{width:52px;height:52px;font-size:22px}.share-panel{bottom:68px;padding:10px;gap:8px;flex-wrap:nowrap}.share-panel .sh{width:40px;height:40px;font-size:20px}}.scroll-to-top{position:fixed;bottom:26px;left:26px;z-index:9998;width:50px;height:50px;max-width:calc(100vw - 52px);background:var(--clr-card-bg);border:1px solid var(--clr-border);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--clr-text);opacity:0;visibility:hidden;transform:translateY(20px) scale(.8);transition:opacity var(--transition-base),visibility var(--transition-base),transform var(--transition-base);box-shadow:var(--shadow-m);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.scroll-to-top:hover{background:var(--clr-accent);color:var(--clr-text-inverse);border-color:var(--clr-accent);transform:translateY(-2px) scale(1);box-shadow:var(--clr-shadow-accent-hover)}.scroll-to-top:active{transform:translateY(0) scale(.95)}.scroll-to-top iconify-icon{transition:transform var(--transition-fast)}.scroll-to-top:hover iconify-icon{transform:translateY(-2px)}@media(max-width:640px){.scroll-to-top{bottom:max(20px,env(safe-area-inset-bottom,0px));left:max(20px,env(safe-area-inset-left,0px));right:auto;width:44px;height:44px;max-width:calc(100vw - max(40px,env(safe-area-inset-left,0px) + env(safe-area-inset-right,0px) + 20px))}}@media(max-width:360px){.scroll-to-top{width:40px;height:40px;bottom:max(16px,env(safe-area-inset-bottom,0px));left:max(16px,env(safe-area-inset-left,0px))}}.scroll-to-top.visible{opacity:1;visibility:visible;transform:translateY(0) scale(1)}@media(min-width:641px)and (max-width:1024px){.scroll-to-top{bottom:24px;left:24px}}.site-header{position:sticky;top:0;z-index:100;backdrop-filter:var(--blur-backdrop);background:#0e0f12d1;border-bottom:1px solid var(--clr-border)}.nav{width:100%}.nav-inner{max-width:var(--container-max-desktop);margin:0 auto;padding-inline:var(--container-padding-desktop);height:var(--header-height-desktop);display:flex;align-items:center;justify-content:space-between}.nav-logo{display:flex;align-items:center;gap:var(--space-xs);text-decoration:none;color:var(--clr-accent);font-weight:600;font-size:var(--fs-base)}.nav-logo-img{width:38px;height:38px;border-radius:var(--radius-round)}.nav-links{display:flex;align-items:center;gap:var(--space-l);list-style:none;margin:0;padding:0}.nav-links>li{position:relative}.nav-links a{display:inline-flex;align-items:center;padding:var(--space-xs) var(--space-m);border-radius:var(--radius-s);text-decoration:none;color:var(--clr-text);font-size:var(--fs-m);transition:background .22s ease,color .22s ease,box-shadow .22s ease}.nav-links a.active{background:var(--clr-accent);color:var(--clr-text-inverse);box-shadow:var(--clr-shadow-accent-hover)}@media(hover:hover)and (pointer:fine){.nav-links a:hover{background:var(--clr-card-bg-alt);color:var(--clr-accent)}}.has-sub>a:after{content:"▾";margin-left:.35rem;font-size:.7rem;opacity:.7}.sub-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:180px;padding:.4rem 0;background:var(--clr-bg);border-radius:var(--radius-m);border:1px solid var(--clr-border);box-shadow:var(--shadow-l);display:none;flex-direction:column;z-index:120}.sub-menu a{padding:.5rem 1rem;font-size:var(--fs-s)}@media(hover:hover)and (pointer:fine){.has-sub:hover .sub-menu{display:flex}}.sub-toggle{display:none}.nav-actions{display:flex;align-items:center;gap:var(--space-m)}.theme-btn{background:none;border:none;color:var(--clr-accent);font-size:var(--fs-l);cursor:pointer}.burger-btn{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:var(--space-xs)}.burger-btn .line{width:24px;height:2px;border-radius:2px;background:var(--clr-text);transition:transform .3s ease,opacity .3s ease}.burger-btn.is-open .top{transform:translateY(7px) rotate(45deg)}.burger-btn.is-open .middle{opacity:0}.burger-btn.is-open .bottom{transform:translateY(-7px) rotate(-45deg)}@media(max-width:720px){.nav-inner{padding-inline:var(--container-padding-mobile);height:var(--header-height-mobile)}.burger-btn{display:flex;align-items:center;justify-content:center}.nav-links{position:fixed;inset-inline:0;top:var(--header-height-mobile);height:calc(100vh - var(--header-height-mobile));padding:1.6rem 1.2rem 2rem;background:#0a0c10f5;backdrop-filter:var(--blur-backdrop);flex-direction:column;align-items:stretch;gap:.8rem;transform:translateY(-100%);opacity:0;pointer-events:none;transition:transform .35s ease,opacity .3s ease}.nav-links.is-open{transform:translateY(0);opacity:1;pointer-events:auto}.nav-links a{width:100%;justify-content:flex-start;font-size:var(--fs-m)}.has-sub-wrapper{display:flex}.has-sub>a:after{display:none}.sub-toggle{display:inline-flex;margin-left:auto;background:none;border:none;color:var(--clr-text);font-size:1.8rem;line-height:1;cursor:pointer;padding:.2rem;transition:transform .25s ease}.sub-toggle.is-open{transform:rotate(90deg)}.sub-menu{position:static;margin-top:.3rem;border-radius:0;border:none;box-shadow:none;border-left:1px solid var(--clr-border);padding:.3rem 0 .2rem .9rem;display:none;gap:.3rem;background:none}.sub-menu.is-open{display:flex}}.modal{display:none;position:fixed;inset:0;z-index:9999;background:#000000e0;align-items:center;justify-content:center;padding:2rem;overflow:hidden}.modal.active{display:flex}@supports (backdrop-filter: blur(10px)) or (-webkit-backdrop-filter: blur(10px)){.modal{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}.modal-content{position:relative;max-width:90vw;max-height:90vh;border-radius:var(--radius-m);overflow:hidden;box-shadow:0 0 40px #00c6ff4d;background:var(--clr-card-bg);animation:modalZoom var(--transition-fast) ease}.modal-content img{display:block;max-width:100%;max-height:90vh;height:auto;object-fit:contain;border-radius:var(--radius-l)}.modal-close{position:absolute;top:10px;right:10px;width:36px;height:36px;background:#000000b3;border:1px solid var(--clr-accent);border-radius:50%;color:var(--clr-accent);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--clr-accent);color:var(--clr-text-inverse);transform:scale(1.1) rotate(90deg)}.modal-close svg{width:18px;height:18px;pointer-events:none}.modal-text{padding:8px;text-align:center}.modal-text-title{margin-top:10px;font-weight:500}.modal-text-date{font-size:13px;opacity:.7}@keyframes modalZoom{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.blog-latest{margin:0;padding:0;position:relative}.blog-latest__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.blog-latest__all{color:var(--clr-accent);text-decoration:none;font-weight:500;transition:var(--transition-base)}.blog-latest__all:hover{color:var(--clr-text-inverse);text-shadow:0 0 12px var(--clr-accent)}.blog-latest__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5);margin-top:var(--space-5)}@media(max-width:1100px){.blog-latest__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.blog-latest__grid{grid-template-columns:1fr}}.blog-latest__card{display:flex;flex-direction:column;overflow:hidden;background:#ffffff0a;border:1px solid var(--clr-border);border-radius:.9rem;transition:all var(--transition-base)}body.light .blog-latest__card{background:#00000005}.blog-latest__card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top left,rgba(0,198,255,.08),transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none}body.light .blog-latest__card:before{background:radial-gradient(circle at top left,rgba(0,114,255,.06),transparent 70%)}.blog-latest__card:hover{transform:translateY(-4px);border-color:var(--clr-accent);box-shadow:0 0 25px #00c6ff26}body.light .blog-latest__card:hover{box-shadow:0 0 25px #0072ff33}.blog-latest__card:hover:before{opacity:1}.blog-latest__cover{display:block}.blog-latest__cover img{width:100%;aspect-ratio:16/9;height:auto;object-fit:cover;display:block}.blog-latest__body{padding:1.3rem 1.4rem;display:flex;flex-direction:column;flex:1}.blog-latest__desc{margin:.55rem 0 0;color:var(--clr-text);opacity:.9;font-size:.9rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.blog-latest__footer{margin-top:auto;padding-top:.9rem}.blog-latest__more{display:inline-block;color:var(--clr-accent);text-decoration:none;font-weight:600;transition:var(--transition-base)}.blog-latest__more:hover{color:var(--clr-text-inverse);text-shadow:0 0 12px var(--clr-accent)}.blog-latest__dot{opacity:.6}.blog-latest__tag{display:inline-flex;align-items:center;padding:.25rem .55rem;border-radius:999px;border:1px solid color-mix(in oklab,var(--clr-accent),var(--clr-border) 55%);background:#00c6ff1f;color:var(--clr-accent)}body.light .blog-latest__tag{background:#0072ff1a}.blog-latest__tag{font-weight:700;font-size:11px;letter-spacing:.03em;text-decoration:none;white-space:nowrap}.blog-latest__title{margin:.6rem 0 0;font-size:1.1rem;line-height:1.2}.blog-latest__title a{color:var(--clr-text-inverse);text-decoration:none}.blog-latest__title a:hover{color:var(--clr-accent)}@media(max-width:640px){.blog-latest{margin:0}.blog-latest__body{padding:1.1rem}.blog-latest__desc,.blog-latest__meta{font-size:.85rem}}.blog-related{margin-top:3rem;padding-top:3rem;border-top:1px solid var(--clr-border);display:flex;flex-direction:column;gap:var(--space-5)}.blog-related__title{font-size:clamp(1.5rem,3vw,1.875rem);font-weight:700;margin:0;color:var(--clr-text)}.blog-related__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}@media(max-width:1100px){.blog-related__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.blog-related__grid{grid-template-columns:1fr;gap:var(--space-4)}}.blog-related__card{display:flex;flex-direction:column;overflow:hidden;background:#ffffff0a;border:1px solid var(--clr-border);border-radius:.9rem;transition:all var(--transition-base);position:relative}body.light .blog-related__card{background:#00000005}.blog-related__card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top left,rgba(0,198,255,.08),transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none}body.light .blog-related__card:before{background:radial-gradient(circle at top left,rgba(0,114,255,.06),transparent 70%)}.blog-related__card:hover{transform:translateY(-4px);border-color:var(--clr-accent);box-shadow:0 0 25px #00c6ff26}body.light .blog-related__card:hover{box-shadow:0 0 25px #0072ff33}.blog-related__card:hover:before{opacity:1}.blog-related__cover{display:block}.blog-related__cover img{width:100%;aspect-ratio:16/9;height:auto;object-fit:cover;display:block}.blog-related__body{padding:1.3rem 1.4rem;display:flex;flex-direction:column;flex:1}.blog-related__meta{display:flex;align-items:center;gap:.5rem;font-size:var(--fs-s);color:var(--clr-text-muted);flex-wrap:wrap}.blog-related__dot{opacity:.6}.blog-related__tags{display:flex;gap:.4rem;flex-wrap:wrap}.blog-related__tag{display:inline-flex;align-items:center;padding:.25rem .55rem;border-radius:999px;border:1px solid color-mix(in oklab,var(--clr-accent),var(--clr-border) 55%);background:#00c6ff1f;color:var(--clr-accent)}body.light .blog-related__tag{background:#0072ff1a}.blog-related__tag{font-weight:700;font-size:11px;letter-spacing:.03em;text-decoration:none;white-space:nowrap}.blog-related__title{margin:.6rem 0 0;font-size:1.1rem;line-height:1.2}.blog-related__title a{color:var(--clr-text-inverse);text-decoration:none}.blog-related__title a:hover{color:var(--clr-accent)}.blog-related__desc{margin:.55rem 0 0;color:var(--clr-text);opacity:.9;font-size:.9rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.blog-related__footer{margin-top:auto;padding-top:.9rem}.blog-related__more{display:inline-block;color:var(--clr-accent);text-decoration:none;font-weight:600;transition:var(--transition-base)}.blog-related__more:hover{color:var(--clr-text-inverse);text-shadow:0 0 12px var(--clr-accent)}@media(max-width:640px){.blog-related{margin-top:2rem;padding-top:2rem;gap:var(--space-4)}.blog-related__title{font-size:1.4rem}.blog-related__body{padding:1.1rem}.blog-related__desc,.blog-related__meta{font-size:.85rem}}.stack{margin:0;padding:0;position:relative}.stack-header{text-align:center;margin-bottom:3rem}.stack-title{display:inline-flex;align-items:center;gap:.75rem;font-size:2rem;font-weight:700;color:var(--clr-text);margin:0 0 .75rem}.stack-title-icon{font-size:2.2rem;line-height:1;filter:drop-shadow(0 0 10px rgba(0,198,255,.5));animation:iconPulse 3s ease-in-out infinite;display:inline-block}.stack-title-text{background:linear-gradient(135deg,var(--clr-accent),rgba(138,43,226,.8));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stack-subtitle{color:var(--clr-text-muted);font-size:1rem;margin:0;opacity:.8}.stack-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:3rem}@media(min-width:768px){.stack-grid{grid-template-columns:repeat(2,1fr);gap:2rem}}@media(min-width:1024px){.stack-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1280px){.stack-grid{grid-template-columns:repeat(4,1fr)}}.stack-card{background:var(--clr-card-bg);border:1px solid var(--clr-border);border-radius:var(--radius-xl);padding:1.5rem;transition:all var(--transition-base);position:relative;overflow:hidden;opacity:0;transform:translateY(20px);animation:cardFadeIn .6s ease-out forwards;animation-delay:var(--delay, 0s)}.stack-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--clr-accent),rgba(138,43,226,.8));opacity:0;transition:opacity var(--transition-base)}.stack-card:hover{transform:translateY(-4px);border-color:var(--clr-accent);box-shadow:var(--clr-shadow-accent-hover)}.stack-card:hover:before{opacity:1}.stack-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--clr-border-light)}.stack-card-icon{font-size:1.5rem;line-height:1;filter:drop-shadow(0 0 8px rgba(0,198,255,.4))}.stack-card-title{font-size:.95rem;font-weight:600;color:var(--clr-text);margin:0;line-height:1.3}.stack-card-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.65rem}.stack-card-item{display:flex;flex-direction:column;gap:.25rem;padding:.5rem .75rem;border-radius:var(--radius-s);background:var(--clr-card-bg-alt);transition:all var(--transition-fast);position:relative}.stack-card-item:hover{background:#00c6ff14;transform:translate(4px)}body.light .stack-card-item:hover{background:#0072ff0f}.stack-card-item.highlight{background:linear-gradient(135deg,#00c6ff1f,#8a2be214);border-left:2px solid var(--clr-accent)}body.light .stack-card-item.highlight{background:linear-gradient(135deg,#0072ff1a,#8a2be20f)}.stack-item-name{font-size:.9rem;font-weight:500;color:var(--clr-text);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.stack-item-version{font-size:.75rem;color:var(--clr-text-muted);font-weight:400;opacity:.7}.stack-item-description{font-size:.8rem;color:var(--clr-text-muted);opacity:.8;font-style:italic}.stack-footer{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--clr-border)}.stack-stats{display:flex;justify-content:center;gap:3rem;flex-wrap:wrap}.stack-stat{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem 2rem;background:var(--clr-card-bg);border:1px solid var(--clr-border);border-radius:var(--radius-l);transition:all var(--transition-base)}.stack-stat:hover{border-color:var(--clr-accent);box-shadow:var(--clr-shadow-accent);transform:translateY(-2px)}.stack-stat-value{font-size:1.5rem;font-weight:700;color:var(--clr-accent);background:linear-gradient(135deg,var(--clr-accent),rgba(138,43,226,.8));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stack-stat-label{font-size:.85rem;color:var(--clr-text-muted);text-transform:uppercase;letter-spacing:.5px}@keyframes cardFadeIn{to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.stack{margin:0}.stack-header{margin-bottom:2rem}.stack-title{font-size:1.5rem}.stack-title-icon{font-size:1.7rem;line-height:1}.stack-grid{grid-template-columns:1fr;gap:1.25rem}.stack-card{padding:1.25rem}.stack-stats{gap:1.5rem}.stack-stat{padding:.75rem 1.5rem}}.about{margin:0;padding:0;position:relative;background:none;border:none;border-radius:unset;box-shadow:none}.about-header{text-align:center;margin-bottom:2rem}.about-title{display:inline-flex;align-items:center;gap:.75rem;font-size:2rem;font-weight:700;color:var(--clr-text);margin:0 0 .75rem}.about-title-icon{font-size:2.2rem;line-height:1;filter:drop-shadow(0 0 10px rgba(0,198,255,.5));animation:iconPulse 3s ease-in-out infinite;display:inline-block}.about-title-text{background:linear-gradient(135deg,var(--clr-accent),rgba(138,43,226,.8));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.about-subtitle{color:var(--clr-text-muted);font-size:1rem;margin:0;opacity:.8}.about-content{max-width:700px;margin:0 auto;text-align:center}.about-content p{color:var(--clr-text);opacity:.85;line-height:1.6;font-size:1rem;margin:0}.about-content p b{color:var(--clr-accent);font-weight:600}@keyframes iconPulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 10px rgba(0,198,255,.5))}50%{transform:scale(1.1);filter:drop-shadow(0 0 15px rgba(0,198,255,.8))}}@media(max-width:640px){.about{margin:0}.about-header{margin-bottom:1.5rem}.about-title{font-size:1.5rem}.about-title-icon{font-size:1.7rem;line-height:1}.about-content p{font-size:.9rem}}.blog-stats{display:flex;gap:var(--space-l);align-items:center;margin:1.5rem 0;padding:1rem 0;border-top:1px solid var(--clr-border);border-bottom:1px solid var(--clr-border)}.blog-stats__item{display:flex;align-items:center;gap:var(--space-xs);color:var(--clr-text);opacity:.85;transition:opacity var(--transition-fast),color var(--transition-fast)}.blog-stats__like{background:none;border:none;padding:0;cursor:pointer;font:inherit;color:inherit;display:flex;align-items:center;gap:var(--space-xs)}.blog-stats__like:hover{opacity:1;color:var(--clr-accent)}.blog-stats__like:active{transform:scale(.95)}.blog-stats__like:disabled{opacity:.5;cursor:not-allowed}.blog-stats__like--loading{pointer-events:none}.blog-stats__like--active{color:var(--clr-accent)}.blog-stats__like--active .blog-stats__icon--heart{color:var(--clr-accent);animation:heartBeat .3s ease}.blog-stats__icon{font-size:1.2rem;opacity:.8;transition:color var(--transition-fast),transform var(--transition-fast)}.blog-stats__icon--heart{color:var(--clr-text)}.blog-stats__count{font-weight:600;font-size:1rem;min-width:2ch;text-align:left}.blog-stats__label{font-size:.9rem;opacity:.7}@keyframes heartBeat{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@media(max-width:640px){.blog-stats{gap:var(--space-m);margin:1.25rem 0;padding:.875rem 0}.blog-stats__icon{font-size:1.1rem}.blog-stats__count{font-size:.95rem}.blog-stats__label{font-size:.85rem}}.blog-comments{margin:2.5rem 0;padding-top:2rem;border-top:1px solid var(--clr-border)}.blog-comments__title{font-size:1.5rem;font-weight:700;color:var(--clr-accent);margin:0 0 1.5rem}.blog-comments__list{margin-bottom:2rem;min-height:100px}.blog-comments__loading,.blog-comments__empty{text-align:center;padding:2rem;color:var(--clr-text);opacity:.7;font-style:italic}.blog-comment{background:#ffffff08;border:1px solid var(--clr-border);border-radius:var(--radius-m);padding:1.25rem 1.5rem;margin-bottom:1rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.blog-comment:hover{border-color:var(--clr-border-light);box-shadow:0 2px 8px #00c6ff0d}.blog-comment:last-child{margin-bottom:0}.blog-comment__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-m);margin-bottom:.75rem;flex-wrap:wrap}.blog-comment__author{color:var(--clr-accent);font-weight:600;font-size:1rem}.blog-comment__date{font-size:.85rem;opacity:.7;color:var(--clr-text)}.blog-comment__content{line-height:1.7;color:var(--clr-text);opacity:.9;word-wrap:break-word;overflow-wrap:break-word}.blog-comments__form{background:#ffffff08;border:1px solid var(--clr-border);border-radius:var(--radius-xl);padding:1.5rem;margin-top:2rem}.blog-comments__form-group{margin-bottom:1.25rem}.blog-comments__form-group:last-of-type{margin-bottom:0}.blog-comments__label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--clr-text);font-size:.95rem}.blog-comments__required{color:var(--clr-accent);margin-left:.25rem}.blog-comments__input,.blog-comments__textarea{width:100%;padding:.75rem 1rem;background:#ffffff0d;border:1px solid var(--clr-border);border-radius:var(--radius-m);color:var(--clr-text);font:inherit;font-size:.95rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.blog-comments__input:focus,.blog-comments__textarea:focus{outline:none;border-color:var(--clr-accent);box-shadow:0 0 0 3px #00c6ff1a}.blog-comments__input::placeholder,.blog-comments__textarea::placeholder{color:var(--clr-text);opacity:.5}.blog-comments__textarea{resize:vertical;min-height:100px;font-family:inherit;line-height:1.6}.blog-comments__form-actions{margin-top:1.5rem;display:flex;flex-direction:column;gap:var(--space-s)}.blog-comments__submit{padding:.875rem 1.75rem;background:var(--clr-accent);color:var(--clr-text-inverse);border:1px solid var(--clr-accent);border-radius:var(--radius-m);font-weight:600;font-size:1rem;cursor:pointer;transition:all var(--transition-fast);align-self:flex-start}.blog-comments__submit:hover:not(:disabled){background:var(--clr-accent-alt);border-color:var(--clr-accent-alt);transform:translateY(-1px);box-shadow:0 4px 12px #00c6ff4d}.blog-comments__submit:active:not(:disabled){transform:translateY(0)}.blog-comments__submit:disabled{opacity:.6;cursor:not-allowed}.blog-comments__message{padding:.75rem 1rem;border-radius:var(--radius-m);font-size:.9rem;min-height:1.5rem}.blog-comments__message--success{background:#00c6ff1a;border:1px solid rgba(0,198,255,.3);color:var(--clr-accent)}.blog-comments__message--error{background:#ff00001a;border:1px solid rgba(255,0,0,.3);color:#ff6b6b}@media(max-width:640px){.blog-comments{margin:2rem 0;padding-top:1.5rem}.blog-comments__title{font-size:1.25rem;margin-bottom:1.25rem}.blog-comments__form{padding:1.25rem}.blog-comment{padding:1rem 1.25rem}.blog-comment__header{flex-direction:column;align-items:flex-start;gap:var(--space-xs)}.blog-comments__submit{width:100%;align-self:stretch}}.ny2025-modal{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:1rem;pointer-events:none}.ny2025-modal[aria-hidden=false]{display:flex;pointer-events:auto}.ny2025-modal__backdrop{position:absolute;inset:0;background:#000000d9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:ny2025-fade-in .3s ease-out}.ny2025-modal__content{position:relative;max-width:500px;width:100%;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);border-radius:20px;box-shadow:0 20px 60px #00000080,0 0 40px #ffd70033,inset 0 1px #ffffff1a;border:2px solid rgba(255,215,0,.3);overflow:hidden;animation:ny2025-scale-in .4s cubic-bezier(.34,1.56,.64,1);transform-origin:center}.ny2025-modal__close{position:absolute;top:1rem;right:1rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:1px solid rgba(255,215,0,.3);border-radius:50%;color:gold;cursor:pointer;transition:all .2s ease;z-index:10}.ny2025-modal__close svg{width:18px;height:18px}.ny2025-modal__close:hover{background:#ffd70033;border-color:gold;transform:rotate(90deg) scale(1.1)}.ny2025-modal__close:active{transform:rotate(90deg) scale(.95)}.ny2025-modal__inner{padding:2.5rem 2rem 2rem;position:relative}.ny2025-modal__header{text-align:center;margin-bottom:1.5rem}.ny2025-modal__emoji{font-size:4rem;line-height:1;margin-bottom:.5rem;animation:ny2025-bounce 2s ease-in-out infinite;filter:drop-shadow(0 0 10px rgba(255,215,0,.5))}.ny2025-modal__title{font-size:1.75rem;font-weight:700;color:gold;margin:0;text-shadow:0 0 10px rgba(255,215,0,.5),0 2px 4px rgba(0,0,0,.3);letter-spacing:.5px}.ny2025-modal__body{text-align:center;margin-bottom:1.5rem}.ny2025-modal__text{color:#ffffffe6;font-size:1rem;line-height:1.6;margin:0 0 1.5rem}.ny2025-modal__link{display:inline-block;padding:.75rem 2rem;background:linear-gradient(135deg,gold,#ffed4e);color:#1a1a2e;text-decoration:none;border-radius:12px;font-weight:600;font-size:1rem;transition:all .3s ease;box-shadow:0 4px 15px #ffd70066,inset 0 1px #ffffff4d}.ny2025-modal__link:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ffd70099,inset 0 1px #fff6}.ny2025-modal__link:active{transform:translateY(0)}.ny2025-modal__footer{text-align:center;padding-top:1rem;border-top:1px solid rgba(255,215,0,.2)}.ny2025-modal__checkbox-label{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;user-select:none}.ny2025-modal__checkbox{width:18px;height:18px;cursor:pointer;accent-color:#ffd700}.ny2025-modal__checkbox-text{color:#ffffffb3;font-size:.875rem;transition:color .2s ease}.ny2025-modal__checkbox-label:hover .ny2025-modal__checkbox-text{color:#ffffffe6}@keyframes ny2025-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ny2025-scale-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes ny2025-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media(max-width:640px){.ny2025-modal__content{max-width:100%;border-radius:16px}.ny2025-modal__inner{padding:2rem 1.5rem 1.5rem}.ny2025-modal__emoji{font-size:3rem}.ny2025-modal__title{font-size:1.5rem}.ny2025-modal__text{font-size:.9375rem}.ny2025-modal__link{padding:.625rem 1.5rem;font-size:.9375rem}}
