@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.host[data-v-9ba3e3d7]{z-index:100;pointer-events:none;justify-items:center;gap:10px;width:max-content;max-width:calc(100vw - 32px);display:grid;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}@media (width<=760px){.host[data-v-9ba3e3d7]{bottom:92px}}.toast[data-v-9ba3e3d7]{background:var(--ink);color:var(--bg);box-shadow:var(--shadow-lg);border-radius:14px;align-items:center;gap:10px;padding:12px 18px;font-size:14px;font-weight:600;display:flex}.toast.ok svg[data-v-9ba3e3d7]{color:#4ade80}.toast.danger svg[data-v-9ba3e3d7]{color:#ff8a80}.t-enter-active[data-v-9ba3e3d7],.t-leave-active[data-v-9ba3e3d7]{transition:all .4s var(--ease)}.t-enter-from[data-v-9ba3e3d7]{opacity:0;transform:translateY(16px)scale(.96)}.t-leave-to[data-v-9ba3e3d7]{opacity:0;transform:translateY(8px)scale(.98)}.t-move[data-v-9ba3e3d7]{transition:transform .4s var(--ease)}.support[data-v-e9d6ce54]{background:var(--surface);width:min(480px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--ink);box-shadow:var(--shadow-lg);border:0;border:1px solid var(--line);animation:sp-in-e9d6ce54 .35s var(--ease);border-radius:24px;margin:auto;padding:0;overflow:auto}.support[data-v-e9d6ce54]::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0408148c;animation:.3s sp-fade-e9d6ce54}@keyframes sp-in-e9d6ce54{0%{opacity:0;transform:translateY(16px)scale(.97)}}@keyframes sp-fade-e9d6ce54{0%{opacity:0}}.sp-panel[data-v-e9d6ce54]{text-align:center;padding:36px 32px 32px;position:relative}.sp-x[data-v-e9d6ce54]{appearance:none;background:var(--bg-2);color:var(--ink);cursor:pointer;width:38px;height:38px;transition:transform .3s var(--ease), background-color .2s;border:0;border-radius:12px;place-items:center;display:grid;position:absolute;top:16px;right:16px}.sp-x[data-v-e9d6ce54]:hover{background:var(--line);transform:rotate(90deg)}h2[data-v-e9d6ce54]{letter-spacing:-.02em;justify-content:center;align-items:center;gap:10px;font-size:26px;display:flex}h2 svg[data-v-e9d6ce54]{color:var(--accent)}.sp-lead[data-v-e9d6ce54]{margin:10px 0 24px;font-size:16px}.sp-qr[data-v-e9d6ce54]{border:1px solid var(--line);background:#fff;border-radius:16px;place-items:center;width:260px;height:260px;margin:0 auto 24px;display:grid;overflow:hidden}.sp-qr.loading[data-v-e9d6ce54]{background:var(--bg-2)}.sp-qr img[data-v-e9d6ce54]{object-fit:contain;width:100%;height:100%;display:block}.sp-qr.loading img[data-v-e9d6ce54]{opacity:0}.sp-empty[data-v-e9d6ce54]{color:var(--muted);background:var(--bg-2);align-content:center;justify-items:center;gap:8px;width:100%;height:100%;padding:24px;display:grid}.sp-empty strong[data-v-e9d6ce54]{color:var(--ink);font-size:16px}.sp-tips[data-v-e9d6ce54]{text-align:left;color:var(--muted);gap:10px;margin:0;padding:0 0 0 20px;font-size:15px;line-height:1.65;list-style:outside;display:grid}@media (width<=480px){.sp-panel[data-v-e9d6ce54]{padding:32px 20px 24px}}.maint[data-v-3f29bb05]{text-align:center;justify-items:center;gap:14px;padding:clamp(56px,10vw,120px) 16px;display:grid}.ico[data-v-3f29bb05]{background:var(--accent-soft);width:72px;height:72px;color:var(--accent);border-radius:20px;place-items:center;display:grid}.msg[data-v-3f29bb05]{max-width:34em;font-size:18px}.small[data-v-3f29bb05]{max-width:36em}.skip[data-v-5d37a701]{z-index:200;background:var(--ink);color:var(--bg);border-radius:10px;padding:10px 16px;transition:top .2s;position:fixed;top:-60px;left:16px}.skip[data-v-5d37a701]:focus{top:12px}.top[data-v-5d37a701]{z-index:50;background:var(--glass);-webkit-backdrop-filter:blur(16px)saturate(1.6);border-bottom:1px solid #0000;transition:border-color .3s,box-shadow .3s;position:sticky;top:0}.top.scrolled[data-v-5d37a701]{border-bottom-color:var(--line);box-shadow:0 6px 24px #0a12260f}.bar[data-v-5d37a701]{align-items:center;gap:24px;min-height:80px;display:flex}.brand[data-v-5d37a701]{letter-spacing:-.02em;color:var(--ink);align-items:center;gap:12px;font-size:22px;font-weight:800;display:inline-flex}.brand[data-v-5d37a701]:hover{text-decoration:none}.mark[data-v-5d37a701]{background:var(--grad);width:38px;height:38px;transition:transform .5s var(--ease);border-radius:12px;place-items:center;display:grid;position:relative;box-shadow:0 2px 6px #0a0a0a2e}.mark i[data-v-5d37a701]{border:2.5px solid var(--accent-ink);border-radius:4px;width:12px;height:12px;transform:rotate(45deg)}.brand:hover .mark[data-v-5d37a701]{transform:rotate(90deg)scale(1.06)}.pills[data-v-5d37a701]{background:var(--bg-2);border:1px solid var(--line);border-radius:14px;gap:2px;margin:0 auto 0 8px;padding:4px;display:flex;position:relative}.pill-ind[data-v-5d37a701]{background:var(--surface);box-shadow:var(--shadow-sm), 0 0 0 1px var(--line);opacity:0;border-radius:10px;position:absolute;top:4px;bottom:4px;left:0}.pill-ind.show[data-v-5d37a701]{opacity:1}.pill-ind.ready[data-v-5d37a701]{transition:transform .4s var(--ease), width .4s var(--ease), opacity .2s}.pills a[data-v-5d37a701]{color:var(--muted);border-radius:10px;align-items:center;gap:8px;padding:9px 20px;font-size:15.5px;font-weight:600;transition:color .2s;display:inline-flex;position:relative}.pills a[data-v-5d37a701]:hover{color:var(--ink);text-decoration:none}.pills a.active[data-v-5d37a701]{color:var(--ink)}.tools[data-v-5d37a701]{align-items:center;gap:8px;display:flex}.icon-btn[data-v-5d37a701]{appearance:none;border:1px solid var(--line);min-width:46px;height:46px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:600;transition:background-color .2s,border-color .2s,transform .15s;display:inline-flex}.icon-btn[data-v-5d37a701]:hover{background:var(--surface);border-color:var(--line-2)}.icon-btn[data-v-5d37a701]:active{transform:scale(.94)}.swap[data-v-5d37a701]{width:18px;height:18px;display:block;position:relative}.swap svg[data-v-5d37a701]{transition:transform .6s var(--ease), opacity .4s;position:absolute;inset:0}.swap .moon[data-v-5d37a701]{opacity:0;transform:rotate(-90deg)scale(.4)}.swap.dark .sun[data-v-5d37a701]{opacity:0;transform:rotate(90deg)scale(.4)}.swap.dark .moon[data-v-5d37a701]{opacity:1;transform:none}.menuwrap[data-v-5d37a701]{position:relative}.menu[data-v-5d37a701]{background:var(--surface);border:1px solid var(--line);width:min(340px,100vw - 32px);box-shadow:var(--shadow-lg);transform-origin:100% 0;border-radius:16px;padding:10px;position:absolute;top:calc(100% + 10px);right:0}.menu-title[data-v-5d37a701]{letter-spacing:.06em;color:var(--muted);padding:6px 10px 8px;font-size:12px;font-weight:700}.menu .empty[data-v-5d37a701]{padding:8px 10px 12px}.menu ul[data-v-5d37a701]{margin:0;padding:0;list-style:none}.menu li[data-v-5d37a701]{border-radius:10px;align-items:center;display:flex}.menu li[data-v-5d37a701]:hover{background:var(--bg-2)}.menu li a[data-v-5d37a701]{color:var(--ink);flex:1;align-items:center;gap:10px;padding:10px;display:flex}.menu li a[data-v-5d37a701]:hover{text-decoration:none}.menu li a span[data-v-5d37a701]{gap:2px;display:grid}.menu li small[data-v-5d37a701]{font-size:12.5px}.menu .x[data-v-5d37a701]{appearance:none;color:var(--muted);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:8px;margin-right:4px;padding:8px;transition:opacity .2s}.menu li:hover .x[data-v-5d37a701],.menu .x[data-v-5d37a701]:focus-visible{opacity:1}.menu .x[data-v-5d37a701]:hover{color:var(--danger)}.pop-enter-active[data-v-5d37a701],.pop-leave-active[data-v-5d37a701]{transition:opacity .2s, transform .3s var(--ease)}.pop-enter-from[data-v-5d37a701],.pop-leave-to[data-v-5d37a701]{opacity:0;transform:translateY(-8px)scale(.96)}.page-enter-active[data-v-5d37a701]{transition:opacity .45s var(--ease), transform .5s var(--ease)}.page-leave-active[data-v-5d37a701]{transition:opacity .15s}.page-enter-from[data-v-5d37a701]{opacity:0;transform:translateY(14px)}.page-leave-to[data-v-5d37a701]{opacity:0}main[data-v-5d37a701]{min-height:60vh;padding-bottom:clamp(48px,6vw,80px)}.tabbar[data-v-5d37a701]{display:none}@media (width<=860px){.pills[data-v-5d37a701]{display:none}.bar[data-v-5d37a701]{justify-content:space-between}.icon-btn .lbl[data-v-5d37a701]{display:none}.tabbar[data-v-5d37a701]{z-index:50;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));background:var(--glass);-webkit-backdrop-filter:blur(18px)saturate(1.6);border:1px solid var(--line);box-shadow:var(--shadow-lg);border-radius:20px;grid-template-columns:repeat(5,1fr);padding:6px;display:grid;position:fixed}.tabbar a[data-v-5d37a701]{white-space:nowrap;color:var(--muted);border-radius:14px;justify-items:center;gap:3px;padding:8px 0;font-size:11.5px;font-weight:600;transition:color .2s,background-color .25s;display:grid;position:relative}.tabbar a[data-v-5d37a701]:hover{text-decoration:none}@media (width<=380px){.tabbar a[data-v-5d37a701]{font-size:10.5px}}.tabbar a.active[data-v-5d37a701]{color:var(--accent);background:var(--accent-soft)}.tabbar .pdot[data-v-5d37a701]{width:7px;height:7px;position:absolute;top:8px;left:calc(50% + 8px)}.foot[data-v-5d37a701]{padding-bottom:120px!important}}.foot[data-v-5d37a701]{background:var(--hero-bg);color:var(--hero-muted);margin-top:0;padding:96px 0 56px;position:relative;overflow:hidden}.foot>.container[data-v-5d37a701]{position:relative}.foot a[data-v-5d37a701]{color:var(--hero-ink)}.cols[data-v-5d37a701]{border-bottom:1px solid var(--hero-line);grid-template-columns:2.2fr 1fr 1fr;gap:40px;padding-bottom:56px;display:grid}@media (width<=720px){.cols[data-v-5d37a701]{grid-template-columns:1fr 1fr}.about[data-v-5d37a701]{grid-column:1/-1}}.brand.light[data-v-5d37a701]{color:var(--hero-ink)}.about p[data-v-5d37a701]{max-width:26em;margin-top:20px;font-size:17px}.foot .livechips[data-v-5d37a701]{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.foot .livechips a[data-v-5d37a701]{opacity:1}.livechips a[data-v-5d37a701]{border:1px solid var(--hero-line);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;transition:background-color .2s,border-color .2s;display:inline-flex}.livechips a[data-v-5d37a701]:hover{background:#ffffff12;border-color:#ffffff4d;text-decoration:none}.foot h4[data-v-5d37a701]{letter-spacing:.08em;color:var(--hero-ink);margin:0 0 20px;font-size:14px}.foot ul[data-v-5d37a701]{gap:14px;margin:0;padding:0;font-size:16px;list-style:none;display:grid}.foot ul a[data-v-5d37a701],.foot ul .linkbtn[data-v-5d37a701]{opacity:.85;transition:opacity .2s}.foot ul .linkbtn[data-v-5d37a701]{color:var(--hero-ink);font-size:inherit}.foot ul a[data-v-5d37a701]:hover,.foot ul .linkbtn[data-v-5d37a701]:hover{opacity:1}.legal[data-v-5d37a701]{gap:6px;max-width:62em;padding-top:30px;display:grid}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--bg-2:#f6f8fb;--surface:#fff;--surface-2:#f6f8fb;--ink:#1f2329;--ink-2:#51565d;--muted:#646a73;--line:#eceef1;--line-2:#dee0e3;--brand:#2b6bf5;--brand-2:#2b6bf5;--accent:#2b6bf5;--accent-hover:#1a52d6;--accent-ink:#fff;--accent-soft:#eaf1ff;--link:#2b6bf5;--grad:#2b6bf5;--grad-text:#2b6bf5;--hero-bg:#0f1628;--hero-ink:#f3f6fc;--hero-muted:#a3adc2;--hero-line:#ffffff24;--warn:#7a4f00;--warn-soft:#fcf1d6;--danger:#b3261e;--danger-soft:#fde8e6;--ok:#17663a;--ok-soft:#dff3e8;--bar-o:#3fae6a;--bar-d:#e0b43a;--bar-p:#e5832f;--bar-m:#d4443a;--bar-t:#5b8def;--bar-u:#8d9096;--bar-n:#e8e8e4;--radius:18px;--radius-sm:10px;--shadow-sm:0 2px 8px #1f23290f;--shadow:0 2px 8px #1f23290f, 0 10px 28px #1f232912;--shadow-lg:0 2px 6px #1f23290f, 0 18px 44px #2b6bf524;--ring:0 0 0 4px #2b6bf52e;--glass:#ffffffd1;--ease:cubic-bezier(.22, 1, .36, 1)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e1219;--bg-2:#131925;--surface:#161c28;--surface-2:#1b2230;--ink:#eef1f6;--ink-2:#c4cad6;--muted:#8f98a8;--line:#242c3b;--line-2:#323b4d;--accent:#4d8bff;--accent-hover:#75a3ff;--accent-ink:#0b1220;--accent-soft:#1a2845;--link:#6c9eff;--brand:#4d8bff;--grad:#4d8bff;--grad-text:#4d8bff;--hero-bg:#070b14;--warn:#e6b450;--warn-soft:#302612;--danger:#ff8a80;--danger-soft:#3a1b1d;--ok:#6fd391;--ok-soft:#12301f;--bar-o:#3aa35f;--bar-d:#c9a23a;--bar-p:#d27a2c;--bar-m:#e5594e;--bar-t:#5b8def;--bar-u:#7b7f86;--bar-n:#262625;--shadow-sm:0 1px 2px #0006;--shadow:0 1px 2px #0006, 0 10px 30px #00000059;--shadow-lg:0 2px 4px #0006, 0 22px 56px #0000008c;--ring:0 0 0 4px #4d8bff47;--glass:#0e1219d1}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:100px}html.theme-anim *,html.theme-anim :before,html.theme-anim :after{transition:background-color .35s,border-color .35s,color .35s,box-shadow .35s!important}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font:17px/1.7 -apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Segoe UI,Inter Variable,sans-serif}body:before{content:"";z-index:-1;pointer-events:none;background:0 0;position:fixed;inset:0}:root[data-theme=dark] body:before{background:0 0}::selection{background:#2b6bf538}a{color:var(--link);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}h1,h2,h3,h4{letter-spacing:-.02em;text-wrap:balance;margin:0;line-height:1.2}h1{letter-spacing:-.035em;font-size:clamp(38px,6vw,76px);font-weight:800;line-height:1.08}h2{letter-spacing:-.03em;font-size:clamp(30px,4.2vw,56px);font-weight:800;line-height:1.12}h3{font-size:20px;font-weight:700}.page-title{font-size:clamp(34px,4.6vw,56px)}p{text-wrap:pretty;margin:0}code,pre,textarea.mono,.mono{font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,monospace}.num{font-variant-numeric:tabular-nums}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 clamp(20px,5vw,64px)}.narrow{max-width:820px}.page{padding-top:clamp(40px,6vw,88px)}.page-lead{max-width:44em;margin:12px 0 32px;font-size:20px}.section{margin-top:clamp(56px,6.5vw,96px)}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);align-items:center;gap:8px;margin-bottom:18px;font-size:14px;font-weight:700;display:inline-flex}.section-head{max-width:44em;margin-bottom:clamp(24px,3.2vw,44px)}.section-head p{margin-top:20px;font-size:clamp(17px,1.5vw,20px)}.stack>*+*{margin-top:16px}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.grow{flex:auto}.muted{color:var(--muted)}.small{font-size:14px}.center{text-align:center}.grad-text{background:var(--grad-text);color:#0000;-webkit-background-clip:text;background-clip:text}:root[data-theme=dark] .grad-text{background:#6c9eff;-webkit-background-clip:text;background-clip:text}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:28px}.card h2{font-size:26px}.card.hover{transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .25s}.card.hover:hover{box-shadow:var(--shadow-lg);border-color:var(--line-2);transform:translateY(-4px)}.spot{position:relative;overflow:hidden}.spot:before{content:"";pointer-events:none;opacity:0;background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%), #2b6bf50d, transparent 60%);transition:opacity .3s;position:absolute;inset:0}:root[data-theme=dark] .spot:before{background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%), #ffffff12, transparent 60%)}.spot:hover:before{opacity:1}.spot>*{position:relative}.btn{appearance:none;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;min-height:46px;transition:transform .18s var(--ease), box-shadow .25s, background-color .2s, border-color .2s, filter .2s;-webkit-tap-highlight-color:transparent;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 22px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex;position:relative}.btn:hover:not(:disabled){border-color:var(--muted);box-shadow:var(--shadow);text-decoration:none;transform:translateY(-1px)}.btn:active:not(:disabled){box-shadow:none;transform:translateY(0)scale(.97)}.btn:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:none;overflow:hidden}.btn.primary:after{content:"";background:linear-gradient(100deg,#0000 30%,#ffffff59 50%,#0000 70%);position:absolute;inset:0;transform:translate(-120%)}.btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:var(--shadow)}.btn.primary:after{display:none}.btn.danger{color:var(--danger)}.btn.sm{border-radius:9px;min-height:38px;padding:6px 16px;font-size:14px}.btn.lg{border-radius:12px;min-height:64px;padding:14px 38px;font-size:18px}.btn.block{width:100%}.btn.ghost{background:0 0}.btn.loading{pointer-events:none}.btn .arrow{transition:transform .25s var(--ease)}.btn:hover:not(:disabled) .arrow{transform:translate(4px)}.spin{border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}label{margin-bottom:8px;font-size:14px;font-weight:600;display:block}input,textarea,select{width:100%;font:inherit;color:var(--ink);background:var(--surface-2);border:1px solid var(--line-2);border-radius:12px;min-height:48px;padding:11px 14px;transition:border-color .2s,box-shadow .2s,background-color .2s}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.7}input:hover,textarea:hover,select:hover{border-color:var(--muted)}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:var(--ring);background:var(--surface);outline:none}textarea{resize:vertical;min-height:150px}input[type=checkbox]{width:18px;height:18px;min-height:18px;accent-color:var(--brand);padding:0}.check{align-items:flex-start;gap:10px;font-size:14px;font-weight:400;display:flex}.badge{background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 11px;font-size:13px;font-weight:600;display:inline-flex}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.idle{background:var(--bg-2);color:var(--muted)}.alert{background:var(--accent-soft);color:var(--ink);animation:pop .35s var(--ease);border-radius:12px;padding:14px 16px;font-size:14px}.alert.warn{background:var(--warn-soft)}.alert.danger{background:var(--danger-soft);color:var(--danger)}.alert.ok{background:var(--ok-soft)}.pdot{background:var(--bar-u);border-radius:999px;flex:none;width:9px;height:9px;display:inline-block;position:relative}.pdot.ok{background:var(--bar-o)}.pdot.warn{background:var(--bar-d)}.pdot.bad{background:var(--bar-m)}.pdot.info{background:var(--bar-t)}.pdot.ok:after,.pdot.bad:after{content:"";border-radius:inherit;background:inherit;animation:ping 2.2s var(--ease) infinite;position:absolute;inset:0}@keyframes ping{0%{opacity:.6;transform:scale(1)}80%,to{opacity:0;transform:scale(2.8)}}.reveal{opacity:0;transition:opacity .7s var(--ease) var(--d,0s), transform .7s var(--ease) var(--d,0s);transform:translateY(22px)}.reveal.in{opacity:1;transform:none}@keyframes pop{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:none}}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.skel{background:var(--bg-2);border-radius:10px;position:relative;overflow:hidden}.skel:after{content:"";background:linear-gradient(90deg,#0000,#ffffff80,#0000);animation:1.4s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}:root[data-theme=dark] .skel:after{background:linear-gradient(90deg,#0000,#ffffff12,#0000)}@keyframes shimmer{to{transform:translate(100%)}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}.linkbtn{appearance:none;font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0}.linkbtn:hover{text-decoration:underline}
