.map-workshop{border:1px solid #594765;background:#15111c;border-radius:16px;overflow:hidden}.map-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 28px;border-bottom:1px solid #59476566;background:linear-gradient(120deg,#2b2036,#18121f)}.map-heading h2{font-family:"PMingLiU",serif;font-size:30px;letter-spacing:5px;margin:12px 0}.map-heading p{font-size:12px;color:var(--muted);margin:0}.map-version{font-size:10px;letter-spacing:2px;color:#bc9ecf;border:1px solid #80678f66;padding:8px 12px;white-space:nowrap}.map-settings{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:20px 28px;background:#19131f}.map-settings label{font-size:11px}.map-settings input{margin-top:6px}.map-settings label:first-child{width:135px}.map-settings label:nth-child(2){width:185px}.map-settings button{font-size:11px;min-height:40px}.map-settings .map-cheat{display:flex;align-items:center;gap:8px;margin-left:auto;min-height:40px;color:#cfb4e1}.map-cheat input{width:auto;margin:0}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px}.map-stage{min-width:0;position:relative;background:radial-gradient(ellipse at center,#38254860,transparent 70%),#0e0c14;display:flex;flex-direction:column}.map-stage-top{padding:18px 22px;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;font-size:10px;color:#ab9ab7;letter-spacing:1px}#map-preview-flag{color:#e1bf7e}.map-canvas{padding:4px 20px 20px;flex:1;display:flex;align-items:center;justify-content:center}#hex-map-svg{display:block;width:100%;max-height:720px;min-height:360px;overflow:visible}.hex-cell{cursor:pointer;outline:none}.hex-cell polygon{fill:#272030;stroke:#635071;stroke-width:1;transition:fill .15s,stroke .15s}.hex-cell.fog polygon{fill:#16131e;stroke:#332a3f}.hex-cell .hex-icon{fill:#cfbfdc;font:21px Georgia,serif;text-anchor:middle;pointer-events:none}.hex-cell .hex-label{fill:#baabc5;font:8px system-ui,sans-serif;text-anchor:middle;pointer-events:none}.hex-cell.fog .hex-icon{fill:#695875;font-size:17px}.hex-cell.goal polygon{fill:#2f2630;stroke:#c4a575;stroke-width:1.8}.hex-cell.goal .hex-icon,.hex-cell.goal .hex-label{fill:#e1c395}.hex-cell.rest .hex-icon{fill:#9bd0bc}.hex-cell.shop .hex-icon{fill:#d9be87}.hex-cell.elite .hex-icon{fill:#dba1a6}.hex-cell.reachable polygon{fill:#362940;stroke:#ae8ac8;stroke-width:1.8}.hex-cell.current polygon{fill:#574168;stroke:#e4c4f6;stroke-width:2.5}.hex-cell.current .hex-icon{fill:#f3e3ff}.hex-cell.current .hex-label{fill:#f3e3ff}.hex-cell.selected polygon{stroke:#f0d8a0;stroke-width:3}.hex-cell:hover polygon,.hex-cell:focus-visible polygon{stroke:#f5dfb6;stroke-width:3;fill:#45324e}.hex-cell.fog:hover polygon{fill:#282031}.hex-cleared{fill:#b8caaa;font:9px system-ui;pointer-events:none}.map-trail line{stroke:#c6a474;stroke-width:3;opacity:.6}.map-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;padding:17px 18px;border-top:1px solid #ffffff0a;font-size:10px;color:#c4b4cf}.legend-fog{color:#85718f}.map-sidebar{padding:22px;border-left:1px solid #59476566;background:linear-gradient(#211929,#17121f)}.map-progress{display:flex;justify-content:space-between;gap:18px}.map-progress small{display:block;color:var(--muted);font-size:10px}.map-progress strong{display:block;color:#ddc6ee;font:27px Georgia,serif;margin-top:8px}.map-position{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;border-bottom:1px solid #a688ba30;padding:18px 0}.map-position span{color:#d5bddf;font-variant-numeric:tabular-nums}#map-status{font-size:11px;color:#d0b7df;line-height:1.9;min-height:44px}.map-node{border:1px solid #8c709e50;background:#14101b80;padding:18px;border-radius:8px}.map-node .eyebrow{font-size:9px;letter-spacing:1px}.map-node h3{font-family:"PMingLiU",serif;font-weight:400;font-size:24px;letter-spacing:3px;margin:14px 0}.map-node p{font-size:12px;line-height:1.9;color:#bcaac7;min-height:68px}#map-node-state{display:block;font-size:10px;color:#d0b28d;margin:15px 0}.map-event p{color:#baabbf;font-size:11px;line-height:1.9}.map-event button{width:100%;border-color:#aa85c2;color:#ddc2ee;background:#382643}.map-rules{margin-top:22px;font-size:11px;line-height:1.9}.map-rules summary{color:#c6b1d1}#map-error{margin:0;padding:0 28px;color:var(--danger);font-size:12px}#map-error:not(:empty){padding-block:10px}@media(max-width:1000px){.map-layout{grid-template-columns:minmax(0,1fr) 245px}.map-sidebar{padding:16px}.map-settings .map-cheat{margin-left:0}.map-canvas{padding:8px}.map-legend{gap:10px}}@media(max-width:720px){.map-layout{grid-template-columns:1fr}.map-sidebar{border-left:0;border-top:1px solid #59476566}.map-heading,.map-settings{padding:20px 16px}.map-heading h2{font-size:26px}.map-version{display:none}.map-heading .eyebrow{font-size:9px}.map-settings{gap:10px}.map-settings label:first-child{width:110px}.map-settings label:nth-child(2){flex:1}.map-settings button{flex:1}.map-settings .map-cheat{width:100%}.map-stage-top{padding:16px;font-size:9px}#hex-map-svg{min-height:300px}.map-node p{min-height:0}.map-progress{justify-content:flex-start;gap:40px}}@media(prefers-reduced-motion:reduce){.hex-cell polygon{transition:none}}
.map-generation-rules{border-top:1px solid #63507150;border-bottom:1px solid #63507150;padding:16px 28px;background:#19131f;color:var(--muted);font-size:11px}.map-generation-rules>summary{color:#d3bbdf;font-size:12px}.map-rule-columns{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:18px;margin-top:18px}.map-rule-columns fieldset{min-width:0;border:1px solid #63507170;border-radius:8px;padding:14px}.map-rule-columns legend{color:var(--accent);padding:0 5px}.map-rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.map-rule-grid label{font-size:10px}.map-rule-grid input{padding:8px}.map-rule-columns p{font-size:10px;line-height:1.8}.map-rule-columns button{font-size:10px}.map-alarm-toggle{display:flex;align-items:center;gap:8px;margin-bottom:16px;color:#d3bbdf}.map-alarm-toggle input{width:auto;margin:0}.map-alarm{margin:16px 0;border:1px solid #a58b6340;border-radius:8px;padding:12px;background:#bd8b4310}.map-alarm span,.map-alarm small{display:block;font-size:10px;line-height:1.8;color:#bba9be}.map-alarm strong{display:block;font-size:17px;color:#dcc18e;margin:7px 0}#map-applied-rules{font-size:10px;color:#ac9db6;line-height:1.8}.hex-cell.empty.known polygon{fill:#1e1b27}.hex-cell.empty .hex-label{fill:#95859f}@media(max-width:1000px){.map-rule-columns{grid-template-columns:1fr 1fr}.map-rule-columns fieldset:last-child{grid-column:1/-1}}@media(max-width:600px){.map-generation-rules{padding:16px}.map-rule-columns{grid-template-columns:1fr}.map-rule-columns fieldset:last-child{grid-column:auto}}

.hex-cell.fragile:not(.collapsed) .hex-icon{fill:#dfb389}.hex-cell.fragile.known:not(.current):not(.selected) polygon{fill:#392b2b;stroke:#b58d70}.hex-cell.collapsed polygon,.hex-cell.collapsed:hover polygon{fill:#08070c;stroke:#635569;stroke-dasharray:3 5;opacity:.75}.hex-cell.collapsed .hex-icon{fill:#807087}.hex-cell.collapsed .hex-label{fill:#88778e}
.hex-reward{font-size:10px;fill:#f0d6a2;text-anchor:middle;paint-order:stroke;stroke:#201826;stroke-width:3px;stroke-linejoin:round;pointer-events:none}
