:root{--duration-fast: .1s;--duration-normal: .15s;--duration-slow: .25s;--easing: cubic-bezier(.4, 0, .2, 1);--font-sans: "DM Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "DM Mono", "JetBrains Mono", "SF Mono", "Fira Code", monospace;--font-brand: "Outfit", "DM Sans", "Inter", sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--preview-font-body: "Charter", "Georgia", serif;--preview-font-heading: var(--font-sans);--preview-size-body: 13px;--preview-size-name: 26px;--preview-size-section: 11px;--preview-size-role-title: 13px;--preview-size-company: 13px;--preview-size-small: 12px;--preview-size-contact: 12px;--preview-size-project-url: 12px;--preview-line-height: 1.45;--preview-bullet-gap: 8px;--preview-section-gap-before: 16px;--preview-section-gap-after: 4px;--preview-section-rule-gap: 4px;--preview-role-gap: 12px;--preview-role-header-gap: 4px;--preview-role-line-gap-after: 4px;--preview-paragraph-gap: 8px;--preview-contact-gap-after: 8px;--preview-competency-gap: 8px;--preview-project-gap: 8px;--preview-margin-top: 48px;--preview-margin-bottom: 48px;--preview-margin-left: 56px;--preview-margin-right: 56px;--preview-color-body: #161616;--preview-color-heading: #111827;--preview-color-section: #111827;--preview-color-dim: #4b5563;--preview-color-rule: #111827;--preview-color-role-title: #111827;--preview-color-dates: #4b5563;--preview-color-subtitle: #4b5563;--preview-color-competency-label: #111827;--preview-color-project-url: #1d4ed8;--preview-letter-spacing: 1px;--preview-name-letter-spacing: 0;--preview-rule-weight: 1px;--preview-bullet-indent: 20px;--preview-bullet-hanging: 12px;--preview-bullet-char: "•";--preview-name-weight: 700;--preview-name-align: left;--preview-contact-align: left;--preview-company-weight: 700;--preview-role-title-style: italic;--preview-subtitle-style: italic;--preview-competency-label-weight: 700;--preview-project-name-weight: 700;--preview-education-school-weight: 700;--bg-primary: #f8fafc;--bg-surface: #ffffff;--bg-surface-hover: #f1f5f9;--bg-inset: #f1f5f9;--bg-preview: #ffffff;--border-subtle: #e2e8f0;--border-default: #cbd5e1;--border-strong: #94a3b8;--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #4a5568;--text-inverse: #ffffff;--accent-primary: #2d6a96;--accent-primary-subtle: color-mix(in srgb, var(--accent-primary) 12%, transparent);--accent-primary-hover: #3d8ab8;--priority-must: #0f172a;--priority-strong: #475569;--priority-optional: #4a5568;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--priority-must-bg: #0f172a;--priority-must-text: #ffffff;--priority-strong-bg: color-mix(in srgb, #475569 16%, transparent);--priority-strong-text: #334155;--priority-optional-bg: color-mix(in srgb, #94a3b8 14%, transparent);--priority-optional-text: #64748b}:root[data-theme=light]{--bg-primary: #f8fafc;--bg-surface: #ffffff;--bg-surface-hover: #f1f5f9;--bg-inset: #f1f5f9;--bg-preview: #ffffff;--border-subtle: #e2e8f0;--border-default: #cbd5e1;--border-strong: #94a3b8;--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #4a5568;--text-inverse: #ffffff;--accent-primary: #2d6a96;--accent-primary-subtle: color-mix(in srgb, var(--accent-primary) 12%, transparent);--accent-primary-hover: #3d8ab8;--priority-must: #0f172a;--priority-strong: #475569;--priority-optional: #4a5568;--success: #16a34a;--warning: #b45309;--error: #dc2626;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--priority-must-bg: #0f172a;--priority-must-text: #ffffff;--priority-strong-bg: color-mix(in srgb, #475569 16%, transparent);--priority-strong-text: #334155;--priority-optional-bg: color-mix(in srgb, #94a3b8 14%, transparent);--priority-optional-text: #64748b}:root[data-theme=dark]{--bg-primary: #0a0c10;--bg-surface: #12151c;--bg-surface-hover: #171b24;--bg-inset: #0e1117;--bg-preview: #ffffff;--border-subtle: #252a36;--border-default: #303745;--border-strong: #4e5d71;--text-primary: #e8ecf2;--text-secondary: #c0c8d4;--text-tertiary: #6b7a8d;--text-inverse: #0a0c10;--accent-primary: #5ba4d9;--accent-primary-subtle: color-mix(in srgb, var(--accent-primary) 28%, transparent);--accent-primary-hover: #6cb8e8;--priority-must: #e8ecf2;--priority-strong: #c0c8d4;--priority-optional: #6b7a8d;--success: #3fbf8a;--warning: #d8a34d;--error: #f07178;--shadow-xs: 0 1px 3px rgba(0, 0, 0, .2);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .32);--shadow-md: 0 8px 24px rgba(0, 0, 0, .35);--shadow-lg: 0 14px 40px rgba(0, 0, 0, .5);--priority-must-bg: #e8ecf2;--priority-must-text: #0a0c10;--priority-strong-bg: color-mix(in srgb, #c0c8d4 18%, transparent);--priority-strong-text: #c0c8d4;--priority-optional-bg: color-mix(in srgb, #6b7a8d 14%, transparent);--priority-optional-text: #6b7a8d}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased}button,input,textarea,select{font-family:inherit}.left-panel-body,.preview-shell,.pdf-preview-shell,.jd-modal{scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent}.left-panel-body::-webkit-scrollbar,.preview-shell::-webkit-scrollbar,.pdf-preview-shell::-webkit-scrollbar,.jd-modal::-webkit-scrollbar{width:6px}.left-panel-body::-webkit-scrollbar-thumb,.preview-shell::-webkit-scrollbar-thumb,.pdf-preview-shell::-webkit-scrollbar-thumb,.jd-modal::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:3px}.left-panel-body::-webkit-scrollbar-thumb:hover,.preview-shell::-webkit-scrollbar-thumb:hover,.pdf-preview-shell::-webkit-scrollbar-thumb:hover,.jd-modal::-webkit-scrollbar-thumb:hover{background:var(--border-default)}.left-panel-body::-webkit-scrollbar-track,.preview-shell::-webkit-scrollbar-track,.pdf-preview-shell::-webkit-scrollbar-track,.jd-modal::-webkit-scrollbar-track{background:transparent}.app-shell{display:flex;flex-direction:column;height:100vh}.top-bar{box-shadow:0 1px 3px color-mix(in srgb,var(--text-primary) 6%,transparent);background:var(--bg-surface);display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:0 var(--space-6);min-height:44px;flex-shrink:0}.top-bar-brand{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.facet-lockup{display:inline-flex;align-items:center;gap:2px;line-height:1}.facet-mark{width:20px;height:25px;flex-shrink:0}.facet-wordmark{font-family:var(--font-brand);font-weight:300;font-size:24px;letter-spacing:-.5px;color:var(--text-primary)}.top-bar-tagline{margin:0;color:var(--text-tertiary);font-size:11px;font-family:var(--font-mono);letter-spacing:.04em}.top-bar-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex-shrink:0}.undo-redo-controls{display:flex;align-items:center;gap:var(--space-1);margin-right:var(--space-2);padding-right:var(--space-2);border-right:1px solid var(--border-subtle)}.view-switcher{display:flex;background:var(--bg-inset);border-radius:6px;padding:2px;gap:2px}.view-switcher-btn{font-size:12px;font-weight:500;padding:4px 12px;border:none;border-radius:4px;background:transparent;color:var(--text-tertiary);cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-1);transition:all var(--duration-fast) var(--easing)}.view-switcher-btn:hover{color:var(--text-secondary)}.view-switcher-btn.active{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-xs)}.dropdown-menu{position:relative}.dropdown-trigger{display:inline-flex;align-items:center;gap:var(--space-1)}.dropdown-chevron{opacity:.5;transition:transform var(--duration-fast) var(--easing)}.dropdown-chevron.open{transform:rotate(180deg)}.dropdown-panel{position:absolute;top:calc(100% + 4px);right:0;min-width:200px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px;box-shadow:var(--shadow-md);padding:4px;z-index:50}.dropdown-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:6px 12px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);font-size:13px;cursor:pointer;text-align:left;transition:background var(--duration-fast) var(--easing)}.dropdown-item:hover:not(:disabled){background:var(--bg-surface-hover);color:var(--text-primary)}.dropdown-item:disabled{opacity:.45;cursor:not-allowed}.dropdown-item-icon{flex-shrink:0;color:var(--text-tertiary)}.dropdown-item-label{flex:1}.dropdown-item-shortcut{color:var(--text-tertiary);font-size:11px;font-family:var(--font-mono)}.dropdown-divider{height:1px;background:var(--border-subtle);margin:4px 0}.dropdown-preset-section{padding:4px 12px}.dropdown-preset-section select{width:100%;margin-bottom:4px}@media(max-width:1400px){.top-bar-tagline{display:none}}@media(max-width:1200px){.top-bar-actions .btn-label{display:none}}@media(max-width:1024px){.top-bar{padding:0 var(--space-3);gap:var(--space-2)}.undo-redo-controls{margin-right:0;padding-right:var(--space-1);border-right:none}}.theme-panel{background:var(--bg-surface);padding:var(--space-6);display:grid;gap:var(--space-2)}.theme-panel-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-3)}.theme-panel-header h2{margin:0;font-size:13px}.theme-panel-actions{display:inline-flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;width:100%;justify-content:flex-start}.theme-density-controls{display:inline-flex;align-items:center;gap:var(--space-1)}.theme-density-label{font-size:11px;color:var(--text-tertiary);font-family:var(--font-mono)}.theme-density-button{padding:6px 10px;font-size:12px}.theme-preset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-2)}.theme-preset-card{border:1px solid var(--border-subtle);border-radius:8px;padding:var(--space-2);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;text-align:left;display:grid;gap:var(--space-1);transition:border-color var(--duration-fast) var(--easing),box-shadow var(--duration-fast) var(--easing)}.theme-preset-card:hover,.theme-preset-card.active{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.theme-preset-card.active{border-color:var(--accent-primary)}.theme-preset-name{font-size:12px;font-weight:600}.theme-preset-sample{display:inline-flex;gap:var(--space-2);font-size:11px;font-family:var(--font-mono)}.theme-gallery-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.theme-gallery-header h3{margin:0;font-size:12px}.theme-gallery-header p{margin:0;font-size:11px;color:var(--text-tertiary);font-family:var(--font-mono)}.theme-gallery-strip{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:4px;scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent}.theme-gallery-card{min-width:220px;border:1px solid var(--border-subtle);border-top:2px solid var(--border-subtle);border-radius:8px;background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;text-align:left;display:grid;gap:6px;padding:var(--space-2);transition:border-color var(--duration-normal) var(--easing),box-shadow var(--duration-normal) var(--easing),transform var(--duration-normal) var(--easing)}.theme-gallery-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm);transform:scale(1.02)}.theme-gallery-card.active{border-color:var(--border-strong);border-top-color:var(--accent-primary);box-shadow:var(--shadow-sm)}.theme-gallery-card-name{font-size:12px;font-weight:600}.theme-gallery-card-fonts{font-size:10px;color:var(--text-tertiary);font-family:var(--font-mono)}.theme-gallery-paper{border-radius:6px;background:#fff;min-height:140px;padding:10px;display:grid;gap:4px;align-content:start;border:1px solid #dde4ef}.theme-gallery-paper p{margin:0}.theme-gallery-name-line{line-height:1.1}.theme-gallery-contact-line{line-height:1.2}.theme-gallery-section-wrap{display:grid;gap:2px}.theme-gallery-section-line{line-height:1.15}.theme-gallery-section-rule{width:100%}.theme-gallery-role-line{font-weight:600}.theme-gallery-bullet-line{line-height:1.2}.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-2)}.typography-tab-grid{grid-template-columns:1fr}.theme-tab-row{display:flex;gap:var(--space-2);flex-wrap:wrap}.theme-tab{border:1px solid var(--border-subtle);border-radius:999px;background:var(--bg-surface);color:var(--text-secondary);font-family:var(--font-mono);font-size:12px;padding:6px 10px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:border-color var(--duration-fast) var(--easing),background var(--duration-fast) var(--easing),color var(--duration-fast) var(--easing),box-shadow var(--duration-fast) var(--easing)}.theme-tab:hover{border-color:var(--accent-primary);color:var(--text-primary)}.theme-tab.active{border-color:var(--accent-primary);background:var(--accent-primary-subtle);color:var(--accent-primary);box-shadow:var(--shadow-xs)}.theme-tab-panel{border:1px solid var(--border-subtle);border-radius:8px;padding:var(--space-3);background:color-mix(in srgb,var(--bg-surface) 94%,var(--bg-inset));box-shadow:inset 0 2px 4px #0000000a}.theme-presets-tab{display:grid;gap:var(--space-3)}.preset-controls{display:inline-flex;align-items:center;gap:var(--space-2)}.preset-controls .component-input.compact{min-width:200px}.vector-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-6);box-shadow:0 1px 3px color-mix(in srgb,var(--text-primary) 6%,transparent);background:var(--bg-surface);position:sticky;top:0;z-index:5}.vector-pills{display:flex;align-items:center;gap:var(--space-3)}.vector-actions{display:inline-flex;align-items:center;gap:var(--space-2)}.vector-pill{font-family:var(--font-mono);font-size:12px;font-weight:600;padding:6px 14px;border-radius:6px;border:1px solid color-mix(in srgb,var(--vector-color, var(--accent-primary)) 25%,var(--border-subtle));background:color-mix(in srgb,var(--vector-color, var(--accent-primary)) 8%,var(--bg-surface));color:color-mix(in srgb,var(--vector-color, var(--accent-primary)) 70%,var(--text-secondary));cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-1);transition:all var(--duration-normal) var(--easing)}.vector-pill:hover{border-color:var(--vector-color, var(--accent-primary));background:color-mix(in srgb,var(--vector-color, var(--accent-primary)) 15%,var(--bg-surface));color:color-mix(in srgb,var(--vector-color, var(--accent-primary)) 90%,var(--text-primary));transform:translateY(-1px)}.vector-pill.active{background:var(--vector-color, var(--accent-primary));border-color:transparent;color:var(--text-inverse);box-shadow:0 0 0 1px color-mix(in srgb,var(--vector-color, var(--accent-primary)) 30%,transparent),0 2px 8px color-mix(in srgb,var(--vector-color, var(--accent-primary)) 20%,transparent);text-shadow:0 1px 2px rgba(0,0,0,.15);opacity:1}.add-pill{border-style:dashed}.workspace{display:flex;flex:1;min-height:0}.library-column{height:100%;min-width:360px}.preview-column{display:flex;flex-direction:column;height:100%;background:var(--bg-inset)}.splitter{width:6px;cursor:col-resize;background:var(--border-subtle);transition:background var(--duration-fast) var(--easing),box-shadow var(--duration-fast) var(--easing);position:relative}.splitter:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:32px;border-radius:1px;background:var(--border-strong);opacity:0;transition:opacity var(--duration-normal) var(--easing)}.splitter:hover{background:var(--border-default);box-shadow:0 0 8px color-mix(in srgb,var(--accent-primary) 20%,transparent)}.splitter:active{background:var(--accent-primary)}.splitter:hover:after{opacity:1}.splitter:focus-visible{outline:none;background:var(--accent-primary)}.format-toggle{display:flex;background:var(--bg-surface-subtle);padding:2px;border-radius:8px;border:1px solid var(--border-subtle)}.format-toggle .btn-secondary{border:none;background:transparent;padding:4px 12px;font-size:13px;border-radius:6px;box-shadow:none}.format-toggle .btn-secondary.selected{background:var(--bg-surface);color:var(--active-vector-color, var(--accent-primary));box-shadow:var(--shadow-sm);position:relative}.format-toggle .btn-secondary.selected:after{content:"";position:absolute;bottom:-2px;left:12px;right:12px;height:2px;background:var(--active-vector-color, var(--accent-primary));border-radius:99px}.left-panel-shell{height:100%;display:flex;flex-direction:column}.left-panel-header{display:flex;align-items:center;padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.left-panel-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.library-panel{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.library-search{margin-bottom:var(--space-2)}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:10px;color:var(--text-tertiary);pointer-events:none}.search-input{width:100%;padding:8px 32px;border-radius:8px;border:1px solid var(--border-subtle);background:var(--bg-surface-subtle);font-size:13px;color:var(--text-primary);transition:all var(--duration-fast) var(--easing)}.search-input:focus{outline:none;border-color:var(--accent-primary);background:var(--bg-surface);box-shadow:0 0 0 2px var(--accent-primary-subtle)}.search-clear{position:absolute;right:8px;padding:4px;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;border-radius:4px}.search-clear:hover{color:var(--text-secondary);background:var(--bg-surface-hover)}.section-header-wrapper{display:flex;align-items:center;gap:var(--space-2)}.section-header-wrapper .section-header,.section-title-text{flex:1}.section-summary-pill{font-family:var(--font-mono);font-size:10px;padding:2px 6px;background:var(--bg-inset);color:var(--text-tertiary);border-radius:999px;margin-left:auto;border:1px solid var(--border-subtle);color:var(--accent-primary)}.section-summary-pill .section-add-btn{color:var(--text-tertiary);opacity:.4;transition:opacity var(--duration-fast) var(--easing),color var(--duration-fast) var(--easing)}.section-summary-pill .section-header-wrapper:hover .section-add-btn{opacity:1}.section-summary-pill .section-add-btn:focus,.section-summary-pill .section-add-btn:focus-visible{opacity:1;color:var(--accent-primary);outline:2px solid var(--accent-primary);outline-offset:2px}.section-summary-pill .search-clear:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px;color:var(--text-primary)}.section-add-btn:focus-visible{opacity:1}.section-empty-state{padding:var(--space-4);text-align:center;color:var(--text-tertiary);font-size:13px;background:var(--bg-surface-subtle);border-radius:8px;border:1px dashed var(--border-subtle);margin:0}.library-section-toggle{display:flex;justify-content:space-between;align-items:center}.library-panel-header h2{margin:0;font-size:15px;font-weight:500}.library-section{display:flex;flex-direction:column;gap:var(--space-3)}.section-header{margin:0}.library-section-toggle{width:100%;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-surface);color:var(--text-tertiary);font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;display:inline-flex;align-items:center;gap:var(--space-2);padding:8px 10px;cursor:pointer;text-align:left;transition:border-color var(--duration-normal) var(--easing),background var(--duration-normal) var(--easing),box-shadow var(--duration-normal) var(--easing),color var(--duration-normal) var(--easing)}.library-section-toggle:hover{border-color:var(--border-default);color:var(--text-secondary);box-shadow:inset 3px 0 0 var(--active-vector-color, var(--accent-primary));background:color-mix(in srgb,var(--active-vector-color, var(--accent-primary)) 4%,var(--bg-surface))}.library-section-toggle:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.library-section-toggle svg{transition:transform var(--duration-normal) var(--easing)}.library-section-toggle.expanded{box-shadow:inset 3px 0 0 var(--active-vector-color, var(--accent-primary))}.library-section-toggle.expanded svg{transform:rotate(90deg)}.library-section-collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--duration-slow) var(--easing)}.library-section-collapse.expanded{grid-template-rows:1fr}.library-section-collapse>.library-section-panel{overflow:hidden}.library-section-panel,.library-grid{display:flex;flex-direction:column;gap:var(--space-3)}.header-link-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:var(--space-2);align-items:end}.role-grid{gap:var(--space-4)}.component-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px;padding:12px 16px;box-shadow:var(--shadow-xs);transition:border-color var(--duration-normal) var(--easing),box-shadow var(--duration-normal) var(--easing),transform var(--duration-normal) var(--easing),opacity var(--duration-normal) var(--easing)}.component-card:hover{border-color:var(--border-default);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.component-card:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary-subtle)}.component-card.dimmed{opacity:.5;border-style:dashed;box-shadow:none}.component-card-header{display:flex;justify-content:space-between;gap:var(--space-2);align-items:center;margin-bottom:var(--space-2)}.component-card-header h4{margin:0;font-size:14px;font-weight:500}.component-card-actions{display:inline-flex;gap:var(--space-2);align-items:center}.component-input{width:100%;border-radius:6px;border:1px solid var(--border-subtle);background:var(--bg-surface);font-size:13px;color:var(--text-secondary);padding:8px;min-height:76px;resize:vertical;transition:border-color var(--duration-fast) var(--easing),box-shadow var(--duration-fast) var(--easing)}.component-input:hover{border-color:var(--border-default)}.component-input.compact{min-height:34px;resize:none}select.component-input{appearance:none;cursor:pointer;padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.component-input:focus-visible{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-subtle)}.vector-badges{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.vector-badge{font-family:var(--font-mono);font-size:11px;font-weight:500;padding:2px 8px;border-radius:4px;color:var(--vector-color);background:color-mix(in srgb,var(--vector-color) 8%,transparent)}.priority-badge{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:2px 8px;border-radius:4px;line-height:1}.priority-must{background:var(--priority-must-bg);color:var(--priority-must-text)}.priority-strong{background:var(--priority-strong-bg);color:var(--priority-strong-text)}.priority-optional{background:var(--priority-optional-bg);color:var(--priority-optional-text)}.priority-exclude{color:var(--priority-optional);opacity:.6}.role-block{display:flex;flex-direction:column;gap:var(--space-2);border:1px solid var(--border-subtle);border-radius:8px;padding:var(--space-3);background:var(--bg-surface)}.role-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);background:linear-gradient(to right,color-mix(in srgb,var(--accent-primary) 8%,var(--bg-inset)),var(--bg-inset) 60%);border-radius:6px;padding:var(--space-2) var(--space-3);border-left:3px solid var(--accent-primary);box-shadow:inset 3px 0 8px -3px color-mix(in srgb,var(--accent-primary) 25%,transparent)}.role-header-main{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.role-header-actions{display:flex;align-items:flex-start;gap:var(--space-1);padding-top:2px}.role-collapse-toggle{border:0;background:transparent;color:var(--text-tertiary);cursor:pointer;padding:2px;display:flex;align-items:center;border-radius:4px;transition:color var(--duration-fast) var(--easing),background var(--duration-fast) var(--easing);align-self:center}.role-collapse-toggle:hover{color:var(--text-secondary);background:var(--bg-surface-hover)}.role-collapse-toggle svg{transition:transform var(--duration-normal) var(--easing)}.role-collapse-toggle.expanded svg{transform:rotate(90deg)}.role-collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--duration-slow) var(--easing)}.role-collapse.expanded{grid-template-rows:1fr}.role-collapse-panel{overflow:hidden;display:flex;flex-direction:column;gap:var(--space-2)}.role-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1) var(--space-2)}.role-fields .field-label{font-size:10px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-weight:500}.role-fields .component-input.compact{background:var(--bg-surface);border-color:transparent;transition:border-color var(--duration-normal) var(--easing),box-shadow var(--duration-normal) var(--easing)}.role-fields .component-input.compact:hover{border-color:var(--border-subtle)}.role-fields .component-input.compact:focus-visible{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-subtle)}.optional-field-row{display:flex;align-items:center;gap:4px}.optional-field-row .component-input{flex:1;min-width:0}.optional-field-row .btn-icon{color:var(--text-tertiary);opacity:0;transition:opacity var(--duration-normal) var(--easing)}.optional-field:hover .btn-icon,.optional-field:focus-within .btn-icon{opacity:1}.optional-field-row .btn-icon:hover{color:var(--error, #e53e3e)}.btn-add-optional{font-size:10px;gap:2px;color:var(--accent-primary);opacity:.7;border:1px dashed var(--border-subtle);border-radius:4px;padding:4px 8px;transition:opacity var(--duration-normal) var(--easing),border-color var(--duration-normal) var(--easing),background var(--duration-normal) var(--easing)}.btn-add-optional:hover{opacity:1;border-color:var(--accent-primary);background:var(--accent-primary-subtle)}.btn-icon{padding:2px;flex-shrink:0}.custom-order-badge{font-size:10px;font-family:var(--font-mono);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:999px;padding:2px 8px;background:color-mix(in srgb,var(--text-secondary) 8%,transparent);font-weight:600;line-height:1}.bullet-list{display:flex;flex-direction:column;gap:var(--space-2)}.bullet-card{padding:12px 12px 12px 20px;position:relative;overflow:hidden}.priority-strip{position:absolute;top:0;left:0;bottom:0;width:4px;background:var(--border-subtle);transition:background var(--duration-normal) var(--easing)}.priority-strip.priority-must{background:#22c55e}.priority-strip.priority-strong{background:#3b82f6}.priority-strip.priority-optional{background:#94a3b8}.priority-strip.priority-exclude{background:#f1f5f9}.skill-vector-config-drawer{margin-top:var(--space-3);padding:var(--space-3);background:var(--bg-surface-subtle);border:1px solid var(--border-subtle);border-radius:8px;box-shadow:inset 0 2px 4px #0000000a}.drawer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle)}.drawer-header h5{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.skill-vector-fields{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}.skill-vector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-3)}.skill-vector-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:6px;padding:var(--space-2)}.skill-vector-heading{display:flex;align-items:center;gap:6px;font-size:12px;margin-bottom:var(--space-1)}.vector-dot{width:8px;height:8px;border-radius:50%;background:var(--vector-color, var(--accent-primary))}.bullet-footer-row{display:flex;justify-content:space-between;align-items:flex-end;margin-top:var(--space-2)}.bullet-footer-row .variant-control{margin-top:0;flex:1}.vector-matrix{display:flex;gap:6px;align-items:center;margin-left:auto;padding-left:var(--space-4)}.matrix-dot{width:10px;height:10px;border-radius:50%;border:1.5px solid transparent;cursor:pointer;transition:transform var(--duration-fast) var(--easing),box-shadow var(--duration-fast) var(--easing);position:relative;padding:0}.matrix-dot:hover{transform:scale(1.3);z-index:2}.matrix-dot.priority-must{background:var(--vector-color);box-shadow:0 0 0 1px var(--bg-surface),0 0 0 2px var(--vector-color)}.matrix-dot.priority-strong{background:var(--vector-color)}.matrix-dot.priority-optional{border-color:var(--vector-color);background:transparent}.matrix-dot.priority-exclude{border-color:var(--border-subtle);background:transparent;opacity:.3}.matrix-dot:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-6px);padding:4px 8px;background:#1e293b;color:#f8fafc;font-size:10px;font-family:var(--font-mono);border-radius:4px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--duration-fast) var(--easing),transform var(--duration-fast) var(--easing);z-index:100;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.matrix-dot:hover:after{opacity:1;transform:translate(-50%) translateY(-8px)}.matrix-dot.tooltip-left:hover:after{left:auto;right:0;transform:translate(0) translateY(-8px)}.priority-quick-toggle{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;border:1px solid var(--border-subtle);background:var(--bg-surface-subtle);transition:all var(--duration-fast) var(--easing);font-family:var(--font-mono)}.priority-quick-toggle:hover{border-color:var(--border-default);background:var(--bg-surface-hover)}.priority-quick-toggle.must{color:#166534;border-color:#bbf7d0;background:#f0fdf4}.priority-quick-toggle.strong{color:#1e40af;border-color:#bfdbfe;background:#eff6ff}.priority-quick-toggle.optional{color:#475569;border-color:#e2e8f0;background:#f8fafc}.priority-quick-toggle.exclude{color:#94a3b8;border-color:#f1f5f9;background:#fff}.bullet-title-row{display:inline-flex;align-items:center;gap:var(--space-1)}.bullet-label-input{border:0;background:transparent;color:var(--text-primary);font:inherit;font-weight:600;font-size:var(--font-sm);padding:0;min-width:48px;max-width:160px;width:0;flex:1 1 auto}.bullet-label-input::placeholder{color:var(--text-tertiary);font-weight:600}.bullet-label-input:focus{outline:none;border-bottom:1px solid var(--accent-primary)}.drag-handle{border:0;background:transparent;color:var(--text-tertiary);cursor:grab;padding:0;display:inline-flex;border-radius:4px;transition:color var(--duration-fast) var(--easing),background var(--duration-fast) var(--easing)}.drag-handle:hover{color:var(--text-secondary);background:var(--bg-surface-hover)}.drag-handle:active{cursor:grabbing;color:var(--accent-primary)}.skill-vector-grid{display:grid;gap:var(--space-2)}.skill-vector-card{border:1px solid var(--border-subtle);border-radius:6px;padding:var(--space-2);background:var(--bg-surface);box-shadow:var(--shadow-xs);transition:border-color var(--duration-fast) var(--easing),box-shadow var(--duration-fast) var(--easing);display:grid;gap:var(--space-2)}.skill-vector-heading{display:inline-flex;align-items:center;gap:var(--space-1);font-size:12px;color:var(--text-secondary);font-family:var(--font-mono)}.vector-dot{width:8px;height:8px;border-radius:999px;background:var(--vector-color);display:inline-block}.preview-shell{height:100%;overflow-y:auto;padding:var(--space-6);position:relative}.preview-page-guide{position:absolute;left:0;right:0;height:1px;border-top:1px dashed var(--accent-primary);opacity:.3;pointer-events:none;z-index:10}.preview-shell.show-heatmap .resume-section,.preview-shell.show-heatmap .resume-header,.preview-shell.show-heatmap .target-line{position:relative;outline:1px dashed rgba(255,0,0,.2);background:#ff000008}.preview-shell.show-heatmap .resume-section:after{content:"Section";position:absolute;top:0;right:0;font-size:10px;background:#ff00001a;color:red;padding:2px 4px;opacity:.6;pointer-events:none}.visual-aids-panel{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-2)}.visual-aid-control{background:var(--bg-surface-subtle);padding:var(--space-3);border-radius:8px;border:1px solid var(--border-subtle)}.checkbox-label{display:flex;align-items:center;gap:var(--space-2);font-weight:600;cursor:pointer;margin-bottom:var(--space-1)}.checkbox-label input{width:16px;height:16px}.field-help{font-size:12px;color:var(--text-dim);margin-left:24px}.design-health-report{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:12px;padding:var(--space-4);margin-top:var(--space-2);box-shadow:var(--shadow-sm)}.health-score-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-2)}.health-score-label{font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.05em}.health-score-value{font-size:24px;font-weight:800;font-family:var(--font-mono)}.health-score-value.good{color:#22c55e}.health-score-value.fair{color:#eab308}.health-score-value.poor{color:#ef4444}.health-score-bar{height:8px;background:var(--bg-surface-subtle);border-radius:4px;overflow:hidden;margin-bottom:var(--space-4)}.health-score-fill{height:100%;transition:width .5s ease-out}.health-score-fill.good{background:#22c55e}.health-score-fill.fair{background:#eab308}.health-score-fill.poor{background:#ef4444}.health-issues-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.health-issue-item{display:flex;align-items:flex-start;gap:var(--space-2);font-size:13px;padding:var(--space-2);border-radius:6px}.health-issue-item.type-error{background:#ef44441a;color:#ef4444}.health-issue-item.type-warning{background:#eab3081a;color:#a16207}.health-success-msg{color:#22c55e;font-weight:600;font-size:13px;text-align:center;padding:var(--space-2)}.pdf-preview-shell{display:flex;flex:1;min-height:0;flex-direction:column;gap:var(--space-2);padding:var(--space-4)}.pdf-preview-buffer-container{position:relative;flex:1;min-height:0}.pdf-preview-frame{position:absolute;inset:0;width:100%;height:100%;border:none;border-radius:8px;background:var(--bg-preview);box-shadow:var(--shadow-md)}.pdf-preview-loading{opacity:0;pointer-events:none}.pdf-preview-placeholder{flex:1;min-height:0;border:1px dashed var(--border-default);border-radius:8px;color:var(--text-tertiary);background:var(--bg-surface);display:grid;place-content:center;font-size:13px;box-shadow:inset 0 2px 4px #0000000a}.pdf-preview-status{color:var(--text-tertiary);font-size:12px;font-family:var(--font-mono)}.pdf-preview-status.error{color:var(--error)}.preview-paper{background:var(--bg-preview);max-width:680px;margin:0 auto;padding-top:var(--preview-margin-top);padding-right:var(--preview-margin-right);padding-bottom:var(--preview-margin-bottom);padding-left:var(--preview-margin-left);box-shadow:0 1px 3px #0000003d,0 8px 24px #00000047,0 24px 60px #0000006b;border-radius:2px;min-height:880px}.preview-paper section{margin-top:var(--preview-section-gap-before)}.preview-paper h1{margin:0;font-size:var(--preview-size-name);color:var(--preview-color-heading);font-family:var(--preview-font-heading);font-weight:var(--preview-name-weight);letter-spacing:var(--preview-name-letter-spacing);text-align:var(--preview-name-align)}.resume-contact-block{margin-top:var(--preview-paragraph-gap);margin-bottom:var(--preview-contact-gap-after);text-align:var(--preview-contact-align)}.resume-contact{margin:0;color:var(--preview-color-dim);font-size:var(--preview-size-contact)}.resume-contact+.resume-contact{margin-top:var(--preview-paragraph-gap)}.resume-header .target-line{margin-top:0}.preview-paper h2{margin:0 0 var(--preview-section-gap-after);padding-bottom:var(--preview-section-rule-gap);font-family:var(--preview-font-heading);font-size:var(--preview-size-section);color:var(--preview-color-section);border-bottom:var(--preview-rule-weight) solid var(--preview-color-rule)}.section-style-caps-rule .preview-paper h2{text-transform:uppercase;letter-spacing:var(--preview-letter-spacing)}.section-style-bold-rule .preview-paper h2{text-transform:none;letter-spacing:normal}.section-style-bold-only .preview-paper h2{border-bottom:0;text-transform:none;letter-spacing:normal}.section-style-underline .preview-paper h2{border-bottom:0;text-transform:none;text-decoration:underline}.preview-paper p,.preview-paper li{font-family:var(--preview-font-body);font-size:var(--preview-size-body);line-height:var(--preview-line-height);color:var(--preview-color-body)}.target-line{font-family:var(--preview-font-heading);font-weight:500;color:var(--preview-color-section)!important;font-size:var(--preview-size-role-title)!important;text-align:var(--preview-name-align)}.plain-list{list-style:none;padding:0;margin:0}.preview-competency-row{margin-bottom:var(--preview-competency-gap)}.preview-competency-row strong{color:var(--preview-color-competency-label);font-weight:var(--preview-competency-label-weight)}.role-preview-list{display:flex;flex-direction:column;gap:var(--preview-role-gap)}.role-preview-header{display:flex;flex-direction:column;gap:var(--preview-role-header-gap)}.role-company-line{display:flex;justify-content:space-between;gap:var(--space-2);align-items:baseline}.dates-alignment-inline .role-company-line{justify-content:flex-start}.role-company-line strong{color:var(--preview-color-heading);font-family:var(--preview-font-heading);font-size:var(--preview-size-company);font-weight:var(--preview-company-weight)}.role-company-line span{color:var(--preview-color-dates);font-size:var(--preview-size-small)}.role-title-line{margin:0 0 var(--preview-role-line-gap-after);font-family:var(--preview-font-heading)!important;font-size:var(--preview-size-role-title)!important;color:var(--preview-color-role-title)!important;font-style:var(--preview-role-title-style)}.role-subtitle-line{margin:0 0 var(--preview-paragraph-gap);color:var(--preview-color-subtitle)!important;font-size:var(--preview-size-small)!important;font-style:var(--preview-subtitle-style)}.role-subtitle{color:var(--preview-color-subtitle)!important;font-size:var(--preview-size-small)!important;font-style:var(--preview-subtitle-style);margin-left:.3em}.preview-bullet-list{list-style:none;margin:0;padding-left:var(--preview-bullet-indent);display:grid;gap:var(--preview-bullet-gap)}.preview-bullet-item{position:relative}.preview-bullet-item:before{content:var(--preview-bullet-char);position:absolute;left:calc(-1 * var(--preview-bullet-indent) + var(--preview-bullet-hanging));color:var(--preview-color-section)}.project-preview-row{margin-bottom:var(--preview-project-gap)}.project-preview-row strong{font-weight:var(--preview-project-name-weight)}.project-preview-url{color:var(--preview-color-project-url);font-size:var(--preview-size-project-url)}.education-preview-row strong{font-weight:var(--preview-education-school-weight)}.no-bullets .preview-bullet-item:before{content:""}.dates-alignment-inline .role-company-line span:before{content:"| ";color:var(--preview-color-dates)}.dates-alignment-inline .role-company-line span{margin-left:0}.dates-alignment-right-tab .role-company-line span{margin-left:auto}.dates-alignment-right-tab .role-company-line span:before{content:""}.status-bar{border-top:none;box-shadow:0 -1px 4px color-mix(in srgb,var(--text-primary) 8%,transparent);background:var(--bg-surface);color:var(--text-tertiary);font-size:12px;font-family:var(--font-mono);transition:background var(--duration-normal) var(--easing);display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-6)}.status-warning{margin-left:auto;color:var(--warning);display:inline-flex;align-items:center;gap:var(--space-1)}.preset-status{color:var(--text-secondary)}.preset-status.dirty{color:var(--warning)}.status-bar.warning{background:color-mix(in srgb,var(--warning) 6%,var(--bg-surface))}.status-bar.critical{background:color-mix(in srgb,var(--error) 6%,var(--bg-surface))}.status-bar.critical .status-warning{color:var(--error)}.btn-primary,.btn-secondary,.btn-ghost{display:inline-flex;align-items:center;gap:var(--space-1)}.btn-primary{background:var(--text-primary);color:var(--text-inverse);border:0;border-radius:6px;padding:8px 20px;font-size:13px;font-weight:500;cursor:pointer;box-shadow:var(--shadow-xs);transition:opacity var(--duration-fast) var(--easing),box-shadow var(--duration-fast) var(--easing),transform var(--duration-fast) var(--easing)}.btn-primary:hover{opacity:.85;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0);box-shadow:var(--shadow-xs)}.btn-secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:6px;padding:8px 16px;font-size:13px;font-weight:500;cursor:pointer;transition:background var(--duration-fast) var(--easing),border-color var(--duration-fast) var(--easing),box-shadow var(--duration-fast) var(--easing)}.btn-secondary:hover,.btn-secondary.selected{background:var(--bg-surface-hover);border-color:var(--border-strong);box-shadow:inset 0 1px 2px #0000000f}.btn-ghost{background:transparent;color:var(--text-tertiary);border:0;padding:4px 8px;font-size:12px;cursor:pointer;border-radius:4px;transition:color var(--duration-fast) var(--easing),background var(--duration-fast) var(--easing)}.btn-ghost:hover{color:var(--text-secondary);background:var(--bg-surface-hover)}.btn-ghost:disabled{opacity:.45;cursor:not-allowed}.empty-state-wrap{display:grid;place-items:center;background:var(--bg-primary)}.empty-state{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px;padding:32px;max-width:480px;text-align:center;box-shadow:var(--shadow-sm)}.empty-state h2{margin:0;font-size:16px}.empty-state p{margin:10px 0 0;font-size:13px;color:var(--text-secondary);line-height:1.5}.empty-state-wireframe{display:flex;gap:2px;margin-bottom:var(--space-4);padding:12px;border:1px solid var(--border-subtle);border-radius:6px;background:var(--bg-inset)}.wireframe-panel{flex:1;display:flex;flex-direction:column;gap:6px;padding:8px}.wireframe-divider{width:2px;background:var(--border-subtle);border-radius:1px}.wireframe-line{height:4px;border-radius:2px;background:var(--border-default);opacity:.5}.empty-actions{margin-top:var(--space-4);display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.modal-overlay{position:fixed;inset:0;background:#0a0c1099;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:grid;place-items:center;z-index:30;padding:var(--space-6)}.modal-card{width:min(640px,100%);background:var(--bg-surface);border:1px solid var(--border-subtle);border-top:2px solid var(--accent-primary);border-radius:8px;box-shadow:var(--shadow-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.jd-modal{max-height:min(90vh,920px);overflow-y:auto}.reframe-modal{max-width:600px}.reframe-content{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-4);margin-bottom:var(--space-4)}.reframe-section h4{font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--space-2)}.reframe-text{font-size:14px;line-height:1.5;padding:var(--space-3);border-radius:6px;margin:0}.reframe-text.original{background:var(--bg-inset);color:var(--text-secondary);border:1px solid var(--border-subtle)}.reframe-text.suggested{background:color-mix(in srgb,var(--accent-primary) 10%,var(--bg-surface));color:var(--text-primary);border:1px solid color-mix(in srgb,var(--accent-primary) 30%,var(--border-subtle));font-weight:500}.reframe-strategy{font-size:12px;font-style:italic;color:var(--text-secondary);margin:0;padding-left:var(--space-3);border-left:2px solid var(--border-subtle)}.reframe-actions{display:flex;justify-content:flex-end;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.jd-results{display:grid;gap:var(--space-3)}.jd-section{border:1px solid var(--border-subtle);border-radius:6px;padding:var(--space-2);background:var(--bg-surface);box-shadow:var(--shadow-xs)}.jd-section h4{margin:0 0 8px;font-size:12px;font-family:var(--font-mono);color:var(--text-secondary)}.jd-section p{margin:0}.jd-checkbox{display:flex;gap:var(--space-2);align-items:flex-start;font-size:12px;color:var(--text-secondary)}.jd-skill-gaps{margin:0;padding-left:18px;color:var(--error)}.jd-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-subtle);padding-bottom:var(--space-3)}.modal-header h3{margin:0;font-size:15px}.import-textarea{width:100%;min-height:260px;border-radius:8px;border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-primary);padding:var(--space-3);font-family:var(--font-mono);font-size:12px;resize:vertical;transition:border-color var(--duration-fast) var(--easing),box-shadow var(--duration-fast) var(--easing)}.import-textarea:hover{border-color:var(--border-default)}.import-textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-subtle)}.format-toggle{display:inline-flex;gap:var(--space-2)}.field-label{display:flex;flex-direction:column;gap:var(--space-1);color:var(--text-secondary);font-size:12px;font-family:var(--font-mono);padding:var(--space-1);border-radius:6px;transition:background var(--duration-fast) var(--easing)}.field-label:hover{background:var(--bg-surface-hover)}.font-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-1);margin-top:var(--space-1)}.font-option{display:flex;align-items:center;gap:var(--space-2);padding:6px 10px;border-radius:6px;border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;transition:all var(--duration-fast) var(--easing);text-align:left;min-width:0}.font-option:hover{border-color:var(--border-default);background:var(--bg-surface-hover)}.font-option.active{border-color:var(--accent-primary);background:var(--accent-primary-subtle);box-shadow:0 0 0 1px var(--accent-primary)}.font-option-preview{font-size:16px;font-weight:500;flex-shrink:0}.font-option-name{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.variant-control{margin-top:var(--space-2)}.vector-priority-editor{margin:var(--space-2) 0 0;border:1px solid var(--border-subtle);border-radius:6px;padding:var(--space-2);min-width:0}.vector-priority-title{font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;color:var(--text-tertiary);padding:0 var(--space-1)}.vector-priority-grid{display:flex;flex-direction:column;gap:var(--space-2)}.vector-priority-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);color:var(--text-secondary);font-size:12px;font-family:var(--font-mono)}.vector-priority-label{display:inline-flex;align-items:center;gap:var(--space-2)}.vector-priority-dot{width:8px;height:8px;border-radius:999px;display:inline-block}.vector-priority-select{min-height:30px;min-width:124px;padding:4px 8px;font-size:12px}.toast{position:fixed;right:var(--space-4);bottom:calc(32px + var(--space-4));padding:8px 12px;border-radius:6px;border:1px solid var(--border-default);border-left:3px solid var(--border-default);background:var(--bg-surface);box-shadow:var(--shadow-md);font-size:12px;font-family:var(--font-mono);z-index:40;animation:toast-in .2s var(--easing)}.toast.success{border-color:color-mix(in srgb,var(--success) 35%,var(--border-default));border-left-color:var(--success);background:color-mix(in srgb,var(--success) 4%,var(--bg-surface));color:var(--success)}.toast.error{border-color:color-mix(in srgb,var(--error) 35%,var(--border-default));border-left-color:var(--error);background:color-mix(in srgb,var(--error) 4%,var(--bg-surface));color:var(--error)}.error-text{margin:0;color:var(--error);font-size:12px}.warning-text{margin:0;color:var(--warning);font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1024px){.workspace{flex-direction:column}.library-column,.preview-column{width:100%!important;min-width:0}.splitter{width:100%;height:6px;cursor:row-resize}.splitter:after{width:32px;height:2px}.preview-paper{min-height:auto}}@media(max-width:768px){.theme-gallery-header{align-items:flex-start;flex-direction:column}.theme-tab-row{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.vector-bar{padding:0 var(--space-3);overflow-x:auto}.vector-bar .btn-ghost{display:none}.library-panel,.preview-shell,.pdf-preview-shell{padding:var(--space-3)}.header-link-row{grid-template-columns:1fr}.preview-paper{padding:26px 20px}}@keyframes toast-in{0%{opacity:0;transform:translate(16px)}}
