:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#e2e8f0;background-color:#020617;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#020617;overflow:hidden}#root{width:100%;height:100%}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.map-editor{display:flex;flex-direction:column;height:100vh;width:100%;color:#f7fafc;background:radial-gradient(circle at top left,#1e293b,#0f172a 60%,#020617)}.map-editor__top-bar{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid rgba(148,163,184,.24);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0f172abf}.map-editor__brand{display:flex;align-items:center;gap:12px}.map-editor__brand-mark{width:12px;height:32px;border-radius:999px;background:linear-gradient(180deg,#7dd3fc,#38bdf8);box-shadow:0 0 12px #38bdf880}.map-editor__brand-title{margin:0;font-size:1rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#e0f2fe}.map-editor__brand-subtitle{margin:0;font-size:.75rem;color:#94a3b8b8;letter-spacing:.08em}.map-editor__controls{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap}.map-editor__controls-group{display:flex;align-items:center;gap:8px}.map-editor__controls-group button{padding:8px 14px;border-radius:10px;border:1px solid rgba(148,163,184,.35);background:#1e293b99;color:#e2e8f0;font-weight:500;transition:background .16s ease,box-shadow .16s ease,transform .16s ease,border-color .16s ease}.map-editor__controls-group button:hover{background:#334155d9;border-color:#94a3b899;box-shadow:0 10px 24px #1e40af38}.map-editor__controls-group button:active{transform:translateY(1px)}.map-editor__controls-button{background:#0ea5e947;border-color:#38bdf873;color:#bae6fd}.map-editor__controls-button:hover{background:#38bdf859;border-color:#7dd3fca6;box-shadow:0 14px 34px #38bdf840}.map-editor__controls-button--primary{background:linear-gradient(135deg,#3b82f6b3,#0e7490e6);border-color:#60a5fa99;color:#e0f2fe}.map-editor__body{display:flex;flex:1;min-height:0}.inspector{box-sizing:border-box;padding:24px 20px 32px;display:flex;flex-direction:column;gap:18px;overflow-y:auto;min-height:0;scrollbar-width:none;-ms-overflow-style:none;background:linear-gradient(180deg,#0f172ad9,#0f172a8c);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.inspector::-webkit-scrollbar{width:0;height:0}.inspector--lists{width:300px;border-right:1px solid rgba(148,163,184,.2);box-shadow:inset -1px 0 #0f172a59}.inspector--properties{width:300px;border-left:1px solid rgba(148,163,184,.2);box-shadow:inset 1px 0 #0f172a59;background:linear-gradient(180deg,#1e293bbf,#0f172aa6)}.inspector__header{display:flex;flex-direction:column;gap:12px}.inspector__title{margin:0;font-size:1.125rem;letter-spacing:.04em;color:#bfdbfe}.inspector__subtitle{margin:4px 0 0;font-size:.85rem;color:#94a3b8cc}.inspector__status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;font-size:.85rem}.inspector__status--info{background:#3b82f629;color:#bfdbfe}.inspector__status--success{background:#10b9812e;color:#bbf7d0}.inspector__status--error{background:#f871712e;color:#fecaca}.inspector__status-dismiss{width:28px;height:28px;border-radius:50%;border:none;background:#0f172a33;color:inherit}.inspector__section{display:flex;flex-direction:column;gap:12px}.inspector__section-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.inspector__section-title{margin:0;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8cc}.inspector__list{display:flex;flex-direction:column;gap:12px}.inspector__list-item{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;font-size:.85rem;padding:6px 10px;border-radius:8px;border:1px solid transparent;background:transparent;color:#94a3b8d9;transition:background .16s ease,color .16s ease,border-color .16s ease}.inspector__list-item:hover{background:#1e293b99;border-color:#94a3b840}.inspector__list-item.is-active{color:#facc15;background:#eab30824;border-color:#eab30880}.inspector__list-item.is-active .inspector__list-meta{color:#facc15b3}.inspector__list-trigger{flex:1;display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0;padding:0;border:none;background:transparent;font:inherit;color:inherit;cursor:pointer}.inspector__list-trigger:focus-visible{outline:2px solid rgba(125,211,252,.5);border-radius:6px}.inspector__list-label{font-weight:600}.inspector__list-actions{display:flex;align-items:center;gap:6px}.inspector__icon-button{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid rgba(148,163,184,.4);background:#1e293b99;color:#cbd5e1e6;font-size:.8rem;line-height:1;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.inspector__icon-button:hover:not(:disabled){background:#3b4963e6;border-color:#94a3b8b3}.inspector__icon-button:disabled{opacity:.35;cursor:not-allowed}.inspector__icon-button--danger{border-color:#f8717173;color:#f87171e6}.inspector__icon-button--danger:hover:not(:disabled){background:#7f1d1d8c;border-color:#f87171bf}.inspector__add-button{align-self:auto;margin-top:0;padding:6px 12px;border-radius:8px;border:1px solid rgba(148,163,184,.4);background:#0f172a80;color:#cbd5e1e6;font-size:.8rem;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.inspector__add-button:hover{background:#1e293bcc;border-color:#94a3b8a6}.inspector__list-meta{color:#94a3b899;flex:1;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inspector__empty{margin:0;font-size:.85rem;color:#94a3b899}.inspector__properties{display:flex;flex-direction:column;gap:16px;padding:16px;border-radius:12px;background:#0f172a99;border:1px solid rgba(148,163,184,.2)}.inspector__form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:12px}.inspector__form-grid--dense{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.inspector__label{display:flex;flex-direction:column;gap:6px;font-size:.8rem;color:#cbd5e1d9}.inspector__label input{padding:8px 10px;border-radius:8px;border:1px solid rgba(148,163,184,.35);background:#0f172ab3;color:#e2e8f0}.inspector__label input:focus{outline:2px solid rgba(125,211,252,.4);border-color:#7dd3fc80}.inspector__label-heading{margin:0;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8b3}.inspector__hint{margin:0;font-size:.8rem;color:#94a3b89e}.inspector__hint--centered{margin-top:auto;margin-bottom:auto;text-align:center;line-height:1.6}.map-editor__viewport{flex:1;position:relative;overflow:hidden}.map-view__hud{position:absolute;top:16px;right:16px;display:flex;flex-direction:column;gap:8px;pointer-events:auto}.map-view__history{position:absolute;bottom:16px;left:16px;display:flex;gap:10px;pointer-events:auto}.map-view__hud-button,.map-view__history-button{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:12px;border:1px solid rgba(148,163,184,.35);background:#0f172aa6;color:#e2e8f0;position:relative;overflow:visible;transition:background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease}.map-view__hud-button:active:not(:disabled),.map-view__history-button:active:not(:disabled){transform:translateY(1px)}.map-view__hud-button:after,.map-view__history-button:after{content:attr(data-tooltip);position:absolute;top:50%;right:calc(100% + 12px);transform:translateY(-50%) translate(6px);padding:6px 10px;border-radius:8px;background:#0f172ad1;color:#e2e8f0;font-size:.72rem;letter-spacing:.02em;white-space:nowrap;pointer-events:none;opacity:0;box-shadow:0 12px 26px #0206178c;transition:opacity .18s ease,transform .18s ease;transition-delay:.28s}.map-view__hud-button:before,.map-view__history-button:before{content:"";position:absolute;top:50%;right:calc(100% + 4px);transform:translateY(-50%) translate(6px);border-width:6px;border-style:solid;border-color:transparent transparent transparent rgba(15,23,42,.82);opacity:0;transition:opacity .18s ease;transition-delay:.28s;pointer-events:none}.map-view__hud-button:hover:after,.map-view__hud-button:focus-visible:after,.map-view__history-button:focus-visible:after,.map-view__hud-button:hover:before,.map-view__hud-button:focus-visible:before,.map-view__history-button:focus-visible:before{opacity:1;transform:translateY(-50%);transition-delay:0s}.map-view__hud-button:disabled,.map-view__history-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.map-view{position:relative;height:100%;width:100%;background:radial-gradient(circle at 20% 20%,rgba(15,118,110,.2),transparent 65%),radial-gradient(circle at 80% 30%,rgba(59,130,246,.18),transparent 60%),#020617}.map-view__svg{width:100%;height:100%;outline:none;cursor:grab}.map-view__svg:active{cursor:grabbing}.map-view__background{fill:#082f4966}.map-view__content line,.map-view__content circle,.map-view__content path{vector-effect:non-scaling-stroke}.map-view__handle{cursor:pointer;transform-box:fill-box;transform-origin:center;transition:transform .12s ease,fill .12s ease}.map-view__handle:hover{transform:scale(1.15);fill:#38bdf859}.map-view__handle.is-active{stroke:#38bdf8f2;fill:#38bdf86b}.map-view__handle--point{fill:#5eead459}.map-view__handle--point.is-active{stroke:#2dd4bfe6;fill:#2dd4bf80}.map-view__handle--center{fill:#818cf866}.map-view__handle--radius{fill:#f8717159}button{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}
