@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.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}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,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}:root{--primary:120, 146, 255;--background:16, 17, 20;--background-2:24, 24, 31;--background-3:34, 36, 45;--stroke:34, 36, 45;--text:252, 252, 252;--text-2:185, 185, 200;--text-3:120, 122, 141;--green:49, 227, 172;--red:237, 58, 122;--yellow:224, 168, 65;--violet:153, 89, 255;--teal:20, 184, 166;--orange:251, 146, 60;--font-xs:11px;--font-sm:12px;--font-md:14px;--font-lg:16px;--font-xl:20px;--font-xxl:24px;--font-classic:"Geist Variable", "Aeonik", Arial, Helvetica, sans-serif;--font-mono:"JetBrains Mono Variable", "JetBrains Mono", ui-monospace, monospace;--spring:cubic-bezier(.34, 1.56, .64, 1);--ease:cubic-bezier(.4, 0, .2, 1);--sidebar-width:310px;--sidebar-collapsed-width:68px;--sidebar-padding:20px;--header-height:70px;--statusbar-height:36px}*{box-sizing:border-box;letter-spacing:-.012em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-width:none;margin:0;padding:0;font-weight:500}::-webkit-scrollbar{display:none}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body,#root{height:100%}body{background:rgb(var(--background));color:rgb(var(--text));font-family:var(--font-classic);font-size:var(--font-md);line-height:normal;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;background:0 0;border:none}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}img{display:block}code,kbd,.mono{font-family:var(--font-mono);letter-spacing:-.02em}::selection{background:rgba(var(--primary), .35)}:focus-visible{outline:1px solid rgba(var(--primary), .6);outline-offset:1px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none}input[type=number]{appearance:textfield}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input:-webkit-autofill{-webkit-text-fill-color:rgb(var(--text));transition:background-color 9999s}.num{font-variant-numeric:tabular-nums}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:rgb(var(--text-3))}.dim{color:rgb(var(--text-2))}.c-green{color:rgb(var(--green))}.c-red{color:rgb(var(--red))}.c-yellow{color:rgb(var(--yellow))}.c-primary{color:rgb(var(--primary))}.ellipsis{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.spacer{flex:1}.row{align-items:center;gap:8px;min-width:0;display:flex}.col{flex-direction:column;min-width:0;display:flex}.wrap{flex-wrap:wrap}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:none}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{to{rotate:360deg}}@keyframes ping{0%{outline-width:0;outline-color:rgba(var(--dot), .45)}to{outline-width:5px;outline-color:rgba(var(--dot), 0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.btn{border:1px solid rgb(var(--stroke));background:rgb(var(--background-2));color:rgb(var(--text));font-size:var(--font-sm);white-space:nowrap;transition:all .2s var(--spring);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:7px 14px;display:inline-flex}.btn:hover{background:rgb(var(--background-3))}.btn:active{scale:.95}.btn:disabled{opacity:.25}.btn:disabled:active{scale:1}.btn:disabled:hover{background:rgb(var(--background-2))}.btn svg{flex-shrink:0;font-size:13px}.btn.sm{gap:4px;padding:4px 9px}.btn.sm svg{font-size:12px}.btn.lg{border-radius:9px;padding:10px 18px}.btn.block{width:100%}.btn.icon{width:30px;height:30px;padding:0}.btn.icon.sm{border-radius:6px;width:24px;height:24px}.btn.accent{background:rgb(var(--primary));color:rgb(var(--background));border-color:#0000}.btn.accent:hover{background:rgba(var(--primary), .85)}.btn.accent:disabled:hover{background:rgb(var(--primary))}.btn.white{background:rgb(var(--text));color:rgb(var(--background));border-color:#0000}.btn.white:hover{background:rgb(var(--text-2))}.btn.soft{background:rgba(var(--primary), .15);color:rgb(var(--primary));border-color:#0000}.btn.soft:hover{background:rgba(var(--primary), .25)}.btn.danger{background:rgba(var(--red), .12);color:rgb(var(--red));border-color:#0000}.btn.danger:hover{background:rgba(var(--red), .2)}.btn.red{background:rgb(var(--red));color:rgb(var(--background-2));border-color:#0000}.btn.red:hover{background:rgba(var(--red), .75)}.btn.ghost{color:rgb(var(--text-3));background:0 0;border-color:#0000}.btn.ghost:hover{background:rgb(var(--background-2));color:rgb(var(--text))}.btn.ghost.dangerous:hover{background:rgba(var(--red), .1);color:rgb(var(--red))}.btn.outline{color:rgb(var(--text-3));background:0 0}.btn.outline:hover{background:rgb(var(--background-2));color:rgb(var(--text))}.btn .spin{animation:.8s linear infinite spin}.link-btn{color:rgb(var(--primary));font-size:var(--font-xs);align-items:center;gap:4px;transition:color .14s,scale .14s;display:inline-flex}.link-btn:hover{color:rgb(var(--text))}.link-btn:active{scale:.96}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field-head{font-size:var(--font-sm);justify-content:space-between;align-items:center;gap:8px;min-height:16px;display:flex}.field-head label{font-size:var(--font-sm);align-items:center;gap:4px;display:inline-flex}.field-head .req{color:rgb(var(--red))}.field-head .sub{color:rgb(var(--text-3));font-size:var(--font-sm)}.field-hint{color:rgb(var(--text-3));font-size:var(--font-xs);line-height:1.45}.input{border:1px solid rgba(var(--stroke), .5);background:rgba(var(--background-2), .5);border-radius:5px;align-items:center;gap:8px;width:100%;height:36px;padding:0 12px;transition:background .3s,border-color .3s;display:flex}.input:focus-within{background:rgb(var(--background-2))}.input.invalid{border-color:rgba(var(--red), .5)}.input>svg{color:rgb(var(--text-3));flex-shrink:0;font-size:13px}.input input,.input textarea,.input select{width:100%;min-width:0;color:rgb(var(--text));font-size:var(--font-md);background:0 0;border:none;outline:none;flex:1;font-weight:500}.input input::placeholder,.input textarea::placeholder{color:rgb(var(--text-3))}.input:has(input:disabled){opacity:.4;cursor:not-allowed}.input .unit{border-left:1px solid rgba(var(--stroke), .5);color:rgb(var(--text-3));font-size:var(--font-md);white-space:nowrap;align-self:stretch;align-items:center;margin-right:-12px;padding:0 12px;display:flex}.input .affix{color:rgb(var(--text-3));font-size:var(--font-md)}.input.textarea{align-items:stretch;height:auto}.input.textarea textarea{resize:none;padding:10px 0;font-family:inherit;line-height:1.5}.input.textarea.mono textarea{font-family:var(--font-mono);font-size:var(--font-sm);letter-spacing:-.02em}.input.sm{border-color:rgb(var(--stroke));background:rgba(var(--background-2), .2);border-radius:6px;gap:6px;height:28px;padding:0 8px}.input.sm:focus-within{border-color:rgba(var(--text-3), .3);background:rgb(var(--background-2))}.input.sm input{font-size:var(--font-sm)}.input.sm>svg{font-size:12px}.input .clear{color:rgb(var(--text-3));border-radius:50%;place-items:center;padding:2px;display:grid}.input .clear:hover{color:rgb(var(--text))}.input .eye{color:rgb(var(--text-3));place-items:center;display:grid}.input .eye:hover{color:rgb(var(--text))}.select{width:100%;position:relative}.select-trigger{border:1px solid rgba(var(--stroke), .5);background:rgba(var(--background-2), .5);width:100%;height:36px;color:rgb(var(--text));font-size:var(--font-md);text-align:left;border-radius:5px;align-items:center;gap:8px;padding:0 12px;transition:background .3s;display:flex}.select-trigger:hover,.select.open .select-trigger{background:rgb(var(--background-2))}.select-trigger .ph{color:rgb(var(--text-3))}.select-trigger .chev{color:rgb(var(--text-3));flex-shrink:0;margin-left:auto;transition:transform .15s}.select.open .chev{transform:rotate(180deg)}.select.sm .select-trigger{height:28px;font-size:var(--font-sm);border-color:rgb(var(--stroke));border-radius:6px;padding:0 8px}.menu{z-index:70;border:1px solid rgb(var(--stroke));background:rgb(var(--background-2));border-radius:8px;flex-direction:column;gap:1px;min-width:100%;max-height:280px;padding:4px;animation:.12s ease-out pop;display:flex;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 18px 48px #0000008c}.menu.up{top:auto;bottom:calc(100% + 6px)}.menu.right{left:auto;right:0}.menu-label{color:rgb(var(--text-3));font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.04em;padding:8px 10px 6px}.menu-item{width:100%;color:rgb(var(--text));font-size:var(--font-sm);text-align:left;white-space:nowrap;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;transition:background .1s;display:flex}.menu-item:hover,.menu-item.hl{background:rgb(var(--background-3))}.menu-item.on{color:rgb(var(--primary))}.menu-item svg{color:rgb(var(--text-3));flex-shrink:0;font-size:14px}.menu-item.on svg{color:rgb(var(--primary))}.menu-item .meta{color:rgb(var(--text-3));font-size:var(--font-xs);margin-left:auto;padding-left:16px}.menu-item.danger,.menu-item.danger svg{color:rgb(var(--red))}.menu-item.danger:hover{background:rgba(var(--red), .12)}.menu-sep{background:rgb(var(--stroke));height:1px;margin:3px 0}.seg{background:rgb(var(--background-2));border-radius:8px;align-items:center;width:max-content;padding:2px;display:flex;position:relative}.seg-bg{z-index:0;background:rgb(var(--background-3));transition:left .2s var(--ease), width .2s var(--ease);border-radius:6px;position:absolute;top:2px;bottom:2px}.seg button{z-index:1;color:rgb(var(--text-3));font-size:var(--font-sm);white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:5px;padding:4px 9px;transition:color .2s,background .2s;display:flex;position:relative}.seg button:not(.on):hover{background:rgba(var(--background-3), .5);color:rgb(var(--text-2))}.seg button.on{color:rgb(var(--text))}.seg button:disabled{opacity:.4}.seg.block{border-radius:10px;width:100%;height:36px}.seg.block button{height:100%;font-size:var(--font-md);border-radius:8px;flex:1}.seg.block .seg-bg{border-radius:8px}.seg.block.compact button{font-size:var(--font-sm)}.tabs{border:1px solid rgb(var(--stroke));background:rgb(var(--background));border-radius:8px;gap:3px;padding:3px;display:flex}.tabs button{color:rgb(var(--text-3));font-size:var(--font-xs);border-radius:6px;align-items:center;gap:5px;padding:6px 9px;transition:color .15s,background .15s;display:flex}.tabs button:hover{color:rgb(var(--text-2))}.tabs button.on{background:rgb(var(--background-3));color:rgb(var(--text))}.tabs button .count{color:rgb(var(--text-3));font-variant-numeric:tabular-nums}.utabs{align-self:stretch;align-items:stretch;gap:4px;display:flex}.utabs button{color:rgb(var(--text-3));font-size:var(--font-sm);border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:0 10px;transition:color .15s,border-color .15s;display:flex}.utabs button:hover{color:rgb(var(--text));border-bottom-color:rgba(var(--primary), .3)}.utabs button.on{color:rgb(var(--text));border-bottom-color:rgb(var(--primary))}.utabs .count{background:rgb(var(--background-3));color:rgb(var(--text-3));font-size:var(--font-xs);font-variant-numeric:tabular-nums;border-radius:999px;padding:1px 6px}.utabs button.on .count{background:rgba(var(--primary), .2);color:rgb(var(--primary))}.check{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--font-sm);align-items:center;gap:8px;display:inline-flex}.check .box{border:1px solid rgb(var(--stroke));border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;padding:2px;transition:border-color .15s;display:flex}.check .box i{background:rgba(var(--background), .1);border-radius:3px;width:10px;height:10px;transition:background .15s;display:block}.check:hover .box,.check.on .box{border-color:rgb(var(--primary))}.check.on .box i{background:rgb(var(--primary))}.check.mixed .box i{background:rgba(var(--primary), .75);height:3px}.check.disabled{opacity:.3;cursor:not-allowed}.optcard{border:1px solid rgb(var(--stroke));background:rgba(var(--background-2), .55);border-radius:8px;flex-direction:column;transition:border-color .15s,background .15s;display:flex}.optcard.on{border-color:rgba(var(--primary), .22);background:rgba(var(--background-2), .9)}.optcard-head{cursor:pointer;text-align:left;align-items:flex-start;gap:12px;width:100%;padding:12px;display:flex}.optcard-head:hover .box{border-color:rgb(var(--primary))}.optcard-text{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.optcard-title{color:rgb(var(--text));font-size:var(--font-sm);align-items:center;gap:6px;display:flex}.optcard-desc{color:rgb(var(--text-3));font-size:var(--font-sm);line-height:1.35}.optcard .check{margin-top:1px}.optcard-body{transition:grid-template-rows .25s var(--ease);grid-template-rows:0fr;display:grid}.optcard.on .optcard-body{grid-template-rows:1fr}.optcard-body>div{overflow:hidden}.optcard-inner{gap:8px;padding:0 12px 12px;display:flex}.switch{aspect-ratio:1.75;border:1px solid rgba(var(--text-3), .2);background:rgba(var(--text-3), .1);border-radius:100px;flex-shrink:0;align-items:center;height:18px;padding:1.5px;transition:all .3s ease-in-out;display:flex}.switch i{aspect-ratio:1;background:rgb(var(--text-2));height:100%;transition:transform .3s var(--ease), background .3s;border-radius:100px;display:block}.switch:hover{background:rgba(var(--text-3), .2)}.switch.on{border-color:rgba(var(--primary), .2);background:rgba(var(--primary), .3)}.switch.on i{background:rgb(var(--primary));transform:translate(calc(100% + 1px))}.tag{background:rgba(var(--text-3), .18);color:rgb(var(--text-2));font-size:var(--font-sm);white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:3px 10px;line-height:1.3;display:inline-flex}.tag.sm{font-size:var(--font-xs);padding:1px 7px;line-height:16px}.tag.caps{font-size:var(--font-xs);letter-spacing:.04em;text-transform:uppercase;padding:1px 6px;font-weight:600;line-height:15px}.tag.mono{font-family:var(--font-mono);letter-spacing:-.02em}.tag.primary{background:rgba(var(--primary), .15);color:rgb(var(--primary))}.tag.green{background:rgba(var(--green), .13);color:rgb(var(--green))}.tag.red{background:rgba(var(--red), .15);color:rgb(var(--red))}.tag.yellow{background:rgba(var(--yellow), .15);color:rgb(var(--yellow))}.tag.outline{border:1px solid rgb(var(--stroke));color:rgb(var(--text-3));background:0 0}.tag svg{font-size:11px}.status{--dot:var(--text-3);background:rgb(var(--stroke));color:rgb(var(--text-3));font-size:var(--font-sm);white-space:nowrap;border-radius:4px;flex-shrink:0;align-items:center;gap:6px;padding:3px 7px;line-height:1.25;display:inline-flex}.status.green{--dot:var(--green);background:rgba(var(--green), .2);color:rgb(var(--green))}.status.primary{--dot:var(--primary);background:rgba(var(--primary), .2);color:rgb(var(--primary))}.status.yellow{--dot:var(--yellow);background:rgba(var(--yellow), .2);color:rgb(var(--yellow))}.status.red{--dot:var(--red);background:rgba(var(--red), .2);color:rgb(var(--red))}.status.muted{background:rgba(var(--text-3), .14)}.status.sm{font-size:var(--font-xs);padding:1px 6px}.dot{--dot:var(--text-3);background:rgb(var(--dot));outline:3px solid rgba(var(--dot), .2);border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.dot.green{--dot:var(--green)}.dot.primary{--dot:var(--primary)}.dot.yellow{--dot:var(--yellow)}.dot.red{--dot:var(--red)}.dot.live{animation:ping 1.4s var(--ease) infinite}.status .dot{outline-width:0;width:5px;height:5px}.status .dot.live{animation:ping 1.4s var(--ease) infinite}.badge{background:rgba(var(--primary), .2);min-width:17px;color:rgb(var(--primary));font-size:var(--font-xs);font-variant-numeric:tabular-nums;border-radius:1000px;justify-content:center;align-items:center;padding:1px 6px;display:inline-flex}.badge.grey{background:rgb(var(--background-3));color:rgb(var(--text-3))}.kbd{background:rgba(var(--primary), .2);color:rgb(var(--primary));font-size:var(--font-sm);line-height:1;font-family:var(--font-classic);border-radius:2.5px;justify-content:center;align-items:center;gap:1px;padding:2px 4px;display:inline-flex}.kbd.grey{background:rgb(var(--background-3));color:rgb(var(--text-3))}.tok{background:rgb(var(--background-3));color:rgb(var(--text-2));font-family:var(--font-mono);font-size:var(--font-xs);letter-spacing:-.02em;white-space:nowrap;border-radius:4px;align-items:center;padding:1px 5px;display:inline-flex}.tok.primary{background:rgba(var(--primary), .14);color:rgb(var(--primary))}button.tok{transition:background .15s,color .15s}button.tok:hover{background:rgba(var(--primary), .22);color:rgb(var(--primary))}.dt{flex-direction:column;flex:1;width:100%;min-width:0;min-height:0;display:flex;position:relative}.dt-head,.dt-row,.dt-foot{grid-template-columns:var(--cols);align-items:center;column-gap:14px;min-width:0;padding:0 24px 0 20px;display:grid}.dt-head{border-bottom:1px solid rgb(var(--stroke));background:rgb(var(--background));flex-shrink:0;height:38px}.dt-head>div{min-width:0;color:rgb(var(--text-3));font-size:var(--font-sm);white-space:nowrap;align-items:center;gap:4px;display:flex}.dt-head>div.r,.dt-row>div.r,.dt-foot>div.r{text-align:right;justify-content:flex-end}.dt-head button{color:inherit;font-size:inherit;align-items:center;gap:4px;transition:color .15s;display:inline-flex}.dt-head button:hover{color:rgb(var(--text-2))}.dt-head .sort{opacity:.5;flex-direction:column;font-size:9px;line-height:4px;display:inline-flex}.dt-head .sort.on{opacity:1;color:rgb(var(--primary))}.dt-body{flex:1;min-height:0;overflow:hidden auto}.dt-row{height:48px;transition:background .13s}.dt-row>div{min-width:0;font-size:var(--font-sm);align-items:center;gap:8px;display:flex}.dt-row:nth-child(2n){background:linear-gradient(to right, rgba(var(--background-2), .5) 30%, rgba(var(--background-2), .1))}.dt-row:hover{background:rgba(var(--primary), .04)}.dt-row.click{cursor:pointer}.dt-row.dim{opacity:.45}.dt.compact .dt-row{height:40px}.dt-foot{border-top:1px solid rgb(var(--stroke));background:rgb(var(--background));height:40px;color:rgb(var(--text-2));font-size:var(--font-sm);flex-shrink:0}.dt-foot>div{white-space:nowrap;align-items:center;gap:6px;min-width:0;display:flex}.dt-foot .caps{text-transform:uppercase}.idx{color:rgb(var(--text-3));font-family:var(--font-mono);letter-spacing:-.02em;justify-content:flex-end;font-size:var(--font-sm)!important}.cell2{flex-direction:column;gap:3px;min-width:0;display:flex}.cell2 strong{color:rgb(var(--text));font-size:var(--font-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.cell2 small{color:rgb(var(--text-3));font-size:var(--font-sm);text-overflow:ellipsis;white-space:nowrap;line-height:1;overflow:hidden}.avatar{background:rgb(var(--background-3));width:28px;height:28px;color:rgb(var(--text-2));font-size:var(--font-sm);text-transform:uppercase;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.avatar.sq{border-radius:7px}.icon-tile{border:1px solid rgb(var(--stroke));background:rgba(var(--background-3), .7);width:30px;height:30px;color:rgb(var(--text-2));border-radius:6px;flex-shrink:0;place-items:center;font-size:14px;display:grid}.row-actions{opacity:.55;justify-content:flex-end;gap:4px;transition:opacity .15s}.dt-row:hover .row-actions{opacity:1}.skel{background:linear-gradient(90deg, rgb(var(--stroke)) 25%, rgba(var(--stroke), .45), rgb(var(--stroke)) 75%);background-size:200% 100%;border-radius:4px;animation:2s linear infinite shimmer}.skel-rows{flex-direction:column;display:flex}.skel-row{grid-template-columns:var(--cols,1fr 1fr 1fr 1fr);align-items:center;column-gap:14px;height:48px;padding:0 24px 0 20px;display:grid}.skel-row .skel{height:10px}.skel-row .skel:nth-child(2n){width:70%}.empty{flex:1;justify-content:center;align-items:center;min-height:260px;display:flex;position:relative;overflow:hidden}.empty-backdrop{opacity:.5;pointer-events:none;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 10%,#0000 75%);mask-image:linear-gradient(#000 10%,#0000 75%)}.empty-backdrop .skel{background:rgb(var(--stroke));opacity:.55;animation:none}.empty-body{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:32px;display:flex;position:relative}.empty-icon{border:1px solid rgb(var(--stroke));background:rgb(var(--background-2));width:36px;height:36px;color:rgb(var(--text-2));border-radius:8px;place-items:center;margin-bottom:4px;font-size:16px;display:grid}.empty-title{color:rgb(var(--text));font-size:var(--font-md);font-weight:600}.empty-hint{max-width:320px;color:rgb(var(--text-3));font-size:var(--font-sm);line-height:1.45}.empty-actions{gap:8px;margin-top:4px;display:flex}.empty.compact{min-height:120px}.empty.compact .empty-body{padding:16px}.overlay{z-index:80;background:rgba(var(--background), .5);-webkit-backdrop-filter:blur(1.5px);justify-content:center;align-items:center;padding:12px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal{border:1px solid rgb(var(--stroke));background:rgb(var(--background));width:600px;max-width:100%;max-height:90vh;animation:slideUp .18s var(--ease);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.modal.sm{width:440px}.modal.lg{width:760px}.modal-head{border-bottom:1px solid rgb(var(--stroke));flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;margin:0 24px;padding:18px 0;display:flex}.modal-head h1{font-size:var(--font-md);align-items:center;gap:8px;font-weight:500;display:flex}.modal-head h1 svg{color:rgb(var(--text-2))}.modal-close{color:rgba(var(--text), .5);place-items:center;font-size:18px;transition:color .2s,rotate .2s;display:grid}.modal-close:hover{color:rgba(var(--text), .8);rotate:90deg}.modal-body{flex-direction:column;gap:16px;min-height:0;padding:18px 24px 22px;display:flex;overflow-y:auto}.modal-desc{color:rgb(var(--text-3));font-size:var(--font-sm);line-height:1.5}.modal-foot{border-top:1px solid rgb(var(--stroke));flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;padding:14px 24px;display:flex}.modal-foot .left{margin-right:auto}.modal.panes{width:760px;height:min(560px,90vh)}.modal-split{flex:1;min-height:0;display:flex}.modal-nav{border-right:1px solid rgb(var(--stroke));flex-direction:column;flex-shrink:0;gap:14px;width:180px;padding:14px 10px;display:flex;overflow-y:auto}.modal-nav-group{flex-direction:column;gap:2px;display:flex}.modal-nav-title{color:rgba(var(--text-3), .7);font-size:var(--font-xs);padding:0 8px 4px}.modal-nav button{width:100%;color:rgb(var(--text-3));font-size:var(--font-sm);text-align:left;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;transition:color .15s,background .15s;display:flex;position:relative}.modal-nav button:hover{color:rgb(var(--text));background:rgb(var(--background-2))}.modal-nav button.on{color:rgb(var(--text));background:rgba(var(--background-3), .6)}.modal-nav button.on:before{content:"";background:rgb(var(--primary));border-radius:0 4px 4px 0;width:2px;height:50%;position:absolute;top:50%;left:0;translate:0 -50%}.modal-pane{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.modal-pane-body{flex:1;min-height:0;overflow-y:auto}.setting{border-bottom:1px solid rgb(var(--stroke));flex-direction:column;gap:10px;padding:16px;display:flex}.setting-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.setting-title{font-size:var(--font-md);align-items:center;gap:6px;display:flex}.setting-title svg{color:rgb(var(--text-2));font-size:14px}.setting-desc{color:rgb(var(--text-3));font-size:var(--font-sm);line-height:1.45}.toasts{right:16px;bottom:calc(var(--statusbar-height) + 14px);z-index:90;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed}.toast{border:1px solid rgb(var(--stroke));background:rgb(var(--background-2));min-width:260px;max-width:380px;color:rgb(var(--text-2));font-size:var(--font-sm);pointer-events:auto;animation:slideUp .2s var(--ease);border-radius:8px;align-items:flex-start;gap:10px;padding:12px;line-height:1.4;display:flex;box-shadow:0 12px 32px #0006}.toast>svg{flex-shrink:0;margin-top:1px;font-size:14px}.toast.ok>svg{color:rgb(var(--green))}.toast.err>svg{color:rgb(var(--red))}.toast.info>svg{color:rgb(var(--primary))}.toast strong{color:rgb(var(--text));margin-bottom:2px;font-weight:500;display:block}.toast .x{color:rgb(var(--text-3));place-items:center;margin-left:auto;display:grid}.toast .x:hover{color:rgb(var(--text))}.alert{background:rgba(var(--primary), .14);color:rgb(var(--primary));font-size:var(--font-sm);border-radius:4px;grid-template-columns:16px 1fr auto;align-items:start;gap:8px;padding:10px;line-height:1.45;display:grid}.alert>svg{margin-top:2px;font-size:13px}.alert.error{background:rgba(var(--red), .14);color:rgb(var(--red))}.alert.warning{background:rgba(var(--yellow), .14);color:rgb(var(--yellow))}.alert.success{background:rgba(var(--green), .12);color:rgb(var(--green))}.alert .action{align-self:center}.alert b{font-weight:600}.note{color:rgb(var(--text-3));font-size:var(--font-sm);align-items:flex-start;gap:8px;line-height:1.45;display:flex}.note>svg{flex-shrink:0;margin-top:2px;font-size:12px}.collapse-sum{--c:rgba(var(--text-3), .9);width:100%;color:var(--c);font-size:var(--font-xs);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:8px;transition:color .15s;display:flex}.collapse-sum:hover{--c:rgba(var(--text-2), .8)}.collapse-sum .label{font-family:var(--font-mono);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.collapse-sum .line{background:var(--c);opacity:.6;flex:1;height:1px}.collapse-sum svg{flex-shrink:0;font-size:14px;transition:transform .15s ease-out}.collapse.open>.collapse-sum svg{transform:rotate(180deg)}.collapse-body{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .2s,opacity .2s;display:grid}.collapse.open>.collapse-body{opacity:1;grid-template-rows:1fr}.collapse-body>div{min-height:0;overflow:hidden}.collapse-inner{flex-direction:column;gap:10px;padding-top:12px;display:flex}.section-label{color:rgb(var(--text-3));font-size:var(--font-xs);font-family:var(--font-mono);letter-spacing:.02em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:8px;display:flex}.section-label em{color:rgb(var(--text-2));font-variant-numeric:tabular-nums;text-transform:none;font-style:normal}.section-label .link-btn{font-family:var(--font-classic);letter-spacing:0;text-transform:none}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.tile{border:1px solid rgba(var(--stroke), .8);background:rgba(var(--background), .72);opacity:.82;min-width:0;color:rgb(var(--text-2));text-align:left;border-radius:8px;flex-direction:column;align-items:flex-start;gap:3px;padding:8px 10px;transition:border-color .14s,background .14s,color .14s,opacity .14s;display:flex}.tile:hover{opacity:1;border-color:rgba(var(--text-3), .3);background:rgb(var(--background-2));color:rgb(var(--text))}.tile.on{opacity:1;border-color:rgba(var(--primary), .35);background:rgba(var(--primary), .08);color:rgb(var(--text))}.tile strong{width:100%;font-size:var(--font-sm);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-weight:500;display:flex;overflow:hidden}.tile small{color:rgb(var(--text-3));font-size:var(--font-xs);font-variant-numeric:tabular-nums}.tile.on small{color:rgb(var(--primary))}.chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip{border:1px solid rgb(var(--stroke));height:26px;color:rgb(var(--text-3));font-size:var(--font-xs);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 10px;transition:color .14s,border-color .14s,background .14s;display:inline-flex}.chip:hover{color:rgb(var(--text));border-color:rgba(var(--text-3), .4)}.chip.on{border-color:rgba(var(--primary), .35);background:rgba(var(--primary), .1);color:rgb(var(--primary))}.chip .n{color:inherit;opacity:.7;font-variant-numeric:tabular-nums}.track{background:rgba(var(--stroke), .85);border-radius:999px;width:100%;height:6px;position:relative;overflow:hidden}.track>span{border-radius:inherit;background:linear-gradient(90deg, rgba(var(--primary), .75), rgb(var(--primary)));height:100%;transition:width .35s;display:block}.track.green>span{background:linear-gradient(90deg, rgba(var(--green), .7), rgb(var(--green)))}.track.red>span{background:rgb(var(--red))}.track.sm{height:4px}.stack-bar{background:rgba(var(--stroke), .85);border-radius:999px;gap:2px;width:100%;height:6px;display:flex;overflow:hidden}.stack-bar>span{height:100%;transition:width .35s}.receipt{flex-direction:column;display:flex}.receipt-top{border-bottom:1px solid rgb(var(--stroke));flex-direction:column;gap:6px;margin-bottom:8px;padding-bottom:8px;display:flex}.receipt-row{min-height:24px;font-size:var(--font-sm);justify-content:space-between;align-items:center;gap:12px;display:flex}.receipt-row>span:first-child{color:rgb(var(--text-3));align-items:center;gap:4px;display:inline-flex}.receipt-row>span:last-child{color:rgb(var(--text));font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.receipt-row.total>span:first-child{color:rgb(var(--text))}.receipt-row.total>span:last-child{color:rgb(var(--primary))}[data-tip]{position:relative}[data-tip]:hover:after{content:attr(data-tip);z-index:95;border:1px solid rgb(var(--stroke));background:rgb(var(--background-3));width:max-content;max-width:260px;color:rgb(var(--text));font-size:var(--font-xs);white-space:pre-line;text-align:left;text-transform:none;letter-spacing:0;pointer-events:none;border-radius:4px;padding:6px 8px;font-weight:500;line-height:1.4;animation:.12s fadeIn;position:absolute;bottom:calc(100% + 6px);left:50%;translate:-50%}[data-tip-pos=right]:hover:after{left:auto;right:0;translate:0}[data-tip-pos=left]:hover:after{left:0;translate:0}[data-tip-pos=below]:hover:after{top:calc(100% + 6px);bottom:auto}.info-i{color:rgb(var(--text-3));cursor:help;place-items:center;font-size:11px;display:inline-grid}.info-i:hover{color:rgb(var(--text-2))}.copy{max-width:100%;color:rgb(var(--text));font-size:var(--font-sm);border-radius:4px;align-items:center;gap:6px;margin-left:-6px;padding:3px 6px;transition:background .2s;display:inline-flex}.copy:hover{background:rgb(var(--background-2))}.copy svg{color:rgb(var(--text-3));flex-shrink:0;font-size:12px}.copy.done svg{color:rgb(var(--green))}.drop{border:1px dashed rgb(var(--stroke));color:rgb(var(--text-3));font-size:var(--font-sm);cursor:pointer;border-radius:8px;align-items:center;gap:12px;padding:12px;transition:border-color .15s,background .15s;display:flex}.drop:hover,.drop.over{border-color:rgba(var(--primary), .45);background:rgba(var(--primary), .04);color:rgb(var(--text-2))}.drop input{display:none}.drop .icon-tile{width:32px;height:32px}.drop strong{color:rgb(var(--text));font-weight:500}.dashed-btn{border:1px dashed rgb(var(--stroke));width:100%;height:36px;color:rgb(var(--text));font-size:var(--font-sm);border-radius:6px;justify-content:center;align-items:center;gap:8px;transition:background .2s;display:flex}.dashed-btn:hover{background:rgb(var(--background-3))}.divider-or{color:rgb(var(--text-3));font-size:var(--font-xs);font-family:var(--font-mono);align-items:center;gap:10px;display:flex}.divider-or:before,.divider-or:after{content:"";background:rgb(var(--stroke));flex:1;height:1px}.stat-pill{border:1px solid rgb(var(--stroke));border-radius:8px;flex-direction:column;gap:2px;min-width:88px;padding:8px 12px;display:inline-flex}.stat-pill small{color:rgb(var(--text-3));font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.04em;font-family:var(--font-mono)}.stat-pill strong{font-size:var(--font-lg);font-variant-numeric:tabular-nums;font-weight:500}.app{grid-template-columns:auto minmax(0,1fr);grid-template-rows:minmax(0, 1fr) var(--statusbar-height);height:100dvh;display:grid}.sidebar{--sb-pad:var(--sidebar-padding);width:var(--sidebar-width);border-right:1px solid rgb(var(--stroke));flex-direction:column;min-width:0;padding-bottom:20px;transition:width .2s ease-in-out;display:flex;overflow:hidden}.sb-head{height:var(--header-height);padding:0 var(--sb-pad);border-bottom:1px solid rgb(var(--stroke));flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.logo{align-items:center;gap:9px;min-width:0;display:flex}.logo-mark{flex-shrink:0;display:block}.wordmark,.wordmark *{letter-spacing:-.03em;font-weight:600}.wordmark{color:rgb(var(--text));white-space:nowrap;font-size:15px;line-height:1}.wm-i{position:relative}.wm-i:after{content:"";background:rgb(var(--green));border-radius:50%;width:.16em;height:.16em;position:absolute;top:.24em;left:calc(50% + .015em);transform:translate(-50%)}.wordmark .wm-v{color:rgb(var(--primary));font-size:var(--font-sm);letter-spacing:0;margin-left:6px;font-weight:500}.sb-toggle{width:30px;height:30px;color:rgb(var(--text-3));font-size:var(--font-md);border-radius:4px;flex-shrink:0;place-items:center;transition:background .15s,color .15s;display:grid}.sb-toggle:hover{background:rgb(var(--background-2));color:rgb(var(--text))}.sb-search{padding:0 var(--sb-pad);flex-shrink:0;align-items:center;gap:8px;margin-bottom:16px;display:flex;position:relative}.search-menu{top:calc(100% + 6px);left:var(--sb-pad);right:var(--sb-pad);min-width:0;max-height:min(440px,62vh)}.search-menu .menu-item .status{margin-left:auto}.search-menu .menu-item .meta{max-width:45%}.sb-spacer{flex:1;min-height:12px}.search{background:rgb(var(--background-2));border:1px solid #0000;border-radius:4px;flex:1;align-items:center;gap:2px;min-width:0;height:32px;padding:4px;transition:border-color .25s;display:flex}.search:focus-within{border-color:rgba(var(--text-3), .25)}.search>svg{color:rgb(var(--text-3));flex-shrink:0;margin:0 6px;font-size:12px}.search input{min-width:0;color:rgb(var(--text));font-size:var(--font-md);background:0 0;border:none;outline:none;flex:1;padding-left:2px}.search input::placeholder{color:rgb(var(--text-3))}.sb-nav{padding:20px var(--sb-pad);border-top:1px solid rgb(var(--stroke));border-bottom:1px solid rgb(var(--stroke));flex-shrink:0}.sb-nav-head{width:100%;color:rgb(var(--text-3));font-size:var(--font-sm);justify-content:space-between;align-items:center;padding-bottom:10px;transition:color .15s,padding .2s;display:flex}.sb-nav-head:hover{color:rgb(var(--text))}.sb-nav-head svg{transition:transform .1s}.sb-nav.closed .sb-nav-head{padding-bottom:0}.sb-nav.closed .sb-nav-head svg{transform:rotate(180deg)}.sb-nav-wrap{grid-template-rows:1fr;transition:grid-template-rows .2s;display:grid}.sb-nav.closed .sb-nav-wrap{grid-template-rows:0fr}.sb-nav-body{flex-direction:column;transition:opacity .2s,filter .2s;display:flex;overflow:hidden}.sb-nav.closed .sb-nav-body{opacity:0;filter:blur(2px)}.sb-nav-body a{width:100%;color:rgb(var(--text-3));font-size:var(--font-md);white-space:nowrap;border-radius:4px;align-items:center;gap:8px;padding:10px 0;transition:color .15s,background .15s;display:flex;position:relative}.sb-nav-body a:hover,.sb-nav-body a.on{color:rgb(var(--text))}.sb-nav-body a>svg{flex-shrink:0;font-size:14px}.sb-nav-body a .label{align-items:center;gap:0;min-width:0;display:flex}.sb-nav-body a .badge{margin-left:8px}.sb-nav-body a .aside{color:rgb(var(--text-3));font-size:var(--font-sm);font-variant-numeric:tabular-nums;align-items:center;gap:8px;margin-left:auto;display:inline-flex}.sb-nav-body a.on .aside{color:rgb(var(--text-2))}.sb-user{padding:20px var(--sb-pad);border-bottom:1px solid rgb(var(--stroke));flex-shrink:0;margin-bottom:20px;position:relative}.user-pill{background:rgb(var(--background-3));border-radius:100px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:9px 14px;transition:background .15s,scale .2s;display:flex}.user-pill:hover{background:rgb(var(--background-2))}.user-pill:active{scale:.97}.user-pill .who{min-width:0;font-size:var(--font-md);align-items:center;gap:8px;display:flex}.user-pill .who svg{color:rgb(var(--text-2));flex-shrink:0}.user-pill .who span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-pill .right{color:rgb(var(--text-3));font-size:var(--font-sm);align-items:center;gap:8px;display:flex}.user-pill .chev{transition:transform .2s}.sb-user.open .user-pill .chev{transform:rotate(180deg)}.sb-user .menu{left:var(--sb-pad);right:var(--sb-pad);min-width:0}.sb-bottom{padding:0 var(--sb-pad);flex-shrink:0;gap:12px;display:flex}.sb-bottom .btn.accent{flex:1}.sidebar.collapsed{--sb-pad:16px;width:var(--sidebar-collapsed-width);padding-bottom:16px}.sidebar.collapsed .sb-head{justify-content:center;margin-bottom:0}.sidebar.collapsed .logo,.sidebar.collapsed .sb-search,.sidebar.collapsed .sb-nav-head,.sidebar.collapsed .sb-nav-body a .label,.sidebar.collapsed .sb-nav-body a .aside,.sidebar.collapsed .user-pill .who span,.sidebar.collapsed .user-pill .right,.sidebar.collapsed .sb-bottom .txt{display:none}.sidebar.collapsed .sb-nav{border-top:none;padding:16px}.nav-live{display:none}.sidebar.collapsed .nav-live{line-height:0;display:block;position:absolute;top:7px;right:7px}.sidebar.collapsed .sb-nav-body{align-items:center;gap:4px}.sidebar.collapsed .sb-nav-body a{justify-content:center;width:36px;height:36px;padding:0}.sidebar.collapsed .sb-nav-body a:hover{background:rgb(var(--background-2))}.sidebar.collapsed .sb-nav-body a.on{background:rgb(var(--background-3))}.sidebar.collapsed .sb-user{justify-content:center;margin-bottom:16px;padding:16px 0;display:flex}.sidebar.collapsed .user-pill{border-radius:9px;justify-content:center;width:36px;height:36px;padding:0}.sidebar.collapsed .sb-bottom{flex-direction:column;align-items:center;gap:8px}.sidebar.collapsed .sb-bottom .btn{flex:none;width:36px;height:36px;padding:0}.main{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.page{flex-direction:column;flex:1;min-width:0;min-height:0;animation:.2s fadeIn;display:flex}.ph{height:var(--header-height);border-bottom:1px solid rgb(var(--stroke));flex-shrink:0;align-items:center;gap:12px;padding:0 24px;display:flex}.ph-title{align-items:center;gap:10px;min-width:0;display:flex}.ph-title .txt{flex-direction:column;gap:3px;min-width:0;display:flex}.ph-title strong{color:rgb(var(--text));font-size:var(--font-md);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.ph-title small{color:rgb(var(--text-3));font-size:var(--font-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ph-title .count{color:rgb(var(--text-3));font-variant-numeric:tabular-nums}.ph-actions{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.ph-sep{background:rgb(var(--stroke));width:1px;height:20px}.ph .input.sm{width:240px}.subbar{border-bottom:1px solid rgb(var(--stroke));flex-shrink:0;align-items:center;gap:10px;min-height:44px;padding:8px 24px;display:flex}.banner{background:rgb(var(--primary));width:100%;color:rgb(var(--background));font-size:var(--font-sm);flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:10px 16px;transition:background .2s;display:flex}.banner:hover{background:rgba(var(--primary), .85)}.banner b{font-weight:600}.banner.warn{background:rgba(var(--yellow), .16);color:rgb(var(--yellow))}.banner.warn:hover{background:rgba(var(--yellow), .22)}.workspace{flex:1;grid-template-columns:350px minmax(0,1fr);min-height:0;display:grid}.composer{border-right:1px solid rgb(var(--stroke));background:rgb(var(--background));flex-direction:column;min-height:0;display:flex;overflow:hidden}.composer-scroll{flex-direction:column;flex:1;gap:18px;min-height:0;padding:18px;display:flex;overflow-y:auto}.composer-foot{border-top:1px solid rgb(var(--stroke));background:rgba(var(--background-2), .7);flex-direction:column;flex-shrink:0;gap:14px;padding:18px;display:flex}.composer-foot .err-line{color:rgb(var(--red));font-size:var(--font-xs);align-items:center;gap:6px;line-height:1.4;display:flex}.composer-foot .err-line a,.composer-foot .err-line button{color:rgb(var(--text));text-underline-offset:2px;font-size:inherit;text-decoration:underline}.canvas{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.canvas-bar{border-bottom:1px solid rgba(var(--stroke), .7);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:18px 28px 16px;display:flex}.canvas-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.canvas-meta strong{font-size:var(--font-md);font-weight:500}.canvas-meta span{color:rgb(var(--text-3));font-size:var(--font-xs)}.canvas-actions{align-items:center;gap:8px;display:flex}.canvas-body{flex-direction:column;flex:1;min-height:0;display:flex}.statusbar{height:var(--statusbar-height);border-top:1px solid rgb(var(--stroke));font-size:var(--font-sm);grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;padding:0 8px;display:flex}.statusbar>div{align-items:center;gap:12px;min-width:0;display:flex}.statusbar .center{gap:16px}.svc{color:rgb(var(--text-3));font-size:var(--font-sm);white-space:nowrap;align-items:center;gap:4px;display:flex}.svc .dot{outline-width:3.5px;margin:0 6px 0 4px}.svc.ok{color:rgb(var(--green))}.svc.slow{color:rgb(var(--yellow))}.svc.down{color:rgb(var(--red))}.svc .lat{font-variant-numeric:tabular-nums;min-width:40px}.sbar-div{background:rgb(var(--stroke));flex-shrink:0;width:1px;height:16px}.sbar-link{color:rgb(var(--text-3));font-size:var(--font-sm);white-space:nowrap;align-items:center;gap:5px;transition:color .15s;display:flex}.sbar-link:hover{color:rgb(var(--text))}.sbar-link svg{font-size:12px}.sbar-btn{background:rgb(var(--background-2));color:rgb(var(--text-3));font-size:var(--font-sm);border-radius:4px;align-items:center;gap:5px;padding:4px 8px;transition:all .15s;display:flex}.sbar-btn:hover{background:rgb(var(--background-3));color:rgb(var(--text))}.sbar-btn svg{font-size:12px}.sbar-chip{border:1px solid rgb(var(--stroke));height:24px;color:rgb(var(--text-2));font-size:var(--font-sm);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:0 10px 0 8px;transition:border-color .15s,color .15s;display:flex}button.sbar-chip:hover{border-color:rgba(var(--text-3), .45);color:rgb(var(--text))}.sbar-stat{color:rgb(var(--text-3));font-size:var(--font-sm);white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:5px;display:flex}.sbar-stat b{color:rgb(var(--text));font-weight:500}.sbar-stat svg{font-size:12px}@media (width<=1366px){:root{--sidebar-width:272px;--sidebar-padding:16px}.workspace{grid-template-columns:320px minmax(0,1fr)}.dt-head,.dt-row,.dt-foot,.skel-row{column-gap:10px;padding:0 16px 0 14px}.ph{padding:0 18px}.canvas-bar{padding:16px 20px 14px}}@media (width<=1180px){:root{--sidebar-width:240px}.statusbar .center .sbar-stat:nth-child(n+3){display:none}}.strip{border-bottom:1px solid rgb(var(--stroke));flex-shrink:0;grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.strip-cell{border-right:1px solid rgb(var(--stroke));flex-direction:column;gap:8px;min-width:0;padding:16px 24px 18px;display:flex}.strip-cell:last-child{border-right:none}.strip-label{color:rgb(var(--text-3));font-size:var(--font-xs);font-family:var(--font-mono);letter-spacing:.02em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:6px;display:flex}.strip-label.primary{color:rgb(var(--primary))}.strip-label.green{color:rgb(var(--green))}.strip-label.red{color:rgb(var(--red))}.strip-value{font-size:var(--font-xxl);font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;font-weight:500;line-height:1;display:flex}.strip-value small{color:rgb(var(--text-3));font-size:var(--font-sm)}.strip-sub{min-height:18px;color:rgb(var(--text-3));font-size:var(--font-xs);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:6px;line-height:1.4;display:flex}.strip-sub b{color:rgb(var(--text-2));font-weight:500}.dash{flex:1;grid-template-columns:minmax(0,1fr) 440px;min-height:0;display:grid}.dash-main{flex-direction:column;min-width:0;min-height:0;display:flex}.dash-bar{border-bottom:1px solid rgb(var(--stroke));flex-shrink:0;justify-content:space-between;align-items:stretch;gap:12px;height:46px;padding:0 24px 0 14px;display:flex}.dash-bar .row{align-self:center;min-width:0}.dash-bar>.row{flex:1;justify-content:flex-end}.dash-bar>.utabs{flex-shrink:0}.dash-bar .chips{flex-wrap:nowrap}.dash-search{flex:0 170px;min-width:96px}.logpanel{border-left:1px solid rgb(var(--stroke));background:rgb(var(--background));flex-direction:column;min-width:0;min-height:0;display:flex}.logpanel-head{border-bottom:1px solid rgb(var(--stroke));flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;height:46px;padding:0 16px;display:flex}.logpanel-head strong{font-size:var(--font-sm);align-items:center;gap:8px;font-weight:500;display:flex}.logpanel-filters{border-bottom:1px solid rgba(var(--stroke), .7);flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:6px;padding:10px 16px;display:flex;overflow-x:auto}.logbox{min-height:0;font-family:var(--font-mono);letter-spacing:-.02em;flex:1;padding:8px 0 12px;font-size:11.5px;line-height:1.7;overflow-y:auto}.logline{color:rgb(var(--text-2));grid-template-columns:62px minmax(0,1fr);gap:8px;padding:1px 16px;display:grid}.logline:hover{background:rgba(var(--background-2), .6)}.logline .ts{color:rgb(var(--text-3));font-variant-numeric:tabular-nums}.logline .msg{overflow-wrap:anywhere}.logline.warn .msg{color:rgb(var(--yellow))}.logline.error .msg{color:rgb(var(--red))}.logline .ok{color:rgb(var(--green))}.logline .at{color:rgb(var(--text))}.logline .arrow{color:rgb(var(--text-3))}.log-follow{pointer-events:none;justify-content:center;display:flex;position:sticky;bottom:8px}.log-follow button{pointer-events:auto}.langbar{flex-direction:column;gap:8px;display:flex}.legend{flex-wrap:wrap;gap:4px 10px;display:flex}.legend span{color:rgb(var(--text-3));font-size:var(--font-xs);font-variant-numeric:tabular-nums;align-items:center;gap:5px;display:inline-flex}.legend i{border-radius:2px;width:6px;height:6px;display:inline-block}.legend b{color:rgb(var(--text-2));text-transform:uppercase;font-weight:500}.acct-progress{align-items:center;gap:8px;width:100%;display:flex}.acct-progress .track{flex:1}.acct-progress>span{min-width:44px;color:rgb(var(--text-3));font-size:var(--font-xs);text-align:right;font-variant-numeric:tabular-nums}.sendline{min-width:0;font-size:var(--font-sm);align-items:center;gap:6px;display:flex}.sendline .arrow{color:rgb(var(--text-3));flex-shrink:0}.sendline span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tpl-list{flex-direction:column;gap:6px;display:flex}.tpl-card{border:1px solid rgb(var(--stroke));text-align:left;background:0 0;border-radius:8px;flex-direction:column;gap:6px;width:100%;padding:10px 12px;transition:background .2s,border-color .2s;display:flex}.tpl-card:hover{background:rgba(var(--background-2), .6)}.tpl-card.on{border-color:rgba(var(--primary), .35);background:rgba(var(--primary), .07)}.tpl-card .top{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.tpl-card strong{font-size:var(--font-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.tpl-card p{-webkit-line-clamp:2;color:rgb(var(--text-3));font-size:var(--font-xs);-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.tpl-card .meta{align-items:center;gap:6px;display:flex}.editor{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.editor-section{border-bottom:1px solid rgba(var(--stroke), .7);flex-direction:column;gap:10px;padding:18px 28px;display:flex}.editor-section:last-child{border-bottom:none}.name-input{min-width:0;color:rgb(var(--text));font-size:var(--font-md);background:0 0;border:none;border-radius:4px;outline:none;flex:1;margin-left:-6px;padding:4px 6px;font-weight:500;transition:background .2s}.name-input:hover,.name-input:focus{background:rgb(var(--background-2))}.name-input::placeholder{color:rgb(var(--text-3))}.tok-bar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.message-box{min-height:180px}.message-box textarea{min-height:160px;font-size:var(--font-md);line-height:1.6}.count-line{color:rgb(var(--text-3));font-size:var(--font-xs);font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.variants{border:1px solid rgb(var(--stroke));border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.variant{border-bottom:1px solid rgba(var(--stroke), .7);font-size:var(--font-sm);color:rgb(var(--text-2));white-space:pre-wrap;overflow-wrap:anywhere;grid-template-columns:26px minmax(0,1fr);gap:10px;padding:10px 12px;line-height:1.5;display:grid}.variant:last-child{border-bottom:none}.variant:nth-child(2n){background:linear-gradient(to right, rgba(var(--background-2), .5) 30%, rgba(var(--background-2), .1))}.variant .idx,.variant .lang{padding-top:1px}.variant.tr{grid-template-columns:34px minmax(0,1fr)}.hl-var{color:rgb(var(--primary))}.hl-spin{color:rgb(var(--green))}.tpl-text{color:rgb(var(--text-2));font-size:var(--font-sm);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}.tpl-text.clamp{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tpl-preview{border:1px solid rgba(var(--stroke), .7);background:rgba(var(--background-2), .35);border-radius:6px;flex-direction:column;gap:8px;margin-top:4px;padding:10px 12px;display:flex}.cheat{flex-direction:column;gap:7px;display:flex}.cheat>div{color:rgb(var(--text-3));font-size:var(--font-xs);justify-content:space-between;align-items:center;gap:8px;display:flex}.img-chip{border:1px solid rgb(var(--stroke));max-width:100%;font-size:var(--font-sm);border-radius:8px;align-items:center;gap:8px;padding:6px 10px 6px 6px;display:inline-flex}.img-chip img{object-fit:cover;border-radius:5px;width:28px;height:28px}.auth{background:rgb(var(--background-2));justify-content:center;align-items:center;height:100dvh;padding:24px;display:flex;position:relative;overflow:hidden}.auth-bg{pointer-events:none;position:absolute;inset:0}.auth-bg:before{content:"";background:radial-gradient(38% 34% at 22% 26%, rgba(var(--primary), .3), transparent 70%), radial-gradient(34% 30% at 78% 74%, rgba(var(--violet), .22), transparent 70%), radial-gradient(26% 24% at 70% 18%, rgba(var(--teal), .12), transparent 70%);filter:blur(20px);animation:24s ease-in-out infinite alternate drift;position:absolute;inset:-20%}.auth-bg:after{content:"";opacity:.35;background-image:radial-gradient(rgba(var(--text), .14) 1px, transparent 1px);background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60%,#000,#0000);mask-image:radial-gradient(70% 60%,#000,#0000)}@keyframes drift{0%{transform:translate(-2%,-1%)scale(1)}to{transform:translate(2%,2%)scale(1.06)}}.auth-card{z-index:2;border:1px solid rgb(var(--stroke));background:rgba(var(--background), .8);-webkit-backdrop-filter:blur(10px);width:400px;max-width:100%;animation:slideUp .3s var(--ease);border-radius:10px;flex-direction:column;gap:16px;padding:24px;display:flex;position:relative}.auth-card .logo{gap:11px;margin-bottom:6px}.auth-card .wordmark{font-size:21px}.auth-card .wordmark .wm-v{font-size:13px}.auth-card h2{font-size:var(--font-xl);font-weight:500}.auth-card p{color:rgb(var(--text-3));font-size:var(--font-md);line-height:1.4}.auth-card form{flex-direction:column;gap:12px;display:flex}.auth-foot{border-top:1px solid rgb(var(--stroke));color:rgb(var(--text-3));font-size:var(--font-sm);justify-content:space-between;align-items:center;gap:8px;padding-top:14px;display:flex}.auth-foot button{color:rgb(var(--primary));font-size:var(--font-sm)}.auth-foot button:hover{color:rgb(var(--text))}.auth-meta{z-index:2;color:rgb(var(--text-3));font-size:var(--font-xs);justify-content:center;gap:16px;display:flex;position:absolute;bottom:18px;left:0;right:0}.auth-meta span{align-items:center;gap:6px;display:inline-flex}.boot{place-items:center;height:100dvh;display:grid}.boot .logo-mark{animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.45;transform:scale(.94)}}@media (width<=1440px){.dash{grid-template-columns:minmax(0,1fr) 380px}.strip-cell{padding:14px 18px 16px}}@media (width<=1366px){.dash{grid-template-columns:minmax(0,1fr) 330px}.logline{grid-template-columns:56px minmax(0,1fr);padding:1px 12px}.logpanel-head,.logpanel-filters{padding-left:12px;padding-right:12px}}
