@charset "UTF-8";@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:300 700;font-display:swap;src:url("../fonts/JetBrainsMono-normal-cyrillic-ext-YHG1iON.woff2") format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:300 700;font-display:swap;src:url("../fonts/JetBrainsMono-normal-cyrillic-NgJXiL4.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:300 700;font-display:swap;src:url("../fonts/JetBrainsMono-normal-greek-XmHY3Ub.woff2") format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:300 700;font-display:swap;src:url("../fonts/JetBrainsMono-normal-vietnamese-EFGDTuk.woff2") format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:300 700;font-display:swap;src:url("../fonts/JetBrainsMono-normal-latin-ext-5t87yUl.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:300 700;font-display:swap;src:url("../fonts/JetBrainsMono-normal-latin-qI6BF9f.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"JetBrains Mono";font-style:italic;font-weight:300 700;font-display:swap;src:url("../fonts/JetBrainsMono-italic-cyrillic-ext-19pYOJL.woff2") format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"JetBrains Mono";font-style:italic;font-weight:300 700;font-display:swap;src:url("../fonts/JetBrainsMono-italic-cyrillic-HI5XjL7.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"JetBrains Mono";font-style:italic;font-weight:300 700;font-display:swap;src:url("../fonts/JetBrainsMono-italic-greek-e_cUi5i.woff2") format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"JetBrains Mono";font-style:italic;font-weight:300 700;font-display:swap;src:url("../fonts/JetBrainsMono-italic-vietnamese-pUXq72X.woff2") format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"JetBrains Mono";font-style:italic;font-weight:300 700;font-display:swap;src:url("../fonts/JetBrainsMono-italic-latin-ext-rR5FKgl.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"JetBrains Mono";font-style:italic;font-weight:300 700;font-display:swap;src:url("../fonts/JetBrainsMono-italic-latin-eH8rlvA.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,::after,::before{box-sizing:border-box;margin:0;padding:0}:root{--accent:#2563EB;--accent-light:#DBEAFE;--bg:#FAFAFA;--text:#111827}html{font-size:18px;scroll-behavior:smooth}body{font-family:"JetBrains Mono","Courier New",monospace;background:#fafafa;color:#111827;overflow-x:hidden;min-height:100vh;line-height:1.65;font-size:1rem;font-weight:400;display:flex;flex-direction:column}[data-depth]{translate:var(--px,0px) var(--py,0px);will-change:transform}.wrapper{position:relative;z-index:1;max-width:1100px;margin:0 auto;padding:0 32px}section{padding:88px 0}a{color:#2563eb;text-decoration:none;transition:color .15s}a:hover{color:#1e40af}strong{color:#111827;font-weight:600}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:#f3f4f6}::-webkit-scrollbar-thumb{background:#d1d5db}::-webkit-scrollbar-thumb:hover{background:#2563eb}@media (max-width:900px){.contact-inner{grid-template-columns:1fr!important}.projects-grid{grid-template-columns:1fr!important}.skills-groups{grid-template-columns:1fr!important}}@media (max-width:600px){body{font-size:.9rem}section{padding:60px 0}.wrapper{padding:0 20px}nav{padding:12px 20px!important}nav .nav-links{gap:20px!important}}@keyframes glitch-a{0%,100%,88%{transform:translate(0);opacity:0}89%{transform:translate(-4px,1px);opacity:1}91%{transform:translate(4px,-1px);opacity:1}93%{transform:translate(-2px,2px);opacity:1}95%{transform:translate(0);opacity:0}}@keyframes glitch-b{0%,100%,90%{transform:translate(0);opacity:0}91%{transform:translate(3px,2px);opacity:1}93%{transform:translate(-3px,-1px);opacity:1}95%{transform:translate(1px,1px);opacity:1}97%{transform:translate(0);opacity:0}}@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}@keyframes barLoad{to{width:var(--fill,100%)}}@keyframes marqueeScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}@keyframes fadeSlideDown{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.fade-in{opacity:0;transform:translateY(12px);transition:opacity .5s,transform .5s}.fade-in.visible{opacity:1;transform:translateY(0)}.bg-grid{position:fixed;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(circle,rgba(0,0,0,.04) 1px,transparent 1px);background-size:5px 5px;background-position:var(--grid-x,0) var(--grid-y,0)}nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:16px 40px;background:rgba(255,255,255,.92);border-bottom:1px solid #e5e7eb;backdrop-filter:blur(8px)}.nav-logo{font-family:"JetBrains Mono","Courier New",monospace;font-size:.95rem;font-weight:600;color:#111827;user-select:none;letter-spacing:-.02em}.cursor{color:#2563eb;animation:blink 1s step-end infinite}.nav-links{display:flex;gap:32px;list-style:none}.nav-links a{font-family:"JetBrains Mono","Courier New",monospace;font-size:.85rem;font-weight:400;color:#4b5563;text-decoration:none;letter-spacing:-.01em;transition:color .15s;padding:4px 0}.nav-links a:hover{color:#2563eb}.hero{min-height:100vh;display:flex;align-items:center;padding:120px 0 80px}.hero-inner{max-width:700px}.hero-badge{display:inline-flex;align-items:center;gap:8px;font-family:"JetBrains Mono","Courier New",monospace;font-size:.78rem;font-weight:500;color:#059669;border:1px solid rgba(5,150,105,.35);background:rgba(5,150,105,.06);padding:4px 12px;border-radius:2px;margin-bottom:28px;letter-spacing:.02em;animation:fadeSlideDown .6s ease both}.hero-badge::before{content:"●";font-size:.6rem;animation:blink 1.5s step-end infinite}.hero-badge--partial{color:#d97706;border-color:rgba(217,119,6,.35);background:rgba(217,119,6,.06)}.hero-badge--unavailable{color:#dc2626;border-color:rgba(220,38,38,.35);background:rgba(220,38,38,.06)}.hero-badge--unavailable::before{animation:none}.hero-name{font-family:"JetBrains Mono","Courier New",monospace;font-size:clamp(2.2rem, 6vw, 3.6rem);font-weight:700;color:#111827;line-height:1.1;letter-spacing:-.03em;animation:fadeSlideDown .7s .1s ease both;position:relative}.hero-name.glitch::before{content:attr(data-text);position:absolute;top:0;left:0;width:100%;color:#2563eb;animation:glitch-a 7s infinite;clip-path:polygon(0 0,100% 0,100% 38%,0 38%);opacity:0}.hero-name.glitch::after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;color:#7c3aed;animation:glitch-b 7s infinite;clip-path:polygon(0 62%,100% 62%,100% 100%,0 100%);opacity:0}.hero-title{font-family:"JetBrains Mono","Courier New",monospace;font-size:clamp(.85rem, 1.8vw, 1rem);font-weight:400;color:#4b5563;margin-top:16px;letter-spacing:.01em;animation:fadeSlideDown .7s .2s ease both}.hero-title span{color:#2563eb;font-weight:500}.hero-bio{font-family:"JetBrains Mono","Courier New",monospace;font-size:.95rem;margin-top:24px;line-height:1.75;color:#4b5563;max-width:580px;animation:fadeSlideDown .7s .3s ease both}.hero-bio strong{color:#111827;font-weight:600}.hero-cta{display:flex;gap:12px;margin-top:36px;flex-wrap:wrap;animation:fadeSlideDown .7s .4s ease both}.hero-gi-badge{display:inline-flex;align-items:center;gap:10px;margin-top:28px;padding:6px 14px 6px 6px;border:1px solid #e5e7eb;background:#fff;text-decoration:none;color:#9ca3af;font-family:"JetBrains Mono","Courier New",monospace;font-size:.78rem;letter-spacing:.01em;border-radius:2px;transition:border-color .15s,color .15s;animation:fadeSlideDown .7s .5s ease both}.hero-gi-badge img{height:18px;width:auto;display:block;opacity:.6;transition:opacity .15s}.hero-gi-badge:hover{border-color:#2563eb;color:#111827}.hero-gi-badge:hover img{opacity:1}.btn{font-family:"JetBrains Mono","Courier New",monospace;font-size:.85rem;font-weight:500;padding:10px 22px;letter-spacing:.01em;text-decoration:none;cursor:pointer;display:inline-block;border-radius:2px;transition:background .15s,color .15s,border-color .15s}.btn-primary{background:#2563eb;color:#fff;border:1px solid #2563eb}.btn-primary:hover{background:#1e40af;border-color:#1e40af;color:#fff}.btn-secondary{background:0 0;color:#111827;border:1px solid #d1d5db}.btn-secondary:hover{border-color:#2563eb;color:#2563eb}.section-tag{display:inline-block;font-family:"JetBrains Mono","Courier New",monospace;font-size:.78rem;font-weight:500;letter-spacing:.02em;color:#2563eb;margin-bottom:16px}.section-title{font-family:"JetBrains Mono","Courier New",monospace;font-size:clamp(1.4rem, 3vw, 2rem);font-weight:700;line-height:1.25;color:#111827;letter-spacing:-.025em;margin-bottom:8px}.accent-text{color:#2563eb}.card{background:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 3px rgba(0,0,0,.04);overflow:hidden}.card .card-body{padding:1.5rem}.tags-cloud{display:flex;flex-wrap:wrap;gap:8px;margin-top:36px}.tag{font-family:"JetBrains Mono","Courier New",monospace;font-size:.75rem;font-weight:500;padding:4px 10px;border:1px solid;border-radius:2px;letter-spacing:.01em;cursor:default;transition:background .12s}.tag:hover{background:rgba(0,0,0,.04)}.tag-cyan{color:#2563eb;border-color:rgba(37,99,235,.4);background:rgba(37,99,235,.06)}.tag-purple{color:#7c3aed;border-color:rgba(124,58,237,.4);background:rgba(124,58,237,.06)}.tag-pink{color:#db2777;border-color:rgba(219,39,119,.4);background:rgba(219,39,119,.06)}.tag-yellow{color:#d97706;border-color:rgba(217,119,6,.4);background:rgba(217,119,6,.06)}.tag-green{color:#059669;border-color:rgba(5,150,105,.4);background:rgba(5,150,105,.06)}.site-footer{position:relative;z-index:2;margin-top:auto;border-top:1px solid #e5e7eb;padding:24px 0;font-family:"JetBrains Mono","Courier New",monospace;font-size:.8rem;color:#9ca3af;background:rgba(255,255,255,.92)}.site-footer .wrapper{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.footer-links{display:flex;align-items:center;gap:20px}.footer-links a{color:#9ca3af;font-family:"JetBrains Mono","Courier New",monospace;font-size:.8rem;text-decoration:none;transition:color .15s}.footer-links a:hover{color:#2563eb}.footer-links .footer-icon{display:flex;align-items:center}.footer-links .footer-icon svg{display:block}.legal-wrap{padding-top:120px;padding-bottom:80px;position:relative;z-index:2}.legal-window{background:#fff;border:1px solid #e5e7eb;overflow:hidden}.legal-window .legal-titlebar{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#f3f4f6;border-bottom:1px solid #e5e7eb;font-family:"JetBrains Mono","Courier New",monospace;font-size:.8rem;font-weight:600;color:#4b5563;letter-spacing:.02em}.legal-window .legal-body{padding:2rem 2.5rem}.legal-window .legal-body h1{font-family:"JetBrains Mono","Courier New",monospace;font-size:1.5rem;font-weight:700;color:#111827;margin-bottom:1.5rem;letter-spacing:-.02em}.legal-window .legal-body h2{font-family:"JetBrains Mono","Courier New",monospace;font-size:1rem;font-weight:600;color:#111827;margin:1.5rem 0 .75rem;padding-bottom:6px;border-bottom:1px solid #e5e7eb}.legal-window .legal-body h3{font-family:"JetBrains Mono","Courier New",monospace;font-size:.9rem;font-weight:600;color:#4b5563;margin:1rem 0 .5rem}.legal-window .legal-body h4{font-family:"JetBrains Mono","Courier New",monospace;font-size:.85rem;font-weight:500;color:#4b5563;margin:.75rem 0 .4rem}.legal-window .legal-body li,.legal-window .legal-body p{font-family:"JetBrains Mono","Courier New",monospace;font-size:.9rem;color:#4b5563;line-height:1.75;margin-bottom:.75rem}.legal-window .legal-body ul{padding-left:1.5rem;margin-bottom:.75rem}.legal-window .legal-body a{color:#2563eb;word-break:break-all}.legal-window .legal-body a:hover{color:#1e40af}#skills{padding-top:0}.skills-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}.skill-group{background:#fff;border:1px solid #e5e7eb;padding:24px}.skill-group.sg-1{--bar-color:#2563EB}.skill-group.sg-2{--bar-color:#7C3AED}.skill-group.sg-3{--bar-color:#059669}.skill-group.sg-4{--bar-color:#D97706}.skill-group.sg-5{--bar-color:#DB2777}.skill-group.sg-6{--bar-color:#0891B2}.skill-group-title{font-family:"JetBrains Mono","Courier New",monospace;font-size:.75rem;font-weight:600;color:var(--bar-color,#2563eb);margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #e5e7eb;letter-spacing:.02em}.skill-bar-row{margin-bottom:16px}.skill-bar-meta{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px}.skill-name{font-family:"JetBrains Mono","Courier New",monospace;font-size:.82rem;font-weight:500;color:#111827}.skill-level{font-family:"JetBrains Mono","Courier New",monospace;font-size:.72rem;font-weight:400;color:#9ca3af}.skill-bar-track{height:5px;background:#f3f4f6;border-radius:2px;overflow:hidden;position:relative}.skill-bar-fill{height:100%;width:0;background:var(--bar-color,#2563eb);border-radius:2px;position:relative}.skill-bar-fill.animate{animation:barLoad .8s ease-out forwards}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px;margin-top:40px}.project-card{background:#fff;border:1px solid #e5e7eb;border-left:3px solid var(--card-color,#2563eb);box-shadow:0 1px 3px rgba(0,0,0,.04);transition:box-shadow .15s,transform .12s}.project-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.08)}.project-card .card-body{display:flex;flex-direction:column;height:100%}.project-card .project-techs{margin-top:auto}.card-1{--card-color:#2563EB}.card-2{--card-color:#7C3AED}.card-3{--card-color:#059669}.card-4{--card-color:#D97706}.card-5{--card-color:#DB2777}.project-period{font-family:"JetBrains Mono","Courier New",monospace;font-size:.72rem;font-weight:400;color:#9ca3af;margin-bottom:10px}.project-role{font-family:"JetBrains Mono","Courier New",monospace;font-size:.75rem;font-weight:500;color:var(--card-color,#2563eb);margin-bottom:6px}.project-company{font-family:"JetBrains Mono","Courier New",monospace;font-size:1rem;font-weight:700;color:#111827;margin-bottom:4px;line-height:1.3}.project-location{font-family:"JetBrains Mono","Courier New",monospace;font-size:.78rem;color:#9ca3af;margin-bottom:14px}.project-desc-wrap{position:relative;margin-bottom:18px}.project-desc-wrap:not(.expanded)::after{content:"(...)";position:absolute;top:2.992rem;right:0;height:1.496rem;font-family:"JetBrains Mono","Courier New",monospace;font-size:.88rem;line-height:1.7;color:#4b5563;background:linear-gradient(to right,transparent,#fff 30%);padding-left:32px;display:flex;align-items:center}.project-desc{font-family:"JetBrains Mono","Courier New",monospace;font-size:.88rem;line-height:1.7;color:#4b5563;margin-bottom:8px;max-height:4.488rem;overflow:hidden;transition:max-height .3s ease}.project-desc-wrap.expanded .project-desc{max-height:600px}.desc-toggle{font-family:"JetBrains Mono","Courier New",monospace;font-size:.72rem;font-weight:500;color:var(--card-color,#2563eb);background:0 0;border:none;padding:0;cursor:pointer;line-height:1}.desc-toggle:hover{text-decoration:underline}.project-techs{display:flex;flex-wrap:wrap;gap:6px}.tech-chip{font-family:"JetBrains Mono","Courier New",monospace;font-size:.72rem;font-weight:500;padding:3px 8px;border:1px solid rgba(0,0,0,.12);border-radius:2px;color:#4b5563;background:#f3f4f6;transition:background .1s}.tech-chip:hover{background:#e5e7eb}.career-slots{margin-top:48px;border:1px solid #e5e7eb;background:#fff;padding:24px 28px}.career-slots .section-tag{display:block;margin-bottom:20px}.slots-scroll{display:flex;gap:8px;overflow-x:auto;padding-bottom:12px;cursor:grab}.slots-scroll::-webkit-scrollbar{height:4px}.slots-scroll::-webkit-scrollbar-track{background:#f3f4f6}.slots-scroll::-webkit-scrollbar-thumb{background:#e5e7eb}@media (max-width:640px){.slots-scroll{flex-wrap:wrap;overflow-x:visible;padding-bottom:0;cursor:default}}.slot-card{min-width:148px;flex-shrink:0;background:#fafafa;border:1px solid #e5e7eb;border-top:2px solid var(--slot-color,#2563eb);padding:14px 12px;display:flex;flex-direction:column;gap:5px;--bar-color:var(--slot-color, #2563EB)}@media (max-width:640px){.slot-card{flex:1 1 calc(50% - 4px);min-width:0}}.slot-company{font-family:"JetBrains Mono","Courier New",monospace;font-size:.78rem;font-weight:600;color:#111827;line-height:1.4;min-height:2.2em}.slot-role{font-family:"JetBrains Mono","Courier New",monospace;font-size:.7rem;font-weight:400;color:var(--slot-color,#2563eb)}.slot-years{font-family:"JetBrains Mono","Courier New",monospace;font-size:.7rem;color:#9ca3af}.slot-bar-track{height:3px;background:#f3f4f6;border-radius:1px;margin-top:4px}.slot-bar-track .skill-bar-fill{height:100%;border-radius:1px}.slot-dur{font-family:"JetBrains Mono","Courier New",monospace;font-size:.7rem;color:#9ca3af}.slot-cursor{color:var(--slot-color,#2563eb);animation:blink 1s step-end infinite}.contact-section{padding-bottom:100px}.contact-card{background:#fff;border:1px solid #e5e7eb;overflow:hidden}.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;padding:2.5rem}.contact-heading{font-family:"JetBrains Mono","Courier New",monospace;font-size:clamp(1.2rem, 2.5vw, 1.6rem);font-weight:700;color:#111827;line-height:1.3;letter-spacing:-.025em;margin-bottom:16px}.contact-sub{font-family:"JetBrains Mono","Courier New",monospace;font-size:.9rem;color:#4b5563;line-height:1.75;margin-bottom:20px}.contact-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;justify-content:space-between}.contact-items{display:flex;flex-direction:column;gap:10px;margin-top:24px}.contact-item{display:flex;align-items:center;gap:16px;padding:14px 18px;border:1px solid #e5e7eb;background:#fafafa;text-decoration:none;color:inherit;transition:border-color .12s,background .12s;cursor:pointer}.contact-item:hover{border-color:#2563eb;background:#dbeafe;color:#111827}.contact-item.copied{border-color:#059669;background:rgba(5,150,105,.05)}.contact-item.copied .contact-item-label{color:#059669}.contact-icon{font-family:"JetBrains Mono","Courier New",monospace;font-size:1.1rem;color:#2563eb;flex-shrink:0;width:30px;text-align:center}.contact-item-label{font-family:"JetBrains Mono","Courier New",monospace;font-size:.7rem;font-weight:500;color:#9ca3af;margin-bottom:3px;letter-spacing:.04em}.contact-item-value{font-family:"JetBrains Mono","Courier New",monospace;font-size:.88rem;font-weight:500;color:#111827}.contact-form{margin-top:28px;padding-top:28px;border-top:1px solid #e5e7eb}.contact-field{margin-bottom:1rem}.contact-field label{display:block;font-family:"JetBrains Mono","Courier New",monospace;font-size:.75rem;font-weight:500;color:#4b5563;letter-spacing:.02em;margin-bottom:6px}.contact-field label .contact-field-required{color:#2563eb;margin-left:2px}.contact-field input,.contact-field textarea{width:100%;background:#fafafa;border:1px solid #d1d5db;color:#111827;font-family:"JetBrains Mono","Courier New",monospace;font-size:.85rem;padding:9px 12px;outline:0;border-radius:2px;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none}.contact-field input::placeholder,.contact-field textarea::placeholder{color:#9ca3af}.contact-field input:focus,.contact-field textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #dbeafe}.contact-field textarea{resize:vertical;min-height:110px;line-height:1.6}.contact-gdpr{display:flex;align-items:flex-start;gap:10px;margin-bottom:1rem}.contact-gdpr input[type=checkbox]{flex-shrink:0;width:16px;height:16px;margin-top:2px;accent-color:#2563EB;cursor:pointer}.contact-gdpr label{font-family:"JetBrains Mono","Courier New",monospace;font-size:.78rem;color:#4b5563;line-height:1.6;cursor:pointer}.contact-gdpr label a{color:#2563eb}.contact-gdpr label a:hover{color:#1e40af}.contact-submit{width:100%;padding:10px;background:#2563eb;color:#fff;border:1px solid #2563eb;border-radius:2px;font-family:"JetBrains Mono","Courier New",monospace;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s;margin-top:4px}.contact-submit:hover:not(:disabled){background:#1e40af;border-color:#1e40af}.contact-submit:disabled{opacity:.6;cursor:not-allowed}.contact-form-turnstile{margin-bottom:1rem}.contact-form-feedback{margin-top:1rem;padding:10px 14px;border-radius:2px;font-family:"JetBrains Mono","Courier New",monospace;font-size:.82rem;line-height:1.6}.contact-form-feedback--success{background:rgba(5,150,105,.06);border:1px solid rgba(5,150,105,.35);color:#059669}.contact-form-feedback--error{background:rgba(220,38,38,.06);border:1px solid rgba(220,38,38,.35);color:#dc2626}.login-wrap{min-height:100vh;display:flex;flex-direction:column;padding-top:100px;padding-bottom:60px;position:relative;z-index:2}.login-wrap .wrapper{flex:1;display:flex;align-items:center;justify-content:center}.login-window{width:100%;max-width:420px;background:#fff;border:1px solid #e5e7eb;overflow:hidden}.login-window .login-titlebar{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#f3f4f6;border-bottom:1px solid #e5e7eb;font-family:"JetBrains Mono","Courier New",monospace;font-size:.8rem;font-weight:600;color:#4b5563;letter-spacing:.02em}.login-window .login-body{padding:2rem 2rem 1.5rem}.login-field{margin-bottom:1.25rem}.login-field label{display:block;font-family:"JetBrains Mono","Courier New",monospace;font-size:.75rem;font-weight:500;color:#4b5563;letter-spacing:.02em;margin-bottom:8px}.login-field input{width:100%;background:#fafafa;border:1px solid #d1d5db;color:#111827;font-family:"JetBrains Mono","Courier New",monospace;font-size:.9rem;padding:10px 14px;outline:0;border-radius:2px;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none}.login-field input::placeholder{color:#9ca3af}.login-field input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #dbeafe}.login-btn{width:100%;margin-top:.5rem;padding:11px;background:#2563eb;color:#fff;border:1px solid #2563eb;border-radius:2px;font-family:"JetBrains Mono","Courier New",monospace;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.login-btn:hover{background:#1e40af;border-color:#1e40af}.login-error{margin-bottom:1.25rem;padding:10px 14px;background:rgba(220,38,38,.06);border:1px solid rgba(220,38,38,.35);border-radius:2px;font-family:"JetBrains Mono","Courier New",monospace;font-size:.82rem;color:#dc2626;line-height:1.6}.login-hint{margin-top:1rem;font-family:"JetBrains Mono","Courier New",monospace;font-size:.82rem;color:#9ca3af;text-align:center}.error-wrap{min-height:100vh;display:flex;flex-direction:column;padding-top:100px;padding-bottom:60px;position:relative;z-index:2}.error-wrap .wrapper{flex:1;display:flex;align-items:center;justify-content:center}.error-window{width:100%;max-width:560px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 3px rgba(0,0,0,.04)}.error-body{padding:2.5rem 2rem;text-align:center}.error-code{font-family:"JetBrains Mono","Courier New",monospace;font-size:clamp(3rem, 12vw, 5rem);font-weight:700;line-height:1;color:#2563eb;letter-spacing:-.04em;position:relative;display:inline-block;margin-bottom:1.5rem}.error-code::before{content:attr(data-text);position:absolute;top:0;left:0;width:100%;color:#7c3aed;animation:glitch-a 5s infinite;clip-path:polygon(0 0,100% 0,100% 38%,0 38%);opacity:0}.error-code::after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;color:#db2777;animation:glitch-b 5s infinite;clip-path:polygon(0 62%,100% 62%,100% 100%,0 100%);opacity:0}.error-code--pink{color:#db2777}.error-code--pink::before{color:#2563eb}.error-code--pink::after{color:#7c3aed}.error-code--red{color:#dc2626}.error-code--red::before{color:#db2777}.error-code--red::after{color:#7c3aed}.error-label{font-family:"JetBrains Mono","Courier New",monospace;font-size:clamp(.75rem, 2vw, .9rem);font-weight:600;color:#4b5563;letter-spacing:.05em;margin-bottom:1.5rem}.error-message{font-family:"JetBrains Mono","Courier New",monospace;font-size:.95rem;color:#4b5563;line-height:1.7;margin-bottom:2rem}.error-actions{display:flex;justify-content:center}.locale-switcher{display:inline-flex;align-items:center;gap:.5rem}.locale-switcher a.active{font-weight:700}