@font-face{font-family:space mono;src:url(/fonts/space-mono-400.fb4a81a2.woff2)format('woff2');font-weight:400;font-display:swap}@font-face{font-family:space mono;src:url(/fonts/space-mono-700.2d46bd15.woff2)format('woff2');font-weight:700;font-display:swap}*{box-sizing:border-box;margin:0;padding:0}:root{--page:#8a9099;--bg:#9aa3ac;--win:#a8b0b8;--title:#929aa2;--ink:#1a1a24;--dim:#4a4a54;--border:#747a82;--red:#d01830;--yellow:#ffcf3f;--o2:#1d57b8}html,body{min-height:100%}body{background:var(--page);color:var(--ink);font-family:space mono,ui-monospace,Menlo,Consolas,monospace;padding:24px;display:flex;justify-content:center;align-items:flex-start;-webkit-user-select:none;user-select:none}a{color:inherit;text-decoration:none;cursor:pointer}.fit{overflow:hidden}.panel{width:600px;background:var(--bg);border:1px solid var(--border);display:flex;flex-direction:column;transform-origin:top left}.hd{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;border-bottom:1px solid var(--border);flex-wrap:wrap}.t{display:inline-grid;font-size:14px;font-weight:700;line-height:1.18}.t1{display:flex;gap:.34em}.t2{display:flex;justify-content:space-between}.t i{font-style:normal}.p{font-size:12px;color:var(--dim);text-align:right}.p b{color:var(--ink)}.p .x{color:var(--border);margin:0 6px}.p .al{color:var(--yellow);font-weight:700}.body{display:flex;gap:14px;padding:14px 18px}.rail{width:188px;flex:none;align-self:flex-start;display:flex;flex-direction:column;gap:11px}.v{background:var(--win);border:1px solid var(--border);display:flex;flex-direction:column;flex:none;height:48px}.vt{display:flex;justify-content:space-between;align-items:center;height:15px;padding:0 8px;background:var(--title);border-bottom:1px solid var(--border);font-size:10px;color:var(--dim);letter-spacing:.04em}.vt .rd{color:var(--ink);font-variant-numeric:tabular-nums}.v.c .vt .rd{color:var(--red)}.v.o .vt .rd{color:var(--o2);font-weight:700}.v.s .vt .rd{color:var(--red);letter-spacing:.18em}.vc{flex:1;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.status-blink{width:70px;height:auto;fill:var(--red);animation:sp 3s infinite ease-in-out}@keyframes sp{0%,100%{opacity:.45}50%{opacity:1}}.soc{display:flex;gap:10px;flex:none}.sb{flex:1;display:grid;place-items:center;height:46px;font-size:14px;background:var(--win);border:1px solid var(--border);color:var(--dim);transition:background-color .12s,color .12s,border-color .12s}.sb .lab{font-weight:700;letter-spacing:.06em}.sb:hover{background:var(--red);color:#fff;border-color:var(--red)}.main{flex:1;display:flex;flex-direction:column}.projects{display:flex;flex-direction:column;gap:9px;counter-reset:idx;flex:1;justify-content:flex-start}.pr{counter-increment:idx;position:relative;display:flex;align-items:center;height:88px;flex:none;background:var(--win);border:1px solid var(--border);overflow:hidden;transition:border-color .14s}.pr .num{position:relative;z-index:2;width:42px;flex:none;text-align:center;font-size:12px;color:var(--dim)}.pr .num::before{content:counter(idx,decimal-leading-zero)}.pr .txt{position:relative;z-index:2;min-width:0}.pr .nm{display:inline-block;font-family:system-ui,sans-serif;font-size:19px;font-weight:700;line-height:1.2;color:var(--ink);background:var(--win);padding:1px 8px;transition:background .14s,color .14s}.pr .nm:has(.mark){display:inline-flex;align-items:center;gap:.03em}.pr .nm .mark{flex:none}.pr .go{position:absolute;left:0;top:100%;font-size:9px;letter-spacing:.12em;color:#fff;background:var(--red);padding:2px 7px;white-space:nowrap;opacity:0;transition:opacity .16s}.fx{position:absolute;inset:0;z-index:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .14s}.fx.fx-media{background-size:cover;background-position:50%}.fx.face{display:flex;align-items:center;justify-content:flex-end;padding-right:16px;background:radial-gradient(circle at 78% 50%,rgba(254,202,47,.14),transparent 60%)}video.fx{width:100%;height:100%;object-fit:cover}.pr>accent-border.fx{position:absolute!important;inset:0;padding:0!important}.pr:hover{border-color:var(--red)}.pr:hover .num{color:var(--red)}.pr:hover .nm{background:var(--ink);color:var(--bg)}.pr:hover .go{opacity:1}.pr:hover .fx{opacity:1;visibility:visible}