[data-theme=light],[data-theme=light] *{color-scheme:light}[data-theme=dark],[data-theme=dark] *{color-scheme:dark}:root{--background-base: hsl(0 0% 6%);--background-step-1: hsl(0 0% 8%);--background-step-2: hsl(0, 0%, 9%);--background-step-3: hsl(0, 0%, 12%);--background-gray: hsl(0 0% 50%);--text-normal: hsl(0 0% 100%);--text-dimmed: hsl(0 0% 100% / .8);--text-muted: hsl(0 0% 100% / .75);--text-inverted: hsl(0 0% 0%);--text-inverted-dimmed: hsl(0 0% 0% / .7);--text-inverted-muted: hsl(0 0% 0% / .65);--border: hsl(240 5% 17%);--shadow: hsl(0 0% 0% / .6);--default-base: hsl(0, 0%, 12%);--default-hover: hsl(0, 0%, 17%);--default-active: hsl(0, 0%, 14%);--primary-base: hsl(259, 60%, 71%);--primary-hover: hsl(259, 71%, 79%);--primary-active: hsl(259, 75%, 74%);--primary-vibrant: hsl(259, 75%, 74%);--success-base: hsl(142, 69%, 46%);--success-hover: hsl(142, 67%, 59%);--success-active: hsl(142, 84%, 55%);--warning-base: hsl(48, 92%, 55%);--warning-hover: hsl(48, 95%, 66%);--warning-active: hsl(48, 93%, 58%);--danger-base: hsl(339, 91%, 22%);--danger-hover: hsl(337, 90%, 27%);--danger-active: hsl(337, 90%, 25%);--danger-vibrant: hsl(339, 91%, 42%);--info-base: hsl(214, 96%, 22%);--info-hover: hsl(214, 92%, 26%);--info-active: hsl(214, 94%, 24%);--info-vibrant: hsl(214, 84%, 49%);--mono-base: hsl(0 0% 100%);--mono-hover: hsl(0 0% 90%);--mono-active: hsl(0 0% 95%);--text-light: hsl(0 0% 100%);--text-dark: hsl(0 0% 0%);--default-flat: hsl(0 0% 14% / .5);--default-flat-hover: hsl(0 0% 14% / .85);--default-flat-active: hsl(0 0% 14% / .75);--primary-flat: hsl(259 83% 73% / .1);--primary-flat-hover: hsl(259 83% 73% / .35);--primary-flat-active: hsl(259 83% 73% / .25);--success-flat: hsl(142 71% 46% / .1);--success-flat-hover: hsl(142 71% 46% / .35);--success-flat-active: hsl(142 71% 46% / .25);--warning-flat: hsl(48 96% 53% / .1);--warning-flat-hover: hsl(48 96% 53% / .35);--warning-flat-active: hsl(48 96% 53% / .25);--danger-flat: hsl(339 97% 31% / .1);--danger-flat-hover: hsl(339 97% 31% / .35);--danger-flat-active: hsl(339 97% 31% / .25);--info-flat: hsl(217 92% 52% / .1);--info-flat-hover: hsl(217 92% 52% / .35);--info-flat-active: hsl(217 92% 52% / .25);--mono-flat: hsl(0 0% 70% / .1);--mono-flat-hover: hsl(0 0% 70% / .35);--mono-flat-active: hsl(0 0% 70% / .25)}[data-theme=light]{--background-base: hsl(0 0% 97%);--background-step-1: hsl(0 0% 95%);--background-step-2: hsl(0 0% 92%);--background-step-3: hsl(0 0% 89%);--background-gray: hsl(0 0% 50%);--text-normal: hsl(0 0% 0%);--text-dimmed: hsl(0 0% 0% / .8);--text-muted: hsl(0 0% 0% / .75);--text-inverted: hsl(0 0% 100%);--text-inverted-dimmed: hsl(0 0% 100% / .85);--text-inverted-muted: hsl(0 0% 100% / .75);--border: hsl(263 5% 68%);--shadow: hsl(0 0% 65% / .6);--default-base: hsl(0, 0%, 82%);--default-hover: hsl(0, 0%, 91%);--default-active: hsl(0, 0%, 86%);--primary-base: hsl(259, 74%, 25%);--primary-hover: hsl(259, 76%, 35%);--primary-active: hsl(259, 76%, 32%);--primary-vibrant: hsl(259, 75%, 45%);--success-base: hsl(142, 60%, 44%);--success-hover: hsl(142, 60%, 55%);--success-active: hsl(142 60% 50%);--warning-base: hsl(48, 84%, 42%);--warning-hover: hsl(48, 85%, 49%);--warning-active: hsl(48, 86%, 45%);--danger-base: hsl(339, 93%, 15%);--danger-hover: hsl(337, 88%, 22%);--danger-active: hsl(337, 89%, 19%);--danger-vibrant: hsl(339, 86%, 38%);--info-base: hsl(214, 96%, 22%);--info-hover: hsl(214, 92%, 26%);--info-active: hsl(214, 94%, 24%);--info-vibrant: hsl(214, 88%, 39%);--mono-base: hsl(0 0% 10%);--mono-hover: hsl(0 0% 16%);--mono-active: hsl(0 0% 14%);--default-flat: hsl(0 0% 70% / .5);--default-flat-hover: hsl(0 0% 70% / .85);--default-flat-active: hsl(0 0% 70% / .75)}*,*:before,*:after{box-sizing:border-box!important}html{color-scheme:dark;accent-color:var(--primary-base)}html,body{margin:0}html[data-theme=light]{color-scheme:light}body{-webkit-font-smoothing:antialiased;color:var(--text-normal);background-color:var(--background-base)}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6,code{overflow-wrap:anywhere}code{font-family:monospace}button{border:none;outline:none;background:none;padding:0}:root{--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-full: 999px}.sui-card{border:1px solid var(--border);background-color:var(--background-base);border-radius:var(--radius-md);width:fit-content;height:fit-content}.sui-card.filled{background-color:var(--background-step-3);border:none}.sui-card.full-w{width:100%}.sui-card.full-h{height:100%}.sui-card-header:has(*){padding:1rem 1rem 0rem;*{margin:0}}.sui-card-body{padding:1rem}.sui-card-footer:has(*){border-top:1px solid var(--border);padding:1rem}.sui-card-footer:not(:has(*)){display:none}.filled .sui-card-footer{border:none}@media screen and (max-width:840px){.sui-card{width:100%}}.profile-user[data-astro-cid-bv2siqb6]{display:flex;align-items:center;gap:14px;min-width:0;height:100%;justify-content:center}.profile-avatar[data-astro-cid-bv2siqb6]{width:72px;height:90px;border-radius:14px;object-fit:cover;flex-shrink:0}.profile-text[data-astro-cid-bv2siqb6]{display:flex;flex-direction:column;gap:3px;min-width:0}.profile-name[data-astro-cid-bv2siqb6]{font-weight:700;font-size:17px;letter-spacing:-.015em;color:#34271d;line-height:1.2;white-space:nowrap}html[lang=ru] .profile-name[data-astro-cid-bv2siqb6]{letter-spacing:0}.profile-profession[data-astro-cid-bv2siqb6]{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#836754;line-height:1.2;margin-top:1px}.profile-desc[data-astro-cid-bv2siqb6]{font-size:11px;letter-spacing:0;color:#725846;line-height:1.4}.profile-loc[data-astro-cid-bv2siqb6]{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:500;letter-spacing:.02em;color:#725846;line-height:1.4;margin-top:2px;white-space:nowrap}.loc-icon[data-astro-cid-bv2siqb6]{color:#725846;flex-shrink:0}.profile-loc-travel[data-astro-cid-bv2siqb6]{margin-top:1px}.loc-dot[data-astro-cid-bv2siqb6]{width:8px;height:8px;border-radius:50%;background:#3b9151;flex-shrink:0;box-shadow:0 0 hsl(135,42%,40% / .35);animation:loc-pulse 3s ease-in-out infinite}@keyframes loc-pulse{0%,to{box-shadow:0 0 hsl(135,42%,40% / .4)}60%{box-shadow:0 0 0 6px hsl(135,42%,40% / 0)}}@media(prefers-reduced-motion:reduce){.loc-dot[data-astro-cid-bv2siqb6]{animation:none}}@media(max-width:767px){.profile-user[data-astro-cid-bv2siqb6]{justify-content:flex-start}}@media(min-width:768px){.profile-user[data-astro-cid-bv2siqb6]{flex-direction:column;align-items:flex-start;justify-content:center;gap:10px}.profile-name[data-astro-cid-bv2siqb6]{font-size:16px}.profile-desc[data-astro-cid-bv2siqb6]{font-size:11px}}.sui-button{display:flex;flex-direction:row;align-items:center;text-align:center;position:relative;gap:.5rem;outline:none;border:none;font-weight:400;border-radius:var(--radius-md);transition:transform .15s,background-color .15s,border-color .15s,color .15s;transition-timing-function:ease;cursor:pointer;background-color:var(--default-base);border-color:var(--border);color:var(--text-normal);min-width:fit-content;will-change:transform;text-decoration:none}.sui-button.disabled{pointer-events:none;opacity:.5}.sui-button.outlined{border-width:1px;border-style:solid}.sui-button.outlined:hover,.sui-button.outlined:active,.sui-button:hover{background-color:var(--default-hover)}.sui-button:active{background-color:var(--default-active);transform:scale(.95)}.sui-button.flat{background:var(--default-flat)}.sui-button.flat:hover{background:var(--default-flat-hover)}.sui-button.flat:active{background:var(--default-flat-active)}.sui-button.sm{height:32px;padding:.5rem .75rem;font-size:.825em}.sui-button.md{height:40px;padding:.5rem .75rem;font-size:.875em}.sui-button.lg{height:48px;padding:.75rem 1rem;font-size:1em}.sui-button:focus-visible{outline:2px solid var(--text-normal);outline-offset:2px}.sui-button.primary{background-color:var(--primary-base);border-color:var(--primary-base);color:var(--text-inverted)}.sui-button.primary:hover{background-color:var(--primary-hover)}.sui-button.primary:active{background-color:var(--primary-active)}.sui-button.primary.outlined{background-color:var(--default-base);color:var(--text-normal)}.sui-button.primary.outlined:hover{background-color:var(--default-hover)}.sui-button.primary.outlined:active{background-color:var(--default-active)}.sui-button.primary.flat{background-color:var(--primary-flat);color:#b796fd}.sui-button.primary.flat:hover{background-color:var(--primary-flat-hover)}.sui-button.primary.flat:active{background-color:var(--primary-flat-active)}.sui-button.success{background-color:var(--success-base);border-color:var(--success-base);color:var(--text-dark)}.sui-button.success:hover{background-color:var(--success-hover)}.sui-button.success:active{background-color:var(--success-active)}.sui-button.success.outlined{background-color:var(--default-base);color:var(--text-normal)}.sui-button.success.outlined:hover{background-color:var(--default-hover)}.sui-button.success.outlined:active{background-color:var(--default-active)}.sui-button.success.flat{background-color:var(--success-flat);color:var(--success-base)}.sui-button.success.flat:hover{background-color:var(--success-flat-hover)}.sui-button.success.flat:active{background-color:var(--success-flat-active)}.sui-button.warning{background-color:var(--warning-base);border-color:var(--warning-base);color:var(--text-dark)}.sui-button.warning:hover{background-color:var(--warning-hover)}.sui-button.warning:active{background-color:var(--warning-active)}.sui-button.warning.outlined{background-color:var(--default-base);color:var(--text-normal)}.sui-button.warning.outlined:hover{background-color:var(--default-hover)}.sui-button.warning.outlined:active{background-color:var(--default-active)}.sui-button.warning.flat{background-color:var(--warning-flat);color:var(--warning-base)}.sui-button.warning.flat:hover{background-color:var(--warning-flat-hover)}.sui-button.warning.flat:active{background-color:var(--warning-flat-active)}.sui-button.danger{background-color:var(--danger-base);border-color:var(--danger-base);color:var(--text-light)}.sui-button.danger:hover{background-color:var(--danger-hover)}.sui-button.danger:active{background-color:var(--danger-active)}.sui-button.danger.outlined{background-color:var(--default-base);color:var(--text-normal)}.sui-button.danger.outlined:hover{background-color:var(--default-hover)}.sui-button.danger.outlined:active{background-color:var(--default-active)}.sui-button.danger.flat{background-color:var(--danger-flat);color:#f971a5}.sui-button.danger.flat:hover{background-color:var(--danger-flat-hover)}.sui-button.danger.flat:active{background-color:var(--danger-flat-active)}.sui-button.info{background-color:var(--info-base);border-color:var(--info-base);color:var(--text-light)}.sui-button.info:hover{background-color:var(--info-hover)}.sui-button.info:active{background-color:var(--info-active)}.sui-button.info.outlined{background-color:var(--default-base);color:var(--text-normal)}.sui-button.info.outlined:hover{background-color:var(--default-hover)}.sui-button.info.outlined:active{background-color:var(--default-active)}.sui-button.info.flat{background-color:var(--info-flat);color:var(--info-base)}.sui-button.info.flat:hover{background-color:var(--info-flat-hover)}.sui-button.info.flat:active{background-color:var(--info-flat-active)}.sui-button.mono{background-color:var(--mono-base);border-color:var(--mono-base);color:var(--text-inverted)}.sui-button.mono:hover{background-color:var(--mono-hover)}.sui-button.mono:active{background-color:var(--mono-active)}.sui-button.mono.outlined{background-color:var(--default-base);color:var(--text-normal)}.sui-button.mono.outlined:hover{background-color:var(--default-hover)}.sui-button.mono.outlined:active{background-color:var(--default-active)}.sui-button.mono.flat{background-color:var(--mono-flat);color:var(--mono-base)}.sui-button.mono.flat:hover{background-color:var(--mono-flat-hover)}.sui-button.mono.flat:active{background-color:var(--mono-flat-active)}.sui-button.full{width:100%;justify-content:center}[data-theme=light]{.sui-button.primary.flat{color:#4f12d3}.sui-button.success.flat{background-color:var(--success-flat);color:#15512c}.sui-button.success.flat:hover{background-color:var(--success-flat-hover)}.sui-button.success.flat:active{background-color:var(--success-flat-active)}.sui-button.warning.flat{background-color:var(--warning-flat);color:#5b4b0b}.sui-button.warning.flat:hover{background-color:var(--warning-flat-hover)}.sui-button.warning.flat:active{background-color:var(--warning-flat-active)}.sui-button.danger.flat{color:#920234}}.links-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.link-btn{width:100%!important;padding:6px 10px!important;border-radius:8px!important;font-size:12px!important;text-decoration:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important}.lang-switcher{display:inline-flex;gap:2px;padding:2px;background:#e2dbd5;border-radius:7px}.lang-pill{font-family:SF Mono,Monaco,Menlo,monospace;font-size:11px;font-weight:600;letter-spacing:.08em;color:#705848;padding:7px 10px;min-width:32px;min-height:24px;display:inline-flex;align-items:center;justify-content:center;text-align:center;border-radius:5px;text-decoration:none;line-height:1;transition:background .12s,color .12s}.lang-pill:hover{color:#483528}.lang-pill.active{background:#f7f5f3;color:#3b2c21;box-shadow:0 1px 2px hsl(30,18%,40% / .15)}.footer-row[data-astro-cid-sc3v34kz]{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#907764}.footer-copy[data-astro-cid-sc3v34kz]{font-size:13px}@media(max-width:767px){.footer-lang[data-astro-cid-sc3v34kz]{display:none}.footer-row[data-astro-cid-sc3v34kz]{justify-content:center;text-align:center}}.about-text[data-astro-cid-4ixaodgh]{margin:0;font-size:14px;line-height:1.7;color:#524032;letter-spacing:.01em;text-wrap:balance;overflow-wrap:break-word}.about-text[data-astro-cid-4ixaodgh] strong{font-weight:700;color:#453021;letter-spacing:-.01em}.about-text[data-astro-cid-4ixaodgh] .s{display:block}@media(max-width:767px){.about-text[data-astro-cid-4ixaodgh] .s+.s{margin-top:.65em}.about-text[data-astro-cid-4ixaodgh]{font-size:16px;line-height:1.5;letter-spacing:0;text-wrap:pretty}}.about-text[data-astro-cid-4ixaodgh] .nowrap{white-space:nowrap}.skills-list[data-astro-cid-u7rr3op7]{display:flex;flex-direction:column;gap:14px}.skill-group[data-astro-cid-u7rr3op7]{display:flex;flex-direction:column;gap:4px}.skill-category[data-astro-cid-u7rr3op7]{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#705848;font-weight:600}.skill-items[data-astro-cid-u7rr3op7]{font-size:13px;color:#4c3b2f;line-height:1.55}.skill-items[data-astro-cid-u7rr3op7] .nowrap{white-space:nowrap}.proj-list{display:flex;flex-direction:column;gap:12px}.proj-group{display:flex;flex-direction:column;gap:1px}.proj-group-hdr{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#a38b7b;padding:0 10px 5px;display:flex;align-items:center;gap:8px}.proj-group-hdr:after{content:"";flex:1;height:1px;background:#dfd6cd}.proj-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;border:1px solid transparent;background:transparent;cursor:pointer;transition:background .13s ease,border-color .13s ease;outline:none;min-width:0}.proj-row:hover,.proj-row:focus-visible{background:#e9e4dd;border-color:#ddd4ca}.proj-row:active{opacity:.75}.proj-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-top:1px;align-self:flex-start}.proj-dot.live{background:#439d5a}.proj-dot.dev{background:#d3a969}.proj-text{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.proj-name{font-size:13px;font-weight:600;color:#3b2c21;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.proj-desc{font-size:11px;font-weight:400;color:#9b816f;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.proj-arrow{flex-shrink:0;font-size:12px;color:#bcab9f;opacity:.4;transform:translate(0);transition:opacity .13s ease,transform .13s ease,color .13s ease;line-height:1}.proj-row:hover .proj-arrow,.proj-row:focus-visible .proj-arrow{opacity:1;color:#f16f4f;transform:translate(1px,-1px)}#term-backdrop{position:fixed;inset:0;z-index:8000;background:#06030100;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px);display:flex;align-items:center;justify-content:center;padding:24px 16px;pointer-events:none;transition:background .4s ease,backdrop-filter .4s ease,-webkit-backdrop-filter .4s ease}#term-backdrop.open{background:#060301b8;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);pointer-events:all}#crt-monitor{display:flex;flex-direction:column;align-items:center;opacity:0;transition:opacity .14s ease;filter:drop-shadow(0 28px 56px rgba(0,0,0,.6))}#term-backdrop.open #crt-monitor{opacity:1}.crt-bezel{width:min(560px,calc(100vw - 32px));width:min(740px,calc(100vw - 32px));background:linear-gradient(170deg,#dfd8cd,#d2c8bc,#c9bdb1);border-radius:16px;padding:16px 20px 18px;box-shadow:inset 0 3px #ffffffb8,inset 3px 0 #ffffff6b,inset 0 -4px #00000038,inset -3px 0 #0000001f,0 0 0 1.5px #b39e89,0 4px #0003,0 8px 32px #00000052;position:relative}.crt-screen{background:#030d04;border-radius:8px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #000000f2,inset 0 0 50px #0000008c,0 0 0 1px #00000080;height:min(60vh,500px);display:flex;flex-direction:column}.crt-screen:before{content:"";position:absolute;inset:0;z-index:20;background:radial-gradient(ellipse 88% 72% at 48% 38%,#ffffff09,#ffffff02 45%,#0000 68%,#0000001a);pointer-events:none;border-radius:inherit}.crt-screen:after{content:"";position:absolute;inset:0;z-index:19;background:repeating-linear-gradient(0deg,transparent 0px,transparent 2px,rgba(0,0,0,.1) 2px,rgba(0,0,0,.1) 4px);pointer-events:none;border-radius:inherit}.crt-topbar{padding:9px 14px 7px;border-bottom:1px solid rgba(57,255,133,.08);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;position:relative;z-index:5}.crt-sys-text{font:700 9px Courier New,Courier,monospace;color:#39ff854d;letter-spacing:.18em;text-transform:uppercase}.crt-esc-btn{background:none;border:1px solid rgba(57,255,133,.18);border-radius:3px;color:#39ff8559;font:9px Courier New,Courier,monospace;padding:2px 7px;cursor:pointer;letter-spacing:.12em;text-transform:uppercase;transition:border-color .15s,color .15s}.crt-esc-btn:hover{border-color:#39ff858c;color:#39ff85bf}.crt-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:13px 16px 20px;font:13px/1.85 Courier New,Courier,monospace;color:#39ff85;text-shadow:0 0 10px rgba(57,255,133,.5),0 0 2px rgba(57,255,133,.25);scrollbar-width:none;position:relative;z-index:5;-webkit-overflow-scrolling:touch}.crt-body::-webkit-scrollbar{display:none}.tl{display:block;white-space:pre-wrap;word-break:break-word;min-height:1.85em}.tl-blank{min-height:.85em}.tl-cmd .t-prompt{color:#f16f4f;text-shadow:0 0 10px rgba(241,111,79,.6)}.tl-cmd .t-path{color:#7dc4ff;text-shadow:0 0 8px rgba(125,196,255,.45)}.tl-kv .t-key{color:#57e8a0}.tl-kv .t-val{color:#39ff85}.tl-kv .t-val.green{color:#39ff85;filter:brightness(1.2)}.tl-kv .t-val.amber{color:#f5a87e;text-shadow:0 0 10px rgba(245,168,126,.5)}.tl-item .t-bullet{color:#f16f4f}.tl-item{color:#39ff85b3}.tl-cursor:after{content:"█";color:#39ff85;animation:crt-blink 1.1s step-end infinite}@keyframes crt-blink{0%,to{opacity:1}50%{opacity:0}}.t-link{color:#39ff85;text-decoration:underline;text-underline-offset:2px;text-decoration-color:#39ff8559;cursor:pointer;transition:color .15s,text-decoration-color .15s,text-shadow .15s}.t-link:hover{color:#f5a87e;text-shadow:0 0 10px rgba(245,168,126,.55);text-decoration-color:#f5a87e80}.term-shot{margin:4px 0 2px;border:1px solid rgba(57,255,133,.15);border-radius:6px;background:#030d04;overflow:hidden;opacity:0;transform:translateY(6px);transition:opacity .35s ease,transform .35s ease}.term-shot.visible{opacity:1;transform:translateY(0)}.term-shot-bar{background:#39ff850d;padding:5px 10px;display:flex;align-items:center;gap:6px;border-bottom:1px solid rgba(57,255,133,.08)}.term-shot-dots{display:flex;gap:4px}.term-shot-dot{width:6px;height:6px;border-radius:50%;background:#39ff8526}.term-shot-url{flex:1;text-align:center;font:9px Courier New,monospace;color:#39ff8547}.term-shot-canvas{display:block;width:100%}.crt-brand-row{display:flex;align-items:center;justify-content:center;margin-top:12px}.crt-power-dot{width:5px;height:5px;border-radius:50%;background:#39ff85b3;box-shadow:0 0 6px #39ff85cc;animation:crt-pwm 3s ease-in-out infinite}@keyframes crt-pwm{0%,to{opacity:.45}50%{opacity:1}}@media(max-width:640px){#term-backdrop{padding:12px;align-items:center}.crt-bezel{border-radius:12px;padding:10px 12px 12px}.crt-screen{height:min(68vh,380px);border-radius:6px}.crt-body{font-size:12px;padding:10px 12px 16px}}.photo-card[data-astro-cid-dfyjkn4l]{display:flex;position:relative;width:100%;height:100%;min-height:240px;border-radius:12px;overflow:hidden;text-decoration:none;border:1px solid hsl(30,22%,80%);transition:transform .25s ease,box-shadow .25s ease}.photo-card[data-astro-cid-dfyjkn4l]:hover{transform:translateY(-2px);box-shadow:0 6px 20px hsl(30,18%,30% / .18)}.photo-card[data-astro-cid-dfyjkn4l]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.photo-bg[data-astro-cid-dfyjkn4l]{position:absolute;inset:0;background-image:url(/photo-bg.jpeg);background-size:cover;background-position:center 38%;transition:transform .4s ease}.photo-card[data-astro-cid-dfyjkn4l]:hover .photo-bg[data-astro-cid-dfyjkn4l]{transform:scale(1.04)}@media(min-width:768px){.photo-bg[data-astro-cid-dfyjkn4l]{background-size:auto 140%;background-position:center top}}.photo-overlay[data-astro-cid-dfyjkn4l]{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,12,6,.88) 0%,rgba(20,12,6,.5) 28%,rgba(20,12,6,.08) 60%,transparent 100%)}.photo-content[data-astro-cid-dfyjkn4l]{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;padding:16px;gap:4px}.photo-text[data-astro-cid-dfyjkn4l]{display:flex;flex-direction:column;gap:3px}.photo-label[data-astro-cid-dfyjkn4l]{font-size:17px;font-weight:700;color:#f5f0eb;letter-spacing:-.01em;line-height:1.2}.photo-sub[data-astro-cid-dfyjkn4l]{font-size:12px;color:#f5f0ebd9;letter-spacing:.02em}.photo-arrow[data-astro-cid-dfyjkn4l]{position:absolute;top:14px;right:14px;font-size:18px;color:#f5f0ebe0;line-height:1;transition:transform .25s ease;text-shadow:0 1px 4px rgba(0,0,0,.3)}.photo-card[data-astro-cid-dfyjkn4l]:hover .photo-arrow[data-astro-cid-dfyjkn4l]{transform:translate(3px,-3px)}@media(min-width:768px){.photo-label[data-astro-cid-dfyjkn4l]{font-size:15px}.photo-sub[data-astro-cid-dfyjkn4l]{font-size:11px}.photo-content[data-astro-cid-dfyjkn4l]{padding:14px}.photo-arrow[data-astro-cid-dfyjkn4l]{font-size:16px;top:12px;right:12px}}:root{--background-base: hsl(36, 28%, 91%);--background-step-1: hsl(36, 22%, 94%);--background-step-2: hsl(36, 18%, 96%);--background-step-3: hsl(36, 14%, 97%);--text-normal: hsl(25, 28%, 18%);--text-dimmed: hsl(25, 22%, 30%);--text-muted: hsl(25, 18%, 38%);--text-faded: hsl(25, 18%, 48%);--text-inverted: hsl(36, 28%, 91%);--text-inverted-dimmed: hsl(36, 28%, 91% / .85);--text-inverted-muted: hsl(36, 28%, 91% / .75);--border: hsl(30, 28%, 80%);--shadow: hsl(30, 18%, 40% / .2);--default-base: hsl(30, 22%, 84%);--default-hover: hsl(30, 22%, 79%);--default-active: hsl(30, 22%, 82%);--default-flat: hsl(30, 18%, 65% / .25);--default-flat-hover: hsl(30, 18%, 65% / .45);--default-flat-active: hsl(30, 18%, 65% / .35);--mono-base: hsl(25, 28%, 22%);--mono-hover: hsl(25, 25%, 30%);--mono-active: hsl(25, 26%, 26%);--mono-flat: hsl(30, 18%, 50% / .15);--mono-flat-hover: hsl(30, 18%, 50% / .3);--mono-flat-active: hsl(30, 18%, 50% / .22);--background-gray: hsl(30, 12%, 55%);--focus-ring: hsl(25, 55%, 35%)}*,*:before,*:after{box-sizing:border-box}body{font-family:MiSans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;line-height:1.5;background:#eee9e2;color:#3b2c21;margin:0;padding:0;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sui-card{background-color:#f3f0ec!important;border-color:#e1d9d0!important;box-shadow:0 1px 4px hsl(30,18%,40% / .12)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:4px}[aria-hidden=true] svg,svg[aria-hidden=true]{pointer-events:none}.bento-main{min-height:100svh;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;gap:10px}.mobile-lang-bar{display:none}.outer-grid{max-width:820px;width:100%;display:flex;flex-direction:column;gap:8px}[class^=area-]{display:flex;min-width:0}[class^=area-]>*{flex:1;width:100%}.area-profile{order:1}.area-skills{order:2}.area-about{order:3}.area-projects{order:4}.area-links{order:5}.area-photo{order:6}.area-footer{order:7}.scroll-pill{display:none}@media(max-width:767px){.scroll-pill{display:block;position:fixed;bottom:20px;left:50%;transform:translate(-50%);width:56px;height:3px;border-radius:2px;background:#f16f4f26;z-index:100;pointer-events:none;overflow:hidden}.scroll-pill-fill{height:100%;width:100%;border-radius:2px;background:linear-gradient(90deg,#f5a87e,#f16f4f);transform-origin:left center;transform:scaleX(0);animation:pill-fill linear both;animation-timeline:scroll(root)}@keyframes pill-fill{to{transform:scaleX(1)}}.mobile-lang-bar{display:flex;justify-content:center;padding:4px 0 8px}}@media(min-width:768px){.outer-grid{display:grid;grid-template-columns:minmax(200px,1.1fr) minmax(0,2fr) minmax(160px,.9fr);grid-template-rows:auto 1fr auto auto;grid-template-areas:"profile  skills   photo" "about    projects photo" "links    projects photo" "footer   footer   footer";gap:8px}.area-profile{grid-area:profile;order:initial}.area-about{grid-area:about;order:initial}.area-skills{grid-area:skills;order:initial}.area-projects{grid-area:projects;order:initial}.area-links{grid-area:links;order:initial}.area-photo{grid-area:photo;order:initial}.area-footer{grid-area:footer;order:initial}}@media(min-width:1280px){.outer-grid{max-width:920px}}@media(min-width:1600px){.outer-grid{max-width:1040px}}@media(min-width:1920px){.outer-grid{max-width:1160px}}@media(min-width:2400px){.outer-grid{max-width:1320px}}
