*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}#parts-search::placeholder,#cubeworld-search::placeholder,#explorer-search::placeholder{color:#4ade80;opacity:.7;font-weight:600;letter-spacing:.3px;text-shadow:0 0 8px rgba(74,222,128,.4)}html,body{width:100%;height:100%;overflow:hidden}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:#14532d;color:#fff;font-size:14px}#app{display:flex;flex-direction:column;height:100vh}#topbar{height:46px;background:linear-gradient(90deg,#166534,#1e7a3d,#166534);border-bottom:1px solid #22c55e;display:flex;align-items:center;padding:0 10px;gap:5px;flex-shrink:0;z-index:50;box-shadow:0 2px 12px #22c55e26,inset 0 -1px #4ade801a}.logo{font-size:16px;font-weight:900;color:#fff;letter-spacing:-.8px;margin-right:8px;white-space:nowrap;text-transform:uppercase;text-shadow:0 0 10px rgba(255,255,255,.2)}.logo em{color:#4ade80;font-style:normal;text-shadow:0 0 12px rgba(74,222,128,.5)}.sep{width:1px;height:22px;background:#4ade804d;margin:0 3px;flex-shrink:0;box-shadow:0 0 4px #4ade8033}.tool-btn{height:30px;padding:0 9px;border:1px solid rgba(74,222,128,.15);border-radius:8px;background:linear-gradient(135deg,#0d3b2080,#1452304d);color:#86efac;cursor:pointer;font-size:12px;display:flex;align-items:center;gap:4px;transition:all .2s;white-space:nowrap;font-family:inherit;text-shadow:0 0 4px rgba(74,222,128,.15);box-shadow:0 0 4px #22c55e14}.tool-btn:hover{background:linear-gradient(135deg,#14532db3,#1e783c66);color:#ecfdf5;border-color:#22c55e;box-shadow:0 0 10px #22c55e4d,0 0 20px #22c55e1a;text-shadow:0 0 8px rgba(74,222,128,.3)}.tool-btn.active{background:linear-gradient(135deg,#16a34a,#145230);color:#fff;border-color:#4ade80;box-shadow:0 0 12px #22c55e73,0 0 24px #22c55e26;text-shadow:0 0 8px rgba(74,222,128,.4)}.snap-popup{display:none;position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:6px;background:linear-gradient(160deg,#0a2f18,#14532d,#0d3b20);border:1px solid #22c55e;border-radius:10px;padding:4px;gap:2px;flex-direction:column;z-index:100;box-shadow:0 0 15px #22c55e4d,0 8px 24px #00000080}.snap-popup.visible{display:flex}.snap-opt{height:28px;min-width:36px;padding:0 10px;border:1px solid rgba(74,222,128,.15);border-radius:8px;background:linear-gradient(135deg,#0d3b2080,#1452304d);color:#86efac;cursor:pointer;font-size:12px;font-weight:600;font-family:inherit;transition:all .2s;text-shadow:0 0 4px rgba(74,222,128,.15)}.snap-opt:hover{background:linear-gradient(135deg,#14532db3,#1e783c66);color:#ecfdf5;border-color:#22c55e;box-shadow:0 0 10px #22c55e4d;text-shadow:0 0 8px rgba(74,222,128,.3)}.snap-opt.active{background:linear-gradient(135deg,#16a34a,#145230);color:#fff;border-color:#4ade80;box-shadow:0 0 12px #22c55e73,0 0 24px #22c55e26;text-shadow:0 0 8px rgba(74,222,128,.4)}#play-btn{margin-left:auto;height:34px;padding:0 18px;background:linear-gradient(135deg,#0c1a3d,#132952,#0a1830);border:1px solid #3b82f6;border-radius:10px;color:#60a5fa;font-weight:800;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s;letter-spacing:.5px;font-family:inherit;box-shadow:0 0 15px #3b82f659,0 0 30px #3b82f626,0 0 60px #3b82f60d,inset 0 1px #60a5fa26;text-shadow:0 0 8px rgba(96,165,250,.4)}#play-btn:hover{background:linear-gradient(135deg,#132952,#1e3a6d,#132952);border-color:#60a5fa;transform:scale(1.05);box-shadow:0 0 20px #3b82f680,0 0 40px #3b82f640,0 0 80px #3b82f61a,inset 0 1px #60a5fa33;color:#bfdbfe;text-shadow:0 0 12px rgba(96,165,250,.5)}#play-btn.playing{background:linear-gradient(135deg,#3b1010,#521313,#301010);border-color:#ef4444;color:#f87171;box-shadow:0 0 15px #ef444459,0 0 30px #ef444426,0 0 60px #ef44440d,inset 0 1px #f8717126;text-shadow:0 0 8px rgba(239,68,68,.4)}#play-btn.playing:hover{background:linear-gradient(135deg,#521313,#7a1a1a,#521313);border-color:#f87171;box-shadow:0 0 20px #ef444480,0 0 40px #ef444440,0 0 80px #ef44441a,inset 0 1px #f8717133;color:#fecaca;text-shadow:0 0 12px rgba(239,68,68,.5)}#main{display:flex;flex:1;overflow:hidden;min-height:0}.panel{background:#166534;display:flex;flex-direction:column;overflow:hidden;flex-shrink:0;min-height:0}#left-panel{width:268px;border-right:1px solid rgba(74,222,128,.2)}#right-panel{width:238px;border-left:1px solid rgba(74,222,128,.2)}.panel-tabs{display:flex;background:linear-gradient(90deg,#1e7a3d,#166534);border-bottom:1px solid rgba(74,222,128,.2);flex-shrink:0}.ptab{flex:1;padding:8px 4px;text-align:center;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#86efac;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}.ptab:hover{color:#ecfdf5}.ptab.active{color:#ecfdf5;border-bottom-color:#4ade80;text-shadow:0 0 8px rgba(74,222,128,.4)}.ptab-content{display:none;flex:1;overflow-y:auto;flex-direction:column;min-height:0}.ptab-content.active{display:flex}.sec-lbl{padding:8px 10px 3px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.9px;color:#86efac;flex-shrink:0}.parts-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;padding:4px 6px 6px;flex-shrink:0}.prefab-card{position:relative;background:linear-gradient(135deg,#0d3b2099,#14523066);border:1px solid rgba(74,222,128,.25);border-radius:10px;padding:6px;text-align:center;cursor:pointer;transition:all .2s;color:#86efac;display:flex;flex-direction:column;align-items:center;gap:4px}.prefab-card:hover{border-color:#4ade80;background:linear-gradient(135deg,#14532dcc,#1e783c80);transform:translateY(-1px);box-shadow:0 0 12px #22c55e4d}.prefab-name{font-size:9px;text-transform:uppercase;letter-spacing:.3px;line-height:1.2;word-break:break-word;max-width:100%}.prefab-del{position:absolute;top:2px;right:2px;background:none;border:none;color:#f87171;cursor:pointer;font-size:11px;padding:2px 4px;line-height:1;opacity:.5;transition:opacity .15s;z-index:10}.prefab-del:hover{opacity:1}.prefab-zoom{display:none;position:fixed;z-index:9999;pointer-events:none;border-radius:10px;border:2px solid rgba(74,222,128,.4);box-shadow:0 8px 32px #0009,0 0 20px #22c55e33;background:#0a1e12f2}#prefab-list{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:6px 8px}.part-btn{background:linear-gradient(135deg,#0d3b2099,#14523066);border:1px solid rgba(74,222,128,.25);border-radius:10px;padding:8px 4px 6px;text-align:center;cursor:pointer;transition:all .2s;color:#86efac;box-shadow:0 0 6px #22c55e1a,inset 0 1px #4ade8014}.part-btn:hover{background:linear-gradient(135deg,#14532dcc,#1e783c80);border-color:#4ade80;color:#ecfdf5;transform:translateY(-2px);box-shadow:0 0 12px #22c55e59,0 4px 16px #0000004d;text-shadow:0 0 6px rgba(74,222,128,.3)}.part-btn.placing{background:linear-gradient(135deg,#22c55e4d,#16a34a33);border-color:#4ade80;color:#fff;box-shadow:0 0 16px #22c55e80,0 0 30px #22c55e26;text-shadow:0 0 8px rgba(74,222,128,.5)}.acc-section{border-bottom:1px solid rgba(74,222,128,.15);flex-shrink:0;position:relative}.acc-header{display:flex;align-items:center;gap:6px;padding:7px 10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#86efac;cursor:pointer;user-select:none;background:linear-gradient(90deg,#0d3b20,#145230);transition:all .2s;position:relative;z-index:2;text-shadow:0 0 4px rgba(74,222,128,.15)}.acc-header:hover{background:linear-gradient(90deg,#145230,#1a7a42);color:#ecfdf5;text-shadow:0 0 8px rgba(74,222,128,.3)}.acc-section.open>.acc-header{color:#fbbf24;background:linear-gradient(90deg,#3b2f0a,#4a3a10);text-shadow:0 0 10px rgba(251,191,36,.4);box-shadow:0 0 8px #fbbf2433;border-left:3px solid #fbbf24}.acc-body .acc-section.open>.acc-header{color:#fde68a;background:linear-gradient(90deg,#2d2508,#3b300c);text-shadow:0 0 8px rgba(253,230,138,.3);box-shadow:0 0 6px #fde68a26;border-left:3px solid #fde68a}.acc-icon{font-size:9px;color:#4ade80;transition:transform .15s;min-width:10px;filter:drop-shadow(0 0 4px rgba(74,222,128,.4))}.acc-body{padding:6px 10px 8px 6px;position:fixed;left:268px;top:47px;width:340px;z-index:200;background:linear-gradient(160deg,#0a2f18,#14532d 40%,#0d3b20);border:1px solid #22c55e;border-radius:0 0 12px;box-shadow:0 0 15px #22c55e4d,0 0 30px #22c55e1f,0 8px 32px #00000080,inset 0 -1px #4ade801a;max-height:calc(100vh - 72px);overflow-y:auto}.acc-body .acc-section{margin-left:0}.acc-body .acc-section .acc-header{padding-left:14px;font-size:9.5px;background:linear-gradient(90deg,#0d3b20,#145230)}.acc-body .acc-body{position:static;border:none;border-radius:0;box-shadow:none;max-height:none;overflow-y:visible;padding:4px 4px 6px}.acc-body .acc-section.open>.acc-body{background:linear-gradient(160deg,#3b2f0a,#4a3a10);border-left:3px solid #fbbf24;box-shadow:inset 0 0 12px #fbbf2426}.acc-body .acc-body .acc-section.open>.acc-body{background:linear-gradient(160deg,#2d2508,#3b300c);border-left:3px solid #fde68a;box-shadow:inset 0 0 10px #fde68a1f}.acc-body .acc-section.open>.acc-body .part-btn{background:linear-gradient(135deg,#3b2f0a8c,#4a3a1066);border-color:#fbbf2459;color:#fde68a;box-shadow:0 0 6px #fbbf241f,inset 0 1px #fde68a1a}.acc-body .acc-section.open>.acc-body .part-btn:hover{background:linear-gradient(135deg,#4a3a10d9,#5b481599);border-color:#fbbf24;color:#fff;box-shadow:0 0 12px #fbbf2466,0 4px 16px #0000004d;text-shadow:0 0 6px rgba(251,191,36,.4)}.acc-body .acc-section.open>.acc-body>.acc-section:not(.open)>.acc-header{background:linear-gradient(90deg,#0d3b2073,#14523073)}.acc-body .acc-section.open>.acc-body>.acc-section:not(.open)>.acc-header:hover{background:linear-gradient(90deg,#145230b3,#1a7a4299)}.sc-acc-section{border-bottom:1px solid rgba(74,222,128,.1)}.sc-acc-hdr{display:flex;align-items:center;gap:5px;padding:5px 8px;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:#86efac;cursor:pointer;user-select:none;background:linear-gradient(90deg,#0d3b20,#145230);transition:all .2s;border-radius:4px;margin:2px 0}.sc-acc-hdr:hover{background:linear-gradient(90deg,#145230,#1a7a42);color:#ecfdf5}.sc-acc-sub{font-size:9px;color:#6ee7b7}.sc-acc-icon{font-size:8px;color:#4ade80;min-width:8px}.sc-acc-body{padding:2px 0 2px 4px}.sc-acc-section.open>.sc-acc-hdr{color:#fbbf24;background:linear-gradient(90deg,#3b2f0a,#4a3a10);border-left:3px solid #fbbf24;text-shadow:0 0 8px rgba(251,191,36,.3)}.sc-acc-section.open>.sc-acc-hdr.sc-acc-sub{color:#fde68a;background:linear-gradient(90deg,#2d2508,#3b300c);border-left:3px solid #fde68a;text-shadow:0 0 6px rgba(253,230,138,.25)}.action-btn{flex:1;height:28px;border:1px solid rgba(74,222,128,.2);border-radius:8px;background:linear-gradient(135deg,#0d3b2080,#1452304d);color:#86efac;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 0 4px #22c55e14}.action-btn:hover{border-color:#22c55e;background:linear-gradient(135deg,#14532db3,#1e783c66);box-shadow:0 0 10px #22c55e4d,0 0 20px #22c55e1a;transform:translateY(-1px);filter:drop-shadow(0 0 4px rgba(74,222,128,.3))}.action-btn:active,.part-btn:active{transform:translateY(0)}.part-emoji{font-size:18px;display:block;margin-bottom:3px;line-height:1;filter:drop-shadow(0 0 4px rgba(74,222,128,.2))}.part-icon{display:block;margin:0 auto 2px;width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 0 4px rgba(74,222,128,.15))}.part-btn:hover .part-icon{filter:drop-shadow(0 0 6px rgba(74,222,128,.4))}.part-name{font-size:8.5px;text-transform:uppercase;letter-spacing:.4px;text-shadow:0 0 4px rgba(74,222,128,.15)}.env-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px 8px 6px;flex-shrink:0}.env-btn{background:linear-gradient(135deg,#0d3b2099,#14523066);border:1px solid rgba(74,222,128,.25);border-radius:10px;padding:7px 6px;text-align:center;cursor:pointer;transition:all .2s;color:#86efac;font-size:10.5px;box-shadow:0 0 6px #22c55e1a,inset 0 1px #4ade8014}.env-btn:hover{background:linear-gradient(135deg,#14532dcc,#1e783c80);border-color:#4ade80;color:#ecfdf5;transform:translateY(-2px);box-shadow:0 0 12px #22c55e59,0 4px 16px #0000004d;text-shadow:0 0 6px rgba(74,222,128,.3)}.env-btn.placing{background:linear-gradient(135deg,#22c55e4d,#16a34a33);border-color:#4ade80;color:#fff;box-shadow:0 0 16px #22c55e80,0 0 30px #22c55e26;text-shadow:0 0 8px rgba(74,222,128,.5)}#scene-explorer{flex:1;overflow-y:auto;padding:4px}.exp-item{padding:5px 8px;border-radius:5px;cursor:pointer;font-size:11px;display:flex;align-items:center;gap:6px;color:#bbf7d0;transition:all .1s;user-select:none}.exp-item:hover{background:#4ade801a;color:#ecfdf5}.exp-item.selected{background:#4ade8033;color:#fff;border-left:3px solid #4ade80;padding-left:5px;text-shadow:0 0 6px rgba(74,222,128,.4)}.exp-item.drag-over{background:#4ade8040;border:1px dashed #4ade80}.exp-icon{font-size:12px}.exp-fold{font-size:9px;color:#4ade80;cursor:pointer;min-width:10px;transition:transform .15s}.exp-count{font-size:9px;color:#86efac;opacity:.5}.exp-folder{font-weight:600;color:#d4a017}.exp-folder-open{border-left:1px solid rgba(251,191,36,.15)}.exp-folder-del{background:none;border:none;color:#f87171;cursor:pointer;font-size:10px;padding:0 3px;margin-left:auto;opacity:0;transition:opacity .15s}.exp-item:hover .exp-folder-del{opacity:.6}.exp-folder-del:hover{opacity:1!important}.exp-ctx{position:fixed;z-index:10000;min-width:180px;background:linear-gradient(160deg,#0a2f18,#14532d);border:1px solid rgba(74,222,128,.35);border-radius:8px;padding:4px 0;box-shadow:0 8px 24px #00000080,0 0 16px #22c55e26;animation:popIn .15s ease-out}.exp-ctx-item{padding:7px 14px;font-size:11px;color:#bbf7d0;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .1s}.exp-ctx-item:hover{background:#4ade8026;color:#fff}.exp-ctx-sep{height:1px;background:#4ade8026;margin:3px 8px}.exp-child{border-left:1px solid rgba(251,191,36,.2);margin-left:7px;color:#fde68a}#viewport{flex:1;position:relative;overflow:hidden;background:#87ceeb;min-width:0}#viewport canvas{display:block;width:100%!important;height:100%!important}.vp-badge{position:absolute;border-radius:20px;padding:4px 12px;font-size:10px;font-weight:700;pointer-events:none;letter-spacing:.4px}#mode-badge{display:none!important}#test-hint{top:10px;left:50%;transform:translate(-50%);background:#0a1f12e6;color:#ecfdf5;display:none;white-space:nowrap;border:1px solid rgba(74,222,128,.3)}#test-crosshair{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#ffffffd9;font-size:18px;display:none;pointer-events:none;line-height:1}#weapon-crosshair{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:none;pointer-events:none;z-index:9998}#weapon-crosshair .ch-line{position:absolute;background:#ffffffe6}#weapon-crosshair .ch-h{width:18px;height:2px;top:50%;transform:translateY(-50%)}#weapon-crosshair .ch-v{height:18px;width:2px;left:50%;transform:translate(-50%)}#weapon-crosshair .ch-l{right:calc(50% + 5px)}#weapon-crosshair .ch-r{left:calc(50% + 5px)}#weapon-crosshair .ch-t{bottom:calc(50% + 5px)}#weapon-crosshair .ch-b{top:calc(50% + 5px)}#weapon-crosshair .ch-dot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:3px;height:3px;border-radius:50%;background:#ff3c3cf2}.r-sect{border-bottom:1px solid rgba(74,222,128,.15);padding:9px 10px}.rs-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.9px;color:#86efac;margin-bottom:7px}.prop-row{display:flex;align-items:center;gap:6px;margin-bottom:5px}.prop-lbl{font-size:11px;color:#bbf7d0;width:28px;flex-shrink:0}.prop-lbl-copy{cursor:pointer;border-radius:4px;padding:2px 4px;transition:all .15s;user-select:none}.prop-lbl-copy:hover{background:#4ade8026;color:#4ade80}.prop-inp{background:#ffffff0f;border:1px solid rgba(74,222,128,.2);border-radius:4px;color:#ecfdf5;padding:3px 6px;font-size:12px;width:100%;font-family:inherit}.prop-inp:focus{outline:none;border-color:#4ade80;box-shadow:0 0 6px #4ade8033}select,.prop-inp[type=select],select.prop-inp{background:#ffffff0f;border:1px solid rgba(74,222,128,.2);border-radius:4px;color:#ecfdf5;padding:3px 6px;font-size:12px;font-family:inherit;cursor:pointer}select:focus{outline:none;border-color:#4ade80;box-shadow:0 0 6px #4ade8033}select option,select optgroup{background:#0d3b20;color:#ecfdf5}select optgroup{color:#4ade80;font-weight:700}.xyz-group{display:grid;grid-template-columns:1fr 1fr 1fr;gap:3px;flex:1}.xyz-inp{background:#ffffff0f;border:1px solid rgba(74,222,128,.2);border-radius:4px;color:#ecfdf5;padding:3px 4px;font-size:11px;text-align:center;width:100%;font-family:inherit}.xyz-inp:focus{outline:none;border-color:#4ade80;box-shadow:0 0 6px #4ade8033}.xyz-labels{display:grid;grid-template-columns:1fr 1fr 1fr;gap:3px;margin-left:34px}.xyz-lbl-s{font-size:8px;text-align:center;color:#86efac}.slider-row{display:flex;flex-wrap:wrap;align-items:center;gap:0;margin-bottom:5px;padding:0 2px}.sl-lbl{font-size:10px;color:#bbf7d0;flex:1;order:1}.sl-val{font-size:10px;color:#4ade80;font-weight:600;text-align:right;order:2;text-shadow:0 0 6px rgba(74,222,128,.3)}input[type=range]{width:100%;accent-color:#22c55e;cursor:pointer;height:4px;margin-top:2px;order:3}.color-row{display:flex;align-items:center;gap:8px;margin-bottom:5px}.color-preview{width:28px;height:24px;border-radius:4px;border:2px solid rgba(74,222,128,.3);overflow:hidden;cursor:pointer;position:relative;flex-shrink:0}.color-preview input[type=color]{opacity:0;position:absolute;inset:0;width:100%;height:100%;cursor:pointer;border:none}.color-hex{font-size:11px;color:#86efac;font-family:Consolas,Courier New,monospace}.mat-presets{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.mat-btn{padding:3px 8px;border-radius:4px;border:1px solid rgba(74,222,128,.2);background:#ffffff0d;color:#bbf7d0;font-size:10px;cursor:pointer;transition:all .1s;font-family:inherit}.mat-btn:hover{border-color:#4ade80;color:#ecfdf5}.mat-btn.active{background:#22c55e40;border-color:#22c55e;color:#ecfdf5;box-shadow:0 0 10px #22c55e4d}.tex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:4px;margin-bottom:6px}.tex-categories{max-height:340px;overflow-y:auto;padding-right:4px}.tex-cat{margin-bottom:4px;border:1px solid rgba(34,197,94,.15);border-radius:5px;background:#0000002e}.tex-cat-hdr{display:flex;align-items:center;gap:6px;padding:5px 8px;cursor:pointer;user-select:none;font-size:11px;color:#bbf7d0;font-weight:600;border-radius:5px}.tex-cat-hdr:hover{background:#22c55e1a}.tex-cat-count{margin-left:auto;font-size:9px;opacity:.6;font-weight:400}.tex-cat-arrow{font-size:9px;width:10px;text-align:center}.tex-cat .tex-grid{padding:4px;margin-bottom:0}.tex-thumb-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:3px;border-radius:5px;border:1px solid rgba(74,222,128,.2);background:#ffffff0d;cursor:pointer;transition:all .1s}.tex-thumb-btn img{width:48px;height:48px;border-radius:3px;object-fit:cover;display:block}.tex-thumb-btn span{font-size:8px;color:#bbf7d0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:54px;text-align:center}.tex-thumb-btn:hover{border-color:#4ade80}.tex-thumb-btn.active{border-color:#22c55e;background:#22c55e40;box-shadow:0 0 10px #22c55e4d}.chk-row{display:flex;align-items:center;gap:6px;margin-bottom:4px;cursor:pointer}.chk-row input{accent-color:#22c55e;cursor:pointer}.chk-lbl{font-size:11px;color:#bbf7d0}.del-btn{display:block;width:calc(100% - 20px);margin:8px 10px;padding:6px;background:#ef44441f;border:1px solid rgba(239,68,68,.3);border-radius:5px;color:#fca5a5;font-size:12px;cursor:pointer;text-align:center;transition:all .15s;font-family:inherit}.del-btn:hover{background:#ef444433;border-color:#ef4444}#no-sel,#no-sel-mat{padding:28px 16px;text-align:center;color:#86efac;font-size:12px;line-height:1.7}.color-swatches{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.swatch{width:20px;height:20px;border-radius:3px;cursor:pointer;border:2px solid transparent;transition:all .1s;flex-shrink:0}.swatch:hover{transform:scale(1.2);border-color:#fff}#statusbar{height:25px;background:linear-gradient(90deg,#166534,#14532d);border-top:1px solid rgba(74,222,128,.2);display:flex;align-items:center;padding:0 12px;gap:18px;font-size:12px;color:#86efac;flex-shrink:0}#statusbar strong{color:#4ade80}#statusbar .sel-label{color:#facc15}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#4ade804d;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#4ade80}#editor-console{flex-shrink:0;background:#0000004d;padding:6px 8px;display:flex;flex-direction:column-reverse;gap:1px;max-height:130px;overflow:hidden}.ec-line{font-size:11px;color:#86efac;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5;font-family:Consolas,Courier New,monospace}.ec-line.ec-new{color:#ecfdf5}.ec-time{color:#4ade80;margin-right:5px}.collapse-hdr{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;background:linear-gradient(90deg,#0d3b20,#145230);border-top:1px solid rgba(74,222,128,.2);cursor:pointer;user-select:none;flex-shrink:0;transition:all .2s}.collapse-hdr:hover{background:linear-gradient(90deg,#145230,#1a7a42);text-shadow:0 0 8px rgba(74,222,128,.3)}.collapse-hdr-lbl{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.9px;color:#86efac;text-shadow:0 0 4px rgba(74,222,128,.15)}.collapse-arrow{font-size:9px;color:#4ade80;transition:transform .2s;filter:drop-shadow(0 0 4px rgba(74,222,128,.4))}.collapse-arrow.open{transform:rotate(180deg)}.rpop-title{padding:6px 10px;border-radius:6px;transition:all .2s;position:relative;overflow:hidden;letter-spacing:.5px}.rpop-title:before{content:"";position:absolute;inset:0;opacity:0;transition:opacity .3s}.rpop-title:hover:before{opacity:1}.rpop-title:hover{transform:translate(-2px)}.rpop-blue{background:linear-gradient(135deg,#3b82f659,#60a5fa26);border:1px solid rgba(96,165,250,.4);color:#93c5fd;text-shadow:0 0 10px rgba(96,165,250,.5);box-shadow:0 0 12px #3b82f626,inset 0 1px #93c5fd26}.rpop-blue:hover{box-shadow:0 0 20px #3b82f64d,inset 0 1px #93c5fd33;border-color:#60a5fa99}.rpop-blue:before{background:linear-gradient(90deg,transparent,rgba(96,165,250,.08),transparent)}.rpop-red{background:linear-gradient(135deg,#ef444459,#f8717126);border:1px solid rgba(248,113,113,.4);color:#fca5a5;text-shadow:0 0 10px rgba(248,113,113,.5);box-shadow:0 0 12px #ef444426,inset 0 1px #fca5a526}.rpop-red:hover{box-shadow:0 0 20px #ef44444d,inset 0 1px #fca5a533;border-color:#f8717199}.rpop-red:before{background:linear-gradient(90deg,transparent,rgba(248,113,113,.08),transparent)}.rpop-yellow{background:linear-gradient(135deg,#eab30859,#fbbf2426);border:1px solid rgba(251,191,36,.4);color:#fde68a;text-shadow:0 0 10px rgba(251,191,36,.5);box-shadow:0 0 12px #eab30826,inset 0 1px #fde68a26}.rpop-yellow:hover{box-shadow:0 0 20px #eab3084d,inset 0 1px #fde68a33;border-color:#fbbf2499}.rpop-yellow:before{background:linear-gradient(90deg,transparent,rgba(251,191,36,.08),transparent)}.rpop-orange{background:linear-gradient(135deg,#f9731659,#fb923c26);border:1px solid rgba(251,146,60,.4);color:#fed7aa;text-shadow:0 0 10px rgba(251,146,60,.5);box-shadow:0 0 12px #f9731626,inset 0 1px #fed7aa26}.rpop-orange:hover{box-shadow:0 0 20px #f973164d,inset 0 1px #fed7aa33;border-color:#fb923c99}.rpop-orange:before{background:linear-gradient(90deg,transparent,rgba(251,146,60,.08),transparent)}.rpop-body-orange{background:linear-gradient(135deg,#1e1405f2,#321e0ae6);border:1px solid rgba(251,146,60,.25);border-radius:8px;padding:10px;box-shadow:0 0 20px #f9731626}.rpop-teal{background:linear-gradient(135deg,#14b8a659,#2dd4bf26);border:1px solid rgba(45,212,191,.4);color:#99f6e4;text-shadow:0 0 10px rgba(45,212,191,.5);box-shadow:0 0 12px #14b8a626,inset 0 1px #99f6e426}.rpop-teal:hover{box-shadow:0 0 20px #14b8a64d,inset 0 1px #99f6e433;border-color:#2dd4bf99}.rpop-teal:before{background:linear-gradient(90deg,transparent,rgba(45,212,191,.08),transparent)}.rpop-body-teal{background:linear-gradient(160deg,#051e19f2,#0f3c32e6);border:1px solid rgba(45,212,191,.25);border-radius:8px;padding:10px;box-shadow:0 0 20px #14b8a626}.r-sect.r-popup{position:relative}.r-popup-body .prop-row{flex-direction:column;align-items:stretch;gap:3px}.r-popup-body .prop-lbl{width:auto;font-size:12px}.r-popup-body .prop-inp,.r-popup-body .xyz-inp{font-size:12px}.r-popup-body .radio-btn{font-size:11px;padding:5px 9px}.r-popup-body .chk-lbl,.r-popup-body .activate-btn{font-size:12px}.r-popup-body{position:fixed;right:240px;z-index:10000;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:12px;padding:14px 16px;min-width:340px;width:max-content;max-height:80vh;overflow-y:auto;animation:popIn .2s ease-out;font-size:12px}@keyframes popIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.rpop-body-blue{background:linear-gradient(160deg,#0f172aeb,#1e3a8ad9);border:1px solid rgba(96,165,250,.35);box-shadow:0 8px 32px #00000080,0 0 24px #3b82f626,inset 0 1px #93c5fd1a}.rpop-body-red{background:linear-gradient(160deg,#1e0a0aeb,#7f1d1dd9);border:1px solid rgba(248,113,113,.35);box-shadow:0 8px 32px #00000080,0 0 24px #ef444426,inset 0 1px #fca5a51a}.rpop-body-yellow{background:linear-gradient(160deg,#1e1905eb,#785a0ad9);border:1px solid rgba(251,191,36,.35);box-shadow:0 8px 32px #00000080,0 0 24px #eab30826,inset 0 1px #fde68a1a}.rpop-body-green{background:linear-gradient(160deg,#051e0feb,#14532dd9);border:1px solid rgba(74,222,128,.3);box-shadow:0 8px 32px #00000080,0 0 24px #4ade801f,inset 0 1px #4ade801a}.rpop-purple{background:linear-gradient(135deg,#8b5cf659,#a78bfa26);border:1px solid rgba(167,139,250,.4);color:#c4b5fd;text-shadow:0 0 10px rgba(167,139,250,.5);box-shadow:0 0 12px #8b5cf626,inset 0 1px #c4b5fd26}.rpop-purple:hover{box-shadow:0 0 20px #8b5cf64d,inset 0 1px #c4b5fd33;border-color:#a78bfa99}.rpop-purple:before{background:linear-gradient(90deg,transparent,rgba(167,139,250,.08),transparent)}.rpop-body-purple{background:linear-gradient(160deg,#0f051eeb,#581c87d9);border:1px solid rgba(167,139,250,.35);border-radius:8px;padding:10px;box-shadow:0 8px 32px #00000080,0 0 24px #8b5cf626,inset 0 1px #c4b5fd1a}.rpop-gray{background:linear-gradient(135deg,#8c8c8c59,#b4b4b426);border:1px solid rgba(180,180,180,.4);color:#e0e0e0;text-shadow:0 0 10px rgba(180,180,180,.5);box-shadow:0 0 12px #8c8c8c26,inset 0 1px #dcdcdc26}.rpop-gray:hover{box-shadow:0 0 20px #8c8c8c4d,inset 0 1px #dcdcdc33;border-color:#b4b4b499}.rpop-gray:before{background:linear-gradient(90deg,transparent,rgba(180,180,180,.08),transparent)}.rpop-body-gray{background:linear-gradient(160deg,#141414eb,#323232d9);border:1px solid rgba(180,180,180,.35);border-radius:8px;padding:10px;box-shadow:0 8px 32px #00000080,0 0 24px #8c8c8c26,inset 0 1px #dcdcdc1a}.radio-btn{padding:4px 8px;border-radius:6px;border:1px solid rgba(96,165,250,.2);background:#1e3a8a26;color:#93c5fd;font-size:9px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .15s;flex:1;text-align:center}.radio-btn:hover{background:#3b82f640;border-color:#60a5fa66}.radio-btn.active{background:#3b82f666;border-color:#60a5fa99;color:#dbeafe;box-shadow:0 0 8px #3b82f64d}.radio-btn.radio-red{border-color:#f8717133;background:#7f1d1d26;color:#fca5a5}.radio-btn.radio-red:hover{background:#ef444440;border-color:#f8717166}.radio-btn.radio-red.active{background:#ef444466;border-color:#f8717199;color:#fee2e2;box-shadow:0 0 8px #ef44444d}.radio-btn.radio-yellow{border-color:#fbbf2433;background:#785a0a26;color:#fde68a}.radio-btn.radio-yellow:hover{background:#eab30840;border-color:#fbbf2466}.radio-btn.radio-yellow.active{background:#eab30866;border-color:#fbbf2499;color:#fef9c3;box-shadow:0 0 8px #eab3084d}.radio-btn.radio-purple{border-color:#a78bfa33;background:#581c8726;color:#c4b5fd}.radio-btn.radio-purple:hover{background:#8b5cf640;border-color:#a78bfa66}.radio-btn.radio-purple.active{background:#8b5cf666;border-color:#a78bfa99;color:#ede9fe;box-shadow:0 0 8px #8b5cf64d}.activate-btn{width:100%;padding:6px;border-radius:6px;border:1px solid rgba(239,68,68,.3);background:#7f1d1d40;color:#fca5a5;font-size:10px;font-weight:700;cursor:pointer;font-family:inherit;margin-bottom:8px;transition:all .2s;letter-spacing:.3px}.activate-btn.on{border-color:#22c55e80;background:#22c55e33;color:#4ade80;box-shadow:0 0 10px #22c55e33;text-shadow:0 0 6px rgba(74,222,128,.4)}.activate-btn.on:hover{background:#22c55e4d;box-shadow:0 0 14px #22c55e4d}.activate-btn:hover{background:#50505066}.popup-close-btn{width:100%;padding:5px;margin-top:10px;border-radius:6px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:#aaa;font-size:10px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .15s;letter-spacing:.3px}.popup-close-btn:hover{background:#ffffff1a;color:#ddd;border-color:#ffffff40}.terr-sect{padding:7px 10px 5px;border-bottom:1px solid rgba(74,222,128,.15)}.terr-sect-lbl{font-size:8.5px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#86efac;margin-bottom:5px;text-shadow:0 0 4px rgba(74,222,128,.15)}.terr-btn-row{display:flex;gap:3px;flex-wrap:wrap}.terr-btn{padding:4px 8px;border-radius:8px;border:1px solid rgba(74,222,128,.2);background:linear-gradient(135deg,#0d3b2080,#1452304d);color:#86efac;font-size:10px;cursor:pointer;transition:all .2s;font-family:inherit;text-shadow:0 0 4px rgba(74,222,128,.15)}.terr-btn:hover{border-color:#22c55e;color:#ecfdf5;background:linear-gradient(135deg,#14532db3,#1e783c66);box-shadow:0 0 10px #22c55e4d;text-shadow:0 0 8px rgba(74,222,128,.3)}.terr-btn.active{background:linear-gradient(135deg,#16a34a,#145230);border-color:#4ade80;color:#fff;box-shadow:0 0 12px #22c55e73,0 0 24px #22c55e26;text-shadow:0 0 8px rgba(74,222,128,.4)}.terr-color-swatch{width:18px;height:18px;border-radius:3px;cursor:pointer;border:2px solid transparent;transition:all .1s;flex-shrink:0;display:inline-block}.terr-color-swatch:hover{transform:scale(1.2);border-color:#fff}body.playing #left-panel,body.playing #right-panel,body.playing #topbar{display:none!important}body.editor-active #left-panel,body.editor-active #topbar{position:relative}body.editor-active #left-panel:after,body.editor-active #topbar:after{content:"";position:absolute;inset:0;background:#05140ad9;z-index:90;pointer-events:all;cursor:not-allowed;border-radius:inherit}body.editor-active #right-panel>.panel-tabs,body.editor-active #rtab-props,body.editor-active #rtab-material{position:relative}body.editor-active #right-panel>.panel-tabs:after,body.editor-active #rtab-props:after,body.editor-active #rtab-material:after{content:"";position:absolute;inset:0;background:#05140ad9;z-index:90;pointer-events:all;cursor:not-allowed}body.mobile #left-panel,body.mobile #right-panel,body.mobile #topbar,body.mobile #statusbar,body.mobile #editor-console{display:none!important}body.mobile #viewport{width:100vw}body.mobile .map-modal{width:95vw;max-width:95vw;max-height:90vh;border-radius:12px}body.mobile .map-card{flex-direction:column;align-items:stretch;gap:8px}body.mobile .map-card-name{min-width:auto;font-size:16px}body.mobile .map-card-desc{font-size:12px}body.mobile .map-card-actions{justify-content:flex-end}body.mobile .map-card-btn{padding:10px 20px;font-size:13px}body.mobile .map-card-play{padding:10px 24px;font-size:14px}body.mobile .map-tabs .map-tab{padding:14px 18px;font-size:13px}body.mobile .map-modal-title{font-size:22px}body.mobile .map-bottom-btn{padding:12px 20px;font-size:13px}body.mobile #test-hint,body.mobile.playing #statusbar,body.mobile #minimap,body.mobile #gb-overlay,body.mobile #gb-status,body.mobile #gb-crosshair,body.mobile [id^=gb-],body.mobile #build-hotbar,body.mobile #build-hint,body.mobile #tab-hint,body.mobile #map-hint,body.mobile #player-hud{display:none!important}#map-selector{display:none;position:fixed;inset:0;z-index:9999;background:#052e16d9;align-items:center;justify-content:center}.map-modal{background:linear-gradient(160deg,#0a3d1e,#14532d 40%,#166534);border:2px solid #4ade80;border-radius:16px;width:660px;max-width:92vw;max-height:82vh;display:flex;flex-direction:column;box-shadow:0 0 40px #4ade8033,0 20px 60px #00000080}.map-modal-header{padding:18px 24px;border-bottom:1px solid rgba(74,222,128,.25);display:flex;align-items:center;justify-content:space-between}.map-modal-title{font-size:20px;font-weight:900;letter-spacing:1px;color:#ecfdf5;text-transform:uppercase;text-shadow:0 0 20px rgba(74,222,128,.4)}.map-modal-close{background:none;border:none;color:#86efac;font-size:24px;cursor:pointer;padding:4px 8px;transition:all .15s}.map-modal-close:hover{color:#fff;text-shadow:0 0 8px rgba(255,255,255,.5)}.map-tabs{display:flex;gap:2px;padding:0 24px;background:#0003;border-bottom:1px solid rgba(74,222,128,.2)}.map-tab{padding:12px 18px;font-size:12px;font-weight:700;color:#86efac;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s;text-transform:uppercase;letter-spacing:.5px}.map-tab:hover{color:#ecfdf5}.map-tab.active{color:#4ade80;border-bottom-color:#4ade80;text-shadow:0 0 10px rgba(74,222,128,.5)}.map-grid{padding:16px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;flex:1}.map-card{background:#ffffff14;border:1px solid rgba(74,222,128,.3);border-radius:12px;padding:16px 18px;display:flex;align-items:center;gap:14px;transition:all .2s;backdrop-filter:blur(4px)}.map-card:hover{border-color:#4ade80;background:#4ade801f;transform:translateY(-1px);box-shadow:0 4px 16px #4ade8026}.map-card-name{font-size:15px;font-weight:800;color:#ecfdf5;min-width:140px;letter-spacing:.3px}.map-card-desc{font-size:11px;color:#a7f3d0;flex:1}.map-card-actions{display:flex;gap:6px;flex-shrink:0}.map-card-btn{padding:7px 16px;border-radius:8px;border:1px solid rgba(74,222,128,.3);background:#ffffff0f;color:#bbf7d0;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .15s;text-transform:uppercase;letter-spacing:.3px}.map-card-btn:hover{background:#4ade8026;border-color:#4ade80;color:#ecfdf5}.map-card-play{background:linear-gradient(135deg,#16a34a,#22c55e);border-color:#4ade80;color:#fff;box-shadow:0 0 12px #22c55e4d}.map-card-play:hover{background:linear-gradient(135deg,#15803d,#16a34a);box-shadow:0 0 20px #22c55e80;transform:scale(1.03)}.map-card-del{border-color:#ef444466;color:#fca5a5}.map-card-del:hover{background:#ef444426;border-color:#ef4444}.map-bottom{padding:14px 24px;border-top:1px solid rgba(74,222,128,.2);display:flex;gap:8px;justify-content:flex-end}.map-bottom-btn{padding:9px 18px;border-radius:8px;border:1px solid rgba(74,222,128,.3);background:#ffffff0f;color:#bbf7d0;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .15s;text-transform:uppercase;letter-spacing:.3px}.map-bottom-btn:hover{background:#4ade8026;border-color:#4ade80;color:#ecfdf5}
