.footer-centered[data-v-ff292ca7]{justify-content:center;font-size:9px}.appearance-row[data-v-ff292ca7]{display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;padding:3px 0;margin:0}.appearance-label[data-v-ff292ca7]{font-size:13px;color:var(--text-secondary);font-weight:500}.appearance-swatch[data-v-ff292ca7]{width:36px;height:30px;padding:2px;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:none}.appearance-swatch[data-v-ff292ca7]::-webkit-color-swatch-wrapper{padding:0}.appearance-swatch[data-v-ff292ca7]::-webkit-color-swatch{border:none;border-radius:3px}.range-row[data-v-ff292ca7]{gap:2px!important;margin-top:4px}.range-row span[data-v-ff292ca7]{display:flex;align-items:center;justify-content:space-between;width:100%}.range-value[data-v-ff292ca7]{font-style:normal;font-weight:600;color:var(--text);min-width:20px;text-align:right}.range-row input[type=range][data-v-ff292ca7]{margin-top:2px}.font-select[data-v-ff292ca7]{min-height:32px}.placeholder-col[data-v-ff292ca7]{visibility:hidden}.segmented-control[data-v-ff292ca7]{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:3px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#f7f8f7}.segmented-control label[data-v-ff292ca7]{display:flex;align-items:center;justify-content:center;min-height:28px;border-radius:5px;color:var(--text-secondary);cursor:pointer;transition:.15s}.segmented-control label.active[data-v-ff292ca7]{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #1a2a251f}.segmented-control input[data-v-ff292ca7]{position:absolute;opacity:0;pointer-events:none}.gradient-preview[data-v-ff292ca7]{height:34px;border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px #ffffff59}.field-grid.three-columns[data-v-ff292ca7]{grid-template-columns:repeat(3,1fr)}.compact-color[data-v-ff292ca7]{align-items:center;gap:6px}.compact-color span[data-v-ff292ca7]{color:var(--text-secondary);font-size:11px}.file-chip[data-v-ff292ca7]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#f8faf9;color:var(--text-secondary);font-size:12px}.file-chip span[data-v-ff292ca7]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.button.tiny[data-v-ff292ca7]{padding:3px 8px;font-size:12px}.button.ghost[data-v-ff292ca7]{background:transparent;border-color:transparent;color:var(--text-secondary)}.button.ghost[data-v-ff292ca7]:hover{background:#f3f4f6;border-color:var(--border);color:var(--text)}[data-v-ff292ca7] .field-grid label{margin-bottom:0}:root{--bg: #fafbfc;--surface: #ffffff;--border: #e2e8e7;--text: #1a2a25;--text-secondary: #5e7068;--text-muted: #95a59e;--accent: #166534;--accent-light: #dcfce7;--radius: 10px;--radius-sm: 6px;--font: "Segoe UI", "Microsoft YaHei", system-ui, sans-serif}html,body{height:100%;margin:0;font-family:var(--font);font-size:14px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}.app-shell{display:flex;flex-direction:column;height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:34px;height:34px;border-radius:9px;background:#12231c;color:#86efac;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center}.brand p{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0}.brand h1{font-size:15px;font-weight:600;color:var(--text);margin:0}.topbar-actions{display:flex;align-items:center;gap:8px}.privacy-badge{display:flex;align-items:center;gap:6px;padding:5px 12px;border-radius:20px;background:var(--accent-light);color:var(--accent);font-size:12px;font-weight:500}.privacy-badge i{width:7px;height:7px;border-radius:50%;background:var(--accent);display:inline-block}.workspace{display:flex;flex:1;overflow:hidden}.controls-panel{width:300px;flex-shrink:0;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;border-right:1px solid var(--border);background:var(--surface)}.panel-heading{margin-bottom:4px}.panel-heading h2{font-size:16px;font-weight:600;margin:0}.panel-heading p{font-size:12px;color:var(--text-muted);margin:4px 0 0}.section-rule{display:flex;align-items:center;gap:10px;margin:2px 0}.section-rule:after{content:"";flex:1;height:1px;background:var(--border)}.section-rule span{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.field-grid{display:grid;gap:8px}.field-grid.two-columns{grid-template-columns:1fr 1fr}label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:500;color:var(--text-secondary)}label span{font-weight:400;color:var(--text-muted);font-size:11px}.config-input{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-family:var(--font);background:var(--surface);color:var(--text)}.config-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #1665341a}.color-input{height:32px;padding:2px 6px;cursor:pointer}input[type=range].config-input{padding:0}.switch-row{display:grid;gap:9px}.switch-row label{display:flex;flex-direction:row;align-items:center;gap:9px;color:#4e5e55;font-size:12px;cursor:pointer}.switch-row input{position:absolute;opacity:0}.switch-row label span{position:relative;width:32px;height:18px;border-radius:99px;background:#cbd3ce;transition:.2s;flex-shrink:0}.switch-row label span:after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 1px 3px #00000040}.switch-row input:checked+span{background:#789f34}.switch-row input:checked+span:after{transform:translate(14px)}.button{display:inline-flex;align-items:center;justify-content:center;padding:7px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:13px;font-weight:500;font-family:var(--font);cursor:pointer;transition:all .15s}.button:hover{background:#f3f4f6;border-color:#d1d5db}.button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.button.primary:hover{background:#14532d}.button.full{width:100%}.field-note{font-size:11px;color:var(--text-muted);line-height:1.5}.preview-column{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#f0f0f0}.preview-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.preview-toolbar strong{font-size:13px}.preview-toolbar span{font-size:12px;color:var(--text-muted)}.map-stage{flex:1;display:flex;align-items:center;justify-content:center;margin:14px;border:1px solid #bcc7c1;border-radius:13px;background:#d8dfdb;box-shadow:0 18px 46px #22392e21;overflow:hidden}.map-stage canvas{max-width:100%;max-height:100%;background:#0a0e27}.preview-footer{display:flex;align-items:center;padding:0 16px;color:#829087;border-top:1px solid #ced6d1;background:#e5eae7;font-size:9px;height:23px}.button.ghost{background:transparent;border-color:transparent;color:var(--text-secondary)}.button.ghost:hover{background:#f3f4f6;border-color:var(--border);color:var(--text)}:root{--rm-navy: #192c42;--rm-blue: #55add4;--rm-orange: #ee5c34;--rm-navy-hover: #102236;--rm-blue-hover: #3f9ac3;--rm-orange-hover: #d94b27;--rm-blue-soft: #e9f6fb;--rm-orange-soft: #fff0eb;--rm-canvas: #f6f9fb;--rm-surface: #ffffff;--rm-surface-subtle: #eef3f6;--rm-border: #d8e2e8;--rm-border-strong: #b9c9d3;--rm-text: #192c42;--rm-text-secondary: #536879;--rm-text-muted: #7d909e;--rm-success: #238a68;--rm-success-soft: #e8f6f1;--rm-warning: #b56a11;--rm-warning-soft: #fff4df;--rm-error: #c93f45;--rm-error-soft: #fdecee;--rm-radius-sm: 8px;--rm-radius-md: 12px;--rm-radius-lg: 16px;--rm-radius-xl: 24px;--rm-shadow-float: 0 12px 32px rgb(25 44 66 / 10%);--rm-focus-ring: 0 0 0 3px rgb(85 173 212 / 35%);--bg: var(--rm-canvas);--surface: var(--rm-surface);--border: var(--rm-border);--text: var(--rm-text);--text-secondary: var(--rm-text-secondary);--text-muted: var(--rm-text-muted);--accent: var(--rm-orange);--accent-light: var(--rm-orange-soft);--danger: var(--rm-error);--danger-light: var(--rm-error-soft);--radius: var(--rm-radius-lg);--radius-sm: var(--rm-radius-md);--font: Inter, "SF Pro Display", "Segoe UI", "Microsoft YaHei", sans-serif}html,body{min-width:0;color:var(--rm-text);background:var(--rm-canvas);font-family:var(--font)}button,input,select,textarea{font-family:inherit}button,input,select,textarea,[tabindex]:not([tabindex="-1"]){outline:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{box-shadow:var(--rm-focus-ring)!important}.topbar{min-height:72px;padding:0 24px;border-bottom:1px solid var(--rm-border);background:var(--rm-surface)}.brand{gap:12px}.brand-mark{width:40px;height:40px;border-radius:var(--rm-radius-md);background:var(--rm-navy);color:var(--rm-orange);box-shadow:inset 0 0 0 1px #ffffff14}.brand p{color:var(--rm-text-muted);font-size:11px;font-weight:600;letter-spacing:.08em}.brand h1{color:var(--rm-navy);font-size:16px;font-weight:700;letter-spacing:-.01em}.topbar-actions{gap:10px}.privacy-badge{min-height:30px;padding:5px 12px;border:1px solid #cce6f1;border-radius:999px;background:var(--rm-blue-soft);color:var(--rm-navy);font-size:12px;font-weight:600}.privacy-badge i,.map-state i{background:var(--rm-success)}.button{min-height:44px;padding:9px 16px;border:1px solid var(--rm-border);border-radius:var(--rm-radius-md);background:var(--rm-surface);color:var(--rm-navy);font-size:13px;font-weight:650;letter-spacing:.01em;transition:background-color .16s ease-out,border-color .16s ease-out,color .16s ease-out,transform .16s ease-out}.button:hover{border-color:var(--rm-border-strong);background:var(--rm-surface-subtle)}.button:active{transform:translateY(1px)}.button.primary{border-color:var(--rm-orange);background:var(--rm-orange);color:#fff}.button.primary:hover{border-color:var(--rm-orange-hover);background:var(--rm-orange-hover)}.button.secondary{border-color:var(--rm-navy);background:var(--rm-navy);color:#fff}.button.secondary:hover{border-color:var(--rm-navy-hover);background:var(--rm-navy-hover)}.button.ghost{border-color:transparent;background:transparent;color:var(--rm-text-secondary)}.button.ghost:hover{background:var(--rm-surface-subtle);color:var(--rm-navy)}.button:disabled{opacity:.48}.icon-button,.icon-btn{min-width:44px;width:44px;height:44px;border:1px solid var(--rm-border);border-radius:var(--rm-radius-md);background:var(--rm-surface);color:var(--rm-navy);transition:background-color .16s ease-out,border-color .16s ease-out}.icon-button:hover,.icon-btn:hover{border-color:var(--rm-orange);background:var(--rm-orange-soft)}.icon-button.danger:hover{border-color:#edb9bd;background:var(--rm-error-soft);color:var(--rm-error)}.workspace{background:var(--rm-canvas)}.panel,.controls-panel,.styles-panel{border-color:var(--rm-border);background:var(--rm-surface)}.controls-scroll,.panel,.styles-panel{scrollbar-color:var(--rm-border-strong) transparent}.controls-scroll{padding:20px;gap:14px}.panel-heading{margin-bottom:8px}.panel-heading h2{color:var(--rm-navy);font-size:18px;font-weight:650;letter-spacing:-.02em}.panel-heading p{margin-top:6px;color:var(--rm-text-muted);font-size:13px;line-height:1.55}.panel-heading span{background:var(--rm-orange-soft);color:var(--rm-orange-hover);font-weight:700}.section-rule{margin:8px 0 2px}.section-rule span{color:var(--rm-text-secondary);font-size:12px;font-weight:650;letter-spacing:.04em}.section-rule:after{background:var(--rm-border)}label{gap:7px;color:var(--rm-text-secondary);font-size:13px;font-weight:600}label>span{color:var(--rm-text-muted)}.config-input,.save-row input,.save-row select,.search-box input,.color-hex{min-height:44px;padding:9px 12px;border:1px solid var(--rm-border);border-radius:var(--rm-radius-md);background:var(--rm-surface);color:var(--rm-text);font-size:14px;transition:border-color .16s ease-out,box-shadow .16s ease-out,background-color .16s ease-out}.config-input:hover,.save-row input:hover,.save-row select:hover,.search-box input:hover,.color-hex:hover{border-color:var(--rm-border-strong)}.config-input:focus,.save-row input:focus,.save-row select:focus,.search-box input:focus,.color-hex:focus{border-color:var(--rm-blue);box-shadow:var(--rm-focus-ring)}input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--rm-orange)}.switch-row input:checked+span{background:var(--rm-orange)}.preview-marker{background:var(--rm-orange)}.segmented-control{padding:4px;border:1px solid var(--rm-border);border-radius:var(--rm-radius-md);background:var(--rm-surface-subtle)}.segmented-control button,.segmented-control label{min-height:36px;border-radius:var(--rm-radius-sm);color:var(--rm-text-secondary)}.segmented-control button.active,.segmented-control label.active{background:var(--rm-surface);color:var(--rm-navy);box-shadow:0 2px 8px #192c4214}.tabs{border-bottom-color:var(--rm-border)}.tab{min-height:44px;color:var(--rm-text-secondary)}.tab.active{border-bottom:2px solid var(--rm-orange);color:var(--rm-navy);font-weight:650}.preset-card{border:1px solid var(--rm-border);border-radius:var(--rm-radius-md);background:var(--rm-surface)}.preset-card:hover{border-color:var(--rm-border-strong)}.preset-card.active{border:2px solid var(--rm-orange);background:var(--rm-orange-soft)}.file-chip,.file-info{border:1px solid var(--rm-border);border-radius:var(--rm-radius-sm);background:var(--rm-surface-subtle);color:var(--rm-text-secondary)}.field-note{color:var(--rm-text-muted);font-size:12px;line-height:1.55}.drop-zone{border:2px dashed var(--rm-border-strong);border-radius:var(--rm-radius-lg);background:var(--rm-canvas)}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--rm-orange);background:var(--rm-orange-soft)}.drop-icon{color:var(--rm-orange)}.preview-column{background:var(--rm-surface-subtle)}.preview-toolbar{min-height:54px;padding:0 18px;border-bottom:1px solid var(--rm-border);background:var(--rm-surface)}.preview-toolbar strong{color:var(--rm-navy);font-size:14px;font-weight:650}.preview-toolbar span{color:var(--rm-text-muted)}.map-state{border:1px solid var(--rm-border);border-radius:999px;background:var(--rm-surface-subtle);color:var(--rm-text-secondary)}.map-state.error,.error{color:var(--rm-error)}.map-state.error i{background:var(--rm-error)}.map-stage,.cal-preview,.preview-pair{background-color:#e7edf1;background-image:linear-gradient(45deg,rgb(255 255 255 / 32%) 25%,transparent 25%),linear-gradient(-45deg,rgb(255 255 255 / 32%) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgb(255 255 255 / 32%) 75%),linear-gradient(-45deg,transparent 75%,rgb(255 255 255 / 32%) 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}.map-stage canvas,.cal-preview canvas,.preview-pane,.preview-box{box-shadow:0 16px 40px #192c421f}.preview-footer,.statusbar{min-height:36px;border-color:var(--rm-border);background:var(--rm-surface);color:var(--rm-text-muted);font-size:12px}.range-value{color:var(--rm-navy);font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace}.color-input,.appearance-swatch,.color-swatch{border-color:var(--rm-border);border-radius:var(--rm-radius-sm)}.locale-switch{min-width:44px!important;height:36px!important;border-color:var(--rm-border)!important;border-radius:var(--rm-radius-sm)!important;color:var(--rm-navy)!important}@media(max-width:767px){html,body{min-height:100%;overflow:auto}#app{position:static;min-height:100vh;height:auto;overflow:visible}.app-shell{display:flex;flex-direction:column;min-height:100vh;height:auto;overflow:visible}.topbar{position:sticky;z-index:20;top:0;min-height:64px;padding:8px 18px}.brand p,.privacy-badge{display:none}.brand h1{max-width:112px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-actions{margin-left:auto}.topbar-actions .button.ghost{display:none}.topbar-actions .button.primary{min-height:40px;padding:8px 10px;font-size:12px}.workspace{display:flex;height:auto;min-height:0;overflow:visible;flex-direction:column}.panel,.controls-panel,.styles-panel{width:100%;max-width:none;flex:none;height:auto;max-height:none;overflow:visible;border-right:0;border-bottom:1px solid var(--rm-border)}.controls-scroll,.panel,.styles-panel{height:auto;max-height:none;overflow:visible;padding:18px}.preview-column{order:2;min-height:70vh;height:70vh;flex:none}.styles-panel{order:3}.preview-toolbar{padding:10px 14px;gap:8px}.preview-toolbar>span{max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-grid.two-columns,.field-grid.three-columns{grid-template-columns:1fr}.statusbar{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
