@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--cork-1:#b8804f;--cork-2:#a06f42;--cork-dark:#8a5e38;--card:#f4ecd8;--card-edge:#e0d3ae;--ink:#2b2420;--ink-soft:#5a4f42;--ink-muted:#8a7d6f;--string-loop:#a3312b;--string-cross:#2f4a63;--pin-red:#c0392b;--pin-blue:#2f4a63;--pin-green:#27ae60;--accent:#c0392b;--accent-hover:#e74c3c;--paper-shadow:#140e0859;--shadow-sm:0 2px 6px #140e082e;--shadow-md:2px 4px 10px #140e0859;--shadow-lg:3px 8px 18px #140e086b;--shadow-xl:0 20px 50px #00000080;--toolbar-bg:#241d18d1;--toolbar-border:#ffffff14;--toolbar-text:#f4ecd8;--toolbar-hover:#ffffff1f;--toolbar-active:#c0392bb3;--z-background:0;--z-connectors:10;--z-cards:20;--z-dragging:100;--z-toolbar:200;--z-editor:300;--z-overlay:400;--card-width:220px;--card-min-height:120px;--toolbar-width:52px;--ease-out:cubic-bezier(.25, .46, .45, .94);--ease-bounce:cubic-bezier(.68, -.55, .27, 1.55)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{color:var(--ink);background:radial-gradient(ellipse at 20% 10%, #ffffff0d, transparent 60%), repeating-linear-gradient(0deg, #00000008 0px, #00000008 1px, transparent 1px, transparent 3px), repeating-linear-gradient(90deg, #00000006 0px, #00000006 1px, transparent 1px, transparent 3px), linear-gradient(160deg, var(--cork-1), var(--cork-2));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#5a4f4266;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#5a4f4299}::selection{color:var(--ink);background:#c0392b4d}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes cardAppear{0%{opacity:0;transform:scale(.8)translateY(10px)}60%{opacity:1;transform:scale(1.03)translateY(-2px)}to{transform:scale(1)translateY(0)}}@keyframes pinBounce{0%,to{transform:translate(-50%)scale(1)}50%{transform:translate(-50%)scale(1.2)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.auth-loading{color:#f4ecd8;background:#211914;place-items:center;min-height:100vh;font-family:Inter,-apple-system,sans-serif;display:grid}.canvas-toolbar{z-index:200;scrollbar-width:none;-webkit-backdrop-filter:blur(20px);background:#1e1814eb;border:1px solid #ffffff0f;border-radius:12px;flex-direction:row;align-items:center;gap:2px;max-height:calc(100vh - 24px);padding:4px;animation:.35s cubic-bezier(.25,.46,.45,.94) toolbarAppear;display:flex;position:fixed;top:auto;left:auto;overflow-y:auto;transform:none;box-shadow:0 8px 32px #00000059,0 1px 4px #0003,inset 0 1px #ffffff0a}.canvas-toolbar--left{flex-direction:column;max-height:calc(100vh - 24px);top:50%;left:14px;overflow:visible auto;transform:translateY(-50%)}.canvas-toolbar--right{flex-direction:column;max-height:calc(100vh - 24px);top:50%;right:14px;overflow:visible auto;transform:translateY(-50%)}.canvas-toolbar--top{flex-direction:row;max-width:calc(100vw - 24px);top:14px;left:50%;overflow:auto visible;transform:translate(-50%)}.canvas-toolbar--bottom{flex-direction:row;max-width:calc(100vw - 24px);bottom:14px;left:50%;overflow:auto visible;transform:translate(-50%)}.canvas-toolbar::-webkit-scrollbar{display:none}@keyframes toolbarAppear{0%{opacity:0}to{opacity:1}}.toolbar-drag-handle{cursor:grab;opacity:.55;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:5px;flex:none;grid-template-columns:repeat(2,3px);grid-auto-rows:3px;place-content:center;gap:3px;width:18px;height:28px;display:grid}.toolbar-drag-handle:active{cursor:grabbing}.toolbar-drag-handle:hover{opacity:1;background:#ffffff14}.toolbar-drag-handle span{background:#f4ecd8;border-radius:50%;width:3px;height:3px}.canvas-toolbar--top .toolbar-drag-handle,.canvas-toolbar--bottom .toolbar-drag-handle{grid-template-columns:repeat(3,3px);grid-auto-rows:3px;width:22px;height:20px}.toolbar-section{flex-direction:column;align-items:center;gap:0;display:flex}.canvas-toolbar--left .toolbar-section,.canvas-toolbar--right .toolbar-section{flex-direction:column}.canvas-toolbar--top .toolbar-section,.canvas-toolbar--bottom .toolbar-section{flex-direction:row}.toolbar-btn{color:#c8beafbf;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:all .12s;display:flex;position:relative}.toolbar-btn svg{flex-shrink:0}.toolbar-btn:hover{color:#f4ecd8;background:#ffffff1a}.toolbar-btn.active{color:#fff;background:#c0392ba6;box-shadow:0 0 10px #c0392b40}.toolbar-btn.disabled{opacity:.25;cursor:default;pointer-events:none}.toolbar-image-input{display:none}.toolbar-tooltip{white-space:nowrap;color:#f4ecd8;pointer-events:none;opacity:0;background:#1e1814f5;border:1px solid #ffffff14;border-radius:6px;align-items:center;gap:8px;padding:5px 10px;font-family:Inter,sans-serif;font-size:12px;font-weight:500;transition:opacity .12s;display:flex;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%);box-shadow:0 4px 12px #0000004d}.toolbar-btn:hover .toolbar-tooltip{opacity:1}.canvas-toolbar--right .toolbar-tooltip{left:auto;right:calc(100% + 10px)}.canvas-toolbar--top .toolbar-tooltip{top:calc(100% + 8px);left:50%;transform:translate(-50%)}.canvas-toolbar--bottom .toolbar-tooltip{top:auto;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.toolbar-tooltip kbd{color:#c8beaf99;background:#ffffff14;border:1px solid #ffffff1f;border-radius:3px;padding:1px 5px;font-family:Inter,monospace;font-size:10px;display:inline-block}.toolbar-zoom-display{width:36px}.toolbar-zoom-text{letter-spacing:-.03em;color:#c8beaf80;font-family:Inter,monospace;font-size:9px;font-weight:600}.toolbar-zoom-display:hover .toolbar-zoom-text{color:#f4ecd8}.toolbar-divider{background:#ffffff12;width:20px;height:1px;margin:2px 0}.canvas-toolbar--top .toolbar-divider,.canvas-toolbar--bottom .toolbar-divider{width:1px;height:20px;margin:0 2px}.toolbar-badge{color:#f4ecd8;background:#c0392b80;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;margin-top:2px;font-family:Inter,sans-serif;font-size:9px;font-weight:700;display:flex}.toolbar-btn-wrapper{position:relative}.toolbar-dropdown-caret{opacity:.6;pointer-events:none;font-size:8px;position:absolute;bottom:2px;right:3px}.toolbar-shape-flyout{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:250;background:#1e1814f5;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;gap:6px;min-width:170px;padding:8px;animation:.15s ease-out flyoutSlideIn;display:flex;position:absolute;top:0;left:calc(100% + 12px);box-shadow:0 10px 30px #00000073}.canvas-toolbar--right .toolbar-shape-flyout{left:auto;right:calc(100% + 12px)}.canvas-toolbar--top .toolbar-shape-flyout{top:calc(100% + 8px);left:0}.canvas-toolbar--bottom .toolbar-shape-flyout{top:auto;bottom:calc(100% + 8px);left:0}@media (height<=700px),(width<=720px){.canvas-toolbar{max-width:calc(100vw - 20px)}.toolbar-btn{width:30px;height:30px}}@keyframes flyoutSlideIn{0%{opacity:0;transform:translate(-6px)scale(.96)}to{opacity:1;transform:translate(0)scale(1)}}.toolbar-flyout-header{text-transform:uppercase;letter-spacing:.8px;color:#c8beaf99;padding:0 4px 2px;font-size:10px;font-weight:600}.toolbar-flyout-grid{grid-template-columns:repeat(2,1fr);gap:4px;display:grid}.toolbar-flyout-item{color:#f4ecd8;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:6px;align-items:center;gap:6px;padding:6px 8px;font-family:Inter,sans-serif;font-size:11px;transition:all .12s;display:flex}.toolbar-flyout-item:hover{color:#fff;background:#ffffff1f}.toolbar-flyout-item.active{color:#fff;background:#c0392ba6;border-color:#c0392bcc}.card-editor-overlay{z-index:300;background:#140e0859;animation:.15s fadeIn;position:fixed;inset:0}.card-editor{background:#f4ecd8;border:1px solid #e0d3ae;border-left:4px solid #c0392b;width:320px;padding:20px 18px 18px;font-family:Inter,-apple-system,sans-serif;animation:.2s cubic-bezier(.25,.46,.45,.94) slideUp;position:absolute;box-shadow:2px 4px 12px #140e0859,0 0 0 1px #0000000a}.card-editor-tape{background:#ffffff59;border:1px solid #ffffff80;width:70px;height:20px;position:absolute;top:-10px;left:50%;transform:translate(-50%)rotate(-2deg)}.card-editor-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.card-editor-label{letter-spacing:.12em;text-transform:uppercase;color:#5a4f42;font-size:11px;font-weight:600}.card-editor-actions{gap:6px;display:flex}.card-editor-actions button{cursor:pointer;color:#5a4f42;background:#ffffff80;border:1px solid #e0d3ae;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;transition:all .15s;display:flex}.card-editor-delete:hover{color:#c0392b!important;background:#fce4ec!important;border-color:#f8bbd0!important}.card-editor-close:hover{background:#fffc!important;border-color:#c0392b!important}.card-editor-field{margin-bottom:12px}.card-editor-field label{letter-spacing:.08em;text-transform:uppercase;color:#8a7d6f;margin-bottom:5px;font-size:10px;font-weight:600;display:block}.card-editor-input,.card-editor-textarea{color:#2b2420;resize:vertical;background:#fff9;border:1px solid #e0d3ae;border-radius:3px;width:100%;padding:8px 10px;font-family:Inter,sans-serif;font-size:13px;transition:border-color .15s}.card-editor-input:focus,.card-editor-textarea:focus{background:#fffc;border-color:#c0392b;outline:none}.card-editor-input::placeholder,.card-editor-textarea::placeholder{color:#b0a898}.card-editor-title-input{color:#241d18;font-family:Georgia,Times New Roman,serif;font-size:15px;font-weight:700}.card-editor-colors{gap:8px;display:flex}.card-editor-color-swatch{cursor:pointer;border:2px solid;border-radius:6px;width:32px;height:32px;transition:all .15s;position:relative}.card-editor-color-swatch:hover{transform:scale(1.1);box-shadow:0 2px 6px #0003}.card-editor-color-swatch.active{transform:scale(1.1);box-shadow:0 0 0 2px #c0392b,0 2px 6px #0003}.card-editor-color-check{color:#2b2420;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex;position:absolute;inset:0}.card-editor-save{color:#f4ecd8;cursor:pointer;background:#c0392b;border:1px solid #a3312b;border-radius:4px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:4px;padding:10px;font-family:Inter,sans-serif;font-size:13px;font-weight:600;transition:all .15s;display:flex}.card-editor-save:hover{background:#e74c3c;border-color:#c0392b}.card-editor-shortcut{letter-spacing:.05em;background:#fff3;border-radius:3px;padding:2px 6px;font-size:10px}.card-detail-overlay{-webkit-backdrop-filter:blur(6px);z-index:350;background:#140e0880;justify-content:center;align-items:center;animation:.2s cardDetailFadeIn;display:flex;position:fixed;inset:0}@keyframes cardDetailFadeIn{0%{opacity:0}to{opacity:1}}.card-detail-panel{border-radius:6px;flex-direction:column;width:440px;max-width:calc(100vw - 48px);max-height:calc(100vh - 96px);animation:.25s cubic-bezier(.25,.46,.45,.94) cardDetailSlideUp;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 40px #140e0880,0 0 0 1px #0000000f}@keyframes cardDetailSlideUp{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.card-detail-stripe{flex-shrink:0;height:5px}.card-detail-body{background:#f4ecd8;border-left:4px solid;flex:1;padding:28px 28px 24px;overflow-y:auto}.card-detail-body::-webkit-scrollbar{width:5px}.card-detail-body::-webkit-scrollbar-track{background:0 0}.card-detail-body::-webkit-scrollbar-thumb{background:#5a4f4233;border-radius:10px}.card-detail-body::-webkit-scrollbar-thumb:hover{background:#5a4f4259}.card-detail-close{cursor:pointer;color:#5a4f42;z-index:2;background:#ffffff80;border:1px solid #e0d3ae99;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;transition:all .15s;display:flex;position:absolute;top:14px;right:14px}.card-detail-close:hover{color:#c0392b;background:#ffffffd9;border-color:#c0392b;transform:scale(1.05)}.card-detail-eyebrow{letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;font-family:Georgia,Times New Roman,serif;font-size:11px;font-weight:700;line-height:1.2}.card-detail-title{color:#241d18;word-wrap:break-word;overflow-wrap:break-word;margin-bottom:16px;font-family:Georgia,Times New Roman,serif;font-size:22px;font-weight:700;line-height:1.35}.card-detail-title.placeholder{color:#8a7d6f;font-style:italic;font-weight:400}.card-detail-divider{background:linear-gradient(90deg,#0000,#5a4f4226,#0000);height:1px;margin-bottom:16px}.card-detail-text{color:#5a4f42;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;font-family:Courier New,monospace;font-size:13px;line-height:1.7}.card-detail-empty{color:#b0a898;padding:8px 0;font-family:Inter,-apple-system,sans-serif;font-size:13px;font-style:italic}.card-detail-meta{color:#8a7d6f;letter-spacing:.03em;border-top:1px solid #e0d3ae80;align-items:center;gap:12px;margin-top:20px;padding-top:14px;font-family:Inter,-apple-system,sans-serif;font-size:10px;display:flex}.card-detail-meta-dot{background:#b0a898;border-radius:50%;flex-shrink:0;width:3px;height:3px}.card-detail-footer{background:#f4ecd8f2;border-top:1px solid #e0d3ae99;flex-shrink:0;gap:10px;padding:14px 28px;display:flex}.card-detail-edit-btn{color:#f4ecd8;cursor:pointer;background:#c0392b;border:1px solid #a3312b;border-radius:5px;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-family:Inter,-apple-system,sans-serif;font-size:13px;font-weight:600;transition:all .15s;display:flex}.card-detail-edit-btn:hover{background:#e74c3c;border-color:#c0392b;transform:translateY(-1px);box-shadow:0 3px 10px #c0392b40}.card-detail-edit-shortcut{letter-spacing:.05em;background:#fff3;border-radius:3px;padding:2px 7px;font-size:10px}.card-detail-close-btn{color:#5a4f42;cursor:pointer;background:#ffffff8c;border:1px solid #e0d3ae;border-radius:5px;padding:10px 20px;font-family:Inter,-apple-system,sans-serif;font-size:13px;font-weight:500;transition:all .15s}.card-detail-close-btn:hover{background:#ffffffd9;border-color:#b0a898}.shape-editor-overlay{z-index:var(--z-editor,300);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000026;position:fixed;inset:0}.shape-editor{border-left:4px solid var(--accent,#c0392b);background:#fdfbf7;border-radius:8px;flex-direction:column;gap:12px;width:290px;padding:16px;animation:.18s cubic-bezier(.2,.9,.3,1) shapeEditorIn;display:flex;position:absolute;box-shadow:0 12px 36px #140a0559,0 0 0 1px #00000014}@keyframes shapeEditorIn{0%{opacity:0;transform:translateY(6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.shape-editor-header{border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.shape-editor-label{color:#241d18;font-family:Georgia,Times New Roman,serif;font-size:14px;font-weight:700}.shape-editor-actions{align-items:center;gap:6px;display:flex}.shape-editor-delete,.shape-editor-close{cursor:pointer;color:#8a7d6f;background:0 0;border:none;border-radius:4px;padding:4px 6px;font-size:13px;transition:all .15s}.shape-editor-delete:hover{color:#c0392b;background:#c0392b1a}.shape-editor-close:hover{color:#241d18;background:#0000000f}.shape-editor-field{flex-direction:column;gap:6px;display:flex}.shape-editor-field label{text-transform:uppercase;letter-spacing:.5px;color:#8a7d6f;font-size:11px;font-weight:600}.shape-editor-types{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.shape-type-btn{color:#5a4f42;cursor:pointer;background:#f4ecd8;border:1px solid #e0d3ae;border-radius:6px;justify-content:center;align-items:center;gap:4px;padding:6px 8px;font-size:11px;transition:all .15s;display:flex}.shape-type-btn:hover{background:#ece3cd;border-color:#c2b591}.shape-type-btn.active{color:#f4ecd8;background:#241d18;border-color:#241d18}.shape-editor-textarea{color:#241d18;resize:vertical;box-sizing:border-box;background:#fff;border:1px solid #e0d3ae;border-radius:6px;outline:none;width:100%;padding:8px 10px;font-family:Georgia,Times New Roman,serif;font-size:13px}.shape-editor-textarea:focus{border-color:#c0392b;box-shadow:0 0 0 2px #c0392b26}.shape-editor-colors{flex-wrap:wrap;gap:6px;display:flex}.shape-editor-color-swatch{cursor:pointer;border:1.5px solid;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:transform .12s;display:flex}.shape-editor-color-swatch:hover{transform:scale(1.15)}.shape-editor-color-swatch.active{box-shadow:0 0 0 2px #241d18}.shape-editor-color-check{color:#241d18;font-size:11px;font-weight:700}.shape-editor-save{color:#f4ecd8;cursor:pointer;background:#241d18;border:none;border-radius:6px;justify-content:center;align-items:center;gap:8px;margin-top:4px;padding:8px 12px;font-size:13px;font-weight:600;transition:background .15s;display:flex}.shape-editor-save:hover{background:#3a2e26}.shape-editor-shortcut{color:#e0d3ae;background:#ffffff26;border-radius:3px;padding:2px 5px;font-size:10px}.connector-editor-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;background:#140e0873;justify-content:center;align-items:center;padding:16px;animation:.15s ease-out connFadeIn;display:flex;position:fixed;inset:0}@keyframes connFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.connector-editor-modal{background:#fcf9f2;border:1px solid #d9ccb8;border-radius:8px;flex-direction:column;gap:16px;width:100%;max-width:420px;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex;position:relative;box-shadow:0 12px 32px #140a0559}.connector-editor-title{color:#2b2420;align-items:center;gap:8px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:16px;font-weight:700;display:flex}.connector-editor-field{flex-direction:column;gap:6px;display:flex}.connector-editor-label{text-transform:uppercase;letter-spacing:.08em;color:#705f4e;font-size:11px;font-weight:700}.connector-editor-input{color:#2b2420;background:#fff;border:1px solid #c9bda9;border-radius:4px;outline:none;padding:8px 12px;font-family:Courier New,monospace;font-size:14px;transition:border-color .15s}.connector-editor-input:focus{border-color:#a3312b;box-shadow:0 0 0 2px #a3312b33}.connector-quick-tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.connector-quick-tag-btn{color:#524335;cursor:pointer;background:#efe4d2;border:1px solid #dacbb6;border-radius:12px;padding:3px 9px;font-family:Courier New,monospace;font-size:11px;transition:all .15s}.connector-quick-tag-btn:hover{color:#fff;background:#a3312b;border-color:#832520}.connector-editor-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.connector-btn-cancel{color:#4b3e32;cursor:pointer;background:#ede3d1;border:1px solid #d0c0ab;border-radius:4px;padding:6px 14px;font-size:13px;font-weight:600}.connector-btn-save{color:#fff;cursor:pointer;background:#a3312b;border:1px solid #842621;border-radius:4px;padding:6px 16px;font-size:13px;font-weight:600;box-shadow:0 2px 6px #a3312b4d}.connector-btn-save:hover{background:#b53832}.cluster-editor-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background-color:#1c141099;justify-content:center;align-items:center;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.cluster-editor-modal{background:#fdfaf4;border-radius:12px;flex-direction:column;width:480px;max-width:calc(100vw - 32px);animation:.18s cubic-bezier(.16,1,.3,1) scaleUp;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 48px #00000059,0 0 0 1px #00000014}.cluster-editor-tape{z-index:10;pointer-events:none;background:#d4af378c;border:1px dashed #a06f4266;width:100px;height:22px;position:absolute;top:-8px;left:50%;transform:translate(-50%)rotate(1deg);box-shadow:0 1px 3px #0000001a}.cluster-editor-header{border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;padding:24px 24px 16px;display:flex}.cluster-editor-header-title{align-items:center;gap:10px;display:flex}.cluster-editor-icon{color:#c0392b;align-items:center;display:flex}.cluster-editor-header h3{color:#241d18;margin:0;font-family:Inter,sans-serif;font-size:18px;font-weight:700}.cluster-editor-close{color:#8c7355;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:18px;transition:all .15s}.cluster-editor-close:hover{color:#241d18;background:#0000000d}.cluster-editor-body{flex-direction:column;gap:16px;padding:20px 24px;display:flex}.cluster-editor-field{flex-direction:column;gap:6px;display:flex}.cluster-editor-label{text-transform:uppercase;letter-spacing:.8px;color:#8c7355;font-family:Inter,sans-serif;font-size:12px;font-weight:700}.cluster-editor-input{color:#241d18;box-sizing:border-box;background:#fff;border:1.5px solid #d4c8b8;border-radius:8px;outline:none;width:100%;padding:10px 14px;font-family:Inter,sans-serif;font-size:15px;font-weight:600;transition:border-color .15s,box-shadow .15s}.cluster-editor-input:focus{border-color:#c0392b;box-shadow:0 0 0 3px #c0392b1f}.cluster-editor-tags{flex-wrap:wrap;gap:6px;display:flex}.cluster-editor-tag-btn{color:#55483d;cursor:pointer;background:#f3ece0;border:1px solid #d4c8b8;border-radius:14px;padding:4px 10px;font-family:Inter,sans-serif;font-size:12px;font-weight:500;transition:all .15s}.cluster-editor-tag-btn:hover{color:#241d18;background:#e5dac7;border-color:#b8a690}.cluster-editor-colors{gap:8px;display:flex}.cluster-editor-color-btn{cursor:pointer;border:2px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:transform .15s,border-color .15s;display:flex}.cluster-editor-color-btn:hover{transform:scale(1.1)}.cluster-editor-color-btn.active{border-color:#c0392b;transform:scale(1.12)}.cluster-editor-color-check{color:#fff;font-size:14px;font-weight:700}.cluster-editor-footer{background:#f7f1e6;border-top:1px solid #0000000f;justify-content:space-between;align-items:center;gap:12px;padding:16px 24px 20px;display:flex}.cluster-editor-footer-left{align-items:center;gap:8px;display:flex}.cluster-editor-btn-secondary{color:#55483d;cursor:pointer;background:#fff;border:1px solid #d4c8b8;border-radius:6px;align-items:center;gap:6px;padding:8px 12px;font-family:Inter,sans-serif;font-size:13px;font-weight:600;transition:all .15s;display:flex}.cluster-editor-btn-secondary:hover{color:#241d18;background:#ede4d4}.cluster-editor-btn-danger{color:#c0392b;cursor:pointer;background:#fde8e8;border:1px solid #e0b4b4;border-radius:6px;justify-content:center;align-items:center;padding:8px 10px;transition:all .15s;display:flex}.cluster-editor-btn-danger:hover{background:#fbd5d5}.cluster-editor-btn-save{color:#fff;cursor:pointer;background:#c0392b;border:1px solid #c0392b;border-radius:6px;padding:8px 20px;font-family:Inter,sans-serif;font-size:13px;font-weight:600;transition:all .15s}.cluster-editor-btn-save:hover{background:#a93226;border-color:#a93226}.confirm-delete-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:9999;background-color:#1c1410a6;justify-content:center;align-items:center;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.confirm-delete-modal{background:#fdfaf4;border-radius:12px;flex-direction:column;width:460px;max-width:calc(100vw - 32px);animation:.18s cubic-bezier(.16,1,.3,1) scaleUp;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 48px #00000059,0 0 0 1px #00000014}.confirm-delete-tape{z-index:10;pointer-events:none;background:#d4af3780;border:1px dashed #a06f4266;width:90px;height:22px;position:absolute;top:-8px;left:50%;transform:translate(-50%)rotate(-1deg);box-shadow:0 1px 3px #0000001a}.confirm-delete-header{border-bottom:1px solid #0000000f;align-items:flex-start;gap:16px;padding:24px 24px 16px;display:flex}.confirm-delete-icon-wrap{color:#c0392b;background:#fde8e8;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.confirm-delete-title{color:#241d18;margin:0;font-family:Inter,sans-serif;font-size:18px;font-weight:700}.confirm-delete-target{color:#8c7355;margin:4px 0 0;font-family:Inter,sans-serif;font-size:14px;font-style:italic}.confirm-delete-body{color:#4a3e36;padding:18px 24px;font-family:Inter,sans-serif;font-size:14px;line-height:1.5}.confirm-delete-body p{margin:0}.confirm-delete-actions{background:#f7f1e6;border-top:1px solid #0000000f;justify-content:flex-end;align-items:center;gap:10px;padding:16px 24px 20px;display:flex}.confirm-btn-cancel{color:#55483d;cursor:pointer;background:#fff;border:1px solid #d4c8b8;border-radius:6px;padding:9px 16px;font-family:Inter,sans-serif;font-size:13px;font-weight:600;transition:all .15s}.confirm-btn-cancel:hover{color:#241d18;background:#ede4d4}.confirm-btn-ungroup{color:#f7fafc;cursor:pointer;background:#2d3748;border:1px solid #2d3748;border-radius:6px;align-items:center;gap:6px;padding:9px 16px;font-family:Inter,sans-serif;font-size:13px;font-weight:600;transition:all .15s;display:flex}.confirm-btn-ungroup:hover{background:#1a202c;border-color:#1a202c;transform:translateY(-1px)}.confirm-btn-danger{color:#fff;cursor:pointer;background:#c0392b;border:1px solid #c0392b;border-radius:6px;align-items:center;gap:6px;padding:9px 16px;font-family:Inter,sans-serif;font-size:13px;font-weight:600;transition:all .15s;display:flex}.confirm-btn-danger:hover{background:#a93226;border-color:#a93226;transform:translateY(-1px)}.export-overlay{z-index:400;background:#140e088c;justify-content:center;align-items:center;padding:24px;animation:.2s exportFadeIn;display:flex;position:fixed;inset:0}@keyframes exportFadeIn{0%{opacity:0}to{opacity:1}}.export-modal{background:#f4ecd8;border:1px solid #e0d3ae;width:100%;max-width:480px;max-height:88vh;padding:28px 28px 24px;animation:.25s cubic-bezier(.25,.46,.45,.94) exportSlideUp;position:relative;overflow-y:auto;box-shadow:0 20px 60px #00000073,0 4px 16px #0003}@keyframes exportSlideUp{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.export-tape{background:#ffffff59;border:1px solid #ffffff80;width:90px;height:22px;position:absolute;top:-10px;left:50%;transform:translate(-50%)rotate(-1.5deg)}.export-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.export-header-left{align-items:center;gap:10px;display:flex}.export-header-icon{color:#c0392b;justify-content:center;align-items:center;font-size:24px;display:flex}.export-title{color:#241d18;margin:0;font-family:Georgia,Times New Roman,serif;font-size:22px;font-weight:700}.export-close{cursor:pointer;color:#5a4f42;background:#fff6;border:1px solid #e0d3ae;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;transition:all .15s;display:flex}.export-close:hover{color:#c0392b;background:#ffffffb3;border-color:#c0392b}.export-info{color:#8a7d6f;align-items:center;gap:8px;margin-bottom:20px;font-size:12px;display:flex}.export-info-dot{color:#c8bda8}.export-section{margin-bottom:18px}.export-label{letter-spacing:.1em;text-transform:uppercase;color:#8a7d6f;margin-bottom:8px;font-family:Inter,sans-serif;font-size:10px;font-weight:600;display:block}.export-format-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.export-format-btn{cursor:pointer;text-align:left;background:#fff6;border:1.5px solid #e0d3ae;border-radius:8px;flex-direction:column;align-items:flex-start;padding:12px 14px;transition:all .15s;display:flex}.export-format-btn:hover{background:#ffffffb3;border-color:#c8bda8}.export-format-btn.active{background:#fffc;border-color:#c0392b;box-shadow:0 0 0 1px #c0392b}.export-format-icon{color:#5a4f42;justify-content:center;align-items:center;margin-bottom:6px;font-size:24px;transition:color .15s;display:flex}.export-format-btn:hover .export-format-icon{color:#241d18}.export-format-btn.active .export-format-icon{color:#c0392b}.export-format-label{color:#241d18;font-family:Inter,sans-serif;font-size:14px;font-weight:700}.export-format-desc{color:#8a7d6f;margin-top:2px;font-family:Inter,sans-serif;font-size:10px}.export-input{color:#241d18;background:#ffffff80;border:1.5px solid #e0d3ae;border-radius:6px;width:100%;padding:10px 12px;font-family:Georgia,Times New Roman,serif;font-size:14px;font-weight:700;transition:border-color .15s}.export-input:focus{background:#fffc;border-color:#c0392b;outline:none}.export-input::placeholder{color:#b0a898;font-weight:400}.export-quality-row{gap:8px;display:flex}.export-quality-btn{cursor:pointer;text-align:center;background:#fff6;border:1.5px solid #e0d3ae;border-radius:6px;flex:1;padding:10px 8px;transition:all .15s}.export-quality-btn:hover{background:#ffffffb3}.export-quality-btn.active{background:#fffc;border-color:#c0392b;box-shadow:0 0 0 1px #c0392b}.export-quality-label{color:#241d18;font-family:Inter,sans-serif;font-size:16px;font-weight:700;display:block}.export-quality-desc{color:#8a7d6f;margin-top:2px;font-family:Inter,sans-serif;font-size:10px;display:block}.export-bg-row{gap:8px;display:flex}.export-bg-btn{cursor:pointer;background:0 0;border:1.5px solid #e0d3ae;border-radius:6px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:8px;transition:all .15s;display:flex}.export-bg-btn:hover{border-color:#c8bda8}.export-bg-btn.active{border-color:#c0392b;box-shadow:0 0 0 1px #c0392b}.export-bg-swatch{border:1px solid #0000001f;border-radius:5px;width:28px;height:28px}.export-bg-label{color:#8a7d6f;text-transform:uppercase;letter-spacing:.04em;font-family:Inter,sans-serif;font-size:9px;font-weight:600}.export-checkboxes{flex-direction:column;gap:8px;display:flex}.export-checkbox{color:#2b2420;cursor:pointer;align-items:center;gap:8px;font-family:Inter,sans-serif;font-size:13px;display:flex}.export-checkbox input[type=checkbox]{accent-color:#c0392b;cursor:pointer;width:16px;height:16px}.export-error{color:#c0392b;background:#fce4ec;border:1px solid #f8bbd0;border-radius:6px;align-items:center;gap:8px;margin-bottom:16px;padding:10px 14px;font-family:Inter,sans-serif;font-size:13px;display:flex}.export-actions{gap:10px;margin-top:4px;display:flex}.export-cancel-btn{color:#5a4f42;cursor:pointer;background:#fff6;border:1.5px solid #e0d3ae;border-radius:6px;flex:none;padding:11px 20px;font-family:Inter,sans-serif;font-size:13px;font-weight:600;transition:all .15s}.export-cancel-btn:hover{background:#ffffffb3;border-color:#c8bda8}.export-submit-btn{color:#f4ecd8;cursor:pointer;background:#c0392b;border:1.5px solid #a3312b;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-family:Inter,sans-serif;font-size:13px;font-weight:600;transition:all .15s;display:flex}.export-submit-btn:hover{background:#e74c3c}.export-submit-btn:disabled{opacity:.5;cursor:not-allowed}.export-submit-btn kbd{background:#fff3;border-radius:3px;padding:2px 6px;font-family:Inter,monospace;font-size:10px}.export-spinner{border:2px solid #f4ecd84d;border-top-color:#f4ecd8;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite exportSpin;display:inline-block}@keyframes exportSpin{to{transform:rotate(360deg)}}.template-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#140e08a6;justify-content:center;align-items:center;padding:20px;animation:.2s cubic-bezier(.16,1,.3,1) modalFadeIn;display:flex;position:fixed;inset:0}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.template-modal{background:#fdfbf7;border:1px solid #dcd1be;border-radius:8px;flex-direction:column;width:100%;max-width:820px;max-height:85vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 40px #140a0559,inset 0 0 0 1px #ffffff80}.template-modal-tape{background:#e6dcc8b3;border-left:2px dashed #b4a08c66;border-right:2px dashed #b4a08c66;width:120px;height:18px;position:absolute;top:-6px;left:50%;transform:translate(-50%);box-shadow:0 1px 3px #0000001a}.template-modal-header{background:#fbf7ee;border-bottom:1px solid #ebdcc5;justify-content:space-between;align-items:center;padding:20px 24px 14px;display:flex}.template-modal-header-left{align-items:center;gap:10px;display:flex}.template-modal-header-icon{font-size:22px}.template-modal-title{color:#2b2420;margin:0;font-family:Georgia,Times New Roman,serif;font-size:18px;font-weight:700}.template-modal-close{color:#7a6b5a;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px;font-size:16px;transition:all .15s}.template-modal-close:hover{color:#2b2420;background:#ecdcc3}.template-modal-content{flex-direction:column;gap:16px;padding:20px 24px;display:flex;overflow-y:auto}.template-modal-subtitle{color:#6a5d4f;margin:0;font-size:13px;line-height:1.5}.template-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px;display:grid}.template-card{cursor:pointer;text-align:left;background:#fff;border:1px solid #ded5c5;border-radius:6px;flex-direction:column;gap:10px;padding:16px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.template-card:hover{border-color:#a3312b;transform:translateY(-2px);box-shadow:0 6px 16px #a3312b1f}.template-card.active{background:#fdfaf7;border-color:#a3312b;box-shadow:0 0 0 2px #a3312b,0 6px 16px #a3312b26}.template-card-top{justify-content:space-between;align-items:center;display:flex}.template-card-icon-title{align-items:center;gap:8px;display:flex}.template-card-icon{font-size:20px}.template-card-name{color:#2b2420;font-family:Georgia,Times New Roman,serif;font-size:15px;font-weight:700}.template-card-category{text-transform:uppercase;letter-spacing:.08em;color:#6a533f;background:#f0e6d6;border-radius:12px;padding:3px 8px;font-size:10px;font-weight:700}.template-card-desc{color:#5a4f42;margin:0;font-size:12.5px;line-height:1.45}.template-card-stats{color:#8a7865;border-top:1px dashed #ede2d3;gap:12px;padding-top:6px;font-family:Courier New,monospace;font-size:11px;display:flex}.template-modal-actions{background:#fbf7ee;border-top:1px solid #ebdcc5;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 24px;display:flex}.template-modal-options{align-items:center;display:flex}.template-keep-option{color:#4a3e32;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.template-keep-option input[type=checkbox]{accent-color:#a3312b;cursor:pointer;width:16px;height:16px}.template-modal-buttons{align-items:center;gap:10px;margin-left:auto;display:flex}.template-btn-cancel{color:#4a3e32;cursor:pointer;background:#eee3d1;border:1px solid #d5c4af;border-radius:4px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .15s}.template-btn-cancel:hover{background:#e2d3bd}.template-btn-replace{color:#6b4d3a;cursor:pointer;background:#fff;border:1px solid #c0a892;border-radius:4px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .15s}.template-btn-replace:hover{color:#2b2420;background:#f5ede0;border-color:#8a6c52}.template-btn-load{color:#fff;cursor:pointer;background:#a3312b;border:1px solid #852621;border-radius:4px;align-items:center;gap:6px;padding:8px 18px;font-size:13px;font-weight:600;transition:all .15s;display:flex;box-shadow:0 2px 6px #a3312b4d}.template-btn-load:hover{background:#b53832;box-shadow:0 3px 10px #a3312b66}.context-menu{z-index:500;-webkit-backdrop-filter:blur(20px);background:#1e1814f5;border:1px solid #ffffff14;border-radius:10px;min-width:180px;padding:5px;animation:.12s contextAppear;position:fixed;box-shadow:0 12px 40px #00000073,0 2px 8px #0003}@keyframes contextAppear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;width:100%;padding:7px 12px;transition:background .1s;display:flex}.context-menu-item:hover{background:#ffffff14}.context-menu-item.danger:hover{background:#c0392b33}.context-menu-icon{color:#c8beaf99;flex-shrink:0;justify-content:center;align-items:center;display:flex}.context-menu-item:hover .context-menu-icon{color:#f4ecd8}.context-menu-item.danger .context-menu-icon{color:#c0392bb3}.context-menu-item.danger:hover .context-menu-icon{color:#e74c3c}.context-menu-label{color:#f4ecd8d9;font-family:Inter,-apple-system,sans-serif;font-size:12px;font-weight:500}.context-menu-item.danger .context-menu-label{color:#e74c3cd9}.context-menu-divider{background:#ffffff0f;height:1px;margin:4px 8px}.context-menu-colors{gap:5px;padding:6px 10px 4px;display:flex}.context-menu-color{cursor:pointer;border:2px solid;border-radius:5px;width:24px;height:24px;padding:0;transition:all .1s}.context-menu-color:hover{transform:scale(1.15);box-shadow:0 2px 6px #0000004d}.context-menu-color.active{transform:scale(1.15);box-shadow:0 0 0 2px #c0392b,0 2px 6px #0000004d}.floating-format-bar{z-index:180;-webkit-backdrop-filter:blur(16px);background:#1e1814f0;border:1px solid #ffffff1f;border-radius:20px;align-items:center;gap:3px;padding:4px;animation:.18s cubic-bezier(.175,.885,.32,1.275) popIn;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #0006,0 2px 6px #00000040}@keyframes popIn{0%{opacity:0;transform:translate(-50%)translateY(6px)scale(.92)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.floating-bar-btn{color:#f4ecd8cc;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .12s;display:flex;position:relative}.floating-bar-btn:hover{color:#fff;background:#ffffff24;transform:translateY(-1px)}.floating-bar-btn.active{color:#fff;background:#fff3}.floating-bar-btn.danger:hover{color:#fff;background:#c0392bb3}.color-dot-indicator{border-radius:50%;width:6px;height:6px;position:absolute;top:4px;right:4px}.floating-bar-divider{background:#ffffff1f;width:1px;height:18px;margin:0 2px}.floating-color-popover{background:#1e1814f5;border:1px solid #ffffff26;border-radius:20px;align-items:center;gap:6px;padding:6px 10px;display:flex;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000073}.color-swatch-btn{cursor:pointer;border:1.5px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:transform .12s,box-shadow .12s;display:flex;position:relative}.color-swatch-btn:hover{transform:scale(1.2)}.color-swatch-btn.selected{box-shadow:0 0 0 2px #fffc}.swatch-pin{border-radius:50%;width:6px;height:6px}.shape-format-bar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:var(--z-toolbar,200);pointer-events:auto;background:#241d18eb;border:1px solid #ffffff1f;border-radius:8px;align-items:center;gap:4px;padding:4px 6px;animation:.15s ease-out formatBarFadeIn;display:flex;position:fixed;transform:translate(-50%,-100%);box-shadow:0 8px 24px #00000059}@keyframes formatBarFadeIn{0%{opacity:0;transform:translate(-50%,-90%)scale(.96)}to{opacity:1;transform:translate(-50%,-100%)scale(1)}}.shape-format-btn{color:#f4ecd8;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:all .15s;display:flex;position:relative}.shape-format-btn:hover{color:#fff;background:#ffffff1f}.shape-format-btn.active{color:#fff;background:#c0392b80;border-color:#c0392bcc}.shape-format-btn.danger:hover{color:#e74c3c;background:#c0392b4d}.shape-dot-indicator{border:1px solid #0006;border-radius:50%;width:6px;height:6px;position:absolute;bottom:4px;right:4px}.shape-format-divider{background:#ffffff1f;width:1px;height:20px;margin:0 2px}.shape-color-popover{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#241d18f2;border:1px solid #ffffff1f;border-radius:8px;gap:6px;padding:6px 8px;animation:.12s ease-out formatBarFadeIn;display:flex;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 8px 24px #0006}.shape-swatch-btn{cursor:pointer;border:1.5px solid;border-radius:4px;width:24px;height:24px;padding:0;transition:transform .12s;position:relative}.shape-swatch-btn:hover{transform:scale(1.2)}.shape-swatch-btn.selected{outline-offset:1px;outline:2px solid #fff}.shape-swatch-pin{border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.shape-type-popover{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#241d18f2;border:1px solid #ffffff1f;border-radius:8px;grid-template-columns:repeat(3,1fr);gap:6px;min-width:210px;padding:8px;animation:.12s ease-out formatBarFadeIn;display:grid;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 8px 24px #0006}.shape-type-swatch-btn{color:#f4ecd8;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px 6px;font-size:11px;transition:all .15s;display:flex}.shape-type-swatch-btn:hover{color:#fff;background:#ffffff26}.shape-type-swatch-btn.selected{color:#fff;background:#c0392b80;border-color:#c0392bcc}.cluster-format-bar{z-index:1000;pointer-events:auto;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #0000001f;border-radius:10px;align-items:center;gap:6px;padding:6px 10px;animation:.15s ease-out fadeIn;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #0000002e,0 2px 6px #00000014}.cluster-format-btn{color:#55483d;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px 8px;font-family:Inter,sans-serif;font-size:12px;font-weight:600;transition:all .12s;display:flex}.cluster-format-btn:hover{color:#241d18;background:#f3ece0}.cluster-format-btn.primary{color:#f7fafc;background:#2d3748;gap:5px;padding:5px 10px}.cluster-format-btn.primary:hover{background:#1a202c}.cluster-format-btn.danger{color:#c0392b}.cluster-format-btn.danger:hover{background:#fde8e8}.cluster-format-divider{background:#e2d9cc;width:1px;height:18px;margin:0 2px}.cluster-format-colors{align-items:center;gap:4px;display:flex}.cluster-color-btn{cursor:pointer;border:2px solid #0000;border-radius:50%;width:18px;height:18px;padding:0;transition:transform .12s,border-color .12s}.cluster-color-btn:hover{transform:scale(1.2)}.cluster-color-btn.active{border-color:#c0392b;transform:scale(1.25)}.minimap-container{z-index:90;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:flex-end;gap:6px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex;position:fixed;bottom:24px;right:24px}.minimap-toggle-btn{color:#4a3e32;cursor:pointer;background:#fdfbf7;border:1px solid #d5c8b5;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:600;transition:all .15s;display:flex;box-shadow:0 2px 8px #140a0526}.minimap-toggle-btn:hover{background:#f7efe2;border-color:#a3312b}.minimap-box{cursor:crosshair;background:radial-gradient(#ffffff14,#0000 70%),linear-gradient(160deg,#b8804f,#9c683b);border:2px solid #5a3e26;border-radius:6px;width:200px;height:140px;position:relative;overflow:hidden;box-shadow:0 8px 24px #140a0559,inset 0 0 0 1px #ffffff26}.minimap-canvas{width:100%;height:100%;position:absolute;inset:0}.minimap-viewport-rect{cursor:grab;pointer-events:auto;background:#ffffff2e;border:1.5px solid #fff;border-radius:2px;position:absolute;box-shadow:0 0 0 1px #0006,0 2px 6px #0000004d}.minimap-viewport-rect:active{cursor:grabbing;background:#ffffff47}.text-color-control{align-items:center;gap:12px;display:flex}.text-color-picker{cursor:pointer;background:#fff;border:1px solid #d9c9a9;border-radius:6px;flex:none;width:48px;height:42px;padding:4px}.text-color-value{color:#4a3e32;align-items:center;gap:8px;min-width:0;font-size:13px;display:flex}.text-color-value strong{font-weight:700}.text-color-value code{color:#7a6b5a;letter-spacing:.04em;font-size:11px}.text-color-swatch{border:1px solid #2b242059;border-radius:50%;flex:none;width:14px;height:14px}.import-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#140e08a6;justify-content:center;align-items:center;padding:20px;animation:.2s importFadeIn;display:flex;position:fixed;inset:0}@keyframes importFadeIn{0%{opacity:0}to{opacity:1}}.import-modal{background:#fdfbf7;border:1px solid #dcd1be;border-radius:8px;flex-direction:column;width:100%;max-width:720px;max-height:85vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 40px #140a0559}.import-modal-tape{background:#e6dcc8b3;width:120px;height:18px;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.import-modal-header{background:#fbf7ee;border-bottom:1px solid #ebdcc5;justify-content:space-between;align-items:center;padding:20px 24px 14px;display:flex}.import-modal-header-left{align-items:center;gap:10px;display:flex}.import-modal-header-icon{color:#a3312b;display:flex}.import-modal-title{color:#2b2420;margin:0;font:700 18px Georgia,serif}.import-modal-close,.import-back{color:#7a6b5a;cursor:pointer;background:0 0;border:0}.import-modal-close{padding:6px;font-size:16px}.import-modal-content{flex-direction:column;gap:16px;padding:20px 24px;display:flex;overflow-y:auto}.import-modal-subtitle{color:#6a5d4f;margin:0;font-size:13px;line-height:1.5}.import-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.import-card{text-align:left;color:#2b2420;cursor:pointer;background:#fff;border:1px solid #ded5c5;border-radius:6px;flex-direction:column;align-items:flex-start;gap:10px;min-height:168px;padding:16px;transition:all .18s;display:flex}.import-card:hover,.import-card:focus-visible{border-color:#a3312b;outline:none;transform:translateY(-2px);box-shadow:0 6px 16px #a3312b1f}.import-card-icon{color:#a3312b;display:flex}.import-card-title{font:700 15px Georgia,serif}.import-card-description{color:#5a4f42;font-size:12.5px;line-height:1.45}.import-card-action{color:#a3312b;margin-top:auto;font-size:11px;font-weight:700}.import-back{align-self:flex-start;padding:0;font-size:12px}.import-file-picker{color:#4a3e32;cursor:pointer;border:1px dashed #c0a892;border-radius:6px;align-items:center;gap:12px;padding:14px;font-size:13px;font-weight:600;display:flex}.import-file-input{max-width:100%;font-size:12px}.import-filename,.import-count{color:#6a5d4f;margin:0;font-size:12px}.import-ready{color:#2e7d32;background:#e8f5e9;border-radius:5px;padding:12px;font-size:13px}.import-warning,.import-error{color:#a3312b;margin:0;font-size:12px}.import-preview{background:#fff;border:1px solid #e0d3ae;max-height:180px;padding:8px;overflow:auto}.import-preview-row{color:#5a4f42;border-bottom:1px solid #eee;padding:6px 0;font-size:12px}.import-preview-row:last-child{border-bottom:0}.import-modal-actions{background:#fbf7ee;border-top:1px solid #ebdcc5;justify-content:flex-end;gap:10px;padding:14px 24px;display:flex}.import-btn-cancel,.import-btn-primary{cursor:pointer;border-radius:4px;padding:8px 16px;font-size:13px;font-weight:600}.import-btn-cancel{color:#4a3e32;background:#eee3d1;border:1px solid #d5c4af}.import-btn-primary{color:#fff;background:#a3312b;border:1px solid #8f2f27}.import-btn-primary:disabled{opacity:.45;cursor:not-allowed}@media (width<=620px){.import-grid{grid-template-columns:1fr}.import-card{min-height:110px}.import-modal{max-height:calc(100vh - 24px)}}.app{width:100vw;height:100vh;position:relative;overflow:hidden}.app-watermark{z-index:200;-webkit-backdrop-filter:blur(16px);background:#1e1814d1;border:1px solid #ffffff0d;border-radius:9px;align-items:center;gap:8px;padding:7px 16px 7px 10px;animation:.4s cubic-bezier(.25,.46,.45,.94) fadeDown;display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0003}@keyframes fadeDown{0%{opacity:0;transform:translate(-50%)translateY(-6px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.app-watermark-logo{background:#f8fafc;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;display:flex;overflow:hidden;box-shadow:0 2px 6px #13253d59}.app-watermark-logo img{width:100%;height:100%;display:block}.app-watermark-title{color:#f4ecd8;letter-spacing:-.01em;font-family:Inter,-apple-system,sans-serif;font-size:14px;font-weight:700}.app-hint-bar{z-index:200;-webkit-backdrop-filter:blur(16px);color:#c8beaf99;white-space:nowrap;background:#1e1814c7;border:1px solid #ffffff0d;border-radius:8px;padding:6px 16px;font-family:Inter,-apple-system,sans-serif;font-size:11px;animation:.35s cubic-bezier(.25,.46,.45,.94) fadeUp;position:fixed;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0003}@keyframes fadeUp{0%{opacity:0;transform:translate(-50%)translateY(6px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.app-hint-bar kbd{color:#c8beafcc;background:#ffffff14;border:1px solid #ffffff1a;border-radius:3px;margin:0 1px;padding:1px 5px;font-family:Inter,monospace;font-size:10px;display:inline-block}.app-toolbar-bottom .app-hint-bar{bottom:72px}.app-toolbar-top .app-hint-bar{top:72px;bottom:auto}.auth-screen{color:#f4ecd8;background:#211914;place-items:center;min-height:100vh;padding:24px;font-family:Inter,-apple-system,sans-serif;display:grid}.auth-card{background:#2d231ce0;border:1px solid #f4ecd826;border-radius:18px;width:min(100%,390px);padding:36px;box-shadow:0 24px 80px #00000047}.auth-logo{background:#f8fafc;border-radius:11px;width:48px;height:48px}.auth-kicker{color:#d6a85f;letter-spacing:.12em;text-transform:uppercase;margin:22px 0 8px;font-size:12px}.auth-card h1{letter-spacing:-.04em;margin:0;font-size:32px}.auth-subtitle{color:#f4ecd8a8;line-height:1.5}.auth-card form{gap:15px;margin-top:24px;display:grid}.auth-card label{color:#f4ecd8c7;gap:7px;font-size:13px;display:grid}.auth-card input{box-sizing:border-box;color:#fff8ea;width:100%;font:inherit;background:#261d18;border:1px solid #f4ecd82e;border-radius:8px;padding:12px 13px}.auth-card form button{color:#211914;cursor:pointer;background:#d6a85f;border:0;border-radius:8px;margin-top:5px;padding:12px;font-weight:700}.auth-card button:disabled{opacity:.5;cursor:not-allowed}.auth-switch{color:#d6a85f;cursor:pointer;background:0 0;border:0;width:100%;margin-top:18px}.auth-footer-copy{text-align:center;color:#f4ecd86b;margin:22px 0 -12px;font-size:12px}.auth-card-sign-up .auth-switch{color:#9ed4a5}.auth-warning,.auth-message{border-radius:7px;padding:10px 12px;font-size:12px;line-height:1.45}.auth-warning{color:#f0c77d;background:#d6a85f1f}.auth-message{color:#a9d9ac;background:#75b47e1f}
