:root{--bg-color: #050507;--panel-bg: rgba(15, 15, 20, .85);--panel-border: rgba(255, 255, 255, .08);--accent-color: #7d26ff;--accent-glow: rgba(125, 38, 255, .4);--primary: #f2ca50;--text-primary: #f0f0f5;--text-secondary: #9494a1;--input-bg: rgba(255, 255, 255, .04);--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--shadow-premium: 0 12px 40px rgba(0, 0, 0, .6)}body{margin:0;overflow:hidden;background-color:var(--bg-color);color:var(--text-primary);font-family:Outfit,Inter,sans-serif;-webkit-font-smoothing:antialiased;width:100vw;height:100vh}#canvas-container{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:0;background:#000}#splash-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;z-index:1000;display:flex;align-items:center;justify-content:center;transition:opacity var(--transition-slow)}.splash-content{text-align:center;width:300px}.splash-logo{width:64px;height:64px;color:var(--accent-color);filter:drop-shadow(0 0 15px var(--accent-glow));margin-bottom:24px}.logo-animation{animation:pulse-glow 2s infinite ease-in-out}@keyframes pulse-glow{0%,to{transform:scale(1);filter:drop-shadow(0 0 15px var(--accent-glow))}50%{transform:scale(1.1);filter:drop-shadow(0 0 30px var(--accent-glow))}}.loading-bar{width:100%;height:4px;background:#ffffff1a;border-radius:2px;margin:20px 0;overflow:hidden}.bar-progress{width:40%;height:100%;background:var(--accent-color);border-radius:2px;animation:loading-move 2s infinite ease-in-out}@keyframes loading-move{0%{transform:translate(-100%)}to{transform:translate(250%)}}#ui-overlay{position:absolute;top:20px;left:20px;z-index:100;background:var(--panel-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:0;border-radius:20px;border:1px solid var(--panel-border);width:280px;max-height:calc(100vh - 40px);box-shadow:var(--shadow-premium);display:flex;flex-direction:column;overflow:hidden;animation:slide-in .6s ease-out}#dashboard-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:2000;background:#0a0a0f;display:flex;align-items:center;justify-content:center;transition:opacity .6s cubic-bezier(.4,0,.2,1)}.dashboard-window{width:900px;max-height:90vh;background:#14141efa;border:1px solid var(--panel-border);border-radius:32px;padding:50px;box-shadow:0 50px 150px #000000e6;text-align:center;display:flex;flex-direction:column}.map-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:40px 0;overflow-y:auto;padding-right:15px;flex:1}.map-grid::-webkit-scrollbar{width:4px}.map-grid::-webkit-scrollbar-thumb{background:var(--accent-color);border-radius:4px}.map-card{background:#ffffff08;border:1px solid var(--panel-border);border-radius:16px;padding:15px;cursor:pointer;transition:all .3s ease}.map-card:hover{background:#ffffff14;transform:translateY(-5px);border-color:var(--accent-color)}.map-card .icon-box{height:100px;background:#00000080;border-radius:12px;margin-bottom:12px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(255,255,255,.05)}.map-card .icon-box img{width:100%;height:100%;object-fit:cover;filter:brightness(.8) contrast(1.1);transition:transform .4s ease}.map-card:hover .icon-box img{transform:scale(1.1) rotate(1deg);filter:brightness(1)}.map-card h4{margin:0;font-size:14px}.map-card p{font-size:10px;opacity:.6;margin:5px 0 0}.new-project-card{border:2px dashed var(--panel-border);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--accent-color)}.new-project-card:hover{border-color:var(--accent-color);background:#6a00ff0d}@keyframes slide-in{0%{transform:translate(-30px);opacity:0}to{transform:translate(0);opacity:1}}.header-section{padding:24px 24px 16px;border-bottom:1px solid var(--panel-border)}.shimmer:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 45%,rgba(255,255,255,.03) 50%,transparent 55%);animation:shimmer 6s infinite linear;pointer-events:none}@keyframes shimmer{0%{transform:translate(-30%,-30%)}to{transform:translate(30%,30%)}}h1{margin:0;font-size:20px;font-weight:700;background:linear-gradient(135deg,#fff 30%,var(--accent-color) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.view-toggle-container{display:grid;grid-template-columns:1fr 1fr;padding:8px;background:#0003;gap:4px}.toggle-btn{background:transparent;border:none;padding:10px;border-radius:12px;color:var(--text-secondary);font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:var(--transition-fast)}.toggle-btn i{width:16px;height:16px}.toggle-btn.active{background:var(--accent-color);color:#fff;box-shadow:0 4px 15px var(--accent-glow)}.tabs-header{display:flex;padding:12px 12px 0;gap:4px}.tab-btn{flex:1;background:transparent;border:none;color:var(--text-secondary);padding:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;cursor:pointer;border-radius:8px 8px 0 0;transition:var(--transition-fast);border-bottom:2px solid transparent}.tab-btn:hover{color:#fff}.tab-btn.active{color:var(--accent-color);border-bottom-color:var(--accent-color)}.tab-content{padding:20px 24px;display:none}.tab-content.active{display:block;animation:fade-up .3s ease-out}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.control-group{margin-bottom:16px;display:flex;flex-direction:column;gap:8px}label{font-size:10px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;display:flex;justify-content:space-between}label span{color:var(--accent-color);font-weight:800}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;background:var(--input-bg);border-radius:2px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:#fff;border-radius:50%;box-shadow:0 0 10px var(--accent-glow);cursor:pointer;transition:var(--transition-fast)}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.3);background:var(--accent-color)}.toolbar-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.tool-btn{aspect-ratio:1;background:var(--input-bg);border:1px solid var(--panel-border);border-radius:10px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-fast)}.tool-btn:hover{background:#ffffff14;color:#fff}.tool-btn.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.tool-btn i{width:18px;height:18px}.primary-btn{background:var(--accent-color);color:#fff;border:none;padding:12px;border-radius:12px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:var(--transition-fast);box-shadow:0 4px 15px var(--accent-glow)}.primary-btn:hover{transform:translateY(-2px);filter:brightness(1.1);box-shadow:0 8px 25px var(--accent-glow)}.secondary-btn{background:var(--input-bg);color:#fff;border:1px solid var(--panel-border);padding:10px;border-radius:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}.grid-2-col{display:grid;grid-template-columns:1fr 1fr}.w-full{width:100%}.border-t{border-top:1px solid rgba(255,255,255,.1)}#mini-map-container{padding:12px 24px 24px;background:#0000004d}.mini-map-wrapper{width:100%;aspect-ratio:1;border-radius:12px;overflow:hidden;border:1px solid var(--panel-border);background:#000}#mini-map-canvas{width:100%;height:100%;image-rendering:pixelated}#main-2d-view{position:absolute;top:0;right:0;bottom:0;left:0;background:#08080a;display:flex;align-items:center;justify-content:center;z-index:50;overflow:auto;padding:100px}#main-2d-canvas{box-shadow:0 0 100px #000;image-rendering:pixelated;cursor:crosshair;border:1px solid rgba(255,255,255,.1);transform-origin:center center;background-color:#000}#stats-overlay{position:absolute;bottom:20px;right:20px;padding:12px 20px;display:flex;gap:20px;border-radius:15px;background:#0f0f14b3;z-index:100}#view-controls{position:absolute;top:30px;left:50%;transform:translate(-50%);padding:10px;display:flex;gap:12px;border-radius:50px;background:#0f0f14b3;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--panel-border);box-shadow:var(--shadow-premium);z-index:200}.zoom-controls{position:absolute;bottom:25px;left:450px;background:#0f0f14cc;padding:8px 15px;border-radius:12px;color:var(--text-secondary);font-size:11px;border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:150;display:flex;gap:10px;align-items:center}.zoom-controls kbd{background:#222;padding:2px 5px;border-radius:4px;color:var(--accent-color);font-family:monospace;border:1px solid rgba(255,255,255,.1)}.top-right{top:20px;right:20px}.view-overlay{position:absolute;top:30px;right:30px;background:var(--accent-color);padding:10px 20px;border-radius:30px;font-size:12px;font-weight:800;letter-spacing:2px;box-shadow:0 0 20px var(--accent-glow)}select{background:var(--input-bg);color:#fff;border:1px solid var(--panel-border);padding:10px;border-radius:10px;font-family:inherit;outline:none;cursor:pointer;transition:var(--transition-fast)}select:hover{border-color:#fff3}.palette-box{width:28px;height:28px;border-radius:6px;cursor:pointer;border:1px solid rgba(255,255,255,.1);transition:var(--transition-fast);position:relative;overflow:hidden;background-size:cover;background-position:center}.palette-box:hover{transform:scale(1.15);border-color:var(--accent-color);z-index:10}.palette-box.active{border-color:#fff;box-shadow:0 0 15px var(--accent-glow);transform:scale(1.1)}.palette-box .biome-label{position:absolute;bottom:0;left:0;right:0;font-size:7px;background:#000000b3;color:#fff;text-align:center;padding:2px 0;opacity:0;transition:opacity .2s}.palette-box:hover .biome-label{opacity:1}option{background-color:#121214;color:#fff;padding:10px}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-thumb{background:var(--panel-border);border-radius:10px}.hidden{display:none!important}.flex-row{display:flex}.gap-small{gap:8px}.flex-1{flex:1}.mb-10{margin-bottom:10px}.mb-15{margin-bottom:15px}.mt-10{margin-top:10px}.text-muted{color:var(--text-secondary);font-size:11px;text-align:center}.text-tiny{font-size:10px}.text-muted-inline{color:var(--text-secondary)}.tabs-scroll-area{overflow-y:auto;overflow-x:hidden;max-height:calc(100vh - 220px);padding-bottom:20px;scrollbar-width:thin;scrollbar-color:var(--accent-color) transparent}.tabs-scroll-area::-webkit-scrollbar{width:4px}.tabs-scroll-area::-webkit-scrollbar-track{background:transparent}.tabs-scroll-area::-webkit-scrollbar-thumb{background:var(--accent-color);border-radius:10px}#dynamic-palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:10px;max-height:250px;overflow-y:auto;padding:12px;background:#0003;border-radius:12px;border:1px solid rgba(255,255,255,.05)}#dynamic-palette::-webkit-scrollbar{width:6px}#dynamic-palette::-webkit-scrollbar-thumb{background:var(--accent-color);border-radius:10px}.palette-item{width:44px;height:44px;border-radius:10px;border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;justify-content:center;padding:0;box-shadow:0 2px 8px #0006}.palette-item:hover{transform:scale(1.15);border-color:#fff;box-shadow:0 0 10px var(--accent-glow);z-index:10}.palette-item.active{border-color:var(--accent-color);border-width:2px;box-shadow:0 0 15px var(--accent-glow)}.palette-item i{width:16px;height:16px;color:#fff;filter:drop-shadow(0 0 2px black)}#view-controls{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:100;background:var(--panel-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--panel-border);padding:6px 12px;display:flex;flex-direction:row;align-items:center;border-radius:50px;box-shadow:var(--shadow-premium)}.v-divider{width:1px;height:18px;background:#ffffff1a;margin:0 10px}.flex-row{display:flex;flex-direction:row;align-items:center}.gap-5{gap:5px}.op-10{opacity:.1}.my-10{margin-top:10px;margin-bottom:10px}.layer-list{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto}.layer-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#ffffff08;border-radius:8px;border:1px solid rgba(255,255,255,.06)}.layer-item .layer-vis-toggle input{display:none}.layer-item .toggle-indicator{width:32px;height:18px;background:#ffffff26;border-radius:10px;display:inline-block;position:relative;cursor:pointer;transition:.2s}.layer-item .toggle-indicator:after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:#888;top:2px;left:2px;transition:.2s}.layer-item .layer-vis-toggle input:checked+.toggle-indicator{background:var(--accent-color)}.layer-item .layer-vis-toggle input:checked+.toggle-indicator:after{left:16px;background:#fff}.layer-preview{width:24px;height:24px;border-radius:4px;flex-shrink:0}.layer-name{flex:1;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.layer-opacity{width:60px!important;flex-shrink:0}.layer-opacity-val{font-size:9px;color:var(--text-secondary);width:30px;text-align:right}.zone-preset-btn{padding:4px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--text-secondary);font-size:10px;cursor:pointer;transition:.15s}.zone-preset-btn:hover,.zone-preset-btn.active{border-color:var(--accent-color);background:#7d26ff26;color:#fff}.w-40{width:40px}.h-30{height:30px}.zone-list{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.zone-item{display:flex;align-items:center;gap:6px;padding:6px 8px;background:#ffffff08;border-radius:6px;font-size:11px}.zone-color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.zone-item-name{flex:1}.zone-delete-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:2px;border-radius:4px}.zone-delete-btn:hover{background:#ff323233;color:#f44}.texture-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-height:400px;overflow-y:auto;padding:4px}.texture-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;background:#ffffff08;border-radius:8px;border:1px solid rgba(255,255,255,.06)}.texture-item span{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.tex-box{width:80px;height:80px;border-radius:8px;border:2px dashed rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:24px;transition:.2s;background-size:cover;background-position:center}.tex-box:hover{border-color:var(--accent-color);transform:scale(1.05)}.tex-box.has-image{border-style:solid;border-color:var(--accent-color)}#tile-stats{background:#0003;padding:6px 8px;border-radius:4px;font-family:monospace}.flex-column{display:flex;flex-direction:column}.pt-10{padding-top:10px}.border-t{border-top:1px solid rgba(255,255,255,.05)}#cloud-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2;opacity:.6}#stamp-drop-zone{border:2px dashed rgba(255,255,255,.15);border-radius:8px;padding:12px;text-align:center;cursor:pointer;transition:.2s;min-height:80px;display:flex;align-items:center;justify-content:center}#stamp-drop-zone:hover{border-color:var(--accent-color);background:#7d26ff0d}.stamp-placeholder{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--text-secondary)}.stamp-placeholder i,.w-20,.h-20{width:20px;height:20px}#app-container.split-mode{display:grid;grid-template-columns:1fr 1fr;gap:2px;height:100vh;width:100vw;overflow:hidden}#app-container.split-mode #canvas-container{width:100%!important;height:100%!important;position:relative!important}#app-container.split-mode #main-2d-view{position:relative!important;width:100%!important;height:100%!important;display:flex!important;align-items:center;justify-content:center;background:var(--bg-color);border-left:2px solid var(--accent-color)}.hole-brush-cursor,#canvas-container.hole-mode{cursor:crosshair}#poi-panel{position:fixed;top:208px;right:20px;z-index:100;width:120px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-size:10px;max-height:200px;overflow:hidden;display:flex;flex-direction:column}.poi-header{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.06)}.poi-title{display:flex;align-items:center;gap:4px;font-weight:700;color:var(--text-secondary);font-size:9px;text-transform:uppercase}.poi-add-btn{background:var(--accent-color);border:none;color:#fff;width:18px;height:18px;border-radius:50%;cursor:pointer;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;transition:.15s}.poi-add-btn:hover{transform:scale(1.2)}.poi-list{overflow-y:auto;flex:1;max-height:150px}.poi-empty-msg{padding:8px;text-align:center}.poi-item{display:flex;align-items:center;gap:4px;padding:4px 8px;cursor:pointer;transition:.1s;border-bottom:1px solid rgba(255,255,255,.03)}.poi-item:hover{background:#7d26ff26}.poi-item-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9px}.poi-item-delete{background:none;border:none;color:#ff505080;cursor:pointer;padding:2px;font-size:10px;line-height:1}.poi-item-delete:hover{color:#f44}#view-cube-container{position:fixed;top:80px;right:20px;z-index:100;width:120px;height:120px;cursor:pointer;border-radius:8px;background:#0000004d;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:opacity .3s}#view-cube-container:hover{opacity:1!important}#view-cube-canvas{width:120px;height:120px;display:block;border-radius:8px}.view-cube-labels{display:none}.view-cube-container .vc-label{position:absolute;font-size:8px;font-weight:700;color:#fff9;pointer-events:none;text-shadow:0 0 4px rgba(0,0,0,.8)}.vc-top{top:4px;left:50%;transform:translate(-50%)}.vc-bottom{bottom:4px;left:50%;transform:translate(-50%)}.vc-left{left:4px;top:50%;transform:translateY(-50%)}.vc-right{right:4px;top:50%;transform:translateY(-50%)}.vc-front,.vc-back{display:none}
