:root{font-synthesis:none;text-rendering:optimizeLegibility}html,body,#app{margin:0;min-height:100%;padding:0;font-family:Avenir Next,Segoe UI,sans-serif}body{background:#e8eaec}*,*:before,*:after{box-sizing:border-box}button,input{font:inherit}:root,.app-canvas{--shell-bg: #eef0f2;--surface: #ffffff;--surface-soft: #f7f8fa;--line: #e8e9ed;--line-strong: #c9ccd4;--fill-strong: #dcdfe5;--fill-strong-hover: #cfd3db;--ink: #17171b;--muted: #777983;--orange: #ff6a2a;--on-ink: #ffffff;--link: #1d5fd6;--table-head: #344054;--brand: var(--orange);--brand-soft: #fff2ec;--status-ready-bg: #e9f8f0;--status-ready-fg: #087a4f;--status-attention-bg: #fff7db;--status-attention-fg: #8a6500;--status-blocked-bg: #fff0ef;--status-blocked-fg: #b42318;--status-waiting-bg: #edf5ff;--status-waiting-fg: #175cd3;--status-reference-bg: #eef1f5;--status-reference-fg: #475467;--status-unknown-bg: #f2f4f7;--status-unknown-fg: #667085}:root.is-dark,.app-canvas.is-dark{--shell-bg: #17191d;--surface: #202329;--surface-soft: #292c33;--line: #343840;--line-strong: #4c515c;--fill-strong: #3a3f49;--fill-strong-hover: #454b57;--ink: #f5f5f6;--muted: #a3a6ae;--brand-soft: #3a2a22;--on-ink: #17171b;--link: #8ab4ff;--table-head: #c9ccd3;--status-ready-bg: #123b2c;--status-ready-fg: #6fd3a6;--status-attention-bg: #3d3111;--status-attention-fg: #f0c25c;--status-blocked-bg: #44201d;--status-blocked-fg: #ff9b8f;--status-waiting-bg: #172c4d;--status-waiting-fg: #8fb6ff;--status-reference-bg: #2a2f38;--status-reference-fg: #b6bec9;--status-unknown-bg: #2c3038;--status-unknown-fg: #a8afba}.btn-ink,.btn-ink:hover,.btn-ink:focus,.btn-ink:active{background-color:var(--ink);border-color:var(--ink);color:var(--on-ink);font-weight:600}.btn-ink:hover,.btn-ink:focus,.btn-ink:active{opacity:.88}.btn-ink .n-button__border,.btn-ink .n-button__state-border{border-color:var(--ink)}.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.card-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}@media(max-width:1180px){.card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:960px){.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.card-grid{grid-template-columns:1fr}}.ws-card{display:flex;flex-direction:column;gap:5px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--surface);min-width:0}.ws-card__cover{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1 / 1;border-radius:8px;background:var(--surface-soft);overflow:hidden;cursor:pointer}.ws-card__status{position:absolute;top:8px;left:8px;z-index:1;display:inline-flex;padding:1px;border-radius:5px;background:var(--surface);box-shadow:0 1px 4px #0000002e}.ws-card__cover .n-image{width:100%;height:100%}.ws-card__cover img{width:100%;height:100%;object-fit:cover}.ws-card__caption{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:16px 8px 6px;background:linear-gradient(to top,rgba(0,0,0,.74),rgba(0,0,0,.45) 55%,transparent);color:#fff;font-size:12.5px;font-weight:600;line-height:1.3;text-shadow:0 1px 2px rgba(0,0,0,.5);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ws-card__noimg{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:0 10px;color:var(--muted);font-size:12px;text-align:center}.ws-card__name{font-weight:600;font-size:13px;line-height:1.3;word-break:break-word}.ws-card__meta{display:flex;flex-direction:column;gap:2px;font-size:11.5px}.ws-card__meta strong{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}.ws-card__setup{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ws-card__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:4px}.ws-card .muted,.card-grid .muted{color:var(--muted);font-size:12px}.ws-card__tags{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.ws-card__tags small{color:var(--muted);font-size:12px}
