@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial}}}@layer theme{:root,:host{--font-sans:"PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Source Han Sans SC", "Microsoft YaHei", system-ui, sans-serif;--font-mono:"IBM Plex Mono", "SF Mono", ui-monospace, Menlo, monospace;--spacing:.25rem;--container-md:28rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--font-weight-medium:500;--font-weight-semibold:600;--tracking-widest:.1em;--leading-snug:1.375;--leading-relaxed:1.625;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-app:#f3f2ee;--color-surface:#fff;--color-raised:#fafaf7;--color-fill:#f0efe9;--color-hit:#e8e6df;--color-line:#dcd9d0;--color-line-soft:#eceae3;--color-ink:#1a1916;--color-ink-soft:#2c2b28;--color-ink-mut:#5c5a53;--color-accent:#1e3a5f;--color-accent-soft:#edeff2;--color-on-accent:#fff;--color-ok:#0f766e;--color-warn:#c2410c;--color-danger:#e5484d;--color-danger-soft:#fceded}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{top:0;right:0;bottom:0;left:0}.top-1\/2{top:50%}.right-1\.5{right:calc(var(--spacing) * 1.5)}.right-4{right:calc(var(--spacing) * 4)}.bottom-4{bottom:calc(var(--spacing) * 4)}.z-30{z-index:30}.z-40{z-index:40}.z-\[80\]{z-index:80}.z-\[90\]{z-index:90}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-3\.5{margin-top:calc(var(--spacing) * 3.5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-\[148px\]{height:148px}.h-dvh{height:100dvh}.h-full{height:100%}.max-h-\[50vh\]{max-height:50vh}.max-h-dvh{max-height:100dvh}.min-h-40{min-height:calc(var(--spacing) * 40)}.min-h-\[88px\]{min-height:88px}.min-h-dvh{min-height:100dvh}.w-4{width:calc(var(--spacing) * 4)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-11{width:calc(var(--spacing) * 11)}.w-\[148px\]{width:148px}.w-\[200px\]{width:200px}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[16rem\]{max-width:16rem}.max-w-\[360px\]{max-width:360px}.max-w-\[1280px\]{max-width:1280px}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:0}.min-w-\[220px\]{min-width:220px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[1fr_auto_1fr\]{grid-template-columns:1fr auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.bg-app{background-color:var(--color-app)}.bg-raised{background-color:var(--color-raised)}.p-0{padding:0}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.px-0{padding-inline:0}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.pt-1{padding-top:var(--spacing)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-px{padding-top:1px}.pr-0\.5{padding-right:calc(var(--spacing) * .5)}.pr-11{padding-right:calc(var(--spacing) * 11)}.pb-1{padding-bottom:var(--spacing)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[18px\]{font-size:18px}.text-\[28px\]{font-size:28px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--color-danger\)\]{color:var(--color-danger)}.text-ink{color:var(--color-ink)}.text-ink-mut{color:var(--color-ink-mut)}.text-ink-soft{color:var(--color-ink-soft)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.opacity-50{opacity:.5}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media not all and (min-width:64rem){.max-lg\:mt-0{margin-top:0}.max-lg\:hidden{display:none}}@media(min-width:40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:ml-auto{margin-left:auto}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:px-5{padding-inline:calc(var(--spacing) * 5)}.sm\:py-5{padding-block:calc(var(--spacing) * 5)}.sm\:pb-5{padding-bottom:calc(var(--spacing) * 5)}}@media(min-width:48rem){.md\:block{display:block}.md\:hidden{display:none}.md\:flex-row{flex-direction:row}}@media(min-width:64rem){.lg\:static{position:static}.lg\:hidden{display:none}.lg\:translate-x-0{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}}:root{--ink-0:#fff;--ink-50:#f3f2ee;--ink-100:#e8e6df;--ink-200:#d8d5cc;--ink-400:#8a877c;--ink-500:#5c5a53;--ink-700:#2c2b28;--ink-950:#1a1916;--live-700:#0f766e;--warn-700:#c2410c;--fault-700:#e5484d;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--duration-fast:.15s;--duration-med:.2s;--z-nav:40;--z-overlay:80;--z-toast:90;--sidebar-w:200px;--header-h:48px;--button-h:36px;--input-h:36px;--radius:8px;--radius-ctl:6px;--radius-pill:999px;--radius-nav:6px;--app-from:#f3f2ee;--scrim:#1a19166b}.dark{--ink-0:#161618;--ink-50:#1e1e21;--ink-950:#ecece8;--live-700:#2dd4bf;--warn-700:#fb923c;--fault-700:#e5484d;--app-from:#161618;--scrim:#00000094;--color-app:#161618;--color-surface:#1e1e21;--color-raised:#242428;--color-fill:#2a2a2f;--color-hit:#323238;--color-line:#3a3a40;--color-line-soft:#2e2e33;--color-ink:#ecece8;--color-ink-soft:#c8c8c2;--color-ink-mut:#8e8e88;--color-accent:#3d5a80;--color-accent-soft:#3d5a8047;--color-on-accent:#fff;--color-gold:#ecece8;--color-gold-2:#c8c8c2;--color-ok:#2dd4bf;--color-ok-soft:#2dd4bf24;--color-warn:#fb923c;--color-warn-soft:#fb923c24;--color-danger:#e5484d;--color-danger-soft:#e5484d29}html,body,#root{height:100dvh}html{color-scheme:light;overscroll-behavior:none}html.dark{color-scheme:dark}html,body{touch-action:manipulation}.skip-link{z-index:100;border-radius:var(--radius-ctl);background:var(--color-accent);color:var(--color-on-accent);padding:8px 12px;font-size:13px;font-weight:600;position:absolute;top:-48px;left:12px}.skip-link:focus{outline:2px solid var(--color-accent);outline-offset:2px;top:12px}h1,h2,.page-title{text-wrap:pretty}.page-title{letter-spacing:0;color:var(--color-ink);font-size:18px;font-weight:600;line-height:1.3}@media(max-width:1023px){.page-title{display:none}}.page-desc{color:var(--color-ink-mut);font-size:14px;font-weight:400}::selection{background:#1e3a5f38}@supports (color:color-mix(in lab,red,red)){::selection{background:color-mix(in srgb,var(--color-accent) 22%,transparent)}}::selection{color:var(--color-ink)}html,body{background-color:var(--color-app)}body{color:var(--color-ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-tap-highlight-color:transparent;margin:0;font-size:14px;line-height:1.5}.card,.login-box,.machine,.pkg-group,.more-menu-pop,.sidebar-pane,.topbar,.page-cta-bar{background:var(--color-surface);border-color:var(--color-line)}.modal-scrim{background:var(--scrim);cursor:pointer;border:0}.modal-panel{z-index:1;flex-direction:column;max-height:92dvh;margin:0;padding:0;display:flex;position:relative;overflow:hidden}.modal-head{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:16px 16px 12px;display:flex}.modal-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:16px;font-weight:600;line-height:1.3;overflow:hidden}.modal-body{overscroll-behavior:contain;min-height:0;padding:0 16px 16px;overflow-y:auto}.modal-foot{border-top:1px solid var(--color-line-soft);flex-shrink:0;justify-content:flex-end;gap:8px;padding:12px 16px 16px;display:flex}#root{z-index:1;position:relative}.font-mono{font-family:var(--font-mono)}.kicker{color:var(--color-ink-mut);font-size:11px;font-weight:500}.input-field{height:calc(var(--spacing) * 9);border-style:var(--tw-border-style);width:100%;padding-inline:calc(var(--spacing) * 3);--tw-outline-style:none;border-radius:var(--radius-ctl);background:var(--color-surface);color:var(--color-ink);border-color:var(--color-line);transition:border-color var(--duration-fast) ease,background var(--duration-fast) ease;border-width:1px;outline-style:none;font-size:13px}.input-field:hover{border-color:#9099a3}@supports (color:color-mix(in lab,red,red)){.input-field:hover{border-color:color-mix(in srgb,var(--color-accent) 40%,var(--color-line))}}.input-field:focus,.input-field:focus-visible{border-color:var(--color-accent);outline:1px solid var(--color-accent);outline-offset:0}.input-field:disabled{opacity:.5;cursor:not-allowed}select.input-field{cursor:pointer}textarea.input-field{resize:vertical;height:auto;min-height:7rem;padding-top:.55rem;padding-bottom:.55rem}.search-field{flex:none;width:17rem;max-width:100%;position:relative}.search-field .input-field{padding-left:2rem}.search-field-icon{color:var(--color-ink-mut);pointer-events:none;position:absolute;top:50%;left:.625rem;transform:translateY(-50%)}.toolbar-select.input-field{flex:none;width:12rem;max-width:100%}@media(max-width:639px){.search-field,.toolbar-select.input-field{width:100%}}.btn-primary{height:calc(var(--spacing) * 9);cursor:pointer;justify-content:center;align-items:center;gap:calc(var(--spacing) * 1.5);padding-inline:calc(var(--spacing) * 3.5);border-radius:var(--radius-ctl);transition:opacity var(--duration-fast) ease,background var(--duration-fast) ease;background:var(--color-accent);color:var(--color-on-accent);border:1px solid var(--color-accent);font-size:13px;font-weight:600;display:inline-flex}.btn-primary:hover{opacity:.9}.btn-primary:active{transform:translateY(.5px)}.btn-primary:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-ghost{height:calc(var(--spacing) * 9);cursor:pointer;justify-content:center;align-items:center;gap:calc(var(--spacing) * 1.5);border-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 3);border-radius:var(--radius-ctl);transition:color var(--duration-fast) ease,border-color var(--duration-fast) ease,background var(--duration-fast) ease;border-width:1px;border-color:var(--color-line);color:var(--color-ink);background:var(--color-surface);font-size:13px;font-weight:500;display:inline-flex}.btn-ghost:hover{border-color:#9aa1a8}@supports (color:color-mix(in lab,red,red)){.btn-ghost:hover{border-color:color-mix(in srgb,var(--color-accent) 35%,var(--color-line))}}.btn-ghost:hover{background:var(--color-hit);color:var(--color-ink)}.btn-ghost:active{transform:translateY(.5px)}.btn-ghost:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-danger{height:calc(var(--spacing) * 9);cursor:pointer;justify-content:center;align-items:center;gap:calc(var(--spacing) * 1.5);padding-inline:calc(var(--spacing) * 3);border-radius:var(--radius-ctl);color:#fff;background:var(--color-danger);border:1px solid var(--color-danger);font-size:13px;font-weight:600;display:inline-flex}.btn-danger:hover{background:#c53e42}@supports (color:color-mix(in lab,red,red)){.btn-danger:hover{background:color-mix(in srgb,var(--color-danger) 86%,#000)}}.btn-danger:hover{border-color:#c53e42}@supports (color:color-mix(in lab,red,red)){.btn-danger:hover{border-color:color-mix(in srgb,var(--color-danger) 86%,#000)}}.btn-danger:hover{color:#fff}.btn-danger:disabled{opacity:.45;cursor:not-allowed}.btn-primary.w-8,.btn-primary.w-9,.btn-ghost.w-8,.btn-ghost.w-9,.btn-danger.w-8,.btn-danger.w-9{border-radius:var(--radius-ctl);flex-shrink:0;padding-inline:0}.btn-primary.h-8,.btn-ghost.h-8,.btn-danger.h-8{height:calc(var(--spacing) * 8)}.card{border-radius:var(--radius);border:1px solid var(--color-line)}.login-page{min-height:100dvh;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}.login-box{border:1px solid var(--color-line);border-radius:var(--radius);padding:24px 22px}.lk-tabs{border-bottom:1px solid var(--color-line);flex-wrap:wrap;gap:0;margin-bottom:1.25rem;display:flex}.lk-tab{height:34px;color:var(--color-ink-mut);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:0 12px;font-size:13px;font-weight:500;transition:color .15s,border-color .15s}.lk-tab:hover{color:var(--color-ink)}.lk-tab.is-active{color:var(--color-ink);border-bottom-color:var(--color-ink);background:0 0;font-weight:600}.lk-tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.filter-tabs{border-bottom:1px solid var(--color-line);flex-wrap:wrap;align-items:center;gap:0;display:flex}.filter-tab{height:34px;font:inherit;color:var(--color-ink-mut);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:0 12px;font-size:13px;font-weight:500;transition:color .15s,border-color .15s}.filter-tab:hover{color:var(--color-ink)}.filter-tab.is-on{color:var(--color-ink);border-bottom-color:var(--color-ink);background:0 0;font-weight:600}.table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:14px}table.data th{padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);text-align:left;color:var(--color-ink-mut);border-bottom:1px solid var(--color-line);background:var(--color-fill);font-size:12px;font-weight:600}table.data td{padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2.5);color:var(--color-ink);border-bottom:1px solid var(--color-line-soft);vertical-align:middle;font-variant-numeric:tabular-nums}table.data tbody tr{transition:background .15s}@media(hover:hover)and (pointer:fine){table.data tbody tr:hover{background:var(--color-fill)}}table.data tbody tr:last-child td{border-bottom:0}table.data tbody tr td:first-child{border-left:3px solid #0000;padding-left:10px}table.data tbody tr.is-live td:first-child{border-left-color:var(--color-ok)}table.data tbody tr.is-fault td:first-child{border-left-color:var(--color-danger)}table.data tbody tr.is-off td:first-child{border-left-color:#c8c8c8}.dark table.data tbody tr.is-off td:first-child{border-left-color:#3f3f46}.status-word{font-size:13px;font-weight:500}.status-word.is-live{color:var(--color-ok)}.status-word.is-fault{color:var(--color-danger)}.status-word.is-off{color:var(--color-ink-mut)}.status-word.is-warn{color:var(--color-warn)}.status-word.is-mute{color:var(--color-ink-mut)}.path-line{font-size:13px;font-weight:500;line-height:1.55}.path-arrow{color:var(--color-ink-mut);font-weight:400}.dot{border-radius:var(--radius-pill);vertical-align:1px;width:6px;height:6px;display:inline-block}.dot-on{background:var(--color-ok)}.dot-off{background:#c8c8c8}.dark .dot-off{background:#3f3f46}.chip{align-items:center;gap:var(--spacing);border-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);--tw-font-weight:var(--font-weight-medium);font-size:11px;font-weight:var(--font-weight-medium);border-width:1px;border-color:var(--color-line);color:var(--color-ink-soft);background:0 0;border-radius:4px;display:inline-flex}button.chip{cursor:pointer;background:var(--color-surface);color:var(--color-ink)}button.chip:hover{border-color:var(--color-ink-mut);background:var(--color-fill)}.chip.is-on{border-color:var(--color-ink);color:var(--color-ink);background:var(--color-fill);font-weight:600}.badge{border:1px solid var(--color-line);height:18px;color:var(--color-ink-mut);white-space:nowrap;background:0 0;border-radius:4px;align-items:center;gap:4px;padding:0 6px;font-size:11px;font-weight:500;display:inline-flex}.badge-ok{color:var(--color-ok);border-color:#8ab1a9}@supports (color:color-mix(in lab,red,red)){.badge-ok{border-color:color-mix(in srgb,var(--color-ok) 40%,var(--color-line))}}.badge-warn{color:var(--color-warn);border-color:#d29c82}@supports (color:color-mix(in lab,red,red)){.badge-warn{border-color:color-mix(in srgb,var(--color-warn) 40%,var(--color-line))}}.badge-danger{color:var(--color-danger);border-color:#e09f9c}@supports (color:color-mix(in lab,red,red)){.badge-danger{border-color:color-mix(in srgb,var(--color-danger) 40%,var(--color-line))}}.badge-gold,.badge-muted{color:var(--color-ink-soft)}.node-pick{cursor:pointer;align-items:flex-start;gap:calc(var(--spacing) * 3);border-style:var(--tw-border-style);width:100%;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2.5);text-align:left;border-radius:var(--radius-ctl);background:var(--color-surface);border-width:1px;border-color:var(--color-line);color:var(--color-ink);transition:border-color .15s,background .15s;display:flex}.node-pick:hover{border-color:#a6a39c}@supports (color:color-mix(in lab,red,red)){.node-pick:hover{border-color:color-mix(in srgb,var(--color-ink) 28%,var(--color-line))}}.node-pick:hover{background:var(--color-fill)}.node-pick.is-on{border-color:var(--color-accent);background:var(--color-accent-soft)}.node-pick:disabled{cursor:default;opacity:.65}.node-check{margin-top:calc(var(--spacing) * .5);border:1px solid var(--color-line);width:1.05rem;height:1.05rem;color:var(--color-on-accent);border-radius:6px;flex-shrink:0;place-items:center;font-size:10px;line-height:1;display:grid}.node-check.is-on{background:var(--color-accent);border-color:var(--color-accent)}.linkish,.row-act{height:28px;font-family:var(--font-sans);color:var(--color-ink);cursor:pointer;background:var(--color-fill);border:1px solid var(--color-line);border-radius:var(--radius-ctl);white-space:nowrap;vertical-align:middle;transition:color var(--duration-fast) ease,border-color var(--duration-fast) ease,background var(--duration-fast) ease;justify-content:center;align-items:center;gap:4px;padding:0 9px;font-size:12px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.linkish:hover,.row-act:hover{color:var(--color-ink);border-color:#9aa1a8}@supports (color:color-mix(in lab,red,red)){.linkish:hover,.row-act:hover{border-color:color-mix(in srgb,var(--color-accent) 35%,var(--color-line))}}.linkish:hover,.row-act:hover{background:var(--color-hit)}.linkish:active,.row-act:active{transform:translateY(.5px)}.linkish:disabled,.row-act:disabled{opacity:.45;cursor:not-allowed;transform:none}.row-act.is-danger,.linkish.is-danger{color:#fff;background:var(--color-danger);border-color:var(--color-danger)}.row-act.is-danger:hover,.linkish.is-danger:hover{color:#fff;border-color:#c53e42;text-decoration:none}@supports (color:color-mix(in lab,red,red)){.row-act.is-danger:hover,.linkish.is-danger:hover{border-color:color-mix(in srgb,var(--color-danger) 86%,#000)}}.row-act.is-danger:hover,.linkish.is-danger:hover{background:#c53e42}@supports (color:color-mix(in lab,red,red)){.row-act.is-danger:hover,.linkish.is-danger:hover{background:color-mix(in srgb,var(--color-danger) 86%,#000)}}.icon-btn{border:1px solid var(--color-line);border-radius:var(--radius-ctl);background:var(--color-fill);width:28px;height:28px;color:var(--color-ink);cursor:pointer;transition:color var(--duration-fast) ease,border-color var(--duration-fast) ease,background var(--duration-fast) ease;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover{background:var(--color-hit);border-color:var(--color-ink-mut)}.icon-btn:active{transform:translateY(.5px)}.icon-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.icon-btn.is-on{color:var(--color-accent);border-color:#9099a3}@supports (color:color-mix(in lab,red,red)){.icon-btn.is-on{border-color:color-mix(in srgb,var(--color-accent) 40%,var(--color-line))}}.icon-row{justify-content:flex-end;align-items:center;gap:6px;display:flex}.copy-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-mono);color:var(--color-ink-mut);-webkit-user-select:text;user-select:text;font-size:12px;overflow:hidden}.copy-text-wrap{text-overflow:unset;white-space:normal;word-break:break-all;overflow:visible}.hit-surface{cursor:pointer;border-radius:var(--radius-ctl);text-align:left;transition:border-color var(--duration-fast) ease,background var(--duration-fast) ease;background:0 0;border:1px solid #0000;padding:6px 8px}.hit-surface:hover{background:var(--color-fill);border-color:var(--color-line)}.skeleton{background:linear-gradient(90deg,var(--color-raised),var(--color-line-soft),var(--color-raised));border-radius:var(--radius-ctl);background-size:200% 100%;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.gold-rule{background:var(--color-line);height:1px}.notice{padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2.5);--tw-leading:var(--leading-relaxed);font-size:13px;line-height:var(--leading-relaxed);border-radius:var(--radius-nav);color:var(--color-ink-soft);background:var(--color-fill);border:1px solid var(--color-line);border-left-width:3px}a.notice{cursor:pointer}a.notice:hover{border-color:var(--color-ink-mut)}.alert-row{color:var(--color-ink);background:var(--color-fill);border:1px solid var(--color-line);border-left-width:3px;border-left-color:var(--color-danger);border-radius:var(--radius-nav);padding:8px 12px;font-size:13px;text-decoration:none;display:block}.alert-row.is-warn{border-left-color:var(--color-warn)}.alert-row.is-fault{border-left-color:var(--color-danger);color:var(--color-danger)}a.alert-row:hover{color:var(--color-ink);border-color:var(--color-ink-mut)}.dropzone{border:1px dashed var(--color-line);border-radius:var(--radius-ctl);text-align:center;cursor:pointer;background:var(--color-surface);padding:1.25rem 1rem;transition:border-color .15s;display:block}.dropzone:hover,.dropzone.is-over{border-color:var(--color-accent)}.meter{border-radius:var(--radius-pill);background:var(--color-raised);height:4px;position:relative;overflow:hidden}.meter-bar{border-radius:inherit;height:100%;transition:width .2s}.meter-mark{background:var(--color-ink-mut);opacity:.55;pointer-events:none;width:1px;position:absolute;top:-2px;bottom:-2px}.card-emphasis{border-left:3px solid var(--color-accent)}.notice-warn{border-left-color:var(--color-warn)}.notice-danger{border-left-color:var(--color-danger)}.more-menu{display:inline-flex;position:relative}.more-menu-pop{z-index:50;border-radius:var(--radius);border:1px solid var(--color-line);overscroll-behavior:contain;min-width:12.5rem;padding:6px;position:fixed;box-shadow:0 8px 24px #1a19161f}.more-menu-item{text-align:left;border-radius:var(--radius-ctl);width:100%;color:var(--color-ink);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 10px;font-size:13px;font-weight:500;display:flex}.more-menu-item:hover{background:var(--color-fill)}.more-menu-item:disabled{opacity:.45;cursor:not-allowed}.more-menu-item.is-danger{color:var(--color-danger)}.more-menu-item.is-danger:hover{background:var(--color-danger-soft);color:var(--color-danger)}.more-menu-hint{color:var(--color-ink-mut);font-size:11px}.more-menu-sep{background:var(--color-line-soft);height:1px;margin:4px 6px}.setup-list{border-top:1px solid var(--color-line);margin-top:20px;padding-top:16px}.setup-step{border-bottom:1px solid var(--color-line-soft);gap:12px;padding:12px 0;display:flex}.setup-step:last-child{border-bottom:0}.setup-n{border:1px solid var(--color-line);width:20px;height:20px;color:var(--color-ink-soft);background:0 0;border-radius:8px;flex-shrink:0;place-items:center;margin-top:1px;font-size:11px;font-weight:600;display:grid}.setup-step.is-done .setup-n{border-color:var(--color-ok);color:var(--color-ok)}.setup-step.is-now .setup-n{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.page-cta-bar{display:none}@media(max-width:639px){.page-cta-bar{z-index:25;padding:10px max(12px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));border-top:1px solid var(--color-line);background:var(--color-surface);gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0}.page-cta-bar>.btn-primary{flex:1;min-height:44px}.page-cta-bar>div{gap:8px;width:100%;display:flex}.page-cta-bar>div>.btn-primary,.page-cta-bar>div>.btn-ghost{flex:1;min-height:44px}}.traffic-area-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:12px;overflow:hidden}.traffic-area-head{border-bottom:1px solid var(--color-line-soft);align-items:center;gap:8px;padding:14px 16px;font-size:14px;font-weight:600;display:flex}.traffic-area-dot{background:#ff7a1a;border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.traffic-area-body{touch-action:pan-y;position:relative}.traffic-area-svg{display:block}.traffic-area-grid{stroke:var(--color-line);stroke-dasharray:4 4;stroke-width:1px}.traffic-area-base{stroke:#3b82f6;stroke-width:1.6px}.traffic-area-cursor{stroke:#3b82f6;stroke-width:1px;stroke-dasharray:4 3}.traffic-area-ylab,.traffic-area-xlab{fill:var(--color-ink-mut);font-variant-numeric:tabular-nums;font-size:11px}.traffic-area-xlab.is-hide{display:none}.traffic-area-tip{background:var(--color-surface);border:1px solid var(--color-line);color:var(--color-ink);pointer-events:none;white-space:nowrap;z-index:2;border-radius:8px;padding:8px 10px;font-size:12px;line-height:1.45;position:absolute;transform:translate(-50%,-110%);box-shadow:0 6px 18px #1a19161f}.traffic-area-tip .is-val{color:#ff7a1a}.dark .traffic-area-tip{box-shadow:0 6px 18px #00000059}.traffic-legend{color:var(--color-ink-mut);justify-content:flex-end;align-items:center;gap:12px;margin-bottom:8px;font-size:12px;display:flex}.traffic-legend span{align-items:center;gap:6px;display:inline-flex}.traffic-legend i{border-radius:2px;width:8px;height:8px;display:inline-block}.traffic-legend i.is-up{background:var(--color-ok)}.traffic-legend i.is-down{background:var(--color-accent)}.traffic-bars{align-items:stretch;gap:4px;height:132px;display:flex}.traffic-bars.is-dense{gap:2px}.traffic-bar{flex-direction:column;flex:1;align-items:center;min-width:0;display:flex}.traffic-bar-track{flex:1;justify-content:center;align-items:flex-end;width:100%;display:flex}.traffic-bar-stack{border-radius:6px 6px 0 0;flex-direction:column;justify-content:flex-end;width:70%;max-width:22px;min-height:2px;display:flex;overflow:hidden}.traffic-bars.is-dense .traffic-bar-stack{width:80%;max-width:16px}.traffic-bar-fill{width:100%;min-height:0}.traffic-bar-fill.is-up{background:var(--color-ok)}.traffic-bar-fill.is-down{background:var(--color-accent)}.traffic-bar-fill.is-empty{background:var(--color-accent);opacity:.22;flex:1;min-height:2px}.traffic-bar-label{color:var(--color-ink-mut);font-variant-numeric:tabular-nums;margin-top:6px;font-size:10px;line-height:1}.traffic-bars.is-dense .traffic-bar-label{font-size:9px}@media(max-width:720px){.traffic-bars.is-hours .traffic-bar:nth-child(2n) .traffic-bar-label,.traffic-bars.is-days.is-dense .traffic-bar:not(:nth-child(5n)):not(:last-child) .traffic-bar-label{visibility:hidden}}.plan-card,.server-card{gap:calc(var(--spacing) * 2.5);padding:calc(var(--spacing) * 4);text-align:left;flex-direction:column;display:flex}.plan-card .plan-nodes{gap:calc(var(--spacing) * 1.5);flex-wrap:wrap;display:flex}.seg{border:1px solid var(--color-line);border-radius:var(--radius-ctl);background:var(--color-surface);height:36px;display:flex;overflow:hidden}.seg-item{color:var(--color-ink-mut);cursor:pointer;background:0 0;border:0;flex:1;font-size:13px;font-weight:500}.seg-item+.seg-item{border-left:1px solid var(--color-line)}.seg-item:hover{color:var(--color-ink);background:var(--color-fill)}.seg-item.is-on{color:var(--color-ink);background:var(--color-fill);font-weight:600}.pkg-section-head{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:8px;display:flex}.pkg-pick-list{flex-direction:column;gap:8px;max-height:min(52vh,28rem);display:flex;overflow-y:auto}.pkg-group{border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface);overflow:hidden}.pkg-group-head{background:var(--color-fill);cursor:pointer;text-align:left;width:100%;color:inherit;font:inherit;border:0;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.pkg-group-head:hover{background:var(--color-hit)}.pkg-server{color:var(--color-accent);font-size:13px;font-weight:600}.pkg-node{background:var(--color-surface);border-top:1px solid var(--color-line-soft);border-left:2px solid #0000;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding-right:12px;transition:background .15s,border-color .15s;display:grid}.pkg-node:hover{background:var(--color-fill)}.pkg-node.is-on{background:var(--color-raised);border-left-color:var(--color-accent)}.pkg-node-hit{text-align:left;cursor:pointer;min-width:0;color:inherit;font:inherit;background:0 0;border:0;grid-template-columns:1.05rem minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 0 8px 12px;display:grid}.pkg-node-name{font-size:13px;font-weight:600}.pkg-node-meta{color:var(--color-ink-mut);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:baseline;gap:8px;font-size:12px;display:flex}.pkg-node-port{font-family:var(--font-mono)}.pkg-mult-wrap{color:var(--color-ink-mut);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.pkg-mult.input-field{text-align:right;width:3.25rem;height:28px;font-family:var(--font-mono);flex:none;padding:0 6px;font-size:12px}.param-row{align-items:flex-start;gap:calc(var(--spacing) * 2);border-bottom-style:var(--tw-border-style);padding-block:calc(var(--spacing) * 2);border-bottom-width:1px;border-color:var(--color-line-soft);grid-template-columns:6.5rem minmax(0,1fr) auto;display:grid}.param-row:last-child{border-bottom:0}@media(max-width:639px){.param-row{grid-template-columns:minmax(0,1fr)}}.brand-mark{background:0 0;flex-shrink:0;justify-content:center;align-items:flex-end;gap:3px;padding-bottom:1px;display:inline-flex}.brand-mark span{background:var(--color-ink);display:block}.user-mark{border:1px solid var(--color-line);border-radius:var(--radius-ctl);width:24px;height:24px;color:var(--color-ink);flex-shrink:0;place-items:center;font-size:13px;font-weight:600;display:grid}.sidebar-pane{border-right:1px solid var(--color-line);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.sidebar-brand{font-size:17px;font-weight:600;line-height:1.2}.sidebar-ver{color:var(--color-ink-mut);font-size:13px}.sidebar-group{color:var(--color-ink-mut);font-size:14px;font-weight:600}.sidebar-user{font-size:15px;font-weight:600;line-height:1.2}.sidebar-role{color:var(--color-ink-mut);font-size:13px}.topbar{border-bottom:1px solid var(--color-line);padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.sidebar-link{color:var(--color-ink-soft);transition:color var(--duration-fast) ease,background var(--duration-fast) ease,border-color var(--duration-fast) ease;border-left:2px solid #0000;border-radius:0;align-items:center;gap:10px;padding:8px 10px;font-size:16px;font-weight:500;text-decoration:none;display:flex}.sidebar-link:hover{color:var(--color-ink);background:var(--color-fill)}.sidebar-link.is-active{color:var(--color-ink);background:var(--color-fill);border-left-color:var(--color-accent);font-weight:600}.dash-stats{background:var(--color-surface);border:1px solid var(--color-line);border-radius:12px;grid-template-columns:repeat(5,minmax(0,1fr));margin:4px 0 20px;display:grid;overflow:hidden}.dash-stat{min-width:0;color:inherit;border-right:1px solid var(--color-line-soft);padding:18px 20px 16px;text-decoration:none;display:block}.dash-stat:last-child{border-right:0}.dash-stat-k{color:var(--color-ink-mut);margin-bottom:8px;font-size:13px}.dash-stat-v{letter-spacing:0;font-variant-numeric:tabular-nums;font-size:22px;font-weight:600;line-height:1.2}.dash-stat-h{color:var(--color-ink-mut);margin-top:6px;font-size:12px}.dash-stat-live{color:var(--color-ok);font-variant-numeric:tabular-nums;flex-direction:column;gap:2px;font-size:15px;font-weight:600;line-height:1.35;display:flex}@media(max-width:900px){.dash-stats{grid-template-columns:1fr 1fr}.dash-stat{border-right:1px solid var(--color-line-soft);border-bottom:1px solid var(--color-line-soft)}.dash-stat:nth-child(2n){border-right:0}.dash-stat.is-live{border-bottom:0;border-right:0;grid-column:1/-1}}.run-hero{border-left:3px solid #c8c8c8;flex-wrap:wrap;align-items:flex-end;gap:8px 28px;margin:4px 0 20px;padding:4px 0 20px 16px;display:flex}.run-hero.is-live{border-left-color:var(--color-ok)}.run-hero.is-fault{border-left-color:var(--color-danger)}.run-hero.is-off{border-left-color:#c8c8c8}.dark .run-hero.is-off{border-left-color:#3f3f46}.run-hero-count{letter-spacing:0;font-variant-numeric:tabular-nums;font-size:28px;font-weight:600;line-height:1;font-family:var(--font-mono)}.run-hero-label{padding-bottom:6px;font-size:14px}.run-hero-live{color:var(--color-ok);font-weight:600}.run-hero-meta{color:var(--color-ink-mut);flex-wrap:wrap;gap:16px;margin-left:auto;padding-bottom:8px;font-size:13px;display:flex}.run-hero-meta a{height:28px;color:var(--color-ink-mut);background:0 0;border:0;border-radius:0;align-items:baseline;gap:6px;padding:0 8px;font-weight:500;text-decoration:none;display:inline-flex}.run-hero-meta a:hover{color:var(--color-ink);background:0 0}.run-hero-meta .n{color:var(--color-ink);font-variant-numeric:tabular-nums;font-weight:500}.stat-row{border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-bottom:20px;display:grid}@media(min-width:768px){.stat-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}.stat-row>*{min-width:0;color:inherit;padding:12px 16px 12px 0;text-decoration:none}.stat-val{letter-spacing:0;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:16px;font-weight:600;display:block;overflow:hidden}.machine-grid{grid-template-columns:1fr;gap:12px;display:grid}@media(min-width:720px){.machine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1100px){.machine-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.machine{border:1px solid var(--color-line);border-radius:var(--radius);height:100%;transition:transform var(--duration-fast) ease,box-shadow var(--duration-fast) ease,border-color var(--duration-fast) ease;border-left-width:3px;border-left-color:#c8c8c8;flex-direction:column;display:flex;box-shadow:0 1px 2px #1a19160d,0 6px 16px #1a19160a}@media(hover:hover)and (pointer:fine){.machine:hover{transform:translateY(-3px);box-shadow:0 10px 28px #1a19161f}.dark .machine:hover{box-shadow:0 12px 32px #00000073}}.dark .machine{box-shadow:0 1px 2px #00000047,0 8px 20px #00000038}@media(prefers-reduced-motion:reduce){.machine,.machine:hover{transform:none}}.machine.is-live{border-left-color:var(--color-ok)}.machine.is-fault{border-left-color:var(--color-danger)}.machine.is-off{border-left-color:#c8c8c8}.dark .machine.is-off{border-left-color:#3f3f46}.machine-head{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:8px;padding:12px 12px 8px;display:flex}.machine-title{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.machine-name{letter-spacing:0;color:var(--color-accent);font-size:16px;font-weight:600;line-height:1.25}.machine-host{align-items:center;gap:6px;min-width:0;margin-top:4px;display:flex}.machine-host-addr{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-mono);color:var(--color-ink-mut);-webkit-user-select:text;user-select:text;font-size:12px;overflow:hidden}.machine-toolbar{flex-shrink:0;align-items:center;gap:8px;display:flex}.machine-metrics{border-top:1px solid var(--color-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0 12px;display:grid}.metric{min-width:0;padding:8px 10px 8px 0}.metric-k{color:var(--color-ink-mut);font-size:11px;font-weight:500;display:block}.metric-v{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;font-weight:500;display:block;overflow:hidden}.metric.is-up .metric-v{color:var(--color-ok);font-weight:600}.metric.is-down .metric-v{color:var(--color-accent);font-weight:600}.metric-v.is-expired{color:var(--color-danger)}.metric-v.is-plain{font-family:var(--font-sans);font-variant-numeric:normal}.machine-remark{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-ink-mut);font-size:12px;overflow:hidden}.machine-dates{grid-template-columns:1fr 1fr;gap:2px 10px;padding:0 12px 8px;display:grid}.machine-date-k{color:var(--color-ink-mut);font-size:11px;display:block}.machine-date-v{font-size:12px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-ink-soft);margin-top:1px;display:block}.machine-date-v.is-expired{color:var(--color-danger)}.machine-meter{padding:2px 12px 8px}.machine-fault{color:var(--color-danger);padding:0 12px 8px;font-size:12px}.machine-meta{color:var(--color-ink-mut);flex-wrap:wrap;align-items:baseline;gap:6px 10px;padding:0 12px 8px;font-size:11px;line-height:1.45;display:flex}.machine-meta-item{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.core-tag{font-family:var(--font-sans);letter-spacing:0;font-size:13px;font-weight:700;line-height:1.2}.core-tag.is-xray{color:#0f766e}.core-tag.is-singbox{color:#1e3a5f}.core-tag.is-mita{color:#b45309}.dark .core-tag.is-xray{color:#2dd4bf}.dark .core-tag.is-singbox{color:#8aa4c8}.dark .core-tag.is-mita{color:#fb923c}.line-tag{letter-spacing:0;color:var(--color-ok);font-size:11px;font-weight:600;font-family:var(--font-sans);margin-left:6px}.machine.is-pkg{border-left-color:var(--color-accent)}.core-installed{border-bottom:1px solid var(--color-line-soft);justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.core-installed:last-child{border-bottom:0}.machine-fresh{padding:0 12px 10px}.machine-foot{border-top:1px solid var(--color-line-soft);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding:8px 12px 10px;display:flex}.machine-ports{min-width:0;font-family:var(--font-mono);color:var(--color-ink-mut);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;padding:0;font-size:11px;display:inline-flex}.machine-ports:hover{color:var(--color-ink)}.machine-nodes{border-top:1px solid var(--color-line)}.machine-nodes table.data th,.machine-nodes table.data td{padding-top:8px;padding-bottom:8px}.machine-nodes table.data tbody tr td:first-child{border-left:0;padding-left:14px}.machine-nodes table.data thead th:first-child{padding-left:14px}.machine-nodes-empty{color:var(--color-ink-mut);padding:14px;font-size:13px}.empty-state{padding:40px 8px}.node-cluster+.node-cluster{margin-top:20px}.node-cluster-head{align-items:center;gap:8px;min-width:0;margin-bottom:10px;padding:0 2px;display:flex}.node-cluster-count{color:var(--color-ink-mut);font-variant-numeric:tabular-nums;font-size:12px}.panel-head{border-bottom:1px solid var(--color-line-soft);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:16px;font-weight:600;display:flex}.scroll-pane{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.stack-row.is-live{box-shadow:inset 3px 0 0 var(--color-ok)}.stack-row.is-fault{box-shadow:inset 3px 0 0 var(--color-danger)}.stack-row.is-off{box-shadow:inset 3px 0 #c8c8c8}.dark .stack-row.is-off{box-shadow:inset 3px 0 #3f3f46}@media(max-width:639px){.input-field{font-size:16px}.input-field:not(textarea):not(select){height:44px;min-height:44px}.btn-primary,.btn-ghost,.btn-danger{min-height:44px}.btn-ghost.w-8,.btn-ghost.w-9,.btn-primary.w-8,.btn-primary.w-9{min-width:44px;min-height:44px}.icon-btn{width:44px;height:44px}.row-act,.linkish{min-height:36px}.filter-tabs,.lk-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.filter-tabs::-webkit-scrollbar{display:none}.lk-tabs::-webkit-scrollbar{display:none}.filter-tab,.lk-tab{flex-shrink:0;height:40px}.sidebar-link{min-height:44px}.modal-panel{border-radius:12px 12px 0 0;max-height:min(92dvh,100%)}.modal-foot{padding-bottom:calc(16px + env(safe-area-inset-bottom));flex-direction:column-reverse}.modal-foot>button{width:100%}.toast-stack{left:12px;right:12px;bottom:calc(4.75rem + env(safe-area-inset-bottom))}.toast-stack .card{min-width:0}.login-box .relative .btn-ghost{width:36px;min-width:36px;height:36px;min-height:36px}.dash-stat{padding:14px 14px 12px}.dash-stat-v{font-size:18px}.pkg-node{grid-template-columns:minmax(0,1fr);padding-bottom:8px;padding-right:12px}.pkg-mult-wrap{padding-left:2.05rem}.pkg-node-meta{white-space:normal}.traffic-area-tip{white-space:normal;max-width:calc(100% - 24px)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}
