.app-container[data-v-e280ae53]{min-height:100vh;display:flex;flex-direction:column}.app-main[data-v-e280ae53]{flex:1}.site-footer[data-v-e280ae53]{padding:12px 16px 20px;text-align:center;font-size:13px;line-height:1.4;color:#64748b;white-space:nowrap}.site-footer a[data-v-e280ae53]{color:inherit;text-decoration:none}.site-footer a[data-v-e280ae53]:hover{text-decoration:underline}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#f5f5f5;overscroll-behavior:none}.app-container{width:100%;height:100vh}.gym-search-container[data-v-5b1dd82c]{position:relative;min-width:150px}.gym-search-input[data-v-5b1dd82c]{padding:8px 12px;border:1px solid #ddd;border-radius:4px;background:#fff;font-size:14px;width:100%;box-sizing:border-box;cursor:text}.gym-search-input[data-v-5b1dd82c]:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.gym-dropdown[data-v-5b1dd82c]{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 4px 4px;max-height:200px;overflow-y:auto;z-index:100;box-shadow:0 2px 8px #0000001a}.gym-option[data-v-5b1dd82c]{padding:8px 12px;cursor:pointer;font-size:14px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gym-option[data-v-5b1dd82c]:hover{background-color:#f5f5f5}.gym-option.selected[data-v-5b1dd82c]{background-color:#e6f7ff;color:#007bff;font-weight:500}.gym-option.disabled[data-v-5b1dd82c]{color:#999;cursor:not-allowed}.gym-option.disabled[data-v-5b1dd82c]:hover{background-color:transparent}.help-overlay[data-v-8987d2d4]{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top left,rgba(59,130,246,.18),transparent 35%),radial-gradient(circle at bottom right,rgba(16,185,129,.16),transparent 30%),#0f172ab3;display:flex;align-items:center;justify-content:center;padding:20px;z-index:1300;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.help-panel[data-v-8987d2d4]{position:relative;width:min(980px,100%);max-height:min(88vh,920px);overflow:auto;border-radius:24px;border:1px solid rgba(255,255,255,.18);background:linear-gradient(180deg,#fffffffa,#f8fafcf5);box-shadow:0 28px 80px #0f172a59;padding:28px}.close-btn[data-v-8987d2d4]{position:absolute;top:16px;right:16px;width:40px;height:40px;border:0;border-radius:999px;background:#0f172a14;color:#0f172a;font-size:26px;cursor:pointer}.close-btn[data-v-8987d2d4]:hover{background:#0f172a24}.hero[data-v-8987d2d4]{padding:4px 0 18px}.hero-badge[data-v-8987d2d4]{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;background:linear-gradient(135deg,#0f172a,#2563eb);color:#fff;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}.hero h2[data-v-8987d2d4]{margin:0;font-size:clamp(24px,3vw,36px);line-height:1.1;color:#0f172a}.hero p[data-v-8987d2d4]{margin:10px 0 0;color:#475569;line-height:1.7;max-width:72ch}.content-grid[data-v-8987d2d4]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.info-card[data-v-8987d2d4]{border-radius:20px;border:1px solid #e2e8f0;background:#fff;padding:18px;display:grid;gap:14px}.accent-card[data-v-8987d2d4]{background:linear-gradient(180deg,#2563eb14,#fffffff2),#fff}.info-card h3[data-v-8987d2d4]{margin:0;color:#0f172a;font-size:16px}.action-list[data-v-8987d2d4],.tip-list[data-v-8987d2d4]{display:grid;gap:12px}.action-list[data-v-8987d2d4]{list-style:none;padding:0;margin:0}.action-list li[data-v-8987d2d4]{display:grid;gap:4px;padding:12px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0}.action-name[data-v-8987d2d4]{font-weight:700;color:#0f172a}.action-desc[data-v-8987d2d4]{color:#475569;line-height:1.5}.tag-grid[data-v-8987d2d4]{display:grid;gap:10px}.tag-item[data-v-8987d2d4]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0;color:#334155}.tag[data-v-8987d2d4]{flex:0 0 auto;min-width:52px;text-align:center;padding:5px 8px;border-radius:999px;background:#0f172a;color:#fff;font-size:12px;font-weight:700}.tip-item[data-v-8987d2d4]{display:grid;gap:4px;padding:12px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0}.tip-item strong[data-v-8987d2d4]{color:#0f172a}.tip-item span[data-v-8987d2d4]{color:#475569;line-height:1.5}.footer-note[data-v-8987d2d4]{margin-top:18px;padding:14px 16px;border-radius:16px;background:linear-gradient(135deg,#0f172af2,#1e40aff2);color:#fff;display:flex;gap:12px;align-items:flex-start}.footer-note span[data-v-8987d2d4]{flex:0 0 auto;padding:4px 10px;border-radius:999px;background:#ffffff29;font-size:12px;font-weight:700}.footer-note p[data-v-8987d2d4]{margin:0;line-height:1.6}@media (max-width: 960px){.help-panel[data-v-8987d2d4]{padding:20px}.content-grid[data-v-8987d2d4]{grid-template-columns:1fr}}.route-info-dialog-overlay[data-v-bccc9dda]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:20px;box-sizing:border-box;background:#0f172a80}.route-info-dialog[data-v-bccc9dda]{width:min(620px,100%);max-height:min(90dvh,760px);overflow:auto;border-radius:14px;background:#fff;box-shadow:0 22px 60px #0f172a47}.route-info-dialog-header[data-v-bccc9dda]{display:flex;justify-content:space-between;gap:16px;padding:22px 24px 14px;border-bottom:1px solid #e2e8f0}.route-info-dialog-header h2[data-v-bccc9dda],.route-info-dialog-header p[data-v-bccc9dda]{margin:0}.route-info-dialog-header h2[data-v-bccc9dda]{color:#0f172a;font-size:22px}.route-info-dialog-header p[data-v-bccc9dda]{margin-top:5px;color:#64748b;font-size:13px}.route-info-dialog-close[data-v-bccc9dda]{width:32px;height:32px;border:0;border-radius:7px;background:transparent;color:#64748b;font-size:27px;cursor:pointer}.route-info-dialog-close[data-v-bccc9dda]:hover{background:#f1f5f9;color:#0f172a}.route-info-dialog-body[data-v-bccc9dda]{display:grid;gap:16px;padding:20px 24px}.route-info-field[data-v-bccc9dda]{display:grid;gap:7px;color:#334155;font-size:14px;font-weight:700}.route-info-field input[data-v-bccc9dda],.route-info-field select[data-v-bccc9dda]{min-height:42px;padding:0 12px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#0f172a;font:inherit;font-weight:500;box-sizing:border-box}.route-info-field small[data-v-bccc9dda]{color:#dc2626;font-size:12px;font-weight:500}.route-info-row[data-v-bccc9dda]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.route-info-dialog-actions[data-v-bccc9dda]{display:flex;justify-content:flex-end;gap:10px;padding:14px 24px 22px;border-top:1px solid #e2e8f0}.route-info-dialog-actions button[data-v-bccc9dda]{min-height:38px;padding:0 15px;border-radius:7px;font-weight:700;cursor:pointer}.route-info-secondary[data-v-bccc9dda]{border:1px solid #cbd5e1;background:#fff;color:#475569}.route-info-primary[data-v-bccc9dda]{border:1px solid #0f172a;background:#0f172a;color:#fff}.route-info-primary[data-v-bccc9dda]:disabled{cursor:not-allowed;opacity:.55}@media (max-width: 640px){.route-info-dialog-overlay[data-v-bccc9dda]{padding:10px}.route-info-dialog-header[data-v-bccc9dda],.route-info-dialog-body[data-v-bccc9dda],.route-info-dialog-actions[data-v-bccc9dda]{padding-left:16px;padding-right:16px}.route-info-row[data-v-bccc9dda]{grid-template-columns:1fr;gap:16px}}.spraywall-hold-editor[data-v-19a24287]{display:flex;flex-direction:column;gap:14px;height:min(840px,calc(96vh - 24px));min-height:0}.hold-editor-header[data-v-19a24287],.hold-editor-actions[data-v-19a24287],.hold-editor-body[data-v-19a24287],.hold-color-grid[data-v-19a24287],.hold-list-item[data-v-19a24287]{display:flex}.hold-editor-header[data-v-19a24287]{align-items:center;justify-content:space-between;gap:16px}.hold-editor-header h3[data-v-19a24287]{margin:0;font-size:20px}.hold-editor-header p[data-v-19a24287],.hold-editor-hint[data-v-19a24287],.hold-empty-list[data-v-19a24287],.hold-editor-snap-hint[data-v-19a24287]{margin:4px 0 0;color:#667085;font-size:13px}.hold-editor-snap-hint[data-v-19a24287]{color:#475467}.hold-editor-actions[data-v-19a24287]{gap:8px;flex-wrap:wrap}.hold-editor-body[data-v-19a24287]{flex:1;min-height:0;gap:16px}.hold-editor-stage[data-v-19a24287]{position:relative;flex:1;min-width:0;min-height:0;background:#101828;border:1px solid #d0d5dd;border-radius:8px;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.hold-editor-canvas[data-v-19a24287]{display:block;width:100%;height:100%;cursor:crosshair;touch-action:none}.hold-editor-canvas.is-pan[data-v-19a24287]{cursor:grab}.hold-editor-canvas.is-select[data-v-19a24287]{cursor:pointer}.hold-editor-canvas.is-erase[data-v-19a24287]{cursor:cell}.hold-editor-subtools[data-v-19a24287]{margin-top:8px}.hold-editor-empty[data-v-19a24287]{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#f2f4f7;pointer-events:none}.hold-editor-panel[data-v-19a24287]{width:360px;display:flex;flex-direction:column;gap:14px;border:1px solid #e4e7ec;border-radius:8px;padding:14px;background:#fff;min-height:0;overflow-y:auto}.hold-editor-tabs[data-v-19a24287]{display:flex;gap:8px}.hold-editor-tab-btn[data-v-19a24287]{flex:1 1 0;min-height:36px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;color:#344054;font-weight:700;cursor:pointer}.hold-editor-tab-btn.active[data-v-19a24287]{border-color:#111827;background:#111827;color:#fff}.hold-editor-tool-btn[data-v-19a24287]:disabled{cursor:not-allowed;opacity:.55}.hold-editor-section label[data-v-19a24287]{display:block;margin-bottom:8px;font-weight:700;color:#344054}.hold-editor-section-heading[data-v-19a24287]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.hold-editor-section-heading>label[data-v-19a24287]{margin:0}.hold-editor-checkbox-row[data-v-19a24287]{display:inline-flex;align-items:center;gap:6px;margin:8px 0 0;color:#344054;font-size:12px;font-weight:600}.hold-color-grid[data-v-19a24287]{gap:8px;flex-wrap:wrap}.hold-editor-tool-row[data-v-19a24287]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hold-editor-operation-group[data-v-19a24287]{display:inline-flex;overflow:hidden;border:1px solid #d0d5dd;border-radius:8px}.hold-editor-operation-option[data-v-19a24287]{display:inline-flex;align-items:center;justify-content:center;margin:0!important;min-width:42px;min-height:26px;padding:0 8px;border-right:1px solid #d0d5dd;color:#344054;font-size:11px;font-weight:700;cursor:pointer}.hold-editor-operation-option[data-v-19a24287]:last-child{border-right:0}.hold-editor-operation-option input[data-v-19a24287]{position:absolute;opacity:0;pointer-events:none}.hold-editor-operation-option.active[data-v-19a24287]{background:#111827;color:#fff}.hold-editor-tool-btn[data-v-19a24287]{min-width:68px;min-height:34px;padding:0 12px;border:1px solid #d0d5dd;border-radius:6px;background:#fff;color:#344054;font-weight:700;cursor:pointer}.hold-editor-tool-btn.active[data-v-19a24287]{border-color:#111827;background:#111827;color:#fff}.hold-editor-detect-btn[data-v-19a24287]{width:100%;margin-top:8px}.hold-editor-detect-controls[data-v-19a24287]{margin-top:10px;padding:10px;border:1px solid #e4e7ec;border-radius:8px;background:#f8fafc}.hold-editor-sub-label[data-v-19a24287]{display:block;margin-bottom:8px;color:#475467;font-size:12px;font-weight:700}.hold-editor-detect-range-row[data-v-19a24287]{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;color:#344054;font-size:12px}.hold-editor-range[data-v-19a24287]{width:100%}.hold-editor-range-inline[data-v-19a24287]{flex:1 1 auto;width:auto;min-width:0}.hold-editor-range-control[data-v-19a24287]{display:flex;align-items:center;gap:8px;width:100%}.hold-editor-inline-label[data-v-19a24287]{color:#475467;font-size:12px;font-weight:700}.hold-editor-detect-flags[data-v-19a24287]{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;color:#344054;font-size:12px}.hold-editor-detect-flags label[data-v-19a24287]{display:inline-flex;align-items:center;gap:4px}.hold-editor-detect-message[data-v-19a24287]{margin:8px 0 0;color:#667085;font-size:12px}.hold-editor-zoom-label[data-v-19a24287]{margin-left:auto;color:#667085;font-size:12px;font-weight:700}.hold-color-swatch[data-v-19a24287]{width:28px;height:28px;border:2px solid #d0d5dd;border-radius:6px;cursor:pointer}.hold-color-swatch.active[data-v-19a24287]{border-color:#111827}.hold-list-section[data-v-19a24287]{min-height:0;flex:1;overflow:auto}.hold-list-item[data-v-19a24287]{width:100%;align-items:center;gap:8px;margin-bottom:8px;padding:8px;border:1px solid #e4e7ec;border-radius:6px;background:#fff;color:#344054;text-align:left;cursor:pointer}.hold-list-item.active[data-v-19a24287]{border-color:#111827;background:#f2f4f7}.hold-list-color[data-v-19a24287]{width:14px;height:14px;border-radius:999px;flex:0 0 auto}.hold-list-coord[data-v-19a24287]{margin-left:auto;color:#667085;font-size:12px}.hold-selection-overlay[data-v-19a24287]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#10182875}.hold-selection-dialog[data-v-19a24287]{position:fixed;width:min(360px,100%);max-height:min(520px,calc(100dvh - 40px));overflow:auto;border-radius:10px;background:#fff;box-shadow:0 18px 50px #10182842}.hold-selection-dialog-header[data-v-19a24287]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 16px 10px;border-bottom:1px solid #eaecf0}.hold-selection-dialog h4[data-v-19a24287],.hold-selection-dialog p[data-v-19a24287]{margin:0}.hold-selection-dialog h4[data-v-19a24287]{color:#1d2939;font-size:16px}.hold-selection-dialog p[data-v-19a24287]{margin-top:4px;color:#667085;font-size:12px}.hold-selection-close[data-v-19a24287]{width:28px;height:28px;padding:0;border:0;border-radius:6px;background:transparent;color:#667085;font-size:24px;line-height:1;cursor:pointer}.hold-selection-close[data-v-19a24287]:hover{background:#f2f4f7;color:#344054}.hold-selection-options[data-v-19a24287]{display:grid;gap:8px;padding:12px 16px 16px}.hold-selection-option[data-v-19a24287]{display:flex;align-items:center;gap:8px;width:100%;min-height:42px;padding:8px 10px;border:1px solid #d0d5dd;border-radius:7px;background:#fff;color:#344054;font-weight:700;text-align:left;cursor:pointer}.hold-selection-option[data-v-19a24287]:hover{border-color:#98a2b3;background:#f9fafb}.hold-selection-option.active[data-v-19a24287]{border-color:#111827;background:#f2f4f7}.hold-selection-actions[data-v-19a24287]{display:flex;justify-content:flex-end;gap:8px;padding:0 16px 16px}.hold-selection-actions button[data-v-19a24287]{min-height:34px;padding:0 14px;border-radius:6px;font-weight:700;cursor:pointer}.hold-selection-cancel[data-v-19a24287]{border:1px solid #d0d5dd;background:#fff;color:#344054}.hold-selection-confirm[data-v-19a24287]{border:1px solid #111827;background:#111827;color:#fff}.canvas-editor[data-v-bc3f4c2d]{display:flex;flex-direction:column;gap:15px;height:100%}.image-preview-overlay[data-v-bc3f4c2d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999}.image-preview-box[data-v-bc3f4c2d]{background:#fff;border-radius:8px;padding:12px;max-width:92vw;max-height:84vh;box-shadow:0 8px 24px #0000004d;position:relative;display:flex;flex-direction:column;align-items:center}.preview-image[data-v-bc3f4c2d]{max-width:88vw;max-height:68vh;border-radius:4px;object-fit:contain}.preview-hint[data-v-bc3f4c2d]{margin-top:8px;font-size:13px;color:#666}.crop-modal-overlay[data-v-bc3f4c2d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;display:flex;align-items:center;justify-content:center;z-index:10000}.crop-modal-box[data-v-bc3f4c2d]{position:relative;width:min(94vw,1100px);max-height:90vh;overflow:auto;background:linear-gradient(180deg,#fff,#f7fafc);border-radius:14px;padding:18px;box-shadow:0 18px 48px #0f172a47}.crop-modal-title[data-v-bc3f4c2d]{margin:0;padding-right:28px;color:#1e293b}.crop-modal-hint[data-v-bc3f4c2d]{margin:8px 0 14px;color:#64748b;line-height:1.5;font-size:13px}.crop-stage-shell[data-v-bc3f4c2d]{display:flex;justify-content:center;width:100%;padding:12px;border-radius:12px;background:linear-gradient(135deg,#e2e8f0,#cbd5e1)}.crop-stage[data-v-bc3f4c2d]{position:relative;display:inline-block;max-width:100%;touch-action:none;-webkit-user-select:none;user-select:none}.crop-stage-image[data-v-bc3f4c2d]{display:block;max-width:min(86vw,980px);max-height:64vh;border-radius:10px;object-fit:contain;box-shadow:0 8px 22px #0f172a2e}.crop-selection[data-v-bc3f4c2d]{position:absolute;border:2px solid #38bdf8;border-radius:8px;background:linear-gradient(180deg,#0ea5e92e,#0ea5e914),repeating-linear-gradient(90deg,rgba(255,255,255,.18) 0 1px,transparent 1px 18px),repeating-linear-gradient(0deg,rgba(255,255,255,.18) 0 1px,transparent 1px 18px);box-shadow:0 0 0 9999px #0f172a6b;cursor:move;overflow:visible}.crop-selection[data-v-bc3f4c2d]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(255,255,255,.8);border-radius:6px;pointer-events:none}.crop-handle[data-v-bc3f4c2d]{position:absolute;width:14px;height:14px;border-radius:999px;background:#fff;border:2px solid #0ea5e9;box-shadow:0 2px 8px #0f172a40;pointer-events:none}.crop-handle-tl[data-v-bc3f4c2d]{top:-8px;left:-8px}.crop-handle-tr[data-v-bc3f4c2d]{top:-8px;right:-8px}.crop-handle-bl[data-v-bc3f4c2d]{bottom:-8px;left:-8px}.crop-handle-br[data-v-bc3f4c2d]{bottom:-8px;right:-8px}.crop-modal-actions[data-v-bc3f4c2d]{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;flex-wrap:wrap}.crop-action-btn[data-v-bc3f4c2d]{flex:0 0 auto}.crop-reset-btn[data-v-bc3f4c2d]{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.close-preview[data-v-bc3f4c2d]{position:absolute;right:8px;top:8px;border:none;background:transparent;font-size:18px;cursor:pointer}.canvas-wrapper[data-v-bc3f4c2d]{position:relative;flex:1;display:flex;justify-content:center;align-items:center;background-color:#f9f9f9;border:2px solid #ddd;border-radius:6px;overflow:hidden}.text-input-overlay[data-v-bc3f4c2d]{position:absolute;z-index:30;transform:translate(-50%,-50%);background:#fffffff2;padding:6px 8px;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #00000026}.text-input-field[data-v-bc3f4c2d]{width:auto;background:#f5f5f5;min-width:160px;max-width:300px;padding:8px;border:1px solid #ccc;border-radius:4px;outline:none;box-sizing:border-box}.text-input-field[data-v-bc3f4c2d]:focus{border-color:#2c3e50;box-shadow:0 0 0 3px #2c3e5026}.delete-point-overlay[data-v-bc3f4c2d]{position:absolute;pointer-events:none;z-index:20}.point-color-overlay[data-v-bc3f4c2d]{position:absolute;z-index:24;width:220px;padding:10px 12px 12px;border-radius:12px;background:#fffffffa;border:1px solid rgba(148,163,184,.45);box-shadow:0 12px 28px #0f172a3d}.point-color-overlay-title[data-v-bc3f4c2d]{margin-bottom:10px;font-size:12px;font-weight:700;color:#334155}.template-hold-picker[data-v-bc3f4c2d]{position:absolute;z-index:26;width:250px;max-height:310px;padding:10px;overflow:hidden;border:1px solid rgba(148,163,184,.5);border-radius:12px;background:#fffffffa;box-shadow:0 14px 32px #0f172a47;box-sizing:border-box}.template-hold-picker-header[data-v-bc3f4c2d]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;color:#0f172a;font-size:12px;font-weight:800}.template-hold-picker-header button[data-v-bc3f4c2d]{width:24px;height:24px;padding:0;border:0;border-radius:6px;color:#475569;background:#f1f5f9;font-size:18px;line-height:1;cursor:pointer}.template-hold-picker-list[data-v-bc3f4c2d]{display:flex;flex-direction:column;gap:6px;max-height:205px;overflow-y:auto}.template-hold-picker-item[data-v-bc3f4c2d]{display:grid;grid-template-columns:44px 1fr 14px;align-items:center;gap:9px;min-height:50px;padding:4px 8px;border:1px solid #e2e8f0;border-radius:9px;color:#334155;background:#fff;font-size:12px;font-weight:700;text-align:left;cursor:pointer}.template-hold-picker-item[data-v-bc3f4c2d]:hover{border-color:#60a5fa;background:#eff6ff}.template-hold-picker-item.active[data-v-bc3f4c2d]{border-color:#0f172a;background:#e0f2fe;box-shadow:inset 0 0 0 1px #0f172a}.template-hold-picker-item small[data-v-bc3f4c2d]{display:block;margin-top:2px;color:#2563eb;font-size:10px;font-weight:700}.template-hold-picker-preview[data-v-bc3f4c2d]{width:44px;height:40px;overflow:visible}.template-hold-picker-color[data-v-bc3f4c2d]{width:12px;height:12px;border:1px solid rgba(15,23,42,.25);border-radius:50%}.template-hold-picker-actions[data-v-bc3f4c2d]{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.template-hold-picker-actions button[data-v-bc3f4c2d]{min-height:30px;padding:0 12px;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer}.template-hold-picker-cancel[data-v-bc3f4c2d]{border:1px solid #cbd5e1;color:#475569;background:#fff}.template-hold-picker-confirm[data-v-bc3f4c2d]{border:1px solid #0f172a;color:#fff;background:#0f172a}.point-color-grid[data-v-bc3f4c2d]{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.point-color-swatch[data-v-bc3f4c2d]{width:28px;height:28px;border-radius:50%;border:2px solid rgba(255,255,255,.95);box-shadow:0 0 0 1px #33415540;cursor:pointer;transition:transform .15s,box-shadow .15s}.point-color-swatch[data-v-bc3f4c2d]:hover{transform:scale(1.08)}.point-color-swatch.active[data-v-bc3f4c2d]{box-shadow:0 0 0 2px #0f172a}.arrow-style-overlay[data-v-bc3f4c2d]{position:absolute;z-index:24;width:236px;padding:10px;border-radius:12px;background:#fffffffa;border:1px solid rgba(148,163,184,.45);box-shadow:0 12px 28px #0f172a3d}.arrow-style-overlay-title[data-v-bc3f4c2d]{margin-bottom:8px;font-size:12px;font-weight:700;color:#0f172a}.arrow-style-section+.arrow-style-section[data-v-bc3f4c2d]{margin-top:10px}.arrow-style-label[data-v-bc3f4c2d]{margin-bottom:6px;font-size:11px;font-weight:600;color:#475569}.arrow-style-overlay .point-color-grid[data-v-bc3f4c2d]{gap:6px}.arrow-style-overlay .point-color-swatch[data-v-bc3f4c2d]{width:24px;height:24px}.arrow-border-width-row[data-v-bc3f4c2d]{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.arrow-border-width-btn[data-v-bc3f4c2d]{min-height:28px;border:1px solid rgba(148,163,184,.55);border-radius:8px;background:#f8fafc;color:#1e293b;font-size:11px;font-weight:600;cursor:pointer;padding:0 4px}@media (max-width: 1024px){.point-color-overlay[data-v-bc3f4c2d],.arrow-style-overlay[data-v-bc3f4c2d]{width:min(260px,calc(100vw - 24px));box-sizing:border-box;padding:14px}.point-color-swatch[data-v-bc3f4c2d],.arrow-style-overlay .point-color-swatch[data-v-bc3f4c2d]{width:36px;height:36px}.arrow-border-width-btn[data-v-bc3f4c2d]{min-height:40px}.template-hold-picker.is-mobile[data-v-bc3f4c2d]{width:min(238px,calc(100% - 16px));max-height:min(236px,calc(100% - 16px));padding:8px;border-radius:10px}.template-hold-picker.is-mobile .template-hold-picker-header[data-v-bc3f4c2d]{margin-bottom:6px;font-size:12px}.template-hold-picker.is-mobile .template-hold-picker-header button[data-v-bc3f4c2d]{width:24px;height:24px}.template-hold-picker.is-mobile .template-hold-picker-list[data-v-bc3f4c2d]{max-height:min(144px,calc(100dvh - 170px));gap:5px}.template-hold-picker.is-mobile .template-hold-picker-item[data-v-bc3f4c2d]{grid-template-columns:38px 1fr 12px;min-height:42px;padding:3px 7px;gap:7px;font-size:12px}.template-hold-picker.is-mobile .template-hold-picker-preview[data-v-bc3f4c2d]{width:38px;height:34px}.template-hold-picker.is-mobile .template-hold-picker-actions[data-v-bc3f4c2d]{gap:6px;margin-top:7px}.template-hold-picker.is-mobile .template-hold-picker-actions button[data-v-bc3f4c2d]{min-height:28px;padding:0 10px;font-size:11px}}.arrow-border-width-btn.active[data-v-bc3f4c2d]{border-color:#0f172a;background:#e2e8f0}.delete-point-btn[data-v-bc3f4c2d]{pointer-events:auto;border:none;border-radius:18px;background:#e74c3cf2;color:#fff;padding:6px 16px;font-size:13px;font-weight:600;box-shadow:0 4px 10px #0003}.delete-point-btn--compact[data-v-bc3f4c2d]{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border-radius:50%;font-size:16px}.mobile-upload-overlay[data-v-bc3f4c2d]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:10;pointer-events:none}.mobile-upload-actions[data-v-bc3f4c2d]{display:flex;flex-direction:column;gap:12px;align-items:center;pointer-events:auto}.mobile-upload-overlay .import-center-btn[data-v-bc3f4c2d]{padding:16px 20px;font-size:16px;border-radius:10px;border:none;background:#2c3e50;color:#fff;white-space:nowrap}.mobile-upload-overlay .import-center-btn[data-v-bc3f4c2d]:active{transform:translateY(1px)}.mobile-upload-overlay .import-center-btn-secondary[data-v-bc3f4c2d]{background:#475569}canvas[data-v-bc3f4c2d]{cursor:crosshair;display:block;background-color:#fff}.upload-section[data-v-bc3f4c2d]{display:flex;gap:10px;align-items:center}.btn-help[data-v-bc3f4c2d]{flex:0 0 auto;width:42px;height:42px;border:none;border-radius:999px;background:linear-gradient(135deg,#0f172a,#2563eb);color:#fff;font-size:18px;font-weight:700;cursor:pointer;box-shadow:0 10px 20px #2563eb3d;transition:transform .18s ease,box-shadow .18s ease}.btn-help[data-v-bc3f4c2d]:hover{transform:translateY(-1px);box-shadow:0 12px 24px #2563eb4d}.btn-help[data-v-bc3f4c2d]:active{transform:translateY(0)}.btn-secondary[data-v-bc3f4c2d]{flex:1 1 auto;padding:10px 12px;background-color:#e0e0e0;color:#333;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;white-space:nowrap;transition:background-color .2s}.btn-secondary[data-v-bc3f4c2d]:active{background-color:#d0d0d0}.form-group[data-v-bc3f4c2d]{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.form-group label[data-v-bc3f4c2d]{font-size:13px;font-weight:500;color:#333}.form-group input[data-v-bc3f4c2d],.form-group select[data-v-bc3f4c2d]{padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit}.form-group input[data-v-bc3f4c2d]:focus,.form-group select[data-v-bc3f4c2d]:focus{outline:none;border-color:#2c3e50;box-shadow:0 0 0 3px #2c3e501a}.dialog-buttons[data-v-bc3f4c2d]{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.btn-cancel[data-v-bc3f4c2d],.btn-confirm[data-v-bc3f4c2d]{padding:12px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel[data-v-bc3f4c2d]{background:#e0e0e0;color:#333}.btn-cancel[data-v-bc3f4c2d]:active{background:#d0d0d0}.btn-confirm[data-v-bc3f4c2d]{background:#2c3e50;color:#fff}.btn-confirm[data-v-bc3f4c2d]:active{background:#1a252f}.spraywall-import-overlay[data-v-bc3f4c2d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999}.spraywall-import-box[data-v-bc3f4c2d]{width:min(92vw,1400px);max-width:92vw;max-height:84vh}.template-hold-editor-overlay[data-v-bc3f4c2d]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:28px;background:#0f172a94}.template-hold-editor-dialog[data-v-bc3f4c2d]{width:min(1280px,96vw);max-height:92vh;overflow:auto;padding:18px;border-radius:8px;background:#fff;box-shadow:0 22px 70px #0f172a52}.spraywall-import-toolbar[data-v-bc3f4c2d]{width:100%;margin-bottom:12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spraywall-import-toolbar-label[data-v-bc3f4c2d]{min-width:74px;font-weight:600;color:#333}.spraywall-import-refresh[data-v-bc3f4c2d]{flex:0 0 auto;width:110px}.spraywall-list[data-v-bc3f4c2d]{columns:4 240px;column-gap:14px;max-height:56vh;overflow:auto;width:100%;padding-right:4px}.spraywall-item[data-v-bc3f4c2d]{background-color:#fff;border-radius:6px;padding:8px;box-shadow:0 2px 8px #00000014;cursor:pointer;transition:transform .12s,box-shadow .12s;display:inline-flex;width:100%;flex-direction:column;gap:8px;break-inside:avoid;-webkit-column-break-inside:avoid;margin-bottom:14px}.spraywall-item[data-v-bc3f4c2d]:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001f}.spraywall-thumb[data-v-bc3f4c2d]{display:block;width:100%;height:auto;max-height:42vh;object-fit:contain;border-radius:4px;background:#f8fafc}.spraywall-item-meta[data-v-bc3f4c2d]{display:grid;gap:4px}.spraywall-item-meta .name[data-v-bc3f4c2d]{font-size:15px;font-weight:700;color:#0f172a}.spraywall-item-meta .date[data-v-bc3f4c2d]{color:#334155;line-height:1.35}@media (max-width: 1200px){.spraywall-list[data-v-bc3f4c2d]{columns:3 220px}}@media (max-width: 800px){.spraywall-list[data-v-bc3f4c2d]{columns:2 180px}}@media (max-width: 420px){.spraywall-list[data-v-bc3f4c2d]{columns:1}}@media (max-width: 640px){.spraywall-import-box[data-v-bc3f4c2d]{width:100vw;max-width:100vw;max-height:92vh;border-radius:18px 18px 0 0}.spraywall-import-toolbar-label[data-v-bc3f4c2d]{min-width:auto}.spraywall-import-refresh[data-v-bc3f4c2d]{width:100%}.spraywall-list[data-v-bc3f4c2d]{columns:2 150px;max-height:58vh}.crop-modal-overlay[data-v-bc3f4c2d]{align-items:flex-end}.crop-modal-box[data-v-bc3f4c2d]{width:100vw;max-height:92vh;border-radius:18px 18px 0 0;padding:14px 14px calc(14px + env(safe-area-inset-bottom,0px))}.crop-stage-shell[data-v-bc3f4c2d]{padding:6px;border-radius:10px}.crop-stage-image[data-v-bc3f4c2d]{max-width:88vw;max-height:50vh}.crop-modal-actions[data-v-bc3f4c2d]{position:sticky;bottom:0;justify-content:stretch;margin:16px -14px -14px;padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px));background:#fffffff5;box-shadow:0 -10px 22px #0f172a14}.crop-modal-actions .btn-cancel[data-v-bc3f4c2d],.crop-modal-actions .btn-secondary[data-v-bc3f4c2d],.crop-modal-actions .btn-confirm[data-v-bc3f4c2d]{flex:1 1 100%;min-height:48px}.crop-handle[data-v-bc3f4c2d]{width:18px;height:18px}.crop-handle-tl[data-v-bc3f4c2d]{top:-10px;left:-10px}.crop-handle-tr[data-v-bc3f4c2d]{top:-10px;right:-10px}.crop-handle-bl[data-v-bc3f4c2d]{bottom:-10px;left:-10px}.crop-handle-br[data-v-bc3f4c2d]{bottom:-10px;right:-10px}}.control-panel[data-v-0b07b94f]{display:flex;flex-direction:column;gap:16px;padding-inline:5px;box-sizing:border-box}.control-group[data-v-0b07b94f]{display:flex;flex-direction:column;gap:8px}.control-group-label-row[data-v-0b07b94f]{display:flex;align-items:center;justify-content:space-between;gap:10px}.control-group label[data-v-0b07b94f]{font-weight:600;color:#333;font-size:14px}.template-hold-mode-toggle[data-v-0b07b94f]{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border:1px solid #d4d4d8;border-radius:6px;background:#f8fafc}.template-hold-mode-btn[data-v-0b07b94f]{min-height:32px;border:0;border-radius:4px;background:transparent;color:#475569;cursor:pointer;font-size:12px;font-weight:700}.template-hold-mode-btn.active[data-v-0b07b94f]{background:#1f2937;color:#fff;box-shadow:0 1px 3px #0f172a2e}.point-mode-toggle[data-v-0b07b94f]{display:inline-flex;align-items:center;gap:8px;padding:4px 6px 4px 10px;border:1px solid #d4d4d8;border-radius:999px;background:#fff;color:#475569;cursor:pointer;transition:all .2s;flex-shrink:0}.point-mode-toggle-mobile[data-v-0b07b94f]{padding:5px 6px 5px 10px}.point-mode-toggle[data-v-0b07b94f]:hover{border-color:#334155;color:#1f2937}.point-mode-toggle.active[data-v-0b07b94f]{border-color:#1f6fb2;background:#eff6ff;color:#1d4ed8}.point-mode-toggle-text[data-v-0b07b94f]{font-size:12px;font-weight:700;line-height:1}.point-mode-toggle-mobile .point-mode-toggle-text[data-v-0b07b94f]{font-size:11px}.point-mode-toggle-track[data-v-0b07b94f]{position:relative;width:34px;height:18px;border-radius:999px;background:#cbd5e1;transition:background .2s}.point-mode-toggle.active .point-mode-toggle-track[data-v-0b07b94f]{background:#60a5fa}.point-mode-toggle-thumb[data-v-0b07b94f]{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0f172a40;transition:transform .2s}.point-mode-toggle.active .point-mode-toggle-thumb[data-v-0b07b94f]{transform:translate(16px)}.point-type-selector[data-v-0b07b94f]{display:grid;grid-template-columns:repeat(5,1fr);grid-auto-rows:auto;gap:6px;align-items:start;overflow:visible}.type-btn[data-v-0b07b94f]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 6px;border:2px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;transition:all .2s;font-size:12px;font-weight:500;box-sizing:border-box;width:100%;min-height:64px}.type-btn[data-v-0b07b94f]:hover{border-color:#2c3e50;transform:translateY(-2px)}.type-btn.active[data-v-0b07b94f]{border-color:#2c3e50;background-color:#f0f0f0;box-shadow:0 2px 6px #2c3e5033}.type-icon[data-v-0b07b94f]{width:24px;height:24px;object-fit:contain}.type-preview-circle[data-v-0b07b94f]{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:800;letter-spacing:.04em;box-shadow:inset 0 0 0 2px #ffffffb8}.type-emoji[data-v-0b07b94f]{font-size:20px}.type-label[data-v-0b07b94f]{display:block;color:#333;margin-bottom:4px}.type-color[data-v-0b07b94f]{width:24px;height:8px;border-radius:2px;display:block}select[data-v-0b07b94f],input[type=text][data-v-0b07b94f]{padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit}select[data-v-0b07b94f]:focus,input[type=text][data-v-0b07b94f]:focus{outline:none;border-color:#2c3e50;box-shadow:0 0 0 3px #2c3e501a}.btn-primary[data-v-0b07b94f],.btn-secondary[data-v-0b07b94f],.btn-danger[data-v-0b07b94f]{padding:10px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;width:100%}.btn-primary[data-v-0b07b94f]{background-color:#2c3e50;color:#fff}.btn-primary[data-v-0b07b94f]:hover{background-color:#1a252f}.btn-secondary[data-v-0b07b94f]{background-color:#e0e0e0;color:#333}.btn-secondary[data-v-0b07b94f]:hover{background-color:#d0d0d0}.btn-danger[data-v-0b07b94f]{background-color:#e74c3c;color:#fff}.btn-danger[data-v-0b07b94f]:hover{background-color:#c0392b}.control-group-mobile[data-v-0b07b94f]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.btn-mobile[data-v-0b07b94f]{padding:12px 10px;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;background-color:#2c3e50;color:#fff;transition:all .2s}.btn-mobile[data-v-0b07b94f]:active{background-color:#1a252f}.btn-mobile.btn-danger[data-v-0b07b94f]{background-color:#e74c3c}.btn-mobile.btn-danger[data-v-0b07b94f]:active{background-color:#c0392b}.image-overlay-control[data-v-0b07b94f]{padding:10px 12px;border:1px solid #e5e7eb;border-radius:6px;background:#f8fafc}.overlay-toggle-row[data-v-0b07b94f],.overlay-control-row[data-v-0b07b94f],.overlay-inline-row[data-v-0b07b94f]{display:flex;align-items:center;gap:10px}.overlay-toggle-row[data-v-0b07b94f]{font-weight:700;color:#334155;cursor:pointer;white-space:nowrap}.overlay-toggle-row input[data-v-0b07b94f]{width:16px;height:16px}.overlay-control-row[data-v-0b07b94f]{justify-content:space-between}.overlay-control-row.disabled[data-v-0b07b94f]{opacity:.48}.overlay-inline-row[data-v-0b07b94f]{display:grid;grid-template-columns:auto 42px minmax(0,1fr) 38px;align-items:center;gap:10px}.overlay-inline-row.disabled[data-v-0b07b94f]{opacity:.48}.overlay-control-row label[data-v-0b07b94f]{min-width:48px;font-size:13px}.overlay-control-row input[type=color][data-v-0b07b94f],.overlay-inline-row input[type=color][data-v-0b07b94f]{width:42px;height:30px;padding:0;border:1px solid #cbd5e1;border-radius:4px;background:#fff}.overlay-control-row input[type=range][data-v-0b07b94f],.overlay-inline-row input[type=range][data-v-0b07b94f]{flex:1;min-width:0}.overlay-control-row span[data-v-0b07b94f],.overlay-inline-row span[data-v-0b07b94f]{width:38px;color:#475569;font-size:12px;text-align:right}.route-list[data-v-0b07b94f]{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto}.route-item[data-v-0b07b94f]{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;transition:all .2s}.route-item[data-v-0b07b94f]:hover{background-color:#efefef;border-color:#2c3e50}.route-name[data-v-0b07b94f]{font-weight:500;color:#333;font-size:13px}.route-difficulty[data-v-0b07b94f]{padding:2px 8px;border-radius:3px;color:#fff;font-size:11px;font-weight:600}.stats[data-v-0b07b94f]{background-color:#f0f0f0;padding:10px;border-radius:4px}.stat-item[data-v-0b07b94f]{display:flex;justify-content:space-between;font-size:13px;color:#666;margin-bottom:4px}.view-controls[data-v-0b07b94f]{background-color:#f0f0f0;padding:12px;border-radius:4px;border:1px solid #e0e0e0}.size-control-buttons[data-v-0b07b94f]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.btn-size-control[data-v-0b07b94f]{padding:10px 12px;border:2px solid #ddd;border-radius:4px;background-color:#fff;color:#333;cursor:pointer;font-size:13px;font-weight:600;white-space:nowrap;transition:all .2s}.btn-size-control[data-v-0b07b94f]:hover{border-color:#2c3e50;background-color:#f9f9f9}.btn-size-control.active[data-v-0b07b94f]{border-color:#2c3e50;background-color:#eef3f7}.view-control-buttons[data-v-0b07b94f]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.btn-view-control[data-v-0b07b94f]{padding:10px 12px;border:2px solid #ddd;border-radius:4px;background-color:#fff;color:#333;cursor:pointer;font-size:13px;font-weight:500;white-space:nowrap;transition:all .2s}.btn-view-control[data-v-0b07b94f]:hover{border-color:#2c3e50;background-color:#f9f9f9}.btn-view-control.active[data-v-0b07b94f]{border-color:#37c837;background-color:#e8f5e9;color:#237c3e;font-weight:600}.form-group[data-v-0b07b94f]{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.form-group label[data-v-0b07b94f]{font-size:13px;font-weight:500;color:#333}.form-group input[data-v-0b07b94f],.form-group select[data-v-0b07b94f]{padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit}.form-group input[data-v-0b07b94f]:focus,.form-group select[data-v-0b07b94f]:focus{outline:none;border-color:#2c3e50;box-shadow:0 0 0 3px #2c3e501a}.form-row[data-v-0b07b94f]{display:flex;gap:12px}.form-field[data-v-0b07b94f]{flex:1;display:flex;flex-direction:column;gap:6px}.route-info-box[data-v-0b07b94f]{display:flex;padding:10px;max-width:100%;box-sizing:border-box}@media (max-width: 1024px){.control-panel[data-v-0b07b94f]{gap:14px;padding-inline:0}.point-type-selector[data-v-0b07b94f]{grid-template-columns:repeat(4,minmax(0,1fr))}.type-btn[data-v-0b07b94f]{min-height:58px;padding:6px 4px}.route-info-box[data-v-0b07b94f]{padding:0}.route-info-box>div[data-v-0b07b94f]{width:100%}.form-group input[data-v-0b07b94f],.form-group select[data-v-0b07b94f]{width:100%!important;box-sizing:border-box}.form-row[data-v-0b07b94f]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.overlay-inline-row[data-v-0b07b94f]{flex-wrap:wrap}.image-overlay-control input[type=range][data-v-0b07b94f]{flex:1 1 140px}}@media (max-width: 380px){.point-type-selector[data-v-0b07b94f]{grid-template-columns:repeat(3,minmax(0,1fr))}.form-row[data-v-0b07b94f]{grid-template-columns:1fr}}.desktop-container[data-v-97cc4c81]{display:flex;flex-direction:column;height:100%;background-color:#f5f5f5}.main-content[data-v-97cc4c81]{display:grid;grid-template-columns:1fr 320px;gap:20px;padding:20px;flex:1;overflow:hidden}.canvas-area[data-v-97cc4c81]{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:20px;overflow:auto}.controls-panel[data-v-97cc4c81]{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow-y:auto;max-height:100%}@media (max-width: 1200px){.main-content[data-v-97cc4c81]{grid-template-columns:1fr 280px;gap:15px;padding:15px}}.mobile-container[data-v-f755fdf1]{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:auto minmax(0,1fr);width:100%;height:100dvh;min-height:0;padding-bottom:calc(68px + env(safe-area-inset-bottom));box-sizing:border-box;overflow:hidden;background:#101828}.mobile-app-bar[data-v-f755fdf1]{z-index:30;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:52px;padding:max(6px,env(safe-area-inset-top)) 10px 6px;color:#fff;background:#17202b;box-shadow:0 1px #ffffff14}.mobile-title-wrap[data-v-f755fdf1]{min-width:0}.mobile-title[data-v-f755fdf1]{overflow:hidden;font-size:15px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.mobile-status[data-v-f755fdf1]{margin-top:2px;color:#cbd5e1;font-size:10px}.mobile-header-actions[data-v-f755fdf1]{display:flex;align-items:center;gap:4px}.mobile-icon-btn[data-v-f755fdf1]{min-width:40px;min-height:40px;padding:0 9px;border:0;border-radius:10px;color:#fff;background:#ffffff1a;font-size:17px;font-weight:700}.mobile-icon-btn[data-v-f755fdf1]:active{background:#ffffff38;transform:scale(.96)}.mobile-publish-btn[data-v-f755fdf1]{color:#102a1c;background:#86efac;font-size:12px}.mobile-mode-btn[data-v-f755fdf1],.mobile-reset-btn[data-v-f755fdf1]{min-width:38px;padding:0 7px;font-size:11px}.mobile-mode-btn[data-v-f755fdf1]{border:1px solid transparent}.mobile-reset-btn[data-v-f755fdf1]{font-weight:900}.mobile-delete-mode-btn[data-v-f755fdf1]{min-width:34px;padding:0 7px;color:#fecaca;font-size:12px}.mobile-delete-mode-btn.active[data-v-f755fdf1]{color:#fff;background:#dc2626}.mobile-canvas-area[data-v-f755fdf1]{position:relative;min-height:0;overflow:hidden}.mobile-canvas-area[data-v-f755fdf1] .canvas-editor,.mobile-canvas-area[data-v-f755fdf1] .canvas-wrapper{width:100%;height:100%;min-height:0}.mobile-tool-dock[data-v-f755fdf1]{position:fixed;right:0;bottom:0;left:0;z-index:300;display:flex;gap:4px;min-height:68px;padding:6px 8px max(6px,env(safe-area-inset-bottom));overflow-x:auto;overscroll-behavior-x:contain;background:#fff;border-top:1px solid #e2e8f0;scrollbar-width:none}.mobile-tool-dock[data-v-f755fdf1]::-webkit-scrollbar{display:none}.mobile-tool-btn[data-v-f755fdf1]{flex:0 0 54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:54px;min-height:52px;padding:4px;border:1px solid transparent;border-radius:10px;color:#475569;background:transparent;font-size:10px;font-weight:700}.mobile-tool-btn.active[data-v-f755fdf1]{color:#0f172a;border-color:#93c5fd;background:#eff6ff}.mobile-tool-symbol[data-v-f755fdf1]{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:50%;color:#fff;background:#64748b;font-size:13px;font-weight:900}.mobile-sheet-overlay[data-v-f755fdf1]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:flex-end;background:#0f172a8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.mobile-sheet[data-v-f755fdf1]{display:flex;flex-direction:column;width:100%;max-height:min(82dvh,760px);padding-bottom:env(safe-area-inset-bottom);overflow:hidden;border-radius:18px 18px 0 0;background:#fff;box-shadow:0 -12px 40px #0f172a40}.mobile-sheet-handle[data-v-f755fdf1]{width:42px;height:4px;margin:8px auto 3px;border-radius:999px;background:#cbd5e1}.mobile-sheet-header[data-v-f755fdf1]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px 12px;border-bottom:1px solid #e2e8f0}.mobile-sheet-subtitle[data-v-f755fdf1]{margin-top:2px;color:#64748b;font-size:11px}.mobile-sheet-close[data-v-f755fdf1]{min-width:58px;min-height:38px;border:0;border-radius:9px;color:#fff;background:#0f172a;font-weight:700}.mobile-sheet-body[data-v-f755fdf1]{padding:14px;overflow-y:auto;overscroll-behavior:contain}.mobile-file-actions[data-v-f755fdf1]{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid #e2e8f0}.mobile-file-actions button[data-v-f755fdf1]{min-height:44px;border:1px solid #cbd5e1;border-radius:9px;background:#f8fafc;color:#334155;font-weight:700}.mobile-file-actions button.danger[data-v-f755fdf1]{color:#b42318;border-color:#fda29b;background:#fff5f4}.mobile-upload-form-overlay[data-v-f755fdf1]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;display:flex;align-items:flex-end;background:#0f172a94;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.mobile-upload-form[data-v-f755fdf1]{width:100%;padding-bottom:max(12px,env(safe-area-inset-bottom));border-radius:18px 18px 0 0;background:#fff;box-shadow:0 -12px 40px #0f172a40}.mobile-upload-fields[data-v-f755fdf1]{display:grid;gap:14px;padding:16px}.mobile-upload-fields label[data-v-f755fdf1]{display:grid;gap:6px;color:#334155;font-size:13px;font-weight:700}.mobile-upload-fields input[data-v-f755fdf1],.mobile-upload-fields select[data-v-f755fdf1]{width:100%;min-height:46px;padding:0 12px;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;outline:none;background:#fff;color:#0f172a;font:inherit;font-size:16px}.mobile-upload-fields input[data-v-f755fdf1]:focus,.mobile-upload-fields select[data-v-f755fdf1]:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb24}.mobile-upload-field-row[data-v-f755fdf1]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mobile-upload-actions[data-v-f755fdf1]{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 16px}.mobile-upload-actions button[data-v-f755fdf1]{min-height:46px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;color:#334155;font-size:16px;font-weight:800}.mobile-upload-actions button.primary[data-v-f755fdf1]{border-color:#0f172a;background:#0f172a;color:#fff}@media (orientation: landscape) and (max-height: 560px){.mobile-app-bar[data-v-f755fdf1]{min-height:44px;padding-top:4px;padding-bottom:4px}.mobile-status[data-v-f755fdf1]{display:none}.mobile-tool-dock[data-v-f755fdf1]{min-height:58px}.mobile-tool-btn[data-v-f755fdf1]{min-height:44px}.mobile-sheet[data-v-f755fdf1]{max-height:92dvh}}@media (max-width: 360px){.mobile-upload-field-row[data-v-f755fdf1]{grid-template-columns:1fr}}.modal-overlay[data-v-bdd362a4]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-bdd362a4]{background:#fff;border-radius:12px;max-width:900px;width:90%;height:90vh;display:flex;flex-direction:column;position:relative;overflow:hidden;box-shadow:0 4px 24px #00000026}.modal-content.compact[data-v-bdd362a4]{width:min(95vw,1200px);height:min(90vh,900px)}.close-btn[data-v-bdd362a4]{position:absolute;top:16px;right:16px;background:none;border:none;font-size:32px;cursor:pointer;color:#666;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;z-index:10}.close-btn[data-v-bdd362a4]:hover{background-color:#0000000d;color:#333}.nav-btn[data-v-bdd362a4]{position:absolute;top:50%;transform:translateY(-50%);background:#00000073;color:#fff;border:none;width:44px;height:64px;display:flex;align-items:center;justify-content:center;font-size:28px;cursor:pointer;border-radius:6px;z-index:12}.nav-btn[data-v-bdd362a4]:hover{background:#0009}.nav-left[data-v-bdd362a4]{left:8px}.nav-right[data-v-bdd362a4]{right:8px}.modal-image-wrapper[data-v-bdd362a4]{width:100%;background-color:#f5f5f5;display:flex;align-items:center;justify-content:center;min-height:0;flex:1 1 auto;border-radius:12px 12px 0 0;position:relative;overflow:hidden}.modal-content.compact .modal-image-wrapper[data-v-bdd362a4]{border-radius:12px}.modal-header[data-v-bdd362a4]{flex:0 0 auto;min-width:0;padding:12px 60px 10px 16px;border-bottom:1px solid #e5e7eb}.modal-image[data-v-bdd362a4]{width:100%;height:100%;object-fit:contain;padding:12px;box-sizing:border-box;transform-origin:center center;display:block}.skeleton-image[data-v-bdd362a4]{position:absolute;width:100%;height:100%;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading-bdd362a4 1.5s infinite;border-radius:12px 12px 0 0}@keyframes skeleton-loading-bdd362a4{0%{background-position:200% 0}to{background-position:-200% 0}}.modal-body[data-v-bdd362a4]{padding:24px;min-height:0;overflow-y:auto}.modal-content:not(.compact) .modal-image-wrapper[data-v-bdd362a4]{flex:1 1 0}.modal-content:not(.compact) .modal-body[data-v-bdd362a4]{flex:0 1 auto;max-height:38%}.modal-fade-enter-active[data-v-bdd362a4],.modal-fade-leave-active[data-v-bdd362a4]{transition:opacity .3s ease}.modal-fade-enter-from[data-v-bdd362a4],.modal-fade-leave-to[data-v-bdd362a4]{opacity:0}.modal-fade-enter-active .modal-content[data-v-bdd362a4]{animation:slideUp-bdd362a4 .3s ease-in-out}.modal-fade-leave-active .modal-content[data-v-bdd362a4]{animation:slideDown-bdd362a4 .3s ease-in-out}@keyframes slideUp-bdd362a4{0%{transform:translateY(20px)}to{transform:translateY(0)}}@keyframes slideDown-bdd362a4{0%{transform:translateY(0)}to{transform:translateY(20px)}}@media (max-width: 1024px){.modal-overlay[data-v-bdd362a4]{height:100dvh;padding:calc(8px + env(safe-area-inset-top)) 8px calc(8px + env(safe-area-inset-bottom));box-sizing:border-box}.modal-content[data-v-bdd362a4]{width:100%;height:100%;max-height:100%;border-radius:10px;max-width:100%;box-sizing:border-box}.modal-image-wrapper[data-v-bdd362a4]{min-height:0}.modal-header[data-v-bdd362a4]{padding:10px 56px 8px 14px}.modal-image[data-v-bdd362a4]{width:100%;height:100%}.modal-body[data-v-bdd362a4]{padding:20px;flex:1 1 auto;overflow:auto}.modal-content.compact .modal-body[data-v-bdd362a4]{display:none}.close-btn[data-v-bdd362a4]{top:12px;right:12px;font-size:28px}}.browse-container[data-v-e9092631]{width:100%;height:100%}.desktop-browse[data-v-e9092631]{display:flex;flex-direction:column;height:100vh}.browse-header[data-v-e9092631]{display:flex;justify-content:space-between;align-items:center;padding:20px;background-color:#fff;border-bottom:1px solid #e0e0e0}.header-buttons[data-v-e9092631]{display:flex;gap:12px}.browse-header h1[data-v-e9092631]{margin:0;font-size:24px;color:#2c3e50}.btn-settings[data-v-e9092631]{padding:10px 24px;background-color:#6c757d;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-settings[data-v-e9092631]:hover{background-color:#5a6268}.btn-dingxian[data-v-e9092631]{padding:10px 24px;background-color:#43b6e8;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-dingxian[data-v-e9092631]:hover{background-color:#2687b0}.browse-content[data-v-e9092631]{flex:1;overflow:auto;padding:20px}.filters[data-v-e9092631]{margin-bottom:20px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.filters label[data-v-e9092631]{font-weight:600;color:#2c3e50}.filter-btn[data-v-e9092631]{padding:8px 16px;background-color:#f0f0f0;border:2px solid transparent;border-radius:6px;cursor:pointer;transition:all .2s;font-size:14px}.filter-btn[data-v-e9092631]:hover{background-color:#e0e0e0}.filter-btn.active[data-v-e9092631]{background-color:#2c3e50;color:#fff;border-color:#2c3e50}.routes-grid[data-v-e9092631]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.desktop-browse .routes-grid[data-v-e9092631]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-auto-rows:8px;gap:20px;align-items:start}.loading[data-v-e9092631],.empty[data-v-e9092631]{grid-column:1 / -1;text-align:center;padding:40px 20px;color:#999;font-size:18px}.route-card[data-v-e9092631]{background-color:#fff;border-radius:8px;padding:16px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;gap:12px;transition:box-shadow .2s}.desktop-browse .route-card[data-v-e9092631]{width:100%;margin:0}.route-card[data-v-e9092631]:hover{box-shadow:0 4px 12px #00000026}.route-header[data-v-e9092631]{display:flex;justify-content:space-between;align-items:start;gap:12px}.route-header h3[data-v-e9092631]{margin:0;font-size:18px;color:#2c3e50;flex:1}.difficulty[data-v-e9092631]{padding:4px 12px;border-radius:4px;font-size:12px;font-weight:600;white-space:nowrap}.difficulty-简单[data-v-e9092631]{background-color:#d4edda;color:#155724}.difficulty-中等[data-v-e9092631]{background-color:#fff3cd;color:#856404}.difficulty-困难[data-v-e9092631]{background-color:#f8d7da;color:#721c24}.difficulty-专家[data-v-e9092631]{background-color:#d1ecf1;color:#0c5460}.route-info[data-v-e9092631]{color:#666;font-size:14px}.route-info p[data-v-e9092631]{margin:6px 0}.route-actions[data-v-e9092631]{display:flex;gap:10px;margin-top:8px}.btn-load[data-v-e9092631],.btn-info[data-v-e9092631]{flex:1;padding:8px 12px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-load[data-v-e9092631]{background-color:#37c837;color:#fff}.btn-load[data-v-e9092631]:hover{background-color:#2ca82c}.btn-info[data-v-e9092631]{background-color:#f0f0f0;color:#2c3e50}.btn-info[data-v-e9092631]:hover{background-color:#e0e0e0}.mobile-browse[data-v-e9092631]{display:flex;flex-direction:column;height:100vh;background-color:#f5f5f5}.mobile-header[data-v-e9092631]{background-color:#fff;padding:16px;box-shadow:0 2px 4px #0000001a}.header-top[data-v-e9092631]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.header-buttons[data-v-e9092631]{display:flex;gap:8px}.header-top h1[data-v-e9092631]{margin:0;font-size:20px;color:#2c3e50}.mobile-content[data-v-e9092631]{flex:1;overflow-y:auto;padding:12px}.mobile-browse .filters[data-v-e9092631]{margin:0;display:flex;gap:8px;overflow-x:auto;padding-bottom:8px}.mobile-browse .filter-btn[data-v-e9092631]{padding:6px 12px;font-size:12px;flex-shrink:0}.mobile-browse .routes-grid[data-v-e9092631]{grid-template-columns:1fr;gap:12px}.mobile-browse .route-card[data-v-e9092631]{padding:12px}.detail-content h2[data-v-e9092631]{margin:0 0 16px;font-size:24px;color:#333}.detail-title-row[data-v-e9092631]{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.detail-title-row h2[data-v-e9092631],.detail-title-row .meta-row[data-v-e9092631]{margin:0}.detail-content[data-v-e9092631]{overflow:visible;max-height:none}.detail-content p[data-v-e9092631]{margin:12px 0;color:#666;line-height:1.6;font-size:14px}.meta-row[data-v-e9092631]{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.meta-row-with-action[data-v-e9092631]{justify-content:space-between;gap:12px}.meta-row-main[data-v-e9092631]{display:flex;gap:16px;align-items:center;flex-wrap:wrap;flex:1}.meta-row p[data-v-e9092631]{margin:0}.detail-content strong[data-v-e9092631]{color:#333;font-weight:600}.route-info-footer[data-v-e9092631]{display:flex;align-items:center;justify-content:space-between;gap:12px}.route-info-footer p[data-v-e9092631]{margin:0;flex:1}.route-card .route-header[data-v-e9092631]{display:block}.route-card .route-header h3[data-v-e9092631]{margin:0;line-height:1.4}.route-meta-row[data-v-e9092631]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.route-meta-row p[data-v-e9092631]{margin:0}.route-meta-row .difficulty[data-v-e9092631]{padding:0;border-radius:0;background:transparent}.route-info-summary-row[data-v-e9092631]{align-items:center;flex-wrap:wrap}.route-info-summary-text[data-v-e9092631]{margin:0;flex:1}.browse-container[data-v-a47a2c71]{width:100%;height:100%}.desktop-browse[data-v-a47a2c71]{display:flex;flex-direction:column;height:100vh}.browse-header[data-v-a47a2c71]{display:flex;justify-content:space-between;align-items:center;padding:20px;background-color:#fff;border-bottom:1px solid #e0e0e0}.header-buttons[data-v-a47a2c71]{display:flex;gap:12px}.browse-header h1[data-v-a47a2c71]{margin:0;font-size:24px;color:#2c3e50}.btn-settings[data-v-a47a2c71]{padding:10px 24px;background-color:#6c757d;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-settings[data-v-a47a2c71]:hover{background-color:#5a6268}.btn-dingxian[data-v-a47a2c71]{padding:10px 24px;background-color:#43b6e8;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-dingxian[data-v-a47a2c71]:hover{background-color:#2687b0}.browse-content[data-v-a47a2c71]{flex:1;overflow:auto;padding:20px}.filters[data-v-a47a2c71]{margin-bottom:20px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.filters label[data-v-a47a2c71]{font-weight:600;color:#2c3e50}.filter-btn[data-v-a47a2c71]{padding:8px 16px;background-color:#f0f0f0;border:2px solid transparent;border-radius:6px;cursor:pointer;transition:all .2s;font-size:14px}.filter-btn[data-v-a47a2c71]:hover{background-color:#e0e0e0}.filter-btn.active[data-v-a47a2c71]{background-color:#2c3e50;color:#fff;border-color:#2c3e50}.routes-grid[data-v-a47a2c71]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.desktop-browse .routes-grid[data-v-a47a2c71]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-auto-rows:8px;gap:20px;align-items:start}.loading[data-v-a47a2c71],.empty[data-v-a47a2c71]{grid-column:1 / -1;text-align:center;padding:40px 20px;color:#999;font-size:18px}.route-card[data-v-a47a2c71]{background-color:#fff;border-radius:8px;padding:16px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;gap:12px;transition:box-shadow .2s}.desktop-browse .route-card[data-v-a47a2c71]{width:100%;margin:0}.route-card[data-v-a47a2c71]:hover{box-shadow:0 4px 12px #00000026}.route-header[data-v-a47a2c71]{display:flex;justify-content:space-between;align-items:start;gap:12px}.route-header h3[data-v-a47a2c71]{margin:0;font-size:18px;color:#2c3e50;flex:1}.difficulty[data-v-a47a2c71]{padding:4px 12px;border-radius:4px;font-size:12px;font-weight:600;white-space:nowrap}.difficulty-简单[data-v-a47a2c71]{background-color:#d4edda;color:#155724}.difficulty-中等[data-v-a47a2c71]{background-color:#fff3cd;color:#856404}.difficulty-困难[data-v-a47a2c71]{background-color:#f8d7da;color:#721c24}.difficulty-专家[data-v-a47a2c71]{background-color:#d1ecf1;color:#0c5460}.route-info[data-v-a47a2c71]{color:#666;font-size:14px}.route-info p[data-v-a47a2c71]{margin:6px 0}.route-actions[data-v-a47a2c71]{display:flex;gap:10px;margin-top:8px}.btn-load[data-v-a47a2c71],.btn-info[data-v-a47a2c71]{flex:1;padding:8px 12px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-load[data-v-a47a2c71]{background-color:#37c837;color:#fff}.btn-load[data-v-a47a2c71]:hover{background-color:#2ca82c}.btn-info[data-v-a47a2c71]{background-color:#f0f0f0;color:#2c3e50}.btn-info[data-v-a47a2c71]:hover{background-color:#e0e0e0}.mobile-browse[data-v-a47a2c71]{display:flex;flex-direction:column;height:100vh;background-color:#f5f5f5}.mobile-header[data-v-a47a2c71]{background-color:#fff;padding:16px;box-shadow:0 2px 4px #0000001a}.header-top[data-v-a47a2c71]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.header-buttons[data-v-a47a2c71]{display:flex;gap:8px}.header-top h1[data-v-a47a2c71]{margin:0;font-size:20px;color:#2c3e50}.mobile-content[data-v-a47a2c71]{flex:1;overflow-y:auto;padding:12px}.mobile-browse .filters[data-v-a47a2c71]{margin:0;display:flex;gap:8px;overflow-x:auto;padding-bottom:8px}.mobile-browse .filter-btn[data-v-a47a2c71]{padding:6px 12px;font-size:12px;flex-shrink:0}.mobile-browse .routes-grid[data-v-a47a2c71]{grid-template-columns:1fr;gap:12px}.mobile-browse .route-card[data-v-a47a2c71]{padding:12px}.route-card .route-header[data-v-a47a2c71]{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:10px}.route-card .route-header h3[data-v-a47a2c71]{flex:1;min-width:0;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.route-card .route-header .difficulty[data-v-a47a2c71]{flex:0 0 auto;white-space:nowrap}.route-card .route-info[data-v-a47a2c71]{margin-top:2px}.route-info-row[data-v-a47a2c71]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;align-items:start}.route-info-cell[data-v-a47a2c71]{margin:0;min-width:0}.route-info-cell--right[data-v-a47a2c71]{text-align:right;white-space:nowrap}.route-info-cell--left[data-v-a47a2c71]{overflow:hidden;text-overflow:ellipsis}.route-info-footer[data-v-a47a2c71]{display:flex;justify-content:flex-end;margin-top:6px}.route-thumb-clickable[data-v-a47a2c71]{cursor:pointer}.mobile-detail-route-meta[data-v-a47a2c71]{display:flex;align-items:center;gap:6px;min-width:0;color:#334155;font-size:12px;line-height:1.2}.mobile-detail-route-name[data-v-a47a2c71]{flex:1 1 auto;min-width:0;overflow:hidden;color:#1e293b;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.mobile-detail-route-difficulty[data-v-a47a2c71],.mobile-detail-route-angle[data-v-a47a2c71]{flex:0 0 auto;border-radius:4px;padding:2px 5px;font-size:11px;font-weight:700;white-space:nowrap}.mobile-detail-route-angle[data-v-a47a2c71]{background:#f1f5f9;color:#475569}@media (max-width: 420px){.route-info-row[data-v-a47a2c71]{grid-template-columns:1fr}.route-info-cell--right[data-v-a47a2c71]{text-align:left;white-space:normal}}.detail-content h2[data-v-a47a2c71]{margin:0 0 16px;font-size:24px;color:#333}.detail-content[data-v-a47a2c71]{overflow:visible;max-height:none}.detail-content p[data-v-a47a2c71]{margin:12px 0;color:#666;line-height:1.6;font-size:14px}.meta-row[data-v-a47a2c71]{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.meta-row-with-action[data-v-a47a2c71]{justify-content:space-between;gap:12px}.meta-row-main[data-v-a47a2c71]{display:flex;gap:16px;align-items:center;flex-wrap:wrap;flex:1}.meta-row p[data-v-a47a2c71]{margin:0}.detail-content strong[data-v-a47a2c71]{color:#333;font-weight:600}.route-info-footer[data-v-a47a2c71]{display:flex;align-items:center;justify-content:space-between;gap:12px}.route-info-footer p[data-v-a47a2c71]{margin:0;flex:1}.browse-container[data-v-a4effc18]{width:100%;height:100%}.desktop-browse[data-v-a4effc18]{display:flex;flex-direction:column;height:100vh}.browse-header[data-v-a4effc18]{display:flex;justify-content:space-between;align-items:center;padding:20px;background-color:#fff;border-bottom:1px solid #e0e0e0}.header-buttons[data-v-a4effc18]{display:flex;gap:12px}.browse-header h1[data-v-a4effc18]{margin:0;font-size:24px;color:#2c3e50}.btn-settings[data-v-a4effc18]{padding:10px 24px;background-color:#6c757d;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-settings[data-v-a4effc18]:hover{background-color:#5a6268}.btn-dingxian[data-v-a4effc18]{padding:10px 24px;background-color:#43b6e8;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-dingxian[data-v-a4effc18]:hover{background-color:#2687b0}.browse-content[data-v-a4effc18]{flex:1;overflow:auto;padding:20px}.filters[data-v-a4effc18]{margin-bottom:20px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.filters label[data-v-a4effc18]{font-weight:600;color:#2c3e50}.filter-btn[data-v-a4effc18]{padding:8px 16px;background-color:#f0f0f0;border:2px solid transparent;border-radius:6px;cursor:pointer;transition:all .2s;font-size:14px}.filter-btn[data-v-a4effc18]:hover{background-color:#e0e0e0}.filter-btn.active[data-v-a4effc18]{background-color:#2c3e50;color:#fff;border-color:#2c3e50}.routes-grid[data-v-a4effc18]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.desktop-browse .routes-grid[data-v-a4effc18]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-auto-rows:8px;gap:20px;align-items:start}.loading[data-v-a4effc18],.empty[data-v-a4effc18]{grid-column:1 / -1;text-align:center;padding:40px 20px;color:#999;font-size:18px}.route-card[data-v-a4effc18]{background-color:#fff;border-radius:8px;padding:16px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;gap:12px;transition:box-shadow .2s}.desktop-browse .route-card[data-v-a4effc18]{width:100%;margin:0}.route-card[data-v-a4effc18]:hover{box-shadow:0 4px 12px #00000026}.route-header[data-v-a4effc18]{display:flex;justify-content:space-between;align-items:start;gap:12px}.route-header h3[data-v-a4effc18]{margin:0;font-size:18px;color:#2c3e50;flex:1}.difficulty[data-v-a4effc18]{padding:4px 12px;border-radius:4px;font-size:12px;font-weight:600;white-space:nowrap}.difficulty-简单[data-v-a4effc18]{background-color:#d4edda;color:#155724}.difficulty-中等[data-v-a4effc18]{background-color:#fff3cd;color:#856404}.difficulty-困难[data-v-a4effc18]{background-color:#f8d7da;color:#721c24}.difficulty-专家[data-v-a4effc18]{background-color:#d1ecf1;color:#0c5460}.route-info[data-v-a4effc18]{color:#666;font-size:14px}.route-info p[data-v-a4effc18]{margin:6px 0}.route-actions[data-v-a4effc18]{display:flex;gap:10px;margin-top:8px}.btn-load[data-v-a4effc18],.btn-info[data-v-a4effc18]{flex:1;padding:8px 12px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-load[data-v-a4effc18]{background-color:#37c837;color:#fff}.btn-load[data-v-a4effc18]:hover{background-color:#2ca82c}.btn-info[data-v-a4effc18]{background-color:#f0f0f0;color:#2c3e50}.btn-info[data-v-a4effc18]:hover{background-color:#e0e0e0}.mobile-browse[data-v-a4effc18]{display:flex;flex-direction:column;height:100vh;background-color:#f5f5f5}.mobile-header[data-v-a4effc18]{background-color:#fff;padding:16px;box-shadow:0 2px 4px #0000001a}.header-top[data-v-a4effc18]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.header-buttons[data-v-a4effc18]{display:flex;gap:8px}.header-top h1[data-v-a4effc18]{margin:0;font-size:20px;color:#2c3e50}.mobile-content[data-v-a4effc18]{flex:1;overflow-y:auto;padding:12px}.mobile-browse .filters[data-v-a4effc18]{margin:0;display:flex;gap:8px;overflow-x:auto;padding-bottom:8px}.mobile-browse .filter-btn[data-v-a4effc18]{padding:6px 12px;font-size:12px;flex-shrink:0}.mobile-browse .routes-grid[data-v-a4effc18]{grid-template-columns:1fr;gap:12px}.mobile-browse .route-card[data-v-a4effc18]{padding:12px}.detail-content h2[data-v-a4effc18]{margin:0 0 16px;font-size:24px;color:#333}.detail-content[data-v-a4effc18]{overflow:visible;max-height:none}.detail-content p[data-v-a4effc18]{margin:12px 0;color:#666;line-height:1.6;font-size:14px}.meta-row[data-v-a4effc18]{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.meta-row-with-action[data-v-a4effc18]{justify-content:space-between;gap:12px}.meta-row-main[data-v-a4effc18]{display:flex;gap:16px;align-items:center;flex-wrap:wrap;flex:1}.meta-row p[data-v-a4effc18]{margin:0}.detail-content strong[data-v-a4effc18]{color:#333;font-weight:600}.route-info-footer[data-v-a4effc18]{display:flex;align-items:center;justify-content:space-between;gap:12px}.route-info-footer p[data-v-a4effc18]{margin:0;flex:1}.action-feedback[data-v-a4effc18]{margin-bottom:12px;padding:10px 12px;border-radius:8px;font-size:14px;line-height:1.5}.action-feedback.success[data-v-a4effc18]{background:#ecfdf3;color:#166534;border:1px solid #bbf7d0}.action-feedback.error[data-v-a4effc18]{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.difficulty[data-v-a4effc18]{display:inline-block;padding:4px 12px;border-radius:4px;font-size:12px;font-weight:600}.gym-search-container[data-v-a4effc18]{position:relative;min-width:150px}.gym-search-input[data-v-a4effc18]{padding:8px 12px;border:1px solid #ddd;border-radius:4px;background:#fff;font-size:14px;width:100%;box-sizing:border-box;cursor:text}.gym-search-input[data-v-a4effc18]:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.gym-dropdown[data-v-a4effc18]{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 4px 4px;max-height:200px;overflow-y:auto;z-index:100;box-shadow:0 2px 8px #0000001a}.gym-option[data-v-a4effc18]{padding:8px 12px;cursor:pointer;font-size:14px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gym-option[data-v-a4effc18]:hover{background-color:#f5f5f5}.gym-option.selected[data-v-a4effc18]{background-color:#e6f7ff;color:#007bff;font-weight:500}.gym-option.disabled[data-v-a4effc18]{color:#999;cursor:not-allowed}.gym-option.disabled[data-v-a4effc18]:hover{background-color:transparent}.gym-select[data-v-a4effc18]{padding:8px 12px;border:1px solid #ddd;border-radius:4px;background:#fff;font-size:14px;min-width:150px;cursor:pointer}.gym-select[data-v-a4effc18]:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.modal-overlay[data-v-a4effc18]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-a4effc18 .3s ease-in-out}@keyframes fadeIn-a4effc18{0%{opacity:0}to{opacity:1}}.modal-content[data-v-a4effc18]{background:#fff;border-radius:12px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;position:relative;box-shadow:0 4px 24px #00000026;animation:slideUp-a4effc18 .3s ease-in-out}@keyframes slideUp-a4effc18{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.close-btn[data-v-a4effc18]{position:absolute;top:16px;right:16px;background:none;border:none;font-size:32px;cursor:pointer;color:#666;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;z-index:10}.close-btn[data-v-a4effc18]:hover{background-color:#0000000d;color:#333}.modal-image[data-v-a4effc18]{width:100%;height:auto;max-height:400px;object-fit:cover;border-radius:12px 12px 0 0}.modal-info[data-v-a4effc18]{padding:24px}.modal-info h2[data-v-a4effc18]{margin:0 0 16px;font-size:24px;color:#333}.modal-info p[data-v-a4effc18]{margin:12px 0;color:#666;line-height:1.6;font-size:14px}.modal-info strong[data-v-a4effc18]{color:#333;font-weight:600}@media (max-width: 1024px){.route-thumb[data-v-a4effc18]{height:110px}.modal-content[data-v-a4effc18]{width:95%;max-height:90vh}.modal-content.mobile[data-v-a4effc18]{max-width:100%;border-radius:16px 16px 0 0;max-height:85vh}.modal-image[data-v-a4effc18]{max-height:300px}.modal-info[data-v-a4effc18]{padding:20px}.modal-info h2[data-v-a4effc18]{font-size:20px}.close-btn[data-v-a4effc18]{top:12px;right:12px;font-size:28px}}.editor-container[data-v-32f12007]{display:flex;flex-direction:column;height:100vh;background-color:#f5f5f5}.editor-header[data-v-32f12007]{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background-color:#fff;border-bottom:1px solid #e0e0e0;flex-shrink:0}.header-left[data-v-32f12007]{display:flex;align-items:center;gap:12px}.btn-back[data-v-32f12007]{background:none;border:none;font-size:24px;cursor:pointer;padding:0;color:#2c3e50;transition:color .2s}.btn-back[data-v-32f12007]:hover{color:#37c837}.header-left h1[data-v-32f12007]{margin:0;font-size:20px;color:#2c3e50}.header-right[data-v-32f12007]{color:#666;font-size:14px}.current-route[data-v-32f12007]{background-color:#f0f0f0;padding:6px 12px;border-radius:4px}.editor-content[data-v-32f12007]{flex:1;overflow:hidden}.desktop-editor[data-v-32f12007],.mobile-editor[data-v-32f12007]{width:100%;height:100%}.login-page[data-v-3ca6384a]{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,rgba(34,197,94,.12),transparent 32%),linear-gradient(180deg,#f8fafc,#eef2ff)}.login-card[data-v-3ca6384a]{width:min(420px,100%);padding:28px;border-radius:18px;background:#fffffff0;border:1px solid rgba(15,23,42,.08);box-shadow:0 20px 50px #0f172a1a}.eyebrow[data-v-3ca6384a]{margin:0 0 8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#16a34a}h1[data-v-3ca6384a]{margin:0;font-size:30px;color:#0f172a}.intro[data-v-3ca6384a]{margin:12px 0 0;color:#64748b;line-height:1.6}.error[data-v-3ca6384a]{margin:16px 0 0;padding:10px 12px;border-radius:10px;background:#fff1f2;color:#be123c}.login-form[data-v-3ca6384a]{display:grid;gap:14px;margin-top:18px}.login-form label[data-v-3ca6384a]{display:grid;gap:6px}.login-form span[data-v-3ca6384a]{font-size:13px;color:#334155}.login-form input[data-v-3ca6384a]{font-size:16px;line-height:1.4;padding:12px 14px;border:1px solid rgba(15,23,42,.14);border-radius:10px;color:#0f172a;background:#fff}.login-form input[data-v-3ca6384a]::placeholder{color:#94a3b8}.btn-login[data-v-3ca6384a]{min-height:42px;border:none;border-radius:10px;background:#0f172a;color:#fff;cursor:pointer}.panel-card[data-v-ec718966]{padding:16px;border-radius:14px;background:#fff;border:1px solid #e2e8f0;display:grid;gap:12px}.toggle-row[data-v-ec718966],.row[data-v-ec718966]{display:flex;align-items:center;gap:10px}.field-block[data-v-ec718966]{display:grid;gap:8px}.field-title[data-v-ec718966]{font-weight:600;color:#0f172a}.levels-textarea[data-v-ec718966]{min-height:160px;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;font:inherit;resize:vertical}.chip-row[data-v-ec718966]{display:flex;flex-wrap:wrap;gap:8px}.chip[data-v-ec718966]{padding:4px 10px;border-radius:999px;background:#e2e8f0;color:#334155;font-size:13px;font-weight:600}.btn-primary[data-v-ec718966]{border:1px solid #0f172a;border-radius:10px;padding:8px 12px;background:#0f172a;color:#fff;cursor:pointer}.muted[data-v-ec718966]{color:#64748b}.error[data-v-ec718966]{color:#be123c}.success[data-v-ec718966]{color:#15803d}.panel-shell[data-v-d1d698c9]{display:grid;gap:16px}.panel-head[data-v-d1d698c9],.row[data-v-d1d698c9]{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-card[data-v-d1d698c9]{padding:16px;border-radius:14px;background:#fff;border:1px solid #e2e8f0;display:grid;gap:12px}.create-card[data-v-d1d698c9]{background:#f8fafc}.form-grid[data-v-d1d698c9]{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.checks[data-v-d1d698c9]{justify-content:flex-start;gap:16px;flex-wrap:wrap}.admin-toggle[data-v-d1d698c9]{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-actions[data-v-d1d698c9]{display:inline-flex;align-items:center;gap:6px}.permission-grid[data-v-d1d698c9]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px}.perm-item[data-v-d1d698c9]{font-size:13px;color:#334155;display:flex;gap:6px;align-items:center}.btn-primary[data-v-d1d698c9],.btn-secondary[data-v-d1d698c9],.btn-refresh[data-v-d1d698c9]{border:1px solid #cbd5e1;border-radius:10px;padding:8px 12px;cursor:pointer}.btn-primary[data-v-d1d698c9]{background:#0f172a;color:#fff;border-color:#0f172a}.btn-secondary[data-v-d1d698c9],.btn-refresh[data-v-d1d698c9]{background:#fff;color:#334155}.btn-link[data-v-d1d698c9]{border:0;background:transparent;color:#2563eb;padding:0;cursor:pointer;font-size:13px}.btn-link[data-v-d1d698c9]:hover{text-decoration:underline}.muted[data-v-d1d698c9]{color:#64748b;font-size:13px}.error[data-v-d1d698c9]{color:#be123c}.success[data-v-d1d698c9]{color:#15803d}@media (max-width: 960px){.form-grid[data-v-d1d698c9],.permission-grid[data-v-d1d698c9]{grid-template-columns:1fr}}.settings-container[data-v-f720c735]{width:100%;height:100vh;background-color:#f5f5f5}.desktop-settings[data-v-f720c735]{display:flex;flex-direction:column;height:100vh}.settings-header[data-v-f720c735]{display:flex;justify-content:space-between;align-items:center;padding:20px;background-color:#fff;border-bottom:1px solid #e0e0e0}.settings-header h1[data-v-f720c735]{margin:0;font-size:24px;color:#2c3e50}.btn-back[data-v-f720c735]{padding:10px 24px;background-color:#6c757d;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-back[data-v-f720c735]:hover{background-color:#5a6268}.settings-content[data-v-f720c735]{flex:1;display:flex;overflow:hidden}.settings-menu[data-v-f720c735]{width:200px;background-color:#fff;border-right:1px solid #e0e0e0;padding:20px 0}.menu-item[data-v-f720c735]{display:block;width:100%;padding:12px 20px;background:none;border:none;text-align:left;font-size:16px;color:#666;cursor:pointer;transition:background-color .15s,color .15s}.menu-item[data-v-f720c735]:hover{background-color:#f5f9ff;color:#0056b3}.menu-item.active[data-v-f720c735]{background-color:#e8f2ff;color:#007bff;font-weight:700;border-left:4px solid #007bff;padding-left:16px}.spraywall-upload[data-v-f720c735]{padding:22px;background:#fff;border-radius:8px;box-shadow:0 6px 18px #103c600f}.spray-grid[data-v-f720c735]{display:grid;grid-template-columns:1fr 360px;gap:20px;align-items:start}.spray-left .form-group[data-v-f720c735]{margin-bottom:12px}.sw-gym-row[data-v-f720c735]{display:flex;align-items:center;gap:10px}.sw-gym-picker[data-v-f720c735]{flex:1}.sw-template-select[data-v-f720c735]{flex:0 0 124px;max-width:124px;padding:7px 10px;border:1px solid #d5e1ef;border-radius:6px;background:#fff;color:#2c3e50;font-size:13px}.sw-template-select[data-v-f720c735]:focus{outline:none;border-color:#7fb7ff;box-shadow:0 0 0 2px #7fb7ff2e}.spray-form label[data-v-f720c735]{display:block;margin-bottom:6px;font-weight:600;color:#2c3e50}.file-drop[data-v-f720c735]{border:2px dashed #d9eaff;border-radius:8px;padding:18px;text-align:center;cursor:pointer;transition:background-color .15s,border-color .15s,box-shadow .15s;min-height:120px;display:flex;align-items:center;justify-content:center}.file-drop.active[data-v-f720c735]{background:#f0f8ff;border-color:#7fb7ff;box-shadow:inset 0 0 0 2px #7bb4ff0f}.hidden-file[data-v-f720c735]{display:none}.file-drop-inner[data-v-f720c735]{display:flex;flex-direction:column;gap:6px;align-items:center;color:#466e9b}.file-emoji[data-v-f720c735]{font-size:26px}.file-text[data-v-f720c735]{font-size:13px;color:#5a6b7a;max-width:280px}.file-name[data-v-f720c735]{font-size:12px;margin-top:6px;color:#333}.preview-box img[data-v-f720c735]{max-width:100%;border-radius:6px;border:1px solid #eee}.preview-placeholder[data-v-f720c735]{min-height:160px;display:flex;align-items:center;justify-content:center;color:#999;border:1px dashed #eee;border-radius:6px;padding:20px}.form-error[data-v-f720c735]{color:#c82333;margin-top:8px}.form-success[data-v-f720c735]{color:#155724;margin-top:8px}.cleanup-panel[data-v-f720c735]{display:flex;flex-direction:column;gap:12px}.cleanup-description[data-v-f720c735]{margin:0;color:#51606f;line-height:1.6}.cleanup-card[data-v-f720c735]{display:flex;flex-direction:column;gap:16px;padding:20px;border:1px solid #f1d2d2;border-radius:10px;background:#fff6f6}.cleanup-warning[data-v-f720c735]{margin:0;color:#8a3b3b;line-height:1.6}.cleanup-button[data-v-f720c735]{align-self:flex-start}.file-panel[data-v-f720c735]{display:flex;flex-direction:column;gap:14px}.file-panel-header[data-v-f720c735]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.file-panel-header h2[data-v-f720c735]{margin:0;font-size:20px;color:#2c3e50}.file-panel-description[data-v-f720c735]{margin:6px 0 0;color:#5a6b7a;line-height:1.6}.file-toolbar[data-v-f720c735]{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.file-filter-group[data-v-f720c735]{display:flex;align-items:center;gap:8px}.file-filter-group label[data-v-f720c735],.file-checkbox-label[data-v-f720c735]{color:#4c6177;font-size:14px}.file-filter-group select[data-v-f720c735]{min-width:180px;padding:8px 10px;border:1px solid #d5e1ef;border-radius:6px;background:#fff}.file-checkbox-label[data-v-f720c735]{display:inline-flex;align-items:center;gap:8px}.file-grid[data-v-f720c735]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.file-card[data-v-f720c735]{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid #e4ebf3;border-radius:10px;background:#fff;box-shadow:0 4px 14px #103c600d}.file-preview[data-v-f720c735]{width:100%;aspect-ratio:16 / 10;border-radius:8px;overflow:hidden;background:#f5f8fb;border:1px solid #ebf0f6}.file-preview img[data-v-f720c735]{width:100%;height:100%;object-fit:cover;display:block}.file-preview-placeholder[data-v-f720c735]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#7b8b99;font-size:22px;font-weight:700;letter-spacing:1px}.file-meta[data-v-f720c735]{display:flex;flex-direction:column;gap:6px}.file-name[data-v-f720c735]{font-weight:700;color:#2c3e50;word-break:break-word}.file-subline[data-v-f720c735],.file-path[data-v-f720c735]{color:#5f7386;font-size:13px;word-break:break-word}.file-status-row[data-v-f720c735]{display:flex;justify-content:flex-start}.file-status[data-v-f720c735]{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:700}.file-status.active[data-v-f720c735]{background:#e8f7ee;color:#1f7a45}.file-status.deleted[data-v-f720c735]{background:#fdecec;color:#b03d3d}.file-actions[data-v-f720c735]{display:flex;gap:10px;align-items:center}.file-actions .btn-select[data-v-f720c735],.file-actions .btn-delete[data-v-f720c735]{text-decoration:none}.btn-select[data-v-f720c735]{background:#007bff;color:#fff;padding:8px 12px;border-radius:6px;border:none;cursor:pointer}.spray-form .form-actions[data-v-f720c735]{display:flex;gap:10px;margin-top:12px}.spray-form .btn-save[data-v-f720c735]{background:#28a745;color:#fff;padding:8px 12px;border-radius:6px}.spray-form .btn-cancel[data-v-f720c735]{background:#6c757d;color:#fff;padding:8px 12px;border-radius:6px}.spraywall-header[data-v-f720c735]{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.spraywall-header h2[data-v-f720c735]{margin:0;font-size:20px;color:#2c3e50}.spraywall-tabs[data-v-f720c735]{display:flex;gap:8px}.spraywall-tab[data-v-f720c735]{border:1px solid #d4e3f5;background:#fff;color:#2f4f76;border-radius:6px;padding:6px 14px;cursor:pointer;font-size:14px;font-weight:500;transition:all .15s}.spraywall-tab[data-v-f720c735]:hover{border-color:#7fb7ff;background:#f8fbff}.spraywall-tab.active[data-v-f720c735]{background:#e8f2ff;border-color:#7fb7ff;color:#0056b3}.current-spraywall[data-v-f720c735]{margin-top:0}.current-header[data-v-f720c735]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.current-header h3[data-v-f720c735]{margin:0;font-size:16px;color:#2c3e50}.current-filter[data-v-f720c735]{margin-bottom:10px}.current-filter label[data-v-f720c735]{display:block;margin-bottom:6px;font-size:13px;color:#5a6b7a}.btn-refresh[data-v-f720c735]{background:#007bff;color:#fff;border:none;border-radius:6px;padding:6px 10px;cursor:pointer}.btn-refresh[data-v-f720c735]:disabled{opacity:.7;cursor:not-allowed}.current-meta[data-v-f720c735]{font-size:12px;color:#5a6b7a;display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.current-image-wrap img[data-v-f720c735]{max-width:100%;border-radius:6px;border:1px solid #eee}.spraywall-list[data-v-f720c735]{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.spraywall-item[data-v-f720c735]{background-color:#fff;border-radius:8px;padding:16px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;gap:12px;transition:box-shadow .2s;cursor:pointer}.spraywall-item[data-v-f720c735]:hover{box-shadow:0 6px 18px #0000001f}.spraywall-item img[data-v-f720c735]{width:100%;height:220px;object-fit:cover;border-radius:6px;background:#f8fafc}.route-thumb[data-v-f720c735]{width:100%;height:220px;object-fit:cover;border-radius:6px;display:block}.spraywall-item-meta[data-v-f720c735]{padding:0;font-size:13px;color:#5a6b7a}@media (max-width: 1400px){.spraywall-list[data-v-f720c735]{grid-template-columns:repeat(3,1fr)}}@media (max-width: 1024px){.spraywall-list[data-v-f720c735]{grid-template-columns:repeat(2,1fr)}.spraywall-item img[data-v-f720c735]{height:160px}}@media (max-width: 600px){.spraywall-list[data-v-f720c735]{grid-template-columns:1fr}.spraywall-item img[data-v-f720c735]{height:110px}}.spraywall-item-meta[data-v-f720c735]{padding:6px 8px;font-size:12px;color:#5a6b7a}.spraywall-item-meta .name[data-v-f720c735]{font-weight:600;color:#2c3e50;margin-bottom:2px}.spraywall-item-meta .date[data-v-f720c735]{color:#7a8ca0}.spraywall-item-footer[data-v-f720c735]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.spraywall-item-footer .date[data-v-f720c735]{flex:1}.spraywall-item-actions-row[data-v-f720c735]{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;margin-top:10px}.spraywall-item-actions-row .btn-edit[data-v-f720c735],.spraywall-item-actions-row .btn-delete[data-v-f720c735]{white-space:nowrap}.spraywall-hold-count[data-v-f720c735]{min-width:0;margin:0;color:#42526e;font-size:12px;font-weight:700}.hold-editor-overlay[data-v-f720c735]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:28px;background:#0f172a94}.hold-editor-dialog[data-v-f720c735]{width:min(1280px,96vw);max-height:92vh;overflow:auto;padding:18px;border-radius:8px;background:#fff;box-shadow:0 22px 70px #0f172a52}.detail-action-row[data-v-f720c735]{display:flex;align-items:center;justify-content:space-between;gap:12px}.detail-action-row p[data-v-f720c735]{margin:0;flex:1}.gym-search-container[data-v-f720c735]{position:relative;min-width:150px}.gym-search-input[data-v-f720c735]{padding:8px 12px;border:1px solid #ddd;border-radius:4px;background:#fff;font-size:14px;width:100%;box-sizing:border-box;cursor:text}.gym-search-input[data-v-f720c735]:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.gym-dropdown[data-v-f720c735]{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 4px 4px;max-height:200px;overflow-y:auto;z-index:100;box-shadow:0 2px 8px #0000001a}.gym-option[data-v-f720c735]{padding:8px 12px;cursor:pointer;font-size:14px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gym-option[data-v-f720c735]:hover{background-color:#f5f5f5}.gym-option.selected[data-v-f720c735]{background-color:#e6f7ff;color:#007bff;font-weight:500}.gym-option.disabled[data-v-f720c735]{color:#999;cursor:not-allowed}.gym-option.disabled[data-v-f720c735]:hover{background-color:transparent}@media (max-width: 1024px){.spray-grid[data-v-f720c735]{grid-template-columns:1fr}.sw-gym-row-mobile[data-v-f720c735]{flex-wrap:wrap}.sw-gym-row-mobile .sw-template-select[data-v-f720c735]{flex-basis:100%;max-width:none}.spray-right[data-v-f720c735]{order:-1;margin-bottom:12px}.preview-placeholder[data-v-f720c735]{min-height:120px}.spraywall-list[data-v-f720c735]{grid-template-columns:1fr}}.date-picker-group[data-v-f720c735]{position:relative}.date-input[data-v-f720c735]{display:flex;align-items:center;gap:8px;border:1px solid #ddd;padding:6px 10px;border-radius:4px;cursor:pointer;max-width:260px}.date-input input[data-v-f720c735]{border:none;outline:none;background:transparent;width:100%}.clear-date[data-v-f720c735]{background:transparent;border:none;cursor:pointer;color:#666}.calendar-popup[data-v-f720c735]{position:absolute;z-index:120;top:110%;left:0;width:330px;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 6px 18px #00000014;padding:12px}.calendar-header[data-v-f720c735]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.calendar-header .nav[data-v-f720c735]{background:none;border:none;font-size:18px;cursor:pointer}.month-label[data-v-f720c735]{font-weight:600}.calendar-weekdays[data-v-f720c735]{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}.calendar-weekdays .wd[data-v-f720c735]{text-align:center;font-size:12px;color:#666}.calendar-days[data-v-f720c735]{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-days .day[data-v-f720c735]{text-align:center;padding:8px;border-radius:4px;cursor:pointer}.calendar-days .day.muted[data-v-f720c735]{color:#bbb}.calendar-days .day.today[data-v-f720c735]{box-shadow:inset 0 0 0 2px #007bff14}.calendar-days .day.selected[data-v-f720c735]{background:#007bff;color:#fff}.settings-panel[data-v-f720c735]{flex:1;padding:20px;overflow-y:auto}.gym-management h2[data-v-f720c735]{margin:0 0 20px;font-size:20px;color:#2c3e50}.gym-actions[data-v-f720c735]{display:flex;gap:16px;margin-bottom:20px;align-items:center}.search-box[data-v-f720c735]{display:flex;gap:8px}.search-box input[data-v-f720c735]{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;width:200px}.btn-search[data-v-f720c735]{padding:8px 16px;background-color:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-search[data-v-f720c735]:hover{background-color:#218838}.btn-add[data-v-f720c735]{padding:8px 16px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-add[data-v-f720c735]:hover{background-color:#0056b3}.gym-list[data-v-f720c735]{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.gym-item[data-v-f720c735]{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #e0e0e0}.gym-item[data-v-f720c735]:last-child{border-bottom:none}.gym-info h3[data-v-f720c735]{margin:0 0 8px;font-size:16px;color:#2c3e50}.gym-info p[data-v-f720c735]{margin:4px 0;font-size:14px;color:#666}.gym-actions[data-v-f720c735]{display:flex;gap:8px}.btn-edit[data-v-f720c735]{padding:6px 12px;background-color:#ffc107;color:#212529;border:none;border-radius:4px;cursor:pointer}.btn-edit[data-v-f720c735]:hover{background-color:#e0a800}.btn-delete[data-v-f720c735]{padding:6px 12px;background-color:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-delete[data-v-f720c735]:hover{background-color:#c82333}.mobile-settings[data-v-f720c735]{display:flex;flex-direction:column;height:100vh}.mobile-header[data-v-f720c735]{background-color:#fff;padding:16px;box-shadow:0 2px 4px #0000001a}.header-top[data-v-f720c735]{display:flex;align-items:center;gap:16px}.header-top h1[data-v-f720c735]{margin:0;font-size:20px;color:#2c3e50}.mobile-content[data-v-f720c735]{flex:1;overflow-y:auto;padding:16px}.modal-overlay[data-v-f720c735]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-f720c735]{background-color:#fff;border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header[data-v-f720c735]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0}.modal-header h3[data-v-f720c735]{margin:0;font-size:18px;color:#2c3e50}.close-btn[data-v-f720c735]{background:none;border:none;font-size:24px;cursor:pointer;color:#666}.modal-body[data-v-f720c735]{padding:20px}.form-group[data-v-f720c735]{margin-bottom:16px}.form-group label[data-v-f720c735]{display:block;margin-bottom:4px;font-weight:600;color:#2c3e50}.form-group input[data-v-f720c735]{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.modal-actions[data-v-f720c735]{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.btn-cancel[data-v-f720c735]{padding:8px 16px;background-color:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-cancel[data-v-f720c735]:hover{background-color:#5a6268}.btn-save[data-v-f720c735]{padding:8px 16px;background-color:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-save[data-v-f720c735]:hover{background-color:#218838}.loading[data-v-f720c735]{text-align:center;padding:40px;color:#666}.empty[data-v-f720c735]{text-align:center;padding:40px;color:#999}@media (max-width: 1024px){.settings-content[data-v-f720c735]{flex-direction:column}.settings-menu[data-v-f720c735]{width:100%;border-right:none;border-bottom:1px solid #e0e0e0}.settings-menu[data-v-f720c735]{display:flex;overflow-x:auto;padding:0}.menu-item[data-v-f720c735]{flex-shrink:0;white-space:nowrap}.gym-actions[data-v-f720c735]{flex-direction:column;align-items:stretch}.search-box[data-v-f720c735]{margin-bottom:12px}.search-box input[data-v-f720c735]{width:100%}.gym-item[data-v-f720c735]{flex-direction:column;align-items:flex-start;gap:12px}.gym-actions[data-v-f720c735]{align-self:flex-end}}
