.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#ffffffd9;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fade-in .15s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.loading-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.loading-logo{width:96px;height:96px}.loading-message{font-size:1rem;font-weight:500;color:#666}:root{--color-yellow: #fde709;--color-green: #58d300;--color-blue: #097afd;--color-red: #fd3a09;--color-cyan: #00bfff;--color-black: #010101;--color-white: #ffffff;--color-gray: #7c7c7c;--color-error: #fd3a09;--color-success: #58d300;--color-warning: #fde709;--color-info: #097afd;--color-highlight: #00bfff;--color-selection: #58d300;--color-selection-locked: #fd3a09}:root{--icon-red: #fd3a09;--icon-yellow: #fde709;--icon-green: #58d300;--icon-blue: #097afd;--icon-black: #000000;--icon-gray: #b3b3b3}*{box-sizing:border-box}html{font-size:13px}html,body,:root{margin:0;height:100dvh;overflow:hidden;background-color:#fff}:root{line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Winky Sans,sans-serif;background-color:#010101;padding:0;height:100dvh}h1,.nav,.button-heading{font-family:Winky Sans,sans-serif}button{padding:.5rem 1rem;border:2px solid #010101;cursor:pointer;font-size:.875rem;transition:background-color .15s ease}button:disabled{opacity:.6;cursor:not-allowed}button{color:#010101;background-color:transparent;font-family:Winky Sans,sans-serif;font-weight:700}button.button-primary{padding:.5rem 1rem;border:2px solid #010101;cursor:pointer;font-size:.875rem;transition:background-color .15s ease}button.button-primary:disabled{opacity:.6;cursor:not-allowed}button.button-primary{background-color:#097afd;color:#fff}button.button-primary:hover:not(:disabled){background-color:#065ecc}button.button-primary:disabled{background-color:#ccc;opacity:1}button.button-secondary{padding:.5rem 1rem;border:2px solid #010101;cursor:pointer;font-size:.875rem;transition:background-color .15s ease}button.button-secondary:disabled{opacity:.6;cursor:not-allowed}button.button-secondary{background-color:transparent}button.button-secondary:hover:not(:disabled){background-color:#097afd14}button.button-danger{padding:.5rem 1rem;border:2px solid #010101;cursor:pointer;font-size:.875rem;transition:background-color .15s ease}button.button-danger:disabled{opacity:.6;cursor:not-allowed}button.button-danger{background-color:#fd3a09;color:#fff}button.button-danger:hover:not(:disabled){background-color:#ca2f07}button.icon-button{border:none;background:transparent;color:#010101;padding:.5rem}button.icon-button:hover:not(:disabled){background:transparent;transform:scale(1.15)}button.icon-button.button-primary,button.icon-button.button-secondary,button.icon-button.button-danger{border:none;background:transparent;color:#010101}button.icon-button.button-primary:hover:not(:disabled),button.icon-button.button-secondary:hover:not(:disabled),button.icon-button.button-danger:hover:not(:disabled){background:transparent;transform:scale(1.15)}#app{display:grid;grid-template-columns:1fr;grid-template-rows:4.5rem 4.5rem auto;grid-template-areas:"navbar" "object-action-bar" "canvas-area";justify-content:center;min-height:100vh;color:#010101}#app>*{background-color:#fff}#app .action-separator{width:2px;height:3.5rem;background-color:#010101;margin:0 .5rem;border:none;flex-shrink:0}#app #navbar{grid-area:navbar;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 1rem}#app #navbar .navbar-left{display:flex;flex-direction:column;justify-content:center}#app #navbar .navbar-center{display:flex;justify-content:center}#app #navbar .navbar-right{display:flex;justify-content:flex-end;align-items:center;gap:.25rem}#app #navbar h1{font-size:1.5rem;font-weight:700;margin:0}#app #navbar .mode-toggle{display:flex;gap:.25rem;padding:.25rem;border:2px solid #010101}#app #navbar .mode-toggle__btn{display:flex;align-items:center;gap:.375rem;padding:.25rem .75rem;font-size:.875rem;transition:all .15s ease;position:relative;border-color:transparent}#app #navbar .mode-toggle__btn.button-primary{background:transparent;color:#010101}#app #navbar .mode-toggle__btn.button-primary:after{content:"";position:absolute;bottom:-.25rem;left:50%;transform:translate(-50%);width:60%;height:3px;background:#010101}#app #navbar .mode-toggle__btn.button-secondary{opacity:.7}#app #navbar .mode-toggle__btn.button-secondary:hover{opacity:1}#app #navbar .mode-toggle__label{font-weight:500}#app #navbar .user-menu-container{position:relative}#app #navbar .user-menu-container .user-button{display:flex;align-items:center;gap:.5rem;border:none}#app #navbar .user-menu-container .user-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#app #navbar .user-menu-container .user-dropdown{position:absolute;top:100%;right:0;margin-top:.5rem;background:#fff;border:2px solid #010101;box-shadow:0 4px 6px -1px #0000001a;min-width:12.5rem;z-index:100}#app #navbar .user-menu-container .user-dropdown .user-email{padding:.75rem 1rem;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:.875rem}#app #navbar .user-menu-container .user-dropdown .dropdown-item{width:100%;padding:.75rem 1rem;text-align:left;background:none;border:none;cursor:pointer;font-size:.875rem;display:flex;gap:.5rem}#app #navbar .user-menu-container .user-dropdown .dropdown-item:hover{transform:none;background-color:#097afd14}#app #navbar.navbar--preview .preview-badge{display:inline-block;margin-left:.75rem;padding:.125rem .5rem;font-size:.75rem;font-weight:600;background:#097afd;color:#fff;border-radius:3px;vertical-align:middle;letter-spacing:.05em;text-transform:uppercase}#app #navbar.navbar--preview .exit-preview-btn{display:flex;align-items:center;gap:.375rem;font-size:.875rem}#app .object-action-bar{grid-area:object-action-bar;display:flex;align-items:center;padding:0 1rem;border-top:2px solid #010101;border-bottom:2px solid #010101;pointer-events:none}#app .object-action-bar>*{pointer-events:auto}#app .object-action-bar #action-buttons{display:flex}#app .object-action-bar .object-details{flex-direction:row}#app .object-action-bar .object-details .detail-group{width:100%}#app .object-action-bar .object-details .select-group{min-width:8rem}#app #canvas-area{grid-area:canvas-area}#app .canvas-area{flex:1;position:relative;touch-action:none}#app .canvas-area .konvajs-content{touch-action:none}#app .canvas-area.draw-mode{cursor:crosshair}#app .form-row{display:flex}#app .icon{display:block}#app .playtest-banner{position:fixed;bottom:0;left:0;right:0;height:2.5rem;background:#58d300;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;z-index:1000;box-shadow:0 -2px 8px #00000026}#app .script-buttons-panel{position:fixed;top:4.375rem;right:1rem;display:flex;flex-direction:column;gap:.5rem;z-index:999;max-height:calc(100vh - 8.75rem);overflow-y:auto;padding:.25rem}#app .script-buttons-panel .script-button{background:#097afd;color:#fff;border:2px solid #010101;padding:.5rem 1rem;font-size:.875rem;font-weight:600;cursor:pointer;white-space:nowrap;box-shadow:0 4px 6px #0003;transition:.15s ease}#app .script-buttons-panel .script-button:hover{transform:translateY(-1px);box-shadow:0 10px 25px #0000004d}#app .script-buttons-panel .script-button:active{transform:translateY(0);box-shadow:0 1px 3px #0000001a}.dev-mode-overlay{position:fixed;bottom:10px;left:10px;background:#000c;color:#0f0;padding:.5rem 1rem;border-radius:.25rem;font-family:monospace;font-size:.75rem;z-index:9999;pointer-events:none}.dev-mode-overlay .dev-canvas-coords{color:#ff0;margin-bottom:.25rem}.dev-mode-overlay .dev-screen-coords{color:#0ff}.dev-mode-overlay .dev-zoom{margin-top:.25rem}.dev-mode-overlay .dev-toggle-hint{color:#666;margin-top:.25rem}@media(pointer:coarse){.context-menu .context-menu-item{min-height:44px}}
