@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;700&display=swap";:root{color-scheme:dark;--bg: #0a1015;--bg-soft: #101a20;--panel: rgba(17, 25, 32, .78);--panel-strong: rgba(20, 30, 38, .94);--panel-edge: rgba(148, 181, 162, .14);--text: #edf2f7;--muted: #94a8b1;--accent: #d9a441;--accent-strong: #f0b552;--accent-soft: rgba(217, 164, 65, .16);--danger: #ef6b66;--success: #6fdca3;--info: #8ad8ff;--shadow: 0 18px 40px rgba(0, 0, 0, .35);--radius: 18px;--radius-sm: 12px;--radius-xs: 10px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:IBM Plex Sans,Segoe UI,sans-serif;color:var(--text);background:radial-gradient(circle at top left,rgba(214,161,83,.12),transparent 30%),radial-gradient(circle at right,rgba(38,138,120,.14),transparent 26%),linear-gradient(180deg,#132026,#0d1418 40%,#091015);overflow:hidden}body[data-screen=library]{overflow-y:auto}button,input,select{font:inherit;color:inherit}button{border:0;background:transparent;cursor:pointer}.app-shell{height:100dvh;display:grid;grid-template-rows:auto 1fr}body[data-screen=editor] .app-shell{grid-template-rows:1fr}.app-header{display:flex;align-items:center;justify-content:flex-start;gap:24px;padding:16px 24px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(180deg,#0a1014e6,#0a10148c);border-bottom:1px solid rgba(255,255,255,.06)}.brand-block{display:flex;align-items:center;gap:14px}.brand-block img{width:44px;height:44px;border-radius:14px;box-shadow:0 6px 14px #0000004d}.brand-block h1{margin:0;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1.25rem}.eyebrow{margin:0 0 4px;color:var(--accent-strong);text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;font-weight:600}.app-main{min-height:0;overflow:hidden}body[data-screen=library] .app-main{padding:20px 24px 28px;overflow:visible}.library-shell{display:grid;gap:18px}.hero-panel,.library-toolbar,.map-card,.control-card,.dialog-card,.empty-state,.map-meta-card,.editor-sidebar,.stage-frame,.stage-topbar{background:var(--panel);border:1px solid var(--panel-edge);border-radius:var(--radius);box-shadow:var(--shadow)}.library-toolbar{padding:18px 20px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px}.library-toolbar-copy h2{margin:0;font-family:Space Grotesk,sans-serif;font-size:1.28rem}.library-toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.hero-panel{padding:18px 20px;display:grid;grid-template-columns:minmax(280px,auto) minmax(0,1fr);align-items:center;gap:16px;position:relative;overflow:hidden}.hero-panel:after{content:"";position:absolute;inset:auto -80px -80px auto;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(217,164,65,.18),transparent 68%);pointer-events:none}.hero-copy-compact{display:flex;align-items:center}.hero-actions,.dialog-actions,.map-card-actions,.action-grid{display:flex;flex-wrap:wrap;gap:10px}.hero-actions{margin-top:14px}.hero-actions-compact{margin-top:0}.hero-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.hero-metrics-compact{justify-self:stretch}.hero-metrics article,.stats-grid article{padding:14px;border-radius:var(--radius-sm);background:#ffffff0a;border:1px solid rgba(255,255,255,.05)}.hero-metrics span,.stats-grid span{color:var(--muted);font-size:.78rem}.hero-metrics strong,.stats-grid strong{display:block;margin-top:6px;font-size:1.7rem;font-family:Space Grotesk,sans-serif}.section-header{display:flex;align-items:center;justify-content:space-between}.section-header h3{margin:0;font-family:Space Grotesk,sans-serif;font-size:1.1rem}.section-header p{color:var(--muted);margin:4px 0 0;font-size:.86rem}.section-header-compact{margin-top:2px}.map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.map-card{padding:14px;display:grid;gap:12px}.map-thumb{padding:0;position:relative;border-radius:var(--radius-sm);overflow:hidden;background:#05090c;cursor:pointer;border:1px solid rgba(255,255,255,.05)}.map-thumb-frame{display:block;position:relative;width:100%;aspect-ratio:16/10;overflow:hidden}.map-thumb-stage{position:absolute;top:0;left:50%;height:100%;min-width:100%;aspect-ratio:16/9;transform:translate(-50%)}.map-thumb-terrain,.map-thumb-shade,.map-thumb-overlay{position:absolute;top:0;right:0;bottom:0;left:0}.map-thumb-terrain{display:block;width:100%;height:100%;object-fit:fill}.map-thumb-shade{background:#04080a14}.map-thumb-overlay{pointer-events:none}.map-thumb-sprite{position:absolute;display:block;transform:translate(-50%,-50%);object-fit:contain}.map-mode-pill{position:absolute;left:10px;bottom:10px;padding:4px 10px;font-size:.72rem;font-weight:600;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#060a0db3}.map-card-body{display:grid;gap:10px}.map-card-head{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;align-items:center}.map-title-slot{min-width:0}.map-title-button{width:100%;padding:0;text-align:left}.map-card-body h4{margin:0;font-family:Space Grotesk,sans-serif;font-size:1.04rem}.map-card-body p{color:var(--muted);margin:0;font-size:.82rem}.map-card-updated{width:100%}.map-title-input{width:100%;padding:8px 10px;border-radius:10px;border:1px solid rgba(217,164,65,.35);background:#ffffff0a;color:var(--text)}.map-title-input:focus{outline:none;border-color:#d9a4418c;background:#ffffff0f}.library-action-icon{width:18px;height:18px;display:block;flex:0 0 auto}.map-card-actions{display:flex;align-items:center;gap:6px}.map-card-actions-wide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.card-icon-button{width:100%;min-height:42px;display:grid;place-items:center;border-radius:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:var(--text);transition:background .12s ease,border-color .12s ease,color .12s ease}.card-icon-button:hover{background:#ffffff14}.card-icon-button.danger{color:#ffd9d6}.card-icon-button.danger:hover{background:#ef6b6626;border-color:#ef6b6659}.primary-button,.secondary-button,.danger-button,.ghost-button{padding:10px 14px;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;transition:transform 80ms ease,background .12s ease,border-color .12s ease,opacity .12s ease;border:1px solid transparent}.primary-button:active,.secondary-button:active,.danger-button:active,.ghost-button:active{transform:translateY(1px)}.primary-button{background:linear-gradient(135deg,#dcab4b,#b77a24);color:#14100b}.primary-button.subtle{background:linear-gradient(135deg,#dcab4beb,#b77a24d6)}.primary-button:hover{filter:brightness(1.06)}.secondary-button,.danger-button,.ghost-button{background:#ffffff0a;border-color:#ffffff14;color:var(--text)}.secondary-button:hover,.danger-button:hover,.ghost-button:hover{background:#ffffff14}.danger-button{color:#ffd9d6}.danger-button:hover{background:#ef6b6626;border-color:#ef6b6666}.ghost-button{padding:6px 12px;font-size:.85rem}.compact{padding:8px 12px}.icon-button{width:34px;height:34px;display:grid;place-items:center;border-radius:var(--radius-xs);background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:var(--text);font-size:1.1rem;cursor:pointer;transition:background .12s ease,opacity .12s ease}.icon-button:hover:not(:disabled){background:#ffffff1a}.icon-button:disabled{opacity:.35;cursor:not-allowed}.visually-hidden,.file-button input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.empty-state{min-height:280px;padding:36px;display:grid;place-items:center;text-align:center;gap:14px}.empty-state h3{margin:0;font-family:Space Grotesk,sans-serif}.empty-state p{color:var(--muted)}.empty-state img{width:112px;opacity:.85}.empty-state.compact{min-height:140px}.loading-pulse{width:44px;height:44px;border-radius:50%;border:3px solid rgba(255,255,255,.08);border-top-color:var(--accent-strong);animation:spin .8s linear infinite}.dialog-scrim{position:fixed;top:0;right:0;bottom:0;left:0;padding:20px;display:grid;place-items:center;background:#030608b8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:30}.dialog-card{width:min(100%,420px);padding:22px;display:grid;gap:14px}.dialog-card h3{margin:0;font-family:Space Grotesk,sans-serif}.dialog-card p{margin:0;color:var(--muted)}.dialog-card.import-dialog{width:min(100%,640px)}.dialog-card input,.field-block input,.field-block select{width:100%;padding:11px 13px;border-radius:var(--radius-xs);background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:var(--text);transition:border-color .12s ease,background .12s ease}.dialog-card input:focus,.field-block input:focus,.field-block select:focus{outline:none;border-color:#d9a44180;background:#ffffff0f}.field-block select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#121b22f5;color:var(--text)}.field-block select option{background:#121b22;color:var(--text)}.dialog-actions{justify-content:flex-end}.dialog-error{color:#ffd9d6!important;padding:10px 12px;border-radius:var(--radius-xs);background:#ef6b661f;border:1px solid rgba(239,107,102,.22)}.import-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.upload-zone{min-height:170px;padding:18px;display:grid;align-content:center;gap:8px;text-align:center;border-radius:var(--radius-sm);border:1px dashed rgba(255,255,255,.18);background:linear-gradient(180deg,#ffffff08,#ffffff04),radial-gradient(circle at top,rgba(217,164,65,.12),transparent 45%);cursor:pointer;transition:border-color .12s ease,background .12s ease,transform 80ms ease}.upload-zone:hover{transform:translateY(-1px);border-color:#d9a44173;background:linear-gradient(180deg,#ffffff0d,#ffffff05),radial-gradient(circle at top,rgba(217,164,65,.18),transparent 45%)}.upload-zone.filled{border-style:solid;border-color:#6fdca361;background:linear-gradient(180deg,#6fdca314,#ffffff05),radial-gradient(circle at top,rgba(111,220,163,.14),transparent 45%)}.upload-zone strong{font-family:Space Grotesk,sans-serif;font-size:1rem}.upload-zone span{color:var(--muted);font-size:.82rem;line-height:1.45;overflow-wrap:anywhere}.editor-shell{height:100dvh;display:grid;grid-template-columns:320px minmax(0,1fr);gap:14px;padding:14px;overflow:hidden}.editor-sidebar{padding:14px;display:flex;flex-direction:column;gap:12px;min-height:0;overflow-y:auto;overscroll-behavior:contain}.editor-sidebar::-webkit-scrollbar{width:6px}.editor-sidebar::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.save-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#060a0d99;font-size:.78rem;color:var(--muted)}.save-badge .dot{width:8px;height:8px;border-radius:50%;background:var(--success)}.save-badge.dirty .dot{background:var(--accent-strong);animation:pulse 1.4s ease-in-out infinite}.save-badge.saving .dot{background:var(--info);animation:pulse .9s ease-in-out infinite}.save-badge.saved .dot{background:var(--success)}.map-meta-card{padding:12px;display:flex;align-items:center;gap:12px;border-radius:var(--radius-sm)}.meta-text{flex:1;min-width:0;display:grid;gap:4px}.meta-text h2{margin:0;font-family:Space Grotesk,sans-serif;font-size:1.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta-text span{color:var(--muted);font-size:.82rem}.meta-actions{display:flex;gap:6px}.map-name-button{width:100%;padding:0;text-align:left}.map-name-button:hover h2{color:var(--accent-strong)}.map-name-input{width:100%;padding:7px 10px;border-radius:10px;border:1px solid rgba(217,164,65,.35);background:#ffffff0a;color:var(--text);font-family:Space Grotesk,sans-serif;font-size:1.05rem;font-weight:700}.map-name-input:focus{outline:none;border-color:#d9a4418c;background:#ffffff0f}.sidebar-panels{flex:0 0 auto;min-height:auto;height:auto;overflow:visible;padding-right:0;display:grid;gap:10px;align-content:start}.control-card{padding:14px;display:grid;gap:14px}.control-panel{padding:0;gap:0;overflow:hidden}.panel-toggle{width:100%;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}.panel-toggle:hover .panel-toggle-title,.panel-toggle:hover .panel-toggle-chevron{color:var(--text)}.panel-toggle-copy{min-width:0;display:grid;gap:3px}.panel-toggle-title{color:var(--text);font-family:Space Grotesk,sans-serif;font-size:.98rem;font-weight:700}.panel-toggle-subtitle{color:var(--muted);font-size:.76rem;line-height:1.35}.panel-toggle-chevron{flex:0 0 auto;color:var(--muted);font-size:.92rem;transition:transform .12s ease,color .12s ease}.panel-toggle-chevron.expanded{transform:rotate(180deg)}.panel-body{display:grid;gap:14px;padding:0 14px 14px;border-top:1px solid rgba(255,255,255,.06)}.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.tool-button{padding:10px 6px;border-radius:var(--radius-xs);background:#ffffff08;border:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--text);transition:background .1s ease,border-color .1s ease,transform 80ms ease}.tool-button:hover{background:#ffffff12}.tool-button:active{transform:translateY(1px)}.tool-button.active{background:#d9a4412e;border-color:#d9a4418c;box-shadow:0 0 0 1px #d9a44140 inset}.tool-button .glyph{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#ffffff0d;color:var(--text);overflow:hidden}.tool-button.active .glyph{background:#d9a44138;color:var(--accent-strong)}.tool-button .label{font-size:.76rem;color:var(--muted);font-weight:600}.tool-button.active .label{color:var(--text)}.tool-icon-image,.tool-icon-svg{width:18px;height:18px;display:block;object-fit:contain;pointer-events:none}.tool-icon-svg{color:inherit}.brush-strip{display:grid;gap:8px;padding:12px;border-radius:var(--radius-xs);background:#ffffff08;border:1px solid rgba(255,255,255,.06)}.brush-head{display:flex;justify-content:space-between;align-items:baseline}.brush-head span{color:var(--muted);font-size:.82rem}.brush-head strong{font-family:Space Grotesk,sans-serif;font-size:1rem}.brush-strip input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;background:#ffffff1a;border-radius:999px;outline:none}.brush-strip input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent-strong);border:2px solid #1a1a1a;cursor:pointer}.brush-strip input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--accent-strong);border:2px solid #1a1a1a;cursor:pointer}.brush-strip small{color:var(--muted);font-size:.72rem}.terrain-option-toggle{display:flex;align-items:center;gap:10px;padding:12px;border-radius:var(--radius-xs);background:#ffffff08;border:1px solid rgba(255,255,255,.06);color:var(--text);font-size:.82rem;font-weight:600;line-height:1.4}.terrain-option-toggle input{width:16px;height:16px;margin:0;accent-color:var(--accent-strong)}.swatch-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.swatch{position:relative;aspect-ratio:1;border-radius:var(--radius-xs);border:2px solid transparent;overflow:hidden;cursor:pointer;transition:transform 80ms ease,border-color .12s ease}.swatch:hover{transform:scale(1.05)}.swatch.active{border-color:var(--accent-strong);box-shadow:0 0 0 2px #d9a4414d}.swatch span{position:absolute;left:4px;bottom:4px;font-size:.58rem;font-weight:700;color:#000000c7;background:#ffffff8c;padding:2px 5px;border-radius:999px}.team-pills{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.team-pills button{padding:8px 6px;border-radius:var(--radius-xs);background:#ffffff08;border:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;gap:6px;font-weight:600;font-size:.84rem;transition:background .1s ease,border-color .1s ease}.team-pills button:hover{background:#ffffff12}.team-pills button.active{background:#d9a44129;border-color:#d9a44180}.team-dot{width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 1px #fff3}.team-flag{width:18px;height:18px;object-fit:contain;flex:0 0 auto}.tool-note{margin:0;padding:10px 12px;border-radius:var(--radius-xs);border:1px solid rgba(255,255,255,.06);background:#ffffff08;color:var(--muted);font-size:.8rem;line-height:1.45}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stats-grid article{padding:10px}.stats-grid strong{font-size:1.2rem}.field-block{display:grid;gap:6px}.field-block span{color:var(--muted);font-size:.82rem;font-weight:600}.action-grid{display:grid;grid-template-columns:repeat(2,1fr)}.action-grid .primary-button{grid-column:1 / -1}.file-button{position:relative;display:inline-flex;align-items:center;justify-content:center;text-align:center}.editor-stage{min-width:0;min-height:0;display:grid;grid-template-rows:auto 1fr;gap:10px}.stage-topbar{padding:10px 14px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.stage-tool-summary{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap;flex:1 1 auto}.tool-chip-pill{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:999px;background:#d9a44129;color:var(--accent-strong);border:1px solid rgba(217,164,65,.35);font-weight:700;font-size:.8rem}.tool-chip-icon{width:18px;height:18px;display:inline-grid;place-items:center;color:inherit}.tool-chip-icon .tool-icon-image,.tool-chip-icon .tool-icon-svg{width:16px;height:16px}.stage-context{margin:0;color:var(--muted);font-size:.85rem;line-height:1.45;min-width:0;flex:1 1 360px}.stage-topbar-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:10px;flex-wrap:wrap;flex:0 0 auto}.selection-action-bar{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.selection-action-bar.floating{position:absolute;z-index:5;justify-content:center;pointer-events:auto;transform:translate(-50%)}.selection-action-bar.floating.above{transform:translate(-50%,calc(-100% - 10px))}.selection-action-bar.floating.below{transform:translate(-50%,10px)}.selection-action-bar.floating .secondary-button,.selection-action-bar.floating .danger-button,.selection-action-bar.floating .ghost-button{background:#080d11eb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-color:#ffffff1f;box-shadow:0 12px 24px #00000047}.selection-action-bar .secondary-button,.selection-action-bar .danger-button,.selection-action-bar .ghost-button{padding:8px 12px;font-size:.78rem}.stage-help{position:relative}.stage-help-trigger{width:34px;height:34px;display:inline-grid;place-items:center;border-radius:999px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:var(--muted);transition:color .12s ease,background .12s ease,border-color .12s ease,transform .1s ease}.stage-help-trigger:hover,.stage-help:focus-within .stage-help-trigger{color:var(--text);background:#ffffff14;border-color:#d9a4414d}.stage-help-trigger:focus-visible{outline:2px solid rgba(217,164,65,.45);outline-offset:2px}.stage-help-trigger-icon{width:16px;height:16px}.stage-help-card{position:absolute;top:calc(100% + 10px);right:0;width:min(360px,calc(100vw - 40px));padding:12px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#080d11f5;box-shadow:0 22px 50px #00000073;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);opacity:0;transform:translateY(-6px) scale(.98);transform-origin:top right;pointer-events:none;transition:opacity .14s ease,transform .14s ease;z-index:12}.stage-help:hover .stage-help-card,.stage-help:focus-within .stage-help-card{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.stage-help-title{margin:0 0 10px;color:var(--text);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.stage-help-list{display:grid;gap:8px}.help-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:flex-start;padding:9px 10px;border-radius:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.05)}.help-row-glyph{width:28px;height:28px;display:inline-grid;place-items:center;border-radius:10px;background:#d9a4411f;color:var(--accent-strong)}.help-row-icon{width:15px;height:15px}.help-row-copy{min-width:0;display:grid;gap:4px}.help-row-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.help-row-label{color:var(--text);font-size:.8rem;font-weight:600}.help-row-keys{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.keycap{min-width:24px;padding:3px 7px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:var(--text);font-size:.7rem;font-weight:700;line-height:1;text-align:center}.help-row-action{color:var(--muted);font-size:.76rem;line-height:1.4}.stage-frame{position:relative;min-height:0;min-width:0;padding:12px;display:grid;place-items:center;overflow:hidden}.stage-floating-help{position:absolute;top:14px;z-index:3;width:min(240px,calc(100% - 28px));display:grid;gap:6px;pointer-events:none;opacity:1;transform:translateY(0);transition:left .14s ease,right .14s ease,opacity .18s ease,transform .18s ease}.stage-floating-help.dock-left{left:14px;right:auto}.stage-floating-help.dock-right{left:auto;right:14px}.stage-floating-help.is-hidden{opacity:0;transform:translateY(-8px)}.stage-floating-help-row{align-items:center;padding:7px 8px;background:#080d11c2;border-color:#ffffff12;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.stage-floating-help-row .help-row-glyph{width:24px;height:24px;border-radius:8px}.stage-floating-help-row .help-row-icon{width:13px;height:13px}.stage-floating-help-row .help-row-copy{min-width:0;display:flex;align-items:center;gap:0}.stage-floating-help-text{color:var(--text);font-size:.72rem;line-height:1.3;white-space:normal;overflow-wrap:anywhere}.stage-floating-help-text strong{font-weight:700;color:var(--text)}.canvas-stack{position:relative;width:min(100%,calc(100dvh * 16 / 9));max-width:100%;max-height:100%;aspect-ratio:16 / 9;display:grid;place-items:center;transform:translate(var(--editor-pan-x, 0px),var(--editor-pan-y, 0px)) scale(var(--editor-zoom, 1));transform-origin:center center;will-change:transform}.map-canvas{display:block;width:100%;height:100%;background:#0a1014;border-radius:var(--radius-sm);image-rendering:pixelated;image-rendering:crisp-edges}.map-canvas.base{border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px #ffffff0a,0 12px 30px #0006}.map-canvas.overlay{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;background:transparent;cursor:crosshair;touch-action:none}.map-canvas.overlay.pan-ready{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%23f7fafc' stroke='%23071014' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M12 17V9.5a2.5 2.5 0 1 1 5 0V15m0 0V7.5a2.5 2.5 0 1 1 5 0V15m0 0v-5a2.5 2.5 0 1 1 5 0v8.5c0 5.247-4.253 9.5-9.5 9.5h-1A8.5 8.5 0 0 1 8 19.5V16a2.5 2.5 0 1 1 5 0v1'/%3E%3Cpath fill='none' stroke='%23071014' stroke-width='1.5' stroke-linecap='round' d='M11 28h12' opacity='.18'/%3E%3C/svg%3E") 11 11,grab}.map-canvas.overlay.dragging{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath fill='%23f7fafc' stroke='%23071014' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M12.5 19v-5.5a2.5 2.5 0 1 1 5 0V17m0 0v-5a2.5 2.5 0 1 1 5 0v6m0 0v-4a2.5 2.5 0 1 1 5 0v6.5A9.5 9.5 0 0 1 18 30h-1.5A8.5 8.5 0 0 1 8 21.5V18a2.5 2.5 0 1 1 5 0v1.5'/%3E%3Cpath fill='%23071014' d='M11.5 19.5h14v3h-14z' opacity='.08'/%3E%3C/svg%3E") 11 11,grabbing}.canvas-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#05090c99;border-radius:var(--radius-sm);pointer-events:none}.stage-map-live-summary{position:absolute;right:22px;bottom:18px;z-index:3;display:grid;gap:6px;justify-items:end;max-width:min(460px,calc(100% - 44px));pointer-events:none}.stage-map-live-summary-line{margin:0;padding:7px 11px;border-radius:999px;color:var(--team-summary-accent);background:#080d11d1;border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 24px #00000047;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-size:.76rem;font-weight:700;line-height:1.35;text-align:right;text-wrap:balance}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@media(max-width:1100px){.hero-panel{grid-template-columns:1fr}.library-toolbar{grid-template-columns:1fr;align-items:stretch}.library-toolbar-actions{justify-content:flex-start}.editor-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.editor-sidebar{max-height:40vh}.stage-map-live-summary{right:14px;bottom:14px;max-width:min(420px,calc(100% - 28px))}}@media(max-width:760px){.app-header,body[data-screen=library] .app-main{padding-left:14px;padding-right:14px}.hero-metrics,.stats-grid,.map-card-actions,.action-grid,.team-pills{grid-template-columns:repeat(2,1fr)}.library-toolbar{padding:16px}.library-toolbar-actions>*{flex:1 1 180px}.map-card-head,.map-card-meta{grid-template-columns:1fr;display:grid}.map-card-meta{gap:8px}.import-grid{grid-template-columns:1fr}.swatch-grid,.tool-grid{grid-template-columns:repeat(4,1fr)}.stage-topbar{flex-direction:column;align-items:flex-start}.stage-context{flex-basis:auto}.stage-topbar-actions{width:100%;justify-content:flex-start}.stage-help-card{right:auto;left:0;transform-origin:top left}}
