.map-desktop{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:8px;min-height:70vh;display:grid}.map-rail{box-sizing:border-box;align-items:center;gap:var(--space-1);padding:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-1);flex-flow:wrap;display:flex}.map-tool-btn{width:44px;height:44px;color:var(--ink-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.map-tool-btn:not(:disabled):hover{background:var(--surface-2);color:var(--ink)}.map-tool-btn.active{background:var(--mind);color:var(--void);border-color:var(--mind);box-shadow:inset 0 0 0 1px #00000040, var(--shadow-1)}.map-rail-sep{background:var(--line);width:1px;height:28px;margin:0 var(--space-1)}.map-rail-sep-wide{background:var(--line);width:1px;height:28px;margin:0 var(--space-4)}.map-tool-btn-danger{color:var(--chaos)}.map-tool-btn-danger:not(:disabled):hover{background:color-mix(in srgb, var(--chaos) 16%, transparent);color:var(--chaos)}.map-tool-btn-danger.active{background:var(--chaos);color:var(--void);border-color:var(--chaos)}.float-panel-body>.map-rail+.map-optbar{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--line)}.float-panel.docked-left .map-rail,.float-panel.docked-right .map-rail{flex-flow:column}.float-panel.docked-left .map-rail-sep,.float-panel.docked-right .map-rail-sep{width:28px;height:1px;margin:var(--space-1) 0}.map-optbar{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;min-height:40px;padding:6px 8px;display:flex}.map-optbar-tabs{background:var(--surface-2);border-radius:8px;flex-shrink:0;gap:2px;padding:2px;display:flex}.map-optbar-tab{width:32px;height:32px;color:var(--ink-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.map-optbar-tab:not(:disabled):hover{color:var(--ink)}.map-optbar-tab.active{background:var(--mind);color:var(--void)}.map-optbar-sep{background:var(--line);flex-shrink:0;align-self:stretch;width:1px;margin:2px 0}.map-optbar-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.map-optbar-hint{color:var(--ink-faint);flex-basis:100%;font-size:11px}.map-optbar .grid-size-label,.map-optbar .rsub{font-size:11px}.layer-picker-select{width:auto;min-width:108px;max-width:176px}.shape-menu{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex-direction:column;min-width:168px;padding:4px;display:flex;box-shadow:0 12px 32px -12px #0000008c}.shape-menu-row{color:var(--ink);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:7px 8px;font-size:12px;display:flex}.shape-menu-row:hover,.shape-menu-row:focus-visible{background:var(--surface-2)}.shape-menu-arrow{color:var(--ink-faint);font-size:10px}.shape-menu-sep{background:var(--line);height:1px;margin:4px 2px}.shape-menu-action{color:var(--ink-dim);font-style:italic}.shape-menu-flyout{border:1px solid var(--line);background:var(--surface);z-index:61;border-radius:8px;flex-direction:column;min-width:150px;max-height:260px;padding:4px;display:flex;overflow-y:auto;box-shadow:0 12px 32px -12px #0000008c}.shape-menu-item{color:var(--ink);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:flex}.shape-menu-item:hover,.shape-menu-item:focus-visible{background:var(--surface-2)}.shape-menu-item.active{background:var(--mind);color:var(--void)}.map-settings-section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:6px 0 2px;font-size:10px;font-weight:700}.map-settings-section-label:first-child{margin-top:0}.map-dock{flex-direction:column;gap:8px;max-height:calc(100vh - 16px);display:flex;position:sticky;top:8px;overflow-y:auto}.map-dock-inline{border:1px solid var(--line);background:var(--surface);border-radius:8px;margin-top:8px;padding:10px}.dock-panel{border:1px solid var(--line);border-radius:8px}.dock-head{width:100%;color:var(--ink);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:8px 10px;font-size:11px;display:flex}.dock-body{padding:0 10px 10px}.dock-body .card{box-shadow:none;background:0 0;border:none;margin-top:0!important;padding:0!important}.asset-grid{flex-wrap:wrap;gap:4px;max-height:260px;display:flex;overflow-y:auto}.asset-grid-lg{flex-wrap:wrap;gap:6px;display:flex}.recent-asset-bar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.recent-asset-clear{color:var(--ink-faint);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:11px;text-decoration:underline}.recent-asset-clear:not(:disabled):hover{color:var(--fury)}.asset-source-tab{border:1px solid var(--line);background:var(--surface-3);min-height:30px;color:var(--ink);cursor:pointer;border-radius:8px;padding:4px 12px;font-size:12px;font-weight:700;transition:background .12s,border-color .12s,color .12s}.asset-source-tab:not(:disabled):hover{background:var(--surface-2);border-color:var(--chaos)}.asset-source-tab.on{background:var(--chaos);border-color:var(--chaos);color:var(--void)}.layer-active-on{background:var(--calm);border-color:var(--calm);color:var(--void)}.layer-gm-on{background:var(--fury);border-color:var(--fury);color:var(--void)}.asset-cat-sidebar{border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;gap:2px;width:180px;padding:8px;display:flex;overflow-y:auto}.asset-cat-btn{width:100%;min-height:30px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex:none;align-items:center;gap:8px;padding:5px 8px;font-size:12.5px;font-weight:600;transition:background .12s,border-color .12s;display:flex}.asset-cat-btn:not(:disabled):hover{background:var(--surface-3)}.asset-cat-btn.on{background:var(--surface-3);border-color:var(--chaos);color:var(--chaos)}.asset-cat-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.asset-cat-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.asset-cat-count{flex-shrink:0}.asset-grid-lg .tray-item{transition:transform .1s,border-color .1s}.asset-grid-lg .tray-item:not(:disabled):hover{transform:translateY(-2px)}.asset-status{text-align:center;justify-content:center;align-items:center;min-height:120px;display:flex}.map-editor-cols{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.map-col-tokens{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex-direction:column;order:1;gap:6px;min-height:0;padding:8px;display:flex;overflow-y:auto}.map-col-canvas{order:2;min-width:0}.map-col-tray{order:3;min-height:0;padding-right:2px;overflow:hidden auto}.map-editor-fullscreen .map-editor-topbar{z-index:calc(var(--z-modal) + 10);padding:var(--space-2) var(--space-3);background:color-mix(in srgb, var(--void) 78%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--field-border);border-radius:0;position:absolute;top:0;left:0;right:0;margin:0!important}.map-editor-fullscreen{z-index:var(--z-modal);flex-direction:column;display:flex;overflow:hidden;border-radius:0!important;position:fixed!important;inset:0!important}html.map-editor-native-fullscreen-lock,html.map-editor-native-fullscreen-lock body{height:100%;overflow:hidden!important}.map-editor-dock-container{order:2;width:100%;min-width:0;height:100%;min-height:0;position:relative;overflow:hidden}.map-editor-dock-container>.map-col-canvas{box-sizing:border-box;position:absolute;inset:0;overflow:hidden}.map-editor-fullscreen .map-desktop{flex-direction:column;flex:1;min-height:0;display:flex}.map-editor-fullscreen .map-editor-cols{flex:1;min-height:0}.float-panel{border:1px solid var(--field-border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--void) 78%, transparent);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-3);min-height:var(--float-panel-min-h,34px);transition:box-shadow var(--motion-fast), opacity var(--motion-fast), left var(--motion-base) ease, top var(--motion-base) ease, width var(--motion-base) ease, height var(--motion-base) ease;flex-direction:column;display:flex;position:absolute;overflow:hidden}.float-panel.float-panel-dragging{opacity:.88}.float-panel-titlebar{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);background:var(--surface-3);border-bottom:1px solid var(--field-border);font-size:var(--text-sm);color:var(--ink-dim);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;flex:none;font-weight:600;display:flex}.float-panel-titlebar:active{cursor:grabbing}.float-panel-titlebar:focus-visible{outline:2px solid var(--chaos);outline-offset:-2px}.float-panel-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.float-panel-shortcut{font-size:var(--text-xs);color:var(--ink-faint);white-space:nowrap;flex:none;font-weight:400}.float-panel-actions{flex:none;align-items:center;gap:2px;display:flex}.float-panel-btn{width:22px;height:22px;color:var(--ink-dim);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:none;justify-content:center;align-items:center;font-size:13px;line-height:1;display:flex}.float-panel-btn:not(:disabled):hover{background:var(--surface);color:var(--ink)}.float-panel-btn:focus-visible{outline:2px solid var(--chaos);outline-offset:1px}.float-panel-menu-wrap{position:relative}.float-panel-menu{z-index:1;min-width:132px;padding:var(--space-1);background:var(--surface-3);border:1px solid var(--field-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-3);flex-direction:column;gap:1px;margin-top:4px;display:flex;position:absolute;top:100%;right:0}.float-panel-menu-item{text-align:left;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:var(--ink);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none}.float-panel-menu-item:not(:disabled):hover{background:var(--surface)}.float-panel-menu-item.active{color:var(--chaos);font-weight:700}.float-panel.docked-left .float-panel-menu{left:0;right:auto}.float-panel-body{min-height:0;padding:var(--space-2);border-radius:0 0 var(--radius-md) var(--radius-md);flex:1;overflow:auto}.float-resize-handle{z-index:1;position:absolute}.float-resize-handle:hover{background:color-mix(in srgb, var(--chaos) 55%, transparent)}.float-resize-corner{cursor:nwse-resize;width:16px;height:16px;bottom:0;right:0}.float-resize-left{cursor:ew-resize;width:6px;top:0;bottom:0;right:-3px}.float-resize-right{cursor:ew-resize;width:6px;top:0;bottom:0;left:-3px}.float-resize-top{cursor:ns-resize;height:6px;bottom:-3px;left:0;right:0}.float-resize-bottom{cursor:ns-resize;height:6px;top:-3px;left:0;right:0}.float-resize-w{cursor:ew-resize;width:6px;top:0;bottom:0;left:0}.float-resize-e{cursor:ew-resize;width:6px;top:0;bottom:0;right:0}.float-resize-n{cursor:ns-resize;height:6px;top:0;left:0;right:0}.float-resize-s{cursor:ns-resize;height:6px;bottom:0;left:0;right:0}.float-resize-nw{cursor:nwse-resize;z-index:2;width:16px;height:16px;top:0;left:0}.float-resize-ne{cursor:nesw-resize;z-index:2;width:16px;height:16px;top:0;right:0}.float-resize-sw{cursor:nesw-resize;z-index:2;width:16px;height:16px;bottom:0;left:0}.float-panel .float-resize-corner{z-index:2}.float-panel-dock-preview{background:color-mix(in srgb, var(--chaos) 45%, transparent);border-radius:2px}.map-tool-btn:not(:disabled):active,.map-tool-btn-danger:not(:disabled):active,.map-optbar-tab:not(:disabled):active,.asset-source-tab:not(:disabled):active,.asset-cat-btn:not(:disabled):active,.float-panel-btn:not(:disabled):active,.float-panel-menu-item:not(:disabled):active,.shape-menu-row:not(:disabled):active,.shape-menu-item:not(:disabled):active,.recent-asset-clear:not(:disabled):active{filter:var(--press-filter)}.map-tool-btn:not(:disabled):not(.active):active,.map-optbar-tab:not(:disabled):not(.active):active{background:var(--surface-3);color:var(--ink)}.asset-grid-lg .tray-item:not(:disabled):active{transform:translateY(0)}
