:root{--paper:#f6f5f1;--paper-2:#eceae4;--white:#ffffff;--ink:#1f2233;--ink-2:#5a5e72;--ink-3:#8e91a3;--line:#dcdad3;--line-2:#c9c7bf;--accent:#3b4bd1;--accent-hover:#3241bd;--on-accent:#ffffff;--accent-soft:#e9ebfa;--pink:#d6457f;--pink-ink:#b2305f;--yellow:#f2d675;--yellow-soft:#fbf1cc;--red:#c8372d;--green:#1d7f57;--side:#1d2031;--on-side:#eceef6;--strong:#1f2233;--on-strong:#f6f5f1;--shadow:0 1px 2px rgba(20,22,40,.06),0 4px 16px rgba(20,22,40,.05);--shadow-lg:0 10px 40px rgba(20,22,40,.16);--display:"Bricolage Grotesque Variable","Onest Variable",ui-sans-serif,system-ui,sans-serif;--body:"Onest Variable",ui-sans-serif,system-ui,sans-serif;--r:8px;--r-lg:14px;--hair:1px solid color-mix(in srgb,var(--line) 70%,transparent);color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#121420;--paper-2:#1a1d2b;--white:#181b28;--ink:#e8e9f1;--ink-2:#a8abbd;--ink-3:#737789;--line:#2a2e3f;--line-2:#3a3f53;--accent:#8d9cff;--accent-hover:#a2afff;--on-accent:#10132a;--accent-soft:#23284a;--pink:#e46b9b;--pink-ink:#f08db4;--yellow:#d9bd5c;--yellow-soft:#3a3320;--red:#ef6a5f;--green:#4cc28f;--side:#0c0e16;--strong:#e8e9f1;--on-strong:#121420;--shadow:0 1px 2px rgba(0,0,0,.3);--shadow-lg:0 12px 40px rgba(0,0,0,.5);color-scheme:dark}}:root[data-theme=dark]{--paper:#121420;--paper-2:#1a1d2b;--white:#181b28;--ink:#e8e9f1;--ink-2:#a8abbd;--ink-3:#737789;--line:#2a2e3f;--line-2:#3a3f53;--accent:#8d9cff;--accent-hover:#a2afff;--on-accent:#10132a;--accent-soft:#23284a;--pink:#e46b9b;--pink-ink:#f08db4;--yellow:#d9bd5c;--yellow-soft:#3a3320;--red:#ef6a5f;--green:#4cc28f;--side:#0c0e16;--strong:#e8e9f1;--on-strong:#121420;--shadow:0 1px 2px rgba(0,0,0,.3);--shadow-lg:0 12px 40px rgba(0,0,0,.5);color-scheme:dark}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--body);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--display);font-weight:650;letter-spacing:-.02em;line-height:1.08;margin:0}h2{font-size:20px}h3{font-size:17px}p{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}::selection{background:var(--accent-soft)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.small{font-size:14px}.tiny{font-size:12.5px}.right{text-align:right}.ellipsis,.nowrap{white-space:nowrap}.ellipsis{overflow:hidden;text-overflow:ellipsis}.danger-text{color:var(--red)}.ok-text{color:var(--green)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border:1px solid var(--line-2);background:var(--white);color:var(--ink);border-radius:var(--r);font-weight:550;font-size:15px;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}.btn,.btn:hover{text-decoration:none}.btn:hover{background:var(--paper-2)}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ink{background:var(--strong);border-color:var(--strong);color:var(--on-strong)}.btn-ink:hover{background:color-mix(in srgb,var(--strong) 88%,var(--accent))}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover{background:var(--paper-2)}.btn-danger{color:var(--red);border-color:color-mix(in srgb,var(--red) 45%,transparent)}.btn-danger:hover{background:color-mix(in srgb,var(--red) 8%,transparent)}.btn-sm{height:32px;padding:0 11px;font-size:14px}.btn-xs{height:26px;padding:0 8px;font-size:13px;border-radius:6px}.btn-block{width:100%}.btn-icon{width:32px;padding:0}.field{display:grid;grid-gap:6px;gap:6px;min-width:0}.field>span{font-size:14px;font-weight:550}.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea,.input{width:100%;height:42px;padding:0 12px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--white);color:var(--ink);transition:border-color .12s,box-shadow .12s}.field textarea,textarea.input{height:auto;min-height:96px;padding:10px 12px;resize:vertical;line-height:1.5}.field input:focus,.field select:focus,.field textarea:focus,.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.input-sm{height:34px;padding:0 9px;font-size:14px}.hint{color:var(--ink-2)}.err,.hint{font-size:13px}.err{color:var(--red)}.switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:15px}.switch input[role=switch]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:38px;height:22px;border-radius:11px;background:var(--line-2);position:relative;cursor:pointer;transition:background .15s;flex:none;margin:0}.switch input[role=switch]:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 2px rgba(0,0,0,.2)}.switch input[role=switch]:checked{background:var(--accent)}.switch input[role=switch]:checked:after{transform:translateX(16px)}input[type=checkbox]:not([role=switch]){-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border:1.5px solid var(--line-2);border-radius:5px;background:var(--white);cursor:pointer;display:inline-grid;place-content:center;margin:0;flex:none}input[type=checkbox]:not([role=switch]):checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:not([role=switch]):checked:after{content:"";width:10px;height:10px;background:var(--on-accent);-webkit-clip-path:polygon(14% 52%,0 66%,38% 100%,100% 22%,86% 8%,38% 72%);clip-path:polygon(14% 52%,0 66%,38% 100%,100% 22%,86% 8%,38% 72%)}.seg{display:inline-flex;background:var(--paper-2);border-radius:var(--r);padding:3px;gap:2px;flex-wrap:wrap}.seg button{border:0;background:transparent;height:32px;padding:0 12px;border-radius:6px;font-size:14px;font-weight:550;color:var(--ink-2);cursor:pointer}.seg button[aria-pressed=true]{background:var(--white);color:var(--ink);box-shadow:var(--shadow)}.chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:12px;font-size:12.5px;font-weight:600;background:var(--paper-2);color:var(--ink-2);white-space:nowrap}.chip-pub{background:var(--accent-soft);color:var(--accent)}.chip-pink{background:color-mix(in srgb,var(--pink) 14%,transparent);color:var(--pink-ink)}.chip-live{background:var(--yellow-soft);color:var(--ink)}.chip-live:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--red);animation:blink 1.2s infinite}.chip-ok{background:color-mix(in srgb,var(--green) 14%,transparent);color:var(--green)}.chip-bad{background:color-mix(in srgb,var(--red) 12%,transparent);color:var(--red)}.chip-mute{background:transparent;border:1px solid var(--line-2);color:var(--ink-3)}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:currentColor;flex:none}@keyframes blink{50%{opacity:.25}}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--white);box-shadow:var(--shadow)}.table{width:100%;border-collapse:collapse;font-size:15px}.table th{text-align:left;font-size:13px;font-weight:600;color:var(--ink-2);padding:10px 12px;white-space:nowrap;background:color-mix(in srgb,var(--paper-2) 35%,transparent)}.table td,.table th{border-bottom:var(--hair)}.table td{padding:11px 12px;vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr:hover td{background:color-mix(in srgb,var(--paper-2) 50%,transparent)}.table .num,.table th.num{text-align:right}.table tr.click{cursor:pointer}.table tr.section td{background:var(--paper-2);font-weight:600;font-size:13px;color:var(--ink-2);padding:7px 12px}.table tfoot td{font-weight:600;border-top:1px solid var(--line)}dialog.modal{border:0;padding:0;border-radius:var(--r-lg);width:min(560px,calc(100vw - 24px));max-height:calc(100vh - 40px);background:var(--white);color:var(--ink);box-shadow:var(--shadow-lg)}dialog.modal.wide{width:min(820px,calc(100vw - 24px))}dialog.modal::-webkit-backdrop{background:rgba(15,17,30,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}dialog.modal::backdrop{background:rgba(15,17,30,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 0;gap:12px}.modal-body{padding:16px 22px;display:grid;grid-gap:14px;gap:14px}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:0 22px 20px;flex-wrap:wrap}.toasts{position:fixed;right:16px;bottom:16px;display:grid;grid-gap:8px;gap:8px;z-index:1000;max-width:calc(100vw - 32px)}.toast{background:var(--strong);color:var(--on-strong);padding:11px 16px;border-radius:var(--r);box-shadow:var(--shadow-lg);font-size:14.5px;animation:up .18s ease-out}.toast.error{background:var(--red);color:#fff}@keyframes up{0%{transform:translateY(8px);opacity:0}}.empty{text-align:center;padding:44px 20px;display:grid;grid-gap:8px;gap:8px;justify-items:center}.empty h3{font-size:19px}.empty p{color:var(--ink-2);max-width:44ch}.empty .btn{margin-top:8px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.row-top{align-items:flex-start}.stack{display:grid;grid-gap:14px;gap:14px}.stack-sm{display:grid;grid-gap:8px;gap:8px}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px}.grid2,.grid3{display:grid;gap:14px}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}@media (max-width:720px){.grid2,.grid3,.grid4{grid-template-columns:1fr}}.spacer{flex:1 1}.codebox{display:flex;gap:8px;align-items:center}.codebox input{flex:1 1;min-width:0;height:38px;padding:0 10px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--paper);font:13.5px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink)}.spinner{width:16px;height:16px;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(1turn)}}hr.sep{border:0;border-top:var(--hair);margin:4px 0}.logo{display:inline-flex;align-items:center;gap:10px;font:650 21px/1 var(--display);letter-spacing:-.03em;color:var(--ink)}.logo,.logo:hover{text-decoration:none}.logo-mark{width:24px;height:17px;border-radius:3px;background:linear-gradient(90deg,var(--accent) 0 64%,var(--pink) 64% 100%);position:relative;flex:none;-webkit-mask:radial-gradient(circle 3.5px at 64% 0,transparent 98%,#000),radial-gradient(circle 3.5px at 64% 100%,transparent 98%,#000);-webkit-mask-composite:source-in;mask-composite:intersect}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}.cookie{position:fixed;left:16px;bottom:16px;max-width:420px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:16px 18px;display:grid;grid-gap:12px;gap:12px;z-index:900;font-size:14.5px}@media (max-width:520px){.cookie{left:8px;right:8px;bottom:8px}}@media print{.no-print{display:none!important}body{background:#fff}body:has(dialog.modal[open]) *{visibility:hidden}dialog.modal[open],dialog.modal[open] *{visibility:visible}dialog.modal[open]{position:absolute;inset:0;width:100%;max-height:none;box-shadow:none;border-radius:0}dialog.modal[open] .modal-foot,dialog.modal[open] .modal-head{display:none}}.chip-btn{border:1px solid var(--line-2);cursor:pointer;font:inherit;font-size:13px;height:28px}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/bricolage-grotesque-vietnamese-wght-normal.96a5d80f.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/bricolage-grotesque-latin-ext-wght-normal.232ded7b.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/bricolage-grotesque-latin-wght-normal.3e340e57.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/onest-cyrillic-ext-wght-normal.8860201a.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/onest-cyrillic-wght-normal.20151429.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/onest-math-wght-normal.cad38c99.woff2) format("woff2-variations");unicode-range:u+0302-0303,u+0305,u+0307-0308,u+0310,u+0312,u+0315,u+031a,u+0326-0327,u+032c,u+032f-0330,u+0332-0333,u+0338,u+033a,u+0346,u+034d,u+0391-03a1,u+03a3-03a9,u+03b1-03c9,u+03d1,u+03d5-03d6,u+03f0-03f1,u+03f4-03f5,u+2016-2017,u+2034-2038,u+203c,u+2040,u+2043,u+2047,u+2050,u+2057,u+205f,u+2070-2071,u+2074-208e,u+2090-209c,u+20d0-20dc,u+20e1,u+20e5-20ef,u+2100-2112,u+2114-2115,u+2117-2121,u+2123-214f,u+2190,u+2192,u+2194-21ae,u+21b0-21e5,u+21f1-21f2,u+21f4-2211,u+2213-2214,u+2216-22ff,u+2308-230b,u+2310,u+2319,u+231c-2321,u+2336-237a,u+237c,u+2395,u+239b-23b7,u+23d0,u+23dc-23e1,u+2474-2475,u+25af,u+25b3,u+25b7,u+25bd,u+25c1,u+25ca,u+25cc,u+25fb,u+266d-266f,u+27c0-27ff,u+2900-2aff,u+2b0e-2b11,u+2b30-2b4c,u+2bfe,u+3030,u+ff5b,u+ff5d,u+1d400-1d7ff,u+1ee??}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/onest-symbols-wght-normal.d64d8e2d.woff2) format("woff2-variations");unicode-range:u+0001-000c,u+000e-001f,u+007f-009f,u+20dd-20e0,u+20e2-20e4,u+2150-218f,u+2190,u+2192,u+2194-2199,u+21af,u+21e6-21f0,u+21f3,u+2218-2219,u+2299,u+22c4-22c6,u+2300-243f,u+2440-244a,u+2460-24ff,u+25a0-27bf,u+28??,u+2921-2922,u+2981,u+29bf,u+29eb,u+2b??,u+4dc0-4dff,u+fff9-fffb,u+10140-1018e,u+10190-1019c,u+101a0,u+101d0-101fd,u+102e0-102fb,u+10e60-10e7e,u+1d2c0-1d2d3,u+1d2e0-1d37f,u+1f0??,u+1f100-1f1ad,u+1f1e6-1f1ff,u+1f30d-1f30f,u+1f315,u+1f31c,u+1f31e,u+1f320-1f32c,u+1f336,u+1f378,u+1f37d,u+1f382,u+1f393-1f39f,u+1f3a7-1f3a8,u+1f3ac-1f3af,u+1f3c2,u+1f3c4-1f3c6,u+1f3ca-1f3ce,u+1f3d4-1f3e0,u+1f3ed,u+1f3f1-1f3f3,u+1f3f5-1f3f7,u+1f408,u+1f415,u+1f41f,u+1f426,u+1f43f,u+1f441-1f442,u+1f444,u+1f446-1f449,u+1f44c-1f44e,u+1f453,u+1f46a,u+1f47d,u+1f4a3,u+1f4b0,u+1f4b3,u+1f4b9,u+1f4bb,u+1f4bf,u+1f4c8-1f4cb,u+1f4d6,u+1f4da,u+1f4df,u+1f4e3-1f4e6,u+1f4ea-1f4ed,u+1f4f7,u+1f4f9-1f4fb,u+1f4fd-1f4fe,u+1f503,u+1f507-1f50b,u+1f50d,u+1f512-1f513,u+1f53e-1f54a,u+1f54f-1f5fa,u+1f610,u+1f650-1f67f,u+1f687,u+1f68d,u+1f691,u+1f694,u+1f698,u+1f6ad,u+1f6b2,u+1f6b9-1f6ba,u+1f6bc,u+1f6c6-1f6cf,u+1f6d3-1f6d7,u+1f6e0-1f6ea,u+1f6f0-1f6f3,u+1f6f7-1f6fc,u+1f7??,u+1f800-1f80b,u+1f810-1f847,u+1f850-1f859,u+1f860-1f887,u+1f890-1f8ad,u+1f8b0-1f8bb,u+1f8c0-1f8c1,u+1f900-1f90b,u+1f93b,u+1f946,u+1f984,u+1f996,u+1f9e9,u+1fa00-1fa6f,u+1fa70-1fa7c,u+1fa80-1fa89,u+1fa8f-1fac6,u+1face-1fadc,u+1fadf-1fae9,u+1faf0-1faf8,u+1fb??}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/onest-vietnamese-wght-normal.4250ef26.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/onest-latin-ext-wght-normal.79c53978.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/onest-latin-wght-normal.89c3d590.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}