:root{--seed-bg: #ffffff;--seed-fg: #16161d;--seed-primary: #1863dc;--seed-accent: #0d9d8c;--seed-surface: #f7f8fa;--seed-radius: 14px;--seed-density: 16px;--color-bg: var(--seed-bg);--color-fg: var(--seed-fg);--color-surface: var(--seed-surface);--color-primary: var(--seed-primary);--color-accent: var(--seed-accent);--color-border: color-mix(in srgb, var(--seed-fg) 11%, var(--seed-bg));--color-border-strong: color-mix(in srgb, var(--seed-fg) 20%, var(--seed-bg));--color-muted: color-mix(in srgb, var(--seed-fg) 52%, var(--seed-bg));--color-faint: color-mix(in srgb, var(--seed-fg) 34%, var(--seed-bg));--color-primary-soft: color-mix(in srgb, var(--seed-primary) 7%, var(--seed-bg));--color-primary-line: color-mix(in srgb, var(--seed-primary) 22%, var(--seed-bg));--color-accent-soft: color-mix(in srgb, var(--seed-accent) 9%, var(--seed-bg));--color-star: #dd9a2b;--color-warn: #b3541e;--color-warn-soft: color-mix(in srgb, #b3541e 9%, var(--seed-bg));--shadow-card: 0 1px 2px color-mix(in srgb, var(--seed-fg) 4%, transparent);--shadow-lift: 0 10px 28px -12px color-mix(in srgb, var(--seed-fg) 22%, transparent);--shadow-panel: -16px 0 48px -24px color-mix(in srgb, var(--seed-fg) 35%, transparent);--radius-card: var(--seed-radius);--radius-control: calc(var(--seed-radius) - 6px);--radius-pill: 999px;--font-display: "Space Grotesk", "Inter", ui-sans-serif, system-ui, sans-serif;--font-body: "Inter", ui-sans-serif, system-ui, "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", monospace}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-body);font-size:14px;line-height:1.5;color:var(--color-fg);background:var(--color-bg);-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input{font-family:inherit}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px}.svg-host{display:inline-flex;align-items:center}.topnav{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:28px;height:60px;padding:0 24px;background:color-mix(in srgb,var(--seed-bg) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border)}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand-mark{width:30px;height:30px;border-radius:9px;background:var(--color-fg);color:var(--color-bg);display:grid;place-items:center}.brand-name{font-family:var(--font-display);font-weight:700;font-size:17px;letter-spacing:-.02em}.brand-name em{font-style:normal;color:var(--color-primary)}.main-links{display:flex;gap:4px}.main-links button{padding:7px 12px;border-radius:var(--radius-control);color:var(--color-muted);font-weight:500;font-size:13.5px;transition:color .15s,background .15s}.main-links button:hover,.main-links button[aria-current=page]{color:var(--color-fg);background:var(--color-surface)}.nav-search{flex:1;max-width:460px;margin-left:auto;display:flex;align-items:center;gap:8px;height:36px;padding:0 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);transition:border-color .15s,box-shadow .15s,background .15s}.nav-search:focus-within{background:var(--color-bg);border-color:var(--color-primary-line);box-shadow:0 0 0 3px var(--color-primary-soft)}.nav-search .svg-host{flex-shrink:0;color:var(--color-faint)}.nav-search input{flex:1;border:none;background:none;outline:none;font-size:13.5px;color:var(--color-fg);min-width:0}.nav-search input::placeholder{color:var(--color-faint)}.kbd{font-family:var(--font-mono);font-size:11px;color:var(--color-faint);border:1px solid var(--color-border-strong);border-radius:5px;padding:1px 6px;background:var(--color-bg)}.nav-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.btn-publish{display:flex;align-items:center;gap:6px;height:36px;padding:0 15px;border-radius:var(--radius-pill);background:var(--color-fg);color:var(--color-bg);font-size:13px;font-weight:600;transition:background .15s,transform .1s}.btn-publish:hover{background:color-mix(in srgb,var(--seed-fg) 82%,var(--seed-primary))}.btn-publish:active{transform:scale(.97)}.avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,color-mix(in srgb,var(--seed-primary) 75%,#fff),color-mix(in srgb,var(--seed-accent) 70%,#fff));display:grid;place-items:center;color:#fff;font-size:12.5px;font-weight:600;border:1px solid var(--color-border)}.nav-user{display:flex;align-items:center;gap:8px}.nav-user .avatar{width:auto;border-radius:17px;padding:0 12px}.layout{display:flex;min-height:calc(100vh - 60px)}.sidebar{width:228px;flex-shrink:0;padding:24px 16px 32px 24px;border-right:1px solid var(--color-border);position:sticky;top:60px;height:calc(100vh - 60px);overflow-y:auto}.side-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-faint);padding:0 10px;margin-bottom:8px}.side-label+.side-label{margin-top:26px}.cat-item{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-control);font-size:13.5px;font-weight:500;color:var(--color-muted);transition:background .15s,color .15s;text-align:left}.cat-item .svg-host{flex-shrink:0;opacity:.75}.cat-item:hover{background:var(--color-surface);color:var(--color-fg)}.cat-item.active{background:var(--color-primary-soft);color:var(--color-primary)}.cat-item.active .svg-host{opacity:1}.cat-count{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--color-faint)}.cat-item.active .cat-count{color:var(--color-primary)}.side-card{margin-top:28px;padding:16px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}.side-card h4{font-size:13px;font-weight:600;margin-bottom:4px}.side-card p{font-size:12px;color:var(--color-muted);margin-bottom:12px;line-height:1.55}.side-card .linkish{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:600;color:var(--color-primary)}.side-card .linkish:hover{text-decoration:underline}.content{flex:1;padding:calc(var(--seed-density) + 12px) calc(var(--seed-density) + 16px) 64px;min-width:0}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}.page-title{font-family:var(--font-display);font-size:27px;font-weight:700;letter-spacing:-.025em}.page-sub{color:var(--color-muted);font-size:13.5px;margin-top:4px}.page-sub b{color:var(--color-fg);font-weight:600}.seg{display:flex;padding:3px;gap:2px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill)}.seg button{padding:6px 14px;border-radius:var(--radius-pill);font-size:12.5px;font-weight:500;color:var(--color-muted);transition:background .15s,color .15s}.seg button:hover{color:var(--color-fg)}.seg button.active{background:var(--color-bg);color:var(--color-fg);font-weight:600;box-shadow:var(--shadow-card);border:1px solid var(--color-border)}.source-tabs{display:flex;gap:4px;overflow-x:auto;padding:0 0 16px;margin-bottom:8px;border-bottom:1px solid var(--color-border);scrollbar-width:thin}.source-tabs button{flex:0 0 auto;padding:8px 12px;border-radius:var(--radius-control);color:var(--color-muted);font-size:13px;font-weight:600}.source-tabs button:hover{color:var(--color-fg);background:var(--color-surface)}.source-tabs button.active{color:var(--color-primary);background:var(--color-primary-soft)}.source-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:28px 0 8px;color:var(--color-muted);font-size:14px}.source-pagination button{border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-fg);padding:7px 13px;cursor:pointer}.source-pagination button:disabled{color:var(--color-faint);cursor:not-allowed;background:var(--color-bg)}.source-pagination label{display:flex;align-items:center;gap:6px}.source-pagination select{border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-fg);padding:7px 8px}.source-management-panel{width:min(1100px,calc(100vw - 48px))}.source-management-list{display:grid;gap:10px;margin-top:22px}.source-management-row{display:grid;grid-template-columns:minmax(170px,1fr) auto auto auto auto auto;align-items:center;gap:16px;border:1px solid var(--color-border);border-radius:10px;padding:14px}.source-management-row h3,.source-management-row p{margin:0}.source-management-row p,.source-secret-note{color:var(--color-muted);font-size:13px}.source-management-row label{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:13px}.source-management-row input[type=number],.source-management-row select{width:62px;border:1px solid var(--color-border);border-radius:6px;padding:5px;background:var(--color-surface)}.spotlight{display:flex;gap:24px;align-items:center;padding:26px 28px;margin-bottom:30px;border:1px solid var(--color-primary-line);border-radius:calc(var(--seed-radius) + 6px);background:linear-gradient(118deg,var(--color-primary-soft) 0%,transparent 52%),var(--color-bg)}.spotlight-tile{width:76px;height:76px;flex-shrink:0;border-radius:calc(var(--seed-radius) + 2px);background:var(--color-fg);color:var(--color-bg);display:grid;place-items:center;box-shadow:var(--shadow-lift)}.spotlight-body{flex:1;min-width:0}.spotlight-tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--color-primary);background:var(--color-primary-soft);border:1px solid var(--color-primary-line);padding:3px 10px;border-radius:var(--radius-pill);margin-bottom:10px}.spotlight-title{font-family:var(--font-display);font-size:19px;font-weight:700;letter-spacing:-.02em}.spotlight-title span{color:var(--color-muted);font-family:var(--font-body);font-size:12.5px;font-weight:500;margin-left:10px}.spotlight-desc{color:var(--color-muted);font-size:13.5px;margin-top:5px;max-width:560px}.spotlight-actions{display:flex;gap:10px;flex-shrink:0}.btn-primary{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 18px;border-radius:var(--radius-pill);background:var(--color-fg);color:var(--color-bg);font-size:13px;font-weight:600;transition:background .15s,transform .1s}.btn-primary:hover{background:color-mix(in srgb,var(--seed-fg) 80%,var(--seed-primary))}.btn-primary:active{transform:scale(.97)}.btn-primary.installed{background:var(--color-accent-soft);color:var(--color-accent);border:1px solid color-mix(in srgb,var(--seed-accent) 30%,var(--seed-bg))}.btn-primary.installed:hover{background:color-mix(in srgb,var(--seed-accent) 14%,var(--seed-bg))}.btn-primary:disabled{opacity:.6;cursor:default;transform:none}.btn-ghost{display:inline-flex;align-items:center;height:38px;padding:0 18px;border-radius:var(--radius-pill);border:1px solid var(--color-border-strong);font-size:13px;font-weight:600;color:var(--color-fg);transition:border-color .15s,background .15s}.btn-ghost:hover{border-color:var(--color-fg);background:var(--color-surface)}.section-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-title{font-size:15.5px;font-weight:600;letter-spacing:-.01em}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.chip{font-size:12px;font-weight:500;padding:5px 12px;border-radius:var(--radius-pill);border:1px solid var(--color-border);color:var(--color-muted);transition:border-color .15s,color .15s,background .15s}.chip:hover{border-color:var(--color-border-strong);color:var(--color-fg)}.chip.on{background:var(--color-fg);color:var(--color-bg);border-color:var(--color-fg)}.skill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--seed-density)}.skill-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:18px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s}.skill-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-lift);transform:translateY(-2px)}.skill-card-top{display:flex;align-items:flex-start;gap:12px}.skill-icon{width:44px;height:44px;flex-shrink:0;border-radius:calc(var(--seed-radius) - 3px);display:grid;place-items:center}.skill-id{flex:1;min-width:0}.skill-name{font-weight:600;font-size:14.5px;letter-spacing:-.01em;display:flex;align-items:center;gap:6px}.verified{color:var(--color-primary);flex-shrink:0}.skill-author{font-size:12px;color:var(--color-faint);margin-top:2px}.source-badge{display:block;width:fit-content;margin-top:4px;color:var(--color-faint);font-family:var(--font-mono);font-size:10px}.source-demo{color:var(--color-warn)}.source-external_sync{color:var(--color-accent)}.skill-installs-mini{font-family:var(--font-mono);font-size:11px;color:var(--color-faint);display:flex;align-items:center;gap:4px;flex-shrink:0;margin-top:3px}.skill-desc{font-size:13px;color:var(--color-muted);line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:40px}.skill-card-bottom{display:flex;align-items:center;gap:8px;margin-top:auto}.tag{font-size:11.5px;font-weight:500;padding:4px 10px;border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-muted);border:1px solid var(--color-border)}.tag-delisted{background:var(--color-warn-soft);color:var(--color-warn);border-color:color-mix(in srgb,var(--color-warn) 28%,var(--seed-bg))}.tag-team-approved{font-size:11.5px;font-weight:500;padding:2px 8px;margin-left:6px;border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-accent);border:1px solid color-mix(in srgb,var(--color-accent) 32%,var(--seed-bg));vertical-align:middle;white-space:nowrap}.team-approval-row{display:flex;flex-wrap:wrap;gap:6px}.team-approval-row .tag-team-approved{margin-left:0;padding:4px 10px}.team-whitelist-label{display:flex;align-items:center;gap:8px;cursor:pointer}.rating{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--color-fg)}.rating .svg-host{color:var(--color-star)}.rating-none{font-size:11.5px;color:var(--color-faint);font-weight:400}.install-btn{margin-left:auto;height:30px;padding:0 14px;border-radius:var(--radius-pill);background:var(--color-fg);color:var(--color-bg);font-size:12.5px;font-weight:600;transition:background .15s,transform .1s,color .15s}.install-btn:hover{background:color-mix(in srgb,var(--seed-fg) 78%,var(--seed-primary))}.install-btn:active{transform:scale(.96)}.install-btn.installed{background:var(--color-accent-soft);color:var(--color-accent);border:1px solid color-mix(in srgb,var(--seed-accent) 32%,var(--seed-bg))}.empty{display:flex;flex-direction:column;align-items:center;gap:14px;padding:72px 24px;text-align:center;border:1px dashed var(--color-border-strong);border-radius:calc(var(--seed-radius) + 6px)}.empty h3{font-family:var(--font-display);font-size:17px;font-weight:600}.empty p{color:var(--color-muted);font-size:13px;max-width:340px}.empty .btn-ghost{height:34px;padding:0 16px;font-size:12.5px}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:color-mix(in srgb,var(--seed-fg) 28%,transparent);opacity:0;pointer-events:none;transition:opacity .25s}.backdrop.open{opacity:1;pointer-events:auto}.detail{position:fixed;top:0;right:0;bottom:0;z-index:70;width:500px;max-width:92vw;background:var(--color-bg);border-left:1px solid var(--color-border);box-shadow:var(--shadow-panel);transform:translate(100%);transition:transform .3s cubic-bezier(.32,.72,.25,1);display:flex;flex-direction:column}.detail.open{transform:translate(0)}.detail-head{padding:22px 24px 18px;border-bottom:1px solid var(--color-border)}.detail-close{position:absolute;top:18px;right:18px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:var(--color-muted);transition:background .15s,color .15s}.detail-close:hover{background:var(--color-surface);color:var(--color-fg)}.detail-title-row{display:flex;gap:14px;align-items:center;margin-bottom:14px}.detail-icon{width:54px;height:54px;border-radius:var(--radius-card);display:grid;place-items:center;flex-shrink:0}.detail-name{font-family:var(--font-display);font-size:19px;font-weight:700;letter-spacing:-.02em;display:flex;align-items:center;gap:7px}.detail-author{font-size:12.5px;color:var(--color-muted);margin-top:3px}.detail-author b{color:var(--color-primary);font-weight:600}.detail-source{margin-top:5px;font-size:11px;color:var(--color-faint)}.detail-source a{margin-left:8px;color:var(--color-primary);text-decoration:none}.detail-source a:hover{text-decoration:underline}.detail-desc{font-size:13.5px;color:var(--color-muted);line-height:1.6}.detail-stats{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--color-border)}.stat{padding:14px 8px;text-align:center;border-right:1px solid var(--color-border)}.stat:last-child{border-right:none}.stat b{display:block;font-family:var(--font-display);font-size:15px;font-weight:700;letter-spacing:-.01em}.stat span{font-size:11px;color:var(--color-faint)}.detail-scroll{flex:1;overflow-y:auto;padding:22px 24px}.detail-sec-title{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-faint);margin-bottom:10px}.detail-sec{margin-bottom:26px}.detail-body{font-size:13.5px;color:var(--color-muted);line-height:1.7}.detail-body p+p{margin-top:10px}.perm-item{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-control);margin-bottom:8px;font-size:12.5px;color:var(--color-muted);line-height:1.5}.perm-item .svg-host{flex-shrink:0;color:var(--color-primary);margin-top:1px}.perm-item b{color:var(--color-fg);font-weight:600}.ver-row{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--color-border)}.ver-row:last-child{border-bottom:none}.ver-tag{font-family:var(--font-mono);font-size:11.5px;background:var(--color-surface);border:1px solid var(--color-border);padding:2px 8px;border-radius:6px;flex-shrink:0;margin-top:1px}.ver-note{font-size:12.5px;color:var(--color-muted);line-height:1.55}.ver-date{font-size:11px;color:var(--color-faint);margin-top:3px}.detail-foot{padding:16px 24px;border-top:1px solid var(--color-border);display:flex;align-items:center;gap:12px;background:var(--color-surface)}.detail-foot .btn-primary{flex:1;justify-content:center;height:42px}.compat{font-size:11.5px;color:var(--color-faint);display:flex;align-items:center;gap:5px}.install-dialog{position:fixed;z-index:80;top:50%;left:50%;width:min(520px,calc(100vw - 32px));max-height:min(720px,calc(100dvh - 32px));overflow-y:auto;padding:24px;border:1px solid var(--color-border-strong);border-radius:calc(var(--seed-radius) + 4px);background:var(--color-bg);box-shadow:0 24px 64px -20px color-mix(in srgb,var(--seed-fg) 42%,transparent);transform:translate(-50%,-50%)}.install-dialog header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.install-dialog h3{font-family:var(--font-display);font-size:18px;letter-spacing:-.02em}.install-dialog h4{font-size:13px;font-weight:700;margin-bottom:10px}.install-dialog header button{width:30px;height:30px;border-radius:50%;color:var(--color-muted);font-size:22px;line-height:1}.install-dialog header button:hover{background:var(--color-surface);color:var(--color-fg)}.install-summary,.install-settings,.install-cli,.install-progress{margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border)}.install-summary{display:grid;gap:7px;font-size:12.5px;color:var(--color-muted)}.install-summary strong{color:var(--color-fg)}.install-settings{display:grid;gap:12px}.install-settings label{display:grid;gap:6px;font-size:12.5px;font-weight:600;color:var(--color-fg)}.install-settings select,.install-settings input{width:100%;height:36px;padding:0 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-bg);color:var(--color-fg)}.install-settings small{font-size:11.5px;font-weight:400;color:var(--color-muted)}.install-cli pre{overflow-x:auto;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);font-family:var(--font-mono);font-size:11.5px;white-space:pre-wrap}.install-cli-actions{display:flex;align-items:center;gap:10px;margin-top:10px}.install-hint,.install-progress{font-size:12px;color:var(--color-muted);line-height:1.6}.install-progress ol{margin:8px 0 0 18px}.install-progress .reached{color:var(--color-accent)}.install-progress .pending{color:var(--color-faint)}.install-error{margin-top:8px;color:var(--color-warn)}.install-dialog footer{display:flex;justify-content:flex-end;margin-top:18px}.install-dialog footer button{color:var(--color-muted);font-size:12.5px}.install-dialog footer button:hover{color:var(--color-fg)}.delisted-note{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;margin-bottom:26px;background:var(--color-warn-soft);border:1px solid color-mix(in srgb,var(--color-warn) 26%,var(--seed-bg));border-radius:var(--radius-control);font-size:13px;color:var(--color-warn);line-height:1.6}.delisted-note b{display:block;font-weight:600;margin-bottom:2px}.detail-foot .delisted-foot{flex:1;text-align:center;font-size:12.5px;color:var(--color-faint)}.health-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.health-item{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface)}.health-label{font-size:11px;color:var(--color-faint)}.health-value{font-family:var(--font-display);font-size:14px;font-weight:700;letter-spacing:-.01em}.health-hint{font-size:11.5px;color:var(--color-muted);line-height:1.5}.repro-card{padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface)}.repro-hash-row{display:flex;align-items:center;gap:10px}.repro-label{font-size:11px;color:var(--color-faint);flex-shrink:0}.repro-hash{font-family:var(--font-mono);font-size:12px;color:var(--color-fg)}.repro-note{font-size:12px;color:var(--color-muted);line-height:1.6;margin-top:8px}.repro-date{font-size:11px;color:var(--color-faint);margin-top:6px}.rating-summary{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}.rating-average{font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:-.02em}.rating-average.rating-pending{font-size:13px;font-weight:600;color:var(--color-muted)}.rating-count{font-size:11.5px;color:var(--color-faint)}.rating-form{padding:12px 14px;margin-bottom:14px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface)}.rating-picker{display:flex;align-items:center;gap:2px;margin-bottom:10px}.rating-star-btn{border:none;background:none;padding:2px;cursor:pointer;font-size:20px;line-height:1;color:var(--color-border);transition:color .15s,transform .15s}.rating-star-btn:hover{transform:scale(1.12)}.rating-star-btn.on{color:var(--color-warn)}.rating-mine-hint{margin-left:8px;font-size:11px;color:var(--color-faint)}.rating-comment{width:100%;min-height:64px;resize:vertical;box-sizing:border-box;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-control);font:inherit;font-size:12.5px;color:var(--color-fg);background:var(--color-bg)}.rating-comment:focus{outline:none;border-color:var(--color-primary)}.rating-actions{display:flex;align-items:center;gap:10px;margin-top:10px}.rating-error{font-size:12px;color:var(--color-warn)}.rating-locked{font-size:12.5px;color:var(--color-faint);margin-bottom:14px}.rating-empty{font-size:12.5px;color:var(--color-faint)}.rating-list{display:flex;flex-direction:column}.rating-item{padding:12px 0;border-bottom:1px solid var(--color-border)}.rating-item:last-child{border-bottom:none}.rating-item-head{display:flex;align-items:center;gap:8px}.rating-user{font-size:12.5px;font-weight:600;color:var(--color-fg)}.rating-stars{font-size:12px;color:var(--color-warn);letter-spacing:1px}.rating-date{font-size:11px;color:var(--color-faint);margin-left:auto}.rating-item-comment{font-size:12.5px;color:var(--color-muted);line-height:1.6;margin-top:6px}.toast{position:fixed;bottom:28px;left:50%;z-index:90;transform:translate(-50%,16px);display:flex;align-items:center;gap:10px;padding:12px 18px;background:var(--color-fg);color:var(--color-bg);border-radius:var(--radius-pill);font-size:13px;font-weight:500;box-shadow:var(--shadow-lift);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}.toast.show{opacity:1;transform:translate(-50%)}.toast .svg-host{color:var(--color-accent)}.toast.toast-error .svg-host{color:#e07a6a}.grid-loading{opacity:.55;pointer-events:none}.tint-blue{background:var(--color-primary-soft);color:var(--color-primary)}.tint-teal{background:var(--color-accent-soft);color:var(--color-accent)}.tint-slate{background:color-mix(in srgb,var(--seed-fg) 6%,var(--seed-bg));color:color-mix(in srgb,var(--seed-fg) 72%,var(--seed-bg))}.tint-indigo{background:color-mix(in srgb,#4c5fd5 9%,var(--seed-bg));color:#4c5fd5}.tint-amber{background:color-mix(in srgb,#c07f16 10%,var(--seed-bg));color:#c07f16}.tint-rose{background:color-mix(in srgb,#c04a5e 9%,var(--seed-bg));color:#c04a5e}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:8px;border:2px solid var(--color-bg)}::-webkit-scrollbar-track{background:transparent}@media (max-width: 1280px){.skill-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 900px){.sidebar{display:none}.skill-grid{grid-template-columns:1fr}.spotlight{flex-direction:column;align-items:flex-start}}.publisher-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:24px;background:color-mix(in srgb,var(--seed-fg) 34%,transparent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.publisher-panel{width:min(720px,100%);max-height:min(760px,calc(100vh - 48px));overflow:auto;padding:28px;border:1px solid var(--color-border);border-radius:calc(var(--seed-radius) + 6px);background:var(--color-bg);box-shadow:0 28px 80px -28px color-mix(in srgb,var(--seed-fg) 50%,transparent)}.publisher-panel-head{display:flex;justify-content:space-between;gap:24px;margin-bottom:24px}.publisher-panel h2{font-family:var(--font-display);font-size:24px;letter-spacing:-.03em}.publisher-panel-head p:last-child{margin-top:6px;color:var(--color-muted)}.eyebrow{color:var(--color-primary);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.icon-close{width:32px;height:32px;flex:0 0 auto;border-radius:50%;color:var(--color-muted);font-size:24px;line-height:1}.icon-close:hover{background:var(--color-surface);color:var(--color-fg)}.publisher-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.publisher-form label,.publisher-form fieldset{display:grid;gap:7px;color:var(--color-muted);font-size:12px;font-weight:600}.publisher-form-wide{grid-column:1 / -1}.publisher-form input,.publisher-form select,.publisher-form textarea{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-bg);padding:10px 12px;color:var(--color-fg);font:inherit;font-weight:400}.publisher-form textarea{min-height:86px;resize:vertical}.auth-form{grid-template-columns:1fr}.auth-field-error{margin:6px 0 0}.docs-body{display:grid;gap:20px}.docs-body h3{margin:0 0 8px;font-size:15px}.docs-body p,.docs-body li,.docs-body dd{font-size:13px;line-height:1.7;color:var(--color-muted)}.docs-body ul,.docs-body ol{margin:0;padding-left:20px;display:grid;gap:4px}.docs-body pre{margin:0 0 8px;padding:12px 14px;overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);font-family:var(--font-mono);font-size:12px;line-height:1.6}.docs-fields{margin:0;display:grid;gap:6px}.docs-fields>div{display:grid;grid-template-columns:110px 1fr;gap:10px;align-items:baseline}.docs-fields dt{font-family:var(--font-mono);font-size:12px;color:var(--color-primary)}.docs-fields dd{margin:0}.auth-form .btn-primary{justify-self:start;padding:10px 22px}.auth-tabs{margin-bottom:16px;width:fit-content}.rating-login-btn{margin-left:10px;height:28px;padding:0 12px;font-size:12px}.publisher-form fieldset{padding:0;border:0}.publisher-form legend{margin-bottom:7px}.checkbox-row{display:flex;gap:12px;flex-wrap:wrap}.checkbox-row label{display:flex;align-items:center;gap:6px;color:var(--color-fg);font-weight:500}.checkbox-row input{width:auto;accent-color:var(--color-primary)}.form-error{grid-column:1 / -1;color:#b44135;font-size:12px}.publisher-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.btn-secondary{height:38px;padding:0 16px;border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);font-weight:600}.btn-secondary:hover{background:var(--color-surface)}.publisher-tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:1px solid var(--color-border)}.publisher-tab{padding:8px 14px;border-radius:var(--radius-control) var(--radius-control) 0 0;color:var(--color-muted);font-weight:600}.publisher-tab:hover{color:var(--color-fg)}.publisher-tab.active{color:var(--color-fg);background:var(--color-surface)}.publisher-permissions{display:grid;gap:10px}.permission-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.permission-remove{width:38px;height:38px;border:1px solid var(--color-border);border-radius:50%;color:var(--color-muted);font-size:18px;line-height:1}.permission-remove:hover:not(:disabled){background:var(--color-surface);color:var(--color-fg)}.permission-remove:disabled{opacity:.4;cursor:not-allowed}.permission-add{justify-self:start}.field-label-row{display:flex;align-items:center}.permission-help-toggle{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:6px;padding:0;border:1px solid var(--color-faint);border-radius:50%;background:transparent;color:var(--color-muted);font-size:11px;line-height:1;cursor:pointer}.permission-help-toggle:hover,.permission-help-toggle[aria-expanded=true]{color:var(--color-primary);border-color:var(--color-primary)}.permission-help{display:grid;gap:6px;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);font-size:12px;font-weight:400;color:var(--color-muted)}.permission-help ul{padding-left:18px;display:grid;gap:2px}.permission-help strong{color:var(--color-fg)}.permission-help code{font-family:var(--font-mono);font-size:11px}.permission-presets{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.permission-presets-label{color:var(--color-muted);font-weight:500}.permission-preset{padding:3px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-bg);color:var(--color-fg);font-size:12px;font-weight:500;cursor:pointer}.permission-preset:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-soft)}.publisher-blocked-hint{grid-column:1 / -1;margin-top:2px;text-align:right;font-size:12px;color:var(--color-warn)}.publisher-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.publisher-item{display:grid;gap:6px;padding:14px 16px;border:1px solid var(--color-border);border-radius:var(--radius-control)}.publisher-item-new{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.publisher-item-main{display:flex;justify-content:space-between;align-items:center;gap:12px}.publisher-item-main h3{font-size:15px}.publisher-item-meta{color:var(--color-muted);font-size:12px}.publisher-item-action{justify-self:start}.publisher-item-action:disabled{opacity:.5;cursor:not-allowed}.status-badge{padding:2px 10px;border-radius:var(--radius-pill);font-size:11px;font-weight:700}.status-draft{background:var(--color-surface);color:var(--color-muted)}.status-pending_review{background:#fff3d6;color:#8a5a00}.status-active{background:#dcf5e5;color:#157347}.status-delisted{background:#fde3df;color:#b44135}.package-cell{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:12px}.package-status{padding:2px 10px;border-radius:var(--radius-pill);font-size:11px;font-weight:700}.package-none{background:var(--color-surface);color:var(--color-muted)}.package-uploaded,.package-scanning{background:#fff3d6;color:#8a5a00}.package-clean{background:#dcf5e5;color:#157347}.package-quarantined{background:#fde3df;color:#b44135}.package-reason{color:#b44135}.package-upload{display:inline-flex;align-items:center;height:32px;cursor:pointer;font-size:12px}.package-upload.disabled{opacity:.5;cursor:not-allowed}.repro-signature{margin-top:8px;font-size:12px;font-weight:600}.repro-signature-valid{color:#157347}.repro-signature-invalid{color:#b44135}.repro-signature-verifying,.repro-signature-unavailable{color:var(--color-muted)}.publisher-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 16px}.publisher-summary-stat{padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface)}.publisher-summary-stat dt{color:var(--color-muted);font-size:11px;font-weight:600}.publisher-summary-stat dd{margin:4px 0 0;font-family:var(--font-display);font-size:20px;letter-spacing:-.02em}.publisher-checks{list-style:none;margin:0;padding:12px 14px;display:grid;gap:6px;border:1px solid var(--color-border);border-radius:var(--radius-control);font-size:12px}.publisher-check{display:flex;gap:8px;align-items:baseline;color:var(--color-muted)}.publisher-check-icon{font-weight:700}.check-pass .publisher-check-icon{color:#157347}.check-warning,.check-warning .publisher-check-icon{color:#8a5a00}.check-error,.check-error .publisher-check-icon,.field-error,.field-error legend{color:#b44135}.field-error input,.field-error select,.field-error textarea{border-color:#b44135}@media (max-width: 600px){.publisher-panel{padding:20px}.publisher-form{grid-template-columns:1fr}.publisher-form-wide{grid-column:auto}.permission-row{grid-template-columns:1fr}}.btn-review{height:36px;padding:0 13px;border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);color:var(--color-muted);font-size:12.5px;font-weight:600}.btn-review:hover{background:var(--color-surface);color:var(--color-fg)}.review-list{display:grid;gap:12px}.review-empty{padding:28px 0;color:var(--color-muted);text-align:center}.review-item{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px;border:1px solid var(--color-border);border-radius:var(--radius-card)}.review-item h3{font-family:var(--font-display);font-size:16px}.review-item>div>p{margin-top:4px;color:var(--color-muted);font-size:13px}.review-item dl{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:13px}.review-item dl div{display:flex;gap:5px;font-size:11.5px}.review-item dt{color:var(--color-faint)}.review-item dd{color:var(--color-fg)}@media (max-width: 600px){.review-item{flex-direction:column}}.badge-unread{margin-left:auto;min-width:18px;height:18px;padding:0 5px;display:inline-grid;place-items:center;border-radius:var(--radius-pill);background:var(--color-warn);color:#fff;font-size:10.5px;font-weight:700;line-height:1}.announce-list{display:grid;gap:12px}.announce-item{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border:1px solid var(--color-border);border-radius:var(--radius-card)}.announce-item.security{border-color:color-mix(in srgb,var(--color-warn) 38%,var(--color-bg));border-left-width:3px;background:var(--color-warn-soft)}.announce-type{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-muted);font-size:11px;font-weight:700;white-space:nowrap}.announce-type-security{background:#fde3df;color:var(--color-warn)}.announce-type-update{background:var(--color-primary-soft);color:var(--color-primary)}.announce-type-delist{background:var(--color-surface);color:var(--color-muted)}.announce-main h3{font-family:var(--font-display);font-size:15px}.announce-main p{margin-top:4px;color:var(--color-muted);font-size:13px}.announce-main time{display:block;margin-top:8px;color:var(--color-faint);font-size:11.5px}.library-toolbar{display:flex;align-items:center;gap:14px;padding:10px 14px;margin-bottom:12px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);font-size:12.5px}.library-select-all{display:inline-flex;align-items:center;gap:6px;font-weight:600;cursor:pointer}.library-select-all input{accent-color:var(--color-primary)}.library-selected-count{color:var(--color-muted)}.library-confirm{display:inline-flex;align-items:center;gap:10px}.btn-danger{height:30px;padding:0 14px;border-radius:var(--radius-pill);background:#b44135;color:#fff;font-size:12px;font-weight:600}.btn-danger:hover:not(:disabled){background:#a03629}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-danger-outline{height:30px;padding:0 14px;border:1px solid #b44135;border-radius:var(--radius-pill);color:#b44135;font-size:12px;font-weight:600}.btn-danger-outline:hover{background:#fde3df}.library-list{display:grid;gap:10px}.library-row{display:flex;align-items:center;gap:14px;padding:12px 16px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-bg);box-shadow:var(--shadow-card)}.library-row.selected{border-color:var(--color-primary-line);background:var(--color-primary-soft)}.library-row>input{accent-color:var(--color-primary)}.library-main{flex:1;min-width:0;display:flex;align-items:center;gap:12px;text-align:left}.library-id{display:grid;min-width:0}.library-meta{display:flex;gap:12px;margin-left:auto;color:var(--color-muted);font-size:12px;white-space:nowrap}.library-badges{display:flex;gap:6px}.tag-update{background:var(--color-primary-soft);color:var(--color-primary)}.library-row .skill-icon{width:34px;height:34px;flex:0 0 auto}.library-row .skill-icon svg{width:16px;height:16px}@media (max-width: 600px){.library-meta{display:none}.announce-item{flex-direction:column;gap:8px}}.team-sections{display:grid;gap:20px}.team-section-title{margin-bottom:10px;font-family:var(--font-display);font-size:14px}.team-guest{display:grid;gap:12px;justify-items:start}.team-invite-link{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:13px}.team-invite-link code{padding:6px 10px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface)}
