html,body{margin:0;height:100%;overflow:hidden;background:#0c1017;color:#d4dce8;font-family:Inter,Segoe UI,-apple-system,sans-serif;font-size:13px}*,*:before,*:after{box-sizing:border-box}.editor-root{display:grid;grid-template-columns:260px 1fr;grid-template-rows:44px 1fr auto;height:100vh}.editor-topbar{grid-column:1 / -1;display:flex;align-items:center;gap:12px;padding:0 16px;background:#111822;border-bottom:1px solid rgba(140,170,220,.12)}.editor-topbar h1{margin:0;font-size:15px;font-weight:700;color:#eef4ff;white-space:nowrap}.topbar-sep{width:1px;height:22px;background:#8caadc2e}.topbar-actions{display:flex;gap:6px;margin-left:auto}.topbar-actions a{color:#6b8aad;text-decoration:none;font-size:12px;padding:4px 10px;border-radius:6px;transition:background .15s,color .15s}.topbar-actions a:hover{background:#4b8bf526;color:#9bb8e0}.editor-sidebar{grid-row:2 / 4;display:flex;flex-direction:column;gap:2px;background:#111822;border-right:1px solid rgba(140,170,220,.12);overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(140,170,220,.15) transparent}.sidebar-section{padding:12px 14px;border-bottom:1px solid rgba(140,170,220,.08)}.sidebar-section h3{margin:0 0 10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#5a7294}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.tool-btn{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid rgba(140,170,220,.12);border-radius:7px;background:#121a2699;color:#8ea4c4;font-size:11px;font-weight:500;cursor:pointer;transition:all .12s;white-space:nowrap}.tool-btn:hover{background:#4b8bf51a;border-color:#4b8bf540;color:#b0c4e0}.tool-btn.active{background:#4b8bf52e;border-color:#4b8bf573;color:#eef4ff;box-shadow:0 0 0 1px #4b8bf526}.tool-icon{width:16px;height:16px;border-radius:3px;flex-shrink:0}.tool-icon.solid{background:#6e8798}.tool-icon.thin{background:#88bcd6;opacity:.55}.tool-icon.spawn0{background:#4682ff99}.tool-icon.spawn1{background:#ff8c3799}.tool-icon.eraser{background:linear-gradient(135deg,#ff6b6b 30%,transparent 30%,transparent 50%,#ff6b6b 50%,#ff6b6b 80%,transparent 80%)}.tool-icon.select{border:2px dashed #8ea4c4;background:transparent}.color-row{display:flex;align-items:center;gap:10px}.color-input-wrap{position:relative;width:36px;height:36px;border-radius:8px;overflow:hidden;border:2px solid rgba(140,170,220,.2);flex-shrink:0}.color-input-wrap input[type=color]{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;width:calc(100% + 12px);height:calc(100% + 12px);border:none;cursor:pointer;background:none}.color-hex{font-family:SF Mono,Fira Code,monospace;font-size:12px;color:#8ea4c4;background:#121a2699;border:1px solid rgba(140,170,220,.12);border-radius:6px;padding:6px 10px;width:90px}.color-hex:focus{outline:none;border-color:#4b8bf573}.color-presets{display:flex;gap:5px;margin-top:8px;flex-wrap:wrap}.color-preset{width:22px;height:22px;border-radius:5px;border:2px solid transparent;cursor:pointer;transition:border-color .12s,transform .12s}.color-preset:hover{border-color:#fff6;transform:scale(1.15)}.color-preset.active{border-color:#fff}.prop-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.prop-field{display:flex;flex-direction:column;gap:3px}.prop-field.full{grid-column:1 / -1}.prop-field label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#5a7294}.prop-field input,.prop-field select{background:#121a2699;border:1px solid rgba(140,170,220,.12);border-radius:6px;color:#d4dce8;padding:5px 8px;font-size:12px;font-family:inherit}.prop-field input:focus,.prop-field select:focus{outline:none;border-color:#4b8bf573}.action-row{display:flex;gap:6px}.action-btn{flex:1;padding:7px 0;border-radius:7px;border:1px solid rgba(140,170,220,.12);background:#121a2699;color:#8ea4c4;font-size:11px;font-weight:600;cursor:pointer;transition:all .12s}.action-btn:hover{background:#4b8bf51f;border-color:#4b8bf54d;color:#b0c4e0}.action-btn.danger:hover{background:#f54b4b1f;border-color:#f54b4b4d;color:#f08080}.barrier-list{display:flex;flex-direction:column;gap:3px;max-height:200px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(140,170,220,.15) transparent}.barrier-item{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:6px;background:#121a2666;font-size:11px;cursor:pointer;transition:background .12s}.barrier-item:hover{background:#4b8bf51a}.barrier-item.selected{background:#4b8bf52e;outline:1px solid rgba(75,139,245,.35)}.barrier-swatch{width:12px;height:12px;border-radius:3px;flex-shrink:0}.barrier-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8ea4c4}.barrier-type{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 5px;border-radius:4px;background:#8caadc1a;color:#5a7294}.barrier-delete{width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:4px;border:none;background:transparent;color:#5a7294;font-size:13px;cursor:pointer;transition:all .12s;flex-shrink:0}.barrier-delete:hover{background:#f54b4b26;color:#f08080}.barrier-empty{text-align:center;padding:12px;color:#3d5068;font-size:11px;font-style:italic}.editor-canvas-area{position:relative;display:flex;align-items:center;justify-content:center;background:#0a0f16;overflow:hidden}.editor-canvas-area canvas{position:static;inset:auto;width:auto;height:auto;cursor:crosshair;border-radius:4px;box-shadow:0 0 40px #0006}.canvas-coords{position:absolute;bottom:12px;right:16px;font-family:SF Mono,Fira Code,monospace;font-size:11px;color:#3d5068;pointer-events:none}.canvas-zoom{position:absolute;bottom:12px;left:16px;display:flex;gap:4px}.zoom-btn{width:28px;height:28px;border-radius:6px;border:1px solid rgba(140,170,220,.12);background:#111822e6;color:#6b8aad;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s}.zoom-btn:hover{background:#4b8bf526;color:#9bb8e0}.editor-bottom{grid-column:2 / -1;background:#111822;border-top:1px solid rgba(140,170,220,.12);display:flex;flex-direction:column;max-height:240px;transition:max-height .2s}.editor-bottom.collapsed{max-height:34px;overflow:hidden}.bottom-header{display:flex;align-items:center;gap:10px;padding:8px 14px;cursor:pointer;-webkit-user-select:none;user-select:none}.bottom-header h3{margin:0;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#5a7294}.bottom-toggle{font-size:10px;color:#3d5068;margin-left:auto;transition:transform .2s}.editor-bottom.collapsed .bottom-toggle{transform:rotate(180deg)}.bottom-content{display:flex;gap:12px;padding:0 14px 10px;flex:1;min-height:0}.json-area{flex:1;display:flex;flex-direction:column;gap:6px}.json-area textarea{flex:1;resize:none;background:#080c12cc;border:1px solid rgba(140,170,220,.12);border-radius:6px;color:#8ea4c4;font-family:SF Mono,Fira Code,monospace;font-size:11px;padding:8px 10px;min-height:80px}.json-area textarea:focus{outline:none;border-color:#4b8bf559}.json-btns{display:flex;gap:6px}.json-btn{padding:5px 14px;border-radius:6px;border:1px solid rgba(140,170,220,.15);background:#121a2699;color:#8ea4c4;font-size:11px;font-weight:600;cursor:pointer;transition:all .12s}.json-btn:hover{background:#4b8bf51f;border-color:#4b8bf54d;color:#b0c4e0}.json-btn.primary{background:#4b8bf52e;border-color:#4b8bf559;color:#b0c8f0}.json-btn.primary:hover{background:#4b8bf54d}.info-panels{display:flex;flex-direction:column;gap:8px;width:280px;flex-shrink:0}.info-panel{background:#080c1299;border:1px solid rgba(140,170,220,.08);border-radius:6px;padding:8px 10px}.info-panel h4{margin:0 0 4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#3d5068}.info-panel pre{margin:0;font-family:SF Mono,Fira Code,monospace;font-size:10px;color:#5a7294;white-space:pre-wrap;word-break:break-all;max-height:60px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(140,170,220,.1) transparent}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%) translateY(60px);padding:8px 20px;border-radius:8px;background:#4b8bf5e6;color:#fff;font-size:12px;font-weight:600;pointer-events:none;opacity:0;transition:all .25s ease;z-index:100}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}@media(max-width:800px){.editor-root{grid-template-columns:1fr;grid-template-rows:44px auto 1fr auto}.editor-sidebar{grid-row:auto;flex-direction:row;overflow-x:auto;overflow-y:hidden;border-right:none;border-bottom:1px solid rgba(140,170,220,.12)}.sidebar-section{min-width:180px;border-bottom:none;border-right:1px solid rgba(140,170,220,.08)}.editor-bottom{grid-column:1 / -1}}
