@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) 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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.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}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff");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}:root{--bg: #f4f1ea;--bg-elev: #ecead2;--bg-inset: #e3e0c8;--fg: #1a1a17;--fg-dim: #4a4a42;--muted: #8a8a7e;--border: #cfccaa;--border-strong: #b3b0a0;--accent: #b0651a;--accent-2: #2f6d2f;--accent-amber: #b0651a;--accent-green: #2f6d2f;--accent-cyan: #1f7a7a;--accent-magenta: #a83a7a;--glow: rgba(176, 101, 26, .35);--grid-line: rgba(26, 26, 23, .045);--scanline: rgba(26, 26, 23, .03);--cursor: #1a1a17;--shadow: 0 6px 24px -8px rgba(26, 26, 23, .35);--font-mono: "JetBrains Mono Variable", "JetBrains Mono", "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-body: "IBM Plex Mono", var(--font-mono);--maxw: 1080px;--radius: 10px;--pad: clamp(1rem, 4vw, 2.5rem);--ease: cubic-bezier(.22, 1, .36, 1);--term-bg: #14110b;--term-fg: #e8e2cf;--term-dim: #8a8a7e;--term-border: #2a2a25;--term-title: #d4cba8}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0c0a07;--bg-elev: #14110b;--bg-inset: #0a0805;--fg: #e8e2cf;--fg-dim: #a8a087;--muted: #6b6655;--border: #2a2a25;--border-strong: #3a3a32;--accent: #ffae3a;--accent-2: #5fd35f;--accent-amber: #ffae3a;--accent-green: #5fd35f;--accent-cyan: #56d6d6;--accent-magenta: #ff6fb0;--glow: rgba(255, 174, 58, .28);--grid-line: rgba(232, 226, 207, .035);--scanline: rgba(232, 226, 207, .022);--cursor: #e8e2cf;--shadow: 0 10px 36px -10px rgba(0, 0, 0, .7);--term-bg: #0c0a07;--term-fg: #e8e2cf;--term-dim: #6b6655;--term-border: #2a2a25;--term-title: #d4cba8}}:root[data-theme=dark]{--bg: #0c0a07;--bg-elev: #14110b;--bg-inset: #0a0805;--fg: #e8e2cf;--fg-dim: #a8a087;--muted: #6b6655;--border: #2a2a25;--border-strong: #3a3a32;--accent: #ffae3a;--accent-2: #5fd35f;--accent-amber: #ffae3a;--accent-green: #5fd35f;--accent-cyan: #56d6d6;--accent-magenta: #ff6fb0;--glow: rgba(255, 174, 58, .28);--grid-line: rgba(232, 226, 207, .035);--scanline: rgba(232, 226, 207, .022);--cursor: #e8e2cf;--shadow: 0 10px 36px -10px rgba(0, 0, 0, .7)}*{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:32px 32px;background-position:-1px -1px}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}h1,h2,h3{font-family:var(--font-mono);font-weight:600;letter-spacing:-.01em;line-height:1.15}.scanlines{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background-image:repeating-linear-gradient(0deg,var(--scanline) 0px,var(--scanline) 1px,transparent 1px,transparent 3px);mix-blend-mode:multiply;opacity:.6}.cursor-trail{position:fixed;width:14px;height:14px;border-radius:50%;background:var(--accent);pointer-events:none;z-index:9998;mix-blend-mode:screen;filter:blur(6px);opacity:.5;transform:translate(-50%,-50%)}.term{position:relative;background:var(--term-bg);color:var(--term-fg);border:1px solid var(--term-border);border-radius:var(--radius);box-shadow:var(--shadow);font-family:var(--font-mono);overflow:hidden}.term__bar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:linear-gradient(180deg,color-mix(in srgb,var(--term-bg) 70%,#fff 4%),var(--term-bg));border-bottom:1px solid var(--term-border);font-size:11.5px;color:var(--term-dim);-webkit-user-select:none;user-select:none}.term__dots{display:flex;gap:7px}.term__dot{width:11px;height:11px;border-radius:50%}.term__dot--r{background:#ff5f57}.term__dot--y{background:#febc2e}.term__dot--g{background:#28c840}.term__title{margin-left:auto;margin-right:auto;color:var(--term-title);font-family:var(--font-mono);letter-spacing:.02em}.term__body{padding:clamp(1rem,4vw,2rem)}.nav{position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:color-mix(in srgb,var(--bg) 80%,transparent);border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:13px}.nav__inner{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);height:46px;display:flex;align-items:center;gap:14px}.nav__brand{color:var(--fg-dim)}.nav__brand b{color:var(--accent)}.nav__links{display:flex;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:none}.nav__links::-webkit-scrollbar{display:none}.nav__link{flex:none}.nav__link{color:var(--muted);padding:4px 10px;border-radius:6px;font-family:var(--font-mono);transition:color .15s var(--ease),background .15s var(--ease)}.nav__link:hover{color:var(--fg);text-decoration:none;background:var(--bg-inset)}.nav__link[aria-current=true]{color:var(--accent)}.nav__spacer{margin-left:auto;color:var(--muted);font-size:11.5px}.nav__link--live:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent-2);margin-right:6px;vertical-align:middle}main{display:block}.section{padding:clamp(3rem,8vw,5.5rem) var(--pad)}.section__inner{max-width:var(--maxw);margin:0 auto}.section__prompt{font-family:var(--font-mono);color:var(--accent);font-size:14px;margin-bottom:.4rem}.section__cmd{color:var(--fg)}.section__out{color:var(--muted);font-size:12px}.section__title{font-size:clamp(1.6rem,4vw,2.4rem);margin:.2rem 0 1.6rem}.hero{min-height:calc(100vh - 46px);display:flex;flex-direction:column;justify-content:center}.hero__boot{color:var(--muted);font-family:var(--font-mono);font-size:12.5px;min-height:9em}.hero__line{white-space:pre}.hero__cursor{color:var(--accent)}.hero__name{font-size:clamp(2.4rem,9vw,5.6rem);margin:1.5rem 0 .3rem;letter-spacing:-.03em}.hero__name .accent{color:var(--accent)}.hero__tag{font-family:var(--font-mono);color:var(--fg-dim);font-size:clamp(1rem,2.4vw,1.5rem);min-height:2.2em;max-width:26ch}.hero__caret{display:inline-block;width:.6em;height:1.05em;background:var(--accent);margin-left:2px;vertical-align:text-bottom}.hero__meta{display:flex;flex-wrap:wrap;gap:1.2rem 2rem;margin-top:1.8rem;font-family:var(--font-mono);font-size:12.5px;color:var(--muted)}.hero__meta b{color:var(--fg-dim)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:1.4rem}.stat{background:var(--bg-inset);border:1px solid var(--border);border-radius:9px;padding:14px 16px}.stat__n{font-family:var(--font-mono);font-size:1.9rem;color:var(--accent);font-weight:600;line-height:1}.stat__l{color:var(--muted);font-family:var(--font-mono);font-size:11.5px;margin-top:6px}.about__who{white-space:pre-wrap;font-family:var(--font-mono);color:var(--fg-dim);font-size:14px;max-width:60ch}.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}.proj{position:relative;display:flex;flex-direction:column;background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:18px 18px 16px;transition:transform .25s var(--ease),border-color .25s var(--ease),box-shadow .25s var(--ease);text-decoration:none;color:inherit;overflow:hidden}.proj:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;background:radial-gradient(120px 90px at 50% -10%,var(--proj-glow),transparent 70%);opacity:0;transition:opacity .25s var(--ease)}.proj:hover,.proj:focus-within{transform:translateY(-4px);border-color:var(--proj-accent);box-shadow:0 14px 30px -14px var(--proj-glow)}.proj:hover:before,.proj:focus-within:before{opacity:1}.proj__shot{position:relative;margin:-18px -18px 14px;aspect-ratio:2 / 1;overflow:hidden;background:var(--bg-inset);border-bottom:1px solid var(--border)}.proj__shot img{width:100%;height:100%;display:block;object-fit:cover;object-position:top center;transition:transform .4s var(--ease)}.proj:hover .proj__shot img,.proj:focus-within .proj__shot img{transform:scale(1.04)}.proj__head{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.proj__idx{font-family:var(--font-mono);font-size:12px;color:var(--muted)}.proj__name{font-size:1.35rem;color:var(--fg)}.proj__tag{font-family:var(--font-mono);font-size:12px;color:var(--proj-accent)}.proj__year{margin-left:auto;font-family:var(--font-mono);font-size:11.5px;color:var(--muted)}.proj__desc{color:var(--fg-dim);font-size:13.5px;margin:8px 0 14px}.proj__tech{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.chip{font-family:var(--font-mono);font-size:11px;padding:3px 8px;border-radius:999px;border:1px solid var(--border-strong);color:var(--fg-dim);background:var(--bg-inset)}.proj__links{position:relative;display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.proj__link{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:6px 12px;border:1px solid var(--border-strong);border-radius:8px;background:var(--bg-inset);font-family:var(--font-mono);font-size:12px;color:var(--proj-accent);text-decoration:none;transition:border-color .2s var(--ease),background .2s var(--ease)}.proj__link:hover,.proj__link:focus-visible{border-color:var(--proj-accent);background:var(--bg-elev);text-decoration:none}.skills-head{color:var(--muted);font-family:var(--font-mono);font-size:12px;margin-bottom:1rem}.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.marquee__track{display:flex;gap:12px;width:max-content}.marquee__group{display:flex;gap:12px;padding-right:12px}.skillchip{font-family:var(--font-mono);font-size:12.5px;padding:6px 13px;border-radius:8px;white-space:nowrap;border:1px solid var(--border-strong);color:var(--fg-dim);background:var(--bg-inset)}.skillchip:hover{color:var(--accent);border-color:var(--accent)}.skills__groups{margin-top:1.2rem;display:flex;flex-direction:column;gap:10px}.contact{background:var(--bg-inset);border:1px solid var(--border);border-radius:12px;padding:clamp(1.4rem,4vw,2.4rem);max-width:640px}.contact__links{display:flex;flex-wrap:wrap;gap:10px;margin-top:1.2rem}.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:13px;padding:10px 16px;border-radius:9px;border:1px solid var(--border-strong);color:var(--fg);background:var(--bg-elev);transition:transform .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease)}.btn:hover{text-decoration:none;transform:translateY(-2px);border-color:var(--accent);color:var(--accent)}footer{padding:2.5rem var(--pad);border-top:1px solid var(--border);text-align:center;color:var(--muted);font-family:var(--font-mono);font-size:12px}@media(max-width:640px){.nav__spacer{display:none}.nav__links{gap:2px}.nav__link{padding:4px 7px;font-size:12px}}@media(prefers-reduced-motion:reduce){.marquee__track{animation:none!important;flex-wrap:wrap;width:100%}.proj,.proj__shot img{transition:none}.proj:hover .proj__shot img,.proj:focus-within .proj__shot img{transform:none}.cursor-trail{display:none}.hero__caret{animation:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.askfab{position:fixed;right:20px;bottom:20px;z-index:90;display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:10px 18px;border-radius:999px;cursor:pointer;background:var(--bg-elev);color:var(--fg);border:1px solid var(--border-strong);font-family:var(--font-mono);font-size:13px;box-shadow:0 10px 30px -10px #0000008c;transition:border-color .2s var(--ease),transform .2s var(--ease),color .2s var(--ease)}.askfab:hover,.askfab:focus-visible{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.askfab svg{color:var(--accent)}.askpanel__scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.askpanel{position:fixed;top:0;right:0;bottom:0;z-index:210;width:min(420px,100vw);display:flex;flex-direction:column;background:var(--bg-elev);border-left:1px solid var(--border);box-shadow:-20px 0 50px -20px #0009}.askpanel__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);flex:none}.askpanel__title{font-family:var(--font-mono);font-size:13px;color:var(--fg-dim)}.askpanel__tools{display:flex;gap:4px}.askpanel__icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;cursor:pointer;background:transparent;border:1px solid transparent;color:var(--muted);transition:color .2s var(--ease),border-color .2s var(--ease)}.askpanel__icon:hover:not(:disabled),.askpanel__icon:focus-visible{color:var(--accent);border-color:var(--border-strong)}.askpanel__icon:disabled{opacity:.35;cursor:not-allowed}.askpanel__body{flex:1 1 auto;overflow-y:auto;padding:20px 16px;min-height:0}.askpanel__empty{display:flex;flex-direction:column;gap:10px;height:100%;justify-content:flex-end}.askpanel__h2{font-size:1.5rem;line-height:1.25;color:var(--fg);margin:0}.askpanel__sub{font-size:12.5px;color:var(--muted);margin:0 0 10px;line-height:1.6}.askpanel__setlabel{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-mono);font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.askpanel__dots{display:inline-flex;gap:4px}.askpanel__dots i{width:5px;height:5px;border-radius:999px;background:var(--border-strong);transition:background .3s var(--ease)}.askpanel__dots i.is-on{background:var(--accent)}.askpanel__suggest{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.askpanel__suggest button{width:100%;text-align:left;cursor:pointer;display:flex;align-items:flex-start;gap:10px;padding:11px 12px;min-height:40px;background:var(--bg-inset);color:var(--fg-dim);border:1px solid var(--border);border-radius:9px;font-size:13px;line-height:1.5;transition:border-color .2s var(--ease),color .2s var(--ease)}.askpanel__suggest button span{color:var(--accent);font-family:var(--font-mono)}.askpanel__suggest button:hover:not(:disabled),.askpanel__suggest button:focus-visible{border-color:var(--accent);color:var(--fg)}.askpanel__suggest button:disabled{opacity:.5;cursor:not-allowed}.askpanel__log{display:flex;flex-direction:column;gap:18px}.askpanel__turn{display:flex;flex-direction:column;gap:8px}.askpanel__q{align-self:flex-end;max-width:85%;margin:0;background:var(--bg-inset);border:1px solid var(--border-strong);border-radius:10px;padding:9px 12px;font-size:13px;color:var(--fg)}.askpanel__a{margin:0;font-size:13.5px;line-height:1.7;color:var(--fg-dim);white-space:pre-wrap}.askpanel__err{margin:0;font-family:var(--font-mono);font-size:12.5px;color:var(--accent-magenta)}.askpanel__caret{display:inline-block;width:7px;height:1em;margin-left:2px;background:var(--accent);vertical-align:text-bottom;animation:ask-blink 1s steps(2,start) infinite}@keyframes ask-blink{to{visibility:hidden}}.askpanel__form{flex:none;display:flex;gap:8px;align-items:center;padding:12px 16px 16px;border-top:1px solid var(--border)}.askpanel__input{flex:1 1 auto;min-width:0;min-height:40px;background:var(--bg-inset);border:1px solid var(--border-strong);border-radius:10px;padding:9px 12px;color:var(--fg);font-family:var(--font-body);font-size:13px}.askpanel__input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.askpanel__send{flex:none;width:40px;height:40px;border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--bg);border:1px solid var(--accent);transition:opacity .2s var(--ease)}.askpanel__send:disabled{opacity:.4;cursor:not-allowed}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}@media(max-width:520px){.askfab{right:14px;bottom:14px}.askpanel{width:100vw;border-left:none}}.admin{max-width:660px;margin:0 auto;padding:48px var(--pad) 80px;display:flex;flex-direction:column;gap:16px}.admin--gate{min-height:100vh;justify-content:center}.admin__title{font-family:var(--font-mono);color:var(--accent);font-size:1.6rem;margin:0}.admin__head{display:flex;flex-direction:column;gap:6px}.admin__note{color:var(--muted);font-size:12.5px;margin:0}.admin__note code{color:var(--fg-dim)}.admin__card{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:12px}.admin__h2{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0}.admin__row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.admin__input{width:100%;flex:none;min-width:0;min-height:38px;box-sizing:border-box;background:var(--bg-inset);border:1px solid var(--border-strong);border-radius:8px;padding:8px 12px;color:var(--fg);font-family:var(--font-mono);font-size:13px}.admin__input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.admin__row .admin__input{flex:1 1 180px;width:auto}.admin__masked{font-family:var(--font-mono);font-size:12px;color:var(--accent-green);background:var(--bg-inset);border:1px solid var(--border);border-radius:6px;padding:6px 10px}.admin__link{font-family:var(--font-mono);font-size:12px;color:var(--accent);display:inline-flex;align-items:center;gap:5px;width:fit-content}.admin__out{background:var(--bg-inset);border:1px solid var(--border);border-radius:8px;padding:12px;font-size:13px;color:var(--fg-dim)}.admin__out p{margin:0}.admin__meta{font-family:var(--font-mono);font-size:11px;color:var(--muted);margin-bottom:8px!important}.admin__ok{color:var(--accent-green);font-family:var(--font-mono);font-size:12.5px;margin:0}.admin__err{color:var(--accent-magenta);font-family:var(--font-mono);font-size:12.5px;margin:0}.btn--go{border-color:var(--accent);color:var(--accent);width:fit-content}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.ask__caret,.spin{animation:none}}
