:root{--bg: #FAFAFA;--surface: #FFFFFF;--surface-2: #F4F4F5;--surface-3: #EDEDEF;--border: #E4E4E7;--border-strong: #D4D4D8;--text: #18181B;--text-2: #52525B;--text-3: #71717A;--text-on-accent: #FFFFFF;--accent: #2F6BFF;--accent-hover: #1F57E6;--accent-solid: #2F6BFF;--accent-solid-hover: #1F57E6;--accent-soft: #EEF3FF;--ok: #15803D;--ok-soft: #EAF7EE;--warn: #B45309;--warn-soft: #FDF4E7;--danger: #DC2626;--danger-hover: #B91C1C;--danger-solid: #DC2626;--danger-soft: #FDECEC;--neutral-soft: #F1F1F3;--focus: 0 0 0 3px rgba(47,107,255,.28);--shadow-overlay: 0 12px 32px rgba(0,0,0,.12), 0 2px 6px rgba(0,0,0,.06);--scrim: rgba(24,24,27,.32);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--mono: "JetBrains Mono", "SFMono-Regular", ui-monospace, "DejaVu Sans Mono", monospace;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 20px;--fs-2xl: 24px;--lh: 1.5;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 20px;--s6: 24px;--s8: 32px;--s10: 40px;--s12: 48px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-pill: 999px;--h-control: 32px;--h-control-lg: 40px;--h-row: 44px;--sidebar: 220px;--topbar: 52px;--content-max: 1200px;--drawer: 480px;--t-fast: .12s;--t-base: .2s;--ease: cubic-bezier(.2,.8,.2,1)}[data-theme=dark]{--bg: #0A0A0B;--surface: #111113;--surface-2: #18181B;--surface-3: #202024;--border: #26262B;--border-strong: #34343A;--text: #F4F4F5;--text-2: #A1A1AA;--text-3: #8B8B94;--accent: #6E9BFF;--accent-hover: #8FB1FF;--accent-solid: #3567EB;--accent-solid-hover: #4677F5;--accent-soft: #16203A;--ok: #4ADE80;--ok-soft: #10261A;--warn: #FBBF24;--warn-soft: #2A2110;--danger: #F87171;--danger-hover: #FCA5A5;--danger-solid: #D93A3A;--danger-soft: #2C1414;--neutral-soft: #1C1C20;--focus: 0 0 0 3px rgba(91,140,255,.35);--shadow-overlay: 0 16px 40px rgba(0,0,0,.6);--scrim: rgba(0,0,0,.55)}@media(prefers-reduced-motion:reduce){:root{--t-fast: 0ms;--t-base: 0ms}}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}html{color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs-md);line-height:var(--lh);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,p{margin:0}ul,ol{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}.mono{font-family:var(--mono);font-size:12.5px}.num{font-variant-numeric:tabular-nums}.t2{color:var(--text-2)}.t3{color:var(--text-3)}.xs{font-size:var(--fs-xs)}.sm{font-size:var(--fs-sm)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.ui-icon{flex:none;display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--h-control);min-width:64px;padding:0 var(--s3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font-size:var(--fs-md);font-weight:var(--fw-medium);white-space:nowrap;cursor:pointer;transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.ui-btn:hover:not(:disabled){background:var(--surface-2)}.ui-btn:active:not(:disabled){transform:translateY(1px)}.ui-btn:focus-visible{outline:none;box-shadow:var(--focus)}.ui-btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.ui-btn-wrap{display:inline-flex;min-width:0}.ui-btn-wrap-block{width:100%}.ui-btn-primary{background:var(--accent-solid);border-color:var(--accent-solid);color:var(--text-on-accent)}.ui-btn-primary:hover:not(:disabled){background:var(--accent-solid-hover);border-color:var(--accent-solid-hover)}.ui-btn-ghost{background:transparent;border-color:transparent;color:var(--text-2)}.ui-btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.ui-btn-danger{background:var(--danger-solid);border-color:var(--danger-solid);color:var(--text-on-accent)}.ui-btn-danger:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover)}.ui-btn-danger-text{background:var(--surface);border-color:var(--border);color:var(--danger)}.ui-btn-danger-text:hover:not(:disabled){background:var(--danger-soft)}.ui-btn-sm{height:26px;min-width:0;padding:0 var(--s2);font-size:var(--fs-sm)}.ui-btn-icon{min-width:0;width:var(--h-control);padding:0}.ui-btn-sm.ui-btn-icon{width:26px}.ui-btn-block{width:100%}.ui-spin{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:ui-spin .7s linear infinite;flex:none}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-link{color:var(--accent);font-size:var(--fs-md);cursor:pointer}.ui-link:hover{text-decoration:underline}.ui-link:focus-visible{outline:none;box-shadow:var(--focus);border-radius:2px}.ui-link-muted{color:var(--text-2);font-size:var(--fs-sm)}.ui-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex:none}.ui-dot-ok{background:var(--ok)}.ui-dot-warn{background:var(--warn)}.ui-dot-danger{background:var(--danger)}.ui-dot-info{background:var(--accent)}.ui-dot-neutral{background:var(--text-3)}.ui-dot-pulse{box-shadow:0 0 0 3px var(--accent-soft)}.ui-badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:var(--r-pill);background:var(--neutral-soft);color:var(--text-2);font-size:var(--fs-xs);font-weight:var(--fw-medium);white-space:nowrap}.ui-badge .ui-dot{width:6px;height:6px}.ui-badge-ok{background:var(--ok-soft);color:var(--ok)}.ui-badge-warn{background:var(--warn-soft);color:var(--warn)}.ui-badge-danger{background:var(--danger-soft);color:var(--danger)}.ui-badge-info{background:var(--accent-soft);color:var(--accent)}.ui-sync{display:inline-flex;align-items:center;gap:6px;flex:none;white-space:nowrap;font-size:var(--fs-sm);color:var(--text-2)}.ui-sync-pending{color:var(--accent)}.ui-sync-queued{color:var(--warn)}.ui-sync-failed{color:var(--danger)}.ui-sync-retry{border:0;background:transparent;color:var(--accent);font-size:var(--fs-sm);cursor:pointer;padding:0;text-decoration:underline}.ui-tag{display:inline-flex;align-items:center;height:20px;padding:0 6px;border:1px solid var(--border);border-radius:4px;font-size:11px;color:var(--text-2);white-space:nowrap}.ui-scope{display:inline-flex;align-items:center;gap:6px;height:22px;max-width:240px;padding:0 8px;border-radius:4px;background:var(--surface-2);color:var(--text-2);font-size:var(--fs-xs);font-weight:var(--fw-medium)}.ui-scope-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-truncate{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.ui-truncate:focus-visible{outline:none;box-shadow:var(--focus);border-radius:2px}.ui-truncate-middle{display:inline-flex;align-items:baseline}.ui-truncate-head{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.ui-truncate-tail{flex:none;white-space:nowrap}.ui-truncate-none{white-space:nowrap}.ui-tooltip{position:fixed;z-index:60;max-width:360px;padding:var(--s1) var(--s2);border-radius:4px;background:var(--text);color:var(--bg);font-size:var(--fs-xs);line-height:1.5;word-break:break-word;pointer-events:none;box-shadow:var(--shadow-overlay)}.ui-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);min-width:0}.ui-card-h{display:flex;align-items:center;gap:var(--s2);padding:var(--s3) var(--s4);border-bottom:1px solid var(--border);font-size:var(--fs-md);font-weight:var(--fw-medium)}.ui-card-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-card-action{margin-left:auto;font-size:var(--fs-sm);font-weight:var(--fw-regular);color:var(--text-2)}.ui-card-b{padding:var(--s4)}.ui-card-b-flush{padding:0}.ui-stat{padding:var(--s4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);min-width:0}.ui-stat-label{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--text-2);min-width:0}.ui-stat-label .ui-truncate{min-width:0}.ui-stat-value{margin-top:var(--s1);font-size:var(--fs-2xl);font-weight:var(--fw-semibold);letter-spacing:-.02em;line-height:1.33}.ui-stat-value small{margin-left:var(--s1);font-size:var(--fs-md);font-weight:var(--fw-regular);color:var(--text-3)}.ui-stat-hint{margin-top:2px;font-size:var(--fs-xs);color:var(--text-3);min-width:0}.ui-kv{display:flex;flex-direction:column;margin:0}.ui-kv-row{display:flex;align-items:center;gap:var(--s4);min-height:32px;border-top:1px solid var(--border);padding:var(--s1) 0}.ui-kv-row:first-child{border-top:0}.ui-kv-key{flex:none;width:120px;font-size:var(--fs-sm);color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-kv-value{margin:0;display:flex;align-items:center;gap:var(--s2);min-width:0;font-size:var(--fs-md);color:var(--text)}.ui-kv-value>.ui-truncate{min-width:0}.ui-copy{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;background:transparent;color:var(--text-3);border-radius:4px;cursor:pointer}.ui-copy:hover{background:var(--surface-2);color:var(--text)}.ui-copy.is-copied{color:var(--ok)}.ui-table-toolbar{display:flex;align-items:center;gap:var(--s2);padding:var(--s3) var(--s4);border-bottom:1px solid var(--border)}.ui-table-wrap{width:100%}.ui-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:var(--fs-md)}.ui-th{height:36px;padding:0 var(--s4);text-align:left;font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-3);border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-td{height:var(--h-row);max-height:var(--h-row);padding:0 var(--s4);border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;vertical-align:middle}.ui-tr:last-child .ui-td{border-bottom:0}.ui-tr:hover .ui-td{background:var(--surface-2)}.ui-tr.is-open .ui-td{background:var(--accent-soft)}.ui-tr.is-clickable{cursor:pointer}.ui-tr:focus-visible{outline:none}.ui-tr:focus-visible .ui-td{box-shadow:inset 0 0 0 1px var(--accent)}.ui-col-name{width:26%;min-width:160px;max-width:320px}.ui-col-status{width:auto}.ui-col-mono{width:auto;min-width:120px}.ui-col-number{width:88px;text-align:right}.ui-col-time{width:112px}.ui-col-sync{width:160px}.ui-col-text{width:auto}.ui-col-actions{width:48px;text-align:right}@media(max-width:1023px){.ui-col-low{display:none}}.ui-cell-main{display:flex;align-items:center;gap:var(--s2);min-width:0}.ui-cell-name{font-weight:var(--fw-medium);min-width:0;overflow:hidden}.ui-cell-name>.ui-truncate{display:block}.ui-cell-mono{display:block;min-width:0;overflow:hidden;color:var(--text-2)}.ui-cell-number,.ui-cell-time{display:block;text-align:right;color:var(--text-2)}.ui-cell-time{text-align:left}.ui-cell-text{display:block;min-width:0;overflow:hidden;color:var(--text-2)}.ui-cell-empty{color:var(--text-3)}.ui-cell-actions{display:inline-flex;justify-content:flex-end;width:100%}.ui-table-pager{display:flex;align-items:center;justify-content:flex-end;gap:var(--s2);padding:var(--s2) var(--s4);border-top:1px solid var(--border)}.ui-table-page-info{margin-right:auto;font-size:var(--fs-xs);color:var(--text-3)}.ui-table-page-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text-2);cursor:pointer}.ui-table-page-btn:disabled{opacity:.45;cursor:not-allowed}.ui-table-page-btn .ui-icon{transform:rotate(180deg)}.ui-table-page-next .ui-icon{transform:none}.ui-list{display:none}@media(max-width:639px){.ui-table-wrap{display:none}.ui-list{display:block}.ui-list-row{display:flex;align-items:center;gap:var(--s3);min-height:56px;padding:var(--s2) var(--s4);border-bottom:1px solid var(--border)}.ui-list-row:last-child{border-bottom:0}.ui-list-row.is-clickable{cursor:pointer}.ui-list-row.is-clickable:active{background:var(--surface-2)}.ui-list-main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.ui-list-title{display:flex;align-items:center;gap:var(--s2);min-width:0;font-weight:var(--fw-medium)}.ui-list-title>.ui-truncate{min-width:0}.ui-list-meta{display:flex;gap:var(--s2);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-xs);color:var(--text-3)}.ui-list-side{display:flex;align-items:center;gap:var(--s2);flex:none}}.ui-tabs{display:flex;gap:var(--s5);border-bottom:1px solid var(--border)}.ui-tab{display:inline-flex;align-items:center;gap:6px;max-width:160px;padding:0 0 10px;margin-bottom:-1px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-2);font-size:var(--fs-md);cursor:pointer}.ui-tab:hover{color:var(--text)}.ui-tab:focus-visible{outline:none;box-shadow:var(--focus)}.ui-tab.is-active{color:var(--text);border-color:var(--text);font-weight:var(--fw-medium)}.ui-tab-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.ui-tab-count{font-size:11px;color:var(--text-3)}.ui-field{display:flex;flex-direction:column;gap:6px;min-width:0}.ui-field-label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text)}.ui-field-optional,.ui-field-required{font-weight:var(--fw-regular)}.ui-field-optional{color:var(--text-3)}.ui-field-label.is-required:after{content:"必填";margin-left:var(--s1);color:var(--accent);font-size:var(--fs-xs);font-weight:var(--fw-regular)}.ui-field-help{font-size:var(--fs-xs);color:var(--text-3)}.ui-field-error{font-size:var(--fs-xs);color:var(--danger)}.ui-field-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s3) 0;border-top:1px solid var(--border)}.ui-field-row-text{display:flex;flex-direction:column;gap:2px;min-width:0}.ui-field-row-control{flex:none}.ui-input-wrap{display:flex;align-items:center;gap:var(--s2);height:var(--h-control);padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text);min-width:0}.ui-input-wrap.is-mono .ui-input{font-family:var(--mono);font-size:12.5px}.ui-input-wrap:focus-within{border-color:var(--accent);box-shadow:var(--focus)}.ui-input-wrap.is-invalid{border-color:var(--danger)}.ui-input-wrap.is-invalid:focus-within{border-color:var(--danger)}.ui-input-wrap.is-readonly{background:var(--surface-2);color:var(--text-2)}.ui-input-wrap.is-disabled{opacity:.5}.ui-input{flex:1;min-width:0;height:100%;padding:0;border:0;background:transparent;color:inherit;font-size:var(--fs-md);outline:none}.ui-input::placeholder{color:var(--text-3)}.ui-input-suffix{display:inline-flex;align-items:center;gap:4px;flex:none;color:var(--text-3);font-size:var(--fs-sm);white-space:nowrap}.ui-input-number{appearance:textfield;-moz-appearance:textfield}.ui-input-number::-webkit-outer-spin-button,.ui-input-number::-webkit-inner-spin-button{appearance:none;margin:0}.ui-input-protocol{flex:none;border:0;background:transparent;color:var(--text-3);font-family:var(--mono);font-size:12.5px;cursor:pointer;outline:none}.ui-select-wrap{position:relative;padding-right:var(--s5)}.ui-select{appearance:none;-webkit-appearance:none;cursor:pointer}.ui-select-caret{position:absolute;right:10px;top:50%;transform:translateY(-50%) rotate(90deg);color:var(--text-3);pointer-events:none;display:inline-flex}.ui-textarea{width:100%;padding:var(--s2) 10px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font-size:var(--fs-md);line-height:1.6;resize:vertical;outline:none}.ui-textarea:focus{border-color:var(--accent);box-shadow:var(--focus)}.ui-textarea.is-mono{font-family:var(--mono);font-size:12.5px}.ui-textarea.is-invalid{border-color:var(--danger)}.ui-seg{display:inline-flex;padding:2px;gap:2px;background:var(--surface-2);border-radius:var(--r-sm)}.ui-seg-item{height:26px;padding:0 10px;border:0;border-radius:5px;background:transparent;color:var(--text-2);font-size:var(--fs-sm);cursor:pointer;white-space:nowrap}.ui-seg-item.is-active{background:var(--surface);color:var(--text);font-weight:var(--fw-medium)}.ui-toggle{position:relative;width:34px;height:20px;padding:0;border:0;border-radius:999px;background:var(--border-strong);cursor:pointer;transition:background var(--t-fast) var(--ease);flex:none}.ui-toggle.is-on{background:var(--accent-solid)}.ui-toggle:focus-visible{outline:none;box-shadow:var(--focus)}.ui-toggle:disabled{opacity:.5;cursor:not-allowed}.ui-toggle-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--text-on-accent);transition:left var(--t-fast) var(--ease)}.ui-toggle.is-on .ui-toggle-knob{left:16px}.ui-checkbox{display:flex;align-items:flex-start;gap:var(--s2);cursor:pointer;min-width:0}.ui-checkbox input{position:absolute;opacity:0;width:1px;height:1px}.ui-checkbox-box{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-top:2px;border:1px solid var(--border-strong);border-radius:4px;color:var(--text-on-accent);flex:none;transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.ui-checkbox input:checked+.ui-checkbox-box{background:var(--accent-solid);border-color:var(--accent-solid)}.ui-checkbox input:focus-visible+.ui-checkbox-box{box-shadow:var(--focus)}.ui-checkbox-text{display:flex;flex-direction:column;gap:2px;min-width:0}.ui-checkbox-label{font-size:var(--fs-md);color:var(--text)}.ui-checkbox-desc{font-size:var(--fs-xs);color:var(--text-3)}.ui-search{display:flex;align-items:center;height:28px;width:220px;padding:0 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface)}.ui-search:focus-within{border-color:var(--accent);box-shadow:var(--focus)}.ui-search-input{width:100%;border:0;background:transparent;color:var(--text);font-size:var(--fs-sm);outline:none}.ui-search-input::placeholder{color:var(--text-3)}.ui-filter{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border:1px dashed var(--border-strong);border-radius:var(--r-pill);background:transparent;color:var(--text-2);font-size:var(--fs-sm);cursor:pointer;white-space:nowrap}.ui-filter.is-on{border-style:solid;background:var(--surface-2);color:var(--text)}.ui-filter:focus-visible{outline:none;box-shadow:var(--focus)}.ui-secret-wrap{display:flex;align-items:center;gap:var(--s2)}.ui-secret-wrap .ui-input{height:var(--h-control);padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface)}.ui-secret-wrap .ui-input:focus{border-color:var(--accent);box-shadow:var(--focus)}.ui-secret{display:flex;align-items:center;gap:var(--s2);min-height:var(--h-control);padding:0 6px 0 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-2)}.ui-secret-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:12.5px}.ui-secret-actions{display:inline-flex;align-items:center;gap:var(--s2);flex:none}.ui-secret-public{color:var(--text-3);font-size:var(--fs-xs)}.ui-secret-once{display:flex;flex-direction:column;gap:var(--s2)}.ui-secret-warning{display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--warn)}.ui-secret-code{padding:var(--s2) 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text);font-size:12.5px;word-break:break-all}.ui-secret-once-actions{display:flex;align-items:center;gap:var(--s2)}.ui-code-wrap{display:flex;flex-direction:column;gap:var(--s2);min-width:0}.ui-code-head{display:flex;align-items:center;gap:var(--s2)}.ui-code-label{font-size:var(--fs-xs);color:var(--text-3);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:auto}.ui-code{margin:0;padding:var(--s3) var(--s4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);color:var(--text-2);font-family:var(--mono);font-size:12.5px;line-height:1.7;white-space:pre-wrap;word-break:break-all;min-width:0}.ui-log-wrap{position:relative;min-width:0}.ui-log-head{display:flex;align-items:center;gap:var(--s2);margin-bottom:var(--s2)}.ui-log-title{font-size:var(--fs-sm);color:var(--text-2);margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-log-actions{display:inline-flex;gap:var(--s1);flex:none}.ui-log{position:relative;max-height:320px;overflow:auto;padding:var(--s3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);font-family:var(--mono);font-size:12px;line-height:1.7;color:var(--text-2)}.ui-log-line{display:flex;gap:var(--s3);min-width:0}.ui-log-ts{flex:none;color:var(--text-3)}.ui-log-text{white-space:pre-wrap;word-break:break-word;min-width:0}.ui-log-info{color:var(--text-2)}.ui-log-warn{color:var(--warn)}.ui-log-error{color:var(--danger)}.ui-log-ok{color:var(--ok)}.ui-log-empty{color:var(--text-3)}.ui-log-earlier{display:block;margin-bottom:var(--s2);border:0;background:transparent;color:var(--accent);font-size:var(--fs-xs);cursor:pointer;font-family:var(--font)}.ui-log-latest{position:absolute;right:var(--s3);bottom:var(--s3);display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 var(--s2);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--text-2);font-size:var(--fs-xs);cursor:pointer;box-shadow:var(--shadow-overlay)}.ui-log-latest .ui-icon{transform:rotate(90deg)}.ui-steps{display:flex;flex-direction:column}.ui-step{display:flex;align-items:center;gap:var(--s3);padding:6px 0;font-size:var(--fs-sm)}.ui-step-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1.5px solid var(--border-strong);border-radius:50%;flex:none}.ui-step-done .ui-step-icon{background:var(--ok);border-color:var(--ok);color:var(--text-on-accent)}.ui-step-failed .ui-step-icon{background:var(--danger);border-color:var(--danger);color:var(--text-on-accent)}.ui-step-running .ui-step-icon{border-color:var(--accent);border-right-color:transparent}.ui-step-running .ui-step-icon .ui-spin{border-width:2px;border-color:var(--accent);border-right-color:transparent}.ui-step-todo{color:var(--text-3)}.ui-step-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-step-duration{flex:none;font-size:var(--fs-xs);color:var(--text-3)}.ui-stepper{display:flex;gap:var(--s2)}.ui-stepper-item{flex:1;min-width:0}.ui-stepper-bar{display:block;border-top:3px solid var(--border);margin-bottom:var(--s2)}.ui-stepper-done .ui-stepper-bar{border-color:var(--text-2)}.ui-stepper-current .ui-stepper-bar{border-color:var(--accent-solid)}.ui-stepper-failed .ui-stepper-bar{border-color:var(--danger)}.ui-stepper-label{display:block;font-size:var(--fs-sm);color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-stepper-done .ui-stepper-label{color:var(--text-2)}.ui-stepper-current .ui-stepper-label{color:var(--text);font-weight:var(--fw-medium)}.ui-stepper-failed .ui-stepper-label{color:var(--danger)}.ui-scrim{position:fixed;inset:0;background:var(--scrim);z-index:20;animation:ui-scrim-in var(--t-base) var(--ease)}.ui-drawer{position:fixed;top:0;right:0;bottom:0;width:var(--drawer);max-width:100%;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-overlay);z-index:21;display:flex;flex-direction:column;animation:ui-drawer-in var(--t-base) var(--ease)}.ui-drawer-h{display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s4) var(--s5);border-bottom:1px solid var(--border)}.ui-drawer-title-wrap{flex:1;min-width:0}.ui-drawer-title{margin:0;font-size:var(--fs-lg);font-weight:var(--fw-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-drawer-context{margin:2px 0 0;font-size:var(--fs-xs);color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-drawer-b{flex:1;overflow:auto;padding:var(--s5)}.ui-drawer-f{display:flex;align-items:center;gap:var(--s2);padding:var(--s3) var(--s5);border-top:1px solid var(--border)}.ui-dialog{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:420px;max-width:calc(100vw - var(--s8));max-height:calc(100vh - var(--s12));display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-overlay);z-index:21;animation:ui-dialog-in var(--t-base) var(--ease)}.ui-dialog-b{padding:var(--s5);overflow:auto}.ui-dialog-f{flex:none}.ui-dialog-title{margin:0 0 var(--s2);font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.ui-dialog-body{display:flex;flex-direction:column;gap:var(--s3)}.ui-dialog-text{margin:0;color:var(--text-2);font-size:var(--fs-sm);line-height:1.6}.ui-dialog-field{display:flex;flex-direction:column;gap:6px}.ui-dialog-field .ui-input{height:var(--h-control);padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface)}.ui-dialog-error{margin:0;color:var(--danger);font-size:var(--fs-xs)}.ui-dialog-f{display:flex;justify-content:flex-end;gap:var(--s2);padding:var(--s3) var(--s5);border-top:1px solid var(--border)}.ui-menu-anchor{position:relative;display:inline-flex}.ui-menu{position:fixed;width:200px;max-height:320px;overflow:auto;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-overlay);z-index:22;animation:ui-menu-in var(--t-base) var(--ease)}.ui-menu-left{left:0;right:auto}.ui-menu-item{display:flex;align-items:center;gap:var(--s2);width:100%;height:32px;padding:0 var(--s2);border:0;border-radius:4px;background:transparent;color:var(--text);font-size:var(--fs-md);text-align:left;cursor:pointer;min-width:0}.ui-menu-item>.ui-truncate{min-width:0}.ui-menu-item:hover{background:var(--surface-2)}.ui-menu-item.is-danger{color:var(--danger)}.ui-menu-item:disabled{opacity:.45;cursor:not-allowed}.ui-menu-item:focus-visible{outline:none;box-shadow:var(--focus)}.ui-menu-sep{height:1px;margin:4px 0;background:var(--border)}@keyframes ui-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes ui-drawer-in{0%{opacity:.4;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes ui-dialog-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes ui-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes ui-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ui-toast-host{position:fixed;left:50%;bottom:var(--s6);transform:translate(-50%);z-index:30}.ui-toast{display:flex;align-items:center;gap:var(--s3);max-width:90vw;padding:10px var(--s3) 10px var(--s4);border-radius:var(--r-md);background:var(--text);color:var(--bg);font-size:var(--fs-md);box-shadow:var(--shadow-overlay);animation:ui-toast-in var(--t-base) var(--ease)}.ui-toast-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-toast-act{border:0;background:transparent;color:var(--bg);opacity:.75;font-size:var(--fs-md);font-weight:var(--fw-medium);cursor:pointer}.ui-toast-close{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:0;background:transparent;color:var(--bg);opacity:.6;cursor:pointer;border-radius:4px}.ui-banner{display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s3) var(--s4);border-radius:var(--r-md);font-size:var(--fs-sm)}.ui-banner-icon{display:inline-flex;flex:none;margin-top:1px}.ui-banner-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.ui-banner-title{font-weight:var(--fw-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-banner-desc{color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-banner-warn{background:var(--warn-soft);color:var(--warn)}.ui-banner-danger{background:var(--danger-soft);color:var(--danger)}.ui-banner-info{background:var(--accent-soft);color:var(--accent)}.ui-banner-ok{background:var(--ok-soft);color:var(--ok)}.ui-banner-neutral{background:var(--neutral-soft);color:var(--text-2)}.ui-banner-action{flex:none}.ui-inline-error{margin:0;font-size:var(--fs-xs);color:var(--danger)}.ui-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--s12) var(--s6)}.ui-empty-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-bottom:var(--s3);border-radius:10px;background:var(--surface-2);color:var(--text-2)}.ui-empty-title{margin:0 0 var(--s1);font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.ui-empty-desc{margin:0 0 var(--s4);max-width:360px;font-size:var(--fs-sm);color:var(--text-2)}.ui-skeleton{display:inline-block;border-radius:4px;background:linear-gradient(90deg,var(--surface-2),var(--surface-3),var(--surface-2));background-size:200% 100%;animation:ui-skeleton 1.2s var(--ease) infinite}@keyframes ui-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.ui-cmd{position:fixed;left:50%;top:18%;transform:translate(-50%);width:560px;max-width:calc(100vw - var(--s8));max-height:60vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-overlay);z-index:40;overflow:hidden}.ui-cmd-search{display:flex;align-items:center;gap:var(--s2);padding:var(--s3) var(--s4);border-bottom:1px solid var(--border)}.ui-cmd-input{flex:1;border:0;background:transparent;color:var(--text);font-size:var(--fs-lg);outline:none}.ui-cmd-input::placeholder{color:var(--text-3)}.ui-kbd{flex:none;padding:0 5px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text-3);font-family:var(--mono);font-size:11px;line-height:18px}.ui-cmd-results{padding:var(--s2);overflow:auto;flex:1}.ui-cmd-group-title{margin:var(--s2) var(--s2) var(--s1);font-size:11px;color:var(--text-3)}.ui-cmd-item{display:flex;align-items:center;gap:var(--s2);width:100%;height:34px;padding:0 var(--s2);border:0;border-radius:4px;background:transparent;color:var(--text);font-size:var(--fs-md);text-align:left;cursor:pointer}.ui-cmd-item.is-active{background:var(--surface-2)}.ui-cmd-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-cmd-scope{margin-left:auto;color:var(--text-3);font-size:var(--fs-xs);flex:none}.ui-cmd-empty{padding:var(--s6);text-align:center;color:var(--text-2);font-size:var(--fs-sm)}.ui-cmd-foot{padding:var(--s2) var(--s4);border-top:1px solid var(--border);color:var(--text-3);font-size:var(--fs-xs)}.ui-stack{display:flex;flex-direction:column}.ui-row{display:flex}.ui-align-start{align-items:flex-start}.ui-align-center{align-items:center}.ui-align-end{align-items:flex-end}.ui-wrap{flex-wrap:wrap}.ui-grid{display:grid}.ui-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ui-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ui-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.ui-spacer{flex:1}.ui-gap-1{gap:var(--s1)}.ui-gap-2{gap:var(--s2)}.ui-gap-3{gap:var(--s3)}.ui-gap-4{gap:var(--s4)}.ui-gap-5{gap:var(--s5)}.ui-gap-6{gap:var(--s6)}.ui-gap-8{gap:var(--s8)}.ui-shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh}.ui-sidebar{display:flex;flex-direction:column;gap:2px;padding:var(--s3) var(--s2);border-right:1px solid var(--border);background:var(--surface);position:sticky;top:0;height:100vh;overflow-y:auto;z-index:10}.ui-brand{display:flex;align-items:center;gap:var(--s2);padding:var(--s2) var(--s3) var(--s4);font-weight:var(--fw-semibold);min-width:0}.ui-brand-logo{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:var(--text);color:var(--bg);font-size:var(--fs-xs);flex:none}.ui-brand-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-brand-mark{display:flex;align-items:center;gap:var(--s2);min-width:0}.ui-sidebar-close{display:none;margin-left:auto;border:0;background:transparent;color:var(--text-2);cursor:pointer;padding:var(--s1)}.ui-sidebar-nav{display:flex;flex-direction:column;gap:2px}.ui-nav-item{display:flex;align-items:center;gap:var(--s3);height:34px;padding:0 var(--s3);border-radius:var(--r-sm);color:var(--text-2);font-size:var(--fs-md);min-width:0}.ui-nav-item:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.ui-nav-item:focus-visible{outline:none;box-shadow:var(--focus)}.ui-nav-item.is-active{background:var(--surface-2);color:var(--text);font-weight:var(--fw-medium)}.ui-nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-nav-count{margin-left:auto;font-size:var(--fs-xs);color:var(--text-3)}.ui-nav-hub{height:30px;font-size:var(--fs-sm)}.ui-nav-sep{height:1px;margin:var(--s2) var(--s3);background:var(--border)}.ui-sidebar-group{margin:var(--s4) var(--s3) var(--s1);font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-3);letter-spacing:.04em}.ui-sidebar-foot{display:flex;align-items:center;gap:var(--s2);margin-top:auto;padding:var(--s3);font-size:var(--fs-xs);color:var(--text-3)}.ui-hub-switch-label{margin:0 0 6px;font-size:var(--fs-xs);color:var(--text-3)}.ui-hub-switch-wrap{position:relative;margin:var(--s2) 0 var(--s3)}.ui-hub-switch{display:flex;align-items:center;gap:var(--s3);width:100%;padding:var(--s2) var(--s3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);color:var(--text);cursor:pointer;text-align:left}.ui-hub-switch:hover{background:var(--surface-2)}.ui-hub-switch-text{display:flex;flex-direction:column;min-width:0;flex:1}.ui-hub-switch-name{font-weight:var(--fw-semibold);font-size:var(--fs-sm);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-hub-switch-meta{font-size:var(--fs-xs);color:var(--text-3);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-hub-switch-caret{display:inline-flex;color:var(--text-3);transform:rotate(90deg)}.ui-hub-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-overlay);z-index:22;max-height:320px;overflow:auto}.ui-main{display:flex;flex-direction:column;min-width:0}.ui-topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;flex-wrap:nowrap;gap:var(--s3);height:var(--topbar);min-height:var(--topbar);max-height:var(--topbar);overflow:hidden;padding:0 var(--s6);border-bottom:1px solid var(--border);background:var(--surface)}.ui-topbar-menu{display:none;flex:none;border:0;background:transparent;color:var(--text-2);cursor:pointer;padding:var(--s1)}.ui-topbar-right{display:flex;align-items:center;gap:var(--s2);margin-left:auto;flex:none}.ui-topbar-search{display:flex;align-items:center;gap:var(--s2);width:260px;height:var(--h-control);padding:0 var(--s2) 0 var(--s3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--text-3);font-size:var(--fs-sm);cursor:pointer;text-align:left}.ui-topbar-search-btn{display:none;align-items:center;justify-content:center;width:var(--h-control);height:var(--h-control);flex:none;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-2);cursor:pointer}.ui-topbar-search-btn:hover{background:var(--surface-2);color:var(--text)}.ui-topbar-search-btn:focus-visible{outline:none;box-shadow:var(--focus)}.ui-topbar-search>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-topbar-search .ui-kbd{margin-left:auto}.ui-topbar-user{font-size:var(--fs-sm);color:var(--text-2);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-topbar-theme{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.ui-task-pill{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent);font-size:var(--fs-xs);font-weight:var(--fw-medium);white-space:nowrap}.ui-crumbs{display:flex;align-items:center;flex:1 1 auto;flex-wrap:nowrap;gap:var(--s2);min-width:0;overflow:hidden;font-size:var(--fs-md);color:var(--text-2);white-space:nowrap}.ui-crumb-item{display:inline-flex;align-items:center;flex:0 1 auto;gap:var(--s2);min-width:0;white-space:nowrap}.ui-crumb-node{flex:1 1 0;min-width:0;max-width:260px}.ui-crumb-current{flex:0 0 auto;min-width:0;max-width:55%;color:var(--text);font-weight:var(--fw-medium)}.ui-crumb-extra{flex:none}.ui-crumb-link{display:block;min-width:0;overflow:hidden;color:var(--text-2);font-size:var(--fs-sm)}.ui-crumb-text{display:block;min-width:0;overflow:hidden}.ui-crumb-text>.ui-truncate-end{display:block;max-width:100%}.ui-crumb-text>.ui-truncate-middle{display:flex;max-width:100%}.ui-crumb-sep{display:inline-flex;flex:none;color:var(--text-3);transform:rotate(90deg)}.ui-content{width:100%;max-width:var(--content-max);margin-inline:auto;padding:var(--s6)}.ui-split{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;min-width:0}.ui-split-main,.ui-split-aside{min-width:0}@media(max-width:1023px){.ui-split{grid-template-columns:minmax(0,1fr)}}.ui-page-head{display:flex;align-items:flex-start;gap:var(--s4);margin-bottom:var(--s6)}.ui-page-head-main{flex:1;min-width:0}.ui-page-title{margin:0;font-size:var(--fs-xl);font-weight:var(--fw-semibold);letter-spacing:-.01em;line-height:1.4;min-width:0}.ui-page-sub{display:flex;align-items:center;gap:var(--s3);margin-top:2px;font-size:var(--fs-sm);color:var(--text-2);min-width:0;flex-wrap:wrap}.ui-page-summary{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-page-actions{display:flex;align-items:center;gap:var(--s2);flex:none}.ui-save-bar{display:flex;align-items:center;gap:var(--s2);padding:var(--s3) var(--s4);border-top:1px solid var(--border);background:var(--surface)}.ui-save-bar .ui-save-note{margin-right:auto;font-size:var(--fs-xs);color:var(--text-3)}.ui-login{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--s6);background:linear-gradient(180deg,var(--surface-2),var(--bg) 58%)}.ui-login-card{width:100%;max-width:360px;padding:var(--s8);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.ui-login-brand{display:flex;align-items:center;gap:var(--s2);margin-bottom:var(--s2);font-weight:var(--fw-semibold)}.ui-login-status{display:flex;align-items:center;gap:6px;margin:0 0 var(--s6);font-size:var(--fs-xs);color:var(--text-3)}.ui-login-title{margin:0;font-size:var(--fs-xl);font-weight:var(--fw-semibold)}.ui-login-subtitle{margin:var(--s1) 0 var(--s6);color:var(--text-2);font-size:var(--fs-sm)}.ui-login-submit{margin-top:var(--s2)}.ui-login-submit .ui-btn{width:100%}.gallery{min-height:100vh;background:var(--bg);color:var(--text);padding:var(--s8) var(--s6);max-width:var(--content-max);margin:0 auto}.gallery-section{margin-bottom:var(--s10)}.gallery-section-title{margin:0 0 var(--s4);font-size:var(--fs-lg);font-weight:var(--fw-semibold);border-bottom:1px solid var(--border);padding-bottom:var(--s2)}.gallery-grid{display:flex;flex-wrap:wrap;gap:var(--s4);align-items:flex-start}.gallery-stack{display:flex;flex-direction:column;gap:var(--s3);min-width:280px;flex:1}.gallery-wide{flex-basis:100%}.gallery-label{font-size:var(--fs-xs);color:var(--text-3);margin-bottom:var(--s1)}.gallery-frame{border:1px dashed var(--border-strong);border-radius:var(--r-md);padding:var(--s4);min-width:240px;flex:1}.gallery-shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);height:560px;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;background:var(--bg)}.gallery-shell .ui-sidebar{position:static;height:100%}.gallery-toolbar{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:flex-end;margin-bottom:var(--s6);border-bottom:1px solid var(--border);padding-bottom:var(--s4)}.gallery-heading{margin-right:auto}.gallery-title{margin:0;font-size:var(--fs-2xl);font-weight:var(--fw-semibold)}.gallery-sub{margin:var(--s1) 0 0;color:var(--text-2);font-size:var(--fs-sm)}.gallery-swatch{display:inline-flex;align-items:center;gap:var(--s2);font-size:var(--fs-xs);color:var(--text-2)}.gallery-chip{width:24px;height:24px;border-radius:6px;border:1px solid var(--border);flex:none}.gallery-chip-bg{background:var(--bg)}.gallery-chip-surface{background:var(--surface)}.gallery-chip-surface2{background:var(--surface-2)}.gallery-chip-border{background:var(--border)}.gallery-chip-text{background:var(--text)}.gallery-chip-accent{background:var(--accent)}.gallery-chip-ok{background:var(--ok)}.gallery-chip-warn{background:var(--warn)}.gallery-chip-danger{background:var(--danger)}@media(max-width:1023px){.ui-shell{grid-template-columns:minmax(0,1fr)}.ui-sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar);height:100%;transform:translate(-100%);transition:transform var(--t-base) var(--ease);z-index:21}.ui-sidebar.is-open{transform:translate(0)}.ui-sidebar-close,.ui-topbar-menu{display:inline-flex}.ui-topbar{padding:0 var(--s4)}.ui-topbar-search{width:200px}.ui-content{padding:var(--s4)}.ui-grid.ui-cols-3,.ui-grid.ui-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:640px)and (max-width:1023px){.ui-shell{grid-template-columns:56px minmax(0,1fr)}.ui-sidebar{position:sticky;top:0;left:auto;width:56px;height:100vh;transform:none;padding:var(--s3) var(--s1);align-items:center;overflow-x:hidden}.ui-sidebar.is-open{transform:none}.ui-sidebar-scrim,.ui-sidebar-close,.ui-topbar-menu,.ui-brand-name,.ui-sidebar-group,.ui-nav-label,.ui-nav-count,.ui-sidebar-foot,.ui-hub-switch-wrap,.ui-nav-sep,.ui-sidebar .ui-link{display:none}.ui-brand{justify-content:center;padding:var(--s2) 0 var(--s3)}.ui-sidebar-nav{width:100%}.ui-nav-item,.ui-nav-hub{justify-content:center;gap:0;padding:0;height:38px}}@media(max-width:639px){.ui-btn{height:var(--h-control-lg)}.ui-btn-sm{height:32px}.ui-input-wrap{height:var(--h-control-lg)}.ui-input,.ui-textarea{font-size:var(--fs-lg)}.ui-search{width:100%}.ui-table-toolbar{flex-wrap:wrap}.ui-th,.ui-td{padding:0 var(--s3)}.ui-col-time,.ui-col-sync{display:none}.ui-col-name{width:44%}.ui-col-status{width:24%}.ui-col-mono{width:32%}.ui-grid.ui-cols-2,.ui-grid.ui-cols-3,.ui-grid.ui-cols-4{grid-template-columns:minmax(0,1fr)}.ui-drawer{width:100%}.ui-page-head{flex-direction:column;align-items:stretch;gap:var(--s3)}.ui-page-actions{justify-content:flex-end;flex-wrap:wrap}.ui-topbar-search{display:none}.ui-topbar-search-btn{display:inline-flex}.ui-topbar-user{display:inline-flex;max-width:none}.ui-topbar-user .ui-btn{width:var(--h-control);min-width:0;padding:0}.ui-topbar-user .ui-btn>span{display:none}.ui-crumb-hidden{display:none}.ui-crumb-node>.ui-crumb-sep{display:none}.ui-crumb-node{max-width:none}.ui-topbar{gap:var(--s2);padding:0 var(--s4)}.ui-page-sub{flex-wrap:nowrap;overflow:hidden}.ui-page-summary{flex:1 1 auto}.ui-scope{flex:0 1 auto;min-width:0;max-width:50%}.ui-content{padding:var(--s3)}.ui-page-sub{gap:var(--s2)}.ui-stack .ui-card{min-width:0}.gallery{padding:var(--s4)}.gallery-shell{grid-template-columns:minmax(0,1fr);height:auto}}.ui-panel-version{margin:var(--s1) 0 0;color:var(--text-3);font-size:var(--fs-sm)}.ui-hub-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}.ui-hub-card-link{display:block;min-width:0;color:inherit;text-decoration:none;border-radius:var(--r-lg)}.ui-hub-card-link .ui-card{height:100%;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.ui-hub-card-link:hover .ui-card{border-color:var(--border-strong);box-shadow:var(--shadow-overlay);transform:translateY(-1px)}.ui-hub-card-link:focus-visible{outline:none}.ui-hub-card-link:focus-visible .ui-card{box-shadow:var(--focus)}.ui-hub-card-endpoint{display:flex;flex-direction:column;gap:2px;min-width:0}.ui-hub-card-kicker{display:block;color:var(--text-3);font-size:var(--fs-xs)}.ui-hub-card-address{display:block;overflow:hidden;color:var(--text-2);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap}.ui-hub-card-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3) var(--s4)}.ui-hub-card-facts strong{display:block;margin-top:2px;overflow:hidden;color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap}.ui-hub-card-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding-top:var(--s3);border-top:1px solid var(--border);color:var(--text-3);font-size:var(--fs-xs)}.ui-hub-card-enter{color:var(--accent)}@media(max-width:900px){.ui-hub-cards{grid-template-columns:1fr}}.ui-hub-cards{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.ui-hub-tile{display:flex;flex-direction:column;gap:var(--s4);min-width:0;padding:var(--s4);color:var(--text);text-decoration:none;background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--border-strong);border-radius:var(--r-lg);transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.ui-hub-tile-ok{border-top-color:var(--ok)}.ui-hub-tile-warn{border-top-color:var(--warn)}.ui-hub-tile-danger{border-top-color:var(--danger)}.ui-hub-tile:hover{border-color:var(--border-strong);box-shadow:var(--shadow-overlay);transform:translateY(-1px)}.ui-hub-tile:focus-visible{outline:none;box-shadow:var(--focus)}.ui-hub-tile-head{display:flex;align-items:flex-start;gap:var(--s3);min-width:0}.ui-hub-tile-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:34px;height:34px;color:var(--accent);background:var(--accent-soft);border-radius:var(--r-md)}.ui-hub-tile-identity{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.ui-hub-tile-name{margin:0;overflow:hidden;font-size:var(--fs-lg);font-weight:var(--fw-semibold);text-overflow:ellipsis;white-space:nowrap}.ui-hub-tile-endpoint{overflow:hidden;color:var(--text-3);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap}.ui-hub-tile-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3) var(--s4)}.ui-hub-tile-metrics strong{display:block;margin-top:2px;overflow:hidden;font-size:var(--fs-sm);font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap}.ui-hub-tile-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding-top:var(--s3);border-top:1px solid var(--border);color:var(--text-3);font-size:var(--fs-xs)}.ui-sidebar-back{display:block;margin:0 var(--s3) var(--s3);padding:var(--s2) var(--s3);color:var(--text-2);font-size:var(--fs-sm);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md)}.ui-sidebar-back:hover{color:var(--text);border-color:var(--border-strong)}.ui-sidebar-back:hover{color:var(--text)}.ui-peer-summary{display:flex!important;flex-wrap:wrap;gap:2px 6px;font-weight:var(--fw-regular)!important}.ui-peer-summary .is-ok{color:var(--ok)}.ui-peer-summary .is-warn{color:var(--warn)}.ui-brand-home{display:flex;align-items:center;min-width:0;color:inherit;text-decoration:none}.ui-brand-home:hover{color:var(--text)}.ui-readonly-field{display:flex;align-items:center;min-height:36px;padding:var(--s2) var(--s3);color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md)}.ui-hubbar{position:sticky;top:0;z-index:20;display:flex;flex-direction:column;gap:var(--s2);padding:var(--s3) var(--s6) 0;background:var(--bg);border-bottom:1px solid var(--border)}.ui-hubbar-context{display:flex;align-items:center;gap:var(--s3);min-width:0}.ui-hubbar-back{flex:none;color:var(--text-2);font-size:var(--fs-sm);text-decoration:none}.ui-hubbar-back:hover{color:var(--text)}.ui-hubbar-switch-wrap{position:relative;min-width:0}.ui-hubbar-switch{display:flex;align-items:center;gap:var(--s2);max-width:420px;padding:var(--s1) var(--s2);color:var(--text);background:transparent;border:1px solid transparent;border-radius:var(--r-md);cursor:pointer}.ui-hubbar-switch:hover,.ui-hubbar-switch[aria-expanded=true]{background:var(--surface-2);border-color:var(--border)}.ui-hubbar-switch-name{overflow:hidden;font-size:var(--fs-md);font-weight:var(--fw-semibold);text-overflow:ellipsis;white-space:nowrap}.ui-hubbar-switch-meta{overflow:hidden;color:var(--text-3);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap}.ui-hubbar-menu{position:absolute;top:calc(100% + var(--s2));left:0;z-index:30;display:flex;flex-direction:column;width:280px;max-height:360px;padding:var(--s1);overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-overlay)}.ui-hubbar-menu-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-hubbar-menu-meta{color:var(--text-3);font-size:var(--fs-xs)}.ui-hubbar-tabs{display:flex;align-items:center;gap:var(--s1);min-width:0;overflow-x:auto;scrollbar-width:thin}.ui-hubbar-group{flex:none;margin:0 var(--s2) 0 var(--s3);color:var(--text-3);font-size:var(--fs-xs);font-weight:var(--fw-semibold);white-space:nowrap}.ui-hubbar-tab{display:inline-flex;flex:none;align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);color:var(--text-2);font-size:var(--fs-sm);text-decoration:none;border-bottom:2px solid transparent}.ui-hubbar-tab:hover{color:var(--text);background:var(--surface-2)}.ui-hubbar-tab.is-active{color:var(--accent);border-bottom-color:var(--accent)}@media(max-width:640px){.ui-hubbar{padding:var(--s2) var(--s3) 0}.ui-hubbar-switch-meta{display:none}.ui-hubbar-switch{max-width:240px}.ui-hubbar-group{margin-left:var(--s2)}}
