:root{color-scheme:dark;font-family:Segoe UI,Roboto,sans-serif;--sidebar-width-collapsed: 56px;--sidebar-width-expanded: 240px;--sidebar-bg: #0d0d0d;--sidebar-border: #1f1f1f;--sidebar-accent: #8ab4f8;--sidebar-accent-glow: rgba(138, 180, 248, .15);--icon-button-bg: #1a1a1a;--icon-button-border: #2a2a2a;--icon-button-hover: #252525;--panel-bg: rgba(20, 20, 20, .96);--transition-speed: .22s}*{box-sizing:border-box}body{margin:0;background-color:#181818;color:#fff;display:flex;min-height:100vh;overflow:hidden}input,button{font-family:inherit}.hidden{display:none!important}.splash-screen{position:fixed;inset:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 30%,#1a1f2e,#0a0c10 70%,#050608);opacity:1;visibility:visible;transition:opacity .6s cubic-bezier(.4,0,.2,1),visibility .6s}.splash-screen.splash-hidden{opacity:0;visibility:hidden;pointer-events:none}.splash-content{display:flex;flex-direction:column;align-items:center;gap:20px;animation:splash-fade-in .8s ease-out}@keyframes splash-fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.splash-logo-wrapper{position:relative;width:100px;height:100px;display:flex;align-items:center;justify-content:center}.splash-logo{position:relative;z-index:2;width:80px;height:80px;filter:drop-shadow(0 0 20px rgba(138,180,248,.4));animation:splash-logo-pulse 2s ease-in-out infinite}@keyframes splash-logo-pulse{0%,to{filter:drop-shadow(0 0 20px rgba(138,180,248,.4));transform:scale(1)}50%{filter:drop-shadow(0 0 35px rgba(138,180,248,.7));transform:scale(1.05)}}.splash-logo-glow{position:absolute;inset:-30px;background:radial-gradient(circle,rgba(138,180,248,.3) 0%,transparent 70%);border-radius:50%;animation:splash-glow-rotate 4s linear infinite}@keyframes splash-glow-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.splash-title{font-family:Segoe UI,system-ui,sans-serif;font-size:3rem;font-weight:700;letter-spacing:.15em;margin:0;background:linear-gradient(135deg,#fff,#8ab4f8,#5c8dd6);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none;animation:splash-title-glow 2s ease-in-out infinite alternate}@keyframes splash-title-glow{0%{filter:drop-shadow(0 0 10px rgba(138,180,248,.3))}to{filter:drop-shadow(0 0 25px rgba(138,180,248,.6))}}.splash-loader{width:200px;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden;margin-top:10px}.splash-loader-bar{height:100%;width:0%;background:linear-gradient(90deg,#5c8dd6,#8ab4f8,#5c8dd6);background-size:200% 100%;border-radius:2px;animation:splash-loader-fill 2s ease-out forwards,splash-loader-shimmer 1s ease-in-out infinite}@keyframes splash-loader-fill{0%{width:0%}20%{width:25%}50%{width:60%}80%{width:85%}to{width:100%}}@keyframes splash-loader-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.splash-status{font-size:.875rem;color:#ffffff80;letter-spacing:.05em;animation:splash-status-blink 1.5s ease-in-out infinite}@keyframes splash-status-blink{0%,to{opacity:.5}50%{opacity:1}}.splash-footer{position:absolute;bottom:40px;display:flex;flex-direction:column;align-items:center;gap:12px;animation:splash-fade-in 1s ease-out .3s both}.splash-powered-by{font-size:.75rem;color:#ffffff59;letter-spacing:.1em;text-transform:uppercase}.splash-eventify-logo{height:28px;width:auto;opacity:.7;transition:opacity .3s ease}.splash-eventify-logo:hover{opacity:1}@media (max-width: 480px){.splash-logo{width:60px;height:60px}.splash-title{font-size:2rem;letter-spacing:.1em}.splash-loader{width:150px}.splash-footer{bottom:30px}}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-width-collapsed);background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;z-index:50;transition:width var(--transition-speed) cubic-bezier(.4,0,.2,1);overflow-x:hidden;overflow-y:auto;overflow-y:overlay;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent;min-height:0}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover{background:#ffffff40}.sidebar:not(:hover)::-webkit-scrollbar-thumb{background:transparent}.sidebar.is-expanded{width:var(--sidebar-width-expanded)}.sidebar.is-hovered:not(.is-pinned){width:var(--sidebar-width-expanded)}.sidebar-toggle{position:absolute;top:20px;right:8px;width:24px;height:24px;border-radius:6px;background:transparent;border:none;color:#666;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:51;transition:background .15s,color .15s,border-color .15s,opacity .15s;opacity:0;pointer-events:none}.sidebar:hover .sidebar-toggle,.sidebar.is-expanded .sidebar-toggle{opacity:1;color:#888;background:#ffffff0d;border:1px solid var(--sidebar-border);pointer-events:auto}.sidebar-toggle:hover{background:#8ab4f826;color:var(--sidebar-accent);border-color:var(--sidebar-accent)}.sidebar-toggle-icon{width:14px;height:14px}.sidebar-toggle-icon--expand{display:block}.sidebar-toggle-icon--collapse,.sidebar.is-expanded .sidebar-toggle-icon--expand{display:none}.sidebar.is-expanded .sidebar-toggle-icon--collapse{display:block}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:16px 12px;border-bottom:1px solid var(--sidebar-border);min-height:68px}.brand-logo{width:32px;height:32px;border-radius:8px;flex-shrink:0;opacity:.6;transition:opacity .15s}.brand-logo:hover{opacity:1}.sidebar-brand-text{display:flex;flex-direction:column;gap:2px;opacity:0;white-space:nowrap;transition:opacity var(--transition-speed)}.sidebar.is-expanded .sidebar-brand-text,.sidebar.is-hovered .sidebar-brand-text{opacity:1}.brand-name{font-size:1.1rem;font-weight:600;letter-spacing:.02em;color:#fff}.version-info{display:inline-flex;align-items:center;padding:2px 6px;border-radius:4px;background:#1a1a1a;color:#777;font-size:.7rem;font-family:Courier New,monospace;border:1px solid #252525;width:fit-content}.sidebar-section{padding:12px 8px;border-bottom:1px solid var(--sidebar-border);display:flex;flex-direction:column;gap:6px}.sidebar-section--bottom{margin-top:auto;border-bottom:none;border-top:1px solid var(--sidebar-border);flex-shrink:0;position:sticky;bottom:0;background:var(--sidebar-bg);z-index:1}.sidebar-section--expanded-only{max-height:0;padding:0 8px;opacity:0;overflow:hidden;border-bottom:none;transition:max-height var(--transition-speed),padding var(--transition-speed),opacity var(--transition-speed),border-bottom var(--transition-speed)}.sidebar.is-expanded .sidebar-section--expanded-only,.sidebar.is-hovered .sidebar-section--expanded-only{max-height:500px;padding:12px 8px;opacity:1;border-bottom:1px solid var(--sidebar-border);overflow:visible}.sidebar-section-title{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:#888;padding:0 4px;margin-bottom:4px;opacity:0;white-space:nowrap;transition:opacity var(--transition-speed)}.sidebar.is-expanded .sidebar-section-title,.sidebar.is-hovered .sidebar-section-title{opacity:1}.sidebar-buttons{display:flex;flex-direction:column;gap:2px}.sidebar-button{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;background:transparent;border:1px solid transparent;color:silver;cursor:pointer;transition:background .15s,color .15s,border-color .15s;text-align:left;white-space:nowrap;overflow:hidden}.sidebar-button svg{width:20px;height:20px;flex-shrink:0}.sidebar-button:hover,.sidebar-button:focus-visible{background:var(--sidebar-accent-glow);color:var(--sidebar-accent);border-color:#8ab4f833;outline:none}.sidebar-button:active{transform:scale(.98)}.sidebar-button-label{opacity:0;font-size:.85rem;transition:opacity var(--transition-speed)}.sidebar.is-expanded .sidebar-button-label,.sidebar.is-hovered .sidebar-button-label{opacity:1}.sidebar-button--primary{background:#8ab4f81a;border-color:#8ab4f826;color:var(--sidebar-accent)}.sidebar-button--primary:hover{background:#8ab4f833;border-color:#8ab4f84d}.sidebar-form-group{display:flex;flex-direction:column;gap:4px}.sidebar-label{display:flex;align-items:center;gap:8px;font-size:.75rem;color:#888;padding:0 4px}.sidebar-label svg{width:16px;height:16px;flex-shrink:0}.sidebar-label-text{opacity:0;white-space:nowrap;transition:opacity var(--transition-speed)}.sidebar.is-expanded .sidebar-label-text,.sidebar.is-hovered .sidebar-label-text{opacity:1}.sidebar-input{width:100%;padding:8px 10px;background:#141414;color:#e0e0e0;border:1px solid #252525;border-radius:6px;font-size:.85rem;transition:border-color .15s,box-shadow .15s}.sidebar-input:focus{outline:none;border-color:var(--sidebar-accent);box-shadow:0 0 0 2px var(--sidebar-accent-glow)}.sidebar-input::placeholder{color:#555}.sidebar:not(.is-expanded):not(.is-hovered) .sidebar-form-group{flex-direction:row;align-items:center}.sidebar:not(.is-expanded):not(.is-hovered) .sidebar-input{width:0;padding:0;border:none;opacity:0}.sidebar:not(.is-expanded):not(.is-hovered) .sidebar-label{justify-content:center;padding:10px 0;width:100%}.share-slug-group{position:relative}.share-slug-input-wrapper{display:flex;align-items:center;background:#141414;border:1px solid #252525;border-radius:6px;overflow:hidden;transition:border-color .15s,box-shadow .15s}.share-slug-input-wrapper:focus-within{border-color:var(--sidebar-accent);box-shadow:0 0 0 2px var(--sidebar-accent-glow)}.share-slug-prefix{padding:8px 0 8px 10px;color:#666;font-size:.8rem;font-family:Courier New,monospace;white-space:nowrap;user-select:none;flex-shrink:0}.share-slug-input{border:none!important;background:transparent!important;padding-left:4px!important;box-shadow:none!important;flex:1;min-width:0}.share-slug-input:focus{outline:none!important;box-shadow:none!important}.share-slug-status{font-size:.7rem;padding:4px 4px 0;color:#666;transition:color .15s}.share-slug-status:empty{display:none}.share-slug-status[data-state=success]{color:#9dd16a}.share-slug-status[data-state=error]{color:#ff8a80}.share-slug-status[data-state=warning]{color:#ffd54f}.share-slug-status[data-state=loading],.share-slug-status[data-state=info]{color:var(--sidebar-accent)}.share-link-actions{display:flex;gap:6px;margin-top:8px}.sidebar-button--small{padding:8px 10px;font-size:.8rem}.sidebar-button--small svg{width:16px;height:16px}.sidebar-button--small .sidebar-button-label{font-size:.75rem}.sidebar-button--ghost{background:transparent;border-color:#333}.sidebar-button--ghost:hover{background:#ffffff0d;border-color:#444}.sidebar-color-input{width:100%;height:36px;padding:2px;background:#141414;border:1px solid #252525;border-radius:6px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.sidebar-color-input:focus{outline:none;border-color:var(--sidebar-accent);box-shadow:0 0 0 2px var(--sidebar-accent-glow)}.sidebar-color-input::-webkit-color-swatch-wrapper{padding:2px}.sidebar-color-input::-webkit-color-swatch{border:none;border-radius:4px}.output-link-actions{display:flex;gap:6px;margin-top:8px}.sidebar-button--accent{background:#8ab4f826;border-color:#8ab4f840;color:var(--sidebar-accent)}.sidebar-button--accent:hover{background:#8ab4f840;border-color:#8ab4f866}.sidebar-button--accent:disabled{opacity:.5;cursor:not-allowed}.sidebar-button--accent:disabled:hover{background:#8ab4f826;border-color:#8ab4f840}.sidebar-button--danger{background:#ff52521a;border-color:#ff525233;color:#ff5252}.sidebar-button--danger:hover{background:#ff525233;border-color:#ff525259}.output-status{font-size:.7rem;padding:4px 4px 0;min-height:1.2em;color:#666;transition:color .15s}.output-status:empty{visibility:hidden}.output-status[data-state=success]{color:#9dd16a}.output-status[data-state=error]{color:#ff8a80}.output-status[data-state=info]{color:var(--sidebar-accent)}.sidebar-info-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;background:#141414;border:1px solid #252525;border-radius:6px;min-height:40px}.sidebar-info-content{display:flex;align-items:center;gap:8px;flex:1;min-width:0;overflow:hidden}.sidebar-info-content--stacked{flex-direction:column;align-items:flex-start;gap:2px}.sidebar-info-icon{width:16px;height:16px;flex-shrink:0;color:#666}.sidebar-info-value{font-size:.85rem;color:#e0e0e0;font-family:Courier New,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-info-value--slug{font-size:.75rem;color:#888}.sidebar-info-title{font-size:.85rem;color:#e0e0e0;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.sidebar-info-description{font-size:.7rem;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.sidebar-edit-btn{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:6px;color:#666;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s,border-color .15s}.sidebar-edit-btn svg{width:14px;height:14px}.sidebar-edit-btn:hover{background:var(--sidebar-accent-glow);color:var(--sidebar-accent);border-color:#8ab4f833}.sidebar-dropdown-wrapper{position:relative;z-index:100}#led-output-section{position:relative;z-index:50}.sidebar-button--dropdown{justify-content:space-between;width:100%}.sidebar-dropdown-chevron{width:14px;height:14px;margin-left:auto;transition:transform .15s}.sidebar-button--dropdown[aria-expanded=true] .sidebar-dropdown-chevron{transform:rotate(180deg)}.sidebar-dropdown-menu{position:absolute;bottom:100%;left:0;right:0;margin-bottom:4px;background:#1a1a1a;border:1px solid #333;border-radius:8px;padding:4px;z-index:9999;box-shadow:0 -4px 16px #0006}.sidebar-dropdown-menu[hidden]{display:none}.sidebar-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:transparent;border:none;border-radius:6px;color:silver;font-size:.85rem;cursor:pointer;text-align:left;transition:background .15s,color .15s}.sidebar-dropdown-item svg{width:16px;height:16px;flex-shrink:0}.sidebar-dropdown-item:hover{background:var(--sidebar-accent-glow);color:var(--sidebar-accent)}.sidebar-sponsor{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px 8px;border-top:1px solid var(--sidebar-border);margin-top:8px;flex-shrink:0}.sidebar-sponsor-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:#444;opacity:0;height:0;overflow:hidden;transition:opacity var(--transition-speed),height var(--transition-speed)}.sidebar.is-expanded .sidebar-sponsor-label,.sidebar.is-hovered .sidebar-sponsor-label{opacity:1;height:auto}.sidebar-sponsor-link{display:flex;align-items:center;justify-content:center;opacity:.6;transition:opacity .15s,transform var(--transition-speed)}.sidebar-sponsor-link:hover{opacity:1}.sidebar-sponsor-logo{height:14px;width:auto;max-width:32px;object-fit:contain;transition:height var(--transition-speed),max-width var(--transition-speed)}.sidebar.is-expanded .sidebar-sponsor-logo,.sidebar.is-hovered .sidebar-sponsor-logo{height:24px;max-width:100%}.edit-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:0;z-index:200;min-width:280px;max-width:360px;box-shadow:0 8px 32px #00000080;animation:edit-panel-in .15s ease-out}@keyframes edit-panel-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.edit-panel[hidden]{display:none}.edit-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #333}.edit-panel-header h4{margin:0;font-size:.95rem;font-weight:600;color:#fff}.edit-panel-close{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:#666;cursor:pointer;transition:background .15s,color .15s}.edit-panel-close svg{width:16px;height:16px}.edit-panel-close:hover{background:#ff646426;color:#ff6464}.edit-panel-body{padding:16px;display:flex;flex-direction:column;gap:12px}.edit-panel-row{display:flex;align-items:center;gap:10px}.edit-panel-row--stacked{flex-direction:column;align-items:stretch;gap:6px}.edit-panel-row label{font-size:.8rem;color:#888;min-width:60px}.edit-panel-input{flex:1;padding:8px 10px;background:#141414;color:#e0e0e0;border:1px solid #333;border-radius:6px;font-size:.85rem;transition:border-color .15s,box-shadow .15s}.edit-panel-input:focus{outline:none;border-color:var(--sidebar-accent);box-shadow:0 0 0 2px var(--sidebar-accent-glow)}.edit-panel-input--full{width:100%}.edit-panel-textarea{resize:vertical;min-height:80px;max-height:200px;line-height:1.5;font-family:inherit}.edit-panel-input--slug{flex:1;border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}.edit-panel-unit{font-size:.75rem;color:#666;min-width:20px}#edit-panel-slug{min-width:380px}.edit-panel-slug-wrapper{display:flex;align-items:center;background:#141414;border:1px solid #333;border-radius:6px;overflow:hidden}.edit-panel-slug-wrapper:focus-within{border-color:var(--sidebar-accent);box-shadow:0 0 0 2px var(--sidebar-accent-glow)}.edit-panel-slug-prefix{padding:8px 0 8px 10px;color:#666;font-size:.8rem;font-family:Courier New,monospace;background:#1a1a1a;flex-shrink:0}.edit-panel-slug-status{font-size:.7rem;color:#666;min-height:1em;margin-top:4px}.edit-panel-slug-status[data-state=success]{color:#9dd16a}.edit-panel-slug-status[data-state=error]{color:#ff8a80}.edit-panel-slug-status[data-state=loading]{color:var(--sidebar-accent)}.edit-panel-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid #333}.edit-panel-btn{padding:8px 16px;font-size:.85rem;font-weight:500;border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s}.edit-panel-btn--primary{background:var(--sidebar-accent);color:#000;border:none}.edit-panel-btn--primary:hover{background:#a0c8ff}.edit-panel-btn--secondary{background:transparent;color:#888;border:1px solid #333}.edit-panel-btn--secondary:hover{background:#252525;border-color:#444}.edit-panel-btn--ghost{background:transparent;color:#8ab4f8;border:1px solid transparent;display:inline-flex;align-items:center}.edit-panel-btn--ghost:hover{background:#8ab4f81a;border-color:#8ab4f833}.edit-panel-btn--primary{display:inline-flex;align-items:center}.edit-panel-footer--slug{display:flex;gap:8px;justify-content:flex-end}.edit-panel-footer--slug .edit-panel-btn--secondary{margin-right:auto}.edit-panel-overlay{position:fixed;inset:0;background:#00000080;z-index:199}.edit-panel-overlay[hidden]{display:none}.is-view-only #btn-new-rect,.is-view-only #btn-undo,.is-view-only #btn-import-json,.is-view-only #btn-set-pin,.is-view-only #btn-remove-pin,.is-view-only #btn-edit-canvas-size,.is-view-only #btn-edit-slug,.is-view-only #btn-edit-metadata,.is-view-only #pin-lock-icon{display:none!important}.view-only-banner{display:none;width:calc(100% - 16px);padding:8px 12px;background:#ffc10726;border:1px solid rgba(255,193,7,.3);border-radius:6px;margin:8px;color:#ffc107;font-size:.75rem;text-align:center;cursor:pointer;transition:background .15s ease,border-color .15s ease}.view-only-banner:hover{background:#ffc10740;border-color:#ffc10780}.is-view-only .view-only-banner{display:block}.workspace{flex:1;margin-left:var(--sidebar-width-collapsed);height:100vh;max-height:100vh;overflow:hidden;display:flex;justify-content:center;align-items:stretch;transition:margin-left var(--transition-speed) cubic-bezier(.4,0,.2,1)}body.sidebar-expanded .workspace{margin-left:var(--sidebar-width-expanded)}.canvas-wrapper{flex:1;display:flex;justify-content:flex-start;align-items:flex-start;padding:1.5rem;overflow:auto;min-width:0}.canvas-wrapper--centered{justify-content:center}.canvas-inner{position:relative;flex:0 0 auto;display:inline-block;min-width:max-content;min-height:max-content}#led-canvas{display:block;background:#111;border:1px solid #555;box-shadow:0 0 10px #0009;cursor:crosshair}#led-canvas:focus-visible{outline:2px solid var(--sidebar-accent);outline-offset:2px}.zoom-overlay{position:fixed;top:1rem;right:1.5rem;z-index:45;display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .6rem;border-radius:999px;background:#121212e6;border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 24px #00000073;backdrop-filter:blur(6px)}.zoom-button{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:#242424a6;color:#f5f5f5;box-shadow:0 4px 12px #00000040;backdrop-filter:blur(4px);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.zoom-button__icon{display:inline-flex;align-items:center;justify-content:center}.zoom-button__icon svg{width:18px;height:18px;display:block}.zoom-button:hover,.zoom-button:focus-visible{background:#343434d9;border-color:var(--sidebar-accent);color:var(--sidebar-accent);box-shadow:0 6px 16px #00000059}.zoom-button:focus-visible{outline:none}.zoom-button.is-active{border-color:var(--sidebar-accent);color:var(--sidebar-accent)}.zoom-button:disabled{opacity:.4;pointer-events:none;box-shadow:none}.zoom-overlay__indicator{min-width:64px;text-align:center;font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:600;color:#f5f5f5}.feedback-badge{position:fixed;bottom:1.25rem;left:calc(var(--sidebar-width-collapsed) + 1rem);z-index:45;display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border-radius:999px;background:#121212eb;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 20px #00000080;backdrop-filter:blur(8px);opacity:0;transform:translateY(10px);visibility:hidden;transition:opacity .25s cubic-bezier(.4,0,.2,1),transform .25s cubic-bezier(.4,0,.2,1),visibility .25s,left var(--transition-speed) cubic-bezier(.4,0,.2,1);pointer-events:none}.feedback-badge.is-visible{opacity:1;transform:translateY(0);visibility:visible;pointer-events:auto}body.sidebar-expanded .feedback-badge{left:calc(var(--sidebar-width-expanded) + 1rem)}.feedback-badge-text{font-size:.8rem;font-weight:500;letter-spacing:.01em;white-space:nowrap;color:var(--sidebar-accent)}.feedback-badge[data-state=success]{border-color:#9dd16a40}.feedback-badge[data-state=success] .feedback-badge-text{color:#9dd16a}.feedback-badge[data-state=error]{border-color:#ff8a8040}.feedback-badge[data-state=error] .feedback-badge-text{color:#ff8a80}.feedback-badge[data-state=info] .feedback-badge-text{color:var(--sidebar-accent)}.feedback-badge[data-state=loading]{border-color:#8ab4f833}.feedback-badge[data-state=loading] .feedback-badge-text{color:var(--sidebar-accent);animation:feedback-pulse 1.5s ease-in-out infinite}@keyframes feedback-pulse{0%,to{opacity:1}50%{opacity:.5}}.feedback-badge:before{content:"";display:block;width:8px;height:8px;border-radius:50%;background:var(--sidebar-accent);flex-shrink:0}.feedback-badge[data-state=success]:before{background:#9dd16a}.feedback-badge[data-state=error]:before{background:#ff8a80}.feedback-badge[data-state=loading]:before{background:var(--sidebar-accent);animation:feedback-dot-pulse 1.5s ease-in-out infinite}@keyframes feedback-dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.metadata-overlay{position:fixed;top:1rem;left:calc(var(--sidebar-width-collapsed) + 1rem);z-index:45;display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;border-radius:999px;background:#121212e6;border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 24px #00000073;backdrop-filter:blur(6px);transition:left var(--transition-speed) cubic-bezier(.4,0,.2,1)}body.sidebar-expanded .metadata-overlay{left:calc(var(--sidebar-width-expanded) + 1rem)}.metadata-overlay-header{display:flex;align-items:center;gap:.4rem}.metadata-overlay-title{font-size:.8rem;font-weight:600;color:#f5f5f5;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}.metadata-overlay-edit{flex-shrink:0;width:20px;height:20px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:5px;color:#666;cursor:pointer;opacity:0;transition:opacity .15s,background .15s,color .15s,border-color .15s}.metadata-overlay:hover .metadata-overlay-edit{opacity:1}.metadata-overlay-edit svg{width:11px;height:11px}.metadata-overlay-edit:hover{background:var(--sidebar-accent-glow);color:var(--sidebar-accent);border-color:#8ab4f833}.metadata-overlay-description{font-size:.72rem;color:#777;white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis}.metadata-overlay-description:empty,.metadata-overlay-description:empty+.metadata-overlay-version{display:none}.metadata-overlay-description:not(:empty):before{content:"\b7";margin-right:.6rem;color:#555}.metadata-overlay-version{display:inline-flex;padding:2px 6px;border-radius:4px;background:#8ab4f81a;color:var(--sidebar-accent);font-size:.65rem;font-family:Courier New,monospace;font-weight:500;border:1px solid rgba(138,180,248,.15)}.property-panel{position:fixed;right:0;top:0;bottom:0;width:300px;max-width:min(90vw,360px);background:var(--panel-bg);border-left:1px solid rgba(255,255,255,.08);box-shadow:-12px 0 24px #00000073;display:flex;flex-direction:column;gap:.5rem;padding:4rem 1.25rem 1.25rem;overflow-y:auto;transform:translate(100%);transition:transform .2s ease;pointer-events:none;z-index:40}.property-panel.is-open{transform:translate(0);pointer-events:auto}.property-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.25rem}.property-panel h2{margin:0;font-size:1.05rem}.property-panel input{background:#2d2d2d;border:1px solid #444;border-radius:6px;color:#fff;padding:.45rem .5rem}.property-panel input:focus-visible{outline:2px solid var(--sidebar-accent);outline-offset:1px}.property-panel input:disabled{opacity:.5;cursor:not-allowed}label{font-size:.9rem;color:#ddd}.panel-message{margin:0 0 .5rem;font-size:.9rem;color:#ccc}.panel-actions{display:flex;gap:.5rem;margin-top:.75rem}.panel-actions button{flex:1;background:#2d2d2d;border:1px solid #444;border-radius:6px;color:#fff;padding:.45rem .75rem;transition:background .12s ease,border-color .12s ease}.panel-actions button:hover:not(:disabled),.panel-actions button:focus-visible:not(:disabled){background:#353535;border-color:var(--sidebar-accent);outline:none}.panel-actions button:disabled{opacity:.5;cursor:not-allowed}.property-panel.panel-empty{color:#aaa}.property-panel.panel-empty label,.property-panel.panel-empty input{opacity:.5}.color-history{margin-top:.25rem;display:flex;flex-direction:column;gap:.35rem}.color-history-title{font-size:.8rem;color:#bbb}.color-history-swatches{display:flex;flex-wrap:wrap;gap:.35rem}.color-history[data-empty=true] .color-history-swatches:before{content:"Noch keine Farben";font-size:.75rem;color:#777}.panel-row{display:flex;align-items:flex-end;gap:.5rem}.panel-row--name{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.panel-row--name label{margin:0}.panel-row--dimensions,.panel-row--position{margin-top:.25rem;gap:.35rem}.panel-row--dimensions .panel-field,.panel-row--position .panel-field{flex:1;display:flex;flex-direction:column;gap:.15rem;min-width:0}.panel-row--dimensions .panel-field input,.panel-row--position .panel-field input{padding:.35rem .4rem;font-size:.85rem;text-align:center}.panel-row--dimensions .panel-field label,.panel-row--position .panel-field label{font-size:.7rem;color:#999}.panel-row-separator{color:#555;font-size:.9rem;padding-bottom:.35rem;user-select:none;flex-shrink:0}.panel-fontsize-control{display:flex;align-items:center;gap:.35rem}.panel-fontsize-value{font-size:.85rem;color:#888;font-variant-numeric:tabular-nums;min-width:2ch;text-align:right}.panel-fontsize-value:after{content:"px";font-size:.7rem;color:#666;margin-left:1px}.panel-fontsize-edit{background:transparent;border:none;padding:.25rem;cursor:pointer;color:#888;border-radius:4px;transition:color .15s ease,background .15s ease;display:flex;align-items:center;justify-content:center}.panel-fontsize-edit:hover:not(:disabled){color:var(--sidebar-accent);background:#ffffff0d}.panel-fontsize-edit:disabled{opacity:.4;cursor:not-allowed}.panel-fontsize-edit svg{width:14px;height:14px}.panel-fontsize-slider-wrapper{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.5rem;background:#ffffff08;border-radius:6px;border:1px solid rgba(255,255,255,.06)}.panel-fontsize-slider-wrapper[hidden]{display:none}.panel-fontsize-slider-wrapper input[type=range]{flex:1;height:4px;-webkit-appearance:none;appearance:none;background:#444;border-radius:2px;outline:none}.panel-fontsize-slider-wrapper input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:var(--sidebar-accent);border-radius:50%;cursor:pointer;border:2px solid #1a1a1a;transition:transform .1s ease}.panel-fontsize-slider-wrapper input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}.panel-fontsize-slider-wrapper input[type=range]::-moz-range-thumb{width:16px;height:16px;background:var(--sidebar-accent);border-radius:50%;cursor:pointer;border:2px solid #1a1a1a}.panel-fontsize-slider-wrapper input[type=number]{width:55px;text-align:center;padding:.3rem .25rem;font-size:.85rem}.panel-section{margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.08)}.panel-section-title{display:block;font-size:.65rem;color:#777;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.35rem}.panel-row--extra{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem}.panel-field--small{display:flex;flex-direction:column;gap:.15rem;min-width:0}.panel-field--small label{font-size:.7rem;color:#999}.panel-field--small input{padding:.3rem .35rem;font-size:.8rem;text-align:center}.panel-field--small input::placeholder{color:#555}.is-view-only .property-panel{display:none!important}.issues-panel{position:fixed;top:1rem;left:calc(var(--sidebar-width-collapsed) + 1rem);width:min(420px,calc(100vw - var(--sidebar-width-collapsed) - 2rem));max-height:calc(100vh - 2rem);padding:1.1rem 1.25rem 1.25rem;background:var(--panel-bg);border:1px solid rgba(255,255,255,.08);border-radius:14px;box-shadow:0 16px 32px #00000059;display:flex;flex-direction:column;gap:.85rem;z-index:55;backdrop-filter:blur(12px);transform:translate(-16px);opacity:0;pointer-events:none;transition:transform .2s ease,opacity .18s ease,left var(--transition-speed)}.issues-panel.is-open{transform:translate(0);opacity:1;pointer-events:auto}body.sidebar-expanded .issues-panel{left:calc(var(--sidebar-width-expanded) + 1rem)}.issues-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.issues-panel h3{margin:0;font-size:1rem}.issues-panel-actions{display:flex;align-items:center;gap:.35rem}.issues-panel-actions .icon-button{width:36px;height:36px;padding:0}.issues-panel-actions .icon-button svg{width:20px;height:20px}.issues-panel button{background:#2d2d2d;border:1px solid #444;border-radius:6px;color:#fff;padding:.4rem .75rem;cursor:pointer;transition:background .12s ease,border-color .12s ease}.issues-panel button:hover:not(:disabled),.issues-panel button:focus-visible:not(:disabled){background:#353535;border-color:var(--sidebar-accent);outline:none}.issues-panel button:disabled{opacity:.6;cursor:progress}.issues-feedback{margin:0;font-size:.85rem;min-height:1.2rem;color:#9aa0a6}.issues-feedback[hidden]{display:none}.issues-feedback[data-state=error]{color:#ff8a80}.issues-feedback[data-state=success]{color:#9dd16a}.issues-feedback[data-state=info]{color:var(--sidebar-accent)}.issues-list{margin:0;padding-left:1rem;display:flex;flex-direction:column;gap:.4rem;overflow-y:auto;flex:1;position:relative}.issues-loading-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#111c;backdrop-filter:blur(2px);border-radius:10px;z-index:2}.issues-loading-overlay[hidden]{display:none}.issues-loading-spinner{width:42px;height:42px;border-radius:50%;border:4px solid rgba(255,255,255,.15);border-top-color:var(--sidebar-accent);animation:issues-spin 1s linear infinite}@keyframes issues-spin{to{transform:rotate(360deg)}}.issues-list li{font-size:.9rem;color:#dcdcdc}.issues-item-button{width:100%;text-align:left;background:transparent;border:none;color:#e6e6e6;padding:.6rem .65rem;border-radius:8px;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;font-size:.9rem;transition:background .14s ease,color .14s ease}.issues-item-button:hover,.issues-item-button:focus-visible{background:#8ab4f81f;color:#fff;outline:none}.issues-item-title{display:flex;align-items:center;gap:.35rem;font-weight:600;letter-spacing:.01em}.issues-item-title svg{flex-shrink:0}.issues-item-meta{display:flex;align-items:center;gap:.5rem;width:100%;font-size:.78rem;color:#b0b0b0}.issues-labels{font-size:.75rem;color:#9ca3af;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.issues-form{display:flex;flex-direction:column;gap:.5rem}.issues-form input,.issues-form textarea{background:#2d2d2d;border:1px solid #444;border-radius:6px;color:#fff;padding:.45rem .5rem;font-family:inherit}.issues-form textarea{resize:vertical;min-height:80px;max-height:220px}.issues-form input:focus-visible,.issues-form textarea:focus-visible{outline:2px solid var(--sidebar-accent);outline-offset:1px}.issues-form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.issues-form-actions .button{min-width:120px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--icon-button-bg);border:1px solid var(--icon-button-border);color:#f4f4f4;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.icon-button svg{width:18px;height:18px}.icon-button:hover:not(:disabled),.icon-button:focus-visible:not(:disabled){background:var(--icon-button-hover);border-color:var(--sidebar-accent);color:var(--sidebar-accent);outline:none}.icon-button:active:not(:disabled){transform:scale(.95)}.icon-button:disabled{opacity:.4;cursor:not-allowed}.icon-button--ghost{background:transparent;border-color:transparent;color:#d0d0d0}.icon-button--ghost:hover,.icon-button--ghost:focus-visible{background:#ffffff0f;color:#fff;border-color:transparent;outline:none}.color-swatch{width:24px;height:24px;padding:0;border-radius:4px;border:1px solid rgba(255,255,255,.4);cursor:pointer;position:relative;background:transparent}.color-swatch:after{content:"";position:absolute;inset:-4px;border-radius:6px;border:2px solid transparent}.color-swatch.is-active:after{border-color:#ffffffe6}.color-swatch.is-disabled{cursor:not-allowed;opacity:.4}.context-menu{position:fixed;display:flex;flex-direction:column;background:#1a1a1a;border:1px solid #444;border-radius:6px;padding:.25rem;box-shadow:0 6px 18px #00000073;z-index:60;min-width:160px}.context-menu[hidden]{display:none}.context-menu button{width:100%;background:transparent;border:none;text-align:left;padding:.45rem .75rem;border-radius:4px;color:#f0f0f0}.context-menu button:hover,.context-menu button:focus{background:#8ab4f81f;outline:none}.context-menu button:disabled{color:#666;cursor:not-allowed}.button{background:#2d2d2d;color:#fff;border:1px solid #444;border-radius:8px;padding:.5rem .9rem}.button:hover,.button:focus-visible{background:#353535;border-color:var(--sidebar-accent)}.button--ghost{background:transparent;color:#d0d0d0;border-color:transparent}.button--ghost:hover,.button--ghost:focus-visible{background:#ffffff0f}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.modal-overlay[hidden]{display:none}.modal-dialog{width:min(92vw,440px);background:#1a1a1a;border:1px solid #333;border-radius:12px;box-shadow:0 20px 60px #0009}.modal-header{display:flex;align-items:center;gap:.6rem;padding:1rem 1rem .25rem}.modal-title{margin:0;font-size:1.05rem}.modal-icon{width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#8ab4f826;color:#8ab4f8}.modal-body{padding:.25rem 1rem 1rem}.modal-message{margin:.25rem 0 0;color:#e0e0e0}.modal-rect-preview{margin:1rem 0 0;padding:.75rem 1rem;border-radius:8px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.15rem}.modal-rect-name{font-weight:600;font-size:1rem;word-break:break-word}.modal-rect-dimensions{font-size:.85rem;opacity:.9}.modal-rect-position{font-size:.8rem;opacity:.75}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem 1rem}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%) translate(-4px);background:#111;color:#eaeaea;border:1px solid #2f2f2f;padding:6px 10px;font-size:12px;line-height:1;white-space:nowrap;border-radius:6px;z-index:70;box-shadow:0 10px 30px #0000008c,0 2px 8px #00000059;opacity:0;pointer-events:none;transition:opacity .14s ease,transform .16s ease}[data-tooltip]:before{content:"";position:absolute;left:calc(100% + 4px);top:50%;transform:translateY(-50%) translate(-4px) rotate(45deg);width:8px;height:8px;background:#111;border-left:1px solid #2f2f2f;border-bottom:1px solid #2f2f2f;z-index:69;opacity:0;pointer-events:none;transition:opacity .14s ease,transform .16s ease}.sidebar.is-expanded [data-tooltip]:after,.sidebar.is-expanded [data-tooltip]:before,.sidebar.is-hovered [data-tooltip]:after,.sidebar.is-hovered [data-tooltip]:before{display:none}.sidebar:not(.is-expanded):not(.is-hovered) [data-tooltip]:hover:after,.sidebar:not(.is-expanded):not(.is-hovered) [data-tooltip]:focus-visible:after{opacity:1;transform:translateY(-50%) translate(0)}.sidebar:not(.is-expanded):not(.is-hovered) [data-tooltip]:hover:before,.sidebar:not(.is-expanded):not(.is-hovered) [data-tooltip]:focus-visible:before{opacity:1;transform:translateY(-50%) translate(0) rotate(45deg)}.zoom-overlay [data-tooltip]:after,.issues-panel [data-tooltip]:after{left:auto;right:auto;top:calc(100% + 8px);transform:translate(-50%) translateY(-4px)}.zoom-overlay [data-tooltip]:before,.issues-panel [data-tooltip]:before{left:auto;top:calc(100% + 4px);transform:translate(-50%) translateY(-4px) rotate(45deg);border-left:none;border-bottom:none;border-right:1px solid #2f2f2f;border-bottom:1px solid #2f2f2f}.zoom-overlay [data-tooltip]:hover:after,.zoom-overlay [data-tooltip]:focus-visible:after,.issues-panel [data-tooltip]:hover:after,.issues-panel [data-tooltip]:focus-visible:after{opacity:1;transform:translate(-50%) translateY(0)}.zoom-overlay [data-tooltip]:hover:before,.zoom-overlay [data-tooltip]:focus-visible:before,.issues-panel [data-tooltip]:hover:before,.issues-panel [data-tooltip]:focus-visible:before{opacity:1;transform:translate(-50%) translateY(0) rotate(45deg)}.pin-modal{position:fixed;inset:0;z-index:1000;display:flex;justify-content:center;align-items:center;background:#000000d9;backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.pin-modal.is-visible{opacity:1;visibility:visible}.pin-modal__content{position:relative;width:100%;max-width:340px;padding:2rem;background:#1a1a1a;border-radius:16px;border:1px solid rgba(255,255,255,.1);box-shadow:0 24px 64px #00000080;transform:scale(.95) translateY(10px);transition:transform .2s ease}.pin-modal.is-visible .pin-modal__content{transform:scale(1) translateY(0)}.pin-modal__close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:#888;cursor:pointer;transition:background .15s ease,color .15s ease}.pin-modal__close:hover{background:#ffffff1a;color:#fff}.pin-modal__close svg{width:18px;height:18px}.pin-modal__header{text-align:center;margin-bottom:1.5rem}.pin-modal__icon{width:48px;height:48px;margin:0 auto 1rem;padding:12px;background:linear-gradient(135deg,#ffc10726,#ff980026);border-radius:50%;color:#ffc107}.pin-modal__icon svg{width:24px;height:24px}.pin-modal__title{font-size:1.25rem;font-weight:600;color:#f5f5f5;margin:0 0 .5rem}.pin-modal__message{font-size:.875rem;color:#888;margin:0;line-height:1.5}.pin-input-group{display:flex;justify-content:center;gap:.75rem;margin-bottom:1.5rem}.pin-input{width:56px;height:64px;padding:0;font-size:2rem;font-weight:700;font-family:JetBrains Mono,Fira Code,monospace;text-align:center;text-transform:uppercase;color:#f5f5f5;background:#0d0d0d;border:2px solid #333;border-radius:12px;outline:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;caret-color:var(--sidebar-accent, #90caf9);line-height:64px;-webkit-text-security:disc;letter-spacing:0}.pin-input:focus{border-color:var(--sidebar-accent, #90caf9);box-shadow:0 0 0 3px #90caf933;transform:scale(1.05)}.pin-input.has-error{border-color:#ff5252;animation:shake .2s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.pin-error{text-align:center;font-size:.8125rem;color:#ff5252;min-height:1.5em;margin:0;opacity:0;transition:opacity .15s ease}.pin-error.is-visible{opacity:1}.pin-modal__view-only{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1rem;margin-top:1rem;background:transparent;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#aaa;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.pin-modal__view-only:hover{background:#ffffff0d;border-color:#ffffff40;color:#fff}.pin-modal__view-only svg{width:16px;height:16px}.pin-modal__view-only.hidden{display:none}.pin-lock-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;cursor:pointer;transition:background .15s ease,color .15s ease}.pin-lock-icon.hidden{display:none}.pin-lock-icon svg{width:16px;height:16px}.pin-lock-icon.is-locked{color:#ffc107;background:#ffc1071a}.pin-lock-icon.is-locked:hover{background:#ffc10733}.pin-lock-icon.is-unlocked{color:#4caf50;background:#4caf501a}.pin-lock-icon.is-unlocked:hover{background:#4caf5033}.btn-unlock-canvas{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem;background:linear-gradient(135deg,#ffc10726,#ff98001a);border:1px solid rgba(255,193,7,.3);border-radius:8px;color:#ffc107;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease}.btn-unlock-canvas:hover{background:linear-gradient(135deg,#ffc10740,#ff980026);border-color:#ffc10780}.btn-unlock-canvas.hidden{display:none}.btn-unlock-canvas svg{width:16px;height:16px}.canvas-locked-overlay{position:fixed;top:0;left:var(--sidebar-width-collapsed);right:0;bottom:0;z-index:40;display:none;justify-content:center;align-items:center;background:#0009;backdrop-filter:blur(4px);pointer-events:all}body.sidebar-expanded .canvas-locked-overlay{left:var(--sidebar-width-expanded)}.canvas-locked-overlay.is-visible{display:flex}.canvas-locked-overlay__content{text-align:center;padding:2rem;background:#1a1a1af2;border-radius:16px;border:1px solid rgba(255,193,7,.2);box-shadow:0 16px 48px #00000080}.canvas-locked-overlay__icon{width:64px;height:64px;margin:0 auto 1rem;padding:16px;background:#ffc1071a;border-radius:50%;color:#ffc107}.canvas-locked-overlay__icon svg{width:32px;height:32px}.canvas-locked-overlay__title{font-size:1.25rem;font-weight:600;color:#f5f5f5;margin:0 0 .5rem}.canvas-locked-overlay__text{font-size:.875rem;color:#888;margin:0 0 1.5rem}.canvas-locked-overlay__actions{display:flex;flex-direction:column;gap:.75rem;align-items:center}.canvas-locked-overlay__button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-width:180px;padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s ease,transform .15s ease,border-color .15s ease}.canvas-locked-overlay__button--primary{background:#ffc107;color:#000}.canvas-locked-overlay__button--primary:hover{background:#ffca28;transform:translateY(-1px)}.canvas-locked-overlay__button--secondary{background:transparent;color:#888;border:1px solid #444}.canvas-locked-overlay__button--secondary:hover{background:#ffffff0d;border-color:#666;color:#ccc}.canvas-locked-overlay__button svg{width:16px;height:16px}.metadata-overlay-lock{display:flex;align-items:center;justify-content:center;width:20px;height:20px;margin-left:.5rem;border-radius:4px;cursor:pointer;transition:background .15s ease}.metadata-overlay-lock.hidden{display:none}.metadata-overlay-lock svg{width:14px;height:14px}.metadata-overlay-lock.is-locked{color:#ffc107}.metadata-overlay-lock.is-unlocked{color:#4caf50}.metadata-overlay-lock:hover{background:#ffffff1a}@media (max-width: 768px){.sidebar{--sidebar-width-collapsed: 0px;transform:translate(-100%)}.sidebar.is-expanded{transform:translate(0);width:var(--sidebar-width-expanded)}.workspace{margin-left:0}.sidebar-toggle{position:fixed;top:1rem;left:1rem;right:auto;opacity:1;z-index:51}.sidebar.is-expanded .sidebar-toggle{left:calc(var(--sidebar-width-expanded) - 12px)}}
