:root{--bg-base: var(--tlb-surface-sunk, oklch(.21 .065 295));--bg-surface: var(--tlb-surface, oklch(.25 .075 300));--bg-hover: var(--tlb-surface-raised, oklch(.3 .085 303));--bg-sunk: oklch(.21 .065 295);--bg-secondary: oklch(.27 .08 302);--bg-darker: oklch(.21 .065 295);--accent: var(--tlb-sun, oklch(.85 .15 80));--accent-deep: var(--tlb-sun-deep, oklch(.62 .14 58));--on-accent: var(--tlb-on-sun, oklch(.26 .05 45));--on-color: oklch(.2 .05 290);--accent-wash: oklch(.85 .15 80 / .16);--success: oklch(.82 .14 135);--warning: oklch(.85 .15 80);--danger: oklch(.76 .15 25);--rose: oklch(.8 .1 15);--ice: oklch(.85 .08 230);--text-primary: oklch(.97 .025 85);--text: oklch(.97 .025 85);--text-secondary: oklch(.88 .03 80);--text-dim: oklch(.88 .03 80);--text-muted: oklch(.78 .035 80);--border: oklch(.92 .05 80 / .18);--border-strong: oklch(.92 .05 80 / .34);--font-sans: "Figtree", ui-rounded, system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Bagel Fat One", ui-rounded, "Arial Rounded MT Bold", "Trebuchet MS", system-ui, sans-serif;--font-mono: ui-monospace, "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;--toolbar-h: 60px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}button,input,textarea,select{font-family:inherit}body{font-family:var(--font-sans);background:var(--bg-base);color:var(--text-primary);overflow:hidden;font-size:14px;line-height:1.4;-webkit-font-smoothing:antialiased}.editor-container{display:grid;grid-template-rows:var(--toolbar-h) minmax(0,1fr);height:100vh}.toolbar{display:flex;justify-content:space-between;align-items:center;background:var(--bg-surface);padding:0 var(--space-3);border-bottom:1px solid var(--border)}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:var(--space-2)}.toolbar-sep{width:1px;height:22px;background:var(--border)}.toolbar-icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;background:none;border:none;border-radius:12px;color:var(--text-secondary);font-size:20px;cursor:pointer;padding:4px 8px;line-height:1;transition:background-color .16s ease,color .16s ease}.toolbar-icon-btn:hover:not(:disabled){color:var(--text-primary);background:var(--bg-hover)}.toolbar-icon-btn:disabled{opacity:.4;cursor:default}.level-name-editor{display:flex;align-items:center}#level-name-display{font-size:16px;font-weight:700;color:var(--text-primary);cursor:pointer;display:inline-block;padding:8px 10px;border-radius:10px;transition:background .15s}#level-name-display:hover{background:var(--bg-hover)}#level-name-input{font-size:16px;font-weight:700;font-family:var(--font-sans);padding:7px 10px;border:2px solid var(--accent);border-radius:10px;background:var(--bg-base);color:var(--text-primary);outline:none}.auto-save-indicator{font-size:12px;color:var(--text-muted);transition:color .3s}.auto-save-indicator.saving{color:var(--warning)}.btn{min-height:40px;padding:8px 16px;border:none;border-radius:12px;background:transparent;color:var(--text-secondary);font-family:var(--font-sans);font-size:14px;font-weight:600;cursor:pointer;transition:color .15s,background .15s}.btn:hover{color:var(--text-primary);background:var(--bg-hover)}.btn-accent{min-height:44px;padding:8px 26px;border-radius:14px;background:var(--accent);color:var(--on-accent);font-family:var(--font-display);font-size:18px;font-weight:400;margin-bottom:4px;box-shadow:0 4px 0 var(--accent-deep),0 10px 18px #08051c66;transition:transform .16s var(--tlb-ease, ease),box-shadow .16s var(--tlb-ease, ease)}.btn-accent:hover{background:var(--accent);color:var(--on-accent);transform:translateY(-2px);box-shadow:0 6px 0 var(--accent-deep),0 14px 22px #08051c66}.btn-accent:active{transform:translateY(2px);box-shadow:0 2px 0 var(--accent-deep),0 4px 8px #08051c66}.btn-primary{background:var(--accent);color:var(--on-accent);font-weight:700}.btn-primary:hover{background:oklch(.89 .14 82);color:var(--on-accent)}.btn-success{background:var(--success);color:var(--on-color);font-weight:700}.btn-success:hover{background:#a9e686;color:var(--on-color)}.btn-danger{background:var(--danger);color:var(--on-color);font-weight:700}.btn-danger:hover:not(:disabled){background:oklch(.8 .15 25);color:var(--on-color)}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-warning{background:var(--rose);color:var(--on-color);font-weight:700}.btn-warning:hover{background:oklch(.85 .1 15);color:var(--on-color)}.btn-outline{border:1px solid var(--border-strong)}.btn-small{min-height:36px;padding:4px 12px;font-size:13px}.agent-levels-panel{flex:0 0 auto;max-height:25%;min-height:104px;padding:var(--space-3);overflow:hidden;border-bottom:1px solid var(--border);background:var(--bg-sunk)}.agent-levels-header{align-items:flex-start}.agent-levels-header h3{margin-bottom:2px;color:var(--text-primary)}.agent-level-count{display:block;color:var(--text-muted);font-family:var(--font-sans);font-size:12px;line-height:1.35}.agent-refresh-btn{width:36px;height:36px;padding:0;border:1px solid var(--border-strong);border-radius:10px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:18px;transition:background .16s cubic-bezier(.16,1,.3,1),color .16s cubic-bezier(.16,1,.3,1),border-color .16s cubic-bezier(.16,1,.3,1)}.agent-refresh-btn:hover,.agent-refresh-btn:focus-visible{border-color:var(--accent);background:var(--bg-hover);color:var(--text-primary)}.agent-levels-list{display:flex;flex-direction:column;gap:3px;max-height:calc(100% - 35px);overflow-y:auto}.agent-level-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:44px;padding:7px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text-secondary);cursor:pointer;text-align:left;transition:background .16s cubic-bezier(.16,1,.3,1),border-color .16s cubic-bezier(.16,1,.3,1)}.agent-level-item:hover,.agent-level-item:focus-visible{border-color:var(--border-strong);background:var(--bg-hover)}.agent-level-item.active{border-color:var(--accent);background:var(--accent-wash)}.agent-level-marker{display:inline-flex;align-items:center;justify-content:center;width:28px;height:24px;border:1px solid var(--border-strong);border-radius:8px;color:var(--rose);font-family:var(--font-sans);font-size:11px;font-weight:800}.agent-level-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.agent-level-name,.agent-level-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-level-name{color:var(--text-primary);font-size:13px;font-weight:700}.agent-level-meta{color:var(--text-muted);font-size:12px}.agent-level-open{color:var(--accent);font-family:var(--font-sans);font-size:12px;font-weight:700}.agent-level-loading,.agent-level-empty{padding:8px 4px;color:var(--text-muted);font-size:12px;line-height:1.4}.my-levels-panel{padding:var(--space-3);border-bottom:1px solid var(--border);flex:0 0 auto;max-height:25%;display:flex;flex-direction:column;overflow:hidden}.my-levels-list{overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:2px;padding:2px 0}.my-level-item{display:flex;align-items:center;gap:6px;min-height:36px;padding:5px 8px;border-radius:10px;cursor:pointer;font-size:13px;color:var(--text-secondary);transition:background .1s}.my-level-item:hover{background:var(--bg-hover);color:var(--text-primary)}.my-level-item.active{background:var(--accent-wash);color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);font-weight:700}.my-level-item .level-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.my-level-item .level-meta{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);flex-shrink:0}.my-level-item .level-delete{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:16px;padding:4px 6px;opacity:0;transition:opacity .1s}.my-level-item:hover .level-delete,.my-level-item .level-delete:focus-visible{opacity:1}.my-level-item .level-delete:hover{color:var(--danger)}.my-level-create{display:flex;align-items:center;gap:6px;min-height:36px;padding:6px 8px;border-radius:10px;cursor:pointer;font-size:13px;color:var(--text-secondary);border:1px dashed var(--border-strong);transition:all .15s}.my-level-create:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-wash)}.editor-minimap{position:absolute;bottom:10px;right:10px;border:1px solid var(--border-strong);border-radius:10px;cursor:pointer;box-shadow:0 6px 16px #08051c73;transition:opacity .2s ease}.editor-minimap:hover{border-color:var(--accent)}.grid-container{flex:1;display:flex;justify-content:center;align-items:center;padding:var(--space-2);overflow:hidden}#editor-grid{position:relative;width:100%;height:100%;min-height:300px;display:flex;align-items:center;justify-content:center;background:transparent}.isometric-canvas{display:block;position:relative;border-radius:14px;cursor:crosshair}.ai-authoring{border-bottom:1px solid var(--border);padding-bottom:var(--space-4)}.ai-authoring summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);color:var(--text-primary);cursor:pointer;min-height:40px;font-family:var(--font-sans);font-size:14px;font-weight:700;list-style:none}.ai-authoring summary::-webkit-details-marker{display:none}.ai-authoring summary:before{color:var(--text-muted);content:"›";font-size:16px;line-height:0;transform:rotate(0);transition:transform .18s cubic-bezier(.16,1,.3,1)}.ai-authoring[open] summary:before{transform:rotate(90deg)}.ai-format-badge{margin-left:auto;border:1px solid var(--border-strong);border-radius:8px;color:var(--text-secondary);font-size:12px;font-weight:600;padding:2px 8px}.ai-authoring-help{color:var(--text-secondary);font-size:13px;line-height:1.45;margin:var(--space-3) 0}.ai-source-label{color:var(--text-secondary);display:block;font-size:13px;font-weight:600;margin-bottom:var(--space-1)}#ai-level-source{background:var(--bg-sunk);border:1px solid var(--border-strong);border-radius:10px;color:var(--text-primary);font-family:var(--font-mono);font-size:12px;line-height:1.45;min-height:150px;padding:var(--space-2);resize:vertical;width:100%}#ai-level-source:focus{border-color:var(--accent)}.ai-authoring-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.ai-authoring-actions .btn{flex:1;padding-inline:var(--space-2)}.ai-level-status{color:var(--text-secondary);font-size:13px;line-height:1.45;margin-top:var(--space-2);white-space:pre-wrap}.ai-level-status[data-state=success]{color:var(--success)}.ai-level-status[data-state=warning]{color:var(--warning)}.ai-level-status[data-state=error]{color:var(--danger)}.ai-authoring-links{display:flex;gap:var(--space-3);margin-top:var(--space-2)}.ai-authoring-links a{color:var(--text-secondary);font-size:13px;text-underline-offset:3px}.ai-authoring-links a:hover,.ai-authoring-links a:focus-visible{color:var(--accent)}.config-section p{color:var(--text-muted);font-size:13px}.config-group{margin:var(--space-3) 0}.config-group label{display:block;font-weight:500;color:var(--text-primary);margin-bottom:var(--space-2);font-size:13px}.config-group .config-buttons{display:flex;gap:4px;flex-wrap:wrap}.config-buttons .config-btn{flex:1;min-width:40px;min-height:36px;padding:6px 10px;border:1px solid var(--border);border-radius:10px;background:var(--bg-hover);color:var(--text-primary);cursor:pointer;font-family:var(--font-sans);font-size:13px;font-weight:600;text-align:center}.config-buttons .config-btn:hover{border-color:var(--accent);color:var(--accent)}.config-buttons .config-btn.selected{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:800}.config-buttons.tile-variants{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:6px}.config-btn.tile-variant{width:48px;height:48px;padding:4px;border:2px solid var(--border-strong);border-radius:10px;background:var(--bg-secondary);cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;position:relative}.config-btn.tile-variant:hover{border-color:var(--accent);background:var(--bg-hover);transform:scale(1.05)}.config-btn.tile-variant.selected{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 3px oklch(.85 .15 80 / .4)}.config-btn.tile-variant img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.config-btn.tile-variant .variant-label{position:absolute;bottom:2px;left:50%;transform:translate(-50%);font-size:10px;font-weight:700;color:var(--text-primary);background:#16102fd9;padding:1px 4px;border-radius:4px;white-space:nowrap}.config-btn.tile-variant.selected .variant-label{color:var(--text-primary)}.config-btn.tile-variant .fallback-emoji{font-size:24px}#validation-status{font-family:var(--font-sans);font-size:13px;color:var(--text-secondary)}.validation-status.valid{color:var(--success)}.validation-status.invalid{color:var(--warning)}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#08051cb8;display:none;align-items:center;justify-content:center;z-index:10000}.modal.active{display:flex}.modal-content{background:var(--bg-surface);padding:var(--space-5);border:1px solid var(--border-strong);border-radius:20px;box-shadow:0 24px 60px #05031899;max-width:90%;max-height:90%;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border)}.modal-header h3{font-family:var(--font-display);font-size:22px;font-weight:400;color:var(--text-primary)}.btn-close{width:40px;height:40px;border:none;border-radius:12px;background:transparent;color:var(--text-secondary);font-size:22px;cursor:pointer}.btn-close:hover{color:var(--text-primary);background:var(--bg-hover)}.modal-buttons{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.load-modal-enhanced{max-width:600px;width:100%}.load-options{display:flex;flex-direction:column;gap:var(--space-4)}.load-section{padding:var(--space-3) 0}.load-section:not(:last-child){border-bottom:1px solid var(--border)}.load-section h4{font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:var(--space-2)}.load-section .help-text{font-size:13px;color:var(--text-secondary);margin-bottom:var(--space-3)}.levels-filter{display:flex;gap:var(--space-2);margin-bottom:var(--space-3)}.search-input{flex:1;min-height:40px;padding:6px 12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--bg-sunk);color:var(--text-primary);font-family:var(--font-sans);font-size:14px}.search-input:focus{border-color:var(--accent)}.levels-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2);max-height:250px;overflow-y:auto}.level-card{padding:var(--space-3);background:var(--bg-sunk);border:1px solid var(--border);border-radius:12px;cursor:pointer}.level-card:hover{border-color:var(--accent)}.level-card h4{font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:var(--space-1)}.level-card .level-meta{font-size:12px;color:var(--text-muted)}.level-card-actions{display:flex;gap:var(--space-1);margin-top:var(--space-2)}.save-modal-enhanced{max-width:450px;width:100%}.save-form{display:flex;flex-direction:column;gap:var(--space-3)}.form-group{display:flex;flex-direction:column;gap:var(--space-1)}.form-group label{font-size:13px;font-weight:600;color:var(--text-secondary)}.form-group input,.form-group textarea{min-height:40px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--bg-sunk);color:var(--text-primary);font-family:var(--font-sans);font-size:14px}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent)}.save-preview{padding:var(--space-3);background:var(--bg-sunk);margin:var(--space-3) 0;border-radius:12px}.pack-info{display:flex;align-items:center;gap:var(--space-3)}.pack-icon{font-size:24px}.pack-details h4{font-size:14px;font-weight:600;color:var(--text-primary)}.pack-meta{font-size:13px;color:var(--text-secondary)}.save-thumbnail-container{margin-top:var(--space-3)}.save-thumbnail-container canvas{border-radius:4px;display:block}.save-info{padding:var(--space-3);background:var(--bg-sunk);border-radius:12px;display:flex;gap:var(--space-2);font-size:13px;color:var(--text-secondary)}.alert-modal-content{max-width:400px;width:100%}.modal-body{padding:var(--space-3) 0;color:var(--text-secondary)}.modal-body p{margin-bottom:var(--space-2)}.modal-footer{display:flex;gap:var(--space-2);justify-content:flex-end}.warning-message{display:flex;gap:var(--space-3);padding:var(--space-3);background:oklch(.76 .15 25 / .14);border:1px solid var(--danger);border-radius:12px;color:var(--text-primary)}.warning-icon{font-size:24px}.tile-info{line-height:1.6}.tile-info .info-mode{font-family:var(--font-sans);font-size:13px;font-weight:700;margin-bottom:var(--space-2)}.tile-info .info-mode.create{color:var(--accent)}.tile-info .info-mode.edit{color:var(--rose)}.tile-info .info-mode.selected{color:var(--ice)}.tile-info .info-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-1)}.tile-info .info-meta{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);margin-bottom:var(--space-2)}.tile-info .info-desc{font-size:13px;color:var(--text-secondary)}.validation-result{line-height:1.6}.validation-result .validation-status-text{font-family:var(--font-sans);font-size:14px;font-weight:700;margin-bottom:var(--space-2)}.validation-result .validation-status-text.valid{color:var(--success)}.validation-result .validation-status-text.invalid{color:var(--danger)}.validation-result .validation-list{list-style:none;font-size:13px;color:var(--text-secondary)}.validation-result .validation-item{margin-bottom:var(--space-1);padding-left:var(--space-3);position:relative}.validation-result .validation-item:before{content:"•";position:absolute;left:0;color:var(--danger)}#validation-status{padding:0;background:transparent;border:none}#area-fill-indicator{position:fixed;bottom:56px;left:50%;transform:translate(-50%);z-index:999;background:var(--accent);color:var(--on-accent);padding:8px 18px;border-radius:999px;font-family:var(--font-sans);font-size:13px;font-weight:700;white-space:nowrap;pointer-events:none;box-shadow:0 6px 16px #08051c73}.validation-dot{width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 3px #f6e2c029;display:inline-block;background:var(--success);transition:background .3s;flex-shrink:0}.validation-dot.has-errors{background:var(--danger)}.validation-dot.has-warnings{background:var(--warning)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#f6e2c04d;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#f6e2c080}:focus-visible{outline:3px solid var(--text-primary)!important;outline-offset:2px!important;box-shadow:0 0 0 6px oklch(.85 .15 80 / .5)}.btn-secondary{border:1px solid var(--border-strong)}#publish-level{border:1px solid var(--border-strong);color:var(--text-primary)}.btn:hover:not(.btn-accent):not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-warning){color:var(--text-primary);background:var(--bg-hover)}.modal-buttons .btn,.modal-footer .btn{min-width:96px}::selection{background:oklch(.85 .15 80 / .4);color:var(--text-primary)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.btn-accent:hover,.btn-accent:active,.config-btn.tile-variant:hover{transform:none}}.btn-small:not(.btn){border:1px solid var(--border-strong);border-radius:10px;background:var(--bg-hover);color:var(--text-primary);font-weight:600;cursor:pointer}.btn-small:not(.btn):hover{border-color:var(--accent)}.btn-small.btn-danger:not(.btn){background:var(--danger);border-color:var(--danger);color:var(--on-color);font-weight:700}::placeholder{color:var(--text-muted);opacity:1}#resize-grid,#create-new-level-btn,#add-stage{min-height:40px}.agent-refresh-btn{width:40px;height:40px}.ai-authoring-links a{display:inline-flex;align-items:center;min-height:32px}:root{--chrome: oklch(.25 .075 300 / .95);--chrome-shadow: 0 10px 28px oklch(.14 .05 285 / .5);--chrome-radius: 16px;--float: 12px;--ease-out: cubic-bezier(.22, 1, .36, 1)}.toolbar{position:relative;z-index:40}.main-content{position:relative;height:100%;min-height:0;overflow:hidden}.main-editor{position:absolute;inset:0;display:flex;background:var(--bg-base)}.grid-container{flex:1;display:flex;min-width:0;min-height:0;padding:0}#editor-grid{position:relative;width:100%;height:100%;min-height:0;display:flex;align-items:center;justify-content:center}.isometric-canvas,.viewport3d-canvas{border-radius:0}.tool-strip,.stage-rail,.view-cluster,.brush-bar,.popover,.hover-label{background:var(--chrome);border:1px solid var(--border-strong);box-shadow:var(--chrome-shadow)}.menu-anchor{position:relative}.menu-btn{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:6px 12px;border:none;border-radius:10px;background:none;color:var(--text-secondary);font-size:14px;font-weight:600;cursor:pointer;transition:background-color .16s ease,color .16s ease}.menu-btn:hover,.menu-btn[aria-expanded=true]{background:var(--bg-hover);color:var(--text-primary)}.caret{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor}.popover{position:absolute;top:calc(100% + 8px);left:0;z-index:100;min-width:260px;padding:6px;border-radius:14px;animation:pop-in .14s var(--ease-out)}.popover[hidden]{display:none}.popover-right{left:auto;right:0}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.popover-title{padding:6px 10px 4px;color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.menu-item{display:flex;align-items:center;width:100%;min-height:40px;padding:8px 10px;border:none;border-radius:10px;background:none;color:var(--text-primary);font-size:14px;font-weight:600;text-align:left;cursor:pointer}.menu-item:hover{background:var(--bg-hover)}.menu-sep{height:1px;margin:6px 4px;background:var(--border)}.menu-size{display:flex;align-items:center;gap:6px;padding:4px 6px}.menu-size[hidden]{display:none}.menu-size-readout{display:flex;align-items:center;gap:8px;padding:6px 10px}.menu-size-readout #saved-size-readout{color:var(--text-primary);font-size:13px;font-variant-numeric:tabular-nums}.menu-size-label{flex:1;color:var(--text-secondary);font-size:13px;font-weight:600;white-space:nowrap}.menu-size input{width:56px;min-height:36px;border:1px solid var(--border-strong);border-radius:10px;background:var(--bg-sunk);color:var(--text-primary);font-family:var(--font-mono);font-size:14px;text-align:center}.menu-size input:focus{border-color:var(--accent)}#validation-pop{min-width:280px;max-width:360px;padding:8px 10px 10px}.tool-strip{position:absolute;left:var(--float);top:var(--float);z-index:20;display:flex;flex-direction:column;gap:4px;width:68px;padding:8px 6px;border-radius:var(--chrome-radius)}.tile-group{position:relative}.tool-strip .tile-group:first-of-type .tile-group-header{display:none}.tool-strip .tile-group:first-of-type .tile-grid-2col{display:flex;flex-direction:column;gap:2px;padding:0}.tool-strip .tile-group.fold{padding-top:6px;border-top:1px solid var(--border)}.tile-item-2col{position:relative;display:flex;flex-direction:column;align-items:center;padding:3px;border-radius:12px;cursor:pointer;transition:background-color .12s ease}.tile-item-2col:hover{background:var(--bg-hover)}.tile{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:none;border-radius:10px;background:transparent;cursor:pointer}.tile img{width:100%;height:100%;object-fit:contain}.tile canvas{display:block}.tile-label{display:none;margin-top:2px;color:var(--text-secondary);font-size:11px;font-weight:600;text-align:center}.tile.selected{background:var(--accent-wash)}.tile-item-2col:has(.tile.selected){background:var(--accent-wash);outline:2px solid var(--accent);outline-offset:-2px}.tile-item-2col:has(.tile.selected) .tile-label{color:var(--accent);font-weight:800}.tile-group-header{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px 4px;border-radius:12px;color:var(--text-secondary);cursor:pointer;user-select:none;transition:background-color .12s ease,color .12s ease}.tile-group-header:hover,.tile-group.open .tile-group-header{background:var(--bg-hover);color:var(--text-primary)}.tile-group-header:after{content:"";position:absolute;right:3px;top:50%;width:5px;height:5px;margin-top:-3px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);opacity:.6}.group-icon{width:34px;height:34px;object-fit:contain}.group-name{font-size:10px;font-weight:700;letter-spacing:.02em}.tile-group.has-brush .group-name{color:var(--accent)}.tile-group.has-brush .tile-group-header:before{content:"";position:absolute;top:5px;right:8px;width:8px;height:8px;border-radius:50%;background:var(--accent)}.tool-strip .tile-group.fold .tile-grid-2col{display:none;position:absolute;left:calc(100% + 14px);top:-6px;z-index:30;grid-template-columns:repeat(3,76px);gap:4px;padding:8px;background:var(--chrome);border:1px solid var(--border-strong);border-radius:var(--chrome-radius);box-shadow:var(--chrome-shadow)}.tool-strip .tile-group.fold.open .tile-grid-2col{display:grid;animation:flyout-in .16s var(--ease-out)}.tool-strip .fold .tile{width:60px;height:60px}.tool-strip .fold .tile-label{display:block}@keyframes flyout-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:none}}.tile-shortcut{position:absolute;top:2px;right:2px;padding:2px 4px;border-radius:4px;background:#16102fb3;color:var(--text-secondary);font-family:var(--font-mono);font-size:10px;font-weight:600;line-height:1;pointer-events:none}.stage-rail{position:absolute;right:var(--float);top:50%;z-index:20;display:flex;flex-direction:column;align-items:center;gap:6px;max-height:calc(100% - 2 * var(--float) - 168px);padding:8px 6px;border-radius:var(--chrome-radius);transform:translateY(-50%)}.rail-add{flex:none;width:36px;height:28px;border:1px dashed var(--border-strong);border-radius:10px;background:transparent;color:var(--text-secondary);font-size:18px;line-height:1;cursor:pointer;transition:border-color .14s ease,color .14s ease,background-color .14s ease}.rail-add:hover{border:1px solid var(--accent);background:var(--accent-wash);color:var(--accent)}.rail-add:active{background:var(--accent);color:var(--on-accent)}.stage-list-compact{display:flex;flex-direction:column;gap:4px;min-height:0;overflow-y:auto;padding:2px}.stage-item{position:relative;flex:none;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border-strong);border-radius:10px;background:var(--bg-hover);cursor:pointer;transition:border-color .14s ease,background-color .14s ease}.stage-item .stage-preview{display:none}.stage-item:after{content:attr(data-stage-index);color:var(--text-primary);font-family:var(--font-mono);font-size:14px;font-weight:700}.stage-item:hover{border-color:var(--accent)}.stage-item.selected{border-color:var(--accent);background:var(--accent)}.stage-item.selected:after{color:var(--on-accent)}.stage-item.dragging{opacity:.5}.stage-delete-btn{position:absolute;top:-7px;right:-7px;z-index:2;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid var(--danger);border-radius:50%;background:#16102f;color:var(--danger);font-size:13px;line-height:1;cursor:pointer;opacity:0;transition:opacity .14s ease,background-color .14s ease,color .14s ease}.stage-item:hover .stage-delete-btn,.stage-delete-btn:focus-visible{opacity:1}.stage-delete-btn:hover{background:var(--danger);color:var(--on-color)}.view-cluster{position:absolute;right:var(--float);bottom:calc(var(--float) + 120px + 8px);z-index:20;display:flex;align-items:center;gap:2px;padding:4px;border-radius:14px}.zoom-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:10px;background:transparent;color:var(--text-secondary);font-size:18px;font-weight:600;cursor:pointer;transition:background-color .14s ease,color .14s ease}.zoom-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.zoom-btn:active{background:var(--accent);color:var(--on-accent)}.zoom-reset{font-size:15px}#zoom-level{min-width:46px;color:var(--text-secondary);font-family:var(--font-mono);font-size:12px;text-align:center}.editor-minimap{bottom:var(--float);right:var(--float);z-index:20}.brush-bar{position:absolute;left:50%;bottom:var(--float);z-index:20;display:flex;align-items:center;gap:12px;width:max-content;max-width:calc(100% - 2 * (var(--float) + 120px + var(--float) + 24px));padding:6px 12px 6px 6px;border-radius:var(--chrome-radius);transform:translate(-50%)}.brush-info{flex:none;min-width:112px}#selected-tile-info .tile-info{display:grid;row-gap:1px;line-height:1.15}#selected-tile-info .info-mode{margin:0;font-size:10px;letter-spacing:.08em;text-transform:uppercase}#selected-tile-info .info-title{margin:0;font-size:15px}#selected-tile-info .info-meta{margin:0}#selected-tile-info .info-desc{display:none}.brush-config{flex:1 1 auto;min-width:0;max-height:46vh;padding-left:12px;border-left:1px solid var(--border);overflow-y:auto}.brush-bar:has(.config-empty) .brush-config,.brush-bar:has(.config-section>p:only-child) .brush-config{display:none}#tile-config-panel .config-section{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 16px}#tile-config-panel .config-info{display:none}#tile-config-panel .config-section>h4{align-self:center;color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}#tile-config-panel .config-group{display:flex;flex-direction:column;gap:4px;margin:0}#tile-config-panel .config-group label{margin:0;color:var(--text-muted);font-size:11px;font-weight:600}#tile-config-panel .config-group .config-buttons{flex-wrap:wrap}#tile-config-panel .config-buttons .config-btn{flex:none}#tile-config-panel .config-buttons.tile-variants{display:flex;flex-wrap:wrap;gap:4px}#tile-config-panel .config-btn.tile-variant{width:42px;height:42px;padding:3px}.config-btn.tile-variant.rs{border-color:var(--danger)}.config-btn.tile-variant.rs.selected{border-color:var(--accent);box-shadow:0 0 0 3px oklch(.76 .15 25 / .5)}#tile-config-panel .config-btn.tile-variant .variant-label{display:none;font-size:9px}#tile-config-panel .config-btn.tile-variant.selected .variant-label,#tile-config-panel .config-btn.tile-variant:hover .variant-label{display:block}.hover-label{position:fixed;left:0;top:0;z-index:60;padding:6px 10px;border-radius:12px;font-size:12px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s ease}.hover-label.visible:not(.is-empty){opacity:1}.hover-tile-info{display:flex;align-items:baseline;gap:8px}.hover-coords{color:var(--accent);font-family:var(--font-mono);font-weight:600}.hover-name{color:var(--text-primary);font-weight:600}.hover-code{padding:1px 6px;border-radius:6px;background:var(--bg-hover);color:var(--text-secondary);font-family:var(--font-mono);font-size:11px}.hover-config{color:var(--text-secondary)}.drawer{position:absolute;left:0;top:0;bottom:0;z-index:50;display:flex;flex-direction:column;width:min(400px,92vw);background:var(--bg-surface);border-right:1px solid var(--border-strong);box-shadow:0 0 40px #0301138c;opacity:0;transform:translate(-24px);transition:transform .22s var(--ease-out),opacity .18s ease}.drawer[hidden]{display:none}.drawer.open{opacity:1;transform:none}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:8px 8px 8px 16px;border-bottom:1px solid var(--border)}.drawer-head h3{font-size:16px;font-weight:700}.drawer-body{flex:1;min-height:0;overflow-y:auto}.drawer .agent-levels-panel,.drawer .my-levels-panel{max-height:none;overflow:visible}.drawer .agent-levels-list{max-height:none}.drawer .ai-authoring{padding:var(--space-3)}.stage-header h3{margin-bottom:0;font-size:14px;font-weight:700}.modal input[type=number]{width:72px;min-height:36px;margin-left:6px;border:1px solid var(--border-strong);border-radius:10px;background:var(--bg-sunk);color:var(--text-primary);font-family:var(--font-mono);font-size:14px;text-align:center}.modal input[type=number]:focus{border-color:var(--accent)}.tile-chip{position:absolute;z-index:25;max-width:min(340px,calc(100% - 200px));padding:10px 12px;border:1px solid var(--border-strong);border-radius:14px;background:var(--chrome);box-shadow:var(--chrome-shadow);transform:translate(-50%,-100%)}.tile-chip[hidden]{display:none}.tile-chip.below{transform:translate(-50%)}.tile-chip:after{content:"";position:absolute;left:clamp(18px,var(--arrow-x, 50%),calc(100% - 18px));bottom:-6px;width:10px;height:10px;margin-left:-5px;border-right:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);background:var(--chrome);transform:rotate(45deg)}.tile-chip.below:after{top:-6px;bottom:auto;transform:rotate(225deg)}.config-in-chip .brush-config{display:none}.tile-chip #tile-config-panel .config-section{max-width:100%}.popover-up{top:auto;bottom:calc(100% + 8px)}.controls-list{display:grid;gap:2px;padding:0 4px 4px}.controls-list>div{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:5px 8px;border-radius:8px}.controls-list>div:hover{background:var(--bg-hover)}.controls-list dt{color:var(--text-secondary);font-size:13px;font-weight:600;white-space:nowrap}.controls-list dd{margin:0;color:var(--text-primary);font-size:13px;text-align:right;white-space:nowrap}#help-pop{min-width:340px}kbd{display:inline-block;min-width:22px;padding:1px 6px;border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:6px;background:var(--bg-sunk);color:var(--text-primary);font-family:var(--font-mono);font-size:12px;line-height:1.5;text-align:center}.empty-hint{position:absolute;left:50%;top:24%;z-index:10;padding:14px 20px;border:1px solid var(--border-strong);border-radius:var(--chrome-radius);background:var(--chrome);box-shadow:var(--chrome-shadow);color:var(--text-secondary);font-size:14px;line-height:1.6;text-align:center;pointer-events:none;transform:translate(-50%)}.empty-hint[hidden]{display:none}.empty-hint-title{color:var(--text-primary);font-size:16px;font-weight:700}.tool-select{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:54px;margin-bottom:4px;border:none;border-radius:12px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background-color .12s ease,color .12s ease}.tool-select:hover{background:var(--bg-hover);color:var(--text-primary)}.tool-select.selected{background:var(--accent-wash);color:var(--accent);outline:2px solid var(--accent);outline-offset:-2px}@media(max-height:700px){.tile{width:40px;height:40px}.tool-strip{width:60px;gap:2px}.group-icon{width:28px;height:28px}}@media(max-width:1180px){.brush-bar{left:var(--float);transform:none;max-width:calc(100% - 2 * var(--float) - 250px)}.view-cluster{bottom:var(--float)}.editor-minimap{display:none}.stage-rail{max-height:calc(100% - 2 * var(--float) - 80px)}}#tile-config-panel .config-section.blocker-picker{display:grid;gap:6px;align-items:start;min-width:min(560px,100%)}.blocker-tabs{display:flex;flex-wrap:wrap;gap:4px}.blocker-tab{position:relative;cursor:pointer}.blocker-tab input{position:absolute;opacity:0;pointer-events:none}.blocker-tab span{display:block;padding:5px 11px;border-radius:999px;color:var(--text-secondary);font-size:12px;font-weight:700;letter-spacing:.02em;transition:background-color .12s ease,color .12s ease}.blocker-tab:hover span{background:var(--bg-hover);color:var(--text-primary)}.blocker-tab input:checked+span{background:var(--accent);color:var(--on-accent)}.blocker-tab input:focus-visible+span{outline:2px solid var(--text-primary);outline-offset:2px}.blocker-set{display:none;gap:4px}.blocker-row{display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:center}.blocker-height{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.blocker-row .config-buttons{display:flex;flex-wrap:wrap;gap:4px}.blocker-row .config-btn{position:relative}.grows-mark{position:absolute;top:3px;right:4px;width:14px;height:14px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-size:12px;font-weight:800;line-height:14px;text-align:center;pointer-events:none}@media(max-width:720px){#tile-config-panel .config-section.blocker-picker{min-width:0}.brush-bar:has(.blocker-picker){right:var(--float);max-width:none;width:auto;padding:6px 8px}.brush-bar:has(.blocker-picker) .brush-info{display:none}.brush-bar:has(.blocker-picker) .brush-config{border-left:0;padding-left:0;max-height:36vh}.blocker-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-2px}.blocker-tabs::-webkit-scrollbar{display:none}.blocker-tab{flex:none}.blocker-tab span{padding:8px 12px}.blocker-row{grid-template-columns:30px 1fr;gap:6px}}.isometric-canvas{touch-action:none}.only-narrow,.for-touch{display:none}html{-webkit-text-size-adjust:100%}@media(hover:none)and (pointer:coarse){.for-mouse{display:none}.for-touch{display:block}dl.controls-list.for-touch{display:grid}.controls-list dd{white-space:normal}.tile-shortcut,.hover-label{display:none}button,.tile-item-2col,.tile-group-header,.stage-item,.menu-item{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.stage-item.selected .stage-delete-btn{opacity:1}.stage-item,.rail-add{width:40px}.stage-item{height:40px}.rail-add{height:34px}.zoom-btn{width:42px;height:42px}#tile-config-panel .config-btn.tile-variant{width:46px;height:46px}input,textarea,select,#level-name-input{font-size:16px}}@media(max-width:720px){:root{--toolbar-h: 52px;--float: 8px;--dock-h: 62px}.only-narrow{display:block}.editor-container{height:100dvh}.toolbar{padding:0 6px 0 4px;gap:4px;min-width:0}.toolbar .menu-anchor{flex:none}.toolbar-left{min-width:0;flex:1 1 auto;gap:2px}.toolbar-right{flex:none;gap:2px}.level-name-editor{min-width:0;flex:0 1 auto}#level-name-display{min-width:0;max-width:100%;padding:8px 6px;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#level-name-input{width:100%;min-width:0}.auto-save-indicator{display:none}.auto-save-indicator.saving{display:inline;font-size:11px}.menu-btn{padding-inline:8px;flex:none}.toolbar-right .toolbar-sep,#publish-level{display:none}.toolbar-icon-btn{width:40px;height:40px}#test-level{min-height:40px;padding:8px 16px}.popover{max-width:calc(100vw - 16px)}#level-menu{position:fixed;left:8px;top:calc(var(--toolbar-h) + 6px)}#validation-pop{position:fixed;left:auto;right:8px;top:calc(var(--toolbar-h) + 6px)}.menu-item{min-height:44px}.tool-strip{inset:auto 0 0;z-index:26;flex-direction:row;align-items:stretch;gap:2px;width:auto;height:calc(var(--dock-h) + env(safe-area-inset-bottom,0px));padding:5px 6px calc(5px + env(safe-area-inset-bottom,0px));border-radius:0;border-width:1px 0 0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.tool-strip::-webkit-scrollbar{display:none}.tool-strip .tool-select{flex:1 0 38px;width:auto;height:auto;margin:0}.tool-strip .tile-group:first-of-type{flex:5 0 auto}.tool-strip .tile-group:first-of-type .tile-grid-2col{flex-direction:row;height:100%}.tool-strip .tile-group:first-of-type .tile-item-2col{flex:1 0 38px;justify-content:center;padding:2px}.tool-strip .tile-group:first-of-type .tile{width:36px;height:36px}.tool-strip .tile-group.fold{flex:1 0 40px;position:static;padding:0 0 0 2px;border-top:0;border-left:1px solid var(--border)}.tool-strip .tile-group.fold .tile-group-header{height:100%;justify-content:center;padding:2px}.tile-group-header:after{right:50%;top:5px;margin:0 -3px 0 0;transform:rotate(-45deg)}.tile-group.has-brush .tile-group-header:before{top:auto;bottom:4px;right:50%;margin-right:-4px}.group-icon{width:30px;height:30px;margin-top:6px}.group-name{display:none}.tool-strip .tile-group.fold .tile-grid-2col{position:fixed;left:8px;right:8px;top:auto;bottom:calc(var(--dock-h) + env(safe-area-inset-bottom,0px) + 8px);grid-template-columns:repeat(auto-fill,minmax(72px,1fr));max-height:min(52vh,420px);overflow-y:auto;background:#281740}@keyframes flyout-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.brush-bar{left:var(--float);bottom:calc(var(--dock-h) + env(safe-area-inset-bottom,0px) + var(--float));transform:none;gap:8px;padding:5px 10px 5px 8px;max-width:calc(100% - 2 * var(--float) - 56px)}.brush-info{min-width:0}#selected-tile-info .info-meta{display:none}.brush-config{max-height:30vh;padding-left:8px}.view-cluster{right:var(--float);top:var(--float);bottom:auto}#zoom-out,#zoom-in,#zoom-level,#pan-reset{display:none}#help-pop{position:fixed;right:8px;left:auto;bottom:auto;top:calc(var(--toolbar-h) + 62px);min-width:0;width:min(300px,calc(100vw - 16px))}.editor-minimap{display:none}#area-fill-indicator{bottom:calc(var(--dock-h) + 70px)}.stage-rail{top:calc(50% - 30px);max-height:calc(100% - var(--dock-h) - 200px);padding:6px 4px}.tile-chip{max-width:calc(100% - 16px)}.empty-hint{top:10%;left:calc(50% - 28px);width:max-content;max-width:calc(100% - 84px);padding:12px 14px;font-size:13px;line-height:1.45}.drawer{width:100%;border-right:0}.modal-content{max-width:calc(100% - 20px);max-height:calc(100dvh - 20px);padding:var(--space-4, 16px)}}@media(max-height:520px)and (min-width:721px){:root{--toolbar-h: 46px;--float: 8px}.editor-container{height:100dvh}.toolbar{padding-left:max(8px,env(safe-area-inset-left,0px));padding-right:max(8px,env(safe-area-inset-right,0px))}.toolbar-icon-btn{width:38px;height:38px}#test-level,#publish-level{min-height:36px;padding-block:6px}.tool-strip{left:max(var(--float),env(safe-area-inset-left,0px));bottom:var(--float);width:56px;padding:4px;gap:2px;z-index:26;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.tool-strip::-webkit-scrollbar{display:none}.tool-strip .tool-select{flex:none;height:44px;margin:0}.tool-strip .tile-group{flex:none}.tool-strip .tile-group.fold{position:static;padding-top:2px}.tool-strip .tile-group.fold .tile-group-header{padding:4px 2px}.group-name{display:none}.tool-strip .tile-group.fold .tile-grid-2col{position:fixed;left:calc(max(var(--float),env(safe-area-inset-left,0px)) + 64px);top:calc(var(--toolbar-h) + var(--float));bottom:var(--float);grid-template-columns:repeat(4,72px);align-content:start;max-width:calc(100vw - 150px);overflow-y:auto;background:#281740}.brush-bar{left:calc(max(var(--float),env(safe-area-inset-left,0px)) + 64px);transform:none;padding:4px 10px 4px 8px;max-width:calc(100% - 300px)}#selected-tile-info .info-meta{display:none}.brush-config{max-height:40vh}.view-cluster{bottom:var(--float);right:max(var(--float),env(safe-area-inset-right,0px))}#zoom-out,#zoom-in,#zoom-level,#pan-reset{display:none}#help-pop{max-height:calc(100dvh - var(--toolbar-h) - 70px);overflow-y:auto}.editor-minimap{display:none}.stage-rail{right:max(var(--float),env(safe-area-inset-right,0px));top:var(--float);transform:none;max-height:calc(100% - 2 * var(--float) - 56px);padding:5px 4px}.empty-hint{top:10%;width:max-content;max-width:calc(100% - 260px);padding:10px 16px;font-size:13px;line-height:1.45}.modal-content{max-height:calc(100dvh - 16px);padding:var(--space-4, 16px)}}.stage-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}#tile-config-panel{color:var(--text-secondary);font-size:13px}#area-fill-indicator{bottom:92px}.config-btn.has-pic{display:inline-grid;grid-template-rows:auto auto;justify-items:center;gap:2px;padding:4px 6px 5px;min-width:76px;max-width:96px;height:auto;line-height:1.15;white-space:normal;text-align:center}.config-btn.has-pic .config-pic{width:64px;height:64px;object-fit:contain;display:block;pointer-events:none}.config-btn.has-pic .config-pic:not([src]){visibility:hidden}.config-btn.has-pic .config-pic-label{font-size:11px;overflow-wrap:anywhere}.blocker-row .config-buttons:has(.has-pic){display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:4px}.blocker-row .config-btn.has-pic{max-width:none;width:100%}#tile-config-panel .config-section.blocker-picker:has(.has-pic){min-width:min(640px,100%);max-height:min(52vh,420px);overflow-y:auto}@media(max-width:720px){.config-btn.has-pic{min-width:64px}.config-btn.has-pic .config-pic{width:52px;height:52px}.blocker-row .config-buttons:has(.has-pic){grid-template-columns:repeat(auto-fill,minmax(66px,1fr))}}
