:root{--bg:#0c0c0d;--paper:#f8f7f3;--soft:#c8c6bf;--faint:#8b93af;--panel:#17171b;--line:#26262b;--ok:#19c37d;--accent:#2483ff;--grad:linear-gradient(100deg,#82bcff,#2483ff 26%,#ff66f4 52%,#ff3029 76%,#fe7b02);--fd:"Instrument Serif",Georgia,serif;--fb:"Geist",ui-sans-serif,system-ui,-apple-system,sans-serif;--fm:"JetBrains Mono",ui-monospace,Menlo,monospace}*{box-sizing:border-box}html,body{margin:0}body{font-family:var(--fb);color:var(--paper);background:var(--bg);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.app{display:grid;grid-template-columns:var(--side,244px) 1fr;min-height:100vh;transition:grid-template-columns .22s ease}.app.collapsed{--side:64px}.side{position:sticky;top:0;align-self:start;height:100vh;background:#000;color:#fff;display:flex;flex-direction:column;gap:4px;padding:16px 12px;overflow:hidden;z-index:5;border-right:1px solid #1c1c20;background-image:radial-gradient(circle,rgba(255,255,255,.06) 1px,transparent 1.5px);background-size:26px 26px}.side:before{content:"";position:absolute;inset:0 0 auto;height:240px;pointer-events:none;background:radial-gradient(60% 80% at 30% 0%,rgba(36,131,255,.18),transparent 70%),radial-gradient(50% 70% at 90% 4%,rgba(255,102,244,.12),transparent 72%)}.side>*{position:relative}.side__brand{display:flex;align-items:center;gap:10px;padding:6px 8px 14px;white-space:nowrap}.side__logo{height:22px;width:auto;display:block;flex:none}.side__mk{display:none;width:26px;height:26px;flex:none;border-radius:8px;background:var(--grad);place-items:center}.side__mk svg{width:15px;height:15px}.navgroup{font-family:var(--fm);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:#ffffff59;padding:14px 10px 6px;white-space:nowrap}.nav{position:relative;display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:10px;color:#ffffffa8;font-size:13.5px;font-weight:500;white-space:nowrap;border:1px solid transparent;background:none;width:100%;text-align:left;text-decoration:none}.nav svg{width:17px;height:17px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7}.nav:hover{color:#fff;background:#ffffff0f}.nav.on{color:#fff;background:#ffffff17;border-color:#ffffff1f}.nav.on:before{content:"";position:absolute;left:0;width:3px;height:18px;border-radius:0 3px 3px 0;background:var(--grad)}.side__spacer{flex:1}.collapse{margin-left:auto;display:flex;align-items:center;gap:11px;color:#fff6;background:none;border:0;padding:7px;font-size:12px;flex:none;cursor:pointer}.collapse:hover{color:#fff}.collapse svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;transition:transform .22s}.app.collapsed .collapse svg{transform:rotate(180deg)}.app.collapsed .navgroup,.app.collapsed .nav span,.app.collapsed .collapse span{display:none}.app.collapsed .nav,.app.collapsed .collapse{justify-content:center;gap:0}.app.collapsed .side__logo{display:none}.app.collapsed .side__mk{display:grid}.app.collapsed .side__brand{flex-direction:column;gap:9px;padding-bottom:10px}.app.collapsed .side__brand .collapse{margin-left:0}.main{display:flex;flex-direction:column;min-width:0;min-height:100vh}@media (max-width:760px){.app{--side:60px}.app .navgroup,.app .nav span,.app .collapse span{display:none}.app .nav,.app .collapse{justify-content:center;gap:0}.app .side__logo{display:none}.app .side__mk{display:grid}.app .side__brand{flex-direction:column;gap:9px;padding-bottom:10px}.app .side__brand .collapse{margin-left:0}}.hd{flex:none;text-align:center;padding:12px 22px 4px;position:relative;z-index:4}.hd h1{font-family:var(--fd);font-weight:400;font-size:clamp(28px,3.4vw,40px);letter-spacing:.01em;line-height:1.02;margin:0;color:var(--paper)}.hd__rule{width:60px;height:2px;border-radius:2px;background:var(--grad);margin:8px auto 7px}.hd__stat{margin:0 auto;font-family:var(--fm);font-size:11.5px;letter-spacing:.06em;color:var(--faint)}.hd__stat b{color:var(--paper);font-weight:500}.stage{flex:none;height:calc(100dvh - 230px);min-height:480px;position:relative}.stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.orbwrap{position:absolute;pointer-events:none;opacity:0;transition:opacity .9s ease;z-index:2}.orbwrap.on{opacity:1}.orbwrap:before{content:"";position:absolute;inset:-18px;border-radius:50%;z-index:-1;background:radial-gradient(circle,rgba(255,102,244,.1),rgba(36,131,255,.07) 50%,transparent 72%);filter:blur(16px);animation:glow 6s ease-in-out infinite}@keyframes glow{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.orb{width:100%;height:100%;display:block}.lcol{position:absolute;top:50%;transform:translateY(-50%);height:min(520px,84%);z-index:3;display:flex;flex-direction:column;justify-content:space-between;max-width:196px}.lcol--l{left:16px;align-items:flex-start}.lcol--r{right:54px;align-items:flex-end}.lab{background:none;border:0;padding:3px 0;margin:0;cursor:pointer;color:inherit;font-family:var(--fb);text-align:inherit}.lab b{display:flex;align-items:center;gap:7px;font-weight:600;font-size:12.5px;letter-spacing:.02em;color:var(--paper);line-height:1.25;white-space:nowrap}.lab b i{width:6px;height:6px;border-radius:50%;background:var(--ac,#8b93af);flex:none;box-shadow:0 0 8px color-mix(in srgb,var(--ac,#8b93af) 55%,transparent)}.lab span{display:block;font-size:10.5px;color:var(--faint);margin-top:1px;line-height:1.3;white-space:nowrap}.lcol--l .lab{text-align:left}.lcol--r .lab{text-align:right}.lcol--r .lab b{flex-direction:row-reverse}.lab:hover b,.lab.on b{color:#fff}.lab:hover span,.lab.on span{color:var(--soft)}@media (max-width:719px){.lcol{display:none}}.card{position:fixed;z-index:9;width:300px;pointer-events:none;background:#131316ed;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid #2c2c33;border-radius:14px;padding:14px 16px 13px 18px;box-shadow:0 18px 50px #0009;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s}.card.on{opacity:1;visibility:visible;transform:none;transition:opacity .18s ease,transform .18s ease}.card__edge{position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:3px;background:linear-gradient(180deg,var(--ac,#8b93af),transparent)}.card__hd{display:flex;align-items:center;gap:12px}.card__ava{width:64px;height:64px;border-radius:50%;flex:none;object-fit:cover;background:#101014;border:2px solid var(--ac,#8b93af);box-shadow:0 0 18px color-mix(in srgb,var(--ac,#8b93af) 30%,transparent)}.card__name{font-weight:600;font-size:15px;letter-spacing:.02em;color:var(--paper);line-height:1.2}.card__title{font-size:12px;color:var(--soft);margin-top:1px}.card__div{font-family:var(--fm);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ac,#8b93af);margin-top:4px}.card__tag{font-family:var(--fd);font-size:15px;line-height:1.35;color:var(--paper);margin:10px 0 0;letter-spacing:.01em}.card__lore{font-size:11.5px;line-height:1.55;color:var(--soft);margin:7px 0 0;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}.card__label{font-family:var(--fm);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin:10px 0 5px;padding-top:9px;border-top:1px solid #26262b}.card__list{list-style:none;margin:0;padding:0}.card__list li{display:flex;align-items:baseline;gap:7px;font-size:11.5px;color:var(--soft);line-height:1.3;padding:2.5px 0}.card__list li:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--ac,#8b93af);flex:none;transform:translateY(-1px)}.card__foot{font-family:var(--fm);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-top:9px;padding-top:8px;border-top:1px solid #26262b}.card__hint{font-family:var(--fm);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:#82bcff;margin-top:9px;padding-top:8px;border-top:1px solid #26262b}@media (max-width:560px){.card{width:min(300px,calc(100vw - 24px))}}@media (prefers-reduced-motion:reduce){.card{transition:none}}.pp{position:fixed;top:0;right:0;bottom:0;z-index:13;width:min(400px,100vw);display:flex;flex-direction:column;background:#121216;border-left:1px solid #26262b;box-shadow:-18px 0 50px #00000080;transform:translate(102%);transition:transform .28s ease,visibility 0s linear .28s;visibility:hidden}.pp.open{transform:none;visibility:visible;transition:transform .28s ease}.pp__hd{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #26262b;flex:none}.pp__k{font-family:var(--fm);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.pp__x{margin-left:auto;background:none;border:0;color:var(--faint);font-size:21px;line-height:1;padding:4px 6px;cursor:pointer;font-family:var(--fb)}.pp__x:hover{color:var(--paper)}.pp__body{flex:1;min-height:0;overflow-y:auto;padding:20px 20px 26px}.pp__edge{display:block;width:44px;height:3px;border-radius:3px;background:var(--ac,#8b93af);margin-bottom:16px}.pp__ava{width:112px;height:112px;border-radius:50%;object-fit:cover;display:block;background:#101014;border:2px solid var(--ac,#8b93af);box-shadow:0 0 26px color-mix(in srgb,var(--ac,#8b93af) 32%,transparent)}.pp__name{font-weight:600;font-size:19px;letter-spacing:.02em;color:var(--paper);margin:14px 0 0;line-height:1.2}.pp__title{font-size:13px;color:var(--soft);margin-top:2px}.pp__div{font-family:var(--fm);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ac,#8b93af);margin-top:6px}.pp__tag{font-family:var(--fd);font-size:17px;line-height:1.4;color:var(--paper);margin:14px 0 0;letter-spacing:.01em}.pp__lab{font-family:var(--fm);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin:18px 0 8px;padding-top:12px;border-top:1px solid #26262b}.pp__lore{font-size:12.5px;line-height:1.65;color:var(--soft);margin:0}.pp__note{font-size:12px;line-height:1.6;color:var(--faint);margin:0 0 10px}.pp__skills{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.pp__skills a{display:block;font-size:12.5px;color:#82bcff;text-decoration:none;border:1px solid #26262b;border-radius:9px;padding:8px 11px;background:#17171b;line-height:1.4}.pp__skills a:hover{border-color:#82bcff80}.pp__foot{font-family:var(--fm);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-top:16px;padding-top:12px;border-top:1px solid #26262b}@media (max-width:719px){.pp{top:auto;left:0;width:100%;height:min(78vh,600px);border-left:0;border-top:1px solid #26262b;border-radius:16px 16px 0 0;transform:translateY(102%);box-shadow:0 -18px 50px #00000080}.pp.open{transform:none}}@media (prefers-reduced-motion:reduce){.pp{transition:none}}.ft{flex:none;text-align:center;padding:6px 22px 14px;position:relative;z-index:4}.ft__row{display:flex;flex-wrap:wrap;justify-content:center;gap:5px 14px}.ft__k{display:inline-flex;align-items:center;gap:6px;font-family:var(--fm);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}.ft__k i{width:7px;height:7px;border-radius:50%;background:var(--ac);flex:none}.ft__k em{font-style:normal;color:var(--soft)}.ft__note{margin-top:5px;font-size:11px;color:var(--faint)}.hptab{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:11;display:inline-flex;align-items:center;gap:9px;writing-mode:vertical-rl;background:#131316eb;border:1px solid #2c2c33;border-right:0;border-radius:10px 0 0 10px;padding:13px 8px;color:var(--paper);font-family:var(--fb);font-size:12px;font-weight:600;letter-spacing:.05em;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:-8px 0 24px #00000073;transition:right .28s ease,border-color .15s}.hptab:hover{border-color:#82bcff80}.hptab img{width:24px;height:24px;border-radius:50%;display:block;object-fit:cover}.hptab.open{right:min(380px,100vw)}.hp{position:fixed;top:0;right:0;bottom:0;z-index:12;width:min(380px,100vw);display:flex;flex-direction:column;background:#121216;border-left:1px solid #26262b;box-shadow:-18px 0 50px #00000080;transform:translate(102%);transition:transform .28s ease,visibility 0s linear .28s;visibility:hidden}.hp.open{transform:none;visibility:visible;transition:transform .28s ease}.hp__hd{display:flex;align-items:center;gap:11px;padding:13px 16px;border-bottom:1px solid #26262b;flex:none}.hp__ava{width:38px;height:38px;border-radius:50%;flex:none;object-fit:cover;border:2px solid #ff66f4;background:#101014}.hp__t b{display:block;font-size:14px;letter-spacing:.02em;color:var(--paper)}.hp__t span{display:block;font-family:var(--fm);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-top:2px}.hp__x{margin-left:auto;background:none;border:0;color:var(--faint);font-size:21px;line-height:1;padding:4px 6px;cursor:pointer;font-family:var(--fb)}.hp__x:hover{color:var(--paper)}.hp__thread{flex:1;min-height:0;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.hp__msg{max-width:88%;font-size:13px;line-height:1.5;border-radius:12px;padding:9px 12px;overflow-wrap:break-word}.hp__msg.bot{align-self:flex-start;background:#1b1b20;border:1px solid #26262b;color:var(--paper)}.hp__msg.me{align-self:flex-end;background:#20304a;border:1px solid #2c4468;color:var(--paper)}.hp__msg a{color:#82bcff;text-decoration:underline;word-break:break-word}.hp__msg a:hover{color:#fff}.hp__msg.typing span{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--faint);margin-right:3px;animation:hpb 1s ease-in-out infinite}.hp__msg.typing span:nth-child(2){animation-delay:.15s}.hp__msg.typing span:nth-child(3){animation-delay:.3s;margin-right:0}@keyframes hpb{0%,to{opacity:.3}50%{opacity:1}}.hp__skills{display:flex;flex-direction:column;gap:5px;margin-top:8px}.hp__skill{display:block;font-size:12px;color:#82bcff;text-decoration:none;border:1px solid #26262b;border-radius:8px;padding:6px 9px;background:#17171b}.hp__skill:hover{border-color:#82bcff80}.hp__skill b{font-weight:600}.hp__skill span{display:block;color:var(--faint);font-size:11px;margin-top:1px}.hp__form{display:flex;gap:8px;padding:12px 14px 10px;border-top:1px solid #26262b;flex:none}.hp__in{flex:1;min-width:0;background:#17171b;border:1px solid #26262b;border-radius:10px;color:var(--paper);font-family:var(--fb);font-size:13px;padding:9px 11px;outline:none}.hp__in:focus{border-color:#82bcff80}.hp__send{background:var(--accent);border:0;border-radius:10px;color:#fff;font-family:var(--fb);font-size:13px;font-weight:600;padding:9px 14px;cursor:pointer}.hp__send:hover{filter:brightness(1.08)}.hp__recruit{display:block;margin:0 14px 12px;text-align:center;border:1px solid #2c2c33;border-radius:10px;padding:9px 12px;flex:none;color:var(--soft);font-size:12.5px;font-weight:600;text-decoration:none;transition:border-color .15s,color .15s}.hp__recruit:hover{border-color:#82bcff80;color:var(--paper)}@media (max-width:719px){.hp{top:auto;left:0;width:100%;height:min(72vh,560px);border-left:0;border-top:1px solid #26262b;border-radius:16px 16px 0 0;transform:translateY(102%);box-shadow:0 -18px 50px #00000080}.hp.open{transform:none}.hptab.open{display:none}}@media (prefers-reduced-motion:reduce){.hp,.hptab{transition:none}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.hd__lede{margin:10px auto 0;max-width:78ch;color:var(--soft);font-size:13.5px;line-height:1.65}.hd__cta{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:12px}.cta{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:9px 18px;color:var(--paper);font-size:13px;font-weight:600;text-decoration:none;background:var(--panel);transition:.15s}.cta:hover{border-color:var(--accent);color:#fff;transform:translateY(-1px)}.cta--primary{background:var(--grad);border:0;color:#fff;box-shadow:0 8px 22px #ff302938}.chart{padding:34px 26px 70px;max-width:1160px;margin:0 auto;width:100%}.chart__h{font-family:var(--fd);font-weight:400;font-size:30px;letter-spacing:.01em;margin:0 0 6px;text-align:center}.chart__sub{margin:0 auto 26px;max-width:74ch;text-align:center;color:var(--faint);font-size:13px;line-height:1.6}.chart__frame{width:100%;height:min(88vh,900px);border:1px solid var(--line);border-radius:18px;background:var(--panel);display:block}@media (max-width:560px){.chart{padding:26px 14px 50px}.chart__frame{height:70vh}}
