:root{--purple: #714b67;--purple-dark: #5d3d55;--purple-light: #f3edf2;--on-purple: #ffffff;--ink: #1f2937;--muted: #6b7280;--line: #e5e7eb;--bg: #faf9fb;--card: #ffffff;--card-hover: #fbf8fa;--green: #15803d;--red: #b91c1c;--radius: 12px;--warn-bg: #fffbeb;--warn-border: #fcd34d;--warn-ink: #92400e;--ok-bg: #f0fdf4;--ok-border: #bbf7d0;--bad-bg: #fef2f2;--bad-border: #fecaca;--badge-link-bg: #eef2ff;--badge-link-ink: #4338ca;--badge-bool-bg: #ecfdf5;--badge-bool-ink: #047857;--badge-select-bg: #fff7ed;--badge-select-ink: #c2410c;--badge-rel-bg: #fdf2f8;--badge-rel-ink: #be185d;--badge-num-bg: #f0f9ff;--badge-num-ink: #0369a1;--tooltip-bg: #1f2937;--tooltip-ink: #f4f4f5;--table-header-bg: #6b7280;--table-header-req-bg: #714b67;--table-header-ink: #ffffff}:root[data-theme=dark]{--purple: #dba0d1;--purple-dark: #eec7e4;--purple-light: #3a2740;--on-purple: #2a1a26;--ink: #eee8f1;--muted: #a99bb3;--line: #372c40;--bg: #16121c;--card: #1f1927;--card-hover: #271e30;--green: #7fcb9f;--red: #e28787;--warn-bg: #3a2e18;--warn-border: #7a5a1f;--warn-ink: #e4b168;--ok-bg: #1e3327;--ok-border: #2d5940;--bad-bg: #3a2020;--bad-border: #5c3030;--badge-link-bg: #2a2d5c;--badge-link-ink: #a5b4fc;--badge-bool-bg: #1a3a2c;--badge-bool-ink: #6ee7b7;--badge-select-bg: #3d2814;--badge-select-ink: #fdba74;--badge-rel-bg: #3d1f30;--badge-rel-ink: #f9a8d4;--badge-num-bg: #17313f;--badge-num-ink: #7dd3fc}*{box-sizing:border-box}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--purple);outline-offset:2px}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}.app{max-width:1060px;margin:0 auto;padding:0 20px 60px;min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;padding:20px 0 16px;border-bottom:1px solid var(--line);margin-bottom:6px}.brand{display:flex;align-items:center;gap:12px;cursor:pointer}.brand-mark{display:inline-flex;color:var(--purple)}.brand strong{display:block;font-size:18px}.brand small{display:block;color:var(--muted);font-size:13px}.header-right{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.btn-tips{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--card);border-radius:8px;padding:7px 14px;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer}.btn-tips:hover,.btn-tips.active{border-color:var(--purple);color:var(--purple);background:var(--purple-light)}.btn-icon-only{padding:8px 9px}.badge-versions{background:var(--purple-light);color:var(--purple);font-weight:600;font-size:13px;padding:6px 12px;border-radius:999px;white-space:nowrap}.side-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000;pointer-events:none;transition:background .2s ease;z-index:100}.side-menu-backdrop.open{background:#00000073;pointer-events:auto}.side-menu{position:fixed;top:0;right:0;bottom:0;width:300px;max-width:85vw;background:var(--card);border-left:1px solid var(--line);box-shadow:-8px 0 30px #0003;transform:translate(100%);transition:transform .25s ease;z-index:101;display:flex;flex-direction:column;padding:18px;overflow-y:auto}.side-menu.open{transform:translate(0)}.side-menu-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.side-menu-title{font-size:16px;font-weight:700}.side-menu-close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:none;background:none;color:var(--muted);font-size:20px;line-height:1;cursor:pointer}.side-menu-close:hover{background:var(--card-hover);color:var(--ink)}.side-menu-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.side-menu-item{width:100%;display:flex;align-items:center;gap:12px;border:none;background:none;border-radius:8px;padding:11px 10px;text-align:left;cursor:pointer;font:inherit;font-weight:600;color:var(--ink)}.side-menu-item:hover,.side-menu-item.active{background:var(--purple-light);color:var(--purple)}.side-menu-divider{height:1px;background:var(--line);margin:12px 0}.side-menu-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:6px 10px}.side-menu-item-label{display:flex;align-items:center;gap:12px;font-weight:600;font-size:14px}.theme-switch{position:relative;width:40px;height:22px;border-radius:999px;border:none;background:var(--line);cursor:pointer;flex-shrink:0;padding:0}.theme-switch.on{background:var(--purple)}.theme-switch-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s ease}.theme-switch.on .theme-switch-knob{transform:translate(18px)}.side-menu-badge{margin-top:auto;align-self:flex-start}.stepper{display:flex;gap:8px;padding:10px 0 26px;flex-wrap:wrap}.stepper-step{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:7px 16px 7px 8px;font-size:14px;color:var(--muted);cursor:default}.stepper-step.done{cursor:pointer;color:var(--purple);border-color:var(--purple-light)}.stepper-step.active{border-color:var(--purple);color:var(--purple);font-weight:600;box-shadow:0 1px 4px #714b6726}.stepper-dot{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--line);color:var(--muted);font-size:13px;font-weight:600}.stepper-step.active .stepper-dot{background:var(--purple);color:var(--on-purple)}.stepper-step.done .stepper-dot{background:var(--purple-light);color:var(--purple)}.app-main{flex:1}.step h1{font-size:26px;margin:0 0 6px}.step-intro{color:var(--muted);margin:0 0 26px;max-width:720px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.card-grid-busy{opacity:.6;pointer-events:none}.card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;cursor:pointer;font:inherit;color:inherit;transition:border-color .15s,box-shadow .15s,transform .15s}.card:hover{border-color:var(--purple);box-shadow:0 4px 16px #714b671f;transform:translateY(-2px)}.card-selected{border-color:var(--purple);background:var(--purple-light)}.card-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:10px;background:var(--purple-light);color:var(--purple);margin-bottom:4px}.card-meta{font-size:12.5px;color:var(--muted)}.card-hint{font-size:12px;color:var(--muted);background:var(--bg);border:1px dashed var(--line);border-radius:6px;padding:4px 8px;margin-top:6px}.card-title{font-size:18px;font-weight:700}.card-desc{color:var(--muted);font-size:14px}.card-tech{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--purple);background:var(--purple-light);padding:2px 8px;border-radius:6px}.card-cta{margin-top:8px;color:var(--purple);font-weight:600;font-size:14px}.card-checkbox{position:relative}.card-checkbox-mark{position:absolute;top:16px;right:16px;width:22px;height:22px;border-radius:50%;border:1px solid var(--line);background:var(--card);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--on-purple)}.card-checkbox.card-selected .card-checkbox-mark{background:var(--purple);border-color:var(--purple)}.guide-wave{margin-bottom:30px}.guide-wave-title{display:flex;align-items:center;gap:10px;font-size:16px;margin:0 0 14px}.guide-wave-num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--purple);color:var(--on-purple);font-size:13px;font-weight:700;flex-shrink:0}.guide-badge{font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px;align-self:flex-start}.guide-badge-target{background:var(--purple-light);color:var(--purple)}.guide-badge-prereq{background:var(--line);color:var(--muted)}.mechanic-note{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:10px;padding:12px 16px;font-size:14px;color:var(--warn-ink);margin-bottom:18px}.not-found-note{background:#fffbeb;border:1px solid #fcd34d;border-radius:10px;padding:12px 16px;font-size:14px;color:#92400e;margin-bottom:18px}.fields-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:22px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px}.version-toggle{display:flex;align-items:center;gap:6px}.version-label{font-size:14px;color:var(--muted);margin-right:4px}.version-btn{border:1px solid var(--line);background:var(--card);padding:6px 14px;border-radius:999px;font-size:14px;cursor:pointer;color:var(--muted)}.version-btn.active{background:var(--purple);border-color:var(--purple);color:var(--on-purple);font-weight:600}.field-search{flex:1;min-width:180px;border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:14px}.field-search:focus{outline:2px solid var(--purple-light);border-color:var(--purple)}.field-group{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px}.field-group-head{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:var(--purple-light);border-radius:var(--radius) var(--radius) 0 0}.field-group-head h2{font-size:15px;margin:0;color:var(--purple)}.field-list{display:grid;grid-template-columns:1fr 1fr}.field-row{display:flex;align-items:center;gap:10px;padding:10px 18px;border-top:1px solid var(--line);cursor:pointer;font-size:14px}.field-row:hover{background:var(--card-hover)}.field-row.on .field-label{font-weight:600}.field-row input{accent-color:var(--purple);width:16px;height:16px;flex-shrink:0}.field-label{flex-shrink:0}.req-star{color:var(--red);margin-left:3px}.field-tech{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.type-badge{margin-left:auto;flex-shrink:0;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--badge-link-bg);color:var(--badge-link-ink)}.t-boolean{background:var(--badge-bool-bg);color:var(--badge-bool-ink)}.t-selection{background:var(--badge-select-bg);color:var(--badge-select-ink)}.t-many2one,.t-many2many{background:var(--badge-rel-bg);color:var(--badge-rel-ink)}.t-float,.t-integer{background:var(--badge-num-bg);color:var(--badge-num-ink)}.help-wrap{position:relative;display:inline-flex;flex-shrink:0}.help-icon,.help-icon-inline{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:none;padding:0;background:var(--line);color:var(--muted);font-size:12px;font-weight:700;flex-shrink:0;cursor:help;font-family:inherit}.help-icon:hover,.help-icon[aria-expanded=true]{background:var(--purple);color:var(--on-purple)}.help-tip{position:absolute;bottom:calc(100% + 10px);right:-10px;width:280px;max-width:74vw;background:var(--tooltip-bg);color:var(--tooltip-ink);font-size:12.5px;font-weight:400;line-height:1.5;padding:10px 13px;border-radius:10px;box-shadow:0 8px 24px #00000040;white-space:pre-line;z-index:60}.help-tip:after{content:"";position:absolute;top:100%;right:14px;border:6px solid transparent;border-top-color:var(--tooltip-bg)}.empty-state{color:var(--muted);text-align:center;padding:30px}.custom-fields-body{padding:14px 18px 18px}.custom-fields-note{color:var(--muted);font-size:13px;line-height:1.6;margin:0 0 14px}.custom-field-form{display:flex;gap:10px}.custom-field-input{flex:1;min-width:160px;border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.custom-field-input:focus{outline:2px solid var(--purple-light);border-color:var(--purple)}.custom-field-error{color:var(--red);font-size:13px;margin:10px 0 0}.custom-field-list{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.custom-field-chip{display:inline-flex;align-items:center;gap:8px;background:var(--bg);border:1px dashed var(--line);border-radius:999px;padding:5px 8px 5px 12px;font-size:12.5px}.chip-remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:none;background:var(--line);color:var(--muted);font-size:13px;line-height:1;cursor:pointer;padding:0}.chip-remove:hover{background:var(--red);color:#fff}.preview-table thead th.custom{background:var(--muted);font-style:italic}.step-actions{display:flex;align-items:center;gap:16px;margin-top:26px}.step-actions.sticky{position:sticky;bottom:0;background:var(--bg);padding:14px 0;border-top:1px solid var(--line)}.selection-count{margin-left:auto;color:var(--muted);font-size:14px}.btn-primary{background:var(--purple);color:var(--on-purple);border:none;border-radius:8px;padding:11px 22px;font-size:15px;font-weight:600;cursor:pointer}.btn-primary:hover{background:var(--purple-dark)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-big{font-size:17px;padding:14px 30px}.btn-secondary{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px 18px;font-size:14px;cursor:pointer}.btn-secondary:hover{border-color:var(--purple);color:var(--purple)}.btn-link{background:none;border:none;color:var(--purple);font-size:14px;cursor:pointer;text-decoration:underline;padding:0}.preview-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin-bottom:26px}.preview-table{border-collapse:collapse;font-size:13px;min-width:100%}.preview-table th,.preview-table td{padding:8px 12px;border-right:1px solid var(--line);white-space:nowrap;text-align:left}.preview-table thead th{background:var(--table-header-bg);color:var(--table-header-ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:600}.preview-table thead th.req{background:var(--table-header-req-bg)}.preview-table .label-row td{background:var(--purple-light);color:var(--purple);font-size:12px;border-bottom:1px solid var(--line)}.preview-table .example-row td{color:var(--muted);font-style:italic}.download-box{text-align:center;padding:10px 0 6px}.download-done{color:var(--green);margin-top:12px}.download-error{color:var(--red);margin-top:12px}.howto{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px 26px;margin-top:26px}.howto h2{font-size:17px;margin:0 0 10px}.howto ol{margin:0;padding-left:20px}.howto li{margin-bottom:6px}.howto-note{color:var(--muted);font-size:14px;margin-bottom:0}.feedback-box{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:18px;padding:14px 20px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);font-size:14px;color:var(--muted)}.feedback-btn{border:1px solid var(--line);background:var(--card);border-radius:999px;width:34px;height:34px;font-size:16px;line-height:1;cursor:pointer}.feedback-btn:hover{border-color:var(--purple);background:var(--purple-light)}.feedback-thanks{margin:0;color:var(--green)}.dev-section{margin-top:26px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.dev-section summary{cursor:pointer;padding:16px 22px;font-weight:600;font-size:15px;list-style-position:inside}.dev-section summary:hover{color:var(--purple)}.dev-body{padding:0 22px 22px}.dev-body p{color:var(--muted);font-size:14px;margin-top:0}.dev-body ol{font-size:14px;padding-left:20px;margin:0 0 16px}.dev-body li{margin-bottom:4px}.dev-body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;background:var(--purple-light);color:var(--purple-dark);padding:1px 6px;border-radius:5px}.code-header{display:flex;align-items:center;justify-content:space-between;background:#111827;color:#9ca3af;border-radius:10px 10px 0 0;padding:8px 14px}.code-filename{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.btn-copy{background:#374151;color:#e5e7eb;border:none;border-radius:6px;padding:5px 12px;font-size:12.5px;font-weight:600;cursor:pointer}.btn-copy:hover{background:var(--purple);color:var(--on-purple)}.code-block{margin:0;background:#1f2937;color:#e5e7eb;border-radius:0 0 10px 10px;padding:16px;overflow-x:auto;max-height:480px;overflow-y:auto}.code-block code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.55;white-space:pre}.tips-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:18px}.tips-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px}.tips-card h2{font-size:17px;margin:0 0 4px;display:flex;align-items:center;gap:8px}.tips-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--purple-light);color:var(--purple)}.tips-card-intro{color:var(--muted);font-size:13.5px;margin:0 0 14px}.tips-card ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}.tips-card li{font-size:14px;line-height:1.55;padding-left:14px;border-left:3px solid var(--purple-light)}.tips-card li strong{color:var(--purple-dark)}.tips-card li.tip-warning{border-left-color:var(--warn-border);background:var(--warn-bg);padding:10px 12px 10px 14px;border-radius:0 8px 8px 0}@media(max-width:860px){.tips-grid{grid-template-columns:1fr}}.validate-picker{display:flex;align-items:center;gap:6px}.validate-picker select{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:6px 10px;font-size:14px;color:var(--ink)}.download-validate-hint,.sample-data-hint{margin-top:10px;font-size:14px;color:var(--muted)}.validate-drop{border:2px dashed var(--line);border-radius:var(--radius);background:var(--card);padding:36px 20px;text-align:center;cursor:pointer;color:var(--muted);margin-bottom:18px}.validate-drop:hover,.validate-drop.dragging{border-color:var(--purple);background:var(--purple-light);color:var(--ink)}.validate-drop p{margin:10px 0 0}.validate-drop-hint{font-size:13px;color:var(--muted)!important}.validate-file-input{display:none}.validate-status{color:var(--muted)}.validate-result{border-radius:var(--radius);border:1px solid var(--line);padding:16px 20px;margin-bottom:18px}.validate-result.validate-ok{border-color:var(--ok-border);background:var(--ok-bg)}.validate-result.validate-bad{border-color:var(--bad-border);background:var(--bad-bg)}.validate-summary{display:flex;align-items:center;gap:8px;margin:0;font-weight:600}.validate-ok .validate-summary{color:var(--green)}.validate-bad .validate-summary{color:var(--red)}.validate-warning{margin:10px 0 0;font-size:14px;color:var(--warn-ink)}.validate-issues{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.validate-issues li{font-size:14px;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:8px;padding:8px 12px}.validate-row{display:inline-block;font-size:12px;font-weight:700;color:var(--purple);background:var(--purple-light);border-radius:999px;padding:2px 10px;margin-right:10px}.match-input{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:18px}.match-textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:14px;font-family:inherit;resize:vertical}.match-upload-row{display:flex;align-items:center;gap:10px;margin-top:12px;color:var(--muted);font-size:14px}.match-uploaded{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:14px}.match-summary{color:var(--muted);margin-bottom:12px}.match-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin-bottom:18px}.match-table{border-collapse:collapse;width:100%;font-size:14px}.match-table th,.match-table td{padding:10px 14px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.match-table thead th{background:var(--purple-light);color:var(--purple);font-size:12px;text-transform:uppercase;letter-spacing:.03em}.match-table select{border:1px solid var(--line);border-radius:6px;padding:5px 8px;font-size:13px;max-width:320px}.match-confidence{font-weight:600;font-size:12.5px}.match-confidence.high{color:var(--green)}.match-confidence.low{color:#b45309}.match-confidence.none{color:var(--muted)}.match-outputs{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}.match-note{color:var(--muted);font-size:13px;margin-bottom:18px}.tour-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:20px;z-index:100}.tour{position:relative;width:100%;max-width:420px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 20px 60px #00000059;padding:32px 30px 26px;text-align:center}.tour-skip{position:absolute;top:14px;right:16px;background:none;border:none;color:var(--muted);font-size:13px;cursor:pointer}.tour-icon{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:14px;background:var(--purple-light);color:var(--purple);margin-bottom:16px}.tour h2{margin:0 0 10px;font-size:20px}.tour p{margin:0 0 22px;color:var(--muted);font-size:14.5px;line-height:1.6}.tour-dots{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:22px}.tour-dot{width:7px;height:7px;border-radius:50%;background:var(--line)}.tour-dot.active{background:var(--purple);width:18px;border-radius:4px}.tour-actions{display:flex;align-items:center;justify-content:center;gap:12px}.palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:flex-start;justify-content:center;padding:14vh 20px 20px;z-index:100}.palette{width:100%;max-width:560px;max-height:70vh;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 20px 60px #00000059;display:flex;flex-direction:column;overflow:hidden}.palette-search{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line);color:var(--muted);flex-shrink:0}.palette-search input{flex:1;border:none;outline:none;background:none;font-size:15px;color:var(--ink)}.palette-esc{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:2px 6px;flex-shrink:0}.palette-empty{padding:30px 16px;text-align:center;color:var(--muted);margin:0}.palette-list{list-style:none;margin:0;padding:8px;overflow-y:auto}.palette-option{width:100%;display:flex;align-items:center;gap:12px;border:none;background:none;border-radius:8px;padding:10px;text-align:left;cursor:pointer;font:inherit;color:inherit}.palette-option.active{background:var(--purple-light)}.palette-option-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;background:var(--purple-light);color:var(--purple);flex-shrink:0}.palette-option.active .palette-option-icon{background:var(--card)}.palette-option-text{flex:1;min-width:0;display:flex;flex-direction:column}.palette-option-name{font-weight:600;font-size:14px}.palette-option-module{font-size:12px;color:var(--muted)}.palette-option-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--purple);background:var(--purple-light);padding:2px 8px;border-radius:6px;flex-shrink:0}.palette-option.active .palette-option-id{background:var(--card)}} .app-footer{margin-top:44px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;text-align:center}.branding-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.branding-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.branding-card h2{font-size:15px;margin:0 0 4px}.branding-card-note{color:var(--muted);font-size:13px;margin:0 0 14px}.branding-color-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.branding-color-swatch{width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:8px;cursor:pointer;background:none}.branding-hex-input{border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;width:110px}.branding-hex-input:focus{outline:2px solid var(--purple-light);border-color:var(--purple)}.branding-hint{color:var(--warn-ink);font-size:12.5px;margin:10px 0 0}.branding-file-input{display:block;font-size:13px;margin-bottom:10px}.branding-preview{margin-bottom:20px}.branding-preview-banner{display:flex;align-items:center;padding:10px 14px;border-radius:8px;min-height:40px}.branding-preview-logo{max-height:32px;max-width:160px;object-fit:contain}.branding-saved{display:inline-flex;align-items:center;gap:6px;color:var(--green);font-size:13.5px;font-weight:600;margin:0 0 16px}.roadmap-view-toggle{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:3px;margin-bottom:18px;gap:2px}.roadmap-view-toggle-btn{border:none;background:none;border-radius:999px;padding:6px 16px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer}.roadmap-view-toggle-btn.active{background:var(--purple);color:var(--on-purple)}.roadmap-diagram-wrap{margin-bottom:26px}.roadmap-diagram-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:12px}.roadmap-diagram-brand-logo{max-height:36px;max-width:160px;object-fit:contain}.roadmap-diagram-actions{display:flex;gap:10px;flex-wrap:wrap;margin-left:auto}.roadmap-diagram-scroll{overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:12px}.roadmap-sub{cursor:pointer}.roadmap-sub:hover circle{r:6}@media(max-width:720px){.branding-grid,.field-list{grid-template-columns:1fr}.field-tech{display:none}.step h1{font-size:22px}.app-header{flex-direction:column;gap:10px;align-items:flex-start}.header-right{flex-wrap:wrap}.fields-toolbar{flex-direction:column;align-items:stretch}.card-grid{grid-template-columns:1fr}.stepper{gap:6px}.stepper-step{padding:6px 12px 6px 6px;font-size:13px}}
