:root{--dioramap-surface-bg: rgba(20, 20, 28, .85);--dioramap-surface-bg-strong: rgba(13, 17, 23, .95);--dioramap-surface-border: #30363d;--dioramap-surface-shadow: 0 4px 12px rgba(0, 0, 0, .35);--dioramap-text-primary: #e6edf3;--dioramap-text-secondary: #8b949e;--dioramap-text-muted: #6e7681;--dioramap-text-on-light: #1a1a2e;--dioramap-text-on-light-secondary: #6b7280;--dioramap-accent: #4f46e5;--dioramap-accent-hover: #4338ca;--dioramap-accent-disabled: #a5b4fc;--dioramap-danger: #f85149;--dioramap-success: #fbbf24;--dioramap-radius: 6px;--dioramap-radius-lg: 10px;--dioramap-radius-pill: 999px;--dioramap-font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--dioramap-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}.dioramap-attr-overlay{position:absolute;right:8px;bottom:8px;z-index:5;display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:var(--dioramap-radius);background:var(--dioramap-surface-bg);color:#fff;font:11px/1.3 var(--dioramap-font-ui);font-weight:400;pointer-events:none;-webkit-user-select:none;user-select:none;max-width:calc(100% - 16px);box-sizing:border-box}.dioramap-attr-overlay a{color:#fff;text-decoration:underline;text-decoration-color:#ffffff80;pointer-events:auto}.dioramap-attr-overlay a:hover{text-decoration-color:#fff}.dioramap-attr-sep{opacity:.55}.dioramap-attr-data-label{white-space:nowrap}.dioramap-attr-overlay.dioramap-attr-compact{font-size:10px;padding:3px 6px;gap:4px}.dioramap-attr-overlay.dioramap-attr-compact .dioramap-attr-prefix{display:none}.dioramap-controls{position:absolute;top:12px;right:12px;background:var(--dioramap-surface-bg);color:var(--dioramap-text-primary);font:12px/1.4 var(--dioramap-font-ui);border:1px solid var(--dioramap-surface-border);border-radius:var(--dioramap-radius);min-width:220px;z-index:10;-webkit-user-select:none;user-select:none;overflow:hidden}.dioramap-controls-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;cursor:pointer;background:transparent;border:0;color:inherit;font:inherit;width:100%;text-align:left}.dioramap-controls-toggle:hover{background:#ffffff0d}.dioramap-controls-toggle .label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--dioramap-text-secondary);font-weight:600}.dioramap-controls-toggle .caret{font-size:10px;color:var(--dioramap-text-secondary);transition:transform .15s}.dioramap-controls.is-collapsed .dioramap-controls-toggle .caret{transform:rotate(-90deg)}.dioramap-controls-body{padding:0 12px 10px}.dioramap-controls.is-collapsed .dioramap-controls-body{display:none}.dioramap-controls.is-collapsed{min-width:0}.dioramap-controls h4{margin:0 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--dioramap-text-secondary)}.dioramap-controls .row{display:grid;grid-template-columns:50px 1fr 40px;gap:6px;align-items:center;margin:4px 0}.dioramap-controls .row label{font-size:11px;color:#c9d1d9}.dioramap-controls .row input[type=range]{width:100%}.dioramap-controls .row .val{font-variant-numeric:tabular-nums;text-align:right;color:var(--dioramap-text-secondary)}.dioramap-controls .toggles{margin-top:8px}.dioramap-controls .toggle-empty{color:var(--dioramap-text-muted);font-style:italic}.dioramap-compass{position:absolute;bottom:12px;right:12px;z-index:4;pointer-events:none;perspective:360px;perspective-origin:50% 50%}.dioramap-compass-tilt{transform-origin:50% 50%;transition:transform .06s linear;will-change:transform}.dioramap-compass-bg{fill:#0d1117c7;stroke:var(--dioramap-surface-border);stroke-width:1}.dioramap-compass-minor{stroke:var(--dioramap-text-muted);stroke-width:.6}.dioramap-compass-major{stroke:var(--dioramap-text-primary);stroke-width:1}.dioramap-compass-cardinal{stroke:var(--dioramap-text-primary);stroke-width:1.6}.dioramap-compass-label{fill:var(--dioramap-text-secondary);font:9px var(--dioramap-font-mono)}.dioramap-compass-cardinal-label{fill:var(--dioramap-text-primary);font:700 11px var(--dioramap-font-ui)}.dioramap-compass-north-label{fill:var(--dioramap-danger);font:800 12px var(--dioramap-font-ui)}.dioramap-compass-n-arrow{fill:var(--dioramap-danger);stroke:var(--dioramap-danger);stroke-width:.5}.dioramap-compass-readout{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font:600 14px var(--dioramap-font-mono);color:var(--dioramap-text-primary);pointer-events:none;text-shadow:0 0 4px rgba(0,0,0,.75)}.dioramap-fb-pill{position:absolute;left:8px;bottom:36px;z-index:6;display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--dioramap-radius-pill);background:var(--dioramap-surface-bg);color:#fff;font:12px/1.3 var(--dioramap-font-ui);cursor:pointer;border:0;box-shadow:0 2px 6px #0000002e;-webkit-user-select:none;user-select:none;animation:dioramap-fb-pill-in .22s ease-out}.dioramap-fb-pill:hover{background:var(--dioramap-surface-bg-strong)}.dioramap-fb-pill-icon{font-size:14px;line-height:1;color:var(--dioramap-success)}@keyframes dioramap-fb-pill-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dioramap-fb-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:7;display:flex;align-items:center;justify-content:center;background:#00000073;font:14px/1.4 var(--dioramap-font-ui)}.dioramap-fb-modal{position:relative;background:#fff;color:var(--dioramap-text-on-light);padding:22px;border-radius:var(--dioramap-radius-lg);box-shadow:0 10px 30px #00000040;width:min(360px,calc(100% - 32px));box-sizing:border-box}.dioramap-fb-modal h3{margin:0 0 4px;font-size:16px;font-weight:600}.dioramap-fb-modal-sub{margin:0 0 8px;color:var(--dioramap-text-on-light-secondary);font-size:13px}.dioramap-fb-stars{display:flex;gap:4px;justify-content:center;padding:12px 0 4px}.dioramap-fb-star{background:none;border:0;padding:4px;cursor:pointer;font-size:32px;line-height:1;color:#d1d5db;transition:color .1s,transform .1s}.dioramap-fb-star:hover{transform:scale(1.1)}.dioramap-fb-star.is-filled{color:var(--dioramap-success)}.dioramap-fb-star:focus-visible{outline:2px solid #6366f1;outline-offset:2px;border-radius:4px}.dioramap-fb-comment{display:none;margin-top:14px}.dioramap-fb-comment.is-active{display:block}.dioramap-fb-comment label{display:block;margin-bottom:6px;font-size:13px;color:#374151}.dioramap-fb-comment textarea{width:100%;min-height:80px;padding:8px 10px;border:1px solid #d1d5db;border-radius:var(--dioramap-radius);font:inherit;color:inherit;box-sizing:border-box;resize:vertical}.dioramap-fb-comment textarea:focus{outline:2px solid #6366f1;outline-offset:-1px;border-color:#6366f1}.dioramap-fb-comment-counter{text-align:right;font-size:11px;color:var(--dioramap-text-on-light-secondary);margin-top:4px}.dioramap-fb-actions{display:none;justify-content:flex-end;gap:8px;margin-top:14px}.dioramap-fb-actions.is-active{display:flex}.dioramap-fb-btn{padding:8px 16px;border-radius:var(--dioramap-radius);border:0;font:inherit;cursor:pointer}.dioramap-fb-btn-primary{background:var(--dioramap-accent);color:#fff}.dioramap-fb-btn-primary:hover{background:var(--dioramap-accent-hover)}.dioramap-fb-btn-primary:disabled{background:var(--dioramap-accent-disabled);cursor:not-allowed}.dioramap-fb-btn-ghost{background:transparent;color:var(--dioramap-text-on-light-secondary)}.dioramap-fb-btn-ghost:hover{color:var(--dioramap-text-on-light)}.dioramap-fb-btn-close{position:absolute;top:8px;right:10px;background:none;border:0;font-size:22px;line-height:1;color:#9ca3af;cursor:pointer}.dioramap-fb-btn-close:hover{color:var(--dioramap-text-on-light)}.dioramap-fb-toast{position:absolute;bottom:24px;right:24px;z-index:7;background:var(--dioramap-surface-bg-strong);color:#fff;padding:10px 16px;border-radius:var(--dioramap-radius);font:13px/1.3 var(--dioramap-font-ui);box-shadow:0 6px 18px #00000040;animation:dioramap-fb-pill-in .2s ease-out}.dioramap-fb-error{display:none;margin-top:10px;padding:8px 10px;background:#fef2f2;color:#991b1b;border:1px solid #fecaca;border-radius:var(--dioramap-radius);font-size:13px}.dioramap-fb-error.is-active{display:block}.dioramap-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1000;display:none;align-items:flex-start;justify-content:center;padding-top:25vh;pointer-events:none;transition:opacity .6s}.dioramap-loading-overlay.is-visible{display:flex}.dioramap-loading-card{width:80%;max-width:600px;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:12px;padding:20px 24px;font-family:var(--dioramap-font-ui)}.dioramap-loading-label{color:#fff;font-size:13px;margin-bottom:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.9}.dioramap-loading-track{width:100%;height:6px;background:#ffffff26;border-radius:3px;overflow:hidden}.dioramap-loading-fill{height:100%;width:0%;background:linear-gradient(90deg,#2a8a2a,#4cce4c);border-radius:3px;transition:width .3s ease-out}.dioramap-loading-pct{color:#ffffff80;font-size:11px;margin-top:8px;text-align:right;font-variant-numeric:tabular-nums}.dioramap-action-buttons{display:flex;gap:4px;transform:translateY(-12px);pointer-events:none}.dioramap-action-btn{width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:#000000a6;color:#fff;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto}
