@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/sora-latin-500-normal-01eiPEn0.woff2) format("woff2"),url(/assets/sora-latin-500-normal-w58xtEt9.woff) format("woff")}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/sora-latin-600-normal-Cdg4DaK0.woff2) format("woff2"),url(/assets/sora-latin-600-normal-1_7fyUAY.woff) format("woff")}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/sora-latin-700-normal-9waGdLWo.woff2) format("woff2"),url(/assets/sora-latin-700-normal-BKPfQAnC.woff) format("woff")}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/sora-latin-800-normal-2tKLL3qT.woff2) format("woff2"),url(/assets/sora-latin-800-normal-c3Huklug.woff) format("woff")}@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")}@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")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff")}@font-face{font-family:Manrope;src:url(/fonts/manrope-latin-var-normal.woff2) format("woff2");font-weight:400 800;font-style:normal;font-display:swap}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:system-ui,-apple-system,PingFang SC,Microsoft YaHei,微软雅黑,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border-radius:.625rem;font-weight:500;line-height:1;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer;border:1px solid transparent;transition:all .18s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent}.btn:focus-visible{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(var(--brand-rgb),.5)}.btn:disabled{pointer-events:none;opacity:.5}.btn-xs{padding:.28rem .55rem;font-size:.75rem;gap:.3rem;border-radius:.5rem}.btn-sm{padding:.425rem .75rem;font-size:.8125rem}.btn-md{padding:.5rem 1rem;font-size:.875rem}.btn-primary{color:#fff;background:linear-gradient(135deg,var(--brand-strong) 0%,var(--brand) 48%,var(--brand-ink) 100%);border-color:rgba(var(--brand-rgb),.4);box-shadow:inset 0 1px #ffffff47,0 1px 2px #0f172a1f,0 8px 22px -8px rgba(var(--brand-rgb),.6)}.btn-primary:hover{background:linear-gradient(135deg,var(--brand-strong) 0%,var(--brand) 48%,var(--brand-ink) 100%);box-shadow:inset 0 1px #ffffff57,0 2px 4px #0f172a1a,0 12px 28px -8px rgba(var(--brand-rgb),.72);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0) scale(.97);box-shadow:inset 0 1px #fff3,0 2px 8px -4px rgba(var(--brand-rgb),.5)}.btn-danger{color:#fff;background:linear-gradient(135deg,#f87171,#ef4444);border-color:#ef444466;box-shadow:inset 0 1px #ffffff40,0 1px 2px #0f172a1f,0 8px 22px -8px #ef44448c}.btn-danger:hover{background:linear-gradient(135deg,#f87171,#dc2626);box-shadow:inset 0 1px #ffffff4d,0 2px 4px #0f172a1a,0 12px 28px -8px #ef4444a6;transform:translateY(-1px)}.btn-danger:active{transform:translateY(0) scale(.97)}.btn-success{color:#fff;background:linear-gradient(135deg,#34d399,#10b981);border-color:#10b98166;box-shadow:inset 0 1px #ffffff47,0 1px 2px #0f172a1f,0 8px 22px -8px #10b98199}.btn-success:hover{background:linear-gradient(135deg,#6ee7b7,#10b981);box-shadow:inset 0 1px #ffffff57,0 2px 4px #0f172a1a,0 12px 28px -8px #10b981b3;transform:translateY(-1px)}.btn-success:active{transform:translateY(0) scale(.97)}.btn-secondary{color:#334155;background:#ffffffb8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-color:#e2e8f0;box-shadow:0 1px 2px #0f172a0a}.btn-secondary:hover{color:#0f172a;background:#f8fafc;border-color:#cbd5e1;box-shadow:0 2px 8px #0f172a14}.btn-secondary:active{background:#f1f5f9}.btn-ghost{color:var(--brand);background:transparent;border-color:transparent}.btn-ghost:hover{color:var(--brand-ink);background:var(--brand-soft)}.btn-ghost:active{background:var(--brand-soft-2)}.select-control{-moz-appearance:none;appearance:none;-webkit-appearance:none;border-radius:.5rem;border:1px solid #cbd5e1;background-color:#fff;padding:.425rem 2rem .425rem .625rem;font-size:.875rem;color:#334155;cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:16px;transition:border-color .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1)}.select-control:hover{border-color:#94a3b8}.select-control:focus,.select-control:focus-visible{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.2)}.select-control:active{border-color:var(--brand)}.select-control:disabled{opacity:.5;cursor:not-allowed;background-color:#f1f5f9}.switch{position:relative;display:inline-flex;align-items:center;flex:0 0 auto;height:1.5rem;width:2.75rem;padding:.125rem;border-radius:9999px;border:1px solid transparent;background-color:#cbd5e1;cursor:pointer;transition:background-color .2s ease;-webkit-tap-highlight-color:transparent}.switch[aria-checked=true]{background-color:var(--brand)}.switch:focus-visible{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(var(--brand-rgb),.5)}.switch-knob{display:inline-block;width:1.25rem;height:1.25rem;border-radius:9999px;background-color:#fff;box-shadow:0 1px 2px #0f172a33;transform:translate(0);transition:transform .2s ease-out,width .2s ease-out}.switch[aria-checked=true] .switch-knob{transform:translate(1.25rem)}.switch:active .switch-knob{width:1.5rem}.switch[aria-checked=true]:active .switch-knob{transform:translate(1rem)}.segmented{display:inline-flex;align-items:center;gap:2px;padding:2px;border-radius:.625rem;border:1px solid #e2e8f0;background-color:#fff;box-shadow:0 1px 2px #0f172a0a,0 1px 3px #0f172a0f}.segmented-item{display:inline-flex;align-items:center;gap:.375rem;border-radius:.5rem;padding:.375rem .75rem;font-size:.75rem;font-weight:500;line-height:1;white-space:nowrap;color:#64748b;background-color:transparent;border:none;cursor:pointer;transition:color .18s cubic-bezier(.4,0,.2,1),background-color .18s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent}.segmented-item:hover{color:#334155}.segmented-item[aria-selected=true]{color:#fff;background-color:var(--brand)}.segmented-item:focus-visible{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(var(--brand-rgb),.5)}.segmented-item:active{transform:scale(.97)}.form-input{border-radius:.5rem;border:1px solid #cbd5e1;background-color:#fff;padding:.425rem .625rem;font-size:.875rem;color:#334155;transition:border-color .15s ease,box-shadow .15s ease}.form-input:hover{border-color:#94a3b8}.form-input:focus,.form-input:focus-visible{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.2)}.form-input::-moz-placeholder{color:#94a3b8}.form-input::placeholder{color:#94a3b8}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-full{bottom:100%}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.top-4{top:1rem}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.col-span-2{grid-column:span 2 / span 2}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-20{margin-top:5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-2\.5{height:.625rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-\[150px\]{height:150px}.h-\[96px\]{height:96px}.max-h-48{max-height:12rem}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-16{width:4rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-60{width:15rem}.w-64{width:16rem}.w-80{width:20rem}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-\[210mm\]{max-width:210mm}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn .3s ease-out}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.animate-scale-in{animation:scaleIn .2s ease-out}@keyframes slideUp{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.animate-slide-up{animation:slideUp .3s ease-out}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-y{resize:vertical}.resize{resize:both}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-1\.5{row-gap:.375rem}.gap-y-2{row-gap:.5rem}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.self-end{align-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.875rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[var\(--bad\)\]{border-color:var(--bad)}.border-\[var\(--brand\)\]{border-color:var(--brand)}.border-\[var\(--good\)\]{border-color:var(--good)}.border-\[var\(--line\)\]{border-color:var(--line)}.border-\[var\(--line-strong\)\]{border-color:var(--line-strong)}.border-\[var\(--surface-2\)\]{border-color:var(--surface-2)}.border-\[var\(--warn\)\]{border-color:var(--warn)}.border-brand-100{--tw-border-opacity: 1;border-color:rgb(211 244 242 / var(--tw-border-opacity, 1))}.border-brand-200{--tw-border-opacity: 1;border-color:rgb(168 232 230 / var(--tw-border-opacity, 1))}.border-brand-600{--tw-border-opacity: 1;border-color:rgb(14 124 135 / var(--tw-border-opacity, 1))}.border-brand\/20{border-color:#0f8b9633}.border-brand\/30{border-color:#0f8b964d}.bg-\[var\(--bad\)\]{background-color:var(--bad)}.bg-\[var\(--bad-soft\)\]{background-color:var(--bad-soft)}.bg-\[var\(--brand-soft\)\]{background-color:var(--brand-soft)}.bg-\[var\(--faint\)\]{background-color:var(--faint)}.bg-\[var\(--good\)\]{background-color:var(--good)}.bg-\[var\(--good-soft\)\]{background-color:var(--good-soft)}.bg-\[var\(--info-soft\)\]{background-color:var(--info-soft)}.bg-\[var\(--surface\)\]{background-color:var(--surface)}.bg-\[var\(--surface-2\)\]{background-color:var(--surface-2)}.bg-\[var\(--surface-3\)\]{background-color:var(--surface-3)}.bg-\[var\(--warn\)\]{background-color:var(--warn)}.bg-\[var\(--warn-soft\)\]{background-color:var(--warn-soft)}.bg-black\/40{background-color:#0006}.bg-brand{--tw-bg-opacity: 1;background-color:rgb(15 139 150 / var(--tw-bg-opacity, 1))}.bg-brand-50{--tw-bg-opacity: 1;background-color:rgb(238 251 250 / var(--tw-bg-opacity, 1))}.bg-brand\/5{background-color:#0f8b960d}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-brand-50{--tw-gradient-from: #eefbfa var(--tw-gradient-from-position);--tw-gradient-to: rgb(238 251 250 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-\[var\(--info-soft\)\]{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--info-soft) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-\[var\(--info-soft\)\]{--tw-gradient-to: var(--info-soft) var(--tw-gradient-to-position)}.to-white{--tw-gradient-to: #fff var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-4{padding-bottom:1rem}.pl-2{padding-left:.5rem}.pl-5{padding-left:1.25rem}.pr-10{padding-right:2.5rem}.pr-4{padding-right:1rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[10px\]{font-size:10px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.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)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.text-\[var\(--bad\)\]{color:var(--bad)}.text-\[var\(--faint\)\]{color:var(--faint)}.text-\[var\(--good\)\]{color:var(--good)}.text-\[var\(--info\)\]{color:var(--info)}.text-\[var\(--ink\)\]{color:var(--ink)}.text-\[var\(--muted\)\]{color:var(--muted)}.text-\[var\(--warn\)\]{color:var(--warn)}.text-brand{--tw-text-opacity: 1;color:rgb(15 139 150 / var(--tw-text-opacity, 1))}.text-brand-200{--tw-text-opacity: 1;color:rgb(168 232 230 / var(--tw-text-opacity, 1))}.text-brand-400{--tw-text-opacity: 1;color:rgb(46 185 189 / var(--tw-text-opacity, 1))}.text-brand-500{--tw-text-opacity: 1;color:rgb(15 139 150 / var(--tw-text-opacity, 1))}.text-brand-600{--tw-text-opacity: 1;color:rgb(14 124 135 / var(--tw-text-opacity, 1))}.text-brand-700{--tw-text-opacity: 1;color:rgb(13 112 121 / var(--tw-text-opacity, 1))}.text-current{color:currentColor}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.opacity-50{opacity:.5}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-card{--tw-shadow: 0 4px 6px -1px rgba(0,0,0,.05), 0 2px 4px -2px rgba(0,0,0,.05);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-soft{--tw-shadow: 0 1px 2px 0 rgba(15,23,42,.04), 0 1px 3px 0 rgba(15,23,42,.06);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color), 0 1px 3px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-\[var\(--good-soft\)\]{--tw-ring-color: var(--good-soft)}.ring-\[var\(--line\)\]{--tw-ring-color: var(--line)}.ring-\[var\(--line-strong\)\]{--tw-ring-color: var(--line-strong)}.ring-\[var\(--surface-3\)\]{--tw-ring-color: var(--surface-3)}.ring-brand-200{--tw-ring-opacity: 1;--tw-ring-color: rgb(168 232 230 / var(--tw-ring-opacity, 1))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.table-row-hover td{transition:background .16s ease,box-shadow .16s ease}.table-row-hover:hover td{background:linear-gradient(90deg,rgba(var(--brand-rgb),.05),rgba(var(--brand-rgb),.012))}.table-row-hover:hover td:first-child{box-shadow:inset 2px 0 0 var(--brand)}:root{--brand-soft-2: #d3f4f2;--brand-rgb: 15, 139, 150}html{font-size:16px}html,body,#root{height:100%}body{margin:0;font-family:system-ui,-apple-system,PingFang SC,Microsoft YaHei,微软雅黑,sans-serif;background-color:var(--bg);color:#0f172a;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}*{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:3px}*::-webkit-scrollbar-thumb:hover{background-color:#94a3b8}.card-transition{transition:box-shadow .25s cubic-bezier(.4,0,.2,1),transform .25s cubic-bezier(.4,0,.2,1),border-color .25s ease}.card-transition:hover{box-shadow:0 8px 24px -8px rgba(var(--brand-rgb),.18),0 2px 6px -2px #0f172a0f;transform:translateY(-2px);border-color:rgba(var(--brand-rgb),.18)}.kpi-num{font-family:Bahnschrift,DIN Alternate,Segoe UI,system-ui,sans-serif;font-variant-numeric:tabular-nums}input:not([type=checkbox]):not([type=radio]):focus,input:not([type=checkbox]):not([type=radio]):focus-visible,select:focus,select:focus-visible,textarea:focus,textarea:focus-visible{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.2)}input[type=checkbox],input[type=radio]{accent-color:var(--brand);cursor:pointer}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(var(--brand-rgb),.5)}.checkbox-control{width:1rem;height:1rem;flex-shrink:0}svg.lucide{flex-shrink:0;display:inline-block;vertical-align:middle}.icon-text{display:inline-flex;align-items:center;gap:.375rem}.print-only,.items-collapsed{display:none!important}.pdf-page-break{page-break-inside:avoid!important;-moz-column-break-inside:avoid!important;break-inside:avoid!important}@media print{.no-print{display:none!important}body{background:#fff!important}.report-page{background:#fff!important;padding:0!important;min-height:0!important}.report-overlay{display:block!important;position:static!important;inset:auto!important;background:none!important;padding:0!important;overflow:visible!important}.report-overlay>div{max-width:none!important;width:100%!important;margin:0!important;box-shadow:none!important;border-radius:0!important}.printable-report{display:block!important;position:static!important;padding:0!important;margin:0 auto!important;width:100%!important;max-width:none!important;background:#fff!important;box-shadow:none!important}.printable-report .report-body{max-width:none!important;padding:0!important}.printable-report .report-body>div:first-child{margin-bottom:4px!important;padding-bottom:4px!important}.printable-report .report-body>div:nth-child(2){margin-top:2px!important;margin-bottom:4px!important}.printable-report .report-body>div:nth-child(3){margin-top:2px!important;margin-bottom:4px!important;padding:6px!important}.printable-report .report-body>div:nth-child(4),.printable-report .report-body>div:nth-child(5){margin-top:4px!important;margin-bottom:4px!important}.printable-report .report-body>div:last-child{margin-top:6px!important;padding-top:4px!important}.printable-report .rounded-lg,.printable-report .rounded-lg.border,.printable-report section{-moz-column-break-inside:avoid!important;break-inside:avoid!important;page-break-inside:avoid!important}.printable-report section>h2,.printable-report section>h3{-moz-column-break-after:avoid!important;break-after:avoid-page!important;page-break-after:avoid-page!important}@page{size:A4;margin:10mm 12mm}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.printable-report table,.printable-report tr,.printable-report .whitespace-pre-wrap{page-break-inside:auto}.print-only{display:block!important}.items-collapsed{display:grid!important}.print-engine-static .advisor-static-block{display:block!important}.print-engine-static .advisor-ai-block,.print-engine-ai .advisor-static-block{display:none!important}.print-engine-ai .advisor-ai-block{display:block!important}.ai-report-section-item{page-break-inside:avoid!important;-moz-column-break-inside:avoid!important;break-inside:avoid!important;margin-bottom:8px!important}}.exporting-pdf .no-print{display:none!important}.exporting-pdf .print-only{display:block!important}.exporting-pdf .items-collapsed{display:grid!important}.exporting-pdf .print-engine-static .advisor-static-block{display:block!important}.exporting-pdf .print-engine-static .advisor-ai-block,.exporting-pdf .print-engine-ai .advisor-static-block{display:none!important}.exporting-pdf .print-engine-ai .advisor-ai-block{display:block!important}.file\:mr-3::file-selector-button{margin-right:.75rem}.file\:rounded-md::file-selector-button{border-radius:.375rem}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-\[var\(--surface-3\)\]::file-selector-button{background-color:var(--surface-3)}.file\:px-3::file-selector-button{padding-left:.75rem;padding-right:.75rem}.file\:py-1\.5::file-selector-button{padding-top:.375rem;padding-bottom:.375rem}.file\:text-xs::file-selector-button{font-size:.75rem;line-height:1rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-\[var\(--muted\)\]::file-selector-button{color:var(--muted)}.last\:border-0:last-child{border-width:0px}.hover\:border-\[var\(--brand\)\]:hover{border-color:var(--brand)}.hover\:border-brand-300:hover{--tw-border-opacity: 1;border-color:rgb(111 214 214 / var(--tw-border-opacity, 1))}.hover\:bg-\[var\(--surface-3\)\]:hover{background-color:var(--surface-3)}.hover\:bg-brand-100:hover{--tw-bg-opacity: 1;background-color:rgb(211 244 242 / var(--tw-bg-opacity, 1))}.hover\:bg-brand-50\/40:hover{background-color:#eefbfa66}.hover\:bg-brand\/10:hover{background-color:#0f8b961a}.hover\:text-\[var\(--ink\)\]:hover{color:var(--ink)}.hover\:text-\[var\(--muted\)\]:hover{color:var(--muted)}.hover\:text-brand-600:hover{--tw-text-opacity: 1;color:rgb(14 124 135 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:border-brand:focus{--tw-border-opacity: 1;border-color:rgb(15 139 150 / var(--tw-border-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-\[3px\]:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-brand-100:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(211 244 242 / var(--tw-ring-opacity, 1))}.focus\:ring-brand\/20:focus{--tw-ring-color: rgb(15 139 150 / .2)}@media (min-width: 640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-\[170px_1fr\]{grid-template-columns:170px 1fr}}:root{--brand:#0f8b96;--brand-strong:#17a6ad;--brand-ink:#0d7079;--brand-deep:#0c3d44;--brand-soft:#e7f5f6;--brand-glow:rgba(23,166,173,.22);--grad-brand:linear-gradient(135deg,var(--brand-deep) 0%,var(--brand) 145%);--grad-deep:linear-gradient(135deg,var(--brand-deep) 0%,var(--brand) 150%);--good:#0d9f6e;--good-soft:#e5f7f0;--warn:#d97706;--warn-soft:#fbf0dc;--bad:#dc2626;--bad-soft:#fdecec;--info:#2563eb;--info-soft:#eaf1fe;--bg:#f4f6f7;--surface:#ffffff;--surface-2:#f8fafb;--surface-3:#eef2f4;--line:#e6ebef;--line-strong:#d9e1e6;--ink:#182630;--muted:#5b6d79;--faint:#8c9aa6;--r-sm:8px;--r-md:10px;--r-lg:14px;--r-xl:18px;--shadow-xs:0 1px 2px rgba(16,42,52,.05);--shadow-sm:0 1px 2px rgba(16,42,52,.04), 0 2px 10px rgba(16,42,52,.06);--shadow-md:0 2px 6px rgba(16,42,52,.06), 0 12px 30px rgba(16,42,52,.1);--d1:.14s;--d2:.24s;--ease:cubic-bezier(.2,.8,.2,1);--wash1:rgba(23,166,173,.075);--wash2:rgba(23,166,173,.05);--dotgrid:rgba(23,166,173,.14);--font-body:"Noto Sans SC","Sora","PingFang SC","Microsoft YaHei",sans-serif;--font-head:"Sora","Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;--font-num:"Sora","IBM Plex Mono","Consolas","SF Mono","Microsoft YaHei",monospace}html[data-theme=dark]{--brand:#3ec4bd;--brand-strong:#5adcd4;--brand-ink:#8ce9e4;--brand-deep:#06343b;--brand-soft:rgba(62,196,189,.13);--brand-glow:rgba(62,196,189,.2);--good:#34d399;--good-soft:rgba(52,211,153,.13);--warn:#f5b84c;--warn-soft:rgba(245,184,76,.12);--bad:#fb727e;--bad-soft:rgba(251,114,126,.13);--info:#6a92ff;--info-soft:rgba(106,146,255,.14);--bg:#0b1318;--surface:#111c22;--surface-2:#152229;--surface-3:#1a2a32;--line:#20313a;--line-strong:#2b3f49;--ink:#e6eef2;--muted:#93a7b1;--faint:#66798a;--shadow-xs:0 1px 2px rgba(0,0,0,.35);--shadow-sm:0 1px 2px rgba(0,0,0,.35), 0 2px 12px rgba(0,0,0,.3);--shadow-md:0 2px 8px rgba(0,0,0,.4), 0 14px 36px rgba(0,0,0,.45);--wash1:rgba(62,196,189,.06);--wash2:rgba(62,196,189,.04);--dotgrid:rgba(111,206,201,.1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;min-height:100vh;transition:background .25s,color .25s;font-size:13.5px;line-height:1.6}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(1100px 480px at 10% -12%,var(--wash1),transparent 62%),radial-gradient(900px 420px at 102% -6%,var(--wash2),transparent 55%)}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:99px;border:3px solid var(--bg)}::-webkit-scrollbar-track{background:transparent}.app{display:flex;min-height:100vh;position:relative;z-index:1}.side{width:228px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:16px 12px 14px;gap:2px}.brand{display:flex;gap:11px;align-items:center;padding:2px 8px 16px;border-bottom:1px solid var(--line)}.brand-mark{width:36px;height:36px;border-radius:11px;flex-shrink:0;display:grid;place-items:center;background:linear-gradient(145deg,var(--brand-strong),var(--brand-ink));color:#fff;font-weight:800;font-size:16px;box-shadow:0 4px 12px -4px var(--brand-glow)}.brand-name{font-weight:700;font-size:14px;line-height:1.25}.brand-sub{font-size:10.5px;color:var(--faint);letter-spacing:.24em;margin-top:2px}.rolecard{margin:12px 2px 6px;padding:10px 12px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line)}.rc-l{font-size:10.5px;color:var(--faint)}.rc-v{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.rc-v .rn{font-size:12.5px;font-weight:700}.lvtag{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:99px}.lvtag.lv-brand{color:var(--brand-ink);background:var(--brand-soft)}.lvtag.lv-good{color:var(--good);background:var(--good-soft)}.lvtag.lv-warn{color:var(--warn);background:var(--warn-soft)}.nav-label{font-size:10.5px;letter-spacing:.14em;color:var(--faint);padding:14px 12px 6px}.nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 11px;border-radius:var(--r-sm);font-size:13px;color:var(--muted);cursor:pointer;position:relative;transition:background var(--d1),color var(--d1)}.nav-item svg{width:16px;height:16px;flex-shrink:0;opacity:.8;transition:opacity var(--d1)}.nav-item:hover{background:var(--surface-2);color:var(--ink)}.nav-item.active{background:var(--brand-soft);color:var(--brand-ink);font-weight:600}.nav-item.active svg{opacity:1;color:var(--brand)}.nav-item .caret{margin-left:auto;width:12px;height:12px;transition:transform var(--d2);opacity:.6}.nav-item.open .caret{transform:rotate(90deg)}.nav-sub{overflow:hidden;max-height:0;transition:max-height var(--d2) var(--ease)}.nav-sub.open{max-height:160px}.nav-sub a{display:flex;align-items:center;gap:8px;padding:6px 11px 6px 37px;margin:1px 0;border-radius:var(--r-sm);font-size:12.5px;color:var(--muted);transition:background var(--d1),color var(--d1)}.nav-sub a:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--faint);flex-shrink:0;transition:background var(--d1)}.nav-sub a:hover{background:var(--surface-2);color:var(--ink)}.nav-sub a.active{color:var(--brand-ink);font-weight:600}.nav-sub a.active:before{background:var(--brand)}.side-foot{margin-top:auto;padding:12px 12px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.ver{font-size:11px;color:var(--faint)}.ver b{color:var(--brand-ink);font-weight:600}.main{flex:1;min-width:0;padding:20px 26px 44px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.crumb{font-size:12px;color:var(--faint);margin-bottom:5px}.crumb b{color:var(--muted);font-weight:500}.pt-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pt-row h1{font-family:var(--font-head);font-size:20px;font-weight:700;letter-spacing:-.015em}.scope-chip{font-size:11.5px;font-weight:600;color:var(--brand-ink);background:var(--brand-soft);border-radius:99px;padding:3px 11px}.live-wrap{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--faint)}.live-wrap b{color:var(--muted);font-weight:500}.live{width:7px;height:7px;border-radius:50%;background:var(--good);position:relative;flex-shrink:0}.live:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:var(--good);animation:ping 2.2s cubic-bezier(0,0,.2,1) infinite}@keyframes ping{75%,to{transform:scale(2.5);opacity:0}}.tb-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}.demo-note{width:100%;font-size:11px;color:var(--faint);text-align:right;margin-top:6px}.page-desc{font-size:12.5px;color:var(--muted);margin-top:6px;max-width:720px}.seg{position:relative;display:flex;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);padding:3px}.seg .thumb{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:7px;background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow-xs);z-index:-1;opacity:0;transition:opacity var(--d2) var(--ease)}.seg button{position:relative;z-index:1;border:none;background:transparent;color:var(--muted);font-family:inherit;font-size:12.5px;font-weight:500;padding:6px 14px;border-radius:7px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:color var(--d1);white-space:nowrap}.seg button.on{color:var(--ink);font-weight:600}.seg button.on .thumb{opacity:1}.lvdot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.lvdot.d0{background:#17a6ad}.lvdot.d1{background:#0d9f6e}.lvdot.d2{background:#d97706}html[data-theme=dark] .lvdot.d0{background:#3ec4bd}html[data-theme=dark] .lvdot.d1{background:#34d399}html[data-theme=dark] .lvdot.d2{background:#f5b84c}.ibtn{width:34px;height:34px;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-md);display:grid;place-items:center;color:var(--muted);cursor:pointer;transition:color var(--d1),border-color var(--d1),background var(--d1)}.ibtn:hover{color:var(--brand-ink);border-color:var(--brand);background:var(--brand-soft)}.ibtn svg{width:15px;height:15px}.spin{animation:rot .6s var(--ease)}@keyframes rot{to{transform:rotate(360deg)}}.btn{display:inline-flex;align-items:center;gap:6px;border-radius:var(--r-md);cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:600;padding:7px 15px;border:1px solid transparent;transition:background var(--d1),border-color var(--d1),color var(--d1),transform var(--d1);white-space:nowrap}.btn svg{width:14px;height:14px}.btn:active{transform:scale(.97)}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-strong)}.btn-ghost{background:var(--surface);color:var(--muted);border-color:var(--line)}.btn-ghost:hover{color:var(--brand-ink);border-color:var(--brand);background:var(--brand-soft)}.btn-soft{background:var(--brand-soft);color:var(--brand-ink)}.btn-soft:hover{background:var(--brand);color:#fff}.btn-danger{background:var(--bad-soft);color:var(--bad)}.btn-danger:hover{background:var(--bad);color:#fff}.btn-sm{padding:4px 11px;font-size:11.5px;border-radius:var(--r-sm)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);padding:0 16px;margin-bottom:0}.tab{border:none;background:transparent;font-family:inherit;font-size:13px;font-weight:500;color:var(--muted);padding:11px 14px;cursor:pointer;position:relative;transition:color var(--d1);display:inline-flex;align-items:center;gap:7px}.tab .cnt{font-size:10.5px;font-weight:700;padding:1px 7px;border-radius:99px;background:var(--surface-3);color:var(--faint)}.tab:hover{color:var(--ink)}.tab.on{color:var(--brand-ink);font-weight:700}.tab.on .cnt{background:var(--brand-soft);color:var(--brand-ink)}.tab.on:after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2.5px;border-radius:3px;background:var(--brand)}.switch{position:relative;width:36px;height:20px;border-radius:99px;background:var(--surface-3);border:1px solid var(--line-strong);cursor:pointer;transition:background var(--d2);flex-shrink:0}.switch:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--surface);box-shadow:var(--shadow-xs);transition:transform var(--d2) var(--ease)}.switch.on{background:var(--brand);border-color:var(--brand)}.switch.on:after{transform:translate(16px)}.cap{display:inline-flex;align-items:center;font-size:10.5px;font-weight:700;padding:2px 9px;border-radius:99px;white-space:nowrap;line-height:1.6}.cap .cdot{width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-right:5px}.cap-brand{color:var(--brand-ink);background:var(--brand-soft)}.cap-brand .cdot{background:var(--brand)}.cap-good{color:var(--good);background:var(--good-soft)}.cap-good .cdot{background:var(--good)}.cap-warn{color:var(--warn);background:var(--warn-soft)}.cap-warn .cdot{background:var(--warn)}.cap-bad{color:var(--bad);background:var(--bad-soft)}.cap-bad .cdot{background:var(--bad)}.cap-info{color:var(--info);background:var(--info-soft)}.cap-info .cdot{background:var(--info)}.cap-flat{color:var(--muted);background:var(--surface-3)}.cap-flat .cdot{background:var(--faint)}.cap-ink{color:var(--ink);background:var(--surface-3);border:1px solid var(--line-strong)}.role-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;white-space:nowrap}.role-chip .ri{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;font-size:11px;flex-shrink:0}.rc-admin .ri{background:var(--brand-soft);color:var(--brand-ink)}.rc-org .ri{background:var(--good-soft);color:var(--good)}.rc-op .ri{background:var(--warn-soft);color:var(--warn)}.pw-box{font-family:var(--font-num);font-size:15px;font-weight:600;letter-spacing:.06em;background:var(--surface-2);border:1px dashed var(--line-strong);border-radius:var(--r-md);padding:12px 14px;text-align:center;color:var(--brand-ink)}.avatar{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-size:11px;font-weight:700;flex-shrink:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);transition:box-shadow var(--d2),border-color var(--d2)}.card:hover{box-shadow:var(--shadow-sm);border-color:var(--line-strong)}.card.flush{overflow:hidden}.phead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px 10px}.ph-t{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:700;letter-spacing:-.01em}.ph-ic{width:27px;height:27px;border-radius:var(--r-sm);display:grid;place-items:center;flex-shrink:0}.ph-ic svg{width:15px;height:15px}.ph-ic.ic-brand{background:var(--brand-soft);color:var(--brand-ink)}.ph-ic.ic-good{background:var(--good-soft);color:var(--good)}.ph-ic.ic-warn{background:var(--warn-soft);color:var(--warn)}.ph-ic.ic-bad{background:var(--bad-soft);color:var(--bad)}.ph-ic.ic-info{background:var(--info-soft);color:var(--info)}.ph-sub{font-size:11.5px;color:var(--faint);margin-top:5px;font-weight:400}.ph-r{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--faint);flex-shrink:0}.ph-link{color:var(--brand-ink);font-weight:600;font-size:12px;display:inline-flex;align-items:center;gap:2px;cursor:pointer}.ph-link:hover{text-decoration:underline}.pbody{padding:4px 16px 16px}.org-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 16px 12px;flex-wrap:wrap}.org-title{display:flex;align-items:center;gap:11px;min-width:0}.org-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex-shrink:0;background:linear-gradient(145deg,var(--brand-soft),var(--surface-2));color:var(--brand-ink);border:1px solid color-mix(in srgb,var(--brand) 24%,var(--line))}.org-ic svg{width:19px;height:19px}.org-name{font-size:16px;font-weight:700;letter-spacing:-.01em}.org-tags{display:flex;gap:6px;margin-top:5px;flex-wrap:wrap}.quota{margin:0 16px 14px;padding:12px 14px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line)}.quota .q-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:8px}.quota .q-top b{font-family:var(--font-num);font-size:13px}.sect-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;padding:14px 16px 8px}.sect-title .cnt{font-size:10.5px;font-weight:700;padding:1px 8px;border-radius:99px;background:var(--brand-soft);color:var(--brand-ink)}.metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}.metrics.c4{grid-template-columns:repeat(4,minmax(0,1fr))}.metrics.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.metrics.c2{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:1380px){.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:900px){.metrics,.metrics.c4,.metrics.c3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.metrics,.metrics.c4,.metrics.c3,.metrics.c2{grid-template-columns:1fr}}.metric{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px 13px;box-shadow:var(--shadow-xs);transition:transform var(--d2) var(--ease),box-shadow var(--d2),border-color var(--d2)}.metric:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--line-strong)}.metric.plain:hover{transform:none;box-shadow:var(--shadow-xs)}.m-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.m-k{font-size:12px;color:var(--muted);font-weight:500}.delta{font-size:10.5px;font-weight:600;padding:2px 7px;border-radius:99px;white-space:nowrap}.dt-good{color:var(--good);background:var(--good-soft)}.dt-bad{color:var(--bad);background:var(--bad-soft)}.dt-warn{color:var(--warn);background:var(--warn-soft)}.dt-flat{color:var(--muted);background:var(--surface-3)}.m-row{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:9px}.m-v{font-family:var(--font-num);font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1}.m-v.sm{font-size:20px}.m-u{font-family:var(--font-body);font-size:11px;font-weight:500;color:var(--faint);margin-left:4px}.spark{width:78px;height:30px;flex-shrink:0}.m-note{margin-top:9px;font-size:11px;color:var(--faint)}.chart-card{overflow:hidden}.chart-wrap{position:relative;height:244px;padding:0 12px 6px 4px}.chart-wrap.tall{height:280px}.chart-wrap.short{height:190px}.legend{display:flex;gap:16px;align-items:center;padding:6px 16px 13px;font-size:11.5px;color:var(--muted);flex-wrap:wrap}.leg{display:flex;align-items:center;gap:6px}.leg .sw{width:14px;height:3px;border-radius:2px}.leg .sw.dash{height:0;border-top:2px dashed var(--warn);width:16px}.peak b{color:var(--brand-ink);font-weight:700}.tip{position:absolute;pointer-events:none;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-md);padding:9px 11px;font-size:11px;min-width:132px;opacity:0;transition:opacity var(--d1);z-index:5;transform:translate(-50%,-112%)}.tip .td{font-weight:700;font-size:11.5px;margin-bottom:6px}.tip .tr{display:flex;align-items:center;gap:6px;margin-top:3px;color:var(--muted)}.tip .tr i{width:7px;height:7px;border-radius:2px;flex-shrink:0}.tip .tr b{margin-left:auto;color:var(--ink);font-weight:600}.tip .over{display:inline-block;margin-top:6px;font-size:10px;font-weight:700;color:var(--bad);background:var(--bad-soft);border-radius:5px;padding:1px 6px}.rank{padding:2px 14px 14px}.rk-row{display:flex;align-items:center;gap:10px;padding:8px 6px;border-radius:var(--r-sm);cursor:pointer;transition:background var(--d1)}.rk-row:hover{background:var(--surface-2)}.rk-idx{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;font-family:var(--font-num);font-size:11px;font-weight:700;flex-shrink:0;background:var(--surface-3);color:var(--faint)}.rk-idx.top{background:var(--brand-soft);color:var(--brand-ink)}.rk-idx.top.danger{background:var(--bad-soft);color:var(--bad)}.rk-body{flex:1;min-width:0}.rk-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:12px;margin-bottom:6px}.rk-top .nm{color:var(--muted);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rk-top .v{font-family:var(--font-num);font-weight:600;color:var(--ink);font-size:12px;flex-shrink:0}.rk-top .v small{font-family:var(--font-body);font-weight:400;color:var(--faint);font-size:10.5px;margin-left:2px}.rk-top .chg{font-size:10.5px;font-weight:600;color:var(--bad);margin-left:5px}.hb{height:6px;border-radius:99px;background:var(--surface-3);overflow:hidden}.hb i{display:block;height:100%;border-radius:99px;transition:width .7s var(--ease)}.rk-note{font-size:10.5px;color:var(--faint);margin-top:10px;padding:0 6px}.hbar-row{display:flex;align-items:center;gap:10px;padding:7px 4px;font-size:12px}.hbar-row .hb-l{width:74px;flex-shrink:0;color:var(--muted)}.hbar-row .hb-v{width:44px;text-align:right;flex-shrink:0;font-family:var(--font-num);font-weight:600;font-size:12px;color:var(--ink)}.hbar-row .hb-t{flex:1}.q-row{display:flex;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px dashed var(--line);font-size:12.5px}.q-row:last-child{border-bottom:none}.q-row .q-k{flex:1;color:var(--muted)}.q-row .q-v{font-family:var(--font-num);font-weight:700;font-size:13px;color:var(--ink)}.todo-list{padding:2px 10px 12px}.todo{position:relative;display:flex;gap:10px;align-items:flex-start;padding:10px 8px;border-bottom:1px solid var(--line);border-radius:var(--r-sm);transition:background var(--d1)}.todo:last-child{border-bottom:none}.todo:hover{background:var(--surface-2)}.todo .bd{min-width:0;flex:1}.todo .bd .t{font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo .bd .m{font-size:11px;color:var(--faint);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo .tt{font-size:11px;color:var(--faint);flex-shrink:0;margin-top:2px;transition:opacity var(--d1)}.todo .act{position:absolute;right:10px;top:12px;font-size:11.5px;font-weight:600;color:var(--brand-ink);opacity:0;transform:translate(4px);transition:opacity var(--d1),transform var(--d1)}.todo:hover .tt{opacity:0}.todo:hover .act{opacity:1;transform:none}.dev{padding:0 14px 14px}.dev-sum{display:flex;align-items:center;gap:16px;padding:4px 2px 14px;border-bottom:1px solid var(--line)}.ring{width:58px;height:58px;border-radius:50%;position:relative;flex-shrink:0;display:grid;place-items:center}.ring .hole{width:46px;height:46px;border-radius:50%;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center}.ring .hole b{font-family:var(--font-num);font-size:14px;line-height:1}.ring .hole span{font-size:8px;color:var(--faint);margin-top:3px}.dev-counts{display:flex;gap:8px}.dc{font-size:11.5px;border-radius:var(--r-sm);padding:8px 12px}.dc b{font-family:var(--font-num);font-size:16px;display:block;margin-top:2px}.dc.on{color:var(--good);background:var(--good-soft)}.dc.off{color:var(--warn);background:var(--warn-soft)}.dev-row{display:flex;align-items:center;gap:9px;padding:9px 4px;border-bottom:1px dashed var(--line);font-size:12.5px;border-radius:var(--r-sm);transition:background var(--d1)}.dev-row:last-child{border-bottom:none}.dev-row:hover{background:var(--surface-2)}.d-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.d-dot.on{background:var(--good);box-shadow:0 0 0 3px var(--good-soft)}.d-dot.off{background:var(--warn);box-shadow:0 0 0 3px var(--warn-soft)}.d-main{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.d-main b{font-weight:600}.d-main .org{color:var(--faint);font-weight:400;font-size:11.5px}.d-main .org:before{content:"·";margin:0 5px}.d-meta{font-size:11px;color:var(--faint);flex-shrink:0}.d-meta.off{color:var(--warn);font-weight:600}.badge{font-size:10.5px;font-weight:600;color:var(--warn);background:var(--warn-soft);border-radius:6px;padding:2px 7px;flex-shrink:0}.donut-body{display:flex;gap:20px;align-items:center;padding:6px 18px 18px;min-height:196px}.donut-legend{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px;padding-top:2px}.dl-row{font-size:12px;color:var(--muted)}.dl-top{display:flex;align-items:center;gap:8px;margin-bottom:6px}.dl-top .sw{width:10px;height:10px;border-radius:3px;flex-shrink:0}.dl-top .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-top .val{margin-left:auto;font-family:var(--font-num);font-weight:600;color:var(--ink);flex-shrink:0}.dl-top .val small{font-family:var(--font-body);font-weight:400;color:var(--faint);font-size:10.5px}.dl-bar{height:5px;border-radius:99px;background:var(--surface-3);overflow:hidden}.dl-bar i{display:block;height:100%;border-radius:99px;transition:width .7s var(--ease)}.tbl-wrap{overflow-x:auto}.tbl{width:100%;border-collapse:collapse;font-size:12.5px;min-width:640px}.tbl th{font-size:11.5px;font-weight:600;color:var(--faint);text-align:left;padding:9px 12px;background:var(--surface-2);border-bottom:1px solid var(--line);white-space:nowrap;position:sticky;top:0;z-index:1}.tbl th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tbl th.sortable:hover{color:var(--brand-ink)}.tbl td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.tbl tbody tr{transition:background var(--d1)}.tbl tbody tr:hover{background:var(--surface-2)}.tbl tbody tr:last-child td{border-bottom:none}.tbl .num td{font-family:var(--font-num)}.tbl .t-main{font-weight:600;color:var(--ink)}.tbl .t-sub{font-size:11px;color:var(--faint);margin-top:2px}.tbl .t-actions{display:flex;gap:6px;justify-content:flex-end}.trace-btn{background:none;border:none;padding:0;margin:0;cursor:pointer;font:inherit;color:var(--brand-ink);text-align:left}.trace-btn:hover{text-decoration:underline;color:var(--brand)}.row-sensitive,.row-sensitive:hover{background:var(--warn-soft)}.row-click{cursor:pointer}.tbl-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--line);font-size:11.5px;color:var(--faint);flex-wrap:wrap}.pager{display:flex;gap:4px}.pager button{min-width:28px;height:28px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);color:var(--muted);font-family:var(--font-num);font-size:12px;cursor:pointer;transition:all var(--d1);display:grid;place-items:center;padding:0 6px}.pager button:hover{color:var(--brand-ink);border-color:var(--brand)}.pager button.on{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}.pager button:disabled{opacity:.4;cursor:default}.filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--line)}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field label{font-size:11px;color:var(--faint);font-weight:500}.input,.select{height:34px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink);font-family:inherit;font-size:12.5px;padding:0 11px;transition:border-color var(--d1),background var(--d1);min-width:0}.input:hover,.select:hover{border-color:var(--line-strong)}.input:focus,.select:focus{outline:none;border-color:var(--brand);background:var(--brand-soft)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:28px;cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238c9aa6' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.search{position:relative;display:inline-flex;align-items:center}.search svg{position:absolute;left:10px;width:14px;height:14px;color:var(--faint);pointer-events:none}.search .input{padding-left:32px;width:200px}textarea.input{height:auto;min-height:74px;padding:8px 11px;resize:vertical;line-height:1.6;font-family:inherit}.filters .spacer{flex:1}.export-wrap{position:relative}.export-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:172px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-md);padding:4px;z-index:50}.export-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:var(--r-sm);font-size:12.5px;color:var(--ink);background:transparent;border:none;cursor:pointer;transition:background var(--d1);text-align:left;font-family:inherit}.export-menu button:hover{background:var(--surface-2)}.kv{display:flex;gap:12px;padding:9px 0;border-bottom:1px dashed var(--line);font-size:12.5px}.kv:last-child{border-bottom:none}.kv .k{width:88px;flex-shrink:0;color:var(--faint)}.kv .v{flex:1;min-width:0;color:var(--ink);font-weight:500;word-break:break-all}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width:760px){.form-row{grid-template-columns:1fr}}.tree{display:flex;flex-direction:column;font-size:12.5px}.tree-node{border-radius:var(--r-sm);transition:background var(--d1)}.tree-node .tn-row{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:var(--r-sm);cursor:pointer}.tree-node .tn-row:hover{background:var(--surface-2)}.tree-node .tn-row.on{background:var(--brand-soft);color:var(--brand-ink);font-weight:600}.tree-node .caret{width:12px;height:12px;flex-shrink:0;transition:transform var(--d2);opacity:.6}.tree-node.open>.tn-row .caret{transform:rotate(90deg)}.tree-children{padding-left:18px;border-left:1px dashed var(--line);margin-left:13px}.empty{display:grid;place-items:center;padding:40px 20px;text-align:center;color:var(--faint);font-size:12.5px}.empty svg{width:34px;height:34px;opacity:.4;margin-bottom:10px}.maptbl{width:100%;border-collapse:collapse;font-size:12px}.maptbl th{font-size:10.5px;font-weight:600;color:var(--faint);text-align:left;padding:7px 10px;background:var(--surface-2);border-bottom:1px solid var(--line)}.maptbl td{padding:7px 10px;border-bottom:1px dashed var(--line);font-family:var(--font-num);font-size:11.5px}.maptbl tr:last-child td{border-bottom:none}.maptbl .op{font-family:var(--font-body);font-weight:600}.notice{display:flex;gap:10px;align-items:flex-start;padding:11px 14px;border-radius:var(--r-md);font-size:12px;line-height:1.6;border:1px solid}.notice svg{width:15px;height:15px;flex-shrink:0;margin-top:1px}.notice.n-brand{background:var(--brand-soft);border-color:color-mix(in srgb,var(--brand) 26%,transparent);color:var(--brand-ink)}.notice.n-warn{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 30%,transparent);color:var(--warn)}.grid-a{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);gap:14px;margin-bottom:14px}.grid-b,.grid-c{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid-b{margin-bottom:14px}.grid-split{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:14px;align-items:start}@media (max-width:1080px){.grid-a,.grid-split{grid-template-columns:1fr}}@media (max-width:960px){.grid-b,.grid-c{grid-template-columns:1fr}}.mb{margin-bottom:14px}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0b131873;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;padding:20px;opacity:0;transition:opacity var(--d2);pointer-events:none}.modal-mask.open{opacity:1;pointer-events:auto}.modal{width:min(560px,100%);max-height:86vh;overflow:auto;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-xl);box-shadow:var(--shadow-md);transform:translateY(10px) scale(.98);transition:transform var(--d2) var(--ease)}.modal-mask.open .modal{transform:none}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 12px;border-bottom:1px solid var(--line)}.modal-head .mt{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:700}.modal-head .ms{font-size:11.5px;color:var(--faint);margin-top:3px;font-weight:400}.modal-x{width:30px;height:30px;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-sm);display:grid;place-items:center;color:var(--muted);cursor:pointer;transition:all var(--d1);flex-shrink:0}.modal-x:hover{color:var(--bad);border-color:var(--bad);background:var(--bad-soft)}.modal-x svg{width:13px;height:13px}.modal-body{padding:16px 18px}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px 16px;border-top:1px solid var(--line)}.actgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}@media (max-width:560px){.actgrid{grid-template-columns:1fr}}.actpick{border:1.5px solid var(--line);border-radius:var(--r-md);padding:10px 12px;cursor:pointer;background:var(--surface);text-align:left;font-family:inherit;transition:all var(--d1)}.actpick:hover{border-color:var(--line-strong);background:var(--surface-2)}.actpick.on{border-color:var(--brand);background:var(--brand-soft)}.actpick .at{font-size:12.5px;font-weight:700;display:flex;align-items:center;gap:6px}.actpick .ad{font-size:10.5px;color:var(--faint);margin-top:3px;line-height:1.5}.actpick.on .at{color:var(--brand-ink)}.tl{display:flex;flex-direction:column}.tl-item{display:flex;gap:12px;position:relative;padding-bottom:15px}.tl-item:last-child{padding-bottom:0}.tl-item:before{content:"";position:absolute;left:5px;top:17px;bottom:1px;width:2px;background:var(--line)}.tl-item:last-child:before{display:none}.tl-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;margin-top:3px;border:2.5px solid var(--brand);background:var(--surface)}.tl-dot.g{border-color:var(--good)}.tl-dot.w{border-color:var(--warn)}.tl-dot.b{border-color:var(--bad)}.tl-dot.i{border-color:var(--info)}.tl-bd{flex:1;min-width:0}.tl-t{font-size:12.5px;font-weight:600}.tl-m{font-size:11px;color:var(--faint);margin-top:2px;line-height:1.55}.flow{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.flow .fstep{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:6px 12px;border-radius:99px;background:var(--surface-2);border:1px solid var(--line)}.flow .fstep b{width:6px;height:6px;border-radius:50%;background:var(--brand)}.flow .fstep.on{background:var(--brand-soft);border-color:color-mix(in srgb,var(--brand) 40%,var(--line));color:var(--brand-ink)}.flow .fstep.on b{background:var(--brand)}.flow .farrow{color:var(--faint);font-size:12px;display:flex;align-items:center}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:8px}.it{border:1px solid var(--line);border-radius:var(--r-md);padding:9px 11px;background:var(--surface-2);transition:border-color var(--d1),background var(--d1)}.it:hover{border-color:var(--line-strong);background:var(--surface)}.it .it-k{font-size:11px;color:var(--faint);display:flex;justify-content:space-between;align-items:center;gap:6px}.it .it-v{font-family:var(--font-num);font-size:16px;font-weight:700;margin-top:3px;letter-spacing:-.01em}.it .it-v small{font-family:var(--font-body);font-size:10.5px;font-weight:500;color:var(--faint);margin-left:3px}.it .it-r{font-size:10px;color:var(--faint);margin-top:2px}.it.s-high{border-color:color-mix(in srgb,var(--warn) 38%,var(--line))}.it.s-high .it-v{color:var(--warn)}.it.s-low{border-color:color-mix(in srgb,var(--info) 38%,var(--line))}.it.s-low .it-v{color:var(--info)}.it.s-crit{border-color:color-mix(in srgb,var(--bad) 45%,var(--line));background:var(--bad-soft)}.it.s-crit .it-v{color:var(--bad)}.it.is-dim{border-color:var(--line);background:var(--surface-3)}.it .it-tip{font-size:10px;color:var(--muted);margin-top:2px;line-height:1.4}.score{display:inline-flex;align-items:baseline;gap:4px;font-family:var(--font-num);font-weight:700;font-size:13px}.score.s-good{color:var(--good)}.score.s-mid{color:var(--warn)}.score.s-bad{color:var(--bad)}.score small{font-family:var(--font-body);font-size:10px;font-weight:500;color:var(--faint)}.ai-box{border:1px solid color-mix(in srgb,var(--brand) 30%,var(--line));border-radius:var(--r-md);background:var(--brand-soft);padding:13px 15px;font-size:12px;line-height:1.75;color:var(--ink)}.ai-box .ai-h{display:flex;align-items:center;gap:7px;font-weight:700;font-size:12.5px;color:var(--brand-ink);margin-bottom:7px}.ai-loading{display:flex;align-items:center;gap:9px;color:var(--brand-ink);font-size:12.5px;font-weight:600}.ai-loading .dots{display:inline-flex;gap:4px}.ai-loading .dots i{width:6px;height:6px;border-radius:50%;background:var(--brand);animation:bnc 1.1s infinite}.ai-loading .dots i:nth-child(2){animation-delay:.15s}.ai-loading .dots i:nth-child(3){animation-delay:.3s}@keyframes bnc{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}footer.pfoot{text-align:center;color:var(--faint);font-size:11px;margin-top:28px}.reveal{animation:rise .5s var(--ease) both}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.reveal{animation:none}.live:after,.spin{animation:none}*{transition:none!important}}.acct-wrap{position:relative}.acct-btn{width:34px;height:34px;padding:0;border:1px solid var(--line);background:var(--surface);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--muted);cursor:pointer;transition:color var(--d1),border-color var(--d1),background var(--d1)}.acct-btn:hover,.acct-btn.on{color:var(--brand-ink);border-color:var(--brand);background:var(--brand-soft)}.acct-menu{position:absolute;top:calc(100% + 8px);right:0;width:182px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-md);padding:6px;z-index:70}.am-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px 9px;margin-bottom:4px;border-bottom:1px solid var(--line)}.am-cap{font-size:10.5px;letter-spacing:.06em;color:var(--faint)}.am-role{font-size:13px;font-weight:600;color:var(--ink);line-height:1.4}.am-item{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border-radius:var(--r-sm);font-size:12.5px;color:var(--ink);background:transparent;border:none;cursor:pointer;transition:background var(--d1);text-align:left;font-family:inherit}.am-item svg{color:var(--muted);flex-shrink:0;transition:color var(--d1)}.am-item:hover{background:var(--surface-2)}.am-item:hover svg{color:var(--brand)}.am-out,.am-out svg{color:var(--bad)}.am-out:hover{background:var(--bad-soft)}.am-out:hover svg{color:var(--bad)}.notif-wrap,.notif-btn{position:relative}.notif-badge{position:absolute;top:-4px;right:-4px;min-width:15px;height:15px;padding:0 4px;border-radius:99px;background:var(--bad);color:#fff;font-size:9.5px;font-weight:700;line-height:15px;text-align:center}.notif-menu{position:absolute;top:calc(100% + 8px);right:0;width:320px;max-width:calc(100vw - 32px);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-md);z-index:70;overflow:hidden}.nm-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);font-size:13px;font-weight:600}.nm-all{border:none;background:transparent;color:var(--brand);font-size:11.5px;cursor:pointer;padding:0}.nm-all:hover{text-decoration:underline}.nm-list{max-height:320px;overflow-y:auto}.nm-item{display:flex;gap:10px;width:100%;padding:10px 12px;border:none;background:transparent;text-align:left;cursor:pointer;font-family:inherit;border-bottom:1px solid var(--line)}.nm-item:last-child{border-bottom:none}.nm-item:hover{background:var(--surface-2)}.nm-item.unread,.nm-item.unread:hover{background:var(--brand-soft)}.nm-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px;background:var(--faint)}.nm-dot.bad{background:var(--bad)}.nm-dot.warn{background:var(--warn)}.nm-dot.info{background:var(--info)}.nm-bd{flex:1;min-width:0}.nm-t{display:block;font-size:12.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nm-m{display:block;font-size:11px;color:var(--muted);margin-top:2px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.nm-time{display:block;font-size:10px;color:var(--faint);margin-top:4px}.nm-empty{padding:26px 12px;text-align:center;font-size:12px;color:var(--faint)}.nm-foot{display:block;width:100%;padding:9px 12px;border:none;border-top:1px solid var(--line);background:transparent;color:var(--brand);font-size:12px;cursor:pointer;text-align:center}.nm-foot:hover{background:var(--surface-2)}.nav-item .ext{margin-left:auto;opacity:.4;transition:opacity var(--d1),color var(--d1)}.nav-item:hover .ext{opacity:1;color:var(--brand)}.set-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:14px;align-items:start}@media (max-width:1080px){.set-grid{grid-template-columns:1fr}}.set-h{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;margin-bottom:10px}.sw-row{display:flex;align-items:center;gap:12px;padding:11px 14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);margin-bottom:8px}.sw-row .sb{flex:1;min-width:0}.sw-row .st{font-size:12.5px;font-weight:600}.sw-row .sm{font-size:11px;color:var(--faint);margin-top:2px}.panel{display:none}.panel.on{display:block}.ann-preview{border-radius:var(--r-lg);padding:22px 18px;color:#eaf6f5;background:var(--grad-deep);position:relative;overflow:hidden}.ann-preview:after{content:"";position:absolute;right:-46px;top:-56px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.13),transparent 65%)}.ann-preview .ap-tag{font-size:10px;letter-spacing:.22em;opacity:.75;margin-bottom:10px}.ann-preview .ap-txt{font-size:14.5px;font-weight:600;line-height:1.7}.ann-preview .ap-foot{display:flex;justify-content:space-between;font-size:10.5px;opacity:.72;margin-top:14px}.pwfield{position:relative;display:flex}.pwfield .input{flex:1;font-family:var(--font-num);letter-spacing:.08em}.key-ic{width:34px;height:34px;border:1px solid var(--line);border-left:none;border-radius:0 var(--r-md) var(--r-md) 0;display:grid;place-items:center;color:var(--faint);cursor:pointer;background:var(--surface);flex-shrink:0;transition:color var(--d1)}.key-ic:hover{color:var(--brand-ink)}.key-ic svg{width:15px;height:15px}.intro-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0b131880;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:20px;opacity:0;transition:opacity var(--d2);pointer-events:none}.intro-mask.open{opacity:1;pointer-events:auto}.intro-modal{width:min(620px,100%);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-xl);box-shadow:var(--shadow-md);overflow:hidden;transform:translateY(12px) scale(.97);transition:transform var(--d2) var(--ease)}.intro-mask.open .intro-modal{transform:none}.im-hero{padding:26px 28px 22px;color:#eaf6f5;position:relative;overflow:hidden;background:var(--grad-brand)}.im-hero:after{content:"";position:absolute;right:-60px;top:-80px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.15),transparent 66%)}.im-hero>*{position:relative;z-index:1}.im-hero .e{font-family:var(--font-num);font-size:10px;letter-spacing:.3em;opacity:.8;margin-bottom:8px}.im-hero h3{font-family:var(--font-head);font-size:21px;font-weight:700;letter-spacing:-.01em}.im-hero p{font-size:12.5px;opacity:.92;margin-top:7px;line-height:1.7;max-width:480px}.im-body{padding:20px 28px 6px}.im-feats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media (max-width:560px){.im-feats{grid-template-columns:1fr}}.imf{border:1px solid var(--line);border-radius:var(--r-md);padding:13px 14px;background:var(--surface-2)}.imf .ic{width:30px;height:30px;border-radius:var(--r-sm);display:grid;place-items:center;margin-bottom:9px}.imf .ic svg{width:15px;height:15px}.imf b{font-size:12.5px;display:block;margin-bottom:4px}.imf p{font-size:11px;color:var(--faint);line-height:1.65}.im-tip{display:flex;gap:8px;align-items:flex-start;margin-top:14px;font-size:11.5px;color:var(--muted);background:var(--brand-soft);border:1px solid color-mix(in srgb,var(--brand) 22%,transparent);border-radius:var(--r-md);padding:10px 13px;line-height:1.7}.im-tip svg{width:14px;height:14px;flex-shrink:0;margin-top:2px;color:var(--brand-ink)}.im-tip a{color:var(--brand-ink);font-weight:600;text-decoration:none;border-bottom:1px dashed color-mix(in srgb,var(--brand) 45%,transparent)}.im-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 28px 20px;margin-top:6px}.im-check{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.im-check input{display:none}.im-check .box{width:16px;height:16px;border-radius:5px;border:1.5px solid var(--line-strong);display:grid;place-items:center;transition:all var(--d1);background:var(--surface)}.im-check .box svg{width:10px;height:10px;color:#fff;opacity:0;transform:scale(.5);transition:all var(--d1)}.im-check input:checked+.box{background:var(--brand);border-color:var(--brand)}.im-check input:checked+.box svg{opacity:1;transform:none}.gen-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.screen-preview .ap-tag{margin-bottom:8px}.screen-preview .ap-kpis{display:flex;gap:8px;flex-wrap:wrap}.screen-preview .ap-chip{font-size:11px;padding:5px 11px;border-radius:99px;background:#ffffff21;border:1px solid rgba(255,255,255,.2)}.hero{border-radius:var(--r-xl);padding:34px 34px 30px;color:#eaf6f5;position:relative;overflow:hidden;margin-bottom:14px;background:var(--grad-brand)}.hero:before{content:"";position:absolute;left:-120px;bottom:-160px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.12),transparent 62%)}.hero:after{content:"";position:absolute;right:-70px;top:-90px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 66%)}.hero>*{position:relative;z-index:1}.hero .eyebrow{font-family:var(--font-num);font-size:11px;letter-spacing:.3em;opacity:.8;margin-bottom:14px}.hero h2{font-family:var(--font-head);font-size:30px;font-weight:700;line-height:1.22;letter-spacing:-.02em;max-width:640px}.hero p.lead{font-size:13.5px;opacity:.93;max-width:660px;margin-top:12px;line-height:1.8}.hero-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.hero-chip{font-size:11.5px;font-weight:600;padding:4px 13px;border-radius:99px;background:#ffffff24;border:1px solid rgba(255,255,255,.22)}.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:24px}@media (max-width:840px){.hero-stats{grid-template-columns:repeat(2,1fr)}}.hstat{padding:13px 16px;border-radius:var(--r-md);background:#ffffff1a;border:1px solid rgba(255,255,255,.16)}.hstat b{font-family:var(--font-num);font-size:21px;font-weight:700;display:block}.hstat span{font-size:11px;opacity:.82;margin-top:3px;display:block}.sec-h{display:flex;align-items:baseline;gap:10px;margin:26px 2px 14px}.sec-h .no{font-family:var(--font-num);font-size:12px;font-weight:600;color:var(--brand);letter-spacing:.1em}.sec-h h3{font-family:var(--font-head);font-size:17px;font-weight:700;letter-spacing:-.01em}.sec-h .sub{font-size:12px;color:var(--faint)}.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media (max-width:1100px){.feat-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.feat-grid{grid-template-columns:1fr}}.feat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;box-shadow:var(--shadow-xs);transition:transform var(--d2) var(--ease),box-shadow var(--d2),border-color var(--d2)}.feat:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--line-strong)}.feat .fic{width:36px;height:36px;border-radius:var(--r-md);display:grid;place-items:center;margin-bottom:12px}.feat .fic svg{width:18px;height:18px}.feat h4{font-size:13.5px;font-weight:700;margin-bottom:7px}.feat p{font-size:12px;color:var(--muted);line-height:1.75}.feat p b{color:var(--ink)}.mod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media (max-width:1100px){.mod-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.mod-grid{grid-template-columns:1fr}}.mod{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 16px 14px;box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:8px;cursor:pointer;text-decoration:none;color:inherit;transition:transform var(--d2) var(--ease),box-shadow var(--d2),border-color var(--d2),opacity var(--d2)}.mod:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--brand)}.mod .mtop{display:flex;align-items:center;justify-content:space-between;gap:8px}.mod .mico{width:32px;height:32px;border-radius:var(--r-sm);display:grid;place-items:center;flex-shrink:0}.mod .mico svg{width:16px;height:16px}.mod h4{font-size:13.5px;font-weight:700}.mod p{font-size:11.8px;color:var(--muted);line-height:1.7;flex:1}.mod .go{font-size:12px;font-weight:600;color:var(--brand-ink);display:inline-flex;align-items:center;gap:4px}.mod .go svg{width:13px;height:13px;transition:transform var(--d1)}.mod:hover .go svg{transform:translate(3px)}.journey{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media (max-width:1000px){.journey{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.journey{grid-template-columns:1fr}}.jstep{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;box-shadow:var(--shadow-xs);transition:transform var(--d2) var(--ease),box-shadow var(--d2),border-color var(--d2)}.jstep:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--line-strong)}.jstep .jtop{display:flex;align-items:center;gap:10px;margin-bottom:9px}.jstep .jno{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;font-family:var(--font-num);font-size:12px;font-weight:700;background:var(--brand-soft);color:var(--brand-ink)}.jstep h4{font-size:13px;font-weight:700}.jstep p{font-size:11.8px;color:var(--muted);line-height:1.72}.jstep p b{color:var(--ink)}.flow-lg .fstep{font-size:12.5px;padding:8px 15px}.set-stack{display:flex;flex-direction:column;gap:20px}.link-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.link-fold{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);cursor:pointer;text-align:left;font-family:inherit;transition:border-color var(--d1),background var(--d1)}.link-fold:hover{border-color:var(--brand);background:var(--surface)}.toast-success{background:var(--good-soft);border-color:color-mix(in srgb,var(--good) 30%,transparent);color:var(--good)}.toast-error{background:var(--bad-soft);border-color:color-mix(in srgb,var(--bad) 30%,transparent);color:var(--bad)}.toast-warning{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 30%,transparent);color:var(--warn)}.toast-info{background:var(--brand-soft);border-color:color-mix(in srgb,var(--brand) 26%,transparent);color:var(--brand-ink)}
