@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Syne:wght@500;700;800&display=swap";:root{--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Syne", sans-serif;--font-serif: "Playfair Display", serif;--font-mono: "JetBrains Mono", monospace;--bg-main: #F8F9FA;--bg-canvas: #FAFAFA;--bg-surface: #FFFFFF;--bg-panel: rgba(255, 255, 255, .92);--bg-panel-solid: #FFFFFF;--bg-glass: rgba(255, 255, 255, .92);--bg-glass-heavy: rgba(255, 255, 255, .98);--border-subtle: rgba(0, 0, 0, .08);--border-medium: rgba(0, 0, 0, .16);--border-active: #4F46E5;--text-main: #0F172A;--text-secondary: #334155;--text-muted: #64748B;--text-dim: #94A3B8;--accent-primary: #4F46E5;--accent-glow: rgba(79, 70, 229, .18);--accent-secondary: #0284C7;--accent-blue: #4F46E5;--accent-blue-soft: #EEF2FF;--accent-blue-border: #C7D2FE;--accent-terracotta: #C2410C;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-full: 9999px;--shadow-paper: 0 10px 25px -5px rgba(0, 0, 0, .06), 0 8px 10px -6px rgba(0, 0, 0, .04)}*{box-sizing:border-box;margin:0;padding:0;user-select:none;-webkit-user-select:none}html,body{width:100vw;height:100vh;overflow:hidden;background-color:var(--bg-canvas);color:var(--text-main);font-family:var(--font-sans);touch-action:none;-webkit-font-smoothing:antialiased}input,textarea,select,button{user-select:auto;-webkit-user-select:auto;pointer-events:auto}input[type=range]{pointer-events:auto;cursor:pointer;touch-action:pan-y;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e2e8f0;height:6px;border-radius:3px;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent-primary);border:2px solid #FFFFFF;box-shadow:0 2px 5px #0003;cursor:pointer;transition:transform .1s ease}input[type=range]::-webkit-slider-thumb:hover,input[type=range]::-webkit-slider-thumb:active{transform:scale(1.2)}input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--accent-primary);border:2px solid #FFFFFF;box-shadow:0 2px 5px #0003;cursor:pointer}#app{width:100%;height:100%;position:relative;overflow:hidden}.glass-panel{background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle);box-shadow:0 10px 25px -5px #0000000f,0 1px 3px #00000008}.glass-panel-heavy{background:var(--bg-glass-heavy);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-medium);box-shadow:0 20px 35px -10px #0000001f,0 1px 3px #0000000f}.shadow-soft{box-shadow:0 4px 12px -2px #00000014,0 2px 4px -2px #0000000a}.shadow-medium{box-shadow:0 12px 24px -4px #0000001a,0 4px 6px -2px #0000000d}.shadow-dramatic{box-shadow:0 20px 35px -6px #00000024,0 10px 15px -3px #00000014}.shadow-glow{box-shadow:0 10px 30px -5px #4f46e533,0 4px 12px #0000000f}.shadow-editorial{box-shadow:8px 10px #0f172a1f,0 16px 30px #00000014}.canvas-viewport{position:absolute;top:0;left:0;width:100%;height:100%;cursor:crosshair;overflow:hidden}.bg-paint-canvas,.layer-paint-canvas,.overlay-paint-canvas{position:absolute;top:0;left:0;width:100%;height:100%;display:block;pointer-events:none}.bg-paint-canvas{z-index:1}.layer-canvases-host{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.overlay-paint-canvas{z-index:99998}.studio-topbar{position:absolute;top:14px;left:16px;right:16px;height:52px;background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);box-shadow:0 10px 25px -5px #0000000d,0 1px 3px #00000008;display:flex;align-items:center;justify-content:space-between;padding:0 16px;z-index:1000;pointer-events:auto}.topbar-brand{display:flex;align-items:center;gap:10px}.brand-badge{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,#4f46e5,#0284c7);color:#fff;padding:4px 10px;border-radius:8px;font-size:13px;font-weight:700;letter-spacing:-.01em;box-shadow:0 4px 12px #4f46e540}.topbar-board-btn{background:#fff;border:1px solid var(--border-subtle);color:#0f172a;padding:5px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px;cursor:pointer;transition:all .15s ease}.topbar-board-btn:hover{background:#f8fafc;border-color:var(--accent-primary)}.topbar-center{display:flex;align-items:center;gap:4px;background:#ffffffa6;padding:3px 6px;border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.topbar-btn{background:transparent;border:1px solid transparent;color:var(--text-main);font-size:12px;font-weight:600;padding:5px 10px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .15s ease}.topbar-btn:hover:not(:disabled){background:#fff;border-color:var(--border-subtle);color:var(--accent-primary)}.topbar-btn:disabled{opacity:.35;cursor:not-allowed}.zoom-indicator{font-size:11px;font-weight:700;color:var(--text-muted);min-width:44px;text-align:center;font-variant-numeric:tabular-nums}.topbar-right{display:flex;align-items:center;gap:8px}.collab-avatars-group{display:flex;align-items:center;gap:4px}.remote-avatars-stack{display:flex;align-items:center;gap:3px}.user-avatar-badge{width:28px;height:28px;border-radius:50%;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid #FFFFFF;box-shadow:0 1px 3px #00000026;position:relative;-webkit-user-select:none;user-select:none}.user-avatar-badge.remote{cursor:pointer;transition:all .15s cubic-bezier(.16,1,.3,1)}.user-avatar-badge.remote:hover{transform:scale(1.18) translateY(-1px);z-index:5;box-shadow:0 4px 10px #00000040}.user-avatar-badge.following{box-shadow:0 0 0 2.5px #4f46e5,0 4px 12px #4f46e573;transform:scale(1.12)}.collab-following-banner{position:fixed;top:54px;left:50%;transform:translate(-50%);z-index:10000;display:flex;align-items:center;gap:10px;background:#0f172ae0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#fff;padding:6px 14px;border-radius:999px;font-size:12px;font-weight:600;box-shadow:0 8px 24px #00000040;border:1px solid rgba(255,255,255,.18);transition:all .2s cubic-bezier(.16,1,.3,1)}.collab-following-banner.hidden{display:none!important}.collab-following-banner .btn-stop-follow{background:#fff3;border:none;color:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:10px;padding:0;transition:background .12s ease}.collab-following-banner .btn-stop-follow:hover{background:#ef4444e6}.cloud-status-badge{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--text-muted);background:#fff;padding:4px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.status-dot{width:6px;height:6px;border-radius:50%;background:#10b981}.status-dot.disconnected{background:#ef4444}.toolbar-container{position:absolute;bottom:24px;left:50%;transform:translate(-50%);z-index:1000;display:flex;flex-direction:column;align-items:center;gap:8px}.floating-toolbar-dock{background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:28px;border:1px solid var(--border-subtle);box-shadow:0 16px 36px -6px #0000001f,0 4px 12px #0000000d;display:flex;align-items:center;gap:4px;padding:6px 10px}.tool-dock-btn{background:transparent;border:none;color:var(--text-secondary);width:40px;height:40px;border-radius:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;transition:all .15s ease;position:relative}.tool-dock-btn:hover{background:#fff;color:var(--accent-primary);transform:translateY(-1px)}.tool-dock-btn.active{background:var(--accent-primary);color:#fff;box-shadow:0 4px 12px #4f46e54d}.tool-dock-divider{width:1px;height:24px;background:var(--border-subtle);margin:0 4px}.canvas-items-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.layer-mount-group,.default-mount-group{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.items-svg-layer{position:absolute;top:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.items-svg-layer .arrow-item-group{pointer-events:auto;cursor:pointer}.items-dom-host{position:absolute;top:0;left:0;width:0;height:0;pointer-events:auto}.canvas-item-wrapper{position:absolute;cursor:default;-webkit-user-select:none;user-select:none;transform-origin:center center;transition:box-shadow .15s ease}.canvas-item-wrapper.is-being-dragged{opacity:.92;box-shadow:0 16px 32px #0000002e;z-index:9999!important}.card-move-handle{position:absolute;top:-24px;left:-24px;width:22px;height:22px;background:#fff;border:1px solid var(--border-medium);border-radius:6px;box-shadow:0 2px 8px #0000001f;display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:grab;opacity:0;transform:scale(.85);transition:opacity .15s cubic-bezier(.2,0,0,1),transform .15s cubic-bezier(.2,0,0,1),background .12s ease,border-color .12s ease,color .12s ease;pointer-events:auto;z-index:100;-webkit-user-select:none;user-select:none}.canvas-item-wrapper:hover .card-move-handle{opacity:1;transform:scale(1)}.card-move-handle:hover{background:#eef2ff;border-color:var(--accent-primary);color:var(--accent-primary);box-shadow:0 4px 12px #4f46e540}.card-move-handle:active,.card-move-handle.is-dragging{cursor:grabbing;background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;transform:scale(1.05)}.card-anchor-point{position:absolute;width:10px;height:10px;border-radius:50%;background:#4f46e5;border:2px solid #FFFFFF;box-shadow:0 0 6px #4f46e566;opacity:0;pointer-events:auto;cursor:crosshair;z-index:60;transform:translate(-50%,-50%) scale(.8);transition:opacity .15s ease,transform .15s ease,background .12s ease}.canvas-item-wrapper:hover .card-anchor-point{opacity:1;transform:translate(-50%,-50%) scale(1)}.card-anchor-point:hover{background:#4338ca;transform:translate(-50%,-50%) scale(1.4);box-shadow:0 0 10px #4f46e5cc}.card-anchor-point.anchor-top{top:0;left:50%}.card-anchor-point.anchor-right{top:50%;left:100%}.card-anchor-point.anchor-bottom{top:100%;left:50%}.card-anchor-point.anchor-left{top:50%;left:0}.card-status-badge{position:absolute;top:8px;right:8px;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.02em;box-shadow:0 2px 6px #00000014;pointer-events:none;z-index:10;display:flex;align-items:center;gap:4px}.status-author-tag{font-size:9px;font-weight:600;opacity:.85;background:#00000014;padding:1px 5px;border-radius:4px;margin-left:2px}.status-approved{background:#dcfce7;color:#15803d;border:1px solid #86EFAC}.status-needs_work{background:#fef3c7;color:#b45309;border:1px solid #FCD34D}.status-do_not_use{background:#fee2e2;color:#b91c1c;border:1px solid #FCA5A5}.card-reactions-bar{position:absolute;bottom:-14px;left:12px;display:flex;flex-wrap:wrap;align-items:center;gap:4px;pointer-events:auto;z-index:100}.card-reaction-pill{display:flex;align-items:center;gap:3px;padding:2px 7px;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:12px;font-size:12px;font-weight:700;color:#0f172a;cursor:pointer;box-shadow:0 2px 6px #00000014;transition:all .15s ease}.card-reaction-pill.has-reacted{background:#eef2ff;border:1.5px solid #4F46E5;color:#4f46e5;box-shadow:0 2px 8px #4f46e533}.card-reaction-pill:hover{transform:scale(1.1)}.card-reaction-pill .pill-count{font-size:11px;color:#475569;font-weight:700}.card-reaction-pill.has-reacted .pill-count{color:#4f46e5}.card-add-reaction-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:50%;color:#475569;font-size:12px;cursor:pointer;box-shadow:0 2px 6px #00000014;opacity:0;transform:scale(.85);transition:opacity .15s ease,transform .15s ease,background .12s ease}.canvas-item-wrapper:hover .card-add-reaction-btn{opacity:1;transform:scale(1)}.card-add-reaction-btn:hover{background:#fff;border-color:#4f46e5;color:#4f46e5;transform:scale(1.15)}.card-clear-reactions-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:#fff;border:1px solid rgba(225,29,72,.25);border-radius:50%;color:#e11d48;font-size:10px;cursor:pointer;box-shadow:0 2px 6px #0000000f;opacity:0;transform:scale(.85);transition:all .15s ease}.canvas-item-wrapper:hover .card-clear-reactions-btn{opacity:1;transform:scale(1)}.card-clear-reactions-btn:hover{background:#fee2e2;transform:scale(1.15)}.card-emoji-picker-tray{position:absolute;bottom:30px;left:0;display:flex;align-items:center;gap:4px;padding:6px 8px;border-radius:20px;background:#fff;box-shadow:0 12px 28px #00000026;border:1px solid rgba(0,0,0,.1);z-index:1000;white-space:nowrap;animation:popIn .15s cubic-bezier(.2,0,0,1)}.tray-emoji-btn{background:none;border:none;font-size:18px;cursor:pointer;padding:2px 4px;border-radius:6px;transition:transform .15s ease,background .15s ease}.tray-emoji-btn.has-reacted{background:#4f46e526;border:1px solid #4F46E5}.tray-emoji-btn:hover{transform:scale(1.35)}.tray-divider{width:1px;height:16px;background:#0000001f;margin:0 2px}.tray-full-picker-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#f1f5f9;border:1px solid rgba(0,0,0,.1);color:#4f46e5;font-size:10px;cursor:pointer;transition:all .15s ease}.tray-full-picker-btn:hover{background:#4f46e5;color:#fff;transform:scale(1.1)}.full-emoji-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100000;transition:opacity .2s ease}.full-emoji-modal-overlay.hidden{display:none}.full-emoji-modal-container{width:420px;max-width:92vw;max-height:80vh;background:#fff;border-radius:var(--radius-lg);border:1px solid var(--border-medium);box-shadow:0 20px 40px #0003;display:flex;flex-direction:column;overflow:hidden;animation:popIn .2s cubic-bezier(.2,0,0,1)}.emoji-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border-subtle)}.emoji-modal-title{font-size:14px;font-weight:700;color:var(--text-main);display:flex;align-items:center;gap:8px}.emoji-modal-close-btn{background:#f1f5f9;border:none;border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text-muted);cursor:pointer;transition:background .12s ease,color .12s ease}.emoji-modal-close-btn:hover{background:#e2e8f0;color:var(--text-main)}.emoji-modal-search-wrap{position:relative;padding:10px 16px;border-bottom:1px solid var(--border-subtle);background:#f8fafc}.emoji-search-icon{position:absolute;left:26px;top:50%;transform:translateY(-50%);font-size:13px;opacity:.6}.emoji-modal-search-input{width:100%;padding:8px 12px 8px 32px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:13px;background:#fff;color:var(--text-main);outline:none;box-sizing:border-box}.emoji-modal-search-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-light)}.emoji-category-tabs{display:flex;gap:4px;padding:8px 12px;overflow-x:auto;border-bottom:1px solid var(--border-subtle);background:#fff}.emoji-cat-tab{display:flex;align-items:center;gap:4px;padding:5px 10px;border-radius:20px;border:1px solid transparent;background:#f1f5f9;font-size:11px;font-weight:600;color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:all .12s ease}.emoji-cat-tab:hover{background:#e2e8f0;color:var(--text-main)}.emoji-cat-tab.active{background:#eef2ff;border-color:var(--accent-primary);color:var(--accent-primary)}.emoji-grid-scroll{flex:1;max-height:340px;overflow-y:auto;padding:12px 16px}.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}.emoji-grid-btn{background:transparent;border:1px solid transparent;border-radius:8px;font-size:22px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .1s ease,background .1s ease}.emoji-grid-btn:hover{background:#eef2ff;transform:scale(1.25);border-color:var(--border-subtle)}.emoji-quick-reactions{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.btn-emoji-react{background:#f8fafc;border:1px solid var(--border-subtle);border-radius:6px;padding:4px 8px;font-size:15px;cursor:pointer;transition:transform .1s ease,background .1s ease,border-color .1s ease}.btn-emoji-react:hover{background:#eef2ff;border-color:var(--accent-primary);transform:scale(1.15)}.sticky-note-card{width:100%;height:100%;border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;border:1px solid rgba(0,0,0,.08);box-sizing:border-box}.sticky-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:11px;font-weight:700;opacity:.85}.sticky-pin-badge{font-size:10px;letter-spacing:.04em}.sticky-author-badge{background:#fff9;padding:1px 6px;border-radius:4px}.sticky-content-body{flex:1;font-size:13px;font-weight:500;line-height:1.4;outline:none;word-break:break-word;white-space:pre-wrap;cursor:text}.text-box-card,.text-block-content{width:100%;height:100%;box-sizing:border-box;outline:none;cursor:text;word-break:break-word;white-space:pre-wrap;-webkit-user-select:text;user-select:text}.text-align-btn{transition:all .12s ease}.text-align-btn.active{background:#eef2ff!important;color:var(--accent-primary)!important;border-color:var(--accent-primary)!important;box-shadow:0 0 0 1px var(--accent-primary)}.typography-specimen-card,.type-specimen-card{width:100%;height:100%;border-radius:12px;padding:16px 20px;display:flex;flex-direction:column;justify-content:space-between;box-sizing:border-box;box-shadow:0 8px 24px -4px #00000014,0 2px 6px -1px #0000000a;border:1px solid var(--border-subtle);overflow:hidden}.type-specimen-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-subtle);padding-bottom:8px}.type-font-name{font-size:13px;font-weight:700;color:var(--text-main)}.type-category-tag{font-size:9px;font-weight:700;background:var(--accent-blue-soft);color:var(--accent-primary);padding:2px 6px;border-radius:4px;margin-left:6px}.type-weight-tag{font-size:11px;font-weight:600;color:var(--text-muted)}.type-headline-preview{outline:none;font-weight:700;line-height:1.15;margin:10px 0 6px;cursor:text}.type-body-preview{outline:none;font-size:12px;line-height:1.4;cursor:text}.type-specimen-specs{display:flex;gap:12px;font-size:10px;font-weight:600;color:var(--text-dim);border-top:1px solid var(--border-subtle);padding-top:8px;text-transform:uppercase}.image-item-card{width:100%;height:100%;overflow:hidden}.image-content-element{width:100%;height:100%;object-fit:cover;display:block}.section-frame-box{width:100%;height:100%;border-radius:16px;position:relative;box-sizing:border-box}.frame-label-tag{position:absolute;top:-14px;left:16px;background:#fff;border:1px solid var(--border-subtle);box-shadow:0 2px 8px #0000000f;padding:3px 10px;border-radius:6px;display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--accent-primary)}.frame-title-text{outline:none;cursor:text}.canvas-selection-box{position:absolute;border:2px solid var(--accent-primary);pointer-events:none;box-sizing:border-box;z-index:500}.canvas-selection-box.hidden{display:none}.sel-handle{position:absolute;width:10px;height:10px;background:#fff;border:2px solid var(--accent-primary);border-radius:2px;pointer-events:auto;transform:translate(-50%,-50%)}.handle-nw{top:0;left:0;cursor:nwse-resize}.handle-n{top:0;left:50%;cursor:ns-resize}.handle-ne{top:0;left:100%;cursor:nesw-resize}.handle-e{top:50%;left:100%;cursor:ew-resize}.handle-se{top:100%;left:100%;cursor:nwse-resize}.handle-s{top:100%;left:50%;cursor:ns-resize}.handle-sw{top:100%;left:0;cursor:nesw-resize}.handle-w{top:50%;left:0;cursor:ew-resize}.sel-rotate-handle{position:absolute;top:-24px;left:50%;width:12px;height:12px;background:#fff;border:2px solid var(--accent-primary);border-radius:50%;transform:translate(-50%,-50%);cursor:grab;pointer-events:auto}.sel-rotate-handle:after{content:"";position:absolute;top:10px;left:4px;width:2px;height:12px;background:var(--accent-primary)}.sel-action-toolbar{position:absolute;bottom:-56px;left:50%;transform:translate(-50%);background:#fff;border:1px solid var(--border-subtle);border-radius:8px;box-shadow:0 8px 20px #0000001f;display:flex;align-items:center;gap:2px;padding:3px 6px;pointer-events:auto;z-index:120}.sel-btn{background:transparent;border:none;color:var(--text-main);padding:4px 8px;font-size:13px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .1s ease}.sel-btn:hover{background:var(--accent-blue-soft);color:var(--accent-primary)}.sel-btn.btn-toggle-lock.is-locked{background:#eef2ff;color:var(--accent-primary);border:1px solid rgba(79,70,229,.3)}.sel-btn.btn-toggle-lock.is-locked:hover{background:#e0e7ff}.sel-layer-select-wrap,.sel-status-select-wrap{display:flex;align-items:center;gap:4px;background:#f8fafc;border:1px solid var(--border-subtle);border-radius:6px;padding:2px 6px;margin:0 2px;transition:all .12s ease}.sel-layer-select-wrap:hover,.sel-status-select-wrap:hover{border-color:var(--accent-primary);background:#eef2ff}.sel-layer-icon,.sel-status-icon{font-size:11px}.sel-layer-select,.sel-status-select{background:transparent;border:none;font-size:11px;font-weight:600;color:var(--text-main);outline:none;cursor:pointer;max-width:120px;font-family:inherit}.sel-multi-label{position:absolute;top:-24px;left:0;font-size:11px;font-weight:700;color:var(--accent-primary);background:#fff;padding:2px 6px;border-radius:4px;border:1px solid var(--accent-primary)}.arrow-action-toolbar{position:absolute;bottom:0;left:50%;transform:translate(-50%,-50%);white-space:nowrap}.arrow-color-input{width:22px;height:22px;padding:0;border:none;border-radius:50%;cursor:pointer;background:transparent}.arrow-point-handle{cursor:grab;pointer-events:all;transition:transform .1s ease,r .1s ease}.arrow-point-handle:hover{r:8.5;filter:drop-shadow(0 0 6px rgba(79,70,229,.6))}.arrow-point-handle:active{cursor:grabbing}.arrow-point-handle.handle-start:hover{filter:drop-shadow(0 0 6px rgba(16,185,129,.7))}.arrow-guide-polygon,.arrow-glow-outline{pointer-events:none}.studio-right-dock{position:absolute;top:76px;right:16px;bottom:24px;width:280px;display:flex;flex-direction:column;gap:12px;pointer-events:none;z-index:100}.properties-panel,.color-picker-widget,.layers-panel{pointer-events:auto}.properties-panel{background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-md);border:1px solid var(--border-subtle);box-shadow:var(--shadow-paper);padding:14px 16px;max-height:calc(100vh - 120px);overflow-y:auto}.props-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-subtle);padding-bottom:8px;margin-bottom:12px}.props-title-group h3{font-size:13px;font-weight:700;color:#0f172a}.props-category-badge{font-size:10px;font-weight:700;color:var(--accent-primary);background:var(--accent-blue-soft);padding:2px 6px;border-radius:4px;text-transform:uppercase}.props-btn-toggle,.props-btn-close{background:transparent;border:none;font-size:12px;cursor:pointer;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;padding:2px}.props-body.collapsed{display:none!important}.properties-panel:has(.props-body.collapsed){padding-bottom:8px}.prop-row{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.prop-label-row{display:flex;justify-content:space-between;font-size:11px;font-weight:600;color:var(--text-muted)}.prop-slider{width:100%;accent-color:var(--accent-primary);cursor:pointer}.prop-select{width:100%;background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:6px 10px;font-size:12px;color:var(--text-main);outline:none}.color-picker-widget{background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-md);border:1px solid var(--border-subtle);box-shadow:var(--shadow-paper);padding:14px;display:flex;flex-direction:column;gap:12px;transition:opacity .15s ease}.color-preview-row{display:flex;align-items:center;justify-content:space-between;padding-bottom:2px}.color-preview-left{display:flex;align-items:center;gap:10px}.color-current-preview{width:26px;height:26px;border-radius:7px;border:2px solid #FFFFFF;box-shadow:0 2px 6px #00000026}.color-hex-badge{font-family:var(--font-mono);font-size:11px;font-weight:700;color:#0f172a;background:#f1f5f9;padding:4px 8px;border-radius:6px;border:1px solid var(--border-subtle);letter-spacing:.5px}.color-btn-collapse{background:transparent;border:1px solid var(--border-subtle);color:var(--text-muted);width:24px;height:24px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;transition:all .12s ease}.color-btn-collapse:hover{background:#f1f5f9;color:var(--text-main)}.color-picker-body{display:flex;flex-direction:column;gap:12px}.color-picker-body.collapsed{display:none}.sat-val-box{width:100%;height:120px;border-radius:8px;position:relative;cursor:crosshair;overflow:hidden;border:1px solid var(--border-subtle);box-shadow:inset 0 0 2px #0000001a}.sat-val-white-grad{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,#FFF,transparent)}.sat-val-black-grad{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#000,transparent)}.sat-val-handle{position:absolute;width:14px;height:14px;border:2px solid #FFFFFF;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 4px #0009;pointer-events:none}.hue-slider-track{width:100%;height:14px;border-radius:7px;background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red);position:relative;cursor:pointer;border:1px solid rgba(0,0,0,.08);box-shadow:inset 0 1px 2px #00000014}.hue-slider-handle{position:absolute;top:-3px;width:8px;height:20px;background:#fff;border:1.5px solid rgba(0,0,0,.25);border-radius:4px;transform:translate(-50%);pointer-events:none;box-shadow:0 2px 5px #00000040}.color-swatch-row{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;padding-top:2px}.swatch-btn{width:100%;aspect-ratio:1;border-radius:6px;border:1px solid rgba(0,0,0,.12);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;padding:0}.swatch-btn:hover{transform:scale(1.12);z-index:2;box-shadow:0 2px 6px #00000026}.swatch-btn.active{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--accent-primary);transform:scale(1.05)}.image-upload-modal,.brush-palette-panel,.board-modal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center}.image-upload-modal.hidden,.brush-palette-panel.hidden,.board-modal.hidden{display:none}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a59;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-card{position:relative;width:480px;max-width:90vw;background:#fff;border-radius:16px;padding:24px;box-sizing:border-box}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-title-group{display:flex;align-items:center;gap:10px}.modal-title-group h3{font-size:16px;font-weight:700;color:#0f172a}.modal-close-btn{background:transparent;border:none;font-size:16px;cursor:pointer;color:var(--text-muted)}.image-drop-zone{border:2px dashed var(--accent-blue-border);background:var(--accent-blue-soft);border-radius:12px;padding:28px;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;transition:all .15s ease}.image-drop-zone.dragover{border-color:var(--accent-primary);background:#eef2ff}.drop-zone-icon{font-size:32px}.drop-zone-text strong{display:block;font-size:14px;color:#0f172a}.drop-zone-text span{font-size:12px;color:var(--text-muted)}.image-file-input{display:none}.modal-divider{display:flex;align-items:center;text-align:center;margin:16px 0;font-size:10px;font-weight:700;color:var(--text-dim);letter-spacing:.05em}.modal-divider:before,.modal-divider:after{content:"";flex:1;border-bottom:1px solid var(--border-subtle)}.modal-divider span{padding:0 10px}.image-url-group{display:flex;gap:8px}.image-url-input{flex:1;background:#f8fafc;border:1px solid var(--border-subtle);border-radius:8px;padding:8px 12px;font-size:12px;outline:none}.btn-submit-url{background:var(--accent-primary);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s ease}.btn-submit-url:hover{background:#4338ca}.sample-images-section{margin-top:16px}.sample-section-label{font-size:11px;font-weight:600;color:var(--text-muted);display:block;margin-bottom:8px}.sample-images-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.sample-img-thumb{width:100%;height:60px;object-fit:cover;border-radius:6px;cursor:pointer;border:1px solid var(--border-subtle);transition:transform .1s ease}.sample-img-thumb:hover{transform:scale(1.05)}.history-action-toast{position:absolute;top:76px;left:50%;transform:translate(-50%) translateY(-8px);background:#0f172ae0;color:#fff;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600;box-shadow:0 4px 12px #00000026;pointer-events:none;opacity:0;transition:opacity .18s ease,transform .18s ease;z-index:2500;letter-spacing:.01em}.history-action-toast.visible{opacity:1;transform:translate(-50%) translateY(0)}.brush-palette-panel{position:absolute;top:76px;left:16px;width:360px;background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;border:1px solid var(--border-subtle);box-shadow:var(--shadow-paper);display:flex;flex-direction:column;overflow:hidden;z-index:1000}.palette-panel-header{padding:12px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-subtle)}.palette-header-title{display:flex;align-items:center;gap:8px}.palette-header-title h3{font-size:14px;font-weight:700;color:#0f172a}.palette-count-badge{font-size:10px;font-weight:700;background:var(--accent-blue-soft);color:var(--accent-primary);padding:2px 6px;border-radius:10px}.palette-close-btn{background:transparent;border:none;font-size:14px;cursor:pointer;color:var(--text-muted)}.palette-filter-bar{padding:8px 12px;display:flex;flex-direction:column;gap:6px;border-bottom:1px solid var(--border-subtle)}.palette-pack-tabs{display:flex;flex-wrap:wrap;gap:4px}.pack-tab-btn{background:#f1f5f9;border:none;font-size:11px;font-weight:600;color:var(--text-secondary);padding:3px 8px;border-radius:4px;cursor:pointer}.pack-tab-btn.active{background:var(--accent-primary);color:#fff}.palette-search-input{width:100%;background:#fff;border:1px solid var(--border-subtle);border-radius:6px;padding:4px 8px;font-size:11px;outline:none}.brush-cards-grid{padding:12px;display:grid;grid-template-columns:repeat(2,1fr);gap:8px;max-height:280px;overflow-y:auto}.brush-visual-card{background:#fff;border:1px solid var(--border-subtle);border-radius:8px;padding:8px;cursor:pointer;transition:all .15s ease}.brush-visual-card:hover{border-color:var(--accent-blue-border);transform:translateY(-1px)}.brush-visual-card.active{border-color:var(--accent-primary);background:var(--accent-blue-soft)}.brush-preview-frame{position:relative;width:100%;height:64px;background:#f8fafc;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center;margin-bottom:6px}.brush-preview-img{max-width:100%;max-height:100%;object-fit:contain}.brush-pack-tag{position:absolute;top:4px;left:4px;font-size:9px;font-weight:700;background:#ffffffd9;color:var(--accent-primary);padding:1px 4px;border-radius:3px}.brush-card-quick-actions{position:absolute;top:4px;right:4px}.card-action-btn{background:#ffffffd9;border:none;font-size:10px;padding:2px 4px;border-radius:3px;cursor:pointer}.brush-card-title{font-size:11px;font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.palette-try-strip{background:#fff;border-top:1px solid var(--border-subtle);padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px}.try-strip-info{display:flex;align-items:center;gap:6px}.try-strip-label{font-size:10px;color:var(--text-muted);font-weight:600}.try-strip-name{font-size:11px;font-weight:700;color:#0f172a;max-width:80px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.try-rename-btn{background:#f1f5f9;border:1px solid var(--border-subtle);font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px;cursor:pointer}.try-strip-scratchpad-area{display:flex;align-items:center;gap:6px}.try-scratch-host{width:120px;height:32px;border:1px solid var(--border-subtle);border-radius:4px;overflow:hidden}.try-scratch-clear-btn{background:#f1f5f9;border:1px solid var(--border-subtle);font-size:10px;font-weight:600;padding:3px 6px;border-radius:4px;cursor:pointer}.layers-panel{background:var(--bg-glass-heavy);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-lg);border:1px solid var(--border-medium);box-shadow:0 20px 40px -10px #0000001f,0 2px 6px #0000000a;padding:16px;display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 160px);overflow-y:auto;pointer-events:auto;min-width:280px;box-sizing:border-box}.layers-panel.hidden{display:none!important}.layers-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-subtle);padding-bottom:10px}.layers-title-row{display:flex;flex-direction:column;gap:2px}.layers-title-row h3{font-size:13px;font-weight:700;color:var(--text-main);letter-spacing:-.01em}.layers-subtitle{font-size:10px;color:var(--text-dim);font-weight:500}.layers-actions{display:flex;align-items:center;gap:6px}.layer-btn-add{background:var(--accent-primary);color:#fff;border:none;width:26px;height:26px;border-radius:7px;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;box-shadow:0 2px 6px #4f46e540}.layer-btn-add:hover{background:#4338ca;transform:translateY(-1px)}.layer-btn-close{background:transparent;border:1px solid var(--border-subtle);color:var(--text-muted);width:26px;height:26px;border-radius:7px;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s ease}.layer-btn-close:hover{background:#f1f5f9;color:var(--text-main)}.layers-list{display:flex;flex-direction:column;gap:6px;position:relative}.layer-item{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border-subtle);border-radius:9px;padding:8px 10px;font-size:12px;cursor:pointer;transition:transform .15s cubic-bezier(.2,0,0,1),box-shadow .15s ease,border-color .15s ease,background-color .15s ease;-webkit-user-select:none;user-select:none;box-shadow:0 1px 3px #0000000a}.layer-item:hover{border-color:var(--accent-blue-border);background:#fafafd}.layer-item.active{border-color:var(--accent-primary);background:#f5f3ff;box-shadow:0 0 0 1px var(--accent-primary),0 2px 8px #4f46e51f}.layer-item.is-dragging{opacity:.9;background:#fff;border-color:var(--accent-primary);box-shadow:0 12px 24px -4px #4f46e540,0 4px 8px #00000014;z-index:100}.layer-drag-handle{color:var(--text-dim);cursor:grab;font-size:13px;padding:2px 4px;border-radius:4px;transition:color .12s ease,background-color .12s ease}.layer-drag-handle:hover{color:var(--accent-primary);background:#eef2ff}.layer-item.is-dragging .layer-drag-handle{cursor:grabbing;color:var(--accent-primary)}.layer-eye-btn{background:transparent;border:none;cursor:pointer;font-size:13px;padding:2px;border-radius:4px;opacity:.75;transition:opacity .12s ease,transform .12s ease}.layer-eye-btn:hover{opacity:1;transform:scale(1.1)}.layer-name{flex:1;font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11.5px}.layer-name-input{flex:1;font-weight:600;font-size:11.5px;color:var(--text-main);background:#fff;border:1px solid var(--accent-primary);border-radius:4px;padding:1px 4px;outline:none}.layer-active-controls-card{background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:10px 12px;display:flex;flex-direction:column;gap:8px;box-shadow:0 1px 3px #0000000a}.active-layer-header-row{display:flex;justify-content:space-between;align-items:center}.active-controls-heading{font-size:11px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.active-name-input-wrap{display:flex;align-items:center;background:#f8fafc;border:1px solid var(--border-subtle);border-radius:6px;padding:2px 6px;gap:4px;transition:border-color .15s ease,background .15s ease}.active-name-input-wrap:focus-within{border-color:var(--accent-primary);background:#fff;box-shadow:0 0 0 2px #4f46e526}.active-layer-rename-input{border:none;background:transparent;outline:none;font-size:11.5px;font-weight:700;color:var(--accent-primary);width:110px;font-family:inherit}.active-rename-hint{font-size:10px;opacity:.6}.layer-row-rename-btn{background:transparent;border:none;cursor:pointer;font-size:11px;padding:2px;border-radius:4px;opacity:.4;transition:opacity .12s ease,transform .12s ease}.layer-row-rename-btn:hover{opacity:1;transform:scale(1.15)}.active-layer-opacity-row{display:flex;flex-direction:column;gap:4px}.active-opacity-label-group{display:flex;justify-content:space-between;align-items:center}.active-opacity-label-group label{font-size:11px;font-weight:600;color:var(--text-muted)}.active-layer-opacity-val{font-size:11px;font-weight:700;color:var(--text-main);font-family:var(--font-mono)}.active-layer-opacity-slider{width:100%;accent-color:var(--accent-primary);cursor:pointer}.active-layer-actions-row{display:flex;gap:6px;margin-top:2px}.btn-active-duplicate{flex:1;background:#f8fafc;border:1px solid var(--border-subtle);border-radius:6px;padding:5px 8px;font-size:11px;font-weight:600;color:var(--text-main);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:4px;transition:all .12s ease}.btn-active-duplicate:hover:not(:disabled){background:#eef2ff;border-color:var(--accent-primary);color:var(--accent-primary)}.btn-active-duplicate:disabled{opacity:.5;cursor:not-allowed}.btn-active-delete{background:#fff1f2;border:1px solid #FECDD3;border-radius:6px;padding:5px 10px;font-size:11px;font-weight:600;color:#e11d48;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:4px;transition:all .12s ease}.btn-active-delete:hover:not(:disabled){background:#ffe4e6;border-color:#fda4af}.btn-active-delete:disabled{opacity:.4;cursor:not-allowed;background:#f8fafc;border-color:var(--border-subtle);color:var(--text-dim)}.layer-active-dot{width:8px;height:8px;border-radius:50%;background:transparent;border:1.5px solid var(--border-subtle);transition:all .12s ease}.layer-item.active .layer-active-dot{background:var(--accent-primary);border-color:var(--accent-primary);box-shadow:0 0 0 2px #4f46e533}.arrow-toolbar-drag-handle{cursor:grab;padding:3px 5px;color:var(--text-muted);font-size:13px;-webkit-user-select:none;user-select:none;display:flex;align-items:center;border-radius:4px;transition:all .12s ease}.arrow-toolbar-drag-handle:hover{background:#4f46e51a;color:var(--accent-primary)}.arrow-toolbar-drag-handle:active{cursor:grabbing;background:#4f46e533;color:var(--accent-primary)}.arrow-point-handle.handle-annot{cursor:grab;transition:r .12s ease,filter .12s ease}.arrow-point-handle.handle-annot:hover{r:8px;filter:drop-shadow(0 0 6px rgba(239,68,68,.9))}.arrow-point-handle.handle-annot:active{cursor:grabbing}.canvas-button-card{width:100%;height:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 16px;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #0000001f,0 1px 3px #00000014;transition:transform .12s cubic-bezier(.16,1,.3,1),box-shadow .12s ease,filter .12s ease;-webkit-user-select:none;user-select:none}.canvas-button-card:hover{transform:translateY(-1px);box-shadow:0 6px 16px #00000029,0 2px 4px #0000001a;filter:brightness(1.05)}.canvas-button-card:active{transform:translateY(1px);box-shadow:0 2px 6px #0000001a;filter:brightness(.95)}.canvas-btn-icon{font-size:1.1em;display:flex;align-items:center;flex-shrink:0}.canvas-btn-label{flex:1;outline:none;word-break:break-word;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;cursor:text}.canvas-btn-action{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;background:#fff3;border:1px solid rgba(255,255,255,.3);color:inherit;cursor:pointer;flex-shrink:0;transition:all .12s ease}.canvas-btn-action:hover{background:#fff6;transform:scale(1.08)}.canvas-btn-action:active{transform:scale(.95)}.canvas-emoji-card{width:100%;height:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;cursor:grab;transition:transform .12s ease}.canvas-emoji-card:hover{transform:scale(1.04)}.canvas-emoji-card:active{cursor:grabbing;transform:scale(.98)}.emoji-action-toolbar{display:flex;align-items:center;gap:4px}.btn-quick-emoji{cursor:pointer;border-radius:4px;transition:transform .1s ease,background .12s ease}.btn-quick-emoji:hover{transform:scale(1.2);background:#4f46e51f}.canvas-shape-card{width:100%;height:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;cursor:grab}.canvas-shape-card svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 2px 6px rgba(0,0,0,.08));transition:filter .12s ease}.canvas-shape-card:hover svg{filter:drop-shadow(0 4px 12px rgba(0,0,0,.14))}.canvas-shape-card:active{cursor:grabbing}.shape-action-toolbar{display:flex;align-items:center;gap:4px}.tool-dock-dropdown-wrap{position:relative;display:inline-flex}.shape-dock-btn{display:inline-flex;align-items:center;justify-content:center;gap:2px;position:relative}.shape-caret{font-size:9px;line-height:1;opacity:.6}.shape-picker-popover{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%) translateY(8px) scale(.96);background:#fffffff5;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle);border-radius:12px;padding:6px;box-shadow:0 12px 32px #00000029,0 2px 6px #00000014;display:flex;flex-direction:column;gap:3px;min-width:140px;opacity:0;pointer-events:none;transition:all .16s cubic-bezier(.16,1,.3,1);z-index:1000}.shape-picker-popover.open{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0) scale(1)}.shape-option-btn{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:8px;background:transparent;border:none;cursor:pointer;font-size:12px;font-weight:500;color:var(--text-main);text-align:left;transition:background .12s ease,transform .1s ease}.shape-option-btn:hover{background:#4f46e514;color:var(--accent-primary)}.shape-option-btn.active{background:#4f46e524;color:var(--accent-primary);font-weight:600}.shape-opt-icon{font-size:14px;width:18px;display:inline-flex;justify-content:center}.canvas-item-wrapper.drop-target-hover-image{outline:3px solid #4F46E5!important;outline-offset:4px!important;box-shadow:0 0 24px #4f46e566!important;transform:scale(1.02);transition:all .15s ease}.canvas-item-wrapper.drop-target-hover-shape{outline:3px dashed #10B981!important;outline-offset:4px!important;box-shadow:0 0 24px #10b98166!important;transform:scale(1.02);transition:all .15s ease}.drop-confirm-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center}.drop-confirm-modal.hidden{display:none!important}.drop-confirm-card{width:90%;max-width:480px;border-radius:16px;overflow:hidden;animation:modalPopIn .18s cubic-bezier(.16,1,.3,1)}.drop-modal-desc{font-size:13px;line-height:1.5;color:var(--text-muted);margin-bottom:16px}.drop-modal-compare-grid{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;background:#f8fafc;border:1px solid var(--border-subtle);border-radius:12px}.drop-modal-compare-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px}.compare-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.compare-thumb-wrap{width:100%;height:110px;border-radius:8px;border:1px solid var(--border-subtle);background:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center}.compare-thumb-wrap.highlight{border:2px solid #4F46E5;box-shadow:0 4px 12px #4f46e526}.compare-thumb-wrap img{width:100%;height:100%;object-fit:cover}.drop-modal-arrow{font-size:18px;color:var(--text-muted);font-weight:700}.canvas-settings-popover{position:fixed;z-index:9500;width:310px;background:#fffffff5;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:14px;border:1px solid var(--border-subtle);padding:14px;box-shadow:0 16px 40px #00000029,0 4px 12px #00000014;display:flex;flex-direction:column;animation:modalPopIn .16s cubic-bezier(.16,1,.3,1)}.btn-canvas-settings{display:inline-flex;align-items:center;gap:5px;font-weight:600;color:var(--text-main);background:#fff;border:1px solid var(--border-subtle);padding:4px 10px;border-radius:8px;cursor:pointer;transition:all .15s ease}.btn-canvas-settings:hover{background:#eef2ff;border-color:var(--accent-primary);color:var(--accent-primary);box-shadow:0 2px 8px #4f46e526}.canvas-minimap-dock{position:absolute;bottom:24px;left:20px;z-index:90;border-radius:12px;overflow:hidden;background:#fffffff2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle);box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;transition:all .2s cubic-bezier(.16,1,.3,1);pointer-events:auto}.canvas-minimap-dock.collapsed{width:auto;height:auto}.export-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0f172a80;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center}.export-modal-backdrop.hidden{display:none!important}.export-modal-card{animation:modalPopIn .18s cubic-bezier(.16,1,.3,1)}.canvas-item-wrapper.is-locked{cursor:default!important}.canvas-item-wrapper.is-locked .selection-outline,.canvas-item-wrapper.is-locked .transform-handles-group{display:none!important}.card-lock-indicator{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:6px;background:#ffffffe6;border:1px solid rgba(0,0,0,.1);display:flex;align-items:center;justify-content:center;color:var(--accent-primary);box-shadow:0 2px 6px #00000014;pointer-events:auto;cursor:pointer;z-index:20}.board-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a73;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1}.board-modal-window{position:relative;z-index:2;width:580px;max-width:92vw;max-height:88vh;background:#fff;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #0000000f;animation:modalPopIn .2s cubic-bezier(.16,1,.3,1)}.board-modal-header{padding:18px 22px 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-subtle);background:#fafafc}.board-modal-title-group{display:flex;align-items:center;gap:12px}.board-modal-icon-badge{width:38px;height:38px;border-radius:10px;background:#eef2ff;color:var(--accent-primary);border:1px solid #C7D2FE;display:flex;align-items:center;justify-content:center}.board-modal-heading{margin:0;font-size:15px;font-weight:700;color:var(--text-main);letter-spacing:-.2px}.board-modal-subheading{margin:2px 0 0;font-size:11.5px;color:var(--text-muted)}.board-modal-close-btn{width:32px;height:32px;border-radius:8px;background:transparent;border:none;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:all .12s ease}.board-modal-close-btn:hover{background:#f1f5f9;color:var(--text-main)}.board-modal-tabs{display:flex;padding:8px 22px 0;gap:8px;border-bottom:1px solid var(--border-subtle);background:#fafafc}.board-tab-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:600;color:var(--text-muted);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .15s ease}.board-tab-btn:hover{color:var(--text-main)}.board-tab-btn.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.board-modal-body{padding:20px 22px;overflow-y:auto;display:flex;flex-direction:column;gap:16px;background:#fff}.board-share-cards-stack{display:flex;flex-direction:column;gap:14px}.board-share-card{border-radius:12px;padding:14px 16px;border:1px solid var(--border-subtle);background:#f8fafc;display:flex;flex-direction:column;gap:10px;transition:border-color .15s ease}.board-share-card.card-edit-link{border-left:4px solid var(--accent-primary)}.board-share-card.card-viewer-link{border-left:4px solid #10B981;background:#f0fdf4}.share-card-header{display:flex;flex-direction:column;gap:3px}.share-badge-tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700}.share-badge-tag.tag-edit{color:var(--accent-primary)}.share-badge-tag.tag-viewer{color:#047857}.share-access-note{font-size:11px;color:var(--text-muted)}.share-card-input-row{display:flex;gap:8px;align-items:center}.share-url-field{flex:1;padding:8px 12px;font-size:11.5px;font-family:var(--font-mono);color:var(--text-main);background:#fff;border:1px solid var(--border-subtle);border-radius:8px;outline:none;cursor:text}.share-url-field:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px #4f46e51f}.btn-copy-share-url{display:flex;align-items:center;gap:6px;padding:8px 14px;font-size:11.5px;font-weight:600;border-radius:8px;border:1px solid var(--border-subtle);background:#fff;color:var(--text-main);cursor:pointer;white-space:nowrap;transition:all .12s ease}.btn-copy-share-url:hover{background:#eef2ff;color:var(--accent-primary);border-color:#c7d2fe}.btn-copy-view-link{background:#10b981;color:#fff;border-color:#059669}.btn-copy-view-link:hover{background:#059669;color:#fff;border-color:#047857}.btn-copy-share-url.copied{background:#059669!important;color:#fff!important;border-color:#059669!important}.board-actions-bar{display:flex;align-items:center;gap:8px}.board-action-btn{display:flex;align-items:center;gap:6px;padding:7px 12px;font-size:11.5px;font-weight:600;border-radius:8px;border:1px solid var(--border-subtle);background:#f8fafc;color:var(--text-main);cursor:pointer;transition:all .12s ease}.board-action-btn:hover{background:#eef2ff;color:var(--accent-primary);border-color:#c7d2fe}.boards-grid-container{display:flex;flex-direction:column}.boards-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px 16px;background:#f8fafc;border-radius:12px;border:1px dashed var(--border-subtle);text-align:center}.boards-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.board-grid-card{border-radius:12px;padding:12px;background:#fff;border:1.5px solid var(--border-subtle);display:flex;flex-direction:column;gap:8px;transition:all .15s ease}.board-grid-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0000000d}.board-grid-card.is-current-active{border-color:var(--accent-primary);background:#fafaff}.board-card-thumb-frame{position:relative;width:100%;height:90px;border-radius:8px;overflow:hidden;background:#f1f5f9;display:flex;align-items:center;justify-content:center}.board-card-thumb-img{width:100%;height:100%;object-fit:cover}.board-thumb-empty-art{color:#94a3b8;display:flex;align-items:center;justify-content:center}.board-live-badge{position:absolute;top:6px;left:6px;background:#0f172ad9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px;display:flex;align-items:center;gap:4px}.live-dot{width:6px;height:6px;border-radius:50%;background:#10b981;box-shadow:0 0 6px #10b981}.board-card-details{display:flex;flex-direction:column;gap:2px}.board-card-name-title{font-size:12.5px;font-weight:700;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-card-timestamp{font-size:10.5px;color:var(--text-muted)}.board-card-footer-actions{display:flex;align-items:center;gap:6px;margin-top:2px}.board-btn-switch{flex:1;padding:6px 10px;font-size:11px;font-weight:600;border-radius:6px;border:1px solid var(--border-subtle);background:#f8fafc;color:var(--text-main);cursor:pointer;transition:all .12s ease}.board-btn-switch:hover{background:#eef2ff;color:var(--accent-primary);border-color:#c7d2fe}.board-btn-switch.active-open{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.board-btn-delete-card{width:28px;height:28px;border-radius:6px;border:1px solid #FECACA;background:#fef2f2;color:#dc2626;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .12s ease}.board-btn-delete-card:hover{background:#dc2626;color:#fff;border-color:#dc2626}.saved-views-popover{position:fixed;z-index:9600;width:320px;background:#fffffff5;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:14px;border:1px solid var(--border-subtle);padding:14px;box-shadow:0 16px 40px #00000029,0 4px 12px #00000014;display:flex;flex-direction:column;gap:10px;animation:modalPopIn .16s cubic-bezier(.16,1,.3,1)}.saved-views-popover.hidden{display:none!important}.saved-views-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid var(--border-subtle)}.saved-views-count-pill{font-size:10px;font-weight:700;background:#eef2ff;color:var(--accent-primary);padding:1px 6px;border-radius:999px;margin-left:2px}.saved-views-add-box{display:flex;flex-direction:column;gap:6px}.input-new-view-name{flex:1;background:#f8fafc;border:1px solid var(--border-subtle);border-radius:8px;padding:6px 10px;font-size:11.5px;font-family:inherit;color:var(--text-main);outline:none;transition:all .15s ease}.input-new-view-name:focus{border-color:var(--accent-primary);background:#fff;box-shadow:0 0 0 2px #4f46e51f}.btn-save-current-view{display:flex;align-items:center;gap:4px;padding:6px 12px;font-size:11.5px;font-weight:600;border-radius:8px;border:1px solid var(--accent-primary);background:var(--accent-primary);color:#fff;cursor:pointer;transition:all .12s ease;white-space:nowrap}.btn-save-current-view:hover{background:#4338ca;border-color:#4338ca;box-shadow:0 2px 8px #4f46e54d}.saved-views-list{display:flex;flex-direction:column;gap:5px;max-height:240px;overflow-y:auto}.saved-views-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:16px 8px}.saved-view-item-row{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 8px;background:#f8fafc;border:1px solid var(--border-subtle);border-radius:8px;transition:all .12s ease}.saved-view-item-row:hover{background:#eef2ff;border-color:#c7d2fe}.saved-view-info-btn{flex:1;display:flex;flex-direction:column;gap:2px;cursor:pointer;text-align:left}.saved-view-name-label{font-size:12px;font-weight:600;color:var(--text-main)}.saved-view-meta-badges{display:flex;align-items:center;gap:6px}.view-meta-badge{font-size:10px;font-weight:600;color:var(--accent-primary);background:#e0e7ff;padding:1px 5px;border-radius:4px}.view-meta-coord{font-size:10px;color:var(--text-muted)}.btn-delete-saved-view{width:24px;height:24px;border-radius:6px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s ease}.btn-delete-saved-view:hover{background:#fee2e2;color:#dc2626}body.is-viewer-mode .studio-right-dock,body.is-viewer-mode .toolbar-container,body.is-viewer-mode .btn-undo,body.is-viewer-mode .btn-redo,body.is-viewer-mode .btn-saved-views,body.is-viewer-mode .btn-canvas-settings,body.is-viewer-mode .btn-clear-canvas,body.is-viewer-mode .btn-share-room,body.is-viewer-mode .topbar-board-btn,body.is-viewer-mode .canvas-selection-box,body.is-viewer-mode .sel-action-toolbar,body.is-viewer-mode .card-action-bar,body.is-viewer-mode .card-move-handle,body.is-viewer-mode .saved-views-popover,body.is-viewer-mode .canvas-settings-popover,body.is-viewer-mode .shape-picker-popover{display:none!important;pointer-events:none!important}body.is-viewer-mode .canvas-item-wrapper{cursor:default!important;-webkit-user-select:none!important;user-select:none!important}body.is-viewer-mode .canvas-item-wrapper:hover,body.is-viewer-mode .canvas-item-wrapper.selected{outline:none!important;box-shadow:none!important}body.is-viewer-mode [contenteditable]{-webkit-user-select:none!important;user-select:none!important;cursor:default!important;outline:none!important}body.is-viewer-mode .canvas-button-card,body.is-viewer-mode .canvas-btn-action,body.is-viewer-mode .quick-emoji-react-btn,body.is-viewer-mode .emoji-reaction-pill{cursor:pointer!important;pointer-events:auto!important}.sketchpad-card{position:relative;-webkit-user-select:none;user-select:none;box-sizing:border-box;background-color:#fff;transition:box-shadow .2s ease,border-color .2s ease}.sketchpad-card.is-transparent-pad{background-color:transparent!important;box-shadow:none!important}.sketchpad-header{height:34px;background:#f8fafc;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;padding:0 8px;box-sizing:border-box}.sketchpad-btn{transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center}.sketchpad-btn:hover:not(:disabled){filter:brightness(.95);transform:translateY(-.5px)}.sketchpad-btn:active:not(:disabled){transform:translateY(.5px)}.sketchpad-btn.btn-onion-skin.active{box-shadow:0 0 0 2px #4f46e533}.sketchpad-canvas-area{position:relative;width:100%;flex:1;overflow:hidden}.sketchpad-onion-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;filter:drop-shadow(0 0 1px rgba(79,70,229,.4))}.sketchpad-drawing-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none}
