:root{--font-mono:ui-monospace,"SFMono-Regular","JetBrains Mono",Menlo,Consolas,monospace;--font-sans:ui-sans-serif,system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;--font-body:var(--font-sans);--font-display:var(--font-sans);--radius:10px;--card-blur:0px;--head-weight:700;--head-tracking:-0.02em;--head-transform:none;--title-grad:none;--title-fill:currentColor;--title-shadow:none;--ascii-shadow:0 0 10px var(--glow);--ascii-border-left:1px solid var(--line);--ascii-glow:none;--shadow:0 0 0 1px var(--line),0 22px 60px -34px rgba(0,0,0,0.9);--zx-dock-w:64px;--zx-dock-h:68px;--zx-dock-inset-r:0px;--zx-dock-inset-t:0px;--zx-dock-inset-b:0px;--zx-max:1120px;--zx-max-vlog:1440px;--zx-gutter:1.25rem}:root,[data-theme=terminal]{--bg:#040b07;--bg-2:#06140c;--elev:rgba(7,29,16,0.66);--line:#123522;--line-strong:#236a41;--fg:#c6ffd8;--fg-dim:#82d8a6;--fg-muted:#3f8f63;--accent:#00ff7a;--accent-2:#3dfcff;--glow:rgba(0,255,122,0.16);--glow-2:rgba(61,252,255,0.14);--font-body:var(--font-mono);--font-display:var(--font-mono);--zx-nav-size:0.8rem;--radius:8px;--title-shadow:0 0 22px var(--glow)}[data-theme=neon]{--bg:#06020f;--bg-2:#0d0422;--elev:rgba(26,10,58,0.5);--line:rgba(152,104,255,0.26);--line-strong:rgba(194,132,255,0.6);--fg:#f2ecff;--fg-dim:#b9a9e8;--fg-muted:#7c6bb0;--accent:#ff2bd6;--accent-2:#00e5ff;--glow:rgba(255,43,214,0.32);--glow-2:rgba(0,229,255,0.26);--radius:16px;--card-blur:14px;--title-grad:linear-gradient(100deg,var(--accent) 10%,var(--accent-2) 55%,#b48bff);--title-fill:transparent;--title-shadow:0 0 40px var(--glow);--ascii-glow:inset 0 0 40px -18px var(--glow);--shadow:0 0 0 1px rgba(190,120,255,0.18),0 0 60px -24px var(--glow),0 22px 60px -30px rgba(0,0,0,0.9)}[data-theme=minimal]{--bg:#07070b;--bg-2:#0c0c13;--elev:rgba(17,17,26,0.72);--line:#1c1c28;--line-strong:#3a3a4c;--fg:#f4f4ef;--fg-dim:#9c9ca8;--fg-muted:#575764;--accent:#00a2ff;--accent-2:#ffd60a;--glow:rgba(0,162,255,0.2);--glow-2:rgba(255,214,10,0.16);--radius:4px;--head-weight:800;--head-tracking:-0.03em;--head-transform:uppercase}[data-theme=amber]{--bg:#120a02;--bg-2:#1c1103;--elev:rgba(35,20,4,0.7);--line:#3a2607;--line-strong:#6b4a12;--fg:#ffd9a0;--fg-dim:#d9a85f;--fg-muted:#8a6a2f;--accent:#ffb000;--accent-2:#ff7a1a;--glow:rgba(255,176,0,0.22);--glow-2:rgba(255,122,26,0.18);--font-body:var(--font-mono);--font-display:var(--font-mono);--radius:6px;--title-shadow:0 0 20px var(--glow)}[data-theme=cyber]{--bg:#0a0a08;--bg-2:#14140d;--elev:rgba(20,20,10,0.7);--line:#2a2a12;--line-strong:#4d4d1a;--fg:#f2f2e6;--fg-dim:#c9c98f;--fg-muted:#7a7a4a;--accent:#f7ff00;--accent-2:#ff2d95;--glow:rgba(247,255,0,0.22);--glow-2:rgba(255,45,149,0.22);--font-body:var(--font-mono);--font-display:var(--font-mono);--radius:2px;--head-transform:uppercase;--head-tracking:0.04em;--head-weight:800}[data-theme=synthwave]{--bg:#1a0b2e;--bg-2:#241040;--elev:rgba(45,17,74,0.6);--line:rgba(255,110,199,0.28);--line-strong:rgba(255,110,199,0.6);--fg:#ffe9fb;--fg-dim:#e0a9d8;--fg-muted:#9a5f96;--accent:#ff5ea8;--accent-2:#00d1ff;--glow:rgba(255,94,168,0.3);--glow-2:rgba(0,209,255,0.24);--radius:10px;--title-grad:linear-gradient(100deg,#ffd36e,var(--accent) 45%,var(--accent-2));--title-fill:transparent;--title-shadow:0 0 36px var(--glow);--head-transform:uppercase}[data-theme=tokyo]{--bg:#0b1020;--bg-2:#111833;--elev:rgba(20,28,54,0.6);--line:#24304f;--line-strong:#3b4d7a;--fg:#dfe7ff;--fg-dim:#a9b6dd;--fg-muted:#5f6d95;--accent:#6b8afd;--accent-2:#f7768e;--glow:rgba(107,138,253,0.28);--glow-2:rgba(247,118,142,0.22);--radius:10px}[data-theme=dracula]{--bg:#1e1f29;--bg-2:#282a36;--elev:rgba(40,42,54,0.7);--line:#343746;--line-strong:#4d5166;--fg:#f8f8f2;--fg-dim:#bdbdd0;--fg-muted:#6272a4;--accent:#bd93f9;--accent-2:#ff79c6;--glow:rgba(189,147,249,0.28);--glow-2:rgba(255,121,198,0.22);--radius:10px}[data-theme=gruvbox]{--bg:#1d2021;--bg-2:#282828;--elev:rgba(40,40,40,0.7);--line:#3c3836;--line-strong:#504945;--fg:#ebdbb2;--fg-dim:#bdae93;--fg-muted:#928374;--accent:#fabd2f;--accent-2:#fe8019;--glow:rgba(250,189,47,0.22);--glow-2:rgba(254,128,25,0.2);--font-body:var(--font-mono);--font-display:var(--font-mono);--radius:4px}[data-theme=nord]{--bg:#2e3440;--bg-2:#3b4252;--elev:rgba(59,66,82,0.6);--line:#434c5e;--line-strong:#4c566a;--fg:#eceff4;--fg-dim:#d8dee9;--fg-muted:#7b88a1;--accent:#88c0d0;--accent-2:#b48ead;--glow:rgba(136,192,208,0.24);--glow-2:rgba(180,142,173,0.2);--radius:12px}[data-theme=solarized-dark]{--bg:#002b36;--bg-2:#073642;--elev:rgba(7,54,66,0.7);--line:#0f4a5a;--line-strong:#586e75;--fg:#eee8d5;--fg-dim:#93a1a1;--fg-muted:#657b83;--accent:#2aa198;--accent-2:#b58900;--glow:rgba(42,161,152,0.24);--glow-2:rgba(181,137,0,0.2);--font-body:var(--font-mono);--font-display:var(--font-mono);--radius:6px}[data-theme=monokai]{--bg:#1e1f1c;--bg-2:#272822;--elev:rgba(39,40,34,0.72);--line:#3e3d32;--line-strong:#57564a;--fg:#f8f8f2;--fg-dim:#cfcfc2;--fg-muted:#75715e;--accent:#a6e22e;--accent-2:#f92672;--glow:rgba(166,226,46,0.24);--glow-2:rgba(249,38,114,0.22);--font-body:var(--font-mono);--font-display:var(--font-mono);--radius:6px}[data-theme=catppuccin]{--bg:#1e1e2e;--bg-2:#181825;--elev:rgba(49,50,68,0.6);--line:#313244;--line-strong:#45475a;--fg:#cdd6f4;--fg-dim:#bac2de;--fg-muted:#7f849c;--accent:#cba6f7;--accent-2:#89dceb;--glow:rgba(203,166,247,0.26);--glow-2:rgba(137,220,235,0.22);--radius:14px}[data-theme=rose-pine]{--bg:#191724;--bg-2:#1f1d2e;--elev:rgba(38,35,58,0.6);--line:#26233a;--line-strong:#403d52;--fg:#e0def4;--fg-dim:#c4bfe0;--fg-muted:#6e6a86;--accent:#eb6f92;--accent-2:#9ccfd8;--glow:rgba(235,111,146,0.26);--glow-2:rgba(156,207,216,0.22);--radius:14px}[data-theme=paper]{--bg:#f4f0e6;--bg-2:#ece6d8;--elev:rgba(255,255,255,0.7);--line:#d8cfbb;--line-strong:#b3a98e;--fg:#1c1a15;--fg-dim:#4a463b;--fg-muted:#8a8372;--accent:#c2410c;--accent-2:#1d4ed8;--glow:rgba(194,65,12,0.15);--glow-2:rgba(29,78,216,0.12);--font-body:var(--font-mono);--font-display:var(--font-mono);--radius:2px;--head-weight:800;--head-tracking:0.02em;--head-transform:uppercase;--shadow:0 0 0 1px var(--line),0 18px 40px -28px rgba(60,50,30,0.5)}[data-theme=solarized-light]{--bg:#fdf6e3;--bg-2:#eee8d5;--elev:rgba(255,255,255,0.6);--line:#e0d8c3;--line-strong:#c9bfa5;--fg:#073642;--fg-dim:#586e75;--fg-muted:#93a1a1;--accent:#268bd2;--accent-2:#cb4b16;--glow:rgba(38,139,210,0.16);--glow-2:rgba(203,75,22,0.14);--font-body:var(--font-mono);--font-display:var(--font-mono);--radius:6px;--shadow:0 0 0 1px var(--line),0 18px 40px -28px rgba(80,70,40,0.45)}[data-theme=nord-light]{--bg:#eceff4;--bg-2:#e5e9f0;--elev:rgba(255,255,255,0.7);--line:#d8dee9;--line-strong:#b8c2d4;--fg:#2e3440;--fg-dim:#4c566a;--fg-muted:#7b88a1;--accent:#5e81ac;--accent-2:#bf616a;--glow:rgba(94,129,172,0.18);--glow-2:rgba(191,97,106,0.14);--radius:12px;--shadow:0 0 0 1px var(--line),0 18px 40px -28px rgba(60,70,90,0.4)}[data-theme=github-light]{--bg:#ffffff;--bg-2:#f6f8fa;--elev:rgba(246,248,250,0.85);--line:#d0d7de;--line-strong:#afb8c1;--fg:#1f2328;--fg-dim:#59636e;--fg-muted:#818b98;--accent:#0969da;--accent-2:#cf222e;--glow:rgba(9,105,218,0.16);--glow-2:rgba(207,34,46,0.12);--radius:6px;--shadow:0 0 0 1px var(--line),0 18px 40px -28px rgba(80,90,100,0.35)}*,:after,:before{box-sizing:border-box}html{color-scheme:dark;scroll-behavior:auto;overflow-x:clip}[data-mode=light]{color-scheme:light}body{margin:0;min-height:100dvh;overflow-x:clip;color:var(--fg);font-family:var(--font-body);line-height:1.65;background-color:var(--bg);transition:background-color .35s ease,color .35s ease;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background-attachment:fixed;background-image:radial-gradient(ellipse 120% 80% at 15% -10%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 55%)}[data-texture=scanlines] body{background-image:repeating-linear-gradient(to bottom,transparent 0 2px,color-mix(in srgb,var(--bg) 82%,#000) 2px 3px),radial-gradient(ellipse 120% 80% at 18% -10%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 55%)}[data-texture=grid] body{background-image:linear-gradient(color-mix(in srgb,var(--fg) 6%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--fg) 6%,transparent) 1px,transparent 1px),radial-gradient(ellipse 120% 80% at 50% -10%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 60%);background-size:46px 46px,46px 46px,100% 100%}[data-texture=dots] body{background-image:radial-gradient(color-mix(in srgb,var(--fg) 15%,transparent) 1px,transparent 1.5px),radial-gradient(ellipse 120% 80% at 15% -10%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 55%);background-size:22px 22px,100% 100%}[data-texture=noise] body{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E"),radial-gradient(ellipse 120% 80% at 15% -10%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 55%);background-size:160px 160px,100% 100%}[data-texture=aurora] body{background-size:200% 200%;background-image:radial-gradient(45% 40% at 15% 12%,color-mix(in srgb,var(--accent) 24%,transparent),transparent 62%),radial-gradient(40% 38% at 85% 15%,color-mix(in srgb,var(--accent-2) 22%,transparent),transparent 62%),radial-gradient(55% 50% at 50% 105%,color-mix(in srgb,var(--accent) 24%,transparent),transparent 66%);animation:zx-aurora 26s ease-in-out infinite alternate}[data-texture=horizon] body{background-image:repeating-linear-gradient(90deg,color-mix(in srgb,var(--accent) 30%,transparent) 0 1px,transparent 1px 64px),repeating-linear-gradient(0deg,color-mix(in srgb,var(--accent-2) 22%,transparent) 0 1px,transparent 1px 44px),radial-gradient(60% 45% at 50% 112%,color-mix(in srgb,var(--accent) 45%,transparent),transparent 70%);background-size:100% 42%,100% 42%,100% 100%;background-position:bottom,bottom,50%;background-repeat:no-repeat,no-repeat,no-repeat}::selection{background:var(--accent);color:#000}[data-mode=light] ::selection{color:#fff}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}img{max-width:100%;display:block}h1,h2,h3,h4{margin:0;line-height:1.2;font-weight:700;letter-spacing:-.01em}p{margin:0 0 .9em}pre{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-2)}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}.zx-container{max-width:var(--zx-max);margin-inline:auto;padding-inline:var(--zx-gutter)}.zx-app{min-height:100dvh;display:flex;flex-direction:column}.zx-main{flex:1 1}.zx-mono{font-family:var(--font-mono)}.zx-dim{color:var(--fg-dim)}.zx-muted{color:var(--fg-muted)}.zx-accent{color:var(--accent)}.zx-topbar{position:sticky;top:0;z-index:200;gap:1.25rem;padding:.72rem 0;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 76%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background-color .35s ease,border-color .35s ease}.zx-topbar,.zx-topbar-in{display:flex;align-items:center}.zx-topbar-in{max-width:var(--zx-max);margin-inline:auto;padding-inline:var(--zx-gutter);width:100%;gap:1rem}.zx-logo{font-family:var(--font-mono);font-weight:700;font-size:.95rem;white-space:nowrap;display:inline-flex;align-items:center;gap:.4rem}.zx-logo img{width:22px;height:22px;display:block;flex-shrink:0}.zx-topbar .zx-nav{display:flex;gap:.2rem;margin-left:auto;flex-wrap:wrap}.zx-nav a{font-family:var(--font-mono);font-size:var(--zx-nav-size);color:var(--fg-dim);padding:.35rem .7rem;border-radius:var(--radius);border:1px solid transparent;text-decoration:none}.zx-nav a:hover{color:var(--fg);border-color:var(--line);background:var(--bg-2)}html[data-nav=about] .zx-nav a[data-nav=about],html[data-nav=admin] .zx-nav a[data-nav=admin],html[data-nav=guestbook] .zx-nav a[data-nav=guestbook],html[data-nav=home] .zx-nav a[data-nav=home],html[data-nav=projects] .zx-nav a[data-nav=projects],html[data-nav=usage] .zx-nav a[data-nav=usage]{color:var(--accent);border-color:var(--line-strong);background:var(--bg-2)}.zx-aistatus-wrap{position:relative;display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .45rem;border-radius:var(--radius);cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease}.zx-aistatus-wrap:focus-visible,.zx-aistatus-wrap:hover,.zx-aistatus-wrap[aria-expanded=true]{background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line);outline:none}.zx-aistatus{--zx-lamp-s:18px;--zx-lamp-scale:1;--zx-lamp:calc(var(--zx-lamp-s) * var(--zx-lamp-scale));display:flex;flex-direction:column;gap:calc(var(--zx-lamp) * .2);padding:calc(var(--zx-lamp) * .28) calc(var(--zx-lamp) * .22);border-radius:calc(var(--zx-lamp) * .42);background:linear-gradient(180deg,#17191e,#0d0e11);box-shadow:0 1px 3px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.06)}@media (min-width:480px){.zx-aistatus{--zx-lamp-s:21px}}@media (min-width:820px){.zx-aistatus{--zx-lamp-s:25px}}@media (min-width:1440px){.zx-aistatus{--zx-lamp-s:29px}}@media (min-width:1920px){.zx-aistatus{--zx-lamp-s:34px}}@media (min-width:2560px){.zx-aistatus{--zx-lamp-s:40px}}.zx-aistatus-lamp{width:var(--zx-lamp);height:var(--zx-lamp);border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.55),transparent 45%),var(--zx-lamp-c,#555);box-shadow:inset 0 1px 2px rgba(0,0,0,.75);opacity:.07;transition:opacity .25s ease}.zx-aistatus-lamp.is-r{--zx-lamp-c:#e8453c}.zx-aistatus-lamp.is-y{--zx-lamp-c:#f4c20d}.zx-aistatus-lamp.is-g{--zx-lamp-c:#1faa59}.zx-aistatus.is-idle .zx-aistatus-lamp.is-g{opacity:.16}.zx-aistatus.is-thinking .zx-aistatus-lamp.is-y,.zx-aistatus.is-working .zx-aistatus-lamp.is-y{opacity:1;animation:zx-ai-breathe 3s ease-in-out infinite}.zx-aistatus.is-working .zx-aistatus-lamp.is-y{animation-duration:1.4s}.zx-aistatus.is-busy .zx-aistatus-lamp.is-y{opacity:1;animation:zx-ai-blink .6s step-end infinite}.zx-aistatus.is-success .zx-aistatus-lamp.is-g{opacity:1;animation:zx-ai-glow 1.6s ease-in-out infinite}.zx-aistatus.is-error .zx-aistatus-lamp.is-r{opacity:1;animation:zx-ai-blink .35s step-end infinite}.zx-aistatus.is-blocked .zx-aistatus-lamp.is-r{opacity:1;animation:zx-ai-blink .6s step-end infinite}.zx-aistatus.is-blocked .zx-aistatus-lamp.is-y{opacity:1;animation:zx-ai-blink .6s step-end .3s infinite}@keyframes zx-ai-breathe{0%,to{opacity:.28}50%{opacity:1}}@keyframes zx-ai-blink{0%,49%{opacity:1}50%,to{opacity:.1}}@keyframes zx-ai-glow{0%,to{opacity:.55}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.zx-aistatus-lamp{animation:none!important;opacity:.07}.zx-aistatus.is-blocked .zx-aistatus-lamp.is-r,.zx-aistatus.is-blocked .zx-aistatus-lamp.is-y,.zx-aistatus.is-busy .zx-aistatus-lamp.is-y,.zx-aistatus.is-error .zx-aistatus-lamp.is-r,.zx-aistatus.is-success .zx-aistatus-lamp.is-g,.zx-aistatus.is-thinking .zx-aistatus-lamp.is-y,.zx-aistatus.is-working .zx-aistatus-lamp.is-y{opacity:1}}.zx-aistatus-label{font-family:var(--font-mono);font-size:var(--zx-nav-size);color:var(--fg-dim);white-space:nowrap}.zx-topbar>.zx-aistatus-wrap{position:absolute;left:50%;top:100%;transform:translateX(-50%)}.zx-topbar>.zx-aistatus-wrap .zx-aistatus{flex-direction:row}[data-layout=sidebar] .zx-topbar>.zx-aistatus-wrap{position:relative;left:auto;top:auto;transform:none;margin-top:auto;padding-top:1.2rem}[data-layout=sidebar] .zx-topbar>.zx-aistatus-wrap .zx-aistatus{--zx-lamp-scale:1.24;flex-direction:column}.zx-aistatus-pop-head{font-family:var(--font-mono);font-size:.72rem;color:var(--fg-muted);padding-bottom:.4rem;margin-bottom:.35rem;border-bottom:1px solid var(--line)}.zx-aistatus-row{display:flex;align-items:center;gap:.5rem;padding:.2rem 0}.zx-aistatus-row.is-off{opacity:.45}.zx-aistatus-mini{flex:none;width:10px;height:10px;border-radius:50%}.zx-aistatus-row-label{color:var(--fg)}.zx-aistatus-row-state{margin-left:auto}.zx-aistatus-pop-foot,.zx-aistatus-row-state{font-family:var(--font-mono);font-size:.7rem;color:var(--fg-muted)}.zx-aistatus-pop-foot{margin-top:.4rem;padding-top:.4rem;border-top:1px solid var(--line);word-break:break-word}.zx-aistatus-voice{display:inline-flex;align-items:center;justify-content:center;flex:none;width:1.35rem;height:1.35rem;margin-left:-.15rem;padding:0;border:0;border-radius:50%;background:none;font-size:.78rem;line-height:1;color:var(--fg-muted);opacity:.55;cursor:pointer;transition:opacity .2s ease,color .2s ease,background-color .2s ease}.zx-aistatus-voice:hover{background:var(--bg-2)}.zx-aistatus-voice:hover,.zx-aistatus-voice[aria-pressed=true]{color:var(--fg);opacity:1}.zx-aistatus-voice:focus-visible{outline:1px solid var(--fg-muted);outline-offset:1px}.zx-picker{position:relative}.zx-picker-btn{font-family:var(--font-mono);font-size:.72rem;color:var(--fg-dim);background:transparent;border:1px solid var(--line);border-radius:var(--radius);padding:.32rem .6rem;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;transition:color .2s,border-color .2s,box-shadow .2s}.zx-picker-btn.is-open,.zx-picker-btn:hover{color:var(--fg);border-color:var(--accent);box-shadow:0 0 14px -4px var(--glow)}.zx-picker-btn .dot{width:10px;height:10px;border-radius:3px;background:linear-gradient(135deg,var(--accent),var(--accent-2))}.zx-picker-btn .caret{opacity:.6;font-size:.6rem}.zx-pop{position:absolute;right:0;top:calc(100% + .5rem);z-index:400;width:min(600px,88vw);max-height:72vh;overflow:auto;background:var(--bg-2);border:1px solid var(--line-strong);border-radius:var(--radius);padding:.8rem;box-shadow:0 30px 80px -30px rgba(0,0,0,.9)}.zx-tabs{display:flex;gap:.3rem;margin-bottom:.7rem;border-bottom:1px solid var(--line);padding-bottom:.5rem}.zx-tab{font-family:var(--font-mono);font-size:.72rem;color:var(--fg-muted);background:transparent;border:1px solid transparent;border-radius:var(--radius);padding:.25rem .6rem;cursor:pointer}.zx-tab.is-active{color:var(--accent);border-color:var(--line-strong)}.zx-pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));gap:.6rem}.zx-pick-card{text-align:left;cursor:pointer;border:1px solid var(--line);border-radius:var(--radius);background:var(--elev);padding:.55rem;color:var(--fg);transition:border-color .2s,box-shadow .2s,transform .15s}.zx-pick-card:hover{border-color:var(--line-strong);transform:translateY(-1px)}.zx-pick-card.is-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.zx-pick-swatch{display:flex;height:22px;border-radius:4px;overflow:hidden;margin-bottom:.45rem;border:1px solid var(--line)}.zx-pick-swatch i{flex:1 1}.zx-pick-name{font-family:var(--font-mono);font-size:.72rem;font-weight:700;display:flex;justify-content:space-between;gap:.3rem}.zx-pick-name .k{color:var(--fg-muted);font-weight:400}.zx-pick-tag{font-size:.64rem;color:var(--fg-muted);line-height:1.4;margin-top:.15rem}.zx-hero{padding:clamp(3rem,10vh,6rem) 0 clamp(2rem,6vh,4rem)}.zx-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:2.5rem;align-items:center}.zx-kicker{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.25em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.zx-kicker:before{content:"";width:2ch;height:1px;background:var(--accent);opacity:.6}.zx-hero h1{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.5rem);margin-bottom:.6rem;font-weight:var(--head-weight);letter-spacing:var(--head-tracking);text-transform:var(--head-transform);background-image:var(--title-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--title-fill);color:var(--title-fill);text-shadow:var(--title-shadow)}.zx-hero-name{cursor:pointer}.zx-hero-sub{color:var(--fg-dim);font-size:clamp(.85rem,1.6vw,1.05rem);min-height:1.8em}.zx-hero-sub,.zx-type{font-family:var(--font-mono)}.zx-type{color:var(--accent)}.zx-caret{display:inline-block;width:.6ch;height:1.1em;background:var(--accent);vertical-align:text-bottom;margin-left:2px;animation:zx-blink 1s steps(2,start) infinite}.zx-hero-body{margin-top:1.2rem;color:var(--fg-dim);max-width:52ch}.zx-cta{display:flex;gap:.8rem;margin-top:1.6rem;flex-wrap:wrap}.zx-ascii{font-family:var(--font-mono);font-size:clamp(.5rem,1.2vw,.72rem);line-height:1.25;color:var(--fg-dim);white-space:pre;-webkit-user-select:none;user-select:none;overflow-x:auto;padding:1.2rem;border:1px solid var(--line);border-left:var(--ascii-border-left);border-radius:var(--radius);background:var(--bg-2);text-shadow:var(--ascii-shadow);box-shadow:var(--ascii-glow)}.zx-ascii .zx-caret{height:.9em;animation-delay:.6s}.zx-vlog{display:flex;flex-direction:column;gap:.75rem;min-width:0}.zx-vlog-tabs{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center}.zx-vlog-tab{font-family:var(--font-mono);font-size:.75rem;padding:.3rem .7rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);color:var(--fg-dim);cursor:pointer;transition:color .15s,border-color .15s}.zx-vlog-tab:hover{color:var(--fg)}.zx-vlog-tab.is-active{color:var(--accent);border-color:var(--accent);box-shadow:var(--ascii-glow)}.zx-vlog-carousel{position:relative;width:100%;overflow:hidden;touch-action:pan-y;cursor:grab;--card-w:min(450px,78%);--card-aspect:0.4821}.zx-vlog-carousel.is-dragging{cursor:grabbing}.zx-vlog.is-landscape .zx-vlog-carousel{--card-w:100%;--card-aspect:1.6408}.zx-vlog-viewport{position:relative;width:var(--card-w);margin-inline:auto;aspect-ratio:var(--card-aspect)}.zx-vlog-card{position:absolute;top:50%;left:50%;width:100%;aspect-ratio:var(--card-aspect);transform:translate(-50%,-50%) translateX(var(--dx,0)) scale(var(--sc,1));opacity:var(--op,1);z-index:var(--z,1);border:1px solid var(--line);border-left:var(--ascii-border-left);border-radius:var(--radius);background:var(--bg-2);overflow:hidden;box-shadow:var(--ascii-glow);transition:transform .34s cubic-bezier(.22,.61,.36,1),opacity .34s;will-change:transform}.zx-vlog-carousel.is-dragging .zx-vlog-card{transition:none}.zx-vlog-card.is-active{box-shadow:var(--ascii-glow),0 0 0 1px color-mix(in srgb,var(--accent) 55%,transparent)}.zx-vlog-card:not(.is-active){cursor:pointer}.zx-vlog-card:not(.is-active) .zx-vlog-iframe{pointer-events:none}.zx-vlog-card-badge{top:.4rem;left:.4rem;z-index:2;font-family:var(--font-mono);font-size:.7rem;padding:.18rem .42rem;border-radius:999px;background:color-mix(in srgb,var(--bg) 80%,transparent);border:1px solid var(--line)}.zx-vlog-arrow,.zx-vlog-card-badge{position:absolute;line-height:1;color:var(--fg)}.zx-vlog-arrow{top:50%;transform:translateY(-50%);z-index:30;width:2.3rem;height:2.3rem;display:flex;align-items:center;justify-content:center;padding:0;font-size:1.4rem;border:1px solid var(--line-strong);border-radius:999px;background:color-mix(in srgb,var(--bg) 72%,transparent);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:color .15s,border-color .15s,opacity .15s}.zx-vlog-arrow:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.zx-vlog-arrow:disabled{opacity:.3;cursor:default}.zx-vlog-arrow.is-prev{left:.35rem}.zx-vlog-arrow.is-next{right:.35rem}.zx-vlog-iframe{position:absolute;top:0;left:0;width:var(--player-w,100%);height:var(--player-h,100%);transform:scale(var(--iframe-scale,1));transform-origin:top left;border:0;display:block}.zx-vlog-meta{display:flex;justify-content:space-between;gap:.5rem;width:min(320px,100%);margin-inline:auto;font-family:var(--font-mono);font-size:.75rem;color:var(--fg-dim)}.zx-vlog-now{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zx-vlog-count{flex:none;color:var(--accent)}.zx-vlog-episodes{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center;max-width:100%}.zx-vlog-ep{font-family:var(--font-mono);font-size:.72rem;min-width:2ch;padding:.22rem .5rem;border:1px solid var(--line);border-radius:var(--radius);background:transparent;color:var(--fg-dim);cursor:pointer}.zx-vlog-ep:hover{color:var(--fg);border-color:var(--line-strong)}.zx-vlog-ep.is-active{color:var(--accent);border-color:var(--accent);background:var(--bg-2)}.zx-vlog.is-landscape .zx-vlog-meta{width:100%}.zx-vlog-ep.is-landscape:after{content:"▭";margin-left:.25ch;opacity:.7}.zx-vlog-link{align-self:center;font-family:var(--font-mono);font-size:.75rem;color:var(--accent)}[data-layout=centered] .zx-hero .zx-vlog{display:none}.zx-hero-grid--vlog{max-width:var(--zx-max-vlog);grid-template-columns:minmax(0,1fr) minmax(0,clamp(320px,62vw,884px));gap:3rem}@media (max-width:900px){.zx-hero-grid--vlog{max-width:var(--zx-max);grid-template-columns:1fr;gap:2.5rem}}[data-layout=centered] .zx-hero-grid--vlog{max-width:var(--zx-max)}[data-layout=fullbleed] .zx-hero-grid--vlog{max-width:none;grid-template-columns:1.15fr .85fr}.zx-btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.85rem;font-weight:600;padding:.62rem 1.15rem;border-radius:var(--radius);border:1px solid var(--line-strong);color:var(--fg);background:var(--bg-2);cursor:pointer;text-decoration:none;transition:all .2s ease}.zx-btn:hover{border-color:var(--accent);color:var(--accent);box-shadow:0 0 20px -6px var(--glow);text-decoration:none}.zx-btn-primary{background:var(--accent);border-color:var(--accent);color:#000}[data-mode=light] .zx-btn-primary{color:#fff}.zx-btn-primary:hover{color:#000;box-shadow:0 0 28px -4px var(--glow)}[data-mode=light] .zx-btn-primary:hover{color:#fff}.zx-btn-ghost{background:transparent}.zx-btn-sm{padding:.34rem .7rem;font-size:.75rem}.zx-section{padding:clamp(2.5rem,7vh,4.5rem) 0;scroll-margin-top:72px}.zx-sec-head{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.6rem;border-bottom:1px solid var(--line);padding-bottom:.7rem}.zx-sec-tag{font-family:var(--font-mono);font-size:.72rem;color:var(--accent);letter-spacing:.15em;white-space:nowrap}.zx-sec-title{font-size:clamp(1.4rem,3vw,2rem)}.zx-grid{--zx-grid-min:280px;--zx-grid-gap:1.1rem;display:grid;gap:var(--zx-grid-gap);grid-template-columns:repeat(auto-fill,minmax(min(100%,max(var(--zx-grid-min),calc((100% - 2 * var(--zx-grid-gap)) / 3))),1fr))}.zx-projects-sep{height:1px;margin:1.4rem 0;background:linear-gradient(90deg,transparent,var(--line),transparent)}.zx-card{position:relative;display:flex;flex-direction:column;background:var(--elev);border:1px solid var(--line);border-radius:var(--radius);padding:1.35rem;overflow:hidden;backdrop-filter:blur(var(--card-blur));-webkit-backdrop-filter:blur(var(--card-blur));transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background-color .35s ease}.zx-card-bottom{margin-top:auto;padding-top:.6rem}.zx-card-highlights{display:flex;flex-wrap:nowrap;gap:calc(1.4rem * var(--hl-scale, 1));margin:0 0 .6rem;--hl-scale:1}.zx-card-highlights.is-wrap{flex-wrap:wrap;gap:calc(.5rem * var(--hl-scale, 1)) calc(1.4rem * var(--hl-scale, 1))}.zx-highlight{flex:0 0 auto}.zx-card-highlights.is-wrap .zx-highlight{flex:0 1 auto;min-width:0}.zx-highlight-v{font-size:calc(1.05rem * var(--hl-scale, 1));font-weight:700;white-space:nowrap}.zx-highlight-l{font-size:calc(.66rem * var(--hl-scale, 1));text-transform:uppercase;white-space:nowrap}.zx-card-highlights.is-wrap .zx-highlight-l,.zx-card-highlights.is-wrap .zx-highlight-v{white-space:normal}.zx-card:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:var(--shadow)}.zx-card:before{content:attr(data-idx);position:absolute;top:.7rem;right:.9rem;font-family:var(--font-mono);font-size:.7rem;color:var(--fg-muted)}.zx-card.is-featured{border-color:var(--line-strong)}.zx-card.is-featured:after{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.zx-card.is-archived{opacity:.7;filter:saturate(.85)}.zx-card.is-archived:hover{transform:none;border-color:var(--line);box-shadow:none}.zx-card-grip{position:absolute;top:.5rem;left:.6rem;z-index:2;font-size:1rem;line-height:1;color:var(--fg-muted);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;opacity:.35;transition:opacity .15s ease,color .15s ease}.zx-card:hover .zx-card-grip,.zx-card[data-dragging] .zx-card-grip{opacity:1;color:var(--accent)}.zx-card-grip:active{cursor:grabbing}.zx-card.is-admin .zx-card-head{padding-left:1.15rem}.zx-card[data-dragging]{opacity:.4}.zx-card[data-drop=after],.zx-card[data-drop=before]{border-color:var(--accent)}.zx-card[data-drop=before]{box-shadow:inset 3px 0 0 var(--accent)}.zx-card[data-drop=after]{box-shadow:inset -3px 0 0 var(--accent)}.zx-projects-admin{display:flex;align-items:center;gap:.75rem;margin:0 0 .9rem;font-family:var(--font-mono);font-size:.72rem;color:var(--fg-muted)}.zx-projects-admin-status[data-kind=ok]{color:var(--accent)}.zx-projects-admin-status[data-kind=err]{color:#e03131}.zx-edit-btn{display:inline-grid;place-items:center;width:26px;height:26px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--fg-dim);cursor:pointer;opacity:.5;transition:opacity .18s ease,color .18s ease,background-color .18s ease,border-color .18s ease}.zx-edit-btn:hover{opacity:1;color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.zx-edit-actions{display:inline-flex;align-items:center;gap:.3rem}.zx-edit-actions.is-start{justify-content:flex-start}.zx-edit-error{font-family:var(--font-mono);font-size:.66rem;color:#ff8a8a;margin-right:.2rem}.zx-edit-chip{font-family:var(--font-mono);font-size:.68rem;line-height:1;padding:.36rem .6rem;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--bg) 70%,transparent);color:var(--fg-muted);cursor:pointer;transition:color .18s ease,border-color .18s ease,background-color .18s ease}.zx-edit-chip:hover:not(:disabled){color:var(--fg);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.zx-edit-chip:disabled{opacity:.45;cursor:default}.zx-edit-chip.is-primary{color:var(--bg);background:var(--accent);border-color:var(--accent)}.zx-edit-chip.is-primary:hover:not(:disabled){filter:brightness(1.08);color:var(--bg)}.zx-edit-x{flex:0 0 auto;width:20px;height:20px;display:inline-grid;place-items:center;padding:0;border:none;border-radius:6px;background:transparent;color:var(--fg-dim);font-size:.95rem;line-height:1;cursor:pointer}.zx-edit-x:hover{color:#ff8a8a;background:color-mix(in srgb,#ff8a8a 12%,transparent)}.zx-edit-add{align-self:flex-start;font-family:var(--font-mono);font-size:.68rem;padding:.28rem .55rem;border:1px dashed var(--line);border-radius:999px;background:transparent;color:var(--fg-dim);cursor:pointer;transition:color .18s ease,border-color .18s ease}.zx-edit-add:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.zx-edit-add.is-chip{vertical-align:middle}.zx-edit-select{padding:.18rem .35rem;border:1px solid var(--line);border-radius:6px;background:color-mix(in srgb,var(--bg) 70%,transparent);color:var(--fg);cursor:pointer}.zx-edit-check,.zx-edit-select{font-family:var(--font-mono);font-size:.68rem}.zx-edit-check{display:inline-flex;align-items:center;gap:.3rem;color:var(--fg-muted)}.zx-inline{background:transparent;border:0;border-bottom:1px dashed color-mix(in srgb,var(--accent) 45%,transparent);border-radius:0;color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;padding:0 2px;margin:0;width:100%;min-width:3ch;outline:none;transition:background-color .15s ease,border-color .15s ease}.zx-inline:hover{background:color-mix(in srgb,var(--accent) 7%,transparent);border-bottom-color:var(--accent)}.zx-inline:focus{background:color-mix(in srgb,var(--accent) 10%,transparent);border-bottom-style:solid;border-bottom-color:var(--accent)}.zx-inline::placeholder{color:var(--fg-dim);opacity:.7}.zx-inline-area{display:block;resize:none;overflow:hidden}.zx-inline-row{display:flex;align-items:flex-start;gap:.3rem;width:100%}.zx-inline-sep{opacity:.5}.zx-inline-w-sm{max-width:8rem}.zx-inline-w-xs{max-width:6rem}.zx-inline-hero{font-size:inherit;font-weight:inherit;letter-spacing:inherit}.zx-inline-card-title{font-size:1.1rem;font-weight:700}.zx-hero{position:relative}.zx-hero-edit{position:absolute;top:1rem;right:1.4rem;z-index:5}.zx-sec-edit{margin-left:auto;align-self:center}.zx-block-edit{display:flex;justify-content:flex-end;margin-bottom:.3rem}.zx-card-edit{position:absolute;top:.6rem;right:.6rem;z-index:3}.zx-card.is-editing{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.zx-card-meta{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.zx-card-edit-fields{display:grid;gap:.35rem;margin-top:.5rem}.zx-highlights-edit{display:grid;gap:.35rem;margin-bottom:.6rem}.zx-about-meta{font-size:.8rem}.zx-contact-edit{display:grid;gap:.4rem;margin:.7rem 0}.zx-contact-edit>label,.zx-seo-fields>label{display:grid;gap:.25rem;font-family:var(--font-mono);font-size:.7rem;color:var(--fg-muted)}.zx-seo-block{margin-top:1.1rem;font-family:var(--font-mono);font-size:.72rem}.zx-seo-fields{display:grid;gap:.5rem;margin-top:.5rem;max-width:34rem}.zx-tl-edit{display:grid;gap:.35rem}.zx-links-edit{margin-top:1.4rem;display:grid;gap:.4rem}.zx-subhead{font-family:var(--font-mono);font-size:.9rem;margin-bottom:.7rem}.zx-timeline>.zx-subhead{margin-bottom:1.2rem}.zx-card h3{font-size:1.1rem;margin-bottom:.35rem}.zx-card p{color:var(--fg-dim);font-size:.92rem;margin-bottom:.9rem;white-space:pre-line}.zx-card-actions{display:flex;gap:.6rem;margin-top:.8rem;flex-wrap:wrap}.zx-badge{gap:.35rem;font-size:.68rem;letter-spacing:.04em;padding:.16rem .55rem;border:1px solid var(--line);border-radius:999px;color:var(--fg-dim);background:var(--bg-2);white-space:nowrap}.zx-badge,.zx-status{display:inline-flex;align-items:center;font-family:var(--font-mono)}.zx-status{gap:.45rem;font-size:.72rem;padding:.2rem .6rem;border:1px solid var(--line);border-radius:var(--radius)}.zx-status:before{content:"";width:7px;height:7px;border-radius:50%;box-shadow:0 0 8px currentColor}.zx-status[data-status=online]{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.zx-status[data-status=online]:before{background:var(--accent);animation:zx-blink 2.4s steps(2,start) infinite}.zx-status[data-status=demo]{color:var(--accent-2);border-color:color-mix(in srgb,var(--accent-2) 40%,var(--line))}.zx-status[data-status=demo]:before{background:var(--accent-2)}.zx-status[data-status=building]{color:var(--fg-dim)}.zx-status[data-status=building]:before{background:var(--fg-dim);animation:zx-blink 1.2s steps(2,start) infinite}.zx-status[data-status=archived]{color:var(--fg-muted)}.zx-status[data-status=archived]:before{background:var(--fg-muted)}.zx-grid-stats{grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr))}.zx-grid-stats,.zx-quota{display:grid;gap:1rem;margin-bottom:1.6rem}.zx-quota{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr))}.zx-quota.is-fixed3{grid-template-columns:repeat(3,minmax(0,1fr))}.zx-quota-item{border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1rem;background:var(--elev);backdrop-filter:blur(var(--card-blur));-webkit-backdrop-filter:blur(var(--card-blur))}.zx-quota-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.zx-quota-label{font-family:var(--font-mono);font-size:.72rem;color:var(--muted)}.zx-quota-pct{font-family:var(--font-mono);font-size:1.05rem;font-weight:700;color:var(--fg)}.zx-quota-bar{height:6px;border-radius:999px;background:var(--line);overflow:hidden}.zx-quota-bar>span{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .4s ease}.zx-quota-reset{margin-top:.4rem;font-size:.62rem}.zx-stat{border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem;background:var(--elev);backdrop-filter:blur(var(--card-blur));-webkit-backdrop-filter:blur(var(--card-blur));transition:border-color .25s,box-shadow .25s}.zx-stat:hover{border-color:var(--line-strong);box-shadow:var(--shadow)}.zx-stat-now{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:700;color:var(--fg);text-shadow:0 0 22px var(--glow)}.zx-stat-label,.zx-stat-now{font-family:var(--font-mono)}.zx-stat-label{font-size:.72rem;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.1em}.zx-admin-stack{display:flex;flex-direction:column;gap:1.15rem}.zx-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--elev);padding:1.3rem;overflow-x:auto;backdrop-filter:blur(var(--card-blur));-webkit-backdrop-filter:blur(var(--card-blur))}.zx-panel h3{font-size:1rem;font-family:var(--font-mono);margin-bottom:1rem;display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.zx-panel h3 span{font-size:.72rem;color:var(--fg-muted);font-weight:400}.zx-bars{display:flex;align-items:flex-end;gap:3px;height:160px}.zx-bar{flex:1 1;min-width:4px;background:linear-gradient(180deg,var(--accent),color-mix(in srgb,var(--accent) 25%,transparent));border-radius:2px 2px 0 0;position:relative;transition:filter .2s}.zx-bar:hover{filter:brightness(1.4)}.zx-bar.is-zero{background:linear-gradient(180deg,color-mix(in srgb,var(--fg-dim) 35%,transparent),color-mix(in srgb,var(--fg-dim) 10%,transparent));opacity:.5}.zx-bar.is-weekend{background:linear-gradient(180deg,var(--accent-2),color-mix(in srgb,var(--accent-2) 20%,transparent))}.zx-bartip{position:fixed;z-index:500;pointer-events:none;background:#0d1117;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:6px;padding:3px 7px;font-family:var(--font-mono);font-size:.72rem;white-space:nowrap;box-shadow:0 8px 20px -8px rgba(0,0,0,.8)}.zx-donut-wrap{position:relative;width:150px;height:150px;margin-inline:auto}.zx-donut{display:block;width:100%;height:100%;overflow:visible}.zx-donut--empty{border-radius:50%;border:8px solid var(--line);opacity:.6}.zx-donut-slice{transition:transform .18s ease;cursor:pointer;transform-box:view-box;transform-origin:50px 50px}.zx-donut-slice.is-active{transform:scale(1.08)}.zx-donut-caption{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem;min-height:1.2rem;font-family:var(--font-mono);font-size:.72rem;color:var(--fg);text-align:center}.zx-legend{display:grid;gap:.4rem;font-family:var(--font-mono);font-size:.78rem}.zx-legend-item{display:flex;align-items:center;gap:.6rem;color:var(--fg-dim);transition:color .15s}.zx-legend-item.is-active{color:var(--fg)}.zx-legend-dot{width:9px;height:9px;border-radius:50%;box-shadow:0 0 8px currentColor}.zx-table{width:100%;border-collapse:collapse;font-size:.85rem}.zx-table td,.zx-table th{text-align:left;padding:.55rem .7rem;border-bottom:1px solid var(--line);white-space:nowrap}.zx-table th{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted)}.zx-table tbody tr:hover{background:var(--bg-2)}.zx-table td.num,.zx-table th.num{text-align:right;font-family:var(--font-mono)}.zx-table.is-clamped{table-layout:fixed}.zx-table.is-clamped td:first-child,.zx-table.is-clamped th:first-child{max-width:0;overflow:hidden;text-overflow:ellipsis}.zx-table.is-clamped td.num,.zx-table.is-clamped th.num{width:5rem}.zx-cell-ellipsis{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.zx-form{display:grid;gap:.9rem;align-content:start}.zx-guestbook-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.zx-about-grid,.zx-guestbook-grid{display:grid;gap:2rem;align-items:start}.zx-about-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.zx-usage-charts{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:1.1rem;margin-bottom:1.1rem;align-items:stretch}.zx-usage-charts.is-stacked{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.zx-usage-charts>.zx-chart-wide{grid-column:1/-1}.zx-usage-charts>.zx-panel{display:flex;flex-direction:column;overflow:visible}.zx-usage-charts .zx-bars{flex:1 1;min-height:160px;height:auto}@media (max-width:900px){.zx-about-grid,.zx-guestbook-grid,.zx-usage-charts{grid-template-columns:1fr}}.zx-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}.zx-field{display:grid;gap:.35rem}.zx-label{font-family:var(--font-mono);font-size:.75rem;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.08em}.zx-input,.zx-textarea{font-family:var(--font-body);font-size:.92rem;color:var(--fg);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:.6rem .8rem;transition:border-color .2s,box-shadow .2s;width:100%}.zx-input:focus,.zx-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 16px -6px var(--glow)}.zx-input::placeholder,.zx-textarea::placeholder{color:var(--fg-muted)}.zx-textarea{resize:vertical;min-height:96px}.zx-check{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--fg-dim);cursor:pointer}.zx-check input{accent-color:var(--accent)}.zx-comments{margin-top:1.6rem;display:grid;gap:.2rem}.zx-comment{padding:1rem .4rem;border-bottom:1px solid var(--line);display:grid;gap:.35rem}.zx-comment.is-private{opacity:.72}.zx-c-head{display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap}.zx-c-author{font-size:.85rem;color:var(--accent);font-weight:700}.zx-c-author,.zx-c-time{font-family:var(--font-mono)}.zx-c-time{font-size:.7rem;color:var(--fg-muted)}.zx-c-body{color:var(--fg);white-space:pre-wrap;word-break:break-word}.zx-c-empty{color:var(--fg-muted);text-align:center;padding:2.5rem 0}.zx-c-empty,.zx-private-tag{font-family:var(--font-mono)}.zx-private-tag{font-size:.62rem;color:var(--accent-2);border:1px solid color-mix(in srgb,var(--accent-2) 45%,var(--line));border-radius:999px;padding:0 .5rem;line-height:1.5}.zx-msg{font-family:var(--font-mono);font-size:.82rem;padding:.7rem .9rem;border-radius:var(--radius);border:1px solid var(--line);margin-top:.9rem}.zx-msg.ok{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.zx-msg.err{color:#ff6b6b;border-color:color-mix(in srgb,#ff6b6b 45%,var(--line))}.zx-bio p{color:var(--fg-dim);max-width:60ch}.zx-tags{display:flex;flex-wrap:wrap;gap:.5rem}.zx-skill{display:grid;grid-template-columns:1fr auto;gap:.4rem 1rem;align-items:center;padding:.55rem 0;border-bottom:1px solid var(--line);font-size:.92rem}.zx-skill-name{font-family:var(--font-mono)}.zx-skill-tags{grid-column:1/-1;display:flex;gap:.4rem;flex-wrap:wrap}.zx-timeline{display:grid;gap:1.4rem;position:relative;padding-left:1.4rem}.zx-timeline:before{content:"";position:absolute;left:4px;top:4px;bottom:4px;width:1px;background:var(--line-strong)}.zx-tl-item{position:relative}.zx-tl-item:before{content:"";position:absolute;left:calc(-1.4rem + 1px);top:.4rem;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--glow);transform:translateX(-50%)}.zx-tl-period{font-family:var(--font-mono);font-size:.72rem;color:var(--fg-muted);letter-spacing:.08em}.zx-tl-title{font-weight:700;margin:.15rem 0 .1rem}.zx-tl-org{font-family:var(--font-mono);font-size:.78rem;color:var(--accent);margin-bottom:.35rem}.zx-tl-desc{color:var(--fg-dim);font-size:.9rem}.zx-footer{border-top:1px solid var(--line);padding:1.4rem 0 calc(1.4rem + env(safe-area-inset-bottom));margin-top:2rem}.zx-footer-in{max-width:var(--zx-max);margin-inline:auto;padding-inline:var(--zx-gutter);display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;font-family:var(--font-mono);font-size:.75rem;color:var(--fg-muted)}.zx-gallery{padding:2.5rem 0 4rem}.zx-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr));gap:.9rem}.zx-gallery .zx-pick-card{padding:.8rem}.zx-gallery .zx-pick-swatch{height:52px}[data-layout=centered] .zx-hero-grid{grid-template-columns:1fr;justify-items:center;text-align:center}[data-layout=centered] .zx-hero .zx-ascii{display:none}[data-layout=centered] .zx-hero-body,[data-layout=centered] .zx-hero-sub{margin-inline:auto}[data-layout=centered] .zx-cta,[data-layout=centered] .zx-kicker{justify-content:center}[data-layout=centered] .zx-sec-head{flex-direction:column;align-items:center;text-align:center;gap:.3rem}[data-layout=centered]{--zx-max:860px}[data-layout=sidebar] .zx-topbar{position:fixed;left:0;top:0;bottom:0;width:208px;flex-direction:column;align-items:stretch;border-right:1px solid var(--line);border-bottom:none;padding:1.2rem 1rem;overflow:auto}[data-layout=sidebar] .zx-topbar-in{flex-direction:column;align-items:flex-start;gap:1rem}[data-layout=sidebar] .zx-nav{flex-direction:column;margin-left:0;width:100%}[data-layout=sidebar] .zx-nav a{display:block}[data-layout=sidebar] .zx-footer,[data-layout=sidebar] .zx-main{margin-left:208px}[data-layout=window]{--zx-window-pad:22px}[data-layout=window] body{padding:var(--zx-window-pad)}[data-layout=window]{--zx-dock-inset-r:22px;--zx-dock-inset-t:64px;--zx-dock-inset-b:22px}[data-layout=window] .zx-app{min-height:calc(100dvh - var(--zx-window-pad) * 2);border:1px solid var(--line-strong);border-radius:12px;overflow:clip;box-shadow:0 30px 80px -30px rgba(0,0,0,.85);background:color-mix(in srgb,var(--bg) 92%,transparent)}[data-layout=window] .zx-app:before{content:"● ● ●      zxlumen.cn — /home";display:block;padding:.5rem .9rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;color:var(--fg-muted);background:color-mix(in srgb,var(--bg-2) 80%,transparent);border-bottom:1px solid var(--line)}[data-layout=hud] .zx-topbar{border-bottom:2px solid var(--accent);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem}[data-layout=hud] .zx-app:after{content:"";position:fixed;inset:10px;border:1px solid var(--line-strong);pointer-events:none;z-index:250}[data-layout=hud] .zx-hero{padding-top:3.5rem}[data-layout=hud] .zx-grid-stats{grid-template-columns:repeat(auto-fit,minmax(min(120px,100%),1fr))}[data-layout=hud] .zx-card,[data-layout=hud] .zx-panel,[data-layout=hud] .zx-stat{border-color:var(--line-strong)}[data-layout=hud] .zx-sec-head{border-bottom-width:2px}[data-layout=magazine]{--radius:0px}[data-layout=magazine] .zx-hero h1{font-size:clamp(3rem,10vw,7rem);line-height:.95}[data-layout=magazine] .zx-hero-grid{grid-template-columns:1fr}[data-layout=magazine]{--zx-max:900px}[data-layout=magazine] .zx-sec-head{border-bottom:3px solid var(--fg);align-items:flex-end}[data-layout=magazine] .zx-sec-tag:before{content:attr(data-num);font-size:2.4rem;font-weight:800;color:var(--accent);margin-right:.6rem;line-height:.8}[data-layout=magazine] .zx-sec-title{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.2rem)}[data-layout=fullbleed]{--zx-gutter:clamp(1.25rem,5vw,5rem)}[data-layout=fullbleed] .zx-container{max-width:none;padding-inline:var(--zx-gutter)}[data-layout=fullbleed] .zx-hero{min-height:min(84dvh,620px);display:flex;align-items:center}[data-layout=fullbleed] .zx-section{border-top:1px solid var(--line)}[data-layout=fullbleed] .zx-section:nth-child(2n){background:color-mix(in srgb,var(--bg-2) 55%,transparent)}[data-layout=fullbleed] .zx-grid{--zx-grid-min:320px}@media (min-width:900px){[data-layout=bento] .zx-main{display:grid;grid-template-columns:repeat(6,1fr);gap:.9rem;padding:1rem clamp(1rem,4vw,3rem);align-items:start}[data-layout=bento] .zx-main>section{border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem;margin:0;background:color-mix(in srgb,var(--elev) 70%,transparent)}[data-layout=bento] .zx-main>:not(section){grid-column:1/-1}[data-layout=bento] .zx-main>section .zx-container{padding-inline:0;max-width:none}[data-layout=bento] .zx-hero{grid-column:span 6;background:transparent;border:none;padding-block:2rem}[data-layout=bento] #about,[data-layout=bento] #guestbook,[data-layout=bento] #projects,[data-layout=bento] #usage{grid-column:span 3}[data-layout=bento] .zx-about-grid,[data-layout=bento] .zx-guestbook-grid,[data-layout=bento] .zx-usage-charts{grid-template-columns:1fr!important}[data-layout=bento] .zx-grid{grid-template-columns:1fr}}[data-layout=compact]{--radius:2px}[data-layout=compact] .zx-hero{padding:1.5rem 0}[data-layout=compact] .zx-hero h1{font-size:clamp(1.4rem,3vw,2rem)}[data-layout=compact] .zx-section{padding:1.6rem 0}[data-layout=compact] .zx-card,[data-layout=compact] .zx-panel,[data-layout=compact] .zx-stat{padding:.8rem}[data-layout=compact] .zx-grid{--zx-grid-min:220px;--zx-grid-gap:0.6rem}[data-layout=compact] .zx-grid-stats{grid-template-columns:repeat(auto-fit,minmax(min(110px,100%),1fr));gap:.5rem}[data-layout=compact] .zx-sec-head{margin-bottom:.8rem}[data-layout=compact] .zx-about-grid,[data-layout=compact] .zx-guestbook-grid,[data-layout=compact] .zx-usage-charts{grid-template-columns:1fr!important}[data-layout=showcase] .zx-hero-grid{grid-template-columns:1fr;justify-items:center;text-align:center}[data-layout=showcase] .zx-hero .zx-ascii{display:block;order:-1;font-size:clamp(.7rem,2.4vw,1.4rem);margin-bottom:1.5rem}[data-layout=showcase] .zx-cta,[data-layout=showcase] .zx-kicker{justify-content:center}[data-layout=showcase] .zx-hero-body{margin-inline:auto}@keyframes zx-blink{0%,60%{opacity:1}61%,to{opacity:0}}@keyframes zx-aurora{0%{background-position:0 0}50%{background-position:100% 100%}to{background-position:0 60%}}@keyframes zx-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.zx-rise{animation:zx-rise .6s ease both}@media (max-width:820px),(pointer:coarse){body{background-attachment:scroll}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}@media (max-width:820px){.zx-hero-grid{grid-template-columns:1fr}.zx-ascii{display:none}.zx-row{grid-template-columns:1fr}.zx-topbar-in{flex-wrap:wrap}.zx-topbar .zx-nav{order:3;width:100%;justify-content:flex-start}.zx-quota.is-fixed3{grid-template-columns:1fr}[data-layout=sidebar] .zx-topbar{position:sticky;width:auto;height:auto;border-right:none;border-bottom:1px solid var(--line);overflow:visible}[data-layout=sidebar] .zx-topbar,[data-layout=sidebar] .zx-topbar-in{flex-direction:row;align-items:center}[data-layout=sidebar] .zx-nav{flex-direction:row;width:auto}[data-layout=sidebar] .zx-footer,[data-layout=sidebar] .zx-main{margin-left:0}[data-layout=window]{--zx-window-pad:8px}[data-layout=sidebar] .zx-topbar>.zx-aistatus-wrap{position:absolute;left:50%;top:100%;transform:translateX(-50%);margin-top:0;padding-top:0}[data-layout=sidebar] .zx-topbar>.zx-aistatus-wrap .zx-aistatus{--zx-lamp-scale:1;flex-direction:row}}@media (min-width:1440px){:root{--zx-gutter:clamp(1.5rem,1.4vw,3rem)}:root,[data-layout=classic],[data-layout=hud],[data-layout=sidebar],[data-layout=window]{--zx-max:1280px;--zx-max-vlog:1680px}[data-layout=centered]{--zx-max:900px}[data-layout=magazine]{--zx-max:980px}[data-layout=compact]{--zx-max:1440px}[data-layout=showcase]{--zx-max:1680px}[data-layout=bento]{--zx-max:1760px}[data-layout=fullbleed]{--zx-max:1760px;--zx-gutter:clamp(2rem,3vw,5rem)}[data-layout=fullbleed] .zx-container{max-width:var(--zx-max)}.zx-hero{padding:clamp(4rem,8vh,7rem) 0 clamp(2.5rem,6vh,4.5rem)}.zx-hero h1{font-size:clamp(3.5rem,4.2vw,4.5rem)}.zx-section{padding:clamp(4.5rem,6vh,6.5rem) 0}.zx-sec-title{font-size:clamp(2rem,1.6vw,2.5rem)}[data-layout=bento] .zx-grid{--zx-grid-min:320px;grid-template-columns:repeat(auto-fill,minmax(min(100%,max(var(--zx-grid-min),calc((100% - 2 * var(--zx-grid-gap)) / 3))),1fr))}}@media (min-width:1920px){:root,[data-layout=classic],[data-layout=hud],[data-layout=sidebar],[data-layout=window]{--zx-max:1360px}[data-layout=centered]{--zx-max:960px}[data-layout=magazine]{--zx-max:1040px}[data-layout=compact]{--zx-max:1600px}[data-layout=bento],[data-layout=fullbleed],[data-layout=showcase]{--zx-max:1920px}[data-layout=fullbleed] .zx-container{max-width:var(--zx-max)}}@media (min-width:2560px){[data-layout=compact]{--zx-max:1760px}[data-layout=bento],[data-layout=fullbleed],[data-layout=showcase]{--zx-max:2240px}[data-layout=fullbleed] .zx-container{max-width:var(--zx-max)}}.zx-admin-tag{font-family:var(--font-mono);font-size:.62rem;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:999px;padding:0 .5rem;line-height:1.5}.zx-c-actions{margin-left:auto;display:inline-flex;gap:.5rem}.zx-arch-tag{font-family:var(--font-mono);font-size:.62rem;border-radius:999px;padding:0 .5rem;line-height:1.5}.zx-arch-tag.admin{color:#f87171;border:1px solid #f87171}.zx-arch-tag.visitor{color:#eab308;border:1px solid #eab308}.zx-arch-actions{display:inline-flex;gap:.3rem}.zx-linkbtn{font-family:var(--font-mono);font-size:.7rem;color:var(--fg-muted);background:none;border:none;padding:0;cursor:pointer;transition:color .2s}.zx-linkbtn:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.zx-replies{margin-top:.4rem;margin-left:1.2rem;border-left:1px solid var(--line);padding-left:.9rem;display:grid;gap:.1rem}.zx-reply{padding:.55rem .2rem;border-bottom:1px dashed var(--line)}.zx-reply-form{margin-top:.7rem;padding:.7rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);display:grid;gap:.6rem}.zx-reply-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.zx-reply-actions .zx-check{margin-right:auto}.zx-envdot{width:8px;height:8px;border-radius:50%;background:var(--fg-muted)}.zx-admintools{gap:.5rem;flex-wrap:wrap}.zx-admintools,.zx-mockbtn{display:inline-flex;align-items:center}.zx-mockbtn{gap:.35rem;font-family:var(--font-mono);font-size:.7rem;color:var(--fg-dim);background:transparent;border:1px solid var(--line);border-radius:var(--radius);padding:.3rem .5rem;white-space:nowrap;cursor:pointer;transition:color .2s,border-color .2s,box-shadow .2s}.zx-mockbtn.is-open,.zx-mockbtn:hover{color:var(--fg);border-color:var(--line-strong)}.zx-mockbtn.is-on{color:var(--accent-2);border-color:var(--accent-2);background:color-mix(in srgb,var(--accent-2) 12%,transparent);box-shadow:0 0 14px -4px var(--glow-2)}.zx-mockbtn-label{display:inline-flex;gap:.3rem;align-items:baseline}.zx-mockbtn-sep{opacity:.5}.zx-mockbtn-cur{color:var(--fg)}.zx-mockbtn.is-on .zx-mockbtn-cur{color:var(--accent-2)}.zx-mockbtn-caret{opacity:.6;font-size:.6rem}.zx-mockpop{width:300px}.zx-mockpop-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.6rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}.zx-mockpop-tag{letter-spacing:.08em;color:var(--fg-muted)}.zx-mockpop-status,.zx-mockpop-tag{font-family:var(--font-mono);font-size:.64rem}.zx-mockpop-status{color:var(--fg-dim)}.zx-mockpop-status.is-on{color:var(--accent-2)}.zx-mockpop-status.is-on:before{content:"";display:inline-block;width:6px;height:6px;margin-right:.35rem;border-radius:50%;background:var(--accent-2);box-shadow:0 0 8px var(--accent-2);animation:zx-blink 1.6s steps(2,start) infinite}.zx-mockpop-list{display:flex;flex-direction:column;gap:.3rem}.zx-mockrow{display:flex;align-items:center;gap:.5rem;width:100%;text-align:left;font-family:var(--font-mono);font-size:.74rem;color:var(--fg);background:transparent;border:1px solid transparent;border-radius:calc(var(--radius) - 2px);padding:.4rem .55rem;cursor:pointer;transition:background-color .15s,border-color .15s}.zx-mockrow:hover:not(:disabled){background:var(--elev);border-color:var(--line)}.zx-mockrow.is-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);box-shadow:0 0 14px -6px var(--glow)}.zx-mockrow:disabled{opacity:.5;cursor:default}.zx-mockrow-avatar{flex:none;width:10px;height:10px;border-radius:3px;box-shadow:0 0 8px -1px currentColor}.zx-mockrow-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zx-mockrow-hint{flex:none;font-size:.62rem;color:var(--fg-muted)}.zx-mockrow-check{flex:none;color:var(--accent-2);font-size:.7rem}.zx-mockpop-custom{margin-top:.6rem;padding-top:.6rem;border-top:1px dashed var(--line)}.zx-mockpop-cli{display:flex;align-items:center;gap:.4rem;margin-top:.4rem}.zx-mockpop-dollar{color:var(--accent-2)}.zx-mockpop-dollar,.zx-mockpop-in{font-family:var(--font-mono);font-size:.74rem}.zx-mockpop-in{flex:1 1;min-width:0;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:calc(var(--radius) - 2px);padding:.3rem .5rem;transition:border-color .2s,box-shadow .2s}.zx-mockpop-in:focus{outline:none;border-color:var(--accent);box-shadow:0 0 16px -6px var(--glow)}.zx-mockpop-in::placeholder{color:var(--fg-muted)}.zx-mockpop-go{flex:none;font-family:var(--font-mono);font-size:.68rem;color:var(--fg);background:var(--bg-2);border:1px solid var(--line-strong);border-radius:calc(var(--radius) - 2px);padding:.3rem .6rem;cursor:pointer;transition:border-color .2s,color .2s}.zx-mockpop-go:hover:not(:disabled){color:var(--accent-2);border-color:var(--accent-2)}.zx-mockpop-go:disabled{opacity:.5;cursor:default}.zx-mockpop-error{font-size:.62rem;color:#f87171}.zx-mockpop-error,.zx-mockpop-hint{margin-top:.35rem;font-family:var(--font-mono)}.zx-mockpop-hint{font-size:.6rem;color:var(--fg-muted)}.zx-reply-to{font-family:var(--font-mono);font-size:.72rem;color:var(--fg-muted);margin:.1rem 0 .25rem}.zx-reply-to-name{color:var(--accent-2)}.zx-pager{display:flex;align-items:center;gap:.8rem 1.2rem;flex-wrap:wrap;margin-top:1.2rem;padding-top:.9rem;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:.74rem;color:var(--fg-muted)}.zx-pager strong{color:var(--fg)}.zx-pager-info{display:inline-flex;align-items:center;gap:.8rem;flex-wrap:wrap}.zx-pagesize{position:relative}.zx-pagesize-btn{display:inline-flex;align-items:center;gap:.4rem;height:1.9rem;padding:0 .6rem;font-family:var(--font-mono);font-size:.72rem;color:var(--fg-dim);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;transition:color .2s,border-color .2s,box-shadow .2s}.zx-pagesize-btn.is-open,.zx-pagesize-btn:hover:not(:disabled){color:var(--fg);border-color:var(--accent);box-shadow:0 0 14px -4px var(--glow)}.zx-pagesize-btn .caret{opacity:.6;font-size:.6rem}.zx-pagesize-menu{position:absolute;left:0;bottom:calc(100% + .35rem);z-index:50;min-width:6.6rem;padding:.3rem;background:var(--bg-2);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:0 24px 60px -28px rgba(0,0,0,.85);display:grid;gap:.15rem}.zx-pagesize-item{text-align:left;padding:.38rem .6rem;font-family:var(--font-mono);font-size:.72rem;color:var(--fg-dim);background:transparent;border:none;border-radius:calc(var(--radius) - 2px);cursor:pointer}.zx-pagesize-item:hover{background:var(--bg);color:var(--fg)}.zx-pagesize-item.is-active{color:var(--accent);font-weight:700}.zx-pager-btns{gap:.25rem;flex-wrap:wrap;margin-inline:auto}.zx-pager-btns,.zx-pager-jump{display:inline-flex;align-items:center}.zx-pager-jump{gap:.4rem}.zx-jump-input{width:3.4rem;height:1.9rem;text-align:center;font-family:var(--font-mono);font-size:.72rem;color:var(--fg);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius)}.zx-jump-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 16px -6px var(--glow)}.zx-jump-input::placeholder{color:var(--fg-muted)}.zx-pagebtn{min-width:1.8rem;height:1.8rem;padding:0 .45rem;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:.72rem;color:var(--fg-dim);background:transparent;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;transition:color .2s,border-color .2s,box-shadow .2s}.zx-pagebtn:hover:not(:disabled):not(.is-ellipsis){color:var(--fg);border-color:var(--line-strong)}.zx-pagebtn.is-active{color:var(--accent);border-color:var(--accent);background:var(--bg-2);box-shadow:0 0 14px -4px var(--glow)}.zx-pagebtn:disabled{opacity:.4;cursor:default}.zx-pagebtn.is-ellipsis{border-color:transparent;cursor:default}.zx-pager.is-disabled{opacity:.6}.zx-contact-compact{display:inline-flex;align-items:center;gap:.6rem}.zx-footer-contact{display:inline-flex;align-items:center;gap:.5rem}.zx-contact-compact .zx-linkbtn,.zx-contact-compact a{font-family:var(--font-mono);font-size:.75rem;color:var(--fg-dim);background:none;border:none;padding:0;cursor:pointer}.zx-contact-compact .zx-linkbtn:hover,.zx-contact-compact a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.zx-toast{position:fixed;left:50%;bottom:calc(1.4rem + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:500;padding:.6rem 1rem;font-family:var(--font-mono);font-size:.78rem;color:var(--fg);background:var(--bg-2);border:1px solid var(--accent);border-radius:var(--radius);box-shadow:0 0 24px -6px var(--glow),0 20px 50px -24px rgba(0,0,0,.9);animation:zx-rise .2s ease both}.zx-pop-fixed{right:auto}.zx-wechat-pop{z-index:600;padding:.5rem;background:var(--bg-2);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:0 24px 60px -28px rgba(0,0,0,.9);animation:zx-rise .18s ease both}.zx-wechat-pop img{width:100%;display:block;border-radius:calc(var(--radius) - 2px)}.zx-svg-wrap{display:inline-block;line-height:0}.zx-ico{display:inline-block;font-size:1.35em;line-height:1;vertical-align:-.12em}.zx-ico-sm{font-size:1.05em}.zx-ico-lg{font-size:1.6em;vertical-align:-.16em}.zx-seg{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.1rem}.zx-chip{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-mono);font-size:.72rem;color:var(--fg-dim);background:var(--bg-2);border:1px solid var(--line);border-radius:999px;padding:.3rem .75rem;cursor:pointer;transition:color .2s,border-color .2s,box-shadow .2s}.zx-chip-warn{color:var(--accent);cursor:help;font-weight:700}.zx-chip:hover{color:var(--fg);border-color:var(--line-strong)}.zx-chip.is-empty{opacity:.42}.zx-chip:disabled{opacity:.5;cursor:default}.zx-chip.is-active{color:var(--accent);border-color:var(--accent);box-shadow:0 0 14px -4px var(--glow)}.zx-chip .zx-legend-dot{width:8px;height:8px}.zx-tabs.is-inline{border-bottom:none;padding-bottom:0;margin-bottom:0;align-self:center;flex-wrap:wrap;row-gap:.25rem;--tab-fs:clamp(0.8rem,0.95vw,0.95rem);align-items:center;min-height:2.8rem}.zx-tabs.is-inline .zx-tab{font-family:var(--font-display);font-size:var(--tab-fs);font-weight:500;letter-spacing:-.02em;line-height:1.4;color:var(--fg-muted);background:transparent;border:none;border-radius:0;padding:0 .1rem;margin-right:.35rem;flex:0 0 auto;white-space:nowrap;text-transform:none;transition:font-size .22s ease,color .18s ease}.zx-tabs.is-inline .zx-tab.is-active{color:var(--accent);border:none;background:transparent;box-shadow:none}@media (hover:hover) and (min-width:1080px){.zx-tabs.is-inline{flex:1 1 auto}.zx-tabs.is-inline .zx-tab:hover{color:var(--fg);font-size:calc(var(--tab-fs) * 2)}.zx-tabs.is-inline .zx-tab:hover+.zx-tab{font-size:calc(var(--tab-fs) * 1.35)}.zx-tabs.is-inline .zx-tab:hover+.zx-tab+.zx-tab{font-size:calc(var(--tab-fs) * 1.12)}.zx-tabs.is-inline .zx-tab.is-active:hover{color:var(--accent)}}.zx-statswidget-btn{position:fixed;top:max(4.2rem,calc(var(--zx-topbar-h, 0px) + .6rem));right:1rem;z-index:400;display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.7rem;color:var(--fg-dim);background:color-mix(in srgb,var(--bg-2) 85%,transparent);border:1px solid var(--line);border-radius:999px;padding:.3rem .7rem;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;backdrop-filter:blur(var(--card-blur));-webkit-backdrop-filter:blur(var(--card-blur));transition:color .2s,border-color .2s,box-shadow .2s}.zx-statswidget-btn:active{cursor:grabbing}.zx-statswidget-btn.is-open,.zx-statswidget-btn:hover{color:var(--fg);border-color:var(--line-strong)}.zx-statswidget-btn .zx-envdot{background:var(--accent);box-shadow:0 0 8px var(--accent)}.zx-statswidget-sep{opacity:.5}.zx-statswidget-pop{position:fixed;top:max(6.6rem,calc(var(--zx-topbar-h, 0px) + 3rem));right:1rem;z-index:401;width:min(232px,calc(100vw - 2rem));background:var(--bg-2);border:1px solid var(--line-strong);border-radius:var(--radius);padding:.65rem .75rem;box-shadow:0 20px 50px -24px rgba(0,0,0,.9);font-family:var(--font-mono)}.zx-statswidget-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.3rem;font-size:.62rem}.zx-statswidget-close{background:none;border:none;color:var(--fg-muted);cursor:pointer;font-size:.7rem;padding:0}.zx-statswidget-close:hover{color:var(--fg)}.zx-statswidget-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.35rem .3rem;margin-bottom:.35rem}.zx-statswidget-cell{text-align:center}.zx-statswidget-val{font-size:.95rem;font-weight:700;color:var(--fg)}.zx-statswidget-lbl{font-size:.55rem;color:var(--fg-muted)}.zx-statswidget-trend{display:flex;align-items:flex-end;justify-content:center;gap:6px;height:59px;padding-top:20px;margin-bottom:.2rem}.zx-statswidget-trend .zx-bar{width:20px;flex:0 1 auto;min-width:0}.zx-statswidget-foot{font-size:.55rem;text-align:right}.zx-project-clicks{display:inline-flex;align-items:center;gap:.25rem;margin-left:auto;font-size:.66rem;color:var(--fg-muted);white-space:nowrap}.zx-project-clicks svg{opacity:.7}.zx-visitor-detail{padding:.35rem .6rem;font-size:.78rem}.zx-visitor-tag{display:inline-block;margin-left:.4rem;padding:0 .35rem;border-radius:999px;font-size:.6rem;line-height:1.5;vertical-align:.05em;border:1px solid}.zx-visitor-tag.is-new{color:#37b24d}.zx-visitor-tag.is-returning{color:var(--fg-muted)}.zx-alias-tag{display:inline-block;padding:0 .35rem;border-radius:999px;border:1px solid var(--line-strong);color:var(--fg);font-size:.68rem;line-height:1.5;font-weight:600}.zx-alias-btn{margin-left:.4rem;padding:0 .3rem;font-size:.62rem;line-height:1.5;opacity:.6}tr:hover .zx-alias-btn{opacity:1}.zx-alias-edit{display:flex;align-items:center;gap:.3rem;cursor:default}.zx-alias-edit input{flex:1 1;min-width:0;max-width:16rem;padding:.1rem .35rem;font-size:.75rem;line-height:1.6;color:var(--fg);background:transparent;border:1px solid var(--line-strong);border-radius:4px}.zx-proj-chips{font-size:.72rem;line-height:1.5;display:inline-block}.zx-visitor-meta{display:flex;flex-wrap:wrap;gap:.2rem 1.1rem;font-size:.72rem}.zx-visitor-line,.zx-visitor-meta{margin-bottom:.3rem}.zx-visitor-block{margin-top:.35rem}.zx-visitor-block-title{display:inline-block;min-width:4.4rem;color:var(--fg-dim);font-family:var(--font-mono);font-size:.7rem;vertical-align:top}.zx-sec-chip{display:inline-block;margin:0 .35rem .25rem 0;padding:.05rem .4rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);font-size:.7rem}.zx-visitor-ops{display:inline-flex;flex-direction:column;gap:.12rem;vertical-align:top;font-size:.72rem;max-width:100%}.zx-visitor-op{display:flex;gap:.6rem;white-space:nowrap}.zx-visitor-op .zx-op-time{color:var(--fg-muted);min-width:6.4rem}.zx-visitor-op .zx-op-type{color:var(--fg-dim);min-width:4rem}.zx-visitor-op .zx-op-target{color:var(--fg-dim);overflow:hidden;text-overflow:ellipsis}.zx-visitor-events{display:flex;flex-wrap:wrap;gap:.12rem 1.1rem;font-size:.72rem}.zx-statuswidget{position:fixed;top:max(7rem,calc(var(--zx-topbar-h, 0px) + 3.4rem));right:1rem;z-index:399;font-family:var(--font-mono)}.zx-statuswidget-btn{display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem;color:var(--fg-dim);background:color-mix(in srgb,var(--bg-2) 85%,transparent);border:1px solid var(--line);border-radius:999px;padding:.3rem .7rem;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;backdrop-filter:blur(var(--card-blur));-webkit-backdrop-filter:blur(var(--card-blur));transition:color .2s,border-color .2s,box-shadow .2s}.zx-statuswidget-btn.is-open,.zx-statuswidget-btn:hover{color:var(--fg);border-color:var(--accent)}.zx-statuswidget-dot{width:8px;height:8px;border-radius:50%;flex:none}.zx-statuswidget-pop{position:absolute;top:calc(100% + .5rem);right:0;width:min(240px,calc(100vw - 2rem));background:var(--bg-2);border:1px solid var(--line-strong);border-radius:var(--radius);padding:.65rem .75rem;box-shadow:0 20px 50px -24px rgba(0,0,0,.9)}.zx-statuswidget-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem;font-size:.64rem}.zx-statuswidget-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem .3rem;margin-bottom:.5rem}.zx-statuswidget-cell{text-align:center}.zx-statuswidget-val{font-size:.9rem;font-weight:700;color:var(--fg)}.zx-statuswidget-lbl{font-size:.55rem;color:var(--fg-muted)}.zx-statuswidget-trend{display:flex;align-items:flex-end;justify-content:center;gap:6px;height:59px;padding-top:20px;margin-bottom:.2rem}.zx-statuswidget-foot{font-size:.58rem;text-align:center}.zx-statuswidget-err{display:flex;flex-direction:column;gap:6px;padding:12px 6px 4px;font-size:.7rem;word-break:break-all}.zx-statswidget-cell,.zx-statuswidget-cell{cursor:pointer;border:0;background:none;padding:.2rem .15rem;border-radius:6px;font:inherit;color:inherit;transition:background .12s ease,color .12s ease}.zx-statswidget-cell:hover,.zx-statuswidget-cell:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.zx-statswidget-cell.is-active,.zx-statuswidget-cell.is-active{background:color-mix(in srgb,var(--accent) 14%,transparent)}.zx-statswidget-cell.is-active .zx-statswidget-val,.zx-statuswidget-cell.is-active .zx-statuswidget-val{color:var(--accent)}.zx-spark{position:relative;margin:.4rem 0 .25rem}.zx-spark-svg{display:block;width:100%;height:100%}.zx-spark-empty{display:flex;align-items:center;justify-content:center;font-size:.7rem}.zx-spark-tip{position:absolute;top:0;transform:translateX(-50%);pointer-events:none;background:#0d1117;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:6px;padding:2px 6px;font-size:.66rem;white-space:nowrap;z-index:5}.zxchat{position:fixed;right:20px;bottom:20px;width:min(380px,calc(100vw - 32px));max-height:min(560px,75vh);display:flex;flex-direction:column;font-family:var(--font-mono);background:var(--bg-2);border:1px solid var(--line);border-radius:12px;box-shadow:0 22px 60px -30px rgba(0,0,0,.85);z-index:350;overflow:hidden;animation:zxchat-in .16s ease-out}@keyframes zxchat-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.zxchat-edge{position:absolute;z-index:5;touch-action:none}.zxchat-edge-n,.zxchat-edge-s{left:14px;right:14px;height:7px;cursor:ns-resize}.zxchat-edge-n{top:-3px}.zxchat-edge-s{bottom:-3px}.zxchat-edge-e,.zxchat-edge-w{top:14px;bottom:14px;width:7px;cursor:ew-resize}.zxchat-edge-e{right:-3px}.zxchat-edge-w{left:-3px}.zxchat-edge-ne,.zxchat-edge-nw,.zxchat-edge-se,.zxchat-edge-sw{width:16px;height:16px}.zxchat-edge-nw{left:0;top:0;cursor:nwse-resize}.zxchat-edge-se{right:0;bottom:0;cursor:nwse-resize}.zxchat-edge-ne{right:0;top:0;cursor:nesw-resize}.zxchat-edge-sw{left:0;bottom:0;cursor:nesw-resize}.zxchat-edge-nw:before,.zxchat-edge-se:after{content:"";position:absolute;width:8px;height:8px;border-color:var(--line-strong);opacity:.5}.zxchat-edge-nw:before{left:4px;top:4px;border-left:2px solid;border-top:2px solid;border-top-left-radius:6px}.zxchat-edge-se:after{right:4px;bottom:4px;border-right:2px solid;border-bottom:2px solid;border-bottom-right-radius:6px}.zxchat-edge-nw:hover:before,.zxchat-edge-se:hover:after{opacity:.95;border-color:var(--accent)}.zxchat-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;background:var(--bg-2);border-bottom:1px solid var(--line);font-size:.9rem}.zxchat-head-sub{display:block;font-size:.6rem;opacity:.6}.zxchat-close{background:none;border:none;color:inherit;font-size:1.1rem;cursor:pointer;opacity:.7;line-height:1}.zxchat-close:hover{opacity:1}.zxchat-list{overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;font-size:.9375rem;flex:1 1;min-height:180px;scroll-behavior:smooth}.zxchat-msg{max-width:88%;padding:8px 10px;border-radius:10px;background:var(--bg-2);border:1px solid var(--line);white-space:pre-wrap;word-break:break-word;line-height:1.45}.zxchat-msg-user{align-self:flex-end;background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.zxchat-hint{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.zxchat-chip{font-size:.8125rem;padding:4px 10px;border-radius:999px;background:var(--bg-2);border:1px dashed var(--line-strong);color:inherit;cursor:pointer}.zxchat-chip:hover{opacity:1;border-style:solid}.zxchat-err{font-size:.72rem;color:#ff6a5e;padding:6px 8px;border:1px solid color-mix(in srgb,#ff6a5e 45%,transparent);border-radius:8px}.zxchat-form{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line);background:var(--bg-2)}.zxchat-input{flex:1 1;background:var(--bg);border:1px solid var(--line);border-radius:8px;color:inherit;padding:7px 10px;font-size:.9375rem;outline:none}.zxchat-input:focus{border-color:var(--line-strong)}.zxchat-send{padding:7px 14px;border-radius:8px;border:1px solid var(--line-strong);background:color-mix(in srgb,var(--accent) 16%,transparent);color:inherit;cursor:pointer;font-size:.8rem}.zxchat-send:disabled{opacity:.5;cursor:default}.zxchat-fab{position:fixed;right:20px;bottom:calc(104px + env(safe-area-inset-bottom));z-index:350;width:52px;height:52px;border-radius:50%;border:1px solid var(--line-strong);background:color-mix(in srgb,var(--accent) 22%,var(--bg));color:var(--accent);font-size:1.3rem;display:inline-flex;align-items:center;justify-content:center;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;box-shadow:0 12px 34px -14px rgba(0,0,0,.8)}.zxchat-fab:active{cursor:grabbing}.zxchat-fab:hover{filter:brightness(1.15)}.zxchat--d1{background:var(--bg-2);border-radius:16px;box-shadow:0 24px 60px -34px rgba(0,0,0,.82)}.zxchat--d1 .zxchat-head{gap:.55rem;padding:.6rem .75rem;border-bottom:1px solid var(--line)}.zxchat-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:700;flex-shrink:0;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.zxchat-hmeta{min-width:0;flex:1 1}.zxchat-hname{font-weight:700;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zxchat-hsub{display:flex;align-items:center;gap:.3rem;font-size:.75rem;opacity:.65}.zxchat-dot{width:6px;height:6px;border-radius:50%;background:#3fb950;display:inline-block}.zxchat-dot.is-busy{background:var(--accent);animation:zxchat-pulse 1s ease-in-out infinite}@keyframes zxchat-pulse{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.zxchat--d1 .zxchat-list{gap:.85rem;padding:.8rem}.zxchat-row{display:flex;gap:.45rem;align-items:flex-start}.zxchat-row-user{flex-direction:row-reverse}.zxchat-bavatar{width:22px;height:22px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-size:.58rem;font-weight:700;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.zxchat--d1 .zxchat-msg{max-width:100%;padding:0;background:transparent;border:none;border-radius:0;white-space:normal}.zxchat--d1 .zxchat-msg-user{max-width:85%;padding:.5rem .65rem;border-radius:12px;background:color-mix(in srgb,var(--accent) 13%,transparent);align-self:flex-end;white-space:pre-wrap}.zxchat-md{line-height:1.62;overflow-wrap:anywhere}.zxchat-md>:first-child{margin-top:0}.zxchat-md>:last-child{margin-bottom:0}.zxchat-md p{margin:0 0 .55em}.zxchat-md ol,.zxchat-md ul{margin:.25em 0 .6em;padding-left:1.3em}.zxchat-md li{margin:.15em 0}.zxchat-md h1,.zxchat-md h2,.zxchat-md h3,.zxchat-md h4,.zxchat-md h5,.zxchat-md h6{margin:.6em 0 .3em;line-height:1.35;font-size:1em}.zxchat-md h1{font-size:1.18em}.zxchat-md h2{font-size:1.1em}.zxchat-md h3{font-size:1.03em}.zxchat-md code{font-family:var(--font-mono);font-size:.86em;background:color-mix(in srgb,currentColor 12%,transparent);padding:.08em .34em;border-radius:5px}.zxchat-md pre{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:.6rem .7rem;overflow:auto;margin:.45em 0}.zxchat-md pre code{background:none;padding:0;font-size:.82em}.zxchat-md a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.zxchat-md blockquote{margin:.45em 0;padding:.1em .7em;border-left:3px solid var(--line-strong);opacity:.92}.zxchat-md hr{border:none;border-top:1px solid var(--line);margin:.7em 0}.zxchat-md table{border-collapse:collapse;font-size:.92em;margin:.45em 0;display:block;max-width:100%;overflow:auto}.zxchat-md td,.zxchat-md th{border:1px solid var(--line);padding:.25em .5em;text-align:left}.zxchat-md img{max-width:100%;border-radius:8px}.zxchat--d1 .zxchat-chip{border:1px solid var(--line-strong);background:transparent;color:inherit;border-radius:999px}.zxchat--d1 .zxchat-chip:hover{border-color:var(--accent);color:var(--accent)}.zxchat--d1 .zxchat-form{margin:0 .6rem .6rem;padding:.4rem .5rem;border:1px solid var(--line);border-radius:12px;background:var(--bg);align-items:center}.zxchat--d1 .zxchat-input{border:none;background:transparent;padding:.4rem .35rem}.zxchat--d1 .zxchat-send{width:30px;height:30px;padding:0;border-radius:9px;border-color:transparent;background:var(--accent);color:var(--bg);font-size:.95rem;display:grid;place-items:center;flex-shrink:0}.zxchat-typing{display:inline-flex;gap:3px;align-items:center}.zxchat-typing i{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.5;animation:zxchat-blink 1.2s infinite both}.zxchat-typing i:nth-child(2){animation-delay:.2s}.zxchat-typing i:nth-child(3){animation-delay:.4s}@keyframes zxchat-blink{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:.9;transform:translateY(-2px)}}.zxchat-fab--f5{background:var(--bg-2);border:1.5px solid var(--accent);color:var(--accent);box-shadow:0 8px 24px -14px rgba(0,0,0,.7)}.zxchat-teaser{position:fixed;z-index:350;transform:translateY(-100%);max-width:250px;padding:.55rem .8rem .55rem 2.15rem;font-family:var(--font-mono);background:var(--bg-2);color:inherit;border:none;border-radius:16px;font-size:.9375rem;line-height:1.6;cursor:pointer;box-shadow:0 20px 46px -20px rgba(0,0,0,.85);animation:zxchat-teaser-in .24s ease-out}.zxchat-teaser:before{content:"刘";position:absolute;left:.55rem;top:.5rem;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:.6rem;font-weight:700;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.zxchat-teaser:after{content:"";position:absolute;right:-6px;top:50%;margin-top:-6px;border:6px solid transparent;border-left:6px solid var(--bg-2)}.zxchat-teaser-right:after{right:auto;left:-6px;border-left-color:transparent;border-right-color:var(--bg-2)}.zxchat-teaser:hover{box-shadow:0 24px 54px -20px rgba(0,0,0,.9)}@keyframes zxchat-teaser-in{0%{opacity:0;transform:translateY(-100%) translateY(4px)}to{opacity:1;transform:translateY(-100%)}}.zx-chatlog-toolbar{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-bottom:.7rem}.zx-chatlog-toolbar input[type=search],.zx-chatlog-toolbar select{font-family:var(--font-mono);font-size:.76rem;padding:.28rem .5rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--fg)}.zx-chatlog-toolbar input[type=search]{flex:1 1 11rem;min-width:8rem}.zx-chatlog-toolbar input[type=search]:focus,.zx-chatlog-toolbar select:focus{outline:1px solid var(--accent);outline-offset:-1px}.zx-chatlog-chart{display:flex;align-items:flex-end;gap:3px;height:54px;margin-bottom:.3rem}.zx-chatlog-chart .zx-bar{cursor:pointer;min-width:6px}.zx-chatlog-chart .zx-bar.is-sel{outline:1px solid var(--accent);outline-offset:1px}.zx-chatlog-foot{font-family:var(--font-mono);font-size:.68rem;color:var(--fg-muted);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.zx-chatsess{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:.4rem}.zx-chatsess-head{display:flex;align-items:center;gap:.45rem;width:100%;padding:.4rem .55rem;background:none;border:0;text-align:left;cursor:pointer;color:inherit;font:inherit}.zx-chatsess-head:hover{background:color-mix(in srgb,var(--fg) 5%,transparent)}.zx-chatsess-caret{font-size:.7rem;color:var(--fg-muted)}.zx-chatsess-caret,.zx-chatsess-who{font-family:var(--font-mono);flex:0 0 auto}.zx-chatsess-who{font-size:.8rem;font-weight:700;color:var(--accent)}.zx-chatsess-when{font-size:.7rem;flex:0 0 auto}.zx-chatsess-meta,.zx-chatsess-when{font-family:var(--font-mono);color:var(--fg-muted)}.zx-chatsess-meta{font-size:.68rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.zx-chatsess-sum{flex:1 1 auto;min-width:0}.zx-chatsess-del{flex:0 0 auto;margin-left:auto;font-family:var(--font-mono);font-size:.68rem;padding:.1rem .4rem;border:1px solid var(--line);border-radius:var(--radius);background:none;color:var(--fg-muted);cursor:pointer}.zx-chatsess-del:hover{color:var(--zx-danger,#e5484d);border-color:var(--zx-danger,#e5484d)}.zx-chatsess-note{padding:.15rem .55rem .35rem 1.5rem;font-size:.68rem;color:var(--muted);font-family:var(--font-mono)}.zx-chatsess-body{padding:.1rem .55rem .55rem 1.5rem;display:flex;flex-direction:column;gap:.5rem}.zx-chatsess-msg{border-left:2px solid var(--line-strong);padding-left:.5rem}.zx-chatsess-msg.is-assistant{border-left-color:color-mix(in srgb,var(--accent) 55%,transparent)}.zx-chatsess-msg.is-error{border-left-color:var(--zx-danger,#e5484d)}.zx-chatsess-role{font-family:var(--font-mono);font-size:.66rem;color:var(--fg-muted);margin-bottom:.15rem}.zx-chatsess-text{font-size:.85rem;color:var(--fg);white-space:pre-wrap;word-break:break-word}.zx-chatsess-text.zxchat-md{white-space:normal;font-size:.85rem}.zx-chatsess-more{font-family:var(--font-mono);font-size:.68rem;color:var(--accent);background:none;border:0;padding:.15rem 0 0;cursor:pointer}.zx-appdock{position:fixed;top:var(--zx-dock-inset-t);right:var(--zx-dock-inset-r);bottom:var(--zx-dock-inset-b);z-index:380;width:var(--zx-dock-w);display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:0 0 1rem;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;background:color-mix(in srgb,var(--bg) 74%,transparent);border-left:1px solid var(--line);transition:background-color .35s ease,border-color .35s ease}.zx-appdock,.zx-appdock-top{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.zx-appdock-top{position:sticky;top:0;z-index:1;flex:0 0 auto;width:100%;height:4.4rem;display:grid;place-items:center;background:color-mix(in srgb,var(--bg) 74%,transparent)}.zx-appdock-feedback{flex:0 0 auto;width:36px;height:36px;display:grid;place-items:center;margin-top:calc(var(--zx-topbar-h, 0px) / 2);border:1px solid var(--line);border-radius:50%;background:color-mix(in srgb,var(--bg-2) 70%,transparent);color:var(--fg-dim);font-family:var(--font-mono);font-size:1.05rem;font-weight:700;line-height:1;cursor:pointer;touch-action:manipulation;transition:color .18s,border-color .18s,background-color .18s,transform .18s}.zx-appdock-feedback:focus-visible,.zx-appdock-feedback:hover{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--bg-2) 90%,transparent);transform:scale(1.12)}.zx-appdock::-webkit-scrollbar{display:none}.zx-appdock-item{position:relative;flex:0 0 auto;width:44px;height:44px;display:grid;place-items:center;border-radius:8px;overflow:hidden;text-decoration:none;color:var(--fg-dim);transition:color .18s,transform .18s,box-shadow .18s}.zx-appdock-item:not(:has(img)){background:color-mix(in srgb,var(--bg-2) 78%,transparent);border:1px solid var(--line)}.zx-appdock-item:focus-visible,.zx-appdock-item:hover{color:var(--fg);transform:translateY(-3px) scale(1.06);box-shadow:0 12px 28px -14px rgba(0,0,0,.85)}.zx-appdock-item:focus-visible:has(img){box-shadow:0 0 0 2px var(--accent),0 12px 28px -14px rgba(0,0,0,.85)}.zx-appdock-item:active{transform:translateY(-1px) scale(.98)}.zx-appdock-item .zx-appdock-img,.zx-appdock-item .zx-appdock-letter,.zx-appdock-item img{pointer-events:none;-webkit-user-drag:none}.zx-appdock-img{position:relative;width:44px;height:44px;display:grid;place-items:center}.zx-appdock-img>*{grid-area:1/1}.zx-appdock-img img{width:100%;height:100%;object-fit:cover;display:block}.zx-appdock-letter{font-family:var(--font-mono);font-size:1.35rem;font-weight:700;line-height:1;text-transform:uppercase;color:var(--accent);-webkit-user-select:none;user-select:none}.zx-appdock-tip{position:fixed;z-index:9999;padding:.25rem .55rem;max-width:12rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-mono);font-size:.68rem;color:var(--fg);background:var(--bg-2);border:1px solid var(--line-strong);border-radius:6px;box-shadow:0 14px 34px -18px rgba(0,0,0,.9);pointer-events:none;animation:zx-appdock-tip-in .13s ease}.zx-appdock-tip[data-side=left]{transform:translate(-100%,-50%)}.zx-appdock-tip[data-side=top]{transform:translate(-50%,-100%)}@keyframes zx-appdock-tip-in{0%{opacity:0}to{opacity:1}}.zx-appdock-sep{flex:0 0 auto;width:22px;height:1px;margin:.2rem 0;background:var(--line-strong)}.zx-appdock-item{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}.zx-appdock-item[data-dragging]{opacity:.35;transform:scale(1.08);border-color:var(--accent)}.zx-appdock-item[data-drop=before]{box-shadow:inset 0 3px 0 var(--accent);border-color:var(--accent)}.zx-appdock-item[data-drop=after]{box-shadow:inset 0 -3px 0 var(--accent);border-color:var(--accent)}.zx-appdock-reset{flex:0 0 auto;width:44px;height:44px;display:grid;place-items:center;margin-top:.45rem;border:1px dashed var(--line-strong);border-radius:12px;background:transparent;color:var(--fg-dim);font-size:1rem;line-height:1;cursor:pointer;touch-action:manipulation;transition:color .18s,border-color .18s,transform .18s}.zx-appdock-reset:focus-visible,.zx-appdock-reset:hover{color:var(--fg);border-color:var(--accent);transform:scale(1.06)}.zx-feedback{position:fixed;inset:0;z-index:1600;display:grid;place-items:center;padding:1rem;background:rgba(0,0,0,.45);animation:zx-feedback-in .15s ease}.zx-feedback-card{width:min(380px,100%);display:flex;flex-direction:column;background:var(--bg-2);border:1px solid var(--line-strong);border-radius:12px;box-shadow:0 30px 80px -30px rgba(0,0,0,.9);overflow:hidden;max-height:calc(100vh - 2rem)}.zx-feedback-head{display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem;border-bottom:1px solid var(--line)}.zx-feedback-title{font-family:var(--font-mono);font-weight:700;color:var(--fg)}.zx-feedback-sub{font-size:.72rem;color:var(--fg-dim)}.zx-feedback-close{margin-left:auto;width:28px;height:28px;display:grid;place-items:center;border:none;border-radius:6px;background:transparent;color:var(--fg-dim);font-size:.9rem;cursor:pointer;transition:color .15s,background-color .15s}.zx-feedback-close:hover{color:var(--fg);background:color-mix(in srgb,var(--bg) 60%,transparent)}.zx-feedback-body{display:flex;flex-direction:column;gap:.9rem;padding:1rem;overflow-y:auto}.zx-feedback-field{display:flex;flex-direction:column;gap:.35rem}.zx-feedback-field>span{font-size:.78rem;color:var(--fg-dim)}.zx-feedback-field input,.zx-feedback-field textarea{font-family:inherit;font-size:.9rem;color:var(--fg);background:color-mix(in srgb,var(--bg) 55%,transparent);border:1px solid var(--line);border-radius:8px;padding:.55rem .7rem;outline:none;resize:vertical;transition:border-color .15s,box-shadow .15s}.zx-feedback-field textarea{min-height:110px}.zx-feedback-field input:focus,.zx-feedback-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.zx-feedback-honeypot{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}.zx-feedback-actions{display:flex;justify-content:flex-end;gap:.6rem}.zx-feedback-btn{padding:.5rem 1.1rem;border:1px solid var(--line-strong);border-radius:8px;background:transparent;color:var(--fg-dim);font-size:.85rem;font-family:inherit;cursor:pointer;transition:color .15s,border-color .15s,background-color .15s}.zx-feedback-btn:hover{color:var(--fg);border-color:var(--accent)}.zx-feedback-btn-primary{background:color-mix(in srgb,var(--accent) 16%,transparent);border-color:color-mix(in srgb,var(--accent) 55%,transparent);color:var(--fg)}.zx-feedback-btn-primary:hover{background:color-mix(in srgb,var(--accent) 26%,transparent)}.zx-feedback-btn:disabled{opacity:.55;cursor:default}.zx-feedback-error{font-size:.78rem;color:#e5484d}.zx-feedback-done{display:grid;place-items:center;padding:2.4rem 1rem;font-size:.95rem;color:var(--fg)}@keyframes zx-feedback-in{0%{opacity:0}to{opacity:1}}html[data-apps="1"] .zx-footer,html[data-apps="1"] .zx-main,html[data-apps="1"] .zx-topbar{padding-right:var(--zx-dock-w)}html[data-layout=sidebar][data-apps="1"] .zx-topbar{padding-right:1rem}html[data-apps="1"] .zx-statswidget-btn,html[data-apps="1"] .zx-statswidget-pop,html[data-apps="1"] .zx-statuswidget{right:calc(var(--zx-dock-w) + var(--zx-dock-inset-r, 0px) + 1rem)}html[data-apps="1"] .zxchat,html[data-apps="1"] .zxchat-fab{right:calc(var(--zx-dock-w) + 20px)}@media (max-width:820px){.zx-appdock{top:auto;right:0;left:0;bottom:0;width:auto;flex-direction:row;justify-content:flex-start;align-items:center;gap:.5rem;padding:.5rem .7rem;border-left:none;border-top:1px solid var(--line);overflow-x:auto;overflow-y:hidden}.zx-appdock-item{width:40px;height:40px}.zx-appdock-top{position:static;order:999;width:auto;height:auto;margin-left:auto;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:auto}.zx-appdock-feedback{margin-top:0}.zx-appdock-feedback,.zx-appdock-img,.zx-appdock-reset{width:40px;height:40px}.zx-appdock-reset{margin-top:0;margin-left:.2rem}.zx-appdock-sep{width:1px;height:22px;margin:0 .2rem}.zx-appdock-item[data-drop=before]{box-shadow:inset 3px 0 0 var(--accent)}.zx-appdock-item[data-drop=after]{box-shadow:inset -3px 0 0 var(--accent)}html[data-apps="1"] .zx-main{padding-right:0;padding-bottom:var(--zx-dock-h)}html[data-apps="1"] .zx-footer{padding-right:0;padding-bottom:calc(1.4rem + var(--zx-dock-h) + env(safe-area-inset-bottom))}html[data-apps="1"] .zx-topbar{padding-right:0}html[data-apps="1"] .zxchat-fab{right:16px;bottom:calc(var(--zx-dock-h) + 16px + env(safe-area-inset-bottom))}html[data-apps="1"] .zxchat{right:0;bottom:var(--zx-dock-h)}:root{--zx-topbar-h:9.5rem}html[data-apps="1"] .zx-statswidget-btn,html[data-apps="1"] .zx-statswidget-pop,html[data-apps="1"] .zx-statuswidget{right:1rem}.zx-tabs{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}}@media (max-width:820px){.zx-tabs::-webkit-scrollbar{display:none}.zx-tabs .zx-tab{flex:0 0 auto;white-space:nowrap}.zx-tabs.is-inline{flex-wrap:nowrap}.zx-sec-head{flex-wrap:wrap}.zx-sec-head .zx-tabs{max-width:100%}}.zx-mockpop{width:min(300px,calc(100vw - 2rem))}.zx-apppanel{position:fixed;z-index:950;display:flex;flex-direction:column;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line-strong);border-radius:12px;box-shadow:0 30px 80px -30px rgba(0,0,0,.85);overflow:hidden}.zx-apppanel[data-narrow]{inset:0;border-radius:0;border:none}.zx-apppanel:not([data-active]){visibility:hidden;pointer-events:none}.zx-apppanel-bar{display:flex;align-items:center;gap:8px;flex:0 0 auto;padding:8px 10px;border-bottom:1px solid var(--line);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.zx-apppanel-bar:active{cursor:grabbing}.zx-apppanel-ico{display:grid;place-items:center;width:20px;height:20px;flex:0 0 auto;border-radius:6px;background:color-mix(in srgb,var(--bg-2) 78%,transparent);border:1px solid var(--line);font-size:.7rem;font-weight:700;color:var(--accent);overflow:hidden}.zx-apppanel-ico img{width:100%;height:100%;object-fit:contain}.zx-apppanel-name{font-size:.8rem;font-weight:600}.zx-apppanel-spacer{flex:1 1}.zx-apppanel-btn{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;color:var(--fg-dim);text-decoration:none;cursor:pointer}.zx-apppanel-btn:hover{background:color-mix(in srgb,var(--fg) 10%,transparent);color:var(--fg)}.zx-apppanel-body{position:relative;flex:1 1;min-height:0;background:var(--bg-2)}.zx-apppanel-body iframe{width:100%;height:100%;border:0;display:block;background:#fff}.zx-apppanel-loading{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:1rem;text-align:center;background:color-mix(in srgb,var(--bg) 90%,transparent);color:var(--fg-dim);font-size:.75rem}.zx-apppanel-spin{width:22px;height:22px;border-radius:50%;border:2px solid var(--line-strong);border-top-color:var(--accent);animation:zx-apppanel-spin .7s linear infinite}@keyframes zx-apppanel-spin{to{transform:rotate(1turn)}}.zx-apppanel-hint a{color:var(--accent)}.zx-apppanel-grip{position:absolute;right:0;bottom:0;width:16px;height:16px;cursor:nwse-resize;touch-action:none}.zx-apppanel-grip:after{content:"";position:absolute;right:4px;bottom:4px;width:6px;height:6px;border-right:2px solid var(--line-strong);border-bottom:2px solid var(--line-strong)}