:root{--bg: #f8f9fa;--bg-canvas: #ffffff;--panel: #ffffff;--panel-elevated: #ffffff;--surface: #fafbfc;--surface-hover: #f5f6f7;--border: #e1e4e8;--border-strong: #d0d7de;--border-subtle: #f0f3f6;--divider: #eaecef;--text: #1f2328;--text-secondary: #59636e;--text-muted: #818b98;--text-placeholder: #a0a8b4;--accent-purple: #7c2fe0;--accent-purple-rgb: 124, 47, 224;--accent-purple-soft: #f1ecfc;--accent-purple-muted: #e4d9fa;--accent-blue: #1a9fe6;--accent-blue-soft: #e8f7ff;--accent-blue-muted: #b3e6ff;--accent-teal: #0ea672;--accent-teal-soft: #e2f8ef;--accent-teal-muted: #a8e8c9;--accent-pink: #db3b9e;--accent-pink-soft: #fceaf5;--accent-pink-muted: #f5c2e0;--accent-amber: #f59e0b;--accent-amber-soft: #fffbeb;--accent-amber-muted: #fef3c7;--success: #10b981;--success-soft: #ecfdf5;--success-border: #d1fae5;--warning: #f59e0b;--warning-soft: #fffbeb;--warning-border: #fde68a;--error: #ef4444;--error-soft: #fef2f2;--error-border: #fecaca;--info: #6366f1;--info-soft: #eef2ff;--info-border: #c7d2fe;--focus: rgba(var(--accent-purple-rgb), .14);--selection: rgba(var(--accent-purple-rgb), .08);--hover-overlay: rgba(0, 0, 0, .02);--sidebar-bg: #fafbfc;--sidebar-border: #e1e4e8;--sidebar-item: transparent;--sidebar-item-hover: #f5f6f7;--sidebar-item-active: #f0f3f6;--sidebar-text: #59636e;--sidebar-text-active: #1f2328;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 12px;--space-5: 14px;--space-6: 20px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05);--shadow-md: 0 2px 4px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .08);--shadow-xl: 0 8px 16px rgba(0, 0, 0, .1);--shadow-focus: 0 0 0 3px var(--focus);--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-mono: "SF Mono", "Monaco", "Cascadia Code", "Roboto Mono", Consolas, monospace;--text-2xs: 10px;--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-md: 14px;--text-lg: 15px;--text-xl: 17px;--text-2xl: 20px;--text-3xl: 24px;--text-4xl: 28px;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--line-tight: 1.2;--line-snug: 1.4;--line-normal: 1.5;--line-relaxed: 1.6;--icon-xs: 12px;--icon-sm: 14px;--icon-md: 16px;--icon-lg: 18px;--icon-xl: 20px;--icon-2xl: 24px}@media(prefers-color-scheme:dark){:root{--bg: #1f1f1f;--bg-canvas: #181818;--panel: #252526;--panel-elevated: #2b2b2b;--surface: #2b2b2b;--surface-hover: #323232;--border: #3a3a3a;--border-strong: #4a4a4a;--border-subtle: #2b2b2b;--divider: #2b2b2b;--text: #cccccc;--text-secondary: #9d9d9d;--text-muted: #858585;--text-placeholder: #6b6b6b;--accent-purple: #a568ff;--accent-purple-rgb: 165, 104, 255;--accent-purple-soft: #2c2245;--accent-purple-muted: #3b2c5c;--accent-blue: #4fc2ff;--accent-blue-soft: #0f2a38;--accent-blue-muted: #1d4a5c;--accent-teal: #33cc90;--accent-teal-soft: #123227;--accent-teal-muted: #1d4a3a;--accent-pink: #f169bd;--accent-pink-soft: #3a1730;--accent-pink-muted: #4d2140;--accent-amber: #fbbf24;--accent-amber-soft: #3a2e1c;--accent-amber-muted: #5c4a2d;--success: #34d399;--success-soft: #0d2818;--success-border: #1a4d2e;--warning: #fbbf24;--warning-soft: #2a2416;--warning-border: #4a3d1d;--error: #f87171;--error-soft: #2d1618;--error-border: #4a252a;--info: #818cf8;--info-soft: #1c1d3a;--info-border: #2d3051;--focus: rgba(var(--accent-purple-rgb), .18);--selection: rgba(var(--accent-purple-rgb), .14);--hover-overlay: rgba(255, 255, 255, .04);--sidebar-bg: #181818;--sidebar-border: #2b2b2b;--sidebar-item: transparent;--sidebar-item-hover: #2a2a2a;--sidebar-item-active: #37373d;--sidebar-text: #9d9d9d;--sidebar-text-active: #e0e0e0;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 2px 4px rgba(0, 0, 0, .5);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .6);--shadow-xl: 0 8px 16px rgba(0, 0, 0, .7)}}:root{--bg-accent: var(--surface);--panel-2: var(--surface);--panel-hover: var(--surface-hover);--text-medium: var(--text-secondary);--muted: var(--text-muted);--text-soft: var(--text-placeholder);--blue: var(--accent-blue);--blue-strong: var(--accent-blue);--blue-soft: var(--accent-blue-soft);--danger: var(--error);--danger-soft: var(--error-soft);--accent: var(--accent-purple);--primary: var(--accent-purple);--image-well: #e9ebee;--orange: var(--accent-amber);--orange-soft: var(--accent-amber-soft);--shadow-soft: var(--shadow-sm);--shadow-soft-2: var(--shadow-md);--shadow-card: var(--shadow-sm);--shadow-hover: var(--shadow-lg);--shadow-focus: 0 0 0 3px var(--focus);--shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .03);--shadow-inset-pressed: inset 0 2px 4px rgba(0, 0, 0, .08)}:root[data-theme=light]{--bg: #f8f9fa;--bg-canvas: #ffffff;--panel: #ffffff;--panel-elevated: #ffffff;--surface: #fafbfc;--surface-hover: #f5f6f7;--border: #e1e4e8;--border-strong: #d0d7de;--border-subtle: #f0f3f6;--divider: #eaecef;--text: #1f2328;--text-secondary: #59636e;--text-muted: #818b98;--text-placeholder: #a0a8b4;--accent-purple: #7c2fe0;--accent-purple-rgb: 124, 47, 224;--accent-purple-soft: #f1ecfc;--accent-purple-muted: #e4d9fa;--accent-blue: #1a9fe6;--accent-blue-soft: #e8f7ff;--accent-blue-muted: #b3e6ff;--accent-teal: #0ea672;--accent-teal-soft: #e2f8ef;--accent-teal-muted: #a8e8c9;--accent-pink: #db3b9e;--accent-pink-soft: #fceaf5;--accent-pink-muted: #f5c2e0;--accent-amber: #f59e0b;--accent-amber-soft: #fffbeb;--accent-amber-muted: #fef3c7;--success: #10b981;--success-soft: #ecfdf5;--success-border: #d1fae5;--warning: #f59e0b;--warning-soft: #fffbeb;--warning-border: #fde68a;--error: #ef4444;--error-soft: #fef2f2;--error-border: #fecaca;--info: #6366f1;--info-soft: #eef2ff;--info-border: #c7d2fe;--focus: rgba(var(--accent-purple-rgb), .14);--selection: rgba(var(--accent-purple-rgb), .08);--hover-overlay: rgba(0, 0, 0, .02);--sidebar-bg: #fafbfc;--sidebar-border: #e1e4e8;--sidebar-item: transparent;--sidebar-item-hover: #f5f6f7;--sidebar-item-active: #f0f3f6;--sidebar-text: #59636e;--sidebar-text-active: #1f2328;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05);--shadow-md: 0 2px 4px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .08);--shadow-xl: 0 8px 16px rgba(0, 0, 0, .1);--shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .03);--shadow-inset-pressed: inset 0 2px 4px rgba(0, 0, 0, .08)}:root[data-theme=dark]{--bg: #1f1f1f;--bg-canvas: #181818;--panel: #252526;--panel-elevated: #2b2b2b;--surface: #2b2b2b;--surface-hover: #323232;--border: #3a3a3a;--border-strong: #4a4a4a;--border-subtle: #2b2b2b;--divider: #2b2b2b;--text: #cccccc;--text-secondary: #9d9d9d;--text-muted: #858585;--text-placeholder: #6b6b6b;--accent-purple: #a568ff;--accent-purple-rgb: 165, 104, 255;--accent-purple-soft: #2c2245;--accent-purple-muted: #3b2c5c;--accent-blue: #4fc2ff;--accent-blue-soft: #0f2a38;--accent-blue-muted: #1d4a5c;--accent-teal: #33cc90;--accent-teal-soft: #123227;--accent-teal-muted: #1d4a3a;--accent-pink: #f169bd;--accent-pink-soft: #3a1730;--accent-pink-muted: #4d2140;--accent-amber: #fbbf24;--accent-amber-soft: #3a2e1c;--accent-amber-muted: #5c4a2d;--success: #34d399;--success-soft: #0d2818;--success-border: #1a4d2e;--warning: #fbbf24;--warning-soft: #2a2416;--warning-border: #4a3d1d;--error: #f87171;--error-soft: #2d1618;--error-border: #4a252a;--info: #818cf8;--info-soft: #1c1d3a;--info-border: #2d3051;--focus: rgba(var(--accent-purple-rgb), .18);--selection: rgba(var(--accent-purple-rgb), .14);--hover-overlay: rgba(255, 255, 255, .04);--sidebar-bg: #181818;--sidebar-border: #2b2b2b;--sidebar-item: transparent;--sidebar-item-hover: #2a2a2a;--sidebar-item-active: #37373d;--sidebar-text: #9d9d9d;--sidebar-text-active: #e0e0e0;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 2px 4px rgba(0, 0, 0, .5);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .6);--shadow-xl: 0 8px 16px rgba(0, 0, 0, .7);--shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .35);--shadow-inset-pressed: inset 0 2px 4px rgba(0, 0, 0, .6)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]){--shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .35);--shadow-inset-pressed: inset 0 2px 4px rgba(0, 0, 0, .6)}}html,body,#root{width:100%;height:100%;margin:0;padding:0}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--line-normal);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-semibold);line-height:var(--line-tight);color:var(--text)}h1{font-size:var(--text-3xl);font-weight:var(--font-bold);letter-spacing:-.02em}h2{font-size:var(--text-2xl);font-weight:var(--font-semibold);letter-spacing:-.015em}h3{font-size:var(--text-xl);font-weight:var(--font-semibold)}h4{font-size:var(--text-lg);font-weight:var(--font-medium)}p{margin:0}a{color:var(--accent-purple);text-decoration:none;transition:color .15s}a:hover{color:var(--accent-pink)}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;line-height:inherit}input,select,textarea{width:100%;padding:6px 8px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-canvas);transition:all .15s ease;outline:none}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}input:focus,select:focus,textarea:focus{border-color:var(--accent-purple);box-shadow:var(--shadow-focus);background:var(--panel)}input:disabled,select:disabled,textarea:disabled{background:var(--surface);color:var(--text-muted);cursor:not-allowed;opacity:.5}input::placeholder,textarea::placeholder{color:var(--text-placeholder)}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--accent-purple)}input[type=color]{padding:2px;cursor:pointer;height:28px}button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-canvas);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);cursor:pointer;transition:all .12s ease;white-space:nowrap}button:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong);color:var(--text)}:root[data-theme=dark] button:hover:not(:disabled):not(.btn-primary):not(.btn-success){color:var(--text-secondary)}:root[data-theme=dark] button:hover:not(:disabled):not(.btn-primary):not(.btn-success) svg{color:var(--text-secondary)}button:active:not(:disabled){transform:scale(.98)}button:focus-visible{outline:none;box-shadow:var(--shadow-focus)}button:disabled{opacity:.4;cursor:not-allowed}.row-btn,button[style*="text-align: left"]{justify-content:flex-start;text-align:left;white-space:normal}.btn-primary{background:var(--accent-purple);border-color:var(--accent-purple);color:#fff;font-weight:var(--font-semibold);box-shadow:none}.btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent-purple) 86%,#000);border-color:color-mix(in srgb,var(--accent-purple) 86%,#000);color:#fff}.btn-primary:hover:not(:disabled) svg,.btn-primary:focus-visible svg,.btn-primary:active:not(:disabled) svg{color:#fff}.btn-success{background:var(--success);border-color:var(--success);color:#fff;font-weight:var(--font-semibold)}.btn-success:hover:not(:disabled){filter:brightness(.95)}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border)}.btn-icon{padding:6px;aspect-ratio:1}.btn-sm{padding:4px 8px;font-size:var(--text-xs)}.btn-lg{padding:8px 12px;font-size:var(--text-md)}.btn-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text);font-weight:var(--font-medium)}.btn-secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--text-muted)}.btn-danger{background:var(--surface);border-color:var(--border);color:var(--error);font-weight:var(--font-semibold)}.btn-danger:hover:not(:disabled){background:var(--error);border-color:var(--error);color:#fff}.btn-plain{border:0;background:transparent;color:var(--text-secondary);font-weight:var(--font-medium)}.btn-plain:hover:not(:disabled){background:transparent;color:var(--text)}.selection-item{border:1px solid var(--border);background:var(--panel);color:var(--text);box-shadow:var(--shadow-soft-2),var(--shadow-inset);transition:background .12s ease,border-color .12s ease,box-shadow .12s ease,color .12s ease}.selection-item:hover{border-color:var(--border-strong);background:var(--surface-hover)}.selection-item.is-selected,.is-selected{border-color:var(--accent-purple)!important;background:var(--surface-hover)!important;color:var(--accent-purple)!important;box-shadow:none!important}.selection-item.is-selected .selection-subtext,.is-selected .selection-subtext{color:var(--accent-purple)!important}.appearance-option{position:relative;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:transparent;border:1px solid var(--border);box-shadow:none;cursor:pointer}.appearance-option:hover{background:var(--surface-hover)}.appearance-option-input{position:absolute;opacity:0;pointer-events:none}.appearance-option-icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:999px;border:1px solid currentColor;background:transparent}.appearance-option-copy{display:grid;gap:2px;min-width:0}.appearance-option-title{font-weight:700}.appearance-option-description{font-size:12px;color:var(--muted)}.appearance-option.is-selected .appearance-option-icon,.is-selected .appearance-option-icon{background:var(--bg-canvas);color:var(--accent-purple);border-color:color-mix(in srgb,var(--accent-purple) 35%,var(--border))}.card,.surface-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-2xl);padding:var(--space-4)}.card-compact{padding:var(--space-3)}.page-section{padding:var(--space-4) 0;border-bottom:1px solid var(--border);display:grid;gap:var(--space-3)}.page-section:first-child{padding-top:0}.page-section:last-child{border-bottom:none;padding-bottom:0}.page-section-title{margin:0;font-size:15px;font-weight:700;color:var(--text)}.surface-soft{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3)}.tabs{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-end;border-bottom:1px solid var(--border)}.tab{border:none;background:transparent;color:var(--text-secondary);padding:0 0 12px;margin-bottom:-1px;border-bottom:2px solid transparent;font-size:var(--text-md);font-weight:var(--font-medium);box-shadow:none;border-radius:0}.tab:hover:not(:disabled){background:transparent;color:var(--text);border-color:transparent;transform:none;box-shadow:none}.tab.is-active{color:var(--accent-purple);border-bottom-color:var(--accent-purple);font-weight:var(--font-semibold)}.panel-section{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.panel-header{padding:var(--space-2) var(--space-3);background:var(--surface);border-bottom:1px solid var(--border);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary)}.panel-body{padding:var(--space-3);background:var(--panel)}.panel-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle)}.panel-row:last-child{border-bottom:none}.insp-group{padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.insp-group:first-child{padding-top:0}.insp-group:last-child{border-bottom:none}.insp-label{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.insp-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);margin-bottom:var(--space-2)}.insp-row:last-child{margin-bottom:0}.insp-field{display:grid;gap:3px;min-width:0}.insp-field.full{grid-column:1 / -1}.insp-field .f-label{font-size:11px;color:var(--text-muted);font-weight:600}.item-card{display:flex;align-items:center;gap:8px;width:100%;min-width:0;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);text-align:left;justify-content:flex-start;white-space:normal;cursor:pointer;box-sizing:border-box}.item-card:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-hover)}.item-card:active:not(:disabled){transform:none}.item-card:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.item-card-main{flex:1 1 auto;min-width:0;display:grid;gap:2px}.item-card-title{font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis}.item-card-meta{font-size:11px;font-weight:500;color:var(--text-muted)}.item-card-chevron{flex-shrink:0;color:var(--text-muted)}.is-selected .item-card-chevron,.is-selected .item-card-meta{color:var(--accent-purple)}.prop-panel{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--panel);border-left:1px solid var(--border)}.prop-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border)}.prop-panel-title{margin:0;font-size:14px;font-weight:800;color:var(--text)}.prop-panel-subtitle{margin-top:2px;font-size:11px;color:var(--text-muted)}.prop-panel-body{padding:0 12px 12px;min-height:0}.prop-section{border-bottom:1px solid var(--border)}.prop-section:last-child{border-bottom:none}.prop-section-header{display:flex;align-items:center;gap:8px;width:100%;min-height:34px}.prop-section-toggle{flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 0;border:none;border-radius:0;background:transparent;color:var(--text-muted);cursor:pointer}.prop-section-toggle:hover:not(:disabled),.prop-section-toggle:active:not(:disabled){background:transparent;color:var(--text);transform:none}.prop-section-title{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.prop-section-body{display:grid;gap:10px;padding:0 0 12px;min-width:0}.notice{padding:8px 10px;border:1px solid var(--border);border-left-width:3px;border-radius:6px;background:var(--surface);color:var(--text-secondary);font-size:12px;line-height:1.45}.notice-error{border-left-color:var(--error);color:var(--error)}.notice-warning{border-left-color:var(--warning);color:var(--warning)}.notice-success{border-left-color:var(--success);color:var(--success)}.notice-info{border-left-color:var(--accent-purple)}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-secondary);font-size:11px;font-weight:600;white-space:nowrap}.status-card{border-radius:var(--radius-md);padding:var(--space-3);font-size:var(--text-sm)}.status-card.info{background:var(--info-soft);border:1px solid var(--info-border);color:var(--info)}.status-card.success{background:var(--success-soft);border:1px solid var(--success-border);color:var(--success)}.status-card.warning{background:var(--warning-soft);border:1px solid var(--warning-border);color:var(--warning)}.status-card.error{background:var(--error-soft);border:1px solid var(--error-border);color:var(--error)}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-secondary)}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-full);font-size:var(--text-2xs);font-weight:var(--font-semibold);line-height:1}.badge-purple{background:var(--surface);color:var(--accent-purple)}.badge-teal{background:var(--surface);color:var(--accent-teal)}.badge-pink{background:var(--surface);color:var(--accent-pink)}.icon{width:var(--icon-md);height:var(--icon-md);flex-shrink:0}.icon-xs{width:var(--icon-xs);height:var(--icon-xs)}.icon-sm{width:var(--icon-sm);height:var(--icon-sm)}.icon-lg{width:var(--icon-lg);height:var(--icon-lg)}.icon-xl{width:var(--icon-xl);height:var(--icon-xl)}.icon-muted{color:var(--text-muted)}.table-shell{overflow:hidden}table{width:100%;border-collapse:collapse}thead tr{background:var(--surface)}th{padding:8px 12px;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-muted);text-align:left;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border)}td{padding:10px 12px;font-size:var(--text-sm);border-bottom:1px solid var(--border-subtle);color:var(--text-secondary)}tbody tr:hover td{background:var(--surface-hover)}tbody tr:last-child td{border-bottom:none}.app-shell{display:flex;width:100vw;height:100vh;background:var(--bg)}.sidebar{width:240px;flex-shrink:0;display:flex;flex-direction:column;background:var(--bg);border-right:1px solid var(--sidebar-border);padding:0;text-align:left}.sidebar-brand{padding:var(--space-4);border-bottom:1px solid var(--sidebar-border);font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text);display:flex;align-items:center;gap:12px;text-align:left}.sidebar-logo{width:54px;height:34px;object-fit:contain;border-radius:0;flex:0 0 auto}.sidebar-nav{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:0;display:flex;flex-direction:column;text-align:left}.sidebar-nav-sticky{position:sticky;top:0;z-index:2;display:grid;gap:1px;padding:var(--space-2);background:var(--bg)}.sidebar-nav-scroll{display:flex;flex-direction:column;gap:1px;padding:0 var(--space-2) var(--space-2)}.sidebar-accordion{margin-bottom:var(--space-2)}.sidebar-section-title{margin:0;padding:var(--space-2) var(--space-3);font-size:var(--text-2xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.sidebar-accordion-toggle{width:100%;display:flex;align-items:center;gap:6px;padding:var(--space-1) var(--space-3);border:none;background:transparent;box-shadow:none;text-align:left;color:var(--sidebar-text);font-size:var(--text-sm);font-weight:var(--font-medium)}.sidebar-accordion-toggle:hover:not(:disabled){transform:none;background:transparent;border:none}.sidebar-accordion-icon{width:8px;color:var(--text-muted);font-size:8px;transition:transform .15s}.sidebar-accordion-icon.open{transform:rotate(90deg)}.sidebar-section-body{display:grid;gap:1px;padding:0}.sidebar-section-body .nav-item{margin-left:var(--space-3)}.sidebar-divider{height:1px;background:var(--sidebar-border);margin:var(--space-2) 0}.sidebar-project{margin:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-secondary);display:flex;align-items:center;gap:var(--space-2)}.nav-item{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-2);padding:6px var(--space-3);text-decoration:none;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--sidebar-text);background:var(--sidebar-item);border:none;transition:all .12s ease;position:relative;min-width:0;overflow:hidden;white-space:nowrap}.nav-item span{overflow:hidden;text-overflow:ellipsis}.nav-item:hover{background:var(--sidebar-item-hover);color:var(--sidebar-text-active)}.nav-item.active{background:var(--sidebar-item-active);color:var(--sidebar-text-active);font-weight:var(--font-semibold);box-shadow:inset 0 0 0 1px rgba(var(--accent-purple-rgb),.18)}.nav-item.active:before{content:"";position:absolute;left:0;top:50%;width:2px;height:60%;transform:translateY(-50%);border-radius:0 2px 2px 0;background:var(--accent-purple)}.nav-item.disabled{opacity:.3;pointer-events:none;cursor:not-allowed}.nav-item-indent,.nav-item-subindent{margin-left:0}.sidebar-footer{padding:var(--space-3);border-top:1px solid var(--sidebar-border);display:grid;gap:var(--space-2)}.sidebar-footer .validation-pill,.sidebar-footer .btn{width:100%}.main-content{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg)}.shell-page-header{margin:0;padding:var(--space-4) var(--space-5);background:var(--panel);border-bottom:1px solid var(--border-subtle);display:grid;gap:6px}.shell-page-title{font-size:17px;font-weight:var(--font-bold);color:var(--text);line-height:1.2}.shell-page-subtitle{font-size:12px;color:var(--text-muted)}.shell-project-context{display:inline-flex;align-items:center;gap:8px;width:fit-content;padding:2px 10px;border-radius:var(--radius-full);background:var(--panel-2);border:1px solid var(--border-subtle);font-size:12px;color:var(--text-muted)}.shell-project-context-label{font-weight:var(--font-semibold)}.shell-project-context-value{color:var(--text);font-weight:var(--font-semibold)}.shell-save-status{display:inline-flex;align-items:center;gap:6px;width:fit-content;border-radius:var(--radius-full);border:1px solid transparent;font-size:12px;font-weight:var(--font-semibold);padding:3px 10px}.shell-save-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.shell-save-status.saved{color:#166534;background:#f0fdf4;border-color:#86efac}.shell-save-status.saved .shell-save-dot{background:#16a34a}.shell-save-status.saving{color:#9a3412;background:#fff7ed;border-color:#fdba74}.shell-save-status.saving .shell-save-dot{background:#ea580c}.shell-save-status.unsaved{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.shell-save-status.unsaved .shell-save-dot{background:#dc2626}.shell-page-actions{display:inline-flex;align-items:center;gap:8px}.shell-page-action-primary{border:0;border-radius:var(--radius-full);background:var(--accent-purple);color:#fff;font-size:12px;font-weight:var(--font-semibold);line-height:1;padding:8px 14px;cursor:pointer;box-shadow:0 8px 18px rgba(var(--accent-purple-rgb),.24)}.shell-page-action-primary:disabled{cursor:not-allowed;opacity:.5}.topbar-notice{margin:var(--space-4) var(--space-5) 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--success-soft);color:var(--success);border:1px solid var(--success-border);font-size:var(--text-sm);display:flex;align-items:center;gap:var(--space-2)}.topbar-notice.is-error{background:var(--error-soft);color:var(--error);border-color:var(--error-border)}.page-content{flex:1;min-height:0;overflow:auto;padding:var(--space-5)}.main-content.route-frames .page-content{padding:0;overflow:hidden}.validation-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold)}.validation-pill.ok{background:var(--success-soft);color:var(--success);border:1px solid var(--success-border)}.validation-pill.warnings{background:var(--warning-soft);color:var(--warning);border:1px solid var(--warning-border)}.validation-pill.errors{background:var(--error-soft);color:var(--error);border:1px solid var(--error-border)}.modal-backdrop{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:var(--space-4)}.modal-card{width:min(840px,100%);max-height:86vh;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:var(--space-4);display:grid;gap:var(--space-3)}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--border)}.validation-summary{display:flex;gap:var(--space-3);font-size:var(--text-sm)}.validation-summary .errors{color:var(--error)}.validation-summary .warnings{color:var(--warning)}.validation-message-ok{font-size:var(--text-sm);color:var(--success)}.validation-grid{max-height:60vh;overflow:auto;display:grid;gap:var(--space-2)}.validation-area{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);display:grid;gap:6px}.validation-title{font-weight:var(--font-semibold);font-size:var(--text-sm)}.validation-issue{font-size:var(--text-sm);padding:8px 10px;border-radius:var(--radius-sm);border:1px solid transparent}.validation-issue.error{color:var(--error);background:color-mix(in srgb,var(--error-soft) 82%,transparent);border-color:color-mix(in srgb,var(--error-border) 88%,transparent)}.validation-issue.warning{color:var(--warning);background:color-mix(in srgb,var(--warning-soft) 86%,transparent);border-color:color-mix(in srgb,var(--warning-border) 88%,transparent)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full);border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.page-muted{color:var(--text-muted)}.page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-5)}.page-section{display:grid;gap:var(--space-3)}.page-section+.page-section{margin-top:var(--space-5)}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-md{font-size:var(--text-md)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}@media(max-width:1200px){.grid-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.sidebar{width:60px}.sidebar-brand span,.sidebar-project,.sidebar-section-title,.nav-item span{display:none}.grid-cols-2,.grid-cols-3{grid-template-columns:1fr}.page-content{padding:var(--space-3)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .18s ease-out}@media print{.sidebar,.sidebar-footer,button,.btn{display:none!important}.page-content{padding:0}.card{box-shadow:none;border:1px solid var(--border)}}.value-row{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;padding:7px 10px;border:none;border-bottom:1px solid var(--border-subtle);border-radius:0;background:transparent;box-shadow:none;color:var(--text);font-size:13px;font-weight:500;text-align:left;cursor:pointer}.value-row:hover{background:var(--surface-hover)}.value-row.is-selected{border-color:transparent transparent var(--border-subtle)!important;box-shadow:inset 2px 0 0 var(--accent)!important}.stylesheet-shell{max-width:1400px;margin:0 auto;padding-bottom:var(--space-4);display:grid;gap:var(--space-4)}.stylesheet-shell.with-drawer{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:var(--space-3)}.stylesheet-main{display:grid;gap:var(--space-4)}.stylesheet-empty-page{padding:var(--space-4);color:var(--text-muted)}.stylesheet-section{display:grid;gap:var(--space-3)}.stylesheet-subtabs{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-end;border-bottom:1px solid var(--border)}.stylesheet-subtab{border:none;background:transparent;color:var(--text-secondary);padding:0 0 12px;margin-bottom:-1px;border-bottom:2px solid transparent;font-size:var(--text-md);font-weight:var(--font-medium);box-shadow:none;border-radius:0}.stylesheet-subtab:hover:not(:disabled){background:transparent;color:var(--text);border-color:transparent;transform:none;box-shadow:none}.stylesheet-subtab.is-active{color:var(--accent-purple);border-bottom-color:var(--accent-purple);font-weight:var(--font-semibold)}.stylesheet-title{margin:0;font-size:var(--text-3xl);font-weight:var(--font-bold);display:flex;align-items:center;gap:var(--space-3)}.stylesheet-subtitle{font-size:var(--text-sm);color:var(--text-muted)}.stylesheet-muted{font-size:var(--text-xs);color:var(--text-placeholder);font-family:var(--font-mono)}.stylesheet-section-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle)}.stylesheet-section-title{margin:0;font-size:var(--text-xl);font-weight:var(--font-semibold);display:flex;align-items:center;gap:var(--space-2)}.stylesheet-section-subtitle{font-size:var(--text-sm);color:var(--text-muted);margin-top:2px}.stylesheet-foundations-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.sheet-panel{display:grid;gap:var(--space-3)}.stylesheet-editor-page-sections{display:grid;gap:calc(var(--space-6) + var(--space-2));justify-items:stretch}.stylesheet-editor-section-card{border:none;border-radius:0;background:transparent;padding:0;box-shadow:none;width:min(100%,1180px)}.stylesheet-editor-section-card+.stylesheet-editor-section-card{border-top:1px solid var(--border);padding-top:calc(var(--space-5) + 2px)}.stylesheet-editor-section-header{display:flex;justify-content:space-between;gap:var(--space-4);align-items:flex-start;flex-wrap:wrap;margin-bottom:4px}.stylesheet-editor-section-header .stylesheet-subtabs{margin-top:var(--space-3);padding-top:2px}.stylesheet-editor-canvas-control{display:grid;gap:var(--space-2);padding-bottom:var(--space-4);border-bottom:1px solid var(--border)}.stylesheet-editor-local-preview{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:16px 0 20px;width:100%}.stylesheet-editor-section-card.is-configurator-content-menu,.stylesheet-editor-section-card.is-configurator-keyboard{gap:var(--space-3)!important}.stylesheet-editor-local-preview.is-configurator-content-menu{padding:14px 0}.stylesheet-editor-local-preview.is-configurator-keyboard{padding:10px 0 12px}.sheet-panel-topline{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.sheet-panel-title{margin:0;font-size:calc(var(--text-md) + 1px);font-weight:760;display:flex;align-items:center;gap:var(--space-2);letter-spacing:-.01em;color:var(--text)}.stylesheet-linked-grid{display:grid;gap:var(--space-4);grid-template-columns:minmax(0,1fr);width:100%;align-items:start;grid-auto-flow:dense}.stylesheet-linked-control-card{border:none;border-bottom:1px solid var(--border);border-radius:0;background:transparent;padding:var(--space-3) 0;box-shadow:none;height:100%;align-content:start}.stylesheet-linked-control-fields{display:grid;gap:var(--space-3);grid-template-columns:minmax(0,1fr);align-items:end}.stylesheet-linked-control-field{display:grid;gap:4px}.stylesheet-editor-section-controls{width:100%}@media(min-width:820px){.stylesheet-linked-grid,.stylesheet-linked-control-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1220px){.stylesheet-linked-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stylesheet-linked-grid--configurator-content-menu .stylesheet-linked-control-card--menu{grid-column:1;grid-row:span 2}.stylesheet-linked-grid--configurator-content-menu .stylesheet-linked-control-card--category-buttons{grid-column:2;grid-row:span 2}.stylesheet-linked-grid--configurator-content-menu .stylesheet-linked-control-card--primary-button,.stylesheet-linked-grid--configurator-content-menu .stylesheet-linked-control-card--components,.stylesheet-linked-grid--configurator-content-menu .stylesheet-linked-control-card--artwork-frames,.stylesheet-linked-grid--configurator-content-menu .stylesheet-linked-control-card--option-buttons{grid-column:3}.stylesheet-linked-grid--configurator-keyboard .stylesheet-linked-control-card--keyboard{grid-column:1}.stylesheet-linked-grid--configurator-keyboard .stylesheet-linked-control-card--keys{grid-column:2}.stylesheet-linked-grid--configurator-keyboard .stylesheet-linked-control-card--close-button{grid-column:3}.stylesheet-linked-grid--review-main-buttons .stylesheet-linked-control-card--page-controls{grid-column:1 / -1}}.stylesheet-palette-grid{display:grid;gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr))}.stylesheet-palette-token{position:relative;min-height:56px;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);display:grid;gap:var(--space-2);grid-template-columns:18px 1fr auto;align-items:center;cursor:pointer;transition:all .12s ease}.stylesheet-palette-token:hover{border-color:var(--border-strong);background:var(--surface-hover)}.stylesheet-palette-token.is-editing{grid-template-columns:1fr;grid-template-areas:"editor" "action";cursor:default;border-color:var(--accent-purple);background:var(--surface-hover)}.stylesheet-palette-token.is-core{border-color:var(--accent-teal);background:var(--surface)}.stylesheet-palette-swatch{width:18px;height:18px;border-radius:var(--radius-xs);border:1px solid rgba(0,0,0,.08);box-shadow:inset 0 0 0 1px #ffffff1a}.stylesheet-palette-meta,.stylesheet-palette-editor{display:grid;gap:3px;min-width:0}.stylesheet-palette-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text)}.stylesheet-palette-hex{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.stylesheet-palette-editor .sheet-color-inputs{grid-template-columns:28px 1fr}.sheet-inline-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.stylesheet-typography-grid,.stylesheet-typography-rows{display:grid;gap:var(--space-2)}.stylesheet-typography-row{display:grid;grid-template-columns:minmax(220px,1.4fr) 120px minmax(160px,auto);align-items:end;gap:var(--space-2)}.sheet-field-row{display:grid;gap:4px;align-content:start}.sheet-field-row>span{font-size:var(--text-2xs);font-weight:var(--font-bold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;line-height:1.2;min-height:14px}.sheet-field-label-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.sheet-inline-icon-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--text-muted);box-shadow:none}.sheet-inline-icon-button:hover:not(:disabled){color:var(--text);border-color:var(--border-strong);background:var(--surface-hover);transform:none}.sheet-input-field,.sheet-select-field,.sheet-hex-input,.sheet-numeric-input{width:100%}.sheet-select-field{max-width:640px}.sheet-font-select{max-width:520px}.sheet-hex-input{font-family:var(--font-mono);font-size:var(--text-sm);max-width:110px}.sheet-numeric-input{max-width:70px;text-align:left}.sheet-size-field .sheet-numeric-input{max-width:100%}.sheet-color-inputs{display:grid;gap:6px;align-items:center;grid-template-columns:28px 124px}.sheet-color-inputs input[type=color]{width:28px;height:28px;padding:0;border-radius:var(--radius-xs)}.sheet-field-inline{display:grid;gap:6px;justify-items:start}.sheet-inline-pair{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:12px;align-items:end;max-width:100%;min-width:0}.stylesheet-typography-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin-top:var(--space-2)}.sheet-apply-action{display:grid;gap:6px}.sheet-apply-action-inline{align-self:end}.sheet-overwrite-note{color:var(--warning);font-size:var(--text-2xs);line-height:1.3;max-width:220px}.sheet-helper-text{color:var(--text-placeholder);font-size:var(--text-2xs);line-height:1.4}.stylesheet-role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.stylesheet-role-card{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel)}.sheet-role-preview-wrap{min-height:48px;display:flex;align-items:center;justify-content:center;padding:var(--space-3);background:var(--surface);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.stylesheet-preview-button{padding:6px 12px;border-radius:var(--radius-sm);border:1px solid rgba(0,0,0,.08);font-size:var(--text-sm);font-weight:var(--font-semibold);transition:all .12s ease}.stylesheet-preview-badge{width:28px;height:28px;border-radius:var(--radius-full);display:grid;place-items:center;font-size:var(--text-sm);font-weight:var(--font-bold)}.palette-inline-picks{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.palette-inline-picks--dense{margin-top:0}.palette-inline-chip{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:3px 6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-size:var(--text-xs);font-weight:var(--font-medium);min-height:28px;cursor:pointer;transition:all .12s ease}.palette-inline-chip:hover{background:var(--surface-hover);border-color:var(--border-strong)}.palette-inline-swatch{width:10px;height:10px;border-radius:2px;border:1px solid rgba(0,0,0,.12)}.stylesheet-row-filters{display:grid;gap:var(--space-2);grid-template-columns:minmax(240px,2fr) 130px 150px}.stylesheet-table-shell{border-radius:var(--radius-lg);overflow:auto;max-height:560px}.stylesheet-table{width:100%;min-width:980px;border-collapse:collapse}.stylesheet-table th{position:sticky;top:0;background:var(--surface);z-index:1;padding:7px 10px;font-size:var(--text-2xs);font-weight:var(--font-bold);text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border)}.stylesheet-table td{padding:7px 10px;font-size:var(--text-sm);border-bottom:1px solid var(--border-subtle)}.stylesheet-table .sheet-id{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:0;max-width:200px;color:var(--text-secondary)}.stylesheet-row{height:36px;cursor:pointer;transition:background .12s ease}.stylesheet-table-shell tbody .stylesheet-row:hover td{background:var(--surface-hover)}.stylesheet-row.is-selected td{background:var(--surface-hover);color:var(--text)}.stylesheet-table-swatch{width:16px;height:16px;border-radius:3px;border:1px solid rgba(0,0,0,.12);display:inline-block}.stylesheet-type-badge{display:inline-flex;align-items:center;padding:2px 6px;border-radius:var(--radius-sm);font-weight:var(--font-semibold);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.02em}.stylesheet-type-badge.type-text{color:var(--accent-teal);background:var(--surface)}.stylesheet-type-badge.type-image{color:var(--accent-blue);background:var(--surface)}.stylesheet-type-badge.type-shadow{color:var(--accent-amber);background:var(--surface)}.stylesheet-no-results{padding:var(--space-6);display:grid;gap:var(--space-2);justify-items:center;text-align:center;color:var(--text-muted)}.stylesheet-row-drawer{display:grid;gap:var(--space-3);position:sticky;top:0;padding:var(--space-4);align-content:start;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg)}.sheet-drawer-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle)}.sheet-drawer-title{font-size:var(--text-md);font-weight:var(--font-semibold)}.sheet-drawer-id{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.stylesheet-error-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.products-shell{max-width:1400px;margin:0 auto;display:grid;gap:var(--space-4)}.products-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle)}.products-grid{display:grid;gap:var(--space-4);grid-template-columns:260px minmax(0,1fr)}.products-sidebar{display:grid;gap:2px;align-content:start}.products-list-item{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);cursor:pointer;transition:all .12s ease}.products-list-item:hover{background:var(--surface-hover);border-color:var(--border-strong)}.products-list-item.is-selected{border-color:var(--accent-purple);background:var(--surface-hover)}.products-detail{display:grid;gap:var(--space-3)}.products-field-grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.products-image-grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.products-image-slot{aspect-ratio:1;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--surface);position:relative;display:grid;place-items:center}.products-image-slot img{width:100%;height:100%;object-fit:cover}.products-image-overlay{position:absolute;inset:0;background:#000000b3;display:grid;place-items:center;opacity:0;transition:opacity .12s ease}.products-image-slot:hover .products-image-overlay{opacity:1}.themes-shell{max-width:1400px;margin:0 auto;display:grid;gap:var(--space-4)}.themes-list{display:grid;gap:var(--space-4)}.theme-card{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel)}.theme-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle)}.theme-routes-grid{display:grid;gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.route-card{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);display:grid;gap:var(--space-2);transition:all .12s ease;cursor:pointer}.route-card:hover{background:var(--surface-hover);border-color:var(--border-strong)}.route-preview{aspect-ratio:16 / 9;border-radius:var(--radius-sm);background:var(--panel);border:1px solid var(--border-subtle);overflow:hidden}.route-preview img{width:100%;height:100%;object-fit:cover}.locations-grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.location-card{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel);display:grid;gap:var(--space-3);transition:all .12s ease}.location-card:hover{background:var(--surface-hover);border-color:var(--border-strong)}.location-status-indicator{width:6px;height:6px;border-radius:var(--radius-full);display:inline-block}.location-status-indicator.red{background:var(--error)}.location-status-indicator.yellow{background:var(--warning)}.location-status-indicator.green{background:var(--success)}.fonts-shell{max-width:1200px;margin:0 auto;display:grid;gap:var(--space-4)}.fonts-page-shell{max-width:1360px;margin:0 auto;display:grid;gap:var(--space-4)}.fonts-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.fonts-page-head-copy{display:grid;gap:4px}.fonts-page-kicker{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-weight:var(--font-semibold)}.fonts-page-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.9fr);gap:var(--space-4);align-items:start}.fonts-page-main,.fonts-page-side{display:grid;gap:var(--space-4)}.fonts-side-card{display:grid;gap:var(--space-3)}.fonts-side-card.card{padding:var(--space-4)}.fonts-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.fonts-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.fonts-build-status{border:1px solid var(--border);border-left:3px solid var(--accent-purple);background:var(--surface);color:var(--text-secondary);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.fonts-setup-grid{display:grid;gap:var(--space-3)}.fonts-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);align-items:center}.fonts-muted-note{font-size:var(--text-xs);color:var(--text-muted)}.fonts-bulk-surface{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface);padding:var(--space-3);display:grid;gap:var(--space-3)}.fonts-list{display:grid;gap:var(--space-3)}.font-entry{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--panel);box-shadow:var(--shadow-sm);padding:var(--space-3);display:grid;gap:var(--space-2)}.font-entry.is-expanded{border-color:var(--accent-purple);box-shadow:none}.font-entry-top{display:flex;justify-content:space-between;gap:var(--space-2);align-items:center;flex-wrap:wrap}.font-entry-title{display:inline-flex;align-items:center;gap:var(--space-3)}.font-entry-name{display:grid;gap:2px}.font-entry-name strong{font-size:var(--text-md)}.font-entry-meta{font-size:var(--text-xs);color:var(--text-muted)}.font-entry-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.font-entry-body{display:grid;gap:var(--space-3);border-top:1px solid var(--border-subtle);padding-top:var(--space-3)}.font-card{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);display:grid;gap:var(--space-2)}.font-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.font-name{font-size:var(--text-md);font-weight:var(--font-semibold)}.font-path{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--text-muted)}.font-settings-grid{display:grid;gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.home-projects-grid{display:grid;gap:var(--space-2)}.home-project-item{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);cursor:pointer;transition:all .12s ease;display:flex;align-items:center;gap:var(--space-3)}.home-project-item:hover{background:var(--surface-hover);border-color:var(--border-strong)}.home-project-item.is-active{border-color:var(--success);background:var(--success-soft)}.home-project-indicator{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.home-project-indicator.active{background:var(--success)}.home-project-indicator.inactive{background:var(--text-placeholder)}@media(max-width:1200px){.stylesheet-shell.with-drawer{grid-template-columns:minmax(0,1fr)}.stylesheet-row-drawer{position:static;margin-top:var(--space-2)}.products-grid{grid-template-columns:1fr}}@media(max-width:980px){.stylesheet-foundations-grid,.stylesheet-role-grid,.stylesheet-typography-row,.stylesheet-row-filters,.themes-list,.locations-grid,.theme-routes-grid,.fonts-page-layout,.fonts-input-row{grid-template-columns:1fr}}.localisation-page{display:grid;gap:16px;margin-top:-8px}.artwork-library-grid{display:grid;gap:12px;align-items:center;padding:10px 14px}.artwork-library-grid>*{min-width:0}.artwork-library-grid--header{font-size:12px;color:var(--muted);background:var(--panel-2);border-bottom:1px solid var(--border)}.artwork-library-grid--sticky-header{position:sticky;top:0;z-index:2}.artwork-library-grid--row{padding-top:11px;padding-bottom:11px}.artwork-library-category-cell{display:flex;gap:6px;flex-wrap:wrap;min-height:28px;align-items:center;width:100%;justify-content:flex-start}.artwork-library-category-chip{font-size:12px;border:1px solid var(--border);border-radius:999px;padding:3px 8px;background:var(--panel-2)}.artwork-library-upcharge-cell{display:flex;gap:6px;flex-wrap:wrap;min-height:28px;align-items:center;width:100%;justify-content:flex-start}.artwork-library-upcharge-chip{font-size:12px;font-weight:600;border:1px solid var(--border);border-radius:999px;padding:3px 8px;background:var(--surface);color:var(--text)}.page-top-flow{display:grid;gap:10px}.page-flat-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-flat-toolbar-main{display:grid;gap:4px;min-width:240px}.page-flat-toolbar-title{font-size:16px;font-weight:700;color:var(--text)}.page-flat-toolbar-subtitle{font-size:13px;color:var(--muted)}.page-inline-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-start}.page-inline-status{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.page-inline-status-info{font-size:13px;font-weight:600;color:var(--muted)}.page-inline-status-info.is-saved{color:var(--success)}.page-inline-status-info.is-dirty{color:var(--warning)}.page-inline-status-info.is-error{color:var(--error)}.templates-page{gap:10px}.templates-top-flow{display:grid;gap:10px}.templates-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.templates-helper-copy{display:grid;gap:4px;padding-top:2px}.templates-workspace-flow{display:grid;gap:12px}.templates-tab-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.templates-workspace-header{display:grid;gap:12px;margin-bottom:10px}.templates-layouts-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.templates-layouts-copy{display:grid;gap:3px}.templates-view-row{display:flex;gap:8px;flex-wrap:wrap;align-items:end;padding-top:2px}.localisation-top-flow{display:grid;gap:14px}.localisation-section-card{display:grid;gap:12px;background:var(--panel);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-soft);padding:14px}.localisation-project-row{display:flex;align-items:center;gap:8px;font-size:13px;min-height:20px}.localisation-project-label{color:var(--muted)}.localisation-project-value{font-weight:700;color:var(--text)}.localisation-top-tabs,.localisation-subtabs{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.localisation-tab-button{padding:8px 14px;border-radius:12px;font-size:12px;font-weight:700}.localisation-copy-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:2px 0 0}.localisation-copy-toolbar-left,.localisation-copy-toolbar-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.localisation-segmented-switch{display:inline-flex;align-items:center;gap:1px;padding:3px;border-radius:12px;border:1px solid var(--border);background:var(--panel-2)}.localisation-segmented-option{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 12px;border:none;border-radius:9px;background:transparent;color:var(--text-medium);font-size:13px;font-weight:600}.localisation-segmented-option.is-active{background:var(--surface-hover);box-shadow:inset 0 0 0 1px var(--accent-purple);color:var(--accent-purple)}.localisation-count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:20px;padding:0 6px;border-radius:999px;background:var(--surface);font-size:11px;font-weight:700}.localisation-segmented-option.is-active .localisation-count-pill{background:var(--surface);color:var(--accent-purple)}.localisation-sort-control{display:inline-flex;align-items:center;gap:8px}.localisation-sort-control select{min-width:150px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.localisation-inline-action{gap:8px;color:var(--text-medium)}.localisation-warning-banner{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid var(--border-subtle);background:var(--panel);color:var(--text-medium);font-size:13px}.localisation-warning-banner.has-warning{background:var(--warning-soft);border-color:var(--warning-border);color:var(--warning)}.localisation-language-block{display:grid;gap:10px;padding-top:2px}.localisation-language-heading{font-size:13px;font-weight:600;color:var(--text)}.localisation-language-chips{display:flex;gap:8px;flex-wrap:wrap}.localisation-helper-inline,.localisation-section-helper{font-size:12px;color:var(--muted)}.localisation-section-title{font-size:16px;font-weight:700;color:var(--text)}.localisation-group-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:0;text-align:left}.localisation-rules-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.localisation-rule-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 10px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--panel-2)}.localisation-exception-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.localisation-exception-list{display:grid;gap:8px}.localisation-exception-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--panel-2)}.localisation-validation-item,.localisation-empty-state{padding:10px 12px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--panel-2);font-size:12px;color:var(--text-medium)}.stylesheet-mode-switch{display:inline-flex;align-items:center;gap:8px;width:fit-content;max-width:100%;align-self:flex-start}.stylesheet-mode-option{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border:1px solid var(--border);border-radius:12px;background:var(--panel);color:var(--text);font-size:14px;font-weight:600;box-shadow:var(--shadow-sm)}.stylesheet-mode-option.is-active{background:var(--surface-hover);border-color:var(--accent-purple);color:var(--accent-purple)}.product-view-editor-frame-row{border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm);cursor:pointer;transition:background .13s ease,border-color .13s ease,box-shadow .13s ease}.product-view-editor-frame-row:hover{border-color:var(--accent-purple);background:var(--surface-hover)}.wrap-mode-option{display:flex;align-items:flex-start;gap:9px;padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);cursor:pointer}.wrap-mode-option input{margin-top:2px;accent-color:var(--accent-purple)}.wrap-mode-option:hover{border-color:var(--border-strong)}.wrap-mode-option.is-active{border-color:var(--accent-purple)}.product-view-editor-frame-row.is-locked{border-style:dashed}.product-view-editor-frame-row.is-selected,.product-view-editor-frame-row.is-selected:hover{border:1px solid var(--success);background:var(--surface-hover);box-shadow:none;color:var(--success)}.product-view-editor-add-btn,.product-view-editor-add-btn:hover{border-color:var(--accent-purple)}.home-project-row.is-building{border-color:#e8836b!important;background:#e8836b1f!important;cursor:progress!important}.home-project-row.is-uploading{border-color:#e5c34d!important;background:#e5c34d1f!important}.publish-stage-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600}.home-project-row.is-building .publish-stage-chip{color:#e8836b}.home-project-row.is-uploading .publish-stage-chip{color:#e5c34d}.publish-stage-chip svg{animation:validationSpin .9s linear infinite}.home-project-row.is-building .home-project-name{color:#e8836b!important}.btn.help-button{display:inline-flex;align-items:center;gap:8px;background:#dcfce7;border:1px solid #86efac;color:#166534}.btn.help-button:hover:not(:disabled){background:#bbf7d0!important;color:#14532d!important}:root[data-theme=dark] .btn.help-button{background:#4ade8024;border-color:#86efac73;color:#86efac}:root[data-theme=dark] .btn.help-button:hover:not(:disabled){background:#4ade803d!important;color:#bbf7d0!important}@media(prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]) .btn.help-button{background:#4ade8024;border-color:#86efac73;color:#86efac}}.btn.help-button svg{color:inherit}.help-link{border:0;padding:0;background:transparent;color:var(--accent-strong);font:inherit;cursor:pointer;text-decoration:underline}.btn.help-button:hover:not(:disabled) svg{color:inherit!important}*{transition-property:background-color,border-color,color,box-shadow,transform;transition-duration:.15s;transition-timing-function:ease}button,a,input,select,textarea{transition-property:all}.modal-backdrop,.modal-card,.sidebar,.main-content{transition:none}.sidebar-accordion-toggle{justify-content:flex-start;text-align:left}.sidebar-accordion-toggle>span:last-child{order:1}.sidebar-accordion-toggle .sidebar-accordion-icon{order:2;margin-left:auto;font-size:12px;width:12px}.nav-item-icon-only{width:32px;height:32px;justify-content:center;padding:0;margin-bottom:2px}.sidebar-project{margin:6px 0 8px;padding:0 10px;background:transparent;border:0;border-radius:0;font-weight:700;color:var(--text)}body,.main-content,.page-content{text-align:left}.page-content [class$=-shell]{margin-left:0!important;margin-right:0!important}.page-header,.products-header,.theme-header,.font-header{justify-content:flex-start;align-items:flex-start;text-align:left}.card:has(>h1),.surface-card:has(>h1),.card:has(>.page-header),.surface-card:has(>.page-header),.card:has(>.products-header),.card:has(>.theme-header),.card:has(>.font-header){background:transparent;border:0;box-shadow:none;padding:0}.card:not(:has(button,.btn,[role=button])),.surface-card:not(:has(button,.btn,[role=button])){background:transparent;border:0;box-shadow:none;padding:0}.page-content .card,.page-content .surface-card,.page-content .table-shell{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}.page-content .card:has(button,.btn,[role=button]),.page-content .surface-card:has(button,.btn,[role=button]),.page-content .table-shell:has(button,.btn,[role=button]){background:var(--panel)!important;border:1px solid var(--border)!important;box-shadow:var(--shadow-sm)!important;padding:var(--space-3)!important;border-radius:var(--radius-md)!important}.page-content .card:has(h1),.page-content .surface-card:has(h1),.page-content .card:has(.page-header),.page-content .surface-card:has(.page-header),.page-content .card:has(.products-header),.page-content .card:has(.theme-header),.page-content .card:has(.font-header){background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}.page-content [class$=-shell],.page-content [class*=-shell]{margin-left:0!important;margin-right:0!important}.page-content [class$=-header],.page-content [class*=-header]{justify-content:flex-start!important;align-items:flex-start!important;text-align:left!important}
