*{box-sizing:border-box;margin:0;padding:0}html,body,#root{touch-action:none;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden}.app-layout{flex-direction:column;width:100%;height:100%;display:flex}.headline-bar{color:#fff;z-index:11;-webkit-user-select:none;user-select:none;background:#000000e6;align-items:center;height:36px;min-height:36px;padding:0 12px;display:flex}.headline-text{letter-spacing:.3px;cursor:text;border-radius:4px;padding:2px 6px;font-size:14px;font-weight:600;transition:background .15s}.headline-text:hover{background:#ffffff14}.headline-input{letter-spacing:.3px;color:#fff;background:#ffffff1a;border:1px solid #ffffff40;border-radius:4px;outline:none;min-width:200px;padding:2px 6px;font-size:14px;font-weight:600}.headline-input:focus{border-color:#ffffff80}.headline-spacer{flex:1}.headline-debug-btn{letter-spacing:1px;color:#ffffff4d;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:4px;padding:3px 8px;font-size:9px;font-weight:700;transition:all .15s}.headline-debug-btn:hover{color:#fff9;border-color:#ffffff4d}.headline-debug-btn.active{color:#22c55e;background:#22c55e26;border-color:#22c55e66}.layer-bar{color:#fff;z-index:10;-webkit-user-select:none;user-select:none;background:#000000e6;align-items:center;gap:2px;padding:4px 8px;display:flex}.toolbar{color:#fff;z-index:10;-webkit-user-select:none;user-select:none;background:#000000d9;align-items:center;gap:2px;height:40px;min-height:40px;padding:0 8px;display:flex}.toolbar-btn{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;transition:background .15s;display:flex}.toolbar-btn:hover:not(:disabled){background:#ffffff1f}.toolbar-btn:active:not(:disabled){background:#fff3}.toolbar-btn:disabled{opacity:.3;cursor:default}.toolbar-btn-danger{color:#ef4444}.toolbar-btn-danger:hover:not(:disabled){background:#ef444426}.toolbar-btn-danger:active:not(:disabled){background:#ef444440}.toolbar-sep{background:#fff3;width:1px;height:20px;margin:0 4px}.layer-back-btn{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s;display:flex}.layer-back-btn:hover:not(:disabled){background:#ffffff1f}.layer-back-btn:disabled{opacity:.3;cursor:default}.layer-btn{color:#ffffff80;cursor:pointer;white-space:nowrap;background:#ffffff0f;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:6px;height:32px;padding:0 12px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.layer-btn.active{color:#fff;background:#ffffff26}.layer-btn:hover:not(.active){color:#ffffffd9;background:#ffffff1a}.layer-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.layer-area{opacity:.7;margin-left:2px;font-size:11px}.status-bar{color:#ffffffb3;z-index:9;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#000000bf;align-items:center;gap:0;height:32px;min-height:32px;padding:0 12px;font-size:12px;display:flex;overflow:hidden}.status-section{white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;padding:0 8px;display:flex}.status-spacer{flex:1;min-width:0}.status-label{color:#fff6;text-transform:uppercase;letter-spacing:.5px;font-size:11px}.status-value{color:#ffffffe6;font-weight:500}.status-detail{color:#fff6;font-size:11px}.status-red{color:#dc2626}.status-bold{color:green;font-weight:bolder}.status-sep{background:#ffffff26;flex-shrink:0;width:1px;height:16px}.status-muted{color:#ffffff4d;font-size:11px}.status-ix-cross{color:#f87171}.status-ix-sub{color:#e74c3cb3}.status-debug-scroll{scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;gap:8px;max-width:50vw;display:flex;overflow-x:auto}.status-debug-shape{white-space:nowrap;align-items:center;gap:2px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:10px;display:flex}.status-debug-id{color:#22c55e;margin-right:3px;font-weight:600}.status-debug-coord{color:#fff6}.modal-backdrop{z-index:100;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border-radius:16px;width:300px;max-width:calc(100vw - 32px);padding:20px;box-shadow:0 20px 60px #0000004d}.modal-card h2{color:#111;margin:0 0 16px;font-size:18px;font-weight:600}.modal-location{color:#555;background:#f5f5f5;border-radius:10px;align-items:center;gap:6px;margin-bottom:16px;padding:10px 12px;font-size:13px;display:flex}.modal-location-icon{flex-shrink:0;font-size:16px}.modal-actions{flex-direction:column;gap:8px;display:flex}.modal-btn{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;height:48px;font-size:15px;font-weight:500;transition:background .15s;display:flex}.modal-btn-primary{color:#fff;background:#111}.modal-btn-primary:hover{background:#333}.modal-btn-primary:disabled{opacity:.5;cursor:default}.modal-btn-secondary{color:#333;background:#f0f0f0}.modal-btn-secondary:hover{background:#e0e0e0}.modal-btn-cancel{color:#888;background:0 0;height:40px;font-size:14px}.modal-btn-cancel:hover{color:#555}.modal-status{text-align:center;padding:4px 0;font-size:13px}.modal-status-success{color:#16a34a}.modal-status-error{color:#dc2626}.export-info-bar{background:#f5f5f5;border-radius:10px;align-items:center;gap:10px;margin-bottom:4px;padding:10px 12px;display:flex}.export-info-text{flex-direction:column;gap:1px;min-width:0;display:flex}.export-info-name{color:#222;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.export-info-loc{color:#999;font-size:11px}.export-btn-hero{cursor:pointer;text-align:left;color:#1d4ed8;background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border:1.5px solid #2563eb;border-radius:12px;align-items:center;gap:14px;width:100%;padding:14px 16px;transition:all .15s;display:flex}.export-btn-hero:hover:not(:disabled){background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%);border-color:#1d4ed8}.export-btn-hero:disabled{opacity:.7;cursor:default}.export-btn-hero--done{background:linear-gradient(135deg,#f0fdf4 0%,#dcfce7 100%);border-color:#16a34a}.export-btn-hero--error{cursor:pointer;background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%);border-color:#dc2626}.export-spinner{border:2.5px solid #bfdbfe;border-top-color:#2563eb;border-radius:50%;flex-shrink:0;width:22px;height:22px;animation:.7s linear infinite export-spin}@keyframes export-spin{to{transform:rotate(360deg)}}.export-btn-hero-text{flex-direction:column;gap:2px;display:flex}.export-btn-hero-title{color:#1d4ed8;font-size:15px;font-weight:700}.export-btn-hero-sub{color:#6b7280;font-size:11px;font-weight:400}.export-format-row{gap:8px;display:flex}.export-format-btn{color:#555;cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 8px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.export-format-btn:hover{background:#f5f5f5;border-color:#bbb}.export-format-btn:active{background:#eee}.export-crm-toggle{color:#999;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:8px 4px;font-size:13px;font-weight:500;transition:color .15s;display:flex}.export-crm-toggle:hover{color:#666}.export-crm-panel{align-items:center;gap:10px;padding:8px 0 0;display:flex}.export-crm-btn{color:#555;cursor:pointer;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:10px;flex:1;padding:10px 16px;font-size:13px;font-weight:500;transition:all .15s}.export-crm-btn:hover:not(:disabled){background:#f0f0f0;border-color:#bbb}.export-crm-btn:disabled{opacity:.5;cursor:default}.export-crm-error{color:#dc2626;font-size:12px}.debug-log{color:#ffffffb3;z-index:20;pointer-events:auto;-webkit-user-select:text;user-select:text;background:#000000d9;border:1px solid #22c55e4d;border-radius:6px;flex-direction:column;width:280px;max-height:200px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:10px;display:flex;position:fixed;bottom:12px;left:12px;overflow:hidden}.debug-log-header{letter-spacing:1px;color:#22c55e;background:#22c55e1a;border-bottom:1px solid #22c55e33;flex-shrink:0;padding:4px 8px;font-size:9px;font-weight:700}.debug-log-list{scrollbar-width:thin;scrollbar-color:#22c55e33 transparent;flex:1;overflow-y:auto}.debug-log-entry{border-bottom:1px solid #ffffff0a;gap:6px;padding:2px 8px;display:flex}.debug-log-entry:hover{background:#22c55e0f}.debug-log-ts{color:#ffffff4d;flex-shrink:0}.debug-log-keys{color:#22c55e;word-break:break-all}.watermark-wrapper{bottom:calc(8px + env(safe-area-inset-bottom,0px));pointer-events:none;z-index:10;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex-direction:column;align-items:center;display:flex;position:fixed;right:10px}.watermark-logo{opacity:.8;filter:drop-shadow(0 0 6px #2563eb80)drop-shadow(0 0 20px #2563eb40);width:auto;height:100px;animation:3s ease-in-out infinite alternate logo-glow}@keyframes logo-glow{0%{filter:drop-shadow(0 0 4px #2563eb66)drop-shadow(0 0 14px #2563eb26)}to{filter:drop-shadow(0 0 8px #2563eb99)drop-shadow(0 0 24px #2563eb59)}}.watermark-version{color:#f00c;letter-spacing:.5px;font-size:10px;font-weight:600}.edge-editor{z-index:10;pointer-events:auto;align-items:center;gap:2px;display:flex;position:absolute;transform:translate(-50%,-50%)}.edge-editor-input{color:#333;text-align:center;-moz-appearance:textfield;background:#fff;border:2px solid #2563eb;border-radius:4px;outline:none;width:64px;padding:2px 4px;font-size:12px;font-weight:600;box-shadow:0 2px 8px #0003}.edge-editor-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.edge-editor-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.edge-editor-unit{color:#555;background:#fff;border-radius:3px;padding:1px 3px;font-size:11px;font-weight:600;box-shadow:0 1px 4px #00000026}.shape-modal-card{background:#fff;border-radius:16px;width:340px;max-width:calc(100vw - 32px);padding:20px;box-shadow:0 20px 60px #0000004d}.shape-modal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.shape-modal-header h2{color:#111;margin:0;font-size:18px;font-weight:600}.shape-modal-close{color:#888;cursor:pointer;background:#f5f5f5;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .15s;display:flex}.shape-modal-close:hover{color:#333;background:#e8e8e8}.shape-modal-section{margin-bottom:16px}.shape-modal-label{text-transform:uppercase;letter-spacing:.5px;color:#999;margin-bottom:6px;font-size:11px;font-weight:600;display:block}.shape-modal-area-row{background:#f8f9fa;border-radius:10px;align-items:center;gap:8px;padding:6px 14px;display:flex}.shape-modal-area-input{color:#111;text-align:center;-moz-appearance:textfield;background:#fff;border:1px solid #e0e0e0;border-radius:6px;outline:none;flex:1;padding:8px 10px;font-size:20px;font-weight:700;transition:border-color .15s}.shape-modal-area-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.shape-modal-area-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.shape-modal-area-input:focus{border-color:#2563eb}.shape-modal-area-unit{color:#999;flex-shrink:0;font-size:16px;font-weight:600}.shape-modal-dims{gap:10px;display:flex}.shape-modal-dim{background:#f8f9fa;border-radius:10px;flex:1;align-items:center;gap:6px;padding:6px 10px;display:flex}.shape-modal-dim-label{color:#666;min-width:14px;font-size:12px;font-weight:700}.shape-modal-dim-input{color:#111;text-align:center;-moz-appearance:textfield;background:#fff;border:1px solid #e0e0e0;border-radius:6px;outline:none;flex:1;width:0;min-width:50px;padding:6px 8px;font-size:14px;font-weight:500;transition:border-color .15s}.shape-modal-dim-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.shape-modal-dim-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.shape-modal-dim-input:focus{border-color:#2563eb}.shape-modal-dim-unit{color:#999;font-size:13px;font-weight:500}.shape-modal-chips{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.shape-modal-chip{color:#555;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #e0e0e0;border-radius:20px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .15s}.shape-modal-chip:hover{background:#f5f5f5;border-color:#bbb}.shape-modal-chip.active{color:#fff;background:#2563eb;border-color:#2563eb}.shape-modal-custom-row{gap:6px;display:flex}.shape-modal-custom-input{color:#333;border:1px solid #e0e0e0;border-radius:10px;outline:none;flex:1;padding:8px 12px;font-size:13px;transition:border-color .15s}.shape-modal-custom-input:focus{border-color:#2563eb}.shape-modal-custom-input::placeholder{color:#bbb}.shape-modal-custom-btn{color:#2563eb;cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;font-size:20px;font-weight:600;transition:all .15s;display:flex}.shape-modal-custom-btn:hover:not(:disabled){color:#fff;background:#2563eb;border-color:#2563eb}.shape-modal-custom-btn:disabled{opacity:.3;cursor:default}.shape-modal-current-label{background:#eff6ff;border-radius:10px;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;display:flex}.shape-modal-current-tag{color:#2563eb;flex:1;font-size:13px;font-weight:600}.shape-modal-current-clear{color:#93c5fd;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px;line-height:1;transition:color .15s}.shape-modal-current-clear:hover{color:#2563eb}.create-shape-presets{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.create-shape-preset{cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #e0e0e0;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;transition:all .15s;display:flex}.create-shape-preset:hover{background:#eff6ff;border-color:#2563eb}.create-shape-preset:active{background:#dbeafe}.create-shape-preset-icon{color:#999;transition:color .15s;display:flex}.create-shape-preset:hover .create-shape-preset-icon{color:#2563eb}.create-shape-preset-label{color:#555;font-size:12px;font-weight:600}.create-shape-custom{align-items:center;gap:6px;display:flex}.create-shape-x{color:#999;flex-shrink:0;font-size:16px;font-weight:500}.create-shape-go{color:#fff;cursor:pointer;background:#2563eb;border:1px solid #2563eb;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;transition:all .15s;display:flex}.create-shape-go:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.create-shape-go:disabled{opacity:.3;cursor:default}.create-shape-layer-picker{gap:8px;display:flex}.create-shape-layer-btn{color:#555;cursor:pointer;background:#fff;border:1.5px solid #e0e0e0;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.create-shape-layer-btn:hover{background:#f5f5f5;border-color:#bbb}.create-shape-layer-btn.active{color:#1d4ed8;background:#eff6ff;border-color:#2563eb;font-weight:600}.create-shape-layer-btn.sub.active{color:#c0392b;background:#fef2f2;border-color:#e74c3c}.create-shape-layer-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}
