:root{--stroke-width: 0;--color-bg: #eef0f4;--color-surface: #ffffff;--color-surface-muted: #f3f2f0;--color-surface-hover: #fafaf9;--color-chrome: #faf9f6;--color-chrome-title-top: #fdfcfb;--color-chrome-title-mid: #faf9f7;--color-chrome-title-bottom: #f7f5f2;--color-chrome-elevated: #ffffff;--color-chrome-border: #edeae4;--color-chrome-toolbar-top: #e9eaec;--color-chrome-toolbar: #f0f1f3;--color-chrome-toolbar-border: #e2e3e7;--color-chrome-toolbar-track: #d8dbe0;--toolbar-h: 36px;--content-gutter: 32px;--color-border: #e4e2de;--color-border-subtle: #eceae6;--color-border-strong: #d4d1cb;--color-text: #1a1b1e;--color-text-secondary: #5e6168;--color-text-muted: #8a8d94;--font-display: "Bricolage Grotesque", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--color-accent: #2563eb;--color-accent-muted: color-mix(in srgb, var(--color-accent) 10%, transparent);--chip-bg: var(--color-surface);--chip-border: var(--color-border);--chip-text: var(--color-text-secondary);--status-original: #64748b;--status-remapped: #6366f1;--status-modified: #7c3aed;--status-custom: #059669;--status-approximate: #65a30d;--status-redesign: #ea580c;--status-deleted: #dc2626;--status-pending: #d97706;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 100px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 16px rgba(15, 23, 42, .06);--shadow-lg: 0 20px 60px rgba(15, 23, 42, .14)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;padding:0;background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased}.sticky-top{position:sticky;top:0;z-index:20;background:var(--color-chrome-toolbar);--chip-bg: var(--color-chrome-elevated);--chip-border: var(--color-border-subtle)}.sticky-top:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:#ffffffeb;pointer-events:none;z-index:1}.app-header{position:relative;padding:14px var(--content-gutter) 12px;background:linear-gradient(180deg,#ffffff 0%,var(--color-chrome-title-top) 18%,var(--color-chrome-title-mid) 42%,var(--color-chrome) 72%,var(--color-chrome-title-bottom) 100%);border-bottom:1px solid var(--color-border-subtle)}.app-header:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(180deg,rgba(0,0,0,.045) 0%,transparent 100%);pointer-events:none;z-index:0}.header-row{display:flex;align-items:center;gap:16px;position:relative;z-index:1;min-height:36px}.header-title-group{flex:0 0 auto}.header-brand{display:flex;align-items:center;gap:10px}.header-logo{width:24px;height:24px;flex-shrink:0;color:var(--color-text)}.header-title-group h1{font-family:var(--font-display);font-size:19px;font-weight:600;font-optical-sizing:auto;letter-spacing:-.02em;color:var(--color-text);margin:0;line-height:1.25}.stat-pill.total-pill{background:var(--chip-bg);color:var(--color-text);font-weight:600;border-color:var(--chip-border);display:inline-flex;align-items:baseline;gap:1px}.stat-pill.total-pill.active-filter{background:var(--color-surface);color:var(--color-text);border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-muted)}.total-pill-active{font-weight:700;color:inherit}.total-pill-sep{opacity:.4;font-weight:400}.total-pill-total{opacity:.5;font-weight:400}.header-stats{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-left:auto;min-width:0}.stat-pill{font-size:11px;font-weight:500;padding:5px 11px;border-radius:var(--radius-pill);background:var(--chip-bg);color:var(--chip-text);border:1px solid var(--chip-border);cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;outline:none;font-family:inherit;line-height:1.3;display:inline-flex;align-items:center;gap:4px}.stat-pill:hover{background:var(--color-surface-hover);color:var(--color-text);border-color:var(--color-border-strong)}.stat-pill.active-filter{background:var(--color-surface);color:var(--color-text);border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-muted)}.stat-pill.phosphor{color:var(--status-approximate)}.stat-pill.modified{color:var(--status-modified)}.stat-pill.for-redesign{color:var(--status-redesign)}.stat-pill.deleted{color:var(--status-deleted)}.stat-pill.custom{color:var(--status-custom)}.stat-pill.for-redesign.active-filter,.stat-pill.deleted.active-filter,.stat-pill.custom.active-filter,.stat-pill-components.active-filter,.stat-pill-usergroup.active-filter,.stat-pill-sub.active-filter{background:var(--color-surface);color:var(--color-text);border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-muted)}.stat-pill-components{color:var(--color-accent);display:flex;align-items:center;gap:4px}.stat-pill-components:hover{border-color:var(--color-accent)}.stat-pill-usergroup{color:var(--status-remapped);display:flex;align-items:center;gap:4px}.stat-pill-usergroup:hover{border-color:var(--status-remapped)}.stat-pill-add-group{background:#f9fafb;color:#6b7280;border-color:#d1d5db;border-style:dashed;display:inline-flex;align-items:center;gap:4px}.stat-pill-add-group:hover{background:#f0fdf4;color:#15803d;border-color:#86efac}.stat-pill-group{display:inline-flex;align-items:stretch;vertical-align:middle}.stat-pill-group .stat-pill{border-radius:6px 0 0 6px}.stat-pill-dl{display:inline-flex;align-items:center;padding:0 6px;background:var(--color-chrome-elevated);border:1px solid var(--color-border-subtle);border-left:none;border-radius:0 6px 6px 0;cursor:pointer;color:var(--color-text-muted);line-height:1;transition:background .12s,color .12s}.stat-pill-dl:hover{background:var(--color-surface-muted);color:var(--color-text-secondary)}.stat-pill-dl-group:hover{background:var(--color-surface-muted);color:var(--status-remapped)}.stat-pill-group-sep{display:inline-block;width:1px;height:16px;background:var(--color-border-subtle);margin:0 4px;vertical-align:middle;flex-shrink:0}.stat-pill-create-form{display:inline-flex;align-items:center;gap:5px;background:#fafafa;border-color:#c4b5fd;border-style:dashed;padding:3px 8px}.stat-pill-create-input{border:none;outline:none;font-size:12px;color:#374151;background:transparent;width:110px;padding:0}.stat-pill-create-input::placeholder{color:#d1d5db}.stat-pill-create-confirm,.stat-pill-create-cancel{background:none;border:none;padding:1px;cursor:pointer;display:inline-flex;align-items:center;border-radius:4px}.stat-pill-create-confirm{color:#16a34a}.stat-pill-create-confirm:hover{background:#dcfce7}.stat-pill-create-confirm:disabled{color:#d1d5db;cursor:default}.stat-pill-create-confirm:disabled:hover{background:none}.stat-pill-create-cancel{color:#9ca3af}.stat-pill-create-cancel:hover{color:#ef4444;background:#fee2e2}.stat-pill-sub{color:var(--color-text-muted)}.stat-pill-sub:hover{background:var(--color-surface-hover)}.stat-pill.custom{display:flex;align-items:center;gap:4px}.stat-pill.add-icon-btn{color:var(--status-custom);border-style:dashed;display:flex;align-items:center;gap:4px}.stat-pill.add-icon-btn:hover{background:var(--color-surface-hover);border-color:var(--status-custom)}.toolbar{background:linear-gradient(180deg,var(--color-chrome-toolbar-top) 0%,var(--color-chrome-toolbar) 55%,var(--color-chrome-toolbar) 100%);border-bottom:none;padding:10px var(--content-gutter) 0}.toolbar-row--controls{display:flex;align-items:center;gap:8px;min-height:var(--toolbar-h);flex-wrap:nowrap}.toolbar-spacer{flex:1;min-width:8px}.toolbar-zone{display:flex;align-items:center;gap:8px;min-width:0;flex-shrink:0}.toolbar-zone--start{justify-content:flex-start}.toolbar-zone--actions{justify-content:flex-end;flex-wrap:wrap;flex-shrink:1;min-width:0}.toolbar .segmented-control{background:var(--color-chrome-toolbar-track);border-color:color-mix(in srgb,var(--color-chrome-toolbar-border) 70%,#c8ccd4)}.toolbar .toolbar-separator{background:var(--color-chrome-toolbar-border)}.toolbar-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.toolbar-group{display:flex;align-items:center;gap:8px}.toolbar-label{font-size:10px;color:var(--color-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.07em}.toolbar-separator{width:1px;height:calc(var(--toolbar-h) - 6px);background:var(--color-chrome-toolbar-border);flex-shrink:0;align-self:center}.toolbar-add-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--toolbar-h);padding:0 14px;box-sizing:border-box;background:var(--color-text);color:var(--color-surface);border:none;border-radius:var(--radius-pill);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s;white-space:nowrap;flex-shrink:0}.toolbar-add-btn:hover{background:#333}.toolbar-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:var(--toolbar-h);padding:0 11px;box-sizing:border-box;font-size:12px;font-weight:500;border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);background:var(--color-chrome-elevated);color:var(--color-text-secondary);cursor:pointer;transition:background .15s,border-color .15s,color .15s;box-shadow:var(--shadow-sm);white-space:nowrap;flex-shrink:0}.toolbar-btn--icon:not(.toolbar-btn--flat){border-radius:50%}.toolbar-btn--icon{width:var(--toolbar-h);padding:0;position:relative}.toolbar-btn--flat{background:transparent;border:none;box-shadow:none;border-radius:50%;color:var(--color-text-muted)}.toolbar-btn.has-active:not(.toolbar-btn--flat){border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-muted);color:var(--color-text)}.toolbar-btn:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong);color:var(--color-text)}.toolbar-btn--flat:hover,.toolbar-btn--flat.has-active{background:var(--color-chrome-toolbar-track);border:none;box-shadow:none;color:var(--color-text)}.toolbar-btn.primary{background:#2563eb;color:#fff;border-color:#2563eb;box-shadow:none}.toolbar-menu-dot{position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:50%;background:var(--color-accent);border:1.5px solid var(--color-chrome-elevated)}.toolbar-btn.primary:hover{background:#1d4ed8}.toolbar-btn.redesign-btn{background:#fff7ed;color:#c2410c;border-color:#fed7aa;display:flex;align-items:center;gap:5px}.toolbar-btn.redesign-btn:hover{background:#ea580c;color:#fff;border-color:#ea580c}.toolbar-btn.redesign-remove-btn{background:#fff7ed;color:#c2410c;border-color:#fed7aa;display:flex;align-items:center;gap:5px}.toolbar-btn.redesign-remove-btn:hover{background:#ea580c;color:#fff;border-color:#ea580c}.toolbar-btn.delete-btn{background:#fee2e2;color:#b91c1c;border-color:#fca5a5;display:flex;align-items:center;gap:5px}.toolbar-btn.delete-btn:hover{background:#b91c1c;color:#fff;border-color:#b91c1c}.toolbar-btn.restore-btn{background:#dcfce7;color:#15803d;border-color:#86efac;display:flex;align-items:center;gap:5px}.toolbar-btn.restore-btn:hover{background:#15803d;color:#fff;border-color:#15803d}.bulk-move-select{cursor:pointer;height:var(--toolbar-h);box-sizing:border-box}.toolbar-dropdown{position:relative;flex-shrink:0}.toolbar-dropdown-panel{position:absolute;left:0;top:calc(100% + 6px);min-width:220px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:10px;z-index:300;display:flex;flex-direction:column;gap:10px}.toolbar-dropdown-panel--align-right{left:auto;right:0}.toolbar-dropdown-section{display:flex;flex-direction:column;gap:6px}.toolbar-dropdown-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.toolbar-dropdown-panel .segmented-control{width:100%}.toolbar-dropdown-panel .segmented-control button{flex:1;min-width:0;height:calc(var(--toolbar-h) - 4px);padding:0 4px;font-size:11px}.toolbar-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;height:var(--toolbar-h);padding:0 10px;box-sizing:border-box;font-size:12px;font-weight:500;font-family:inherit;text-align:left;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background .12s,color .12s}.toolbar-dropdown-item:hover{background:var(--color-surface-muted);color:var(--color-text)}.toolbar-dropdown-item--danger:hover{background:#fef2f2;color:#b91c1c}.toolbar-dropdown-item--warn:hover{background:#fff7ed;color:#c2410c}.toolbar-dropdown-divider{height:1px;background:var(--color-border-subtle);margin:2px 0}.toolbar-dropdown-panel .toggle-switch{height:var(--toolbar-h);padding:0 2px}.toolbar-selection-badge{display:inline-flex;align-items:center;height:var(--toolbar-h);padding:0 10px;font-size:11px;font-weight:600;color:var(--color-accent);background:var(--color-accent-muted);border:1px solid color-mix(in srgb,var(--color-accent) 25%,transparent);border-radius:var(--radius-pill);font-variant-numeric:tabular-nums;flex-shrink:0}.toolbar .segmented-control{height:var(--toolbar-h);padding:2px;box-sizing:border-box;align-items:center}.toolbar .segmented-control button{height:calc(var(--toolbar-h) - 4px);padding:0 8px;display:inline-flex;align-items:center;justify-content:center}.bulk-move-toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%);background:#1e293b;color:#fff;padding:10px 20px;border-radius:8px;font-size:13px;font-weight:500;box-shadow:0 4px 16px #00000040;z-index:9999;pointer-events:none;white-space:nowrap;animation:toast-in .18s ease}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.search-wrapper{display:flex;align-items:center;gap:6px;box-sizing:border-box;background:var(--color-chrome-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);font-size:12px;transition:border-color .15s,background .15s,box-shadow .15s,flex .25s ease,width .25s ease;box-shadow:var(--shadow-sm)}.search-wrapper.toolbar-search{flex:0 1 260px;width:260px;min-width:0;height:var(--toolbar-h);padding:0 10px;flex-shrink:0}.search-wrapper:focus-within{border-color:var(--color-accent);background:var(--color-chrome-elevated);box-shadow:0 0 0 2px var(--color-accent-muted)}.search-wrapper input{border:none;background:transparent;outline:none;font-size:12px;font-weight:400;color:var(--color-text);padding:0;flex:1;min-width:0}.search-wrapper input::placeholder{color:var(--color-text-muted)}.search-wrapper svg{color:var(--color-text-muted);flex-shrink:0}.search-icon-btn{background:none;border:none;padding:0;margin:0;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;flex-shrink:0;line-height:0}.search-count{font-size:10px;font-weight:600;color:var(--color-text-secondary);background:var(--color-surface-muted);border:1px solid var(--color-border-subtle);padding:1px 7px;border-radius:var(--radius-pill);font-variant-numeric:tabular-nums}.search-clear-btn{background:var(--color-surface-muted);border:none;padding:0;margin:0;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px;border-radius:50%;line-height:0;transition:background .12s,color .12s}.search-clear-btn:hover{background:var(--color-border-subtle);color:var(--color-text)}.filters-dropdown{display:none;position:relative;flex-shrink:0;margin-left:auto}.filters-dropdown-btn{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:500;padding:5px 12px;border-radius:var(--radius-pill);background:var(--chip-bg);border:1px solid var(--chip-border);cursor:pointer;color:var(--chip-text);font-family:inherit;white-space:nowrap;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;position:relative}.filters-dropdown-btn:hover{background:var(--color-surface-hover);color:var(--color-text);border-color:var(--color-border-strong)}.filters-dropdown-btn.has-active{background:var(--color-surface);color:var(--color-text);border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-muted)}.filters-active-dot{width:6px;height:6px;border-radius:50%;background:var(--color-accent);flex-shrink:0}.filters-dropdown-panel{position:absolute;right:0;top:calc(100% + 8px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:8px;display:flex;flex-direction:column;gap:4px;min-width:200px;z-index:300}.filters-dropdown-panel .stat-pill{width:100%;justify-content:flex-start;border-radius:8px;opacity:1;padding:7px 12px;text-align:left}.toggle-switch{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;-webkit-user-select:none;user-select:none}.toggle-switch input{display:none}.toggle-track{width:32px;height:18px;background:#d1d5db;border-radius:10px;position:relative;transition:background .2s;flex-shrink:0}.toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 2px #00000026}.toggle-switch input:checked+.toggle-track{background:#2563eb}.toggle-switch input:checked+.toggle-track:after{transform:translate(14px)}.toggle-label-text{color:#555;font-weight:500}.segmented-control{display:inline-flex;background:var(--color-surface-muted);border-radius:var(--radius-md);padding:3px;gap:1px;border:1px solid var(--color-border-subtle)}.segmented-control button{padding:5px 10px;font-size:12px;font-weight:500;border:none;border-radius:6px;background:transparent;color:#666;cursor:pointer;transition:all .15s;min-width:32px;text-align:center;line-height:1.2}.segmented-control button:hover{color:#333}.segmented-control button.active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.components-filter-summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px var(--content-gutter);background:var(--color-surface-muted);border-bottom:1px solid var(--color-border-subtle);font-size:12px}.cfs-label{font-weight:600;color:var(--color-text-secondary);margin-right:6px;display:flex;align-items:center;gap:4px}.cfs-pill{padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500;border:1px solid var(--chip-border);background:var(--chip-bg);cursor:pointer;font-family:inherit;line-height:inherit;transition:border-color .15s,box-shadow .15s}.cfs-pill:hover{border-color:var(--color-border-strong)}.cfs-original{color:var(--status-original)}.cfs-remapped{color:var(--status-remapped)}.cfs-modified{color:var(--status-modified)}.cfs-custom{color:var(--status-custom)}.cfs-approx{color:var(--status-approximate)}.cfs-redesign{color:var(--status-redesign)}.cfs-deleted{color:var(--status-deleted)}.cfs-pill.cfs-active{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-muted);font-weight:600;color:var(--color-text)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(600px,100%),1fr));gap:14px;padding:var(--content-gutter)}.card{background:color-mix(in srgb,var(--color-surface) 56%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:var(--radius-md);padding:14px;border:1px solid color-mix(in srgb,var(--color-border-subtle) 55%,transparent);box-shadow:none}.card-header{font-size:12px;margin-bottom:8px;display:flex;align-items:flex-start;gap:4px 6px;flex-wrap:wrap;min-height:28px}.card-name-block{display:flex;align-items:center;gap:4px;flex:1;min-width:0;flex-wrap:wrap}.card-header .name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.name-arrow{color:#aaa;font-size:10px;flex-shrink:0}.name-phosphor{color:#888;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.card-tags{display:flex;align-items:center;gap:3px;flex-wrap:wrap;width:100%}.card-tag{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:500;white-space:nowrap;background:var(--chip-bg);border:1px solid var(--chip-border);color:var(--chip-text)}.tag-original{color:var(--status-original)}.tag-remapped{color:var(--status-remapped)}.tag-modified{color:var(--status-modified)}.tag-custom{color:var(--status-custom)}.tag-approximate{color:var(--status-approximate)}.tag-redesign{color:var(--status-redesign)}.tag-deleted{color:var(--status-deleted)}.tag-pending{color:var(--status-pending)}.tag-no-phosphor{color:var(--color-text-muted)}.tag-variants-incomplete{color:var(--status-custom);border-style:dashed}.tag-in-components{color:var(--color-accent)}.tag-source-badge{color:var(--color-text-muted);font-style:italic}.tag-redesigned{color:var(--status-custom);font-weight:600}.badge{font-size:9px;padding:1px 5px;border-radius:3px}.badge.phosphor{background:#d4edda;color:#155724}.badge.kendo-extra{background:#fff3cd;color:#856404}.badge.user-added{background:#e0f2fe;color:#0369a1}.comparison{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:8px;text-align:center}.na{color:#ccc;font-size:11px}.icon-container{display:flex;align-items:center;justify-content:center;padding:0;border:1px dashed var(--color-border);border-radius:var(--radius-sm);width:min(var(--icon-size, 48px),100%);aspect-ratio:1 / 1;margin:0 auto;overflow:hidden;background:var(--bg, white)}.icon-container.original{border-color:#c8d6e5}.icon-container.phosphor{border-color:#b8f0c8;background:var(--bg, #f8fff8)}.icon-container.orig-phosphor{border-color:#f0d8b8;background:var(--bg, #fffaf4)}.comparison.orig-phosphor-row{margin-top:6px;padding-top:6px;border-top:1px dashed #eee}.icon-container svg{display:block;width:100%;height:100%;color:var(--icon-color, black)}.icon-container svg path,.icon-container svg circle,.icon-container svg rect,.icon-container svg line,.icon-container svg polyline,.icon-container svg polygon,.icon-container svg ellipse{stroke:var(--icon-color, currentColor);stroke-width:var(--stroke-width, 0);stroke-linejoin:round;stroke-linecap:round}.modal-icon-box svg path,.modal-icon-box svg circle,.modal-icon-box svg rect,.modal-icon-box svg line,.modal-icon-box svg polyline,.modal-icon-box svg polygon,.modal-icon-box svg ellipse{stroke:var(--icon-color, currentColor);stroke-width:var(--stroke-width, 0);stroke-linejoin:round;stroke-linecap:round}.label{font-size:10px;color:var(--color-text-muted);margin-bottom:5px;font-weight:500;letter-spacing:.02em}.card.clickable{cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s,backdrop-filter .15s}.card.clickable:hover{background:color-mix(in srgb,var(--color-surface) 72%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-color:color-mix(in srgb,var(--color-accent) 32%,var(--color-border-subtle));box-shadow:var(--shadow-sm)}.card-selected{border-color:var(--color-accent)!important;box-shadow:0 0 0 2px var(--color-accent-muted)!important;background:color-mix(in srgb,var(--color-surface) 84%,transparent)!important;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.modal-overlay{position:fixed;inset:0;background:#1a1b1e59;display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal{background:var(--color-surface);border-radius:var(--radius-lg);width:1200px;max-width:calc(100vw - 24px);height:calc(100dvh - 24px);max-height:none;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0003;animation:slideUp .2s ease-out}.modal.modal--detail{width:100%;max-width:880px;height:auto;max-height:88vh}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid #eee;flex-shrink:0}.modal-header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.modal-header-actions .modal-action-btn{height:32px;box-sizing:border-box}.modal-header-actions .modal-close{width:32px;height:32px;padding:0;box-sizing:border-box}.modal-title{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.modal-title .name{font-weight:600;font-size:15px}.modal-title .meta{font-size:11px;color:#888}.modal-title .kendo-meta{font-size:11px;color:#aaa;font-family:monospace}.modal-title .phosphor-meta{font-size:11px;color:#6b7280}.modal-name-row{display:flex;align-items:center;gap:6px}.modal-rename-btn{background:none;border:none;padding:3px;border-radius:4px;cursor:pointer;color:#aaa;display:flex;align-items:center;opacity:0;transition:opacity .15s}.modal-name-row:hover .modal-rename-btn{opacity:1}.modal-rename-btn:hover{color:#555;background:#f0f0f0}.modal-rename-group{display:flex;align-items:center;gap:4px;flex:1}.modal-rename-input{font-size:15px;font-weight:600;border:1px solid #6366f1;border-radius:6px;padding:2px 8px;outline:none;flex:1;min-width:0}.modal-rename-save,.modal-rename-cancel{background:none;border:none;padding:4px;border-radius:4px;cursor:pointer;display:flex;align-items:center;color:#555}.modal-rename-save:hover{background:#dcfce7;color:#16a34a}.modal-rename-cancel:hover{background:#fee2e2;color:#dc2626}.modal-rename-error{font-size:11px;color:#dc2626}.modal-tags-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;row-gap:4px}.modal-tags-row .card-tag{line-height:1.3}.modal-normalized-row{display:flex;align-items:center;gap:6px}.modal-norm-label{font-size:10px;color:#bbb;text-transform:uppercase;letter-spacing:.05em;min-height:22px;display:inline-flex;align-items:center}.modal-norm-value{font-size:11px;font-family:JetBrains Mono,monospace;color:#6366f1;background:#f0f0ff;border-radius:4px;padding:1px 5px}.modal-icon-tags-row{display:flex;align-items:center;gap:6px;margin-top:5px;flex-wrap:nowrap}.icon-tags-editor{display:flex;flex-wrap:wrap;align-items:center;gap:4px;flex:1}.icon-tag-chip{display:inline-flex;align-items:center;gap:3px;background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;border-radius:12px;font-size:10px;font-weight:500;padding:2px 6px 2px 7px;white-space:nowrap}.icon-tag-remove{background:none;border:none;padding:0;cursor:pointer;color:#93c5fd;display:inline-flex;align-items:center;line-height:1}.icon-tag-remove:hover{color:#1d4ed8}.icon-tag-input{border:none;outline:none;font-size:11px;color:#374151;background:transparent;min-width:70px;width:80px;padding:1px 2px}.icon-tag-input::placeholder{color:#d1d5db}.icon-tags-from-phosphor{display:inline-flex;align-items:center;gap:3px;background:none;border:1px dashed #d1d5db;border-radius:10px;font-size:10px;color:#9ca3af;padding:2px 7px;cursor:pointer;white-space:nowrap}.icon-tags-from-phosphor:hover{color:#6366f1;border-color:#6366f1}.card-tiny-tags{display:flex;flex-wrap:wrap;gap:3px;margin-top:3px}.card-tiny-tag{display:inline-block;background:#f1f5f9;border:1px solid #e2e8f0;color:#64748b;border-radius:8px;font-size:9px;padding:1px 5px;line-height:1.4;white-space:nowrap}.card-tiny-tag-more{background:transparent;border-color:transparent;color:#94a3b8;font-style:italic}.modal-classification-bar{background:#fafafa;border:1px solid #eee;border-radius:0 0 8px 8px;padding:10px 14px;margin-top:-1px}.modal-class-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px;align-items:center}.modal-class-item{display:flex;align-items:center;gap:6px}.modal-class-override{min-width:0}.modal-class-label{font-size:10px;color:#aaa;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.modal-class-bucket{font-size:11px;font-weight:500;padding:2px 7px;border-radius:10px;white-space:nowrap;display:flex;align-items:center;gap:4px}.modal-class-bucket.is-override{outline:2px solid #6366f1;outline-offset:1px}.bucket-original-mapping{background:#f3f4f6;color:#4b5563}.bucket-remapped{background:#f0f0ff;color:#6366f1}.bucket-modified-kendo{background:#fdf4ff;color:#9333ea}.bucket-custom-svg-added{background:#f0fdf4;color:#16a34a}.bucket-approximate{background:#f0fdf4;color:#15803d}.bucket-for-redesign{background:#fff7ed;color:#ea580c}.bucket-deleted{background:#fef2f2;color:#dc2626}.modal-class-select{font-size:11px;border:1px solid #ddd;border-radius:6px;padding:3px 6px;color:#333;background:#fff;cursor:pointer;max-width:100%;width:100%;min-width:0}.modal-class-reset{background:none;border:none;padding:3px;border-radius:4px;cursor:pointer;color:#999;display:flex;align-items:center}.modal-class-reset:hover{color:#333;background:#f0f0f0}.modal-class-actions{margin-left:auto}.modal-action-btn{display:flex;align-items:center;gap:4px;font-size:11px;padding:4px 10px;border-radius:6px;border:1px solid;cursor:pointer;font-weight:500;background:#fff}.modal-action-btn.delete-btn{color:#dc2626;border-color:#fecaca}.modal-action-btn.delete-btn:hover{background:#fef2f2}.modal-action-btn.restore-btn{color:#16a34a;border-color:#bbf7d0}.modal-action-btn.restore-btn:hover{background:#f0fdf4}.modal-close{background:none;border:none;padding:6px;border-radius:6px;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#f0f0f0;color:#333}.modal-body{flex:1;min-height:0;overflow-y:auto;padding:14px 18px 18px}.modal-status-section{margin-bottom:12px}.modal-status-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;font-size:12px;font-weight:500;color:#374151;background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;text-align:left;transition:background .15s,border-color .15s}.modal-status-toggle:hover{background:#f3f4f6;border-color:#d1d5db}.modal-status-toggle-label{flex:1;min-width:0}.modal-status-summary{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.modal-status-chevron{color:#9ca3af;transition:transform .15s;flex-shrink:0}.modal-status-chevron.is-open{transform:rotate(180deg)}.modal-details-section{padding:10px 12px;margin-bottom:14px;background:#fafafa;border:1px solid #eee;border-radius:8px;display:flex;flex-direction:column;gap:10px}.modal-detail-field{display:grid;grid-template-columns:84px minmax(0,1fr);gap:10px 12px;align-items:center}.modal-detail-field--tags{align-items:start}.modal-detail-field-value{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.modal-detail-field-value .icon-tags-editor{flex:1;min-width:0}.modal-norm-label--tags{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;padding-top:2px}.modal-variant-tabs{display:flex;gap:2px;background:#f0f0f0;border-radius:8px;padding:3px;margin-bottom:12px}.modal-variant-tabs button{flex:1;padding:7px 12px;font-size:13px;border:none;border-radius:6px;background:transparent;color:#666;cursor:pointer;font-weight:500;text-transform:capitalize;transition:all .15s}.modal-variant-tabs button:hover{color:#333}.modal-variant-tabs button.active{background:#fff;color:#1a1a1a;box-shadow:0 1px 3px #0000001a}.modal-preview-area{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px;align-items:start}.modal-preview-col{display:flex;flex-direction:column;align-items:center;width:100%;min-width:0}.col-label{width:100%;min-height:32px;margin-bottom:8px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;line-height:1.25}.modal-icon-box{display:flex;align-items:center;justify-content:center;padding:0;border:1px dashed #ddd;border-radius:8px;background:#fafafa;width:var(--modal-frame-size, 128px);height:var(--modal-frame-size, 128px);flex-shrink:0;overflow:hidden;position:relative}.modal-icon-box.phosphor{border-color:#b8f0c8;background:#f8fff8}.modal-icon-box.orig-phosphor{border-color:#f0d8b8;background:#fffaf4}.modal-icon-box svg{display:block;width:100%!important;height:100%!important;color:var(--icon-color, black)}.modal-size-section{display:flex;align-items:center;gap:12px;margin-bottom:20px}.modal-size-label{font-size:12px;color:#666;font-weight:500;white-space:nowrap}.modal-controls-strip{display:flex;flex-direction:column;gap:0;margin-bottom:14px;padding:10px 12px;background:#fafafa;border:1px solid #eee;border-radius:8px}.modal-controls-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.modal-controls-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.modal-controls-group--stroke{flex:1;justify-content:flex-end;min-width:min(100%,240px)}.modal-controls-row--export{padding-top:10px;margin-top:10px;border-top:1px solid #eee;justify-content:stretch}.modal-seg-sm button{padding:4px 7px!important;font-size:11px!important}.stroke-slider-sm{width:90px!important;flex:none!important}.modal-dl-btns{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.modal-controls-row--export .modal-dl-btns{width:100%;justify-content:flex-start}.modal-dl-btn{display:flex;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:500;border:1px solid #ddd;border-radius:6px;cursor:pointer;transition:all .15s;background:#f5f5f5;color:#444;white-space:nowrap}.modal-dl-btn:hover{background:#e8e8e8}.modal-dl-btn--primary{background:#1a1a1a;color:#fff;border-color:#1a1a1a}.modal-dl-btn--primary:hover{background:#333}.modal-downloads{display:flex;gap:10px}.download-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:all .15s;background:#1a1a1a;color:#fff}.download-btn:hover{background:#333}.download-btn:last-child{background:#f0f0f0;color:#333}.download-btn:last-child:hover{background:#e0e0e0}.custom-action-btn{display:flex;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:500;border:1px solid #ddd;border-radius:6px;cursor:pointer;transition:all .15s;background:#f5f5f5;color:#444;white-space:nowrap}.custom-action-btn:hover{background:#e8e8e8}.custom-action-btn--sm{font-size:11px;padding:4px 9px;gap:4px}.modal-two-col{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:16px;padding-top:16px;border-top:1px solid #eee;align-items:stretch}.modal-col-panel{display:flex;flex-direction:column;min-width:0}.modal-col-panel:first-child{padding-right:20px}.modal-col-panel+.modal-col-panel{padding-left:20px;border-left:1px solid #eee}.modal-col-header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px;margin-bottom:10px}.modal-col-header-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#333;min-width:0;line-height:1}.modal-col-header-title svg{flex-shrink:0}.modal-col-header-title--accent{color:#7c3aed}.modal-col-header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.custom-svg-dropzone{display:flex;align-items:center;gap:10px;min-height:52px;padding:12px;border-radius:8px;border:1.5px dashed #d1d5db;background:#fafafa;transition:border-color .15s,background .15s;box-sizing:border-box}.custom-svg-dropzone.is-dragover{border-color:#3b82f6;background:#eff6ff}.custom-svg-dropzone.is-ready{border-color:#86efac;background:#f0fdf4}.custom-svg-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.use-original-btn{background:#e8f5e9!important;color:#2e7d32!important}.use-original-btn:hover{background:#c8e6c9!important}.revert-btn{background:#ffebee!important;color:#c62828!important;border:1px solid #ef9a9a!important}.revert-btn:hover{background:#ffcdd2!important}.active-custom{background:#e3f2fd!important;color:#1565c0!important;border:1px solid #90caf9!important}.custom-label{color:#1565c0!important;font-weight:600}.custom-svg-input-area{margin-top:10px}.custom-svg-textarea{width:100%;min-height:100px;padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-family:SF Mono,Fira Code,monospace;font-size:12px;resize:vertical;box-sizing:border-box;background:#fafafa;transition:border-color .15s}.custom-svg-textarea:focus{outline:none;border-color:#90caf9;background:#fff}.custom-svg-preview-row{display:flex;align-items:center;gap:12px;margin-top:10px;padding:10px 14px;background:#f5f5f5;border-radius:8px}.badge.custom{background:#e3f2fd;color:#1565c0}.custom-highlight{border-color:#86efac;background:#f0fdf4}.ref-url-section{margin-top:20px;padding-top:20px;border-top:1px solid #eee}.ref-library-row{display:flex;align-items:stretch;gap:8px}.ref-library-select{-webkit-appearance:none;appearance:none;height:36px;padding:0 32px 0 12px;font-size:13px;font-family:inherit;border:1px solid #ddd;border-radius:8px;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;color:#333;cursor:pointer;outline:none;flex-shrink:0;min-width:150px;box-sizing:border-box}.ref-library-select:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1f}.ref-library-row .ai-input{flex:1}.shape-counts{display:flex;align-items:center;gap:6px}.shape-badge{font-size:11px;font-weight:600;padding:4px 8px;border-radius:10px;line-height:1.2;white-space:nowrap}.shape-badge.line-badge{background:#ede9fe;color:#7c3aed}.shape-badge.area-badge{background:#f0f9ff;color:#0284c7}.line-normalize-controls{display:flex;flex-direction:column;justify-content:center;gap:16px;min-height:52px;padding:12px;background:#faf5ff;border-radius:8px;border:1px solid #e9d5ff;box-sizing:border-box}.line-normalize-controls.is-expanded{justify-content:flex-start}.line-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;font-weight:500;color:#333;min-height:28px}.line-toggle input[type=checkbox]{accent-color:#7c3aed;width:16px;height:16px;flex-shrink:0}.line-control-row{display:flex;align-items:center;gap:16px;font-size:13px;color:#555}.line-control-row label{min-width:80px;font-size:13px;font-weight:500;color:#444}.line-control-slider{display:flex;align-items:center;gap:16px;font-size:13px;font-weight:500;color:#444}.line-control-slider>span:first-child{min-width:80px}.line-control-row input[type=range]{flex:none;width:250px}.norm-slider{-webkit-appearance:none;appearance:none;flex:none;width:250px;height:4px;border-radius:100px;border:none;outline:none;cursor:pointer;background:linear-gradient(to right,#7c3aed 0%,#7c3aed var(--fill, 0%),#e5e7eb var(--fill, 0%),#e5e7eb 100%)}.norm-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid #7c3aed;box-shadow:0 1px 4px #7c3aed40;cursor:pointer;transition:box-shadow .15s,transform .12s}.norm-slider::-webkit-slider-thumb:hover{box-shadow:0 0 0 6px #7c3aed1f,0 1px 4px #7c3aed40;transform:scale(1.1)}.norm-slider::-webkit-slider-thumb:active{box-shadow:0 0 0 8px #7c3aed26;transform:scale(1.05)}.norm-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid #7c3aed;box-shadow:0 1px 4px #7c3aed40;cursor:pointer;transition:box-shadow .15s}.norm-slider::-moz-range-track{height:4px;border-radius:100px;background:transparent}.norm-slider:focus-visible{outline:2px solid rgba(124,58,237,.5);outline-offset:4px;border-radius:2px}.line-control-value{font-size:12px;font-weight:600;color:#7c3aed;min-width:40px;text-align:right}.line-control-number{width:72px;padding:6px 8px;font-size:15px;font-weight:600;color:#7c3aed;border:1.5px solid #e5e7eb;border-radius:8px;text-align:center;background:#fff;outline:none}.line-control-number:focus{border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed26}.line-control-number::-webkit-inner-spin-button,.line-control-number::-webkit-outer-spin-button{opacity:1;height:24px}.line-value-group{display:flex;align-items:center;gap:4px}.line-control-unit{font-size:14px;color:#9ca3af;font-weight:500}.line-toggle-small{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:#555}.line-toggle-small input[type=checkbox]{accent-color:#7c3aed;width:14px;height:14px;flex-shrink:0}.line-norm-accept-row{display:flex;align-items:center;gap:12px;padding-top:12px;margin-top:0;border-top:1px dashed #e9d5ff}.line-norm-hint{font-size:12px;color:#9ca3af;flex:1}.line-ctrl-muted{font-size:12px;font-weight:400;color:#9ca3af}.part-selector{display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:#f5f3ff;border:1px solid #e0d9ff;border-radius:8px;margin-bottom:2px}.part-selector-label{font-size:11px;font-weight:600;color:#7c3aed;text-transform:uppercase;letter-spacing:.05em}.part-chips{display:flex;flex-wrap:wrap;gap:4px}.part-chip{display:inline-flex;align-items:center;gap:3px;padding:3px 7px;border-radius:5px;border:1px solid #d1d5db;background:#fff;font-size:11px;font-weight:500;color:#374151;cursor:pointer;transition:all .12s;line-height:1}.part-chip:hover{border-color:#7c3aed;color:#7c3aed;background:#faf5ff}.part-chip.selected{border-color:#d946ef;background:#d946ef;color:#fff}.part-chip-global{font-weight:600;border-color:#9ca3af;color:#6b7280}.part-chip-global.selected{border-color:#d946ef;background:#d946ef;color:#fff}.part-chip-line{border-color:#bfdbfe;color:#2563eb;background:#eff6ff}.part-chip-line:hover,.part-chip-line.selected{border-color:#2563eb;background:#2563eb;color:#fff}.part-chip-area{border-color:#bbf7d0;color:#16a34a;background:#f0fdf4}.part-chip-area:hover,.part-chip-area.selected{border-color:#16a34a;background:#16a34a;color:#fff}.part-chip-nested{opacity:.8;border-style:dashed}.part-chip-curved{opacity:.55;cursor:default;pointer-events:none}.part-chip.has-override{box-shadow:0 0 0 1.5px #7c3aed66}.part-chip-icon{font-size:10px;opacity:.8}.part-chip-nested-mark{font-size:9px;opacity:.75}.part-chip-num{font-size:10px}.part-chip-actions{display:flex;gap:6px;flex-wrap:wrap}.part-action-btn{font-size:11px;padding:3px 8px;border-radius:5px;border:1px solid #d1d5db;background:#fff;color:#374151;cursor:pointer;transition:all .12s}.part-action-btn:hover{border-color:#7c3aed;color:#7c3aed;background:#faf5ff}.part-scope-label{font-size:11px;color:#6b21a8;background:#f3e8ff;border:1px solid #e9d5ff;border-radius:5px;padding:4px 8px;margin-bottom:2px}.part-scope-hint{color:#9ca3af;font-style:italic}.norm-undo-redo{display:flex;gap:6px;padding-top:8px;padding-bottom:2px}.norm-undo-btn,.norm-redo-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:6px;border:1px solid #d1d5db;background:#fff;font-size:12px;font-weight:500;color:#374151;cursor:pointer;transition:all .12s}.norm-undo-btn:hover:not(:disabled),.norm-redo-btn:hover:not(:disabled){border-color:#7c3aed;color:#7c3aed;background:#faf5ff}.norm-undo-btn:disabled,.norm-redo-btn:disabled{opacity:.38;cursor:not-allowed}.ai-remap-section{margin-top:20px;padding-top:20px;border-top:1px solid #eee}.ai-remap-header{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#333;margin-bottom:10px}.ai-input-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ai-input{flex:1;height:36px;padding:0 12px;font-size:13px;font-family:inherit;border:1px solid #ddd;border-radius:8px;background:#fafafa;outline:none;box-sizing:border-box;transition:border-color .15s,background .15s}.ai-input:focus{border-color:#999;background:#fff}.ai-submit{width:36px;height:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:#1a1a1a;color:#fff;cursor:pointer;transition:background .15s;box-sizing:border-box}.ai-submit:hover:not(:disabled){background:#333}.ai-submit:disabled{opacity:.4;cursor:not-allowed}.ai-error{margin-top:8px;font-size:12px;color:#c0392b}.ai-suggestions{margin-top:12px;display:flex;flex-direction:column;gap:6px}.ai-suggestions.keyword-matches{max-height:320px;overflow-y:auto}.keyword-matches-label{display:flex;align-items:center;gap:5px;font-size:11px;color:#888;padding:2px 2px 4px}.ai-suggestion-card{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid #e8e8e8;border-radius:8px;background:#fafafa;transition:border-color .15s}.ai-suggestion-card:hover{border-color:#ccc}.suggestion-preview{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px dashed #ddd;border-radius:6px;flex-shrink:0}.suggestion-preview svg{width:32px!important;height:32px!important;color:var(--icon-color, black)}.suggestion-info{flex:1;min-width:0}.suggestion-name{display:block;font-size:13px;font-weight:600;color:#1a1a1a}.suggestion-reason{display:block;font-size:11px;color:#888;margin-top:2px}.suggestion-apply{padding:5px 12px;font-size:12px;font-weight:500;border:1px solid #ddd;border-radius:6px;background:#fff;cursor:pointer;color:#333;transition:all .15s;flex-shrink:0}.suggestion-apply:hover{background:#1a1a1a;color:#fff;border-color:#1a1a1a}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .8s linear infinite}.no-results{text-align:center;padding:80px 24px;color:var(--color-text-muted);display:flex;flex-direction:column;align-items:center;gap:12px}.app-loading{display:flex;align-items:center;justify-content:center;height:100vh;flex-direction:column;gap:16px;background:var(--color-bg)}.app-loading-spinner{width:36px;height:36px;border:3px solid #e2e5ea;border-top-color:var(--color-text-secondary);border-radius:50%;animation:spin .8s linear infinite}.app-loading-text{font-size:14px;font-weight:500;color:var(--color-text-secondary)}.hidden{display:none}.toggle-row-3{display:flex;align-items:center;gap:4px}.stroke-slider{width:100px;height:4px;-webkit-appearance:none;appearance:none;background:#ddd;border-radius:2px;outline:none;cursor:pointer}.stroke-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#555;cursor:pointer;border:2px solid white;box-shadow:0 1px 3px #0003}.stroke-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#555;cursor:pointer;border:2px solid white;box-shadow:0 1px 3px #0003}.stroke-value{font-size:12px;font-weight:600;color:#555;min-width:24px;text-align:center;font-variant-numeric:tabular-nums}.modal-stroke-section{display:flex;align-items:center;gap:10px;margin-bottom:16px}.stroke-reset-btn{background:none;border:1px solid #ddd;border-radius:4px;padding:0;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box;cursor:pointer;color:#888}.stroke-reset-btn:hover{background:#f0f0f0;color:#333}.card-changed{border-left:3px solid #f59e0b}.badge.changed{background:#fef3c7;color:#92400e}.change-diff-bar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:10px 12px;padding:10px 12px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin-bottom:12px}.change-diff-side{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:8px;background:#fff;border:1px solid #e5e7eb}.change-diff-side.current{border-color:#2563eb;background:#eff6ff}.change-diff-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#888}.change-diff-side.current .change-diff-label{color:#2563eb}.change-diff-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px}.change-diff-icon svg{width:32px;height:32px}.change-diff-name{font-size:12px;font-weight:500;color:#444}.change-diff-arrow{color:#9ca3af;display:flex;align-items:center}.change-diff-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.change-accept-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;font-size:12px;font-weight:600;border:none;border-radius:6px;background:#16a34a;color:#fff;cursor:pointer;transition:all .15s}.change-accept-btn:hover{background:#15803d}.change-revert-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;font-size:12px;font-weight:500;border:1px solid #ddd;border-radius:6px;background:#fff;color:#555;cursor:pointer;transition:all .15s}.change-revert-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.card-checkbox{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;color:#bbb;flex-shrink:0}.card-selected .card-checkbox{color:var(--color-accent)}.card-checkbox:hover{color:#555}.app-header .segmented-control{background:var(--color-surface-muted);border-color:var(--color-border-subtle)}.sticky-top .segmented-control button.active,.sticky-top .stat-pill.active-filter,.sticky-top .filters-dropdown-btn.has-active{background:var(--color-chrome-elevated)}@media(max-width:1200px){:root{--content-gutter: 24px}.app-header{padding-top:13px;padding-bottom:11px}}@media(max-width:1100px){.header-stats{display:none}.filters-dropdown{display:block}}@media(max-width:900px){:root{--content-gutter: 16px}.app-header{padding-top:12px;padding-bottom:10px}.toolbar-separator{display:none}.grid{gap:8px}.comparison{grid-template-columns:1fr 1fr}.comparison.orig-phosphor-row{grid-template-columns:1fr 1fr 1fr}.comparison.orig-phosphor-row>:first-child{display:none}.modal-two-col{grid-template-columns:1fr}.modal-col-panel:first-child{padding-right:0}.modal-col-panel+.modal-col-panel{border-left:none;padding-left:0;border-top:1px solid #eee;padding-top:16px;margin-top:4px}.modal-preview-area,.modal-class-row{grid-template-columns:1fr 1fr}.change-diff-bar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.change-diff-actions{grid-column:1 / -1;justify-content:flex-start}.modal-controls-group--stroke{width:100%;justify-content:flex-start}}@media(max-width:600px){:root{--content-gutter: 14px}.app-header{padding-top:11px;padding-bottom:10px}.header-title-group h1{font-size:17px;line-height:1.3}.header-logo{width:22px;height:22px}.stat-pill{font-size:11px;padding:3px 9px}.toolbar-row{gap:8px}.toolbar-row--controls{flex-wrap:wrap;row-gap:6px}.toolbar-zone--start,.toolbar-zone--actions{flex-wrap:nowrap}.toolbar-spacer{flex:1 1 8px;min-width:8px}.toolbar-label{display:none}.segmented-control button{padding:4px 7px;min-width:26px;font-size:11px}.grid{gap:6px}.card{padding:10px}.card-header .meta{display:none}.comparison{grid-template-columns:1fr 1fr}.comparison.orig-phosphor-row{grid-template-columns:1fr 1fr 1fr}.comparison.orig-phosphor-row>:first-child{display:none}.comparison-col-label{font-size:9px}.modal-overlay{padding:8px;align-items:flex-end}.modal,.modal.modal--detail{width:100%;max-width:100%;max-height:92dvh;border-radius:12px 12px 0 0}.modal-header{padding:12px 14px}.modal-body{padding:12px 14px 16px}.modal-controls-row{flex-wrap:wrap;gap:6px}.modal-dl-btns{margin-left:0;flex-wrap:wrap;width:100%}.modal-preview-area,.modal-class-row,.change-diff-bar{grid-template-columns:1fr}.change-diff-arrow{justify-self:center}.modal-detail-field{grid-template-columns:1fr;gap:6px}.modal-controls-group{width:100%}.modal-downloads{flex-direction:column}.modal-size-section{flex-wrap:wrap;gap:8px}.search-wrapper.toolbar-search{flex:0 0 auto;width:var(--toolbar-h);max-width:none;padding:0 8px;overflow:hidden;transition:width .25s ease,flex .25s ease;order:10;margin-left:auto}.search-wrapper input{width:0;max-width:0;opacity:0;overflow:hidden;padding:0;transition:width .25s ease,opacity .2s ease,max-width .25s ease}.search-wrapper.toolbar-search.search-expanded{width:100%;min-width:120px;max-width:100%}.search-wrapper.search-expanded input{width:auto;max-width:999px;opacity:1;flex:1;min-width:0;padding:0}.toolbar-zone--actions .toolbar-btn-text,.toolbar-selection-badge{display:none}}@media(min-width:601px){.search-icon-btn{pointer-events:none;cursor:default}.search-wrapper input{flex:1;min-width:0;opacity:1;width:auto;max-width:none}}@media(max-width:900px)and (min-width:601px){.search-wrapper.toolbar-search{flex:0 1 200px;width:200px}}@media(max-width:520px){.toolbar-add-btn .toolbar-btn-text{display:none}.toolbar-add-btn{width:var(--toolbar-h);padding:0}.toolbar-zone--actions .toolbar-btn:not(.toolbar-btn--icon){padding:0;width:var(--toolbar-h)}}@media(max-width:400px){.search-wrapper.toolbar-search.search-expanded{flex:1 1 100%;width:100%;max-width:none;order:11}.header-title-group h1{font-size:16px}.segmented-control button{padding:3px 5px;min-width:22px}.toolbar-btn{height:var(--toolbar-h);padding:0 8px;font-size:11px}}
