[hidden]{display:none!important}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.node-tools-page{min-width:320px;background:radial-gradient(circle at 50% -20%,rgba(40,67,84,.28),transparent 36%),var(--bg)}.node-workspace{width:min(1540px,calc(100% - 40px));margin:0 auto;padding:24px 0 38px}.panel{background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 94%,#1d3442),var(--surface));border:1px solid var(--border);border-radius:13px;box-shadow:0 12px 34px rgba(0,0,0,.16)}
.node-intro{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px}.node-intro h1{margin:3px 0 2px;font-size:clamp(27px,3vw,38px);line-height:1.15;letter-spacing:-1px}.node-intro p{margin:0;color:var(--muted);font-size:14px}.node-flow{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:13px;font-weight:650}.node-flow span{white-space:nowrap}.node-flow .active{color:var(--primary)}.node-flow i{display:block;width:28px;height:1px;background:var(--border)}
.setup-panel{padding:15px 17px 14px;margin-bottom:13px}.setup-grid{display:grid;grid-template-columns:1.08fr .82fr 1fr;gap:18px}.choice-group{min-width:0;border:0;margin:0;padding:0}.choice-group legend,.group-label{display:block;margin-bottom:7px;color:var(--text);font-size:13px;font-weight:700}.choice-group legend span,.group-label b,.resource-heading h3{color:var(--primary)}.segmented,.profession-choices{display:flex;gap:5px}.segmented button,.profession-choices button{min-height:42px;flex:1;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--muted);padding:8px 10px;font-size:13px;font-weight:700;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s,color .15s}.segmented button:hover:where(html:not(.is-scrolling) *),.profession-choices button:hover:where(html:not(.is-scrolling) *){color:var(--text);border-color:var(--primary);box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 35%,transparent)}.segmented button[aria-pressed=true],.profession-choices button[aria-pressed=true]{color:var(--primary);border-color:var(--primary);background:color-mix(in srgb,var(--primary) 11%,var(--surface-2));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 30%,transparent)}.profession-choices button{display:flex;align-items:center;justify-content:center;gap:7px}.zone-choice select{width:100%;height:42px;padding:7px 34px 7px 11px;border:1px solid var(--border);font:inherit;font-size:14px}
.resource-row{border-top:1px solid var(--border);margin-top:13px;padding-top:12px;display:grid;grid-template-columns:245px 1fr;gap:18px;align-items:center}.resource-heading{display:flex;align-items:center;gap:12px}.resource-heading>div:first-child{flex:1}.resource-heading h3{font-size:14px;margin:0 0 1px}.resource-heading h3 span{color:var(--text);margin-left:5px}.resource-heading p{color:var(--muted);font-size:12px;line-height:1.35;margin:0}.text-actions{display:flex;flex-direction:column;align-items:start}.text-actions button,.text-button{appearance:none;border:0;background:transparent;color:var(--muted);font:inherit;font-size:12px;padding:2px 4px;cursor:pointer}.text-actions button:hover:where(html:not(.is-scrolling) *),.text-button:hover:where(html:not(.is-scrolling) *){color:var(--primary)}.resource-list{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.resource-list label{display:flex;align-items:center;gap:7px;min-height:36px;padding:6px 9px;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--surface-2) 78%,transparent);font-size:13px;cursor:pointer}.resource-list label:has(input:checked){border-color:color-mix(in srgb,var(--primary) 70%,var(--border));background:color-mix(in srgb,var(--primary) 7%,var(--surface-2))}.resource-list input{width:15px;height:15px;margin:0}.resource-list small{color:var(--muted);font-size:11px}.resource-symbol{color:var(--resource-color);font-size:11px}
.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:13px;align-items:start}.map-panel{padding:13px;min-width:0}.map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}.map-title-line{display:flex;align-items:center;gap:10px}.map-toolbar h2{font-size:18px;margin:0}.map-toolbar p{font-size:12px;color:var(--muted);margin:2px 0 0}.count-pill{padding:3px 7px;border:1px solid var(--border);border-radius:99px;color:var(--primary);font-size:11px;font-weight:700;background:var(--surface-2)}.map-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.button{min-height:38px;padding:7px 12px;font-size:13px}.map-viewport{position:relative;aspect-ratio:1.63;min-height:440px;max-height:690px;overflow:hidden;border:1px solid var(--border);border-radius:9px;background:#101820;box-shadow:inset 0 0 45px rgba(0,0,0,.28);touch-action:none}.map-viewport canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:pointer}.map-viewport canvas.drawing{cursor:crosshair}.node-tooltip{position:absolute;z-index:4;pointer-events:none;min-width:148px;padding:9px 10px;border:1px solid var(--primary);border-radius:8px;background:rgba(7,12,17,.94);box-shadow:0 8px 24px rgba(0,0,0,.42);font-size:12px}.node-tooltip strong,.node-tooltip span,.node-tooltip em{display:block}.node-tooltip strong{font-size:13px}.node-tooltip span{color:var(--muted)}.node-tooltip em{margin-top:3px;font-style:normal;font-weight:700}.node-tooltip .included{color:#8cdf94}.node-tooltip .excluded{color:#f08383}.map-legend{position:absolute;left:10px;bottom:10px;display:flex;gap:9px;flex-wrap:wrap;padding:6px 8px;border:1px solid rgba(229,190,118,.24);border-radius:7px;background:rgba(7,12,17,.82);font-size:11px;color:#ddd}.map-legend span{display:flex;align-items:center;gap:4px}.map-legend i{display:inline-block;width:9px;height:9px}.herb-dot{border-radius:50%;background:#80d887}.mine-dot{transform:rotate(45deg);background:#e2b862}.route-line{height:3px!important;width:15px!important;background:#f0bd5d;box-shadow:0 0 5px #f0bd5d}.avoid-swatch{border:1px solid #e05a62;background:rgba(145,24,31,.55)}.map-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:9px}.avoid-controls{display:flex;gap:5px;align-items:center}.avoid-controls .button[aria-pressed=true]{border-color:#e05a62!important;color:#ff969d;box-shadow:inset 0 0 0 1px rgba(224,90,98,.35)}.map-footer p{margin:0;color:var(--muted);font-size:11px;text-align:right}
.route-sidebar{display:grid;gap:13px}.route-sidebar>.panel{padding:16px}.step-kicker{display:block;margin-bottom:6px;color:var(--primary);font-size:10px;font-weight:800;letter-spacing:.11em}.route-sidebar h2{font-size:17px;margin:0 0 5px}.generate-card>p,.export-card>p{color:var(--muted);font-size:12px;line-height:1.45;margin:0 0 13px}.generate-button,.copy-button{width:100%;min-height:44px;font-size:14px}.route-controls{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.route-controls .text-button{grid-column:1/-1}.info-card dl{display:grid;gap:0;margin:8px 0 0}.info-card dl div{display:grid;grid-template-columns:90px 1fr;gap:9px;padding:6px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 65%,transparent);font-size:12px}.info-card dl div:last-child{border-bottom:0}.info-card dt{color:var(--muted)}.info-card dd{margin:0;text-align:right;overflow-wrap:anywhere}.export-card textarea{display:block;width:100%;resize:none;margin:10px 0 8px;padding:9px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--muted);font:11px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}.export-card code{color:var(--primary);font-size:12px}.mini-flow{display:flex;align-items:center;justify-content:space-between;gap:4px;padding-top:11px;border-top:1px solid var(--border);color:var(--muted);font-size:10px}.mini-flow b{color:var(--primary)}
@media(max-width:1080px){.setup-grid{grid-template-columns:1fr 1fr}.setup-grid .choice-group:last-child{grid-column:1/-1}.profession-choices{max-width:520px}.resource-row{grid-template-columns:1fr}.resource-heading{justify-content:space-between}.text-actions{flex-direction:row}.map-layout{grid-template-columns:1fr}.route-sidebar{grid-template-columns:repeat(3,minmax(0,1fr))}.map-viewport{min-height:400px}.map-footer{align-items:start}}
@media(max-width:720px){.node-workspace{width:calc(100% - 24px);padding-top:18px}.node-intro{align-items:start;flex-direction:column;gap:12px}.node-flow{width:100%;justify-content:center}.setup-grid{grid-template-columns:1fr;gap:12px}.setup-grid .choice-group:last-child{grid-column:auto}.segmented{display:grid;grid-template-columns:1fr 1fr}.segmented button:last-child{grid-column:1/-1}.resource-row{gap:9px}.resource-heading{align-items:start}.resource-list{display:grid;grid-template-columns:1fr}.resource-list label{min-height:40px}.map-toolbar{align-items:start;flex-direction:column}.map-actions{justify-content:start}.map-viewport{aspect-ratio:.9;min-height:480px}.map-footer{flex-direction:column}.map-footer p{text-align:left}.route-sidebar{grid-template-columns:1fr}.site-nav a:nth-of-type(3){display:none}}
@media(max-width:430px){.node-workspace{width:calc(100% - 16px)}.setup-panel,.map-panel,.route-sidebar>.panel{padding:11px}.profession-choices{flex-direction:column}.map-title-line{align-items:start;flex-direction:column;gap:4px}.map-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.map-actions .button:last-child{grid-column:1/-1}.avoid-controls{width:100%;justify-content:space-between}.map-viewport{min-height:430px}.map-legend{right:8px}.mini-flow{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
.resource-list{max-height:126px;overflow-y:auto;scrollbar-color:var(--border) transparent}.no-node-data{margin:0;color:var(--muted);font-size:13px}.profession-choices button:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}

/* Resource updates must not select a new browser scroll anchor. */
.node-workspace{overflow-anchor:none}

.map-viewport{width:100%;min-width:0}.avoid-controls{flex-wrap:wrap}.avoid-controls .text-button:disabled{opacity:.45;color:var(--muted);cursor:not-allowed}
