:root{color:#21314f;background:radial-gradient(circle at top left,#ffe9f3 0,transparent 28%),radial-gradient(circle at top right,#dff2ff 0,transparent 30%),linear-gradient(180deg,#fdfcff,#f3fbff);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--surface: rgba(255, 255, 255, .82);--surface-strong: rgba(255, 255, 255, .94);--border: rgba(76, 109, 161, .24);--border-strong: rgba(76, 109, 161, .4);--text-subtle: #5f7398;--shadow: 0 18px 40px rgba(105, 145, 191, .16);--online: #7dd3a7;--degraded: #ffd37f;--offline: #f6a6ad;--unknown: #b7c6df}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100dvh}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid #7ab4ff;outline-offset:2px}#root{min-height:100dvh}.watchboard,.admin-page,.character-page{min-height:100dvh;padding:24px}.watchboard{display:block}.app-header{display:flex;justify-content:space-between;align-items:center;gap:16px;max-width:1200px;margin:0 auto 18px}.app-header__brand,.app-header__nav,.app-header__nav a{display:inline-flex;align-items:center}.app-header__brand{gap:10px;min-width:0;color:#24476f;font-weight:700;text-decoration:none}.app-header__brand img{width:34px;height:34px;border-radius:8px;object-fit:cover;filter:drop-shadow(0 8px 14px rgba(105,145,191,.18))}.app-header__brand span{overflow-wrap:anywhere}.app-header__nav{flex-wrap:wrap;justify-content:flex-end;gap:8px}.app-header__nav a{gap:6px;min-height:44px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:#ffffffb8;color:#31567f;font-size:.9rem;font-weight:600;text-decoration:none;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.app-header__nav a:hover,.app-header__nav a:focus-visible{border-color:#7ab4ffb8;background:#e5f4fff5;box-shadow:0 8px 20px #538bd324;color:#174a83}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:0 auto 20px;max-width:1200px}.topbar__title-group h1,.node-section__header h2,.status-card__header h3,.assistant-copy p{margin:0}.topbar__eyebrow,.node-section__header p,.topbar__timestamp,.assistant-copy__label{margin:0;color:var(--text-subtle);font-size:.875rem}.topbar__eyebrow,.assistant-copy__label{text-transform:uppercase;letter-spacing:0}.topbar__title-group h1{font-size:clamp(1.75rem,4vw,2.4rem);line-height:1.1}.topbar__timestamp{flex-shrink:0;padding-top:6px;text-align:right}.watchboard__alert{max-width:1200px;margin:0 auto 16px;padding:10px 12px;border:1px solid rgba(230,125,141,.4);border-radius:8px;background:#ffeef1eb;color:#7a3344}.watchboard-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:16px;align-items:start;max-width:1200px;margin:0 auto}.node-stack{display:grid;gap:16px}.assistant-panel{border:1px solid var(--border);border-radius:8px;background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow)}.node-section{padding:4px 0 8px}.node-section__header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.node-section__header h2{font-size:1.2rem}.node-usage{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:520px}.node-usage span{display:inline-flex;align-items:center;min-height:28px;padding:3px 9px;border:1px solid rgba(76,109,161,.22);border-radius:8px;background:#ffffffc7;color:#3f628f;font-size:.82rem;font-variant-numeric:tabular-nums}.node-usage--unavailable span{border-color:#b7c6df6b;background:#f5f8fcd1;color:var(--text-subtle)}.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.status-card{display:grid;gap:12px;min-height:184px;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-strong)}.status-card--online{border-color:#7dd3a780}.status-card--degraded{border-color:#ffd37f99}.status-card--offline{border-color:#f6a6ad99}.status-card__header{display:flex;align-items:center;gap:10px;min-width:0}.status-card__header h3{font-size:1rem;line-height:1.3}.status-dot{width:10px;height:10px;border-radius:999px;flex-shrink:0;background:var(--unknown);box-shadow:0 0 0 3px #b7c6df33}.status-dot--online{background:var(--online);box-shadow:0 0 0 3px #7dd3a738}.status-dot--degraded{background:var(--degraded);box-shadow:0 0 0 3px #ffd37f3d}.status-dot--offline{background:var(--offline);box-shadow:0 0 0 3px #f6a6ad3d}.status-card__state{margin:0;color:var(--text-subtle);text-transform:capitalize}.status-card__checks{display:flex;flex-wrap:wrap;gap:8px;align-content:start}.status-card__metrics{display:grid;gap:8px}.status-metric{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:32px;padding:6px 10px;border:1px solid rgba(76,109,161,.18);border-radius:8px;background:#f5faffd1;color:#35567f;font-size:.84rem;font-variant-numeric:tabular-nums}.status-metric strong{color:#255ea8;font-size:.9rem;white-space:nowrap}.status-chip{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border:1px solid var(--border);border-radius:999px;background:#edf7ffeb;color:var(--text-subtle);font-size:.875rem}.status-chip--pass{border-color:#7dd3a78c;background:#e8fff3eb;color:#2f7654}.status-chip--fail{border-color:#f6a6ad8c;background:#ffeff1eb;color:#9a4653}.discovered-ports{margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}.discovered-ports p{margin:0 0 8px;color:var(--text-subtle);font-size:.875rem}.discovered-ports ul{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none}.discovered-ports li{display:inline-flex;align-items:center;gap:8px;min-height:30px;padding:4px 10px;border:1px solid rgba(76,109,161,.22);border-radius:8px;background:#ffffffc2;color:#33496f;font-size:.875rem}.status-card__link{display:inline-flex;align-items:center;gap:8px;min-height:36px;margin-top:auto;color:#255ea8;font-weight:600;text-decoration:none;transition:color .18s ease,transform .18s ease}.status-card__link:hover,.status-card__link:focus-visible{color:#174a83;transform:translateY(-1px)}.assistant-panel{display:grid;gap:12px;padding:14px;position:sticky;top:24px}.assistant-panel__link{display:grid;gap:12px;color:inherit;text-decoration:none}.assistant-panel__link:hover .assistant-copy__action,.assistant-panel__link:focus-visible .assistant-copy__action{border-color:#7ab4ffb8;background:#e5f4fff5;color:#174a83}.assistant-avatar{position:relative;width:88px;height:88px}.assistant-avatar--live2d{width:112px;height:128px}.assistant-avatar__image{display:block;width:100%;height:100%;border-radius:8px;filter:drop-shadow(0 12px 22px rgba(105,145,191,.18));transform-origin:50% 78%;animation:assistant-breathe 3.2s ease-in-out infinite;-webkit-user-select:none;user-select:none}.assistant-live2d,.assistant-live2d__stage,.assistant-live2d__fallback{position:absolute;inset:0}.assistant-live2d{overflow:hidden;border-radius:8px}.assistant-live2d__stage canvas{display:block;width:100%!important;height:100%!important}.assistant-live2d__fallback{display:grid;place-items:center}.assistant-live2d--ready .assistant-live2d__fallback{display:none}.assistant-copy{display:grid;gap:6px}.assistant-copy__action{display:inline-flex;width:fit-content;min-height:28px;align-items:center;padding:3px 8px;border:1px solid var(--border);border-radius:8px;background:#ffffffb8;color:#31567f;font-size:.82rem;font-weight:700;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.character-page{max-width:1240px;margin:0 auto}.character-page__header,.character-toolbar,.character-layout,.character-page__status,.character-persona,.character-preview,.character-thumbnails{display:grid}.character-page__header{grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;margin-bottom:16px}.character-page__header h1,.character-persona h2,.character-preview__caption h2,.character-thumbnails__header h2,.character-empty h2{margin:0}.character-page__header h1{margin-bottom:8px;font-size:clamp(1.75rem,4vw,2.4rem);line-height:1.1}.character-page__status{min-width:190px;gap:8px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#ffffffb8;color:var(--text-subtle);font-size:.9rem}.character-toolbar{gap:10px;margin-bottom:16px;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.character-segment,.character-control-row,.character-tags{display:flex;flex-wrap:wrap;gap:8px}.character-control,.character-chip,.character-thumbnail{border:1px solid var(--border);border-radius:8px;background:#ffffffd1;color:#31567f;font:inherit;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease,transform .18s ease}.character-control,.character-chip{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;padding:0 12px;font-weight:700}.character-control:not(:disabled),.character-chip:not(:disabled),.character-thumbnail:not(:disabled){cursor:pointer}.character-control[aria-pressed=true],.character-chip[aria-pressed=true],.character-thumbnail[aria-pressed=true],.character-control:hover,.character-control:focus-visible,.character-chip:hover,.character-chip:focus-visible,.character-thumbnail:hover,.character-thumbnail:focus-visible{border-color:#7ab4ffb8;background:#e5f4fff5;box-shadow:0 10px 24px #538bd324;color:#174a83}.character-control__icon,.character-empty__icon{width:16px;height:16px}.character-layout{grid-template-columns:minmax(220px,.72fr) minmax(0,1.45fr) minmax(260px,.86fr);gap:16px;align-items:start}.character-persona,.character-preview,.character-thumbnails{gap:14px;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.character-persona{position:sticky;top:24px}.character-persona p,.character-detail-list p,.character-empty p,.character-empty-note,.character-preview__caption span,.character-thumbnails__header span{margin:0;color:var(--text-subtle)}.character-tag{display:inline-flex;min-height:28px;align-items:center;padding:4px 9px;border:1px solid rgba(122,180,255,.3);border-radius:8px;background:#f7fbffe6;color:#426189;font-size:.84rem;font-weight:650}.character-detail-list{display:grid;gap:10px}.character-preview__stage{display:grid;min-height:440px;place-items:center;border:1px solid rgba(122,180,255,.28);border-radius:8px;background:linear-gradient(180deg,#ffffffad,#ebf8ffd1),repeating-linear-gradient(90deg,transparent 0 28px,rgba(122,180,255,.08) 28px 29px);overflow:hidden}.character-preview__stage img{display:block;width:100%;max-height:560px;object-fit:contain;filter:drop-shadow(0 18px 24px rgba(82,129,185,.2));-webkit-user-select:none;user-select:none}.character-preview__caption,.character-thumbnails__header{display:flex;justify-content:space-between;gap:12px;align-items:start}.character-thumbnail-list{display:grid;gap:10px;max-height:min(70dvh,720px);margin:0;padding:0;overflow:auto;list-style:none}.character-thumbnail{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;width:100%;min-height:82px;padding:8px;text-align:left}.character-thumbnail img{width:64px;height:64px;border-radius:8px;object-fit:cover;background:#fff}.character-thumbnail span{display:grid;gap:4px;align-content:center}.character-thumbnail strong,.character-thumbnail small{overflow-wrap:anywhere}.character-thumbnail small{color:var(--text-subtle)}.character-empty{display:grid;min-height:320px;place-items:center;gap:10px;padding:24px;text-align:center}.admin-page{max-width:1200px;margin:0 auto}.admin-page__header,.admin-page__statusline,.admin-panel__heading,.admin-field,.admin-action-button,.admin-panel__footnote{display:grid}.admin-page__header{grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;margin-bottom:20px}.admin-page__header h1,.admin-panel__heading h2,.admin-result pre{margin:0}.admin-page__eyebrow,.admin-page__summary,.admin-page__statusline,.admin-panel__heading p,.admin-field span,.admin-action-button small,.admin-panel__note,.admin-panel__footnote,.admin-result p{margin:0;color:var(--text-subtle)}.admin-page__eyebrow{text-transform:uppercase;font-size:.875rem}.admin-page__header h1{font-size:clamp(1.75rem,4vw,2.4rem);line-height:1.1;margin:0 0 8px}.admin-page__summary{max-width:56ch}.admin-page__statusline{min-width:220px;gap:8px;padding:14px;border:1px solid var(--border);border-radius:8px;background:#ffffffb8}.admin-login,.admin-panel,.admin-password-panel,.astrbot-webui-panel{border:1px solid var(--border);border-radius:8px;background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow)}.admin-login{max-width:480px;padding:16px}.admin-login__form,.admin-grid,.admin-action-grid{display:grid;gap:12px}.admin-login__form{margin-top:16px}.admin-field{gap:6px}.admin-inline-check{display:inline-flex;align-items:center;gap:8px;color:var(--text-subtle);font-size:.9rem}.admin-inline-check input{width:16px;height:16px;accent-color:#5d9fe0}.admin-field input,.admin-field textarea{min-height:44px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#fffffff0;color:inherit;font:inherit}.admin-field textarea{min-height:96px;resize:vertical}.admin-grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:start}.admin-grid--balanced{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-panel{gap:16px;padding:16px}.admin-password-panel,.astrbot-webui-panel{display:grid;gap:12px;margin-bottom:16px;padding:16px}.admin-password-panel__header{display:flex;justify-content:space-between;gap:12px;align-items:start}.admin-password-panel__header h2,.admin-password-panel__header p,.admin-password-panel__message,.admin-password-panel__error{margin:0}.admin-password-panel__header h2{font-size:1.05rem}.admin-password-panel__header p{color:var(--text-subtle)}.admin-password-panel__form{display:grid;gap:12px}.admin-password-panel__message{color:#2f7654}.admin-password-panel__error{color:#9a4653}.admin-panel__heading{gap:4px}.admin-action-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.admin-action-grid--kirameki{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-action-grid--kirameki>:last-child:nth-child(odd){grid-column:1 / -1}.admin-button,.admin-action-button{border:1px solid var(--border);border-radius:8px;background:#ffffffe0;color:inherit;font:inherit;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease,transform .18s ease}.admin-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 14px;font-weight:600}.admin-button--primary{border-color:#7ab4ff73;background:#e3f1fff5}.admin-button--icon{width:44px;padding:0}.admin-button:not(:disabled),.admin-action-button:not(:disabled){cursor:pointer}.admin-button:not(:disabled):hover,.admin-button:not(:disabled):focus-visible{border-color:#7ab4ffb8;background:#d7ecfffa;box-shadow:0 10px 24px #538bd32e;color:#174a83}.admin-button:disabled,.admin-action-button:disabled{cursor:wait;opacity:.72}.admin-button__icon,.admin-action-button__icon,.admin-panel__footnote-icon{width:16px;height:16px}.admin-action-button{position:relative;gap:8px;min-height:112px;padding:14px;text-align:left;align-content:start}.admin-action-button:not(:disabled):hover,.admin-action-button:not(:disabled):focus-visible{border-color:#7ab4ffc7;background:linear-gradient(180deg,#f5fbfffa,#e8f4fff5);box-shadow:0 14px 28px #538bd32e;color:#174a83;transform:translateY(-2px)}.admin-action-button:not(:disabled):after{content:attr(title);position:absolute;right:10px;bottom:10px;left:10px;min-height:24px;padding:4px 8px;border:1px solid rgba(122,180,255,.34);border-radius:8px;background:#fffffff0;color:#3f628f;font-size:.78rem;line-height:1.35;opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .18s ease,transform .18s ease}.admin-action-button:not(:disabled):hover:after,.admin-action-button:not(:disabled):focus-visible:after{opacity:1;transform:translateY(0)}.admin-action-button:not(:disabled):hover .admin-action-button__icon,.admin-action-button:not(:disabled):focus-visible .admin-action-button__icon{color:#1e6eb6;filter:drop-shadow(0 4px 8px rgba(122,180,255,.28))}.admin-action-button span{font-weight:600}.admin-result{min-height:240px;padding:14px;border:1px solid var(--border);border-radius:8px;background:#f8fbffeb}.admin-result--bounded{max-height:clamp(300px,48dvh,520px);overflow:auto;overscroll-behavior:contain}.admin-result pre{white-space:pre-wrap;word-break:break-word;font:.9rem/1.5 SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.admin-panel__note,.admin-panel__footnote{font-size:.925rem}.admin-panel__footnote{grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center}.admin-button__icon--spin,.admin-action-button__icon--spin{animation:admin-spin 1s linear infinite}.astrbot-console{display:block}.astrbot-console__main{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:12px}.astrbot-console__side{position:fixed;top:96px;right:24px;z-index:20;width:clamp(340px,32vw,720px);min-width:340px;max-width:calc(100vw - 48px);overflow:auto;resize:horizontal;direction:rtl}.astrbot-console__side>*{direction:ltr}.astrbot-log-float{position:fixed;z-index:25;display:grid;min-width:320px;min-height:280px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:hidden;resize:both}.astrbot-log-panel{grid-template-rows:auto auto minmax(0,1fr) auto auto;height:100%;min-height:0;overflow:hidden}.astrbot-log-float__bar,.astrbot-log-float__actions{display:flex;gap:8px;align-items:center}.astrbot-log-float__bar{justify-content:space-between;min-width:0}.astrbot-log-float__handle{display:inline-flex;flex:1;min-width:0;min-height:44px;align-items:center;gap:8px;border:0;background:transparent;color:#24476f;cursor:grab;font:inherit;font-weight:800;text-align:left}.astrbot-log-float__handle:active{cursor:grabbing}.astrbot-log-float__handle span{overflow-wrap:anywhere}.astrbot-log-float__actions{flex-shrink:0}.astrbot-log-panel__meta{margin:0;color:var(--text-subtle);font-size:.9rem}.astrbot-log-panel__body{min-height:0;overflow:auto}.astrbot-log-minibutton{position:fixed;z-index:26;display:inline-grid;width:54px;height:54px;place-items:center;border:1px solid rgba(122,180,255,.48);border-radius:999px;background:#ffffffeb;color:#31567f;box-shadow:0 18px 40px #6991bf33;cursor:grab}.astrbot-log-minibutton:active{cursor:grabbing}.astrbot-log-minibutton:hover,.astrbot-log-minibutton:focus-visible{border-color:#7ab4ffc7;background:#e5f4fffa;color:#174a83}.astrbot-log-minibutton__dot{position:absolute;right:10px;top:10px;width:9px;height:9px;border:2px solid rgba(255,255,255,.92);border-radius:999px;background:var(--online)}.astrbot-preload-note{grid-column:1 / -1;padding:10px 12px;border:1px solid rgba(122,180,255,.3);border-radius:8px;background:#ecf7ffd6}.astrbot-result-dialog{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:24px;background:#1c2c4838;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.astrbot-result-dialog__panel{display:grid;gap:14px;width:min(760px,100%);max-height:min(82dvh,760px);padding:16px;border:1px solid rgba(122,180,255,.34);border-radius:8px;background:#fffffff5;box-shadow:0 24px 70px #538bd33d}.astrbot-result-dialog__header{display:flex;gap:14px;align-items:flex-start;justify-content:space-between}.astrbot-result-dialog__header h2{margin:0;font-size:1.12rem}.astrbot-webui-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.astrbot-webui-link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-height:76px;padding:12px;border:1px solid rgba(76,109,161,.22);border-radius:8px;background:#ffffffd6;color:#31567f;text-decoration:none;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease}.astrbot-webui-link span{display:grid;gap:4px;min-width:0}.astrbot-webui-link strong,.astrbot-webui-link small{overflow-wrap:anywhere}.astrbot-webui-link small{color:var(--text-subtle);font-size:.82rem;line-height:1.35}.astrbot-webui-link:hover,.astrbot-webui-link:focus-visible{border-color:#7ab4ffb8;background:#e5f4fff5;box-shadow:0 10px 24px #538bd324;color:#174a83}.astrbot-webui-link__icon{width:16px;height:16px;color:#2c6aa8}.astrbot-panel{display:grid;gap:14px;min-height:184px;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow)}.astrbot-panel__title{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start}.astrbot-panel__title h2,.astrbot-panel__title p{margin:0}.astrbot-panel__title h2{font-size:1.05rem}.astrbot-panel__title p,.astrbot-panel__risk{color:var(--text-subtle);font-size:.9rem}.astrbot-panel__icon{width:20px;height:20px;margin-top:3px;color:#2c6aa8}.astrbot-panel__actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.astrbot-operation-stack{display:grid;gap:10px}.astrbot-panel__risk{min-height:28px;padding:4px 10px;border:1px solid rgba(246,166,173,.42);border-radius:8px;background:#fff1f4b8;color:#8f4854}.astrbot-im-form{display:grid;gap:10px}.astrbot-workbench{display:grid;gap:12px;margin-top:16px}.astrbot-workbench__nav,.astrbot-segmented{display:flex;flex-wrap:wrap;gap:8px}.astrbot-workbench__nav button,.astrbot-segmented button{min-height:38px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:#fffc;color:inherit;font:inherit}.astrbot-workbench__nav button{display:inline-flex;gap:7px;align-items:center}.astrbot-workbench__nav button svg{width:16px;height:16px}.astrbot-workbench__nav button:hover,.astrbot-workbench__nav button:focus-visible,.astrbot-workbench__nav button.is-active,.astrbot-segmented button[aria-selected=true]{border-color:#5d9fe0b3;background:#e3f1fff5;color:#174a83}.astrbot-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:12px;min-height:340px}.astrbot-workspace__main,.astrbot-inspector,.astrbot-activity-drawer{border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.astrbot-workspace__main,.astrbot-inspector{display:grid;align-content:start;gap:14px;min-width:0;padding:16px}.astrbot-workspace__main h2,.astrbot-inspector h2,.astrbot-activity-drawer h2{margin:0;font-size:1.1rem}.astrbot-overview-grid,.astrbot-record-list{display:grid;gap:10px}.astrbot-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.astrbot-overview-grid article,.astrbot-record-list button{display:grid;gap:5px;min-height:90px;padding:12px;border:1px solid rgba(76,109,161,.22);border-radius:8px;background:#ffffffc7;color:inherit;text-align:left;font:inherit}.astrbot-overview-grid span{color:#2c6aa8;font-size:1.5rem;font-weight:800}.astrbot-overview-grid small,.astrbot-record-list small,.astrbot-activity-list small{color:var(--text-subtle)}.astrbot-native-links{display:flex;flex-wrap:wrap;gap:8px}.astrbot-native-links a{min-height:36px;padding:8px 10px;border:1px solid rgba(76,109,161,.26);border-radius:8px;color:#31567f;background:#ffffffc2;text-decoration:none}.astrbot-record-list button:not(:disabled){cursor:pointer}.astrbot-record-list button:hover,.astrbot-record-list button:focus-visible{border-color:#5d9fe0b8;background:#e3f1ffe6}.astrbot-inspector form{display:grid;gap:10px}.astrbot-activity-drawer{display:grid;grid-template-rows:auto minmax(120px,1fr) auto;gap:12px;height:clamp(240px,36dvh,480px);min-height:220px;max-height:70dvh;margin-top:12px;padding:12px;overflow:auto;resize:vertical}.astrbot-activity-drawer>header{display:flex;justify-content:space-between;gap:10px;align-items:center}.astrbot-activity-list,.astrbot-log-view{min-height:0;overflow:auto}.astrbot-activity-list{display:grid;gap:8px}.astrbot-activity-list article{display:grid;gap:4px;padding:10px;border-left:3px solid #84c9b4;background:#f6fffcd6}.astrbot-log-view{padding:10px;border:1px solid var(--border);border-radius:8px;background:#fbfdff}.astrbot-log-view pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:.86rem/1.5 SFMono-Regular,Consolas,monospace}.atmosphere-page{position:relative;isolation:isolate;min-height:100dvh;overflow-x:clip;background:var(--atmosphere-base, #f8fbff);--pointer-glow: rgba(255, 255, 255, .48)}.atmosphere-page>:not(.dreamy-atmosphere){position:relative;z-index:1;animation:atmosphere-page-enter .42s cubic-bezier(.22,.72,.24,1) both}.atmosphere-page--watchboard{--atmosphere-base: #f6fcff;--atmosphere-field-a: rgba(128, 204, 255, .8);--atmosphere-field-b: rgba(126, 232, 192, .68);--atmosphere-field-c: rgba(255, 174, 210, .58);--atmosphere-line: rgba(82, 150, 195, .16)}.atmosphere-page--astrbot{--atmosphere-base: #f7fcfd;--atmosphere-field-a: rgba(106, 218, 235, .76);--atmosphere-field-b: rgba(118, 185, 240, .64);--atmosphere-field-c: rgba(247, 132, 126, .5);--atmosphere-line: rgba(54, 130, 168, .16)}.atmosphere-page--kirameki{--atmosphere-base: #fffafd;--atmosphere-field-a: rgba(255, 154, 210, .78);--atmosphere-field-b: rgba(125, 205, 255, .72);--atmosphere-field-c: rgba(123, 229, 191, .6);--atmosphere-line: rgba(83, 132, 187, .15)}.atmosphere-page--hikari{--atmosphere-base: #fbfdff;--atmosphere-field-a: rgba(159, 211, 247, .76);--atmosphere-field-b: rgba(242, 153, 199, .58);--atmosphere-field-c: rgba(204, 80, 103, .25);--atmosphere-line: rgba(91, 137, 177, .14)}.dreamy-atmosphere{position:absolute;z-index:0;inset:0;min-height:100%;overflow:hidden;pointer-events:none}.dreamy-atmosphere__gradient{position:fixed;inset:-8vmax;background:radial-gradient(ellipse at 50% 22%,var(--status-light, transparent),transparent 40%),radial-gradient(ellipse at 7% 4%,var(--atmosphere-field-a),transparent 43%),radial-gradient(ellipse at 94% 19%,var(--atmosphere-field-b),transparent 46%),radial-gradient(ellipse at 18% 61%,color-mix(in srgb,var(--atmosphere-field-b) 72%,transparent),transparent 38%),radial-gradient(ellipse at 82% 72%,color-mix(in srgb,var(--atmosphere-field-a) 66%,transparent),transparent 40%),radial-gradient(ellipse at 48% 96%,var(--atmosphere-field-c),transparent 49%),linear-gradient(160deg,color-mix(in srgb,var(--atmosphere-base) 96%,white),var(--atmosphere-base));background-size:118% 118%;animation:atmosphere-drift 24s ease-in-out infinite alternate;contain:paint;will-change:transform}.dreamy-atmosphere__gradient:after{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--atmosphere-line) 1px,transparent 1px),linear-gradient(90deg,var(--atmosphere-line) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.46),transparent 72%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.46),transparent 72%);opacity:.5}.dreamy-atmosphere__aurora{position:fixed;z-index:0;inset:-12vmax;background:radial-gradient(ellipse at 72% 14%,var(--atmosphere-field-c),transparent 42%),radial-gradient(ellipse at 16% 48%,var(--atmosphere-field-a),transparent 44%),radial-gradient(ellipse at 84% 78%,var(--atmosphere-field-b),transparent 46%);opacity:.28;animation:atmosphere-color-cycle 18s ease-in-out infinite;contain:paint;will-change:transform,opacity}.dreamy-atmosphere:after{content:"";position:fixed;z-index:2;width:280px;height:280px;left:0;top:0;border-radius:50%;background:radial-gradient(circle,var(--pointer-glow),transparent 70%);opacity:var(--pointer-opacity, 0);transform:translate3d(calc(var(--pointer-x, 50vw) - 140px),calc(var(--pointer-y, 24vh) - 140px),0);transition:opacity .22s ease;will-change:transform,opacity}.dreamy-atmosphere canvas,.dreamy-atmosphere__falling{position:fixed;z-index:1;inset:0;width:100vw;height:100dvh}.dreamy-atmosphere__falling-icon{position:absolute;top:-42px;left:var(--fall-left);display:grid;width:calc(var(--fall-size) + 12px);height:calc(var(--fall-size) + 12px);place-items:center;color:color-mix(in srgb,#6388b4 70%,white);opacity:.58;animation-duration:var(--fall-duration);animation-timing-function:linear;animation-delay:var(--fall-delay);animation-iteration-count:infinite;will-change:transform,opacity}.dreamy-atmosphere__falling-icon[data-trajectory=drop]{animation-name:atmosphere-drop}.dreamy-atmosphere__falling-icon[data-trajectory=sway]{animation-name:atmosphere-sway}.dreamy-atmosphere__falling-icon[data-trajectory=orbit]{animation-name:atmosphere-orbit}.dreamy-atmosphere__falling-icon[data-trajectory=flutter]{animation-name:atmosphere-flutter}.dreamy-atmosphere__motif-frame,.dreamy-atmosphere__motif-core{display:grid;place-items:center}.dreamy-atmosphere__motif-frame{position:relative;width:100%;height:100%;border:1px solid color-mix(in srgb,currentColor 42%,transparent);background:radial-gradient(circle,#ffffffad,#ffffff14 64%)}.dreamy-atmosphere__motif-frame:before,.dreamy-atmosphere__motif-frame:after{content:"";position:absolute;pointer-events:none}.dreamy-atmosphere__motif-frame:before{inset:3px;border:1px solid color-mix(in srgb,currentColor 28%,transparent)}.dreamy-atmosphere__motif-frame:after{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.68}.dreamy-atmosphere__falling-icon[data-frame=beacon] .dreamy-atmosphere__motif-frame{border-radius:50% 50% 42% 42%}.dreamy-atmosphere__falling-icon[data-frame=beacon] .dreamy-atmosphere__motif-frame:before{border-radius:inherit;clip-path:inset(0 42% 0 42%)}.dreamy-atmosphere__falling-icon[data-frame=beacon] .dreamy-atmosphere__motif-frame:after{bottom:2px}.dreamy-atmosphere__falling-icon[data-frame=halo] .dreamy-atmosphere__motif-frame,.dreamy-atmosphere__falling-icon[data-frame=halo] .dreamy-atmosphere__motif-frame:before{border-radius:50%}.dreamy-atmosphere__falling-icon[data-frame=halo] .dreamy-atmosphere__motif-frame:after{right:-2px;top:42%}.dreamy-atmosphere__falling-icon[data-frame=crystal] .dreamy-atmosphere__motif-frame{border-radius:3px;transform:rotate(45deg) scale(.82)}.dreamy-atmosphere__falling-icon[data-frame=crystal] .dreamy-atmosphere__motif-frame:before{border-radius:2px}.dreamy-atmosphere__falling-icon[data-frame=crystal] .dreamy-atmosphere__motif-frame:after{right:1px;top:1px}.dreamy-atmosphere__falling-icon[data-frame=crystal] .dreamy-atmosphere__motif-core{transform:rotate(-45deg) scale(1.12)}.dreamy-atmosphere__falling-icon[data-frame=ribbon] .dreamy-atmosphere__motif-frame{border-radius:58% 36%;transform:rotate(-12deg)}.dreamy-atmosphere__falling-icon[data-frame=ribbon] .dreamy-atmosphere__motif-frame:before{border-radius:inherit;clip-path:inset(34% 0 34% 0)}.dreamy-atmosphere__falling-icon[data-frame=ribbon] .dreamy-atmosphere__motif-frame:after{left:1px;top:3px}.dreamy-atmosphere__falling-icon[data-frame=ribbon] .dreamy-atmosphere__motif-core{transform:rotate(12deg)}.dreamy-atmosphere__motif-core{width:var(--fall-size);height:var(--fall-size)}.dreamy-atmosphere__motif-core svg,.dreamy-atmosphere__motif-core img{display:block;width:100%;height:100%;object-fit:contain}.dreamy-atmosphere[data-pointer=coarse]:after{display:none}.dreamy-atmosphere[data-status=online] .dreamy-atmosphere__gradient{--status-light: rgba(118, 224, 184, .17)}.dreamy-atmosphere[data-status=degraded] .dreamy-atmosphere__gradient,.dreamy-atmosphere[data-status=offline] .dreamy-atmosphere__gradient{--status-light: rgba(242, 142, 154, .17)}.status-card--online{animation:status-breathe-online 4.8s ease-in-out infinite}.status-card--degraded,.status-card--offline{animation:status-breathe-alert 3.6s ease-in-out infinite}.result-pulse--odd{animation:result-pulse-odd .68s ease-out}.result-pulse--even{animation:result-pulse-even .68s ease-out}@keyframes atmosphere-drift{0%{transform:translate3d(-1%,-.5%,0) scale(1.01)}to{transform:translate3d(1.5%,1%,0) scale(1.035)}}@keyframes atmosphere-color-cycle{0%,to{opacity:.24;transform:translate3d(-2%,-1%,0) scale(1.02) rotate(-1deg)}34%{opacity:.46;transform:translate3d(2.5%,1.5%,0) scale(1.07) rotate(1.2deg)}68%{opacity:.32;transform:translate3d(-.5%,2.5%,0) scale(1.045) rotate(-.4deg)}}@keyframes atmosphere-page-enter{0%{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes atmosphere-drop{0%{opacity:0;transform:translate3d(0,-8vh,0) rotate(0)}12%{opacity:.58}to{opacity:.08;transform:translate3d(var(--fall-sway),calc(100dvh + 78px),0) rotate(var(--fall-rotate))}}@keyframes atmosphere-sway{0%{opacity:0;transform:translate3d(0,-8vh,0) rotate(0)}14%{opacity:.56}34%{transform:translate3d(var(--fall-sway-back),32dvh,0) rotate(var(--fall-rotate-mid))}68%{transform:translate3d(var(--fall-sway),68dvh,0) rotate(var(--fall-rotate-back))}to{opacity:.06;transform:translate3d(var(--fall-sway-back),calc(100dvh + 78px),0) rotate(var(--fall-rotate))}}@keyframes atmosphere-orbit{0%{opacity:0;transform:translate3d(0,-8vh,0) rotate(0)}12%{opacity:.56}28%{transform:translate3d(var(--fall-orbit),27dvh,0) rotate(92deg)}56%{transform:translate3d(var(--fall-orbit-back),55dvh,0) rotate(188deg)}78%{transform:translate3d(var(--fall-orbit),78dvh,0) rotate(276deg)}to{opacity:.06;transform:translate3d(0,calc(100dvh + 78px),0) rotate(360deg)}}@keyframes atmosphere-flutter{0%{opacity:0;transform:translate3d(0,-8vh,0) rotate(-8deg)}16%{opacity:.54}30%{transform:translate3d(var(--fall-orbit-back),28dvh,0) rotate(20deg)}52%{transform:translate3d(var(--fall-orbit),51dvh,0) rotate(-18deg)}74%{transform:translate3d(var(--fall-sway-back),74dvh,0) rotate(16deg)}to{opacity:.05;transform:translate3d(var(--fall-sway),calc(100dvh + 78px),0) rotate(var(--fall-rotate-mid))}}@keyframes status-breathe-online{50%{box-shadow:0 14px 34px #5ebe9a26}}@keyframes status-breathe-alert{50%{box-shadow:0 14px 34px #e0707e29}}@keyframes result-pulse-odd{50%{box-shadow:0 0 0 4px #75c9ff38,var(--shadow)}}@keyframes result-pulse-even{50%{box-shadow:0 0 0 4px #75c9ff38,var(--shadow)}}@keyframes admin-spin{to{transform:rotate(360deg)}}@keyframes assistant-breathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.025)}}@media(prefers-reduced-motion:reduce){.atmosphere-page>:not(.dreamy-atmosphere),.dreamy-atmosphere__gradient,.dreamy-atmosphere__aurora,.dreamy-atmosphere__falling-icon,.result-pulse--odd,.result-pulse--even,.status-card--online,.status-card--degraded,.status-card--offline{animation:none}.dreamy-atmosphere__aurora{opacity:.3;transform:none}.assistant-avatar__image{animation:none}.admin-button,.admin-action-button,.admin-action-button:after{transition:none}.admin-action-button:not(:disabled):hover,.admin-action-button:not(:disabled):focus-visible,.admin-action-button:not(:disabled):after{transform:none}}@media(max-width:900px){.watchboard-layout,.admin-page__header,.admin-grid,.character-page__header,.character-layout{grid-template-columns:1fr}.assistant-panel{position:static}.assistant-panel__link{grid-template-columns:auto 1fr;align-items:center}.character-persona{position:static}.character-preview{order:1}.character-thumbnails{order:2}.character-persona{order:3}.astrbot-log-float{position:static;width:auto!important;height:auto!important;min-width:0;max-width:none;max-height:none;margin-top:16px;resize:none}.astrbot-log-panel{max-height:76dvh}.astrbot-console__side{position:static;width:auto;min-width:0;max-width:none;overflow:visible;resize:none;margin-top:16px;direction:ltr}.astrbot-console__main{grid-template-columns:1fr}}@media(max-width:640px){.dreamy-atmosphere:after{display:none}.watchboard,.admin-page{padding:16px}.app-header,.topbar,.node-section__header,.admin-page__header,.admin-password-panel__header{flex-direction:column;align-items:stretch}.app-header__nav{justify-content:flex-start}.topbar__timestamp{padding-top:0;text-align:left}.node-usage{justify-content:flex-start}.service-grid,.assistant-panel,.assistant-panel__link,.admin-action-grid{grid-template-columns:1fr}.admin-action-grid--kirameki>:last-child:nth-child(odd){grid-column:auto}.character-segment,.character-control-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.character-control,.character-chip{flex:0 0 auto}.character-preview__stage{min-height:320px}.character-thumbnail-list{max-height:none}.admin-result--bounded{max-height:55dvh}}.mihomo-console{--color-base-100: #121c22;--color-base-200: #0e171e;--color-base-300: #091319;--color-base-content: #9fb9d0;--color-primary: #ff865b;--color-primary-content: #160603;--color-neutral: #1b262c;--color-neutral-content: #94a0a9;--color-info: #89e0eb;--color-info-content: #071213;--color-success: #addfad;--color-success-content: #0b120b;--color-warning: #f1c892;--color-warning-content: #140f08;--color-error: #ffbbbd;--color-error-content: #160d0d;height:100vh;height:100dvh;min-height:480px;display:grid;grid-template-rows:52px minmax(0,1fr);color-scheme:dark;background:var(--color-base-100);color:var(--color-base-content)}.mihomo-console[data-mihomo-color-scheme=light]{--color-base-100: #eceff4;--color-base-200: #e5e9f0;--color-base-300: #d8dee9;--color-base-content: #2e3440;--color-primary: #5e81ac;--color-primary-content: #03060b;--color-neutral: #4c566a;--color-neutral-content: #d8dee9;--color-info: #b48ead;--color-info-content: #0c070b;--color-success: #a3be8d;--color-success-content: #0a0d07;--color-warning: #ebcb8b;--color-warning-content: #130f07;--color-error: #bf616a;--color-error-content: #0d0304;color-scheme:light}.mihomo-console__bar{display:flex;align-items:center;justify-content:space-between;min-width:0;padding:0 16px;border-bottom:1px solid color-mix(in oklab,var(--color-base-content) 10%,transparent);background:var(--color-base-200)}.mihomo-console__bar strong{overflow:hidden;color:var(--color-base-content);font-size:.94rem;text-overflow:ellipsis;white-space:nowrap}.mihomo-console__bar button,.mihomo-drawer button,.mihomo-subscription__actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;border:1px solid color-mix(in oklab,var(--color-base-content) 14%,transparent);border-radius:6px;background:var(--color-base-300);color:var(--color-base-content);font:inherit;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.mihomo-console__bar>button{flex:none;padding:0 11px;border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-content);font-weight:650}.mihomo-console button:not(:disabled):hover{border-color:color-mix(in oklab,var(--color-primary) 70%,var(--color-base-content));background:color-mix(in oklab,var(--color-primary) 16%,var(--color-base-300));color:var(--color-base-content)}.mihomo-console__bar>button:not(:disabled):hover{background:color-mix(in oklab,var(--color-primary) 86%,var(--color-base-content));color:var(--color-primary-content)}.mihomo-console button:focus-visible,.mihomo-subscription-form input:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.mihomo-console button svg{width:16px;height:16px;flex:none}.mihomo-console button:disabled{cursor:not-allowed;opacity:.46}.mihomo-console__workspace{min-height:0;display:flex;position:relative;background:var(--color-base-100)}.mihomo-console__workspace iframe{flex:1;min-width:0;width:100%;border:0;background:var(--color-base-100)}.mihomo-drawer{width:min(400px,42vw);overflow:auto;border-left:1px solid color-mix(in oklab,var(--color-base-content) 10%,transparent);background:var(--color-base-200);box-shadow:-10px 0 30px color-mix(in oklab,var(--color-base-300) 72%,transparent);scrollbar-color:color-mix(in oklab,var(--color-base-content) 24%,transparent) transparent}.mihomo-drawer__header{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid color-mix(in oklab,var(--color-base-content) 10%,transparent);background:color-mix(in oklab,var(--color-base-300) 68%,var(--color-base-200))}.mihomo-drawer__header h2,.mihomo-drawer__header p{margin:0}.mihomo-drawer__header h2{font-size:1rem;line-height:1.35}.mihomo-drawer__header p,.mihomo-subscription small,.mihomo-subscription__facts{color:color-mix(in oklab,var(--color-base-content) 68%,transparent)}.mihomo-drawer__header p{margin-top:3px;font-size:.78rem}.mihomo-drawer__tools,.mihomo-subscription__actions{display:flex;gap:7px;flex-wrap:wrap}.mihomo-drawer__tools{flex:none}.mihomo-drawer__tools button{width:34px;padding:0}.mihomo-drawer__tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:8px 12px;border-bottom:1px solid color-mix(in oklab,var(--color-base-content) 10%,transparent);background:var(--color-base-200)}.mihomo-drawer__tabs button{min-width:0;padding:0 10px;font-size:.82rem}.mihomo-drawer__tabs button[aria-pressed=true]{border-color:var(--color-primary);background:color-mix(in oklab,var(--color-primary) 18%,var(--color-base-300));color:var(--color-base-content)}.mihomo-drawer__message{margin:0;padding:14px 16px;color:color-mix(in oklab,var(--color-base-content) 76%,transparent)}.mihomo-drawer__message[role=alert]{background:var(--color-error);color:var(--color-error-content)}.mihomo-subscription-form{display:grid;gap:11px;padding:14px 16px;border-bottom:1px solid color-mix(in oklab,var(--color-base-content) 10%,transparent);background:color-mix(in oklab,var(--color-base-300) 62%,var(--color-base-200))}.mihomo-subscription-form label{display:grid;gap:6px;min-width:0;font-size:.82rem;font-weight:600}.mihomo-subscription-form input{min-width:0;height:36px;padding:0 9px;border:1px solid color-mix(in oklab,var(--color-base-content) 18%,transparent);border-radius:6px;background:var(--color-base-100);color:var(--color-base-content);font:inherit}.mihomo-subscription-form input::placeholder{color:color-mix(in oklab,var(--color-base-content) 48%,transparent)}.mihomo-subscription-form>div{display:flex;gap:8px;flex-wrap:wrap}.mihomo-subscription-form button{padding:0 10px}.mihomo-subscription-form button[type=submit]{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-content);font-weight:650}.mihomo-subscription-form .mihomo-check{display:flex;grid-template-columns:none;align-items:center;gap:8px}.mihomo-subscription-form .mihomo-check input{width:16px;height:16px;accent-color:var(--color-primary)}.mihomo-subscription{padding:14px 16px;border-bottom:1px solid color-mix(in oklab,var(--color-base-content) 9%,transparent);background:var(--color-base-200)}.mihomo-subscription:hover{background:color-mix(in oklab,var(--color-base-content) 3%,var(--color-base-200))}.mihomo-subscription__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.mihomo-subscription__heading>div{min-width:0;display:grid;gap:4px}.mihomo-subscription__heading strong{overflow-wrap:anywhere}.mihomo-subscription__heading small{overflow-wrap:anywhere;line-height:1.45}.mihomo-subscription__facts{display:flex;flex-wrap:wrap;gap:8px 12px;margin:12px 0;font-size:.82rem}.mihomo-status{flex:none;padding:3px 7px;border-radius:999px;background:var(--color-success);color:var(--color-success-content);font-size:.76rem;font-weight:650}.mihomo-status--pending{background:var(--color-warning);color:var(--color-warning-content)}.mihomo-subscription__actions button{min-width:34px;padding:0 9px;font-size:.8rem}.mihomo-script-panel{display:grid;gap:14px;padding:16px}.mihomo-script-panel__heading{display:grid;gap:10px}.mihomo-script-panel__heading>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.mihomo-script-panel__heading h3{margin:0;font-size:.98rem}.mihomo-script-panel__heading>div>span{color:color-mix(in oklab,var(--color-base-content) 64%,transparent);font-size:.76rem}.mihomo-script-toggle{display:flex;align-items:center;gap:8px;min-height:36px;font-size:.84rem;font-weight:650}.mihomo-script-toggle input{width:17px;height:17px;accent-color:var(--color-primary)}.mihomo-script-toggle svg{width:16px;height:16px}.mihomo-script-editor,.mihomo-script-target{display:grid;gap:6px;min-width:0;font-size:.82rem;font-weight:650}.mihomo-script-editor textarea,.mihomo-script-target select{min-width:0;border:1px solid color-mix(in oklab,var(--color-base-content) 18%,transparent);border-radius:6px;background:var(--color-base-100);color:var(--color-base-content)}.mihomo-script-editor textarea{width:100%;min-height:310px;resize:vertical;padding:11px;font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:0;tab-size:2}.mihomo-script-target select{height:38px;padding:0 9px;font:inherit}.mihomo-script-editor textarea:focus-visible,.mihomo-script-target select:focus-visible,.mihomo-script-toggle input:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.mihomo-script-preview{min-height:38px;display:flex;align-items:center;padding:8px 10px;border-left:3px solid var(--color-success);background:color-mix(in oklab,var(--color-success) 12%,var(--color-base-200));color:var(--color-base-content);font-size:.82rem}.mihomo-script-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mihomo-script-actions button{min-width:0;padding:0 9px;font-size:.8rem}.mihomo-script-actions button:last-child{grid-column:1 / -1;border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-content);font-weight:650}.mihomo-routing-panel{display:grid;gap:14px;min-width:0;padding:16px}.mihomo-routing-panel__heading{display:grid;gap:10px}.mihomo-routing-panel__heading>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.mihomo-routing-panel__heading h3{margin:0;font-size:.98rem}.mihomo-routing-panel__heading>div>span{color:color-mix(in oklab,var(--color-base-content) 64%,transparent);font-size:.76rem}.mihomo-routing-list{display:grid;gap:8px;min-width:0}.mihomo-routing-rule{display:grid;grid-template-columns:auto minmax(112px,.8fr) minmax(0,1.4fr) minmax(0,1.2fr) auto;align-items:center;gap:7px;min-width:0;padding:8px;border:1px solid color-mix(in oklab,var(--color-base-content) 12%,transparent);border-radius:6px;background:var(--color-base-200)}.mihomo-routing-rule__enabled{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:30px}.mihomo-routing-rule__enabled input{width:16px;height:16px;accent-color:var(--color-primary)}.mihomo-routing-rule__enabled svg{width:15px;height:15px}.mihomo-routing-rule>select,.mihomo-routing-rule>input{min-width:0;width:100%;height:36px;padding:0 8px;border:1px solid color-mix(in oklab,var(--color-base-content) 18%,transparent);border-radius:6px;background:var(--color-base-100);color:var(--color-base-content);font:inherit;font-size:.8rem}.mihomo-routing-rule button{width:34px;padding:0}.mihomo-routing-rule>select:focus-visible,.mihomo-routing-rule>input:focus-visible,.mihomo-routing-rule button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.mihomo-routing-empty{margin:0;padding:13px 10px;border:1px dashed color-mix(in oklab,var(--color-base-content) 22%,transparent);color:color-mix(in oklab,var(--color-base-content) 68%,transparent);font-size:.82rem;text-align:center}.mihomo-routing-add{justify-self:start;padding:0 10px;font-size:.8rem}@media(max-width:720px){.mihomo-console{height:auto;min-height:100vh;min-height:100dvh}.mihomo-console__bar{padding-inline:12px}.mihomo-console__workspace{display:grid;grid-template-rows:minmax(420px,65dvh) auto}.mihomo-drawer{width:auto;max-width:100vw;border-top:1px solid color-mix(in oklab,var(--color-base-content) 10%,transparent);border-left:0;box-shadow:0 -10px 30px color-mix(in oklab,var(--color-base-300) 72%,transparent)}.mihomo-drawer__tabs{grid-template-columns:repeat(3,minmax(0,1fr));padding-inline:8px}.mihomo-drawer__tabs button{gap:4px;padding-inline:4px;font-size:.74rem}.mihomo-routing-panel{padding:14px 12px}.mihomo-routing-rule{grid-template-columns:auto minmax(0,1fr)}.mihomo-routing-rule>select,.mihomo-routing-rule>input{grid-column:2}.mihomo-routing-rule>select{grid-row:2}.mihomo-routing-rule>input:nth-of-type(1){grid-row:3}.mihomo-routing-rule>input:nth-of-type(2){grid-row:4}.mihomo-routing-rule__enabled{grid-row:1 / span 4}.mihomo-routing-rule button{grid-column:2;grid-row:1;justify-self:end}}@media(prefers-reduced-motion:reduce){.mihomo-console button{transition:none}}
