*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0d1117;--bg-elevated:#161b22;--border:#30363d;--text:#e6edf3;--text-dim:#8b949e;--accent:#58a6ff;--accent-strong:#1f6feb;--error:#f85149;--warn:#d29922}html,body,#app{width:100%;height:100%}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden}#app{flex-direction:column;display:flex}.toolbar{background:var(--bg-elevated);border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;padding:.6rem 1rem;display:flex}.brand{letter-spacing:.01em;align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;display:flex}.brand-logo{flex:none;width:28px;height:28px;display:block}.brand-text>span{color:var(--accent)}.brand .beta-badge{border:1px solid var(--warn);color:var(--warn);background:color-mix(in srgb, var(--warn) 14%, transparent);letter-spacing:.06em;text-transform:uppercase;vertical-align:middle;cursor:help;border-radius:999px;margin-left:0;padding:.05rem .4rem;font-size:.62rem;font-weight:700;display:inline-block}.actions{gap:.5rem;display:flex}.action-label,.mode-toggle,.btn.menu-btn{display:none}.mode-toggle{border:1px solid var(--border);background:var(--bg);border-radius:6px;flex:none;overflow:hidden}.mode-btn{font:inherit;color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:.4rem .8rem;font-size:.8rem}.mode-btn[aria-selected=true]{background:var(--accent-strong);color:#fff;font-weight:600}.select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:.4rem .6rem;font-size:.85rem}.select:hover{border-color:var(--accent)}.btn{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:.4rem .9rem;font-size:.85rem;transition:background .15s,border-color .15s}.btn:hover{border-color:var(--accent)}.btn-primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff;font-weight:600}.btn-primary:hover{background:var(--accent);border-color:var(--accent)}.btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.btn:disabled{opacity:.5;cursor:default}.btn-icon{justify-content:center;align-items:center;width:2.1rem;height:2.1rem;padding:.4rem;display:inline-flex}.btn-icon svg{display:block}.split{flex:auto;grid-template-columns:1fr 6px 1fr;min-height:0;display:grid}.splitter{cursor:col-resize;background:var(--border);touch-action:none;position:relative}.splitter:after{content:"";position:absolute;inset:0 -3px}.splitter:hover,.splitter.is-dragging{background:var(--accent)}.split.is-resizing iframe,.split.is-resizing .pane-editor{pointer-events:none}.split.is-resizing{cursor:col-resize;user-select:none}.pane{min-width:0;min-height:0;position:relative}.pane-editor{border-right:1px solid var(--border);flex-direction:column;display:flex}.file-tabs{background:var(--bg-elevated);border-bottom:1px solid var(--border);flex:none;align-items:stretch;gap:1px;height:2.1rem;display:flex;overflow-x:auto}.file-tab{color:var(--text-dim);border-right:1px solid var(--border);cursor:pointer;white-space:nowrap;user-select:none;background:0 0;align-items:center;gap:.3rem;padding:0 .5rem;font-size:.78rem;display:flex}.file-tab.is-active{color:var(--text);background:var(--bg)}.file-tab-dot{border:1px solid var(--text-dim);cursor:pointer;background:0 0;border-radius:50%;flex:none;width:.55rem;height:.55rem;padding:0}.file-tab.is-entry .file-tab-dot{background:var(--accent);border-color:var(--accent)}.file-tab-label{cursor:pointer}.file-tab-rename{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--accent);border-radius:3px;width:8rem;padding:0 .2rem}.file-tab-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0 .15rem;font-size:.95rem;line-height:1}.file-tab-close:hover{color:#ff6b6b}.file-tab-add{color:var(--text-dim);cursor:pointer;background:0 0;border:none;flex:none;padding:0 .6rem;font-size:1rem}.file-tab-add:hover{color:var(--text)}#editor{flex:auto;min-height:0;position:relative}.pane-preview{flex-direction:column;display:flex}.preview-host{background:#000;flex:auto;min-height:0;position:relative}.preview-host iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.preview-overlay{z-index:2;pointer-events:none;align-items:center;gap:.4rem;display:flex;position:absolute;top:.5rem;right:.5rem}.preview-overlay>*{pointer-events:auto}.fps-counter{font-variant-numeric:tabular-nums;color:#e6edf3;border:1px solid var(--border);background:#010409a6;border-radius:5px;padding:.15rem .4rem;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:.72rem}.overlay-btn{color:#e6edf3;border:1px solid var(--border);cursor:pointer;background:#010409a6;border-radius:5px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}.overlay-btn:hover{background:#010409d9}.preview-loader{z-index:3;backdrop-filter:blur(2px);background:#010409d1;flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex;position:absolute;inset:0}.preview-loader[hidden]{display:none}.loader-spinner{justify-content:center;align-items:center;width:92px;height:92px;display:flex;position:relative}.loader-logo{width:50px;height:50px;animation:1.6s ease-in-out infinite loader-pulse;display:block}.loader-ring{transform-origin:50%;width:100%;height:100%;animation:1s linear infinite loader-spin;position:absolute;inset:0}.loader-ring-track{fill:none;stroke:var(--border);stroke-width:4px}.loader-ring-arc{fill:none;stroke:var(--accent);stroke-width:4px;stroke-linecap:round;stroke-dasharray:70 220}.loader-text{color:var(--text-dim);letter-spacing:.04em;font-size:.8rem}@keyframes loader-spin{to{transform:rotate(360deg)}}@keyframes loader-pulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}@media (prefers-reduced-motion:reduce){.loader-ring,.loader-logo{animation:none}}.console{border-top:1px solid var(--border);white-space:pre-wrap;word-break:break-word;background:#010409;flex:none;height:9rem;padding:.5rem .75rem;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:.78rem;line-height:1.5;overflow-y:auto}.console .line{padding:.05rem 0}.console .level-error{color:var(--error)}.console .clickable{cursor:pointer;text-underline-offset:2px;text-decoration:underline dotted}.console .clickable:hover{text-decoration:underline}.console .level-warn{color:var(--warn)}.console .level-info,.console .level-log{color:var(--text-dim)}.console .level-system{color:var(--accent)}.save-group{display:flex}.save-group .btn{border-radius:0}.save-group .btn:first-child{border-top-left-radius:6px;border-bottom-left-radius:6px}.btn-caret{border-left:none;border-top-right-radius:6px;border-bottom-right-radius:6px;padding-left:.55rem;padding-right:.55rem}.dialog{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);border-radius:10px;width:min(28rem,92vw);margin:auto;padding:0}.dialog::backdrop{background:#01040999}.dialog-form{flex-direction:column;gap:.9rem;padding:1.25rem;display:flex}.dialog-form h2{font-size:1rem;font-weight:600}.field{color:var(--text-dim);flex-direction:column;gap:.3rem;font-size:.8rem;display:flex}.field input,.field textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);resize:vertical;border-radius:6px;padding:.45rem .6rem;font-size:.85rem}.field input:focus,.field textarea:focus{border-color:var(--accent);outline:none}.dialog-actions{justify-content:flex-end;gap:.5rem;margin-top:.25rem;display:flex}.toast{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);z-index:10;border-radius:8px;padding:.6rem 1rem;font-size:.85rem;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #01040980}.toast.error{border-color:var(--error);color:var(--error)}#openFullBtn{align-items:center;text-decoration:none;display:none}body.embed #examples,body.embed #versionSelect,body.embed #downloadBtn,body.embed #newBtn,body.embed .preview-overlay,body.embed .save-group{display:none}body.embed #openFullBtn{display:inline-flex}body.embed .toolbar{padding:.4rem .75rem}body.embed-runner .pane-editor,body.embed-runner .splitter{display:none}body.embed-runner .split{grid-template-columns:1fr}body.embed-runner .mode-toggle{display:none}@media (width<=768px){.toolbar{gap:.5rem;padding:.5rem .75rem;position:relative}.brand-text,.brand .beta-badge{display:none}.mode-toggle,.btn.menu-btn{display:inline-flex}.actions{z-index:20;background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;flex-direction:column;align-items:stretch;min-width:13rem;padding:.5rem;position:absolute;top:calc(100% + .4rem);right:.5rem;box-shadow:0 12px 28px #0104098c}body:not(.menu-open) .actions{display:none}.actions .action-label{display:inline}.actions .btn-icon{justify-content:flex-start;gap:.6rem;width:100%;height:auto;padding:.55rem .65rem}.actions .select,.actions .save-group{width:100%}.actions .save-group .btn:first-child{flex:auto}.actions .btn-caret{flex:none;justify-content:center;width:auto}.split{grid-template-rows:1fr;grid-template-columns:1fr!important}.splitter{display:none}.pane-editor,.pane-preview{grid-area:1/1}.pane-editor{border-right:none}body.mode-scene .pane-editor,body.mode-code .pane-preview{visibility:hidden}}
