@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");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}.rp .ss-stage{overflow:hidden;background:transparent}.rp .rp-win{position:absolute;top:24px;left:24px;width:800px;box-shadow:var(--ss-shadow-hero)}.rp .ss-stage[data-layout=compact] .rp-win{left:16px;width:326px}.rp-body{display:grid;grid-template-columns:420px minmax(0,1fr);background:var(--ss-surface)}.rp .ss-stage[data-layout=compact] .rp-body{grid-template-columns:minmax(0,1fr)}.rp-form{display:grid;align-content:start;gap:12px;padding:16px}.rp-err{padding-top:6px;color:var(--ss-danger-text);font-size:12px;line-height:16px}.rp-actions{display:flex;align-items:center;gap:12px}.rp-next{color:var(--ss-text);font-family:JetBrains Mono Variable,ui-monospace,monospace;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.rp-preview{min-height:320px;padding:16px;border-left:1px solid var(--ss-line);background:var(--ss-canvas)}.rp-preview__title{color:var(--ss-text-strong);font-size:13px;font-weight:500;line-height:16px}.rp-preview pre{margin:12px 0 0;color:var(--ss-text-strong);font-family:JetBrains Mono Variable,ui-monospace,monospace;font-size:12px;line-height:20px;white-space:pre-wrap}.rp-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-top:1px solid var(--ss-line);background:var(--ss-surface)}.rp-meter{display:grid;grid-template-columns:160px auto;align-items:center;gap:8px}.rp .ss-stage[data-layout=compact] .rp-meter{grid-template-columns:56px auto}.rp-meter__text{color:var(--ss-text);font-size:12px;font-variant-numeric:tabular-nums}.rp-foot__end{display:flex;gap:8px;margin-right:80px}.rp .ss-stage[data-layout=compact] .rp-foot__end{margin-right:0}:root{--bg: #17121d;--glass: rgb(28 24 34 / .82);--surface: #1e1a25;--raised: #2a2532;--text: #f3eff4;--text-2: #bdb6c4;--text-3: #958da0;--line: rgb(243 239 244 / .12);--accent: #ff8a4c;--font: "Inter Variable", system-ui, sans-serif;--mono: "JetBrains Mono Variable", ui-monospace, monospace;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:400 14px/20px var(--font);-webkit-font-smoothing:antialiased;overflow:hidden}button{font:inherit;color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p,ul,ol,dl,dd{margin:0;padding:0}ul,ol{list-style:none}code{font-family:var(--mono);font-size:12px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.os{position:relative;display:flex;flex-direction:column;height:100svh;overflow:hidden}.wall{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#20142c}.wall i{position:absolute;width:90vmax;height:90vmax;border-radius:50%;will-change:transform}.wall i:nth-child(1){left:-20vmax;top:-40vmax;background:radial-gradient(closest-side,#e2552f,transparent);animation:drift1 26s ease-in-out infinite alternate}.wall i:nth-child(2){right:-30vmax;top:-10vmax;background:radial-gradient(closest-side,#5a35c8,transparent);animation:drift2 32s ease-in-out infinite alternate}.wall i:nth-child(3){left:10vmax;bottom:-55vmax;background:radial-gradient(closest-side,#ffb35c,transparent);animation:drift3 38s ease-in-out infinite alternate}@keyframes drift1{to{transform:translate(18vmax,14vmax)}}@keyframes drift2{to{transform:translate(-22vmax,12vmax)}}@keyframes drift3{to{transform:translate(14vmax,-18vmax)}}@media(prefers-reduced-motion:reduce){.wall i{animation:none}}.boot{position:absolute;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-content:center;justify-items:center;gap:16px;background:#0f0c14}.boot strong{font-size:28px;font-weight:500;letter-spacing:-.02em}.boot__bar{width:240px;height:4px;border-radius:2px;background:#ffffff24;overflow:hidden}.boot__bar i{display:block;height:100%;background:var(--accent);transform-origin:left;animation:boot 1.4s cubic-bezier(.22,1,.36,1) both}@keyframes boot{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.boot code{color:var(--text-3)}.menu{position:relative;z-index:5;display:flex;align-items:center;gap:12px;height:32px;padding:0 16px;background:#0f0c149e;font-size:13px}.menu strong{font-weight:500}.menu__role{color:var(--text-2)}.menu__end{display:flex;align-items:center;gap:12px;margin-left:auto;font-variant-numeric:tabular-nums}.menu__end code{color:var(--accent)}.desk{position:relative;flex:1;min-height:0}.desk__mark{position:absolute;left:32px;bottom:16px;display:grid;gap:8px;pointer-events:none}.desk__mark span{font-size:clamp(48px,9vw,152px);line-height:.95;font-weight:500;letter-spacing:-.05em;color:#ffffffeb}.desk__mark small{color:#ffffffc7;font-size:16px;line-height:24px}.icons{position:absolute;right:16px;top:16px;display:grid;gap:4px}.icon{display:grid;justify-items:center;gap:4px;width:96px;padding:8px 4px;border:0;border-radius:12px;background:none;color:#fff;font-size:12px;line-height:16px;text-align:center;cursor:pointer;transition:background-color .16s}.icon span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#0f0c1480;box-shadow:inset 0 0 0 1px #ffffff24}.icon:hover{background:#ffffff1f}.win{position:absolute;display:flex;flex-direction:column;border-radius:14px;background:var(--surface);box-shadow:0 0 0 1px var(--line),0 16px 40px #0000005c;overflow:hidden}.win[data-top]{box-shadow:0 0 0 1px #f3eff43d,0 28px 64px #00000080}.win[hidden]{display:none}.win__bar{flex:none;display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 4px 0 16px;background:var(--raised);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.win__bar:active{cursor:grabbing}.win__title{font-weight:500;font-size:13px}.win__ctl{display:flex;gap:2px}.win__ctl button{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:8px;background:none;color:var(--text-2);cursor:pointer;transition:background-color .14s,color .14s}.win__ctl button:hover{background:#ffffff1a;color:var(--text)}.win__body{flex:1;min-height:0;overflow:auto}.btn{display:inline-flex;align-items:center;height:36px;padding:0 14px;border:1px solid var(--line);border-radius:8px;background:var(--raised);font-weight:500;cursor:pointer;transition:background-color .14s,transform .14s;width:fit-content}.btn:hover{background:#363040}.btn:active{transform:scale(.98)}.btn--primary{border-color:transparent;background:var(--accent);color:#1c0f06}.btn--primary:hover{background:#ffa06b}.about{display:grid;gap:12px;padding:24px}.about h1{font-size:40px;line-height:44px;font-weight:500;letter-spacing:-.03em}.about__role{color:var(--accent);font-weight:500}.about>p:not(.about__role){color:var(--text-2);font-size:15px;line-height:23px}.about__row{display:flex;flex-wrap:wrap;gap:8px}.about h2{margin-top:16px;font-size:18px;line-height:24px;font-weight:500}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:4px}.stats>div{padding:12px;border-radius:10px;background:var(--raised)}.stats dt{color:var(--text-3);font-size:12px;line-height:16px}.stats dd{margin-top:4px;font-size:13px;line-height:18px;font-weight:500}.jobs{display:grid;gap:8px}.jobs strong{display:block;font-weight:500}.jobs span{display:block;color:var(--text-3);font-size:12px;line-height:18px}.skills{display:grid;gap:12px}.skills h3{font-size:13px;font-weight:500}.skills ul{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.skills li{padding:2px 8px;border-radius:6px;background:var(--raised);color:var(--text-2);font-size:12px}.files{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;padding:16px}.file{display:grid;gap:4px;padding:8px;border:0;border-radius:12px;background:none;text-align:left;cursor:pointer;transition:background-color .14s}.file:hover{background:var(--raised)}.file__thumb{position:relative;display:grid;place-items:center;aspect-ratio:16 / 9;border-radius:8px;background:#000;color:var(--accent);overflow:hidden}.file__thumb video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.file strong{font-weight:500;line-height:18px}.file small{color:var(--text-3);font-size:12px;line-height:16px}.proj__video{position:relative;aspect-ratio:16 / 9;background:#000}.proj__video video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}.proj__text{display:grid;gap:8px;padding:20px}.proj__text small{color:var(--accent);font-size:12px}.proj__text h2{font-size:24px;line-height:30px;font-weight:500;letter-spacing:-.02em}.proj__text p{color:var(--text-2)}.proj__text ul{display:grid;gap:4px;color:var(--text-2)}.proj__text li{padding-left:12px;position:relative}.proj__text li:before{content:"";position:absolute;left:0;top:9px;width:6px;height:1px;background:var(--accent)}.proj__text code{color:var(--text-3)}.sec{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);min-height:100%}.sec__stage{min-width:0;background:#0d0e12}.sec__live{display:grid;align-content:start;gap:8px;padding:20px}.sec__live h2{font-size:16px;font-weight:500}.sec__live>p{color:var(--text-3)}.sec__live li{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.sec__live li span{color:#ff6b57}.sec__live li[data-ok] span{color:#7fe0a4}.sec__live small{margin-top:8px;color:var(--text-3);font-size:12px;line-height:18px}.tool{padding:8px 0 16px;background:var(--bg);min-height:100%}.tool p{padding:8px 24px 0;color:var(--text-3);font-size:12px;line-height:18px}.contacts{padding:8px 16px}.contacts li{display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.contacts span{grid-column:1 / -1;color:var(--text-3);font-size:12px;line-height:16px}.contacts a{font-size:15px;font-weight:500;overflow-wrap:anywhere}.contacts a:hover{color:var(--accent)}.contacts button{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:8px;background:none;color:var(--text-2);cursor:pointer}.contacts button:hover{background:var(--raised);color:var(--text)}.term{display:flex;flex-direction:column;height:100%;background:#0f0d13;font-family:var(--mono);font-size:13px;line-height:20px}.term__log{flex:1;min-height:0;padding:12px 16px;overflow-y:auto}.term pre{margin:0;font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-2)}.term pre[data-kind=in]{margin-top:8px;color:var(--text)}.term pre[data-kind=ok]{color:#7fe0a4}.term pre[data-kind=err]{color:#ff6b57}.term__hints{display:flex;flex-wrap:wrap;gap:4px;padding:0 16px 8px}.term__hints button{padding:2px 8px;border:0;border-radius:6px;background:var(--raised);color:var(--text-2);font:400 12px/20px var(--mono);cursor:pointer;transition:background-color .14s,color .14s}.term__hints button:hover{background:var(--accent);color:#1c0f06}.term__in{display:flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-top:1px solid var(--line)}.term__in label{color:var(--accent)}.term__in input{flex:1;min-width:0;border:0;outline:0;background:none;color:var(--text);font:inherit}.dock{position:relative;z-index:6;display:flex;justify-content:center;gap:4px;width:fit-content;margin:0 auto 8px;padding:8px;border-radius:18px;background:#0f0c14a8;box-shadow:inset 0 0 0 1px #ffffff24}.dock button{position:relative;display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:12px;background:#ffffff14;color:#fff;cursor:pointer;transition:transform .2s cubic-bezier(.22,1,.36,1),background-color .16s}.dock button:hover{transform:translateY(-6px) scale(1.08);background:#ffffff2e}.dock button[data-running]:after{content:"";position:absolute;left:50%;bottom:-5px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--accent)}@media(max-width:760px){.desk{margin-right:0}.icons,.menu__role{display:none}.desk__mark{left:16px;bottom:8px}.desk__mark small{font-size:14px;line-height:20px}.win{left:8px!important;right:8px;top:8px!important;width:auto!important;height:calc(100% - 16px)!important}.about{padding:16px}.about h1{font-size:32px;line-height:36px}.stats,.sec{grid-template-columns:minmax(0,1fr)}.files{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px;gap:4px}.dock{width:calc(100% - 16px);justify-content:space-between;padding:6px;gap:2px}.dock button{width:44px;height:44px}.dock button:hover{transform:none}}.skip{position:fixed;left:8px;top:-64px;z-index:10001;padding:12px 16px;border-radius:8px;background:var(--accent);color:#1c0f06;font-weight:500}.skip:focus{top:8px}.os{height:var(--view-h, 100svh)}.desk:focus{outline:0}.nojs{position:relative;z-index:1}@media(pointer:coarse),(max-width:760px),(max-height:520px){.win__bar{height:48px}.win__ctl button{width:44px;height:44px}.btn{height:44px}.term__hints button{min-height:44px;padding:2px 12px}.term__hints button:hover{background:var(--raised);color:var(--text-2)}.term__hints button:active{background:var(--accent);color:#1c0f06}.term__in{height:52px}.term__in input{height:44px;font-size:16px}.contacts li{grid-template-columns:minmax(0,1fr) 44px}.contacts a{display:flex;align-items:center;min-height:44px}.contacts button{width:44px;height:44px}}@media(max-height:520px){.icons,.menu__role{display:none}.desk{margin-right:64px}.desk__mark{left:16px;bottom:8px}.desk__mark span{font-size:48px}.desk__mark small{font-size:13px;line-height:18px}.win{left:8px!important;right:0;top:8px!important;width:auto!important;height:calc(100% - 16px)!important}.dock{position:absolute;right:8px;top:64px;bottom:8px;flex-direction:column;justify-content:space-between;width:56px;margin:0;padding:4px;gap:2px}.dock button{width:48px;height:100%;min-height:0;max-height:44px}.dock button:hover{transform:none}.dock button[data-running]:after{left:auto;right:-3px;bottom:50%}.sec{grid-template-columns:minmax(0,1fr)}.about h1{font-size:32px;line-height:36px}}
