:root{color-scheme:dark;--bg:#111217;--panel:#191b22;--panel2:#20232c;--line:#30333e;--text:#eceef4;--muted:#9297a7;--accent:#f4c542;--danger:#f06d78;--radius:6px;font-family:Inter,Pretendard,"Noto Sans KR",system-ui,sans-serif}
*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--text)}button,.button,input{font:inherit}button,.button{border:1px solid var(--line);background:#262934;color:var(--text);border-radius:5px;padding:7px 10px;cursor:pointer;transition:.15s}.button{display:inline-flex;align-items:center;justify-content:center}button:hover,.button:hover{border-color:#555b6d;background:#303440}.primary{background:var(--accent);border-color:var(--accent);color:#18150a;font-weight:800}.danger{color:#ff9ca4}input{background:#101116;border:1px solid var(--line);color:var(--text);border-radius:4px;padding:6px 8px}input[type=file]{display:none}.topbar{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid var(--line);background:#15161b}.brand{display:flex;align-items:center;gap:10px;font-size:14px}.mark{display:grid;place-items:center;width:30px;height:30px;background:var(--accent);color:#191506;font-weight:900;border-radius:4px}.brand>span:last-child{font-size:12px;color:var(--muted);font-weight:400;border-left:1px solid var(--line);padding-left:10px}.top-actions{display:flex;gap:7px}.workspace{height:calc(100% - 54px);display:grid;grid-template-columns:278px minmax(320px,1fr) 310px}.panel{background:var(--panel);overflow:auto}.left-panel{border-right:1px solid var(--line)}.right-panel{border-left:1px solid var(--line)}section{padding:14px;border-bottom:1px solid var(--line)}.section-head{height:30px;display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.section-head h2{font-size:13px;letter-spacing:.06em;margin:0;color:#c9cbd4}.field-row{display:flex;align-items:center;gap:7px;margin:8px 0;color:var(--muted);font-size:13px}.field-row label{width:65px}.field-row input{width:55px}.wide,.wide-input{width:100%}.tiles-section{min-height:170px}.tile-list{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.tile-item{aspect-ratio:1;position:relative;padding:5px;background:#111217;image-rendering:pixelated}.tile-item.active{outline:2px solid var(--accent);border-color:transparent}.tile-item canvas{width:100%;height:100%;image-rendering:pixelated}.tile-item span{position:absolute;left:3px;right:3px;bottom:3px;padding:2px;background:#111c;text-align:center;white-space:nowrap;overflow:hidden;font-size:10px}.tile-source-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0}.tile-source-grid>div{display:grid;gap:6px;font-size:11px;color:var(--muted)}.tile-source-grid canvas{width:100%;aspect-ratio:1;background-color:#111;background-image:linear-gradient(45deg,#272a32 25%,transparent 25%),linear-gradient(-45deg,#272a32 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#272a32 75%),linear-gradient(-45deg,transparent 75%,#272a32 75%);background-size:12px 12px;background-position:0 0,0 6px,6px -6px,-6px 0;image-rendering:pixelated;border:1px solid var(--line)}.small{font-size:11px;padding:5px}.map-area{min-width:0;display:flex;flex-direction:column;background:#0d0e12;padding:0;border:0}.map-toolbar,.statusbar{height:44px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 10px;background:#191b22;border-bottom:1px solid var(--line)}.tool-group,.zoom{display:flex;gap:5px;align-items:center}.icon{width:32px;height:32px;padding:0;display:grid;place-items:center}.active{background:#4a4224!important;border-color:var(--accent)!important;color:#ffe889!important}.tool-hint,.statusbar{font-size:12px;color:var(--muted)}kbd{background:#0f1015;border:1px solid #3b3e49;border-radius:3px;padding:2px 4px}.map-viewport{flex:1;overflow:auto;display:grid;place-items:center;background-color:#101116;background-image:linear-gradient(45deg,#15171d 25%,transparent 25%),linear-gradient(-45deg,#15171d 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#15171d 75%),linear-gradient(-45deg,transparent 75%,#15171d 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}.map-viewport canvas{background:#08090c;image-rendering:pixelated;box-shadow:0 0 0 1px #30333e,0 18px 60px #0008}.statusbar{height:27px;border-top:1px solid var(--line);border-bottom:0}.editor-toolbar,.edit-target{display:flex;gap:5px;margin-bottom:8px}.editor-toolbar button,.edit-target button{flex:1;font-size:12px}.edit-target button{padding:5px}#pixelCanvas{display:block;width:100%;aspect-ratio:1;background:#101116;border:1px solid var(--line);image-rendering:pixelated;cursor:crosshair}.color-section{padding-bottom:20px}#colorWheel{display:block;width:min(100%,260px);height:auto;margin:auto;cursor:crosshair}#hexValue{font-family:ui-monospace,monospace;color:var(--accent)}.color-readout{display:flex;align-items:center;gap:9px;margin:4px 0 10px}.color-readout span{width:34px;height:34px;border-radius:4px;border:1px solid #fff4}.color-readout div{display:grid}.color-readout small{font-size:11px;color:var(--muted)}.hsv-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.hsv-row label{font-size:11px;color:var(--muted)}.hsv-row input{width:100%;margin-top:4px}dialog{width:min(850px,92vw);max-height:90vh;padding:0;border:1px solid #424654;border-radius:8px;background:#191b22;color:var(--text);box-shadow:0 30px 100px #000b}dialog::backdrop{background:#050609c9}.dialog-card{display:flex;flex-direction:column;max-height:90vh}.dialog-head,.dialog-foot{display:flex;align-items:center;justify-content:space-between;padding:14px 16px}.dialog-head{border-bottom:1px solid var(--line)}.dialog-head h2{margin:0;font-size:16px}.dialog-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.crop-stage{overflow:auto;min-height:300px;padding:24px;background:#0d0e12}.crop-stage canvas{display:block;margin:auto;image-rendering:pixelated;background:#111;box-shadow:0 0 0 1px #555}.dialog-foot{border-top:1px solid var(--line);color:var(--muted);font-size:12px}.dialog-foot div{display:flex;gap:7px}#toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,20px);padding:9px 14px;border-radius:5px;background:#f3f0e7;color:#171717;font-size:13px;font-weight:700;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}
.map-viewport.panning{cursor:grabbing;user-select:none}.map-viewport.panning canvas{pointer-events:none}.layer-help{margin:-5px 0 10px;color:var(--muted);font-size:10px;line-height:1.45}.tile-list{display:flex;flex-direction:column;gap:6px}.tile-layer{display:grid;grid-template-columns:1fr 27px;gap:5px;padding:4px;border:1px solid var(--line);border-radius:5px;background:#111217}.tile-layer.active{outline:2px solid var(--accent);border-color:transparent}.tile-layer .tile-item{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:8px;width:100%;height:44px;aspect-ratio:auto;padding:3px 8px;background:#171920;border:0;text-align:left}.tile-layer .tile-item canvas{width:36px;height:36px}.tile-layer .tile-item span{position:static;padding:0;background:none;text-align:left;font-size:11px}.layer-controls{display:grid;grid-template-rows:18px 1fr 1fr;gap:2px}.layer-controls input{width:27px;height:18px;padding:0;border:0;background:none;cursor:pointer}.layer-controls button{width:27px;padding:0;font-size:8px}.layer-controls button:disabled{opacity:.25;cursor:default}#toggleOverlay{min-width:76px;font-size:11px}.brush-settings{display:grid;gap:7px;margin:0 0 9px;padding:8px;background:#13151b;border:1px solid var(--line);border-radius:5px}.brush-settings label{display:grid;grid-template-columns:30px 1fr 34px;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.brush-settings input{width:100%;padding:0}.brush-settings output{text-align:right}.brush-settings>div{display:grid;grid-template-columns:1fr 1fr;gap:5px}.brush-settings button{padding:4px;font-size:11px}
@media(max-width:980px){.workspace{grid-template-columns:230px 1fr}.right-panel{position:fixed;right:0;top:54px;bottom:0;width:300px;box-shadow:-10px 0 30px #0008}.tool-hint{display:none}}@media(max-width:720px){.workspace{grid-template-columns:1fr}.left-panel,.right-panel{display:none}.top-actions button:not(.primary),.top-actions .button{display:none}}

/* Infinite-feeling camera workspace, floor layer, and three-state tile sources */
.map-viewport{position:relative;display:block;padding:0;overflow:hidden;overscroll-behavior:none;touch-action:none}.map-viewport canvas{position:absolute;left:0;top:0;display:block;transform-origin:0 0;will-change:transform}.tile-source-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.floor-section{background:#15171d}.floor-section.active{box-shadow:inset 3px 0 var(--accent)}.floor-textures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:8px 0 10px}.floor-textures>div{display:grid;gap:6px;font-size:11px;color:var(--muted)}.floor-textures canvas{width:100%;aspect-ratio:1;border:1px solid var(--line);image-rendering:pixelated;background-color:#111;background-image:linear-gradient(45deg,#272a32 25%,transparent 25%),linear-gradient(-45deg,#272a32 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#272a32 75%),linear-gradient(-45deg,transparent 75%,#272a32 75%);background-size:12px 12px;background-position:0 0,0 6px,6px -6px,-6px 0}.mobile-nav{display:none}

@media(max-width:720px){
  .topbar{height:48px;padding:0 7px;gap:6px}.brand{flex:none}.brand strong,.brand>span:last-child{display:none}.mark{width:32px;height:32px}.top-actions{min-width:0;flex:1;justify-content:flex-end;gap:4px;overflow-x:auto;scrollbar-width:none}.top-actions button,.top-actions .button,.top-actions button:not(.primary){display:inline-flex;flex:none;padding:6px 7px;font-size:11px;white-space:nowrap}
  .workspace{height:calc(100dvh - 102px);display:block}.map-area{display:flex;height:100%}.left-panel,.right-panel{display:none;position:fixed;z-index:20;left:0;right:0;top:48px;bottom:54px;width:auto;border:0;box-shadow:none;background:var(--panel);overflow:auto}.right-panel{padding-bottom:max(16px,env(safe-area-inset-bottom))}
  body[data-mobile-view="tiles"] .left-panel{display:block}body[data-mobile-view="edit"] .right-panel{display:block}
  .mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;position:fixed;z-index:30;left:0;right:0;bottom:0;height:54px;padding:5px max(6px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));background:#15161b;border-top:1px solid var(--line)}.mobile-nav button{min-width:0;padding:4px 2px;font-size:12px}.mobile-nav button span{display:block;font-size:9px;line-height:1.1}
  .map-toolbar{height:auto;min-height:84px;display:grid;grid-template-columns:1fr auto;gap:6px;padding:6px}.tool-group{grid-column:1/-1;overflow-x:auto;scrollbar-width:none}.tool-group .icon{flex:none;width:40px;height:40px;font-size:17px}.zoom{gap:4px}.zoom button{min-height:34px;padding:6px;font-size:11px}#zoomLabel{font-size:11px}.tool-hint{display:none}.statusbar{height:25px}
  section{padding:12px}.tile-source-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.tile-source-grid .button,.tile-source-grid button,.floor-textures .button,.floor-textures button{font-size:10px;padding:5px 2px}.right-panel>section:first-child{min-height:100%;display:flex;flex-direction:column}.editor-toolbar,.edit-target{overflow-x:auto;flex:none}.editor-toolbar button,.edit-target button{min-width:72px}#pixelCanvas{width:min(100%,58vh);margin:0 auto;flex:none}.color-section{padding-bottom:30px}#colorWheel{width:min(78vw,260px)}dialog{width:96vw;max-height:88dvh}.crop-stage{min-height:220px;padding:12px}
}

/* Direct manipulation for the mobile color wheel */
#colorWheel{touch-action:none;overscroll-behavior:contain;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
#colorWheel.adjusting{cursor:grabbing}

@media(min-width:721px){
  .edit-tabs{display:none}
  .right-panel [data-edit-pane]{display:block}
}

/* Tile editor mode tabs */
.edit-tabs{position:sticky;top:0;z-index:4;display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:10px;background:#15171df2;border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.edit-tabs button{min-height:38px;font-size:13px;font-weight:700}
.right-panel [data-edit-pane]{display:none}
.right-panel[data-edit-panel="pixels"] [data-edit-pane="pixels"],.right-panel[data-edit-panel="color"] [data-edit-pane="color"]{display:block}

@media(max-width:720px){
  .edit-tabs{padding:8px 10px;gap:8px}
  .edit-tabs button{min-height:44px;font-size:14px}
  .right-panel>.pixel-section{min-height:calc(100% - 61px);flex-direction:column}
  .right-panel[data-edit-panel="pixels"]>.pixel-section{display:flex}
  .right-panel>.color-section{min-height:calc(100% - 61px);padding:14px 18px 32px}
  .right-panel[data-edit-panel="color"]>.color-section{display:flex;flex-direction:column}
  .color-section .section-head{flex:none}
  #colorWheel{width:min(86vw,52dvh,420px);max-width:100%;margin:auto}
  .color-readout{margin-top:14px}
  .hsv-row{gap:10px}
  .hsv-row label{font-size:13px}
  .hsv-row input{min-height:44px;font-size:16px}
}

/* Desktop keeps pixel and color controls in one continuous panel. */
@media(min-width:721px){
  .right-panel>.edit-tabs{display:none!important}
  .right-panel>[data-edit-pane]{display:block!important}
}

/* Resizable desktop editor */
.editor-resizer{display:none;background:#15171d;border-left:1px solid var(--line);border-right:1px solid var(--line);cursor:col-resize;touch-action:none}
.editor-resizer:hover,.editor-resizer.dragging{background:var(--accent)}
@media(min-width:981px){
  .workspace{grid-template-columns:278px minmax(180px,1fr) 8px var(--editor-width,310px)}
  .editor-resizer{display:block}
  .right-panel{border-left:0}
  .right-panel.wide-editor{display:grid;grid-template-columns:minmax(320px,1fr) minmax(280px,.9fr);overflow:hidden}
  .right-panel.wide-editor>.pixel-section,.right-panel.wide-editor>.color-section{display:block!important;min-width:0;height:100%;overflow:auto}
  .right-panel.wide-editor #colorWheel{width:min(100%,360px)}
}

/* Layer FX and texture-copy controls */
.tile-layer{grid-template-columns:1fr 59px}
.layer-controls{display:grid;grid-template-columns:27px 27px;grid-template-rows:20px 20px;gap:3px}
.layer-controls input,.layer-controls button{width:27px!important;height:20px;padding:0}
.editor-toolbar{flex-wrap:wrap}
.editor-toolbar #importTexture{flex-basis:100%;min-height:36px}
.texture-import-card{width:min(520px,94vw)}.layer-effect-card{width:min(760px,94vw)}
.texture-import-options{display:grid;gap:8px;padding:18px}
.texture-import-options button{min-height:46px}
.layer-effect-body{display:grid;grid-template-columns:minmax(300px,1fr) 280px;gap:0}.layer-effect-options{display:grid;align-content:center;gap:14px;padding:18px;border-right:1px solid var(--line)}
.layer-effect-options>label:not(.effect-toggle){display:grid;grid-template-columns:68px 1fr 48px;align-items:center;gap:10px;color:var(--muted);font-size:13px}
.layer-effect-options input[type=range]{width:100%;padding:0}
.layer-effect-options output{text-align:right;color:var(--text)}
.effect-toggle{display:flex;align-items:center;gap:10px;font-weight:700}
.effect-toggle input{width:20px;height:20px}
.layer-effect-preview{padding:18px;background:#13151b}.layer-effect-preview>strong{display:block;margin-bottom:12px;font-size:13px}.effect-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.effect-preview-grid label{display:grid;gap:6px;text-align:center;color:var(--muted);font-size:11px}.effect-preview-grid canvas{display:block;width:100%;aspect-ratio:1;border:1px solid var(--line);image-rendering:pixelated;background-color:#111;background-image:linear-gradient(45deg,#272a32 25%,transparent 25%),linear-gradient(-45deg,#272a32 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#272a32 75%),linear-gradient(-45deg,transparent 75%,#272a32 75%);background-size:12px 12px;background-position:0 0,0 6px,6px -6px,-6px 0}
@media(max-width:620px){.layer-effect-body{grid-template-columns:1fr}.layer-effect-options{border-right:0;border-bottom:1px solid var(--line)}.layer-effect-preview{padding-top:14px}}
.inline-layer-effect{display:grid;gap:10px;margin-top:16px;padding:12px;border:1px solid var(--line);border-radius:6px;background:#13151b}.inline-layer-effect[hidden]{display:none}.inline-effect-head{display:flex;align-items:center;justify-content:space-between}.inline-effect-head strong{font-size:13px}.inline-effect-head button{padding:4px 7px;font-size:11px}.inline-layer-effect>label:not(.effect-toggle){display:grid;grid-template-columns:52px 1fr 42px;align-items:center;gap:7px;color:var(--muted);font-size:11px}.inline-layer-effect input[type=range]{width:100%;padding:0}.inline-layer-effect output{text-align:right;color:var(--text)}

/* Heightmap controls and read-only terrain preview */
.contour-section{background:#171922}.mini-toggle{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted)}.mini-toggle input{width:17px;height:17px}.height-value-row{display:grid;grid-template-columns:70px 58px 1fr;align-items:center;gap:7px;margin-bottom:8px;font-size:12px;color:var(--muted)}.height-value-row input{width:58px}.height-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:10px}.height-tools button{padding:6px 3px;font-size:11px}.contour-effect-group{display:grid;gap:5px;margin-top:8px;padding:8px;border:1px solid var(--line);border-radius:5px;background:#12141a}.contour-effect-group strong{font-size:11px}.contour-effect-group label{display:grid;grid-template-columns:14px 1fr 40px;align-items:center;gap:5px;color:var(--muted);font-size:10px}.contour-effect-group input{width:100%;padding:0}.contour-effect-group output{text-align:right;color:var(--text)}.height-mode .map-toolbar .tool-group{opacity:.32;pointer-events:none}.height-mode .contour-section{box-shadow:inset 3px 0 var(--accent)}
#terrainCanvas{display:none;width:100%;height:100%;background:#090a0e;box-shadow:none;touch-action:none}.preview3d-help{display:none;position:absolute;left:50%;bottom:12px;z-index:2;transform:translateX(-50%);padding:6px 10px;border:1px solid #ffffff24;border-radius:5px;background:#111b;color:var(--muted);font-size:11px;white-space:nowrap;pointer-events:none}.preview-3d #mapCanvas{display:none}.preview-3d #terrainCanvas{display:block!important;transform:none!important}.preview-3d .preview3d-help{display:block}.preview-3d .map-toolbar .tool-group,.preview-3d .map-toolbar .tool-hint{opacity:.3;pointer-events:none}
@media(max-width:720px){.floor-textures{grid-template-columns:repeat(3,minmax(0,1fr))}.contour-effect-group label{grid-template-columns:18px 1fr 46px;font-size:12px}.contour-effect-group input{min-height:32px}.preview3d-help{bottom:7px;max-width:calc(100% - 14px);overflow:hidden;text-overflow:ellipsis;font-size:10px}}
.height-brush-row{display:grid;grid-template-columns:70px 1fr 38px;align-items:center;gap:7px;margin-bottom:9px;color:var(--muted);font-size:11px}.height-brush-row input{width:100%;padding:0}.height-brush-row output{text-align:right;color:var(--text)}

.map-viewport.pan-tool{cursor:grab}.map-viewport.pan-tool.panning{cursor:grabbing}.preview-3d.map-viewport{cursor:default}

/* v43 tile layer actions */
.tile-layer{grid-template-columns:1fr 58px}.layer-controls{grid-template-columns:repeat(2,27px);grid-template-rows:repeat(3,18px);gap:2px}.layer-controls .layer-remove{color:#ff9ca4}.layer-controls .layer-remove:disabled{color:inherit}
.texture-import-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:8px;border:1px solid var(--line,#333);border-radius:8px}.texture-import-group strong{grid-column:1/-1;font-size:12px}.texture-import-group button{min-width:0}
.layer-add-buttons{display:flex;gap:4px;align-items:center}.layer-add-buttons button{white-space:nowrap}.tile-layer:has(.tile-item span){position:relative}

.pixel-nav-hint{display:block;margin-top:6px;text-align:center;color:var(--muted);font-size:10px;user-select:none}

.height-reset-box{margin-top:8px;padding-top:8px;border-top:1px solid #ffffff14}.height-reset-box>strong{display:block;margin-bottom:6px;font-size:11px;color:var(--muted)}.height-reset-list{display:grid;gap:4px;max-height:128px;overflow:auto}.height-reset-list button{width:100%;padding:6px 8px;text-align:left;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.connection-range-box{margin:10px 0;padding:10px;border:1px solid var(--line,#343944);border-radius:8px;background:#171a20}.connection-range-box>strong{display:block;margin-bottom:7px;font-size:12px}.connection-range-box>label{display:grid;grid-template-columns:72px 1fr 34px;gap:7px;align-items:center;margin:5px 0;font-size:11px}.connection-range-box input[type=range]{width:100%;min-width:0}.connection-range-box output{text-align:right;font-size:10px;color:var(--muted,#9aa3b2)}

.map-brush-settings{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:6px;background:rgba(255,255,255,.035);font-size:11px}.map-brush-settings label{display:flex;align-items:center;gap:5px;white-space:nowrap}.map-brush-settings input{width:82px}.map-brush-settings output{min-width:28px;text-align:right}.map-brush-settings button{padding:3px 6px;font-size:10px}
.connection-range-row{display:grid!important;grid-template-columns:70px minmax(80px,1fr) 34px auto;align-items:center;gap:6px}.random-pattern-control{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font-size:10px}.random-pattern-control input[type=number]{width:38px;padding:3px 2px}.random-pattern-control input[type=checkbox]{width:auto}.random-pattern-control output{min-width:42px;color:var(--muted)}
/* V2.8 export layer configuration */
.export-card{width:min(760px,94vw);max-height:88vh}.export-body{padding:16px;display:grid;gap:12px}.export-format{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:8px}.export-layer-list{display:grid;gap:6px;max-height:48vh;overflow:auto}.export-layer-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(130px,1fr) 72px;gap:8px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:6px;background:#13151b}.export-layer-row .kind{font-size:10px;color:var(--muted)}.export-layer-row label{display:flex;align-items:center;gap:5px;font-size:11px}.export-preset-row{display:flex;gap:8px;flex-wrap:wrap}.export-preset-row button{flex:1;min-width:180px}@media(max-width:620px){.export-layer-row{grid-template-columns:1fr}.export-format{grid-template-columns:1fr}}
/* V2.13: fourth tile texture slot (multiply shadow) */
.tile-source-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.tile-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.shadow-range-note{font-size:10px;color:var(--muted);white-space:nowrap}.shadow-range-row input[type="range"]{min-width:100px}

/* V2.16: texture connection controls live with the pixel editor. */
.pixel-connection-settings{margin:10px 0 8px}

.tile-group{margin:8px 0;border:1px solid var(--line);border-radius:6px;background:#101116}.tile-group-head{display:flex;gap:5px;align-items:center;padding:5px}.tile-group-head .tile-group-toggle{flex:1;text-align:left;font-size:11px;padding:5px 7px}.tile-group-head>button:last-child{font-size:10px;padding:5px 7px}.tile-group>.tile-list{padding:0 5px 5px}.tile-group.collapsed>.tile-list{display:none}.object-random-box{margin:9px 0;padding:8px;border:1px solid var(--line);border-radius:5px;background:#13151b}.object-random-box>label{display:grid;grid-template-columns:36px 1fr 42px;gap:6px;align-items:center;font-size:11px}.object-random-box>label input{width:100%;padding:0}.object-random-box>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:7px;font-size:10px}.object-random-box small{display:block;margin-top:6px;color:var(--muted);line-height:1.4}.tile-source-grid.object-mode>div:not(:first-child){display:none}

/* V2.35: freer map/editor split and responsive pixel workspace */
@media(min-width:981px){
  .right-panel{min-width:260px}
  .right-panel.wide-editor{grid-template-columns:minmax(360px,1.2fr) minmax(300px,.8fr)}
  .pixel-section #pixelCanvas{width:min(100%,calc(100vh - 250px));max-width:none;margin:0 auto}
  .right-panel.wide-editor .pixel-section #pixelCanvas{width:min(100%,calc(100vh - 170px))}
}
.object-random-inline{margin-top:16px;padding:12px;border:1px solid var(--line);border-radius:6px;background:#13151b;display:grid;gap:10px}
.object-random-inline[hidden]{display:none!important}
.object-random-row{display:grid;grid-template-columns:minmax(132px,auto) 1fr 48px;align-items:center;gap:9px;font-size:11px;color:var(--muted)}
.object-random-row>span{display:flex;align-items:center;gap:5px;color:var(--text)}
.object-random-row input[type=range]{width:100%;padding:0}
.object-random-row output{text-align:right;color:var(--text)}
.object-random-inline small{color:var(--muted);line-height:1.45}
/* V2.38: pixel shortcuts/view controls and toolbar alignment */
.pixel-history{display:flex;gap:6px}.pixel-history button{padding:5px 9px;font-size:11px;white-space:nowrap}.pixel-head{height:auto;min-height:30px}
.pixel-view-controls{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:7px;margin:8px 0 10px;padding:7px;border:1px solid var(--line);border-radius:6px;background:#13151b}.pixel-view-controls label{display:grid;grid-template-columns:auto minmax(80px,1fr) 38px;align-items:center;gap:7px;font-size:10px;color:var(--muted);white-space:nowrap}.pixel-view-controls input[type=range]{width:100%;padding:0}.pixel-view-controls output{text-align:right;color:var(--text)}.pixel-view-controls button{padding:5px 8px;font-size:10px;white-space:nowrap}
.map-toolbar{gap:8px}.map-toolbar>.tool-group{flex:0 0 auto}.map-toolbar>.map-brush-settings{flex:0 1 auto}.map-toolbar>.tool-hint{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-toolbar>.zoom{flex:0 0 auto}.zoom button{display:inline-flex;align-items:center;justify-content:center;min-height:32px;line-height:1.1;white-space:nowrap}.zoom #preview3D,.zoom #resetCamera,.zoom #toggleOverlay,.zoom #toggleGrid{min-width:max-content;padding-inline:9px}
.editor-toolbar button{min-width:84px;white-space:nowrap}
@media(max-width:1250px){.map-toolbar>.tool-hint{display:none}.map-toolbar{justify-content:space-between}.zoom button{padding-inline:7px;font-size:11px}}
@media(max-width:720px){.pixel-view-controls{grid-template-columns:1fr auto}.pixel-view-controls label{grid-column:1/-1}.pixel-history button{font-size:10px;padding:5px 7px}}
/* V2.40 export scale */
.export-top-row{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.export-scale{display:grid;grid-template-columns:auto 88px;align-items:center;gap:6px 8px}.export-scale input{width:88px}.export-scale span{grid-column:1/-1;font-size:11px;color:var(--muted,#8d93a1)}
.export-quarter-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:#13151b}.export-quarter-row label{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted)}.export-quarter-row input{padding:0}.export-quarter-row select{background:#101116;border:1px solid var(--line);color:var(--text);border-radius:4px;padding:6px}.export-quarter-row>span{font-size:10px;color:var(--muted)}

.quarter-preview-wrap{display:grid;gap:6px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#0e1015}.quarter-preview-wrap canvas{display:block;width:100%;height:180px;background:#090a0d;image-rendering:pixelated;image-rendering:crisp-edges}.quarter-preview-wrap span{font-size:10px;color:var(--muted)}#quarterApplyStatus{font-size:10px;color:var(--muted);font-weight:500}.export-quarter-row button{white-space:nowrap}

/* V2.45 per-tile visibility */
.tile-layer{grid-template-columns:1fr 58px}
.layer-controls{grid-template-columns:repeat(2,27px);grid-template-rows:repeat(4,18px);gap:2px}
.layer-controls .layer-visibility{font-size:11px;line-height:1}
.tile-layer.hidden-layer .tile-item{opacity:.42}
.tile-layer.hidden-layer .layer-visibility{opacity:.55}

/* V2.49 multi-map library */
.map-library{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.map-library-head{margin-bottom:6px}.map-library-head h2{font-size:12px}.map-library-head button{padding:5px 7px;font-size:11px}
.map-list{display:grid;gap:5px}.map-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:4px;align-items:center}
.map-row .map-select{text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px 8px}.map-row.active .map-select{background:#4a4224;border-color:var(--accent);color:#ffe889}
.map-row .map-action{padding:5px 7px;min-width:28px;font-size:11px}.map-row .map-delete{color:#ff9ca4}

/* v_beta1.4 panel organization */
.collapsible-section{padding:0!important;overflow:hidden}.section-collapse-head{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border:0;background:transparent;color:var(--text);font-weight:700;text-align:left}.section-collapse-body{padding:0 12px 12px}.collapsible-section.collapsed .section-collapse-body{display:none}.nested-settings{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.map-library-section{padding-bottom:10px}.tile-group.collapsed .tile-list{display:none}.tile-group.collapsed{padding-bottom:0}
.map-selected-tile{position:absolute;z-index:8;right:12px;top:12px;width:132px;padding:10px;border:1px solid var(--line);border-radius:10px;background:rgba(18,19,24,.92);backdrop-filter:blur(8px);display:grid;gap:7px;box-shadow:0 8px 24px rgba(0,0,0,.25)}.map-selected-tile strong{font-size:12px}.map-selected-tile canvas{width:48px;height:48px;justify-self:center;image-rendering:pixelated;border:1px solid var(--line);background:#0b0c10}.selected-tile-name{width:100%;min-width:0;text-align:center;background:#15161b;color:var(--text);border:1px solid var(--line);border-radius:6px;padding:5px}.map-selected-tile.empty canvas{opacity:.3}.map-selected-tile button{width:100%}
.editor-toolbar .button{display:inline-flex;align-items:center;justify-content:center}.editor-toolbar .button input{display:none}.color-brush-settings{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.collapsible-subpanel .subpanel-toggle{border:0;background:transparent;padding:0;color:inherit;font-weight:700;text-align:left}.collapsible-subpanel.collapsed .subpanel-body{display:none}.inline-effect-head>span{display:flex;gap:5px}.subpanel-body{display:grid;gap:8px;margin-top:8px}
.texture-import-group{display:grid;gap:7px}.texture-thumb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:7px}.texture-thumb{min-height:64px;padding:4px;display:grid;place-items:center}.texture-thumb canvas{width:56px;height:56px;image-rendering:pixelated;background:#0b0c10;border-radius:4px}
@media(max-width:720px){.map-selected-tile{right:8px;top:8px;width:112px;padding:8px}.map-selected-tile canvas{width:40px;height:40px}}
.map-library-head{display:flex;align-items:center;gap:6px}.map-library-head .section-collapse-head{flex:1}.map-library-head>#addMap{margin-right:10px}.map-library-section.collapsed .section-collapse-body{display:none}
.map-library-head{display:flex;align-items:center;gap:6px}.map-library-head .section-collapse-head{flex:1}.map-library-head>#addMap{margin-right:10px}.map-library-section.collapsed .section-collapse-body{display:none}

/* v_beta1.5 UI refinement */
.edit-tabs{display:none!important}
.right-panel>.pixel-section{display:block!important;min-height:100%;overflow:auto}
.right-order-brush{margin:10px 0}
#connectionRangeBox{margin:10px 0}
#inlineLayerEffect{margin:10px 0}
.compact-color-block{margin:10px 0 14px;padding:10px;border:1px solid var(--line);border-radius:6px;background:#13151b}
.compact-color-block #colorWheel{width:min(100%,180px);height:auto;margin:4px auto 8px}
.compact-color-block .color-readout{margin:2px 0 7px}
.compact-color-block .color-readout span{width:28px;height:28px}
.compact-color-block .section-head{margin-bottom:4px}

.asset-section{padding-bottom:10px}.asset-section.collapsed .section-collapse-body{display:none}
.asset-library-head{display:flex;align-items:center;gap:6px}.asset-library-head .section-collapse-head{flex:1}.asset-library-head>#addAsset{margin-right:10px}
.asset-list{display:flex;flex-direction:column;gap:6px}.asset-row{display:grid;grid-template-columns:1fr 28px;gap:5px;padding:4px;border:1px solid var(--line);border-radius:5px;background:#111217}.asset-row.active{outline:2px solid var(--accent);border-color:transparent}.asset-pick{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:8px;text-align:left;padding:4px 8px;background:#171920;border:0}.asset-pick canvas{width:44px;height:44px;image-rendering:pixelated;background:#0b0c10;border:1px solid var(--line)}.asset-pick span{font-size:11px;white-space:normal;overflow-wrap:anywhere}.asset-delete{width:28px;padding:0}
.asset-create-body{display:grid;gap:10px;padding:16px}.asset-create-body>label{display:grid;grid-template-columns:60px 1fr;align-items:center;gap:8px}.asset-size-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.asset-size-row label{display:flex;align-items:center;gap:6px}.asset-size-row input{width:80px}

.map-selected-tile{width:154px;padding:10px;gap:8px}
.map-selected-tile canvas{width:100%;height:auto;aspect-ratio:1;justify-self:stretch;image-rendering:pixelated;background:#0b0c10;border:1px solid var(--line)}
.map-selected-tile strong{text-align:center}.selected-tile-name{margin-top:0}

@media(max-width:720px){.map-selected-tile{width:128px}.map-selected-tile canvas{width:100%;height:auto}.compact-color-block #colorWheel{width:min(70vw,170px)}}

/* v_beta1.6 — responsive map toolbar, asset layers, split export preview */
.map-toolbar{height:auto!important;min-height:0!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;align-content:flex-start!important;overflow:visible!important}
.map-toolbar>.tool-group,.map-toolbar>.map-brush-settings,.map-toolbar>.zoom{display:flex;flex-wrap:wrap;max-width:100%;overflow:visible!important}.map-toolbar>.tool-hint{flex:1 1 180px}.map-toolbar>.zoom{margin-left:auto}.map-toolbar button{white-space:nowrap}
.asset-layer-panel{margin-top:10px;border:1px solid var(--line);border-radius:7px;background:#12141a;padding:8px}.asset-layer-head,.asset-layer-actions{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.asset-layer-head strong{margin-right:auto}.asset-layer-props{display:grid;gap:6px;margin:8px 0;padding:8px;border:1px solid var(--line);border-radius:5px}.asset-layer-props label{display:flex;align-items:center;gap:6px;font-size:11px}.asset-layer-list{display:grid;gap:3px;max-height:230px;overflow:auto;margin:7px 0}.asset-layer-row{display:grid;grid-template-columns:24px 1fr auto;gap:4px;align-items:center;padding:4px;border:1px solid transparent;border-radius:4px;background:#171920}.asset-layer-row.active{border-color:var(--accent)}.asset-layer-row.folder{font-weight:700;background:#1c1e26}.asset-layer-row input[type=text]{min-width:0;padding:4px 5px}.asset-layer-row .layer-meta{font-size:9px;color:var(--muted)}
.export-card{width:min(1180px,96vw)!important}.export-split-body{grid-template-columns:minmax(360px,.85fr) minmax(420px,1.15fr);align-items:stretch}.export-settings-pane{min-width:0;display:grid;gap:10px}.export-preview-pane{min-width:0;display:flex;flex-direction:column;gap:7px;border-left:1px solid var(--line);padding-left:12px}.export-preview-pane small,.asset-export-settings small{font-size:10px;color:var(--muted)}#exportMapPreviewViewport{position:relative;flex:1;min-height:360px;overflow:hidden;background:#090a0d;border:1px solid var(--line);border-radius:6px;cursor:grab}#exportMapPreviewViewport.dragging{cursor:grabbing}#exportMapPreview{position:absolute;left:0;top:0;image-rendering:pixelated;image-rendering:crisp-edges}.export-layer-row{grid-template-columns:minmax(95px,.8fr) minmax(105px,1fr) 62px}.asset-export-settings{border:1px solid var(--line);border-radius:6px;padding:8px;display:grid;gap:6px}#assetExportList{display:grid;gap:4px;max-height:160px;overflow:auto}.asset-export-row{display:grid;grid-template-columns:1fr 150px;gap:6px;align-items:center;font-size:11px}.asset-export-row select{width:100%}@media(max-width:900px){.export-split-body{grid-template-columns:1fr}.export-preview-pane{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:10px}#exportMapPreviewViewport{min-height:280px}}
