.console{--c-bg:#f6f7f9;--c-surface:#fff;--c-surface-sunken:#f1f3f6;--c-border:#e3e7ec;--c-border-strong:#cbd2db;--c-ink:#16202b;--c-ink-muted:#5b6875;--c-ink-subtle:#8b96a3;--c-accent:#0a5ba8;--c-accent-hover:#084a8b;--c-accent-wash:#ecf3fa;--c-warn:#a05e03;--c-warn-wash:#fdf4e7;--c-danger:#b42318;--c-danger-wash:#fdf2f2;--c-ok:#0f7355;--c-ok-wash:#ecfaf4;--c-1:4px;--c-2:8px;--c-3:12px;--c-4:16px;--c-5:24px;--c-6:32px;--c-7:48px;--c-text-title:20px;--c-text-section:15px;--c-text-body:14px;--c-text-meta:13px;--c-text-caption:12px;--c-radius:8px;--c-radius-lg:12px;--c-shadow-raise:0 1px 2px #16202b0d, 0 8px 24px #16202b12;--c-shadow-overlay:0 8px 16px #16202b14, 0 24px 64px #16202b2e;--c-focus:0 0 0 3px #0a5ba847;box-sizing:border-box;padding:var(--c-5) var(--c-6) var(--c-7);background:var(--c-bg);color:var(--c-ink);font-family:Inter,PingFang SC,Source Han Sans SC,ui-sans-serif,system-ui,sans-serif;font-size:var(--c-text-body);font-variant-numeric:tabular-nums;line-height:1.55}.console *,.console :before,.console :after{box-sizing:inherit}.console :focus-visible{box-shadow:var(--c-focus);border-radius:var(--c-radius);outline:none}.console-head{gap:var(--c-1);margin-bottom:var(--c-5);display:grid}.console-head h1{font-size:var(--c-text-title);letter-spacing:-.01em;margin:0;font-weight:600}.console-head p{max-width:62ch;color:var(--c-ink-muted);font-size:var(--c-text-meta);margin:0}.console-tasks{gap:var(--c-3);margin-bottom:var(--c-5);flex-wrap:wrap;display:flex}.console-task{align-items:baseline;gap:var(--c-2);min-width:168px;padding:var(--c-3) var(--c-4);border:1px solid var(--c-border);border-radius:var(--c-radius-lg);background:var(--c-surface);color:var(--c-ink);text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.console-task:hover{border-color:var(--c-border-strong)}.console-task[aria-pressed=true]{border-color:var(--c-accent);background:var(--c-accent-wash);box-shadow:inset 0 0 0 1px var(--c-accent)}.console-task-count{font-size:var(--c-text-title);font-weight:600;line-height:1}.console-task-label{color:var(--c-ink-muted);font-size:var(--c-text-meta)}.console-task[data-tone=warn] .console-task-count{color:var(--c-warn)}.console-task[data-tone=accent] .console-task-count{color:var(--c-accent)}.console-panel{border:1px solid var(--c-border);border-radius:var(--c-radius-lg);background:var(--c-surface);box-shadow:var(--c-shadow-raise);overflow:hidden}.console-table-scroll{overflow-x:auto}.console-table{border-collapse:collapse;table-layout:auto;width:100%}.console-table th:first-child,.console-table td:first-child{width:34%}.console-table th.compact,.console-table td.compact{white-space:nowrap;width:1%}.console-table th{padding:var(--c-3) var(--c-4);border-bottom:1px solid var(--c-border);background:var(--c-surface-sunken);color:var(--c-ink-muted);font-size:var(--c-text-caption);text-align:left;white-space:nowrap;font-weight:600}.console-table td{padding:var(--c-3) var(--c-4);border-bottom:1px solid var(--c-border);vertical-align:middle}.console-table tbody tr:last-child td{border-bottom:0}.console-table tbody tr:hover{background:var(--c-surface-sunken)}.console-table tbody tr[data-attention] td:first-child{box-shadow:inset 3px 0 0 var(--c-warn)}.console-table tbody tr[data-attention=accent] td:first-child{box-shadow:inset 3px 0 0 var(--c-accent)}.console-table th.numeric,.console-table td.numeric{text-align:right}.console-table td.numeric{color:var(--c-ink-muted);font-variant-numeric:tabular-nums}.console-name{gap:2px;display:grid}.console-name strong{font-weight:600}.console-code{color:var(--c-ink-subtle);font-size:var(--c-text-caption);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.console-linklike{color:var(--c-accent);font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0 2px;text-decoration:underline}.console-linklike:hover{background:var(--c-accent-wash)}.console-repo-picker{gap:var(--c-2);padding:var(--c-3);border:1px solid var(--c-border);border-radius:var(--c-radius);background:var(--c-surface-sunken);max-height:220px;margin:0;list-style:none;display:grid;overflow-y:auto}.console-repo-picker label{align-items:center;gap:var(--c-2);font-size:var(--c-text-meta);overflow-wrap:anywhere;cursor:pointer;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;display:flex}.console-field-hint[data-tone=warn]{color:var(--c-warn);font-weight:500}.console-repo-picker input[type=checkbox]{flex:none;width:auto;min-height:0;margin:0}.console-suggested-count{color:var(--c-ink-muted);font-size:var(--c-text-caption);margin-left:2px;font-weight:400}.console-repo-empty,.console-repo-note{margin:0 0 var(--c-2);color:var(--c-ink-muted);font-size:var(--c-text-caption);max-width:62ch;line-height:1.5}.console-repo-list[data-tone=suggested]{color:var(--c-ink-muted)}.console-repo-row td{background:var(--c-surface-sunken)}.console-repo-panel{padding:var(--c-3);border-radius:var(--c-radius);background:var(--c-surface-sunken)}.console-repo-title{margin:0 0 var(--c-1);color:var(--c-ink);font-size:var(--c-text-caption);font-weight:500}.console-repo-title[data-tone=suggested]{margin-top:var(--c-4);color:var(--c-ink-muted);padding-top:var(--c-2);border-top:1px dashed var(--c-border);font-weight:400}.console-repo-list{color:var(--c-ink);font-size:var(--c-text-meta);overflow-wrap:anywhere;gap:2px;margin:0;padding-left:1.1em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;display:grid}.console-badge{font-size:var(--c-text-caption);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 8px 2px 6px;font-weight:500;display:inline-flex}.console-badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.console-badge[data-tone=neutral]{background:var(--c-surface-sunken);color:var(--c-ink-muted)}.console-badge[data-tone=warn]{background:var(--c-warn-wash);color:var(--c-warn)}.console-badge[data-tone=accent]{background:var(--c-accent-wash);color:var(--c-accent)}.console-badge[data-tone=ok]{background:var(--c-ok-wash);color:var(--c-ok)}.console-badge[data-tone=accent]:before{border-radius:2px}.console-btn{min-height:32px;padding:0 var(--c-3);border:1px solid var(--c-border-strong);border-radius:var(--c-radius);background:var(--c-surface);color:var(--c-ink);font:inherit;font-size:var(--c-text-meta);white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:6px;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.console-btn:hover:not(:disabled){background:var(--c-surface-sunken);border-color:var(--c-ink-subtle)}.console-btn:disabled{opacity:.5;cursor:not-allowed}.console-btn[data-variant=primary]{border-color:var(--c-accent);background:var(--c-accent);color:#fff}.console-btn[data-variant=primary]:hover:not(:disabled){background:var(--c-accent-hover);border-color:var(--c-accent-hover)}.console-btn[data-variant=danger]{border-color:var(--c-border-strong);color:var(--c-ink-muted)}.console-btn[data-variant=danger]:hover:not(:disabled){border-color:var(--c-danger);background:var(--c-danger-wash);color:var(--c-danger)}.console-dialog-foot .console-btn[data-variant=danger]{border-color:var(--c-danger);background:var(--c-danger);color:#fff}.console-dialog-foot .console-btn[data-variant=danger]:hover:not(:disabled){color:#fff;background:#99200f;border-color:#99200f}.console-btn[data-variant=quiet]{color:var(--c-ink-muted);background:0 0;border-color:#0000}.console-btn[data-variant=quiet]:hover:not(:disabled){background:var(--c-surface-sunken);color:var(--c-ink)}.console-row-actions{gap:var(--c-2);justify-content:flex-end;display:flex}.console-empty{gap:var(--c-2);padding:var(--c-7) var(--c-4);text-align:center;justify-items:center;display:grid}.console-empty-title{color:var(--c-ink);font-size:var(--c-text-section);font-weight:600}.console-empty-hint{max-width:46ch;color:var(--c-ink-muted);font-size:var(--c-text-meta)}.console-skeleton{gap:var(--c-3);padding:var(--c-4);display:grid}.console-skeleton-row{border-radius:var(--c-radius);background:linear-gradient(90deg, var(--c-surface-sunken) 25%, #e7ebf0 37%, var(--c-surface-sunken) 63%);background-size:400% 100%;height:40px;animation:1.3s ease-in-out infinite console-shimmer}@keyframes console-shimmer{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.console-skeleton-row{animation:none}}.console-success{align-items:flex-start;gap:var(--c-2);margin-bottom:var(--c-4);padding:var(--c-3) var(--c-4);border:1px solid var(--c-ok);border-radius:var(--c-radius);background:var(--c-ok-wash);color:var(--c-ok);font-size:var(--c-text-meta);border-left-width:3px;display:flex}.console-error{align-items:flex-start;gap:var(--c-2);margin-bottom:var(--c-4);padding:var(--c-3) var(--c-4);border:1px solid var(--c-danger);border-radius:var(--c-radius);background:var(--c-danger-wash);color:var(--c-danger);font-size:var(--c-text-meta);border-left-width:3px;display:flex}.console-notice{align-items:flex-start;gap:var(--c-2);margin-bottom:var(--c-4);padding:var(--c-3) var(--c-4);border:1px solid var(--c-border-strong);border-left:3px solid var(--c-accent);border-radius:var(--c-radius);background:var(--c-accent-wash);color:var(--c-ink);font-size:var(--c-text-meta);display:flex}.console-request{gap:var(--c-3);padding:var(--c-4);border-bottom:1px solid var(--c-border);display:grid}.console-request:last-child{border-bottom:0}.console-rename{align-items:center;gap:var(--c-2);font-size:var(--c-text-section);flex-wrap:wrap;display:flex}.console-rename-from{color:var(--c-ink-muted);text-decoration:line-through;text-decoration-thickness:1px}.console-rename-arrow{color:var(--c-ink-subtle)}.console-rename-to{font-weight:600}.console-request-meta{gap:var(--c-3);color:var(--c-ink-muted);font-size:var(--c-text-caption);flex-wrap:wrap;display:flex}.console-request-reason{padding:var(--c-2) var(--c-3);border-left:2px solid var(--c-border-strong);border-radius:0 var(--c-radius) var(--c-radius) 0;background:var(--c-surface-sunken);color:var(--c-ink);font-size:var(--c-text-meta);margin:0}.console-request-actions{gap:var(--c-2);display:flex}@media (max-width:860px){.console{padding:var(--c-4) var(--c-3) var(--c-6)}.console-tasks{gap:var(--c-2)}.console-task{min-width:0;padding:var(--c-2) var(--c-3);flex-direction:column;flex:1 1 0;align-items:flex-start;gap:0}.console-task-count{font-size:var(--c-text-section)}.console-task-label{font-size:var(--c-text-caption)}.console-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.console-table th:first-child,.console-table td:first-child,.console-table th.compact,.console-table td.compact{white-space:normal;width:auto}.console-table tbody tr{gap:var(--c-2);padding:var(--c-3) var(--c-4);border-bottom:1px solid var(--c-border);display:grid}.console-table tbody tr[data-attention] td:first-child{box-shadow:none}.console-table tbody tr[data-attention]{box-shadow:inset 3px 0 0 var(--c-warn)}.console-table tbody tr[data-attention=accent]{box-shadow:inset 3px 0 0 var(--c-accent)}.console-table td{justify-content:space-between;gap:var(--c-3);border:0;padding:0;display:flex}.console-table td:before{content:attr(data-label);color:var(--c-ink-subtle);font-size:var(--c-text-caption);white-space:nowrap;flex:none}.console-table td:first-child{display:block}.console-table td:first-child:before{content:none}.console-code{overflow-wrap:anywhere}.console-table td.numeric{text-align:right}.console-row-actions{flex-wrap:wrap;justify-content:flex-start}}.todo-list{gap:var(--c-2);margin:0;padding:0;list-style:none;display:grid}.todo-item{justify-content:space-between;align-items:center;gap:var(--c-4);padding:var(--c-3) var(--c-4);border-radius:var(--c-radius);border:1px solid var(--c-border);background:var(--c-surface);border-left:3px solid var(--c-border-strong);display:flex}.todo-item[data-tone=warn]{border-left-color:var(--c-warn);background:var(--c-warn-wash)}.todo-item[data-tone=danger]{border-left-color:var(--c-danger);background:var(--c-danger-wash)}.todo-main{min-width:0}.todo-title{color:var(--c-ink);font-size:var(--c-text-body);margin:0 0 2px;font-weight:600}.todo-detail{color:var(--c-ink-muted);font-size:var(--c-text-meta);max-width:78ch;margin:0;line-height:1.6}.catalog-toolbar{align-items:center;gap:var(--c-3);margin:var(--c-3) 0 var(--c-2);flex-wrap:wrap;display:flex}.catalog-search{max-width:380px}.catalog-count{color:var(--c-ink-muted);font-size:var(--c-text-meta)}.catalog-hint{margin:0 0 var(--c-2);color:var(--c-ink-muted);font-size:var(--c-text-caption);max-width:78ch;line-height:1.6}.catalog-locked{margin-left:var(--c-2);background:var(--c-surface-sunken);color:var(--c-ink-muted);font-size:var(--c-text-caption);border-radius:999px;padding:0 6px}.retired-note{margin:var(--c-3) 0;padding:var(--c-3) var(--c-4);border-left:3px solid var(--c-border-strong);border-radius:0 var(--c-radius) var(--c-radius) 0;background:var(--c-surface-sunken);color:var(--c-ink-muted);font-size:var(--c-text-meta);max-width:78ch;line-height:1.65}.retired-note b{color:var(--c-ink)}.tab-groups{align-items:center;gap:var(--c-4);margin-bottom:var(--c-3);flex-wrap:wrap;display:flex}.tab-group-hint{color:var(--c-ink-muted);font-size:var(--c-text-meta);max-width:68ch;line-height:1.6}:root{--ion-font-family:Inter, "PingFang SC", "Source Han Sans SC", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--yy-font-sans:Inter, "PingFang SC", "Source Han Sans SC", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--yy-font-size-page-title:24px;--yy-font-size-shell-title:22px;--yy-font-size-entity-title:18px;--yy-font-size-section-title:16px;--yy-font-size-body:14px;--yy-font-size-meta:13px;--yy-font-size-caption:12px;--yy-font-size-metric:22px;--yy-line-height-tight:1.35;--yy-line-height-body:1.55;--yy-font-weight-regular:400;--yy-font-weight-medium:600;--yy-font-weight-strong:700;--el-font-family:var(--yy-font-sans);--el-font-size-base:var(--yy-font-size-body);--el-font-size-small:var(--yy-font-size-meta);--el-font-size-extra-small:var(--yy-font-size-caption);--yy-primary:#0a5ba8;--yy-action:#1677ff;--yy-bg:#f7f9fb;--yy-surface:#fff;--yy-surface-soft:#f2f6fa;--yy-border:#e6eaf0;--yy-border-strong:#c7d7e8;--yy-text:#1f2933;--yy-muted:#667085;--yy-subtle:#98a2b3;--yy-success:#12805c;--yy-success-soft:#ecfdf3;--yy-warning:#b7791f;--yy-warning-soft:#fff7e8;--yy-danger:#b42318;--yy-danger-soft:#fff1f3;--yy-radius-sm:8px;--yy-radius-md:10px;--yy-radius-lg:12px;--yy-shadow-soft:0 1px 2px #1f29330a, 0 12px 30px #1f29330f;--ion-background-color:var(--yy-bg);--ion-text-color:var(--yy-text);--ion-color-primary:var(--yy-primary);--ion-color-primary-rgb:10, 91, 168;--ion-color-primary-contrast:#fff;--ion-color-primary-contrast-rgb:255, 255, 255;--ion-color-primary-shade:#073f75;--ion-color-primary-tint:#eaf1f9;--ion-color-success:#54585f;--ion-color-success-rgb:84, 88, 95;--ion-color-success-contrast:#fff;--ion-color-success-contrast-rgb:255, 255, 255;--ion-color-success-shade:#1c1e22;--ion-color-success-tint:#f5f4f1;--client-bg:var(--yy-bg);--client-surface:var(--yy-surface);--client-surface-soft:var(--yy-surface-soft);--client-border:var(--yy-border);--client-border-strong:var(--yy-border-strong);--client-text:var(--yy-text);--client-muted:var(--yy-muted);--client-subtle:var(--yy-subtle);--client-accent:var(--yy-primary);--client-accent-soft:#eaf1f9;--client-success:var(--yy-success);--client-warning:var(--yy-warning);--client-radius:var(--yy-radius-sm);--client-radius-card:var(--yy-radius-lg);--client-tabbar-height:72px;--client-shadow:var(--yy-shadow-soft)}html,body,#app{background:var(--client-bg);min-height:100%;color:var(--yy-text);font-family:var(--yy-font-sans);font-size:var(--yy-font-size-body);line-height:var(--yy-line-height-body)}*{box-sizing:border-box}.client-main>.ion-page,.client-main ion-page,.client-main .ion-page{contain:initial;height:100%;min-height:0;position:relative}.client-main ion-content.client-content{height:100%}.client-main ion-content.client-content::part(scroll){height:100%;min-height:0}.yy-page{width:100%;min-height:100%;color:var(--yy-text);font-family:var(--yy-font-sans);padding:28px 32px}.yy-page-inner{width:min(100%,1120px);margin:0 auto}.yy-page-header{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px;margin-bottom:20px;display:grid}.yy-page-kicker{color:var(--yy-muted);margin:0 0 7px;font-size:13px;font-weight:700;line-height:1.35}.yy-page-title{color:var(--yy-text);letter-spacing:0;margin:0;font-size:28px;font-weight:800;line-height:1.18}.yy-page-subtitle{color:var(--yy-muted);margin:8px 0 0;font-size:14px;line-height:1.55}.yy-page-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.yy-button{border:1px solid var(--yy-border);border-radius:var(--yy-radius-sm);background:var(--yy-surface);min-height:38px;color:var(--yy-text);font:inherit;white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:14px;font-weight:700;line-height:1;text-decoration:none;transition:border-color .16s,background .16s,color .16s,opacity .16s;display:inline-flex}.yy-button:hover{border-color:var(--yy-border-strong);background:var(--yy-surface-soft)}.yy-button.primary{border-color:var(--yy-primary);background:var(--yy-primary);color:#fff}.yy-button.primary:hover{background:#073f75;border-color:#073f75}.yy-button.plain{color:var(--yy-muted);background:0 0;border-color:#0000}.yy-button.danger{color:var(--yy-danger);border-color:#b4231838}.yy-button ion-icon{font-size:17px}.yy-card{border:1px solid var(--yy-border);border-radius:var(--yy-radius-lg);background:var(--yy-surface);box-shadow:var(--yy-shadow-soft)}.yy-card.flat{box-shadow:none}.yy-status-pill{border:1px solid var(--yy-border);background:var(--yy-surface-soft);min-height:28px;color:var(--yy-muted);white-space:nowrap;border-radius:999px;align-items:center;padding:0 9px;font-size:12px;font-style:normal;font-weight:700;line-height:1;display:inline-flex}.yy-status-pill.success{background:var(--yy-success-soft);color:var(--yy-success);border-color:#12805c38}.yy-status-pill.warning{background:var(--yy-warning-soft);color:var(--yy-warning);border-color:#b7791f3d}.yy-status-pill.danger{background:var(--yy-danger-soft);color:var(--yy-danger);border-color:#b4231833}.yy-status-pill.primary{background:var(--client-accent-soft);color:var(--yy-primary);border-color:#0a5ba833}.yy-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.yy-summary-tile{border-radius:var(--yy-radius-sm);background:var(--yy-surface-soft);min-width:0;padding:12px}.yy-summary-tile dt,.yy-summary-tile dd{margin:0}.yy-summary-tile dt{color:var(--yy-muted);font-size:12px;line-height:1.35}.yy-summary-tile dd{color:var(--yy-text);overflow-wrap:anywhere;margin-top:4px;font-size:14px;font-weight:700;line-height:1.45}.yy-timeline{gap:0;margin:0;padding:0;list-style:none;display:grid}.yy-timeline li{color:var(--yy-muted);grid-template-columns:16px minmax(0,1fr);gap:9px;padding-bottom:16px;display:grid;position:relative}.yy-timeline li:before{border-left:1px solid var(--yy-border);content:"";position:absolute;top:16px;bottom:0;left:7px}.yy-timeline li:last-child{padding-bottom:0}.yy-timeline li:last-child:before{display:none}.yy-timeline i{z-index:1;background:var(--yy-surface);border:1.5px solid;border-radius:999px;width:14px;height:14px;margin-top:3px;position:relative}.yy-timeline li.done i{background:var(--yy-muted)}.yy-timeline li.current{color:var(--yy-primary)}.yy-timeline li.current i{box-shadow:0 0 0 3px var(--client-accent-soft)}.yy-timeline strong,.yy-timeline small{margin:0;display:block}.yy-timeline strong{color:var(--yy-text);font-size:14px;line-height:1.4}.yy-timeline small{color:var(--yy-muted);margin-top:2px;font-size:12px;line-height:1.45}@media (max-width:860px){.yy-page{padding:18px 14px calc(96px + var(--client-tabbar-height) + env(safe-area-inset-bottom))}.yy-page-header{grid-template-columns:1fr;align-items:start;gap:12px;margin-bottom:16px}.yy-page-title{font-size:24px}.yy-page-actions{justify-content:flex-start}.yy-summary-grid{grid-template-columns:1fr}}html,body,#app{height:100%;margin:0}.yy-update-notice{z-index:10000;color:#243548;background:#fffffffa;border:1px solid #0a5ba833;border-radius:14px;align-items:center;gap:14px;max-width:min(520px,100vw - 32px);padding:12px 14px 12px 16px;font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 12px 36px #142d4c29}.yy-update-notice button{color:#fff;cursor:pointer;font:inherit;background:#0a5ba8;border:0;border-radius:9px;flex:none;padding:7px 11px}@media (max-width:640px){.yy-update-notice{align-items:flex-start;bottom:12px;left:12px;right:12px}}
