.enshrouded-page .ens-content .ens-interactive-tool{ margin: 0 0 24px; border: 1px solid var(--ens-border, #4a5059); background: #252c30; border-radius: 5px; overflow: hidden; }
.enshrouded-page .ens-content .ens-interactive-tool *, .enshrouded-page .ens-content .ens-interactive-tool *::before, .enshrouded-page .ens-content .ens-interactive-tool *::after{ box-sizing: border-box; }
.enshrouded-page .ens-content .ens-tool-intro{ padding: 18px 20px 10px; }
.enshrouded-page .ens-content .ens-tool-intro h2{ margin: 0 0 8px; font-size: 22px; font-weight: 500; }
.enshrouded-page .ens-content .ens-tool-intro p{ margin: 6px 0; }
.enshrouded-page .ens-content .ens-tool-source, .enshrouded-page .ens-content .ens-tool-note{ color: var(--ens-muted, #b0b6bf); font-size: 12px; }
.enshrouded-page .ens-content .ens-tool-status{ padding: 10px 20px; margin: 0 !important; color: #c9d6cd; font-size: 13px; background: #1e2527; border-block: 1px solid #404b4c; }
.enshrouded-page .ens-content .ens-interactive-tool button, .enshrouded-page .ens-content .ens-interactive-tool input, .enshrouded-page .ens-content .ens-interactive-tool select{ color: #e7e9e5; background: #303b3e; border: 1px solid #627074; border-radius: 3px; min-height: 34px; font: inherit; }
.enshrouded-page .ens-content .ens-interactive-tool input, .enshrouded-page .ens-content .ens-interactive-tool select{ padding: 6px 9px; }
.enshrouded-page .ens-content .ens-interactive-tool button{ padding: 6px 11px; cursor: pointer; }
.enshrouded-page .ens-content .ens-interactive-tool button:hover{ background: #435457; border-color: #9bacaa; }
.enshrouded-page .ens-content .ens-interactive-tool :disabled{ opacity: .5; cursor: wait; }
.enshrouded-page .ens-content .ens-interactive-tool :focus-visible{ outline: 2px solid #c6b387; outline-offset: 3px; }
.enshrouded-page .ens-content .ens-interactive-tool [hidden]{ display: none !important; }
.enshrouded-page .ens-content .ens-craft-form{ display: flex; align-items: end; gap: 12px; padding: 10px 20px 18px; flex-wrap: wrap; }
.enshrouded-page .ens-content .ens-craft-form label{ display: grid; gap: 4px; font-size: 13px; }
.enshrouded-page .ens-content .ens-craft-form label:first-child{ flex: 1 1 280px; }
.enshrouded-page .ens-content .ens-craft-form input[type="number"]{ width: 120px; }
.enshrouded-page .ens-content .ens-craft-form button{ background: #526b5c; border-color: #93aa98; }
.enshrouded-page .ens-content .ens-craft-output{ display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(220px, 1fr); gap: 24px; padding: 18px 20px; align-items: start; }
.enshrouded-page .ens-content .ens-craft-output h3{ margin: 0 0 12px; font-size: 18px; font-weight: 500; }
.enshrouded-page .ens-content .ens-craft-tree > ul{ padding-left: 0 !important; margin: 0; }
.enshrouded-page .ens-content .ens-craft-tree ul{ list-style: none; padding-left: 18px !important; margin: 6px 0; }
.enshrouded-page .ens-content .ens-craft-tree ul ul{ border-left: 1px solid #57635e; }
.enshrouded-page .ens-content .ens-craft-tree li{ margin: 11px 0; }
.enshrouded-page .ens-content .ens-craft-node{ display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px; }
.enshrouded-page .ens-content .ens-craft-node strong{ white-space: nowrap; }
.enshrouded-page .ens-content .ens-craft-step{ color: #a9bbb2; font-size: 11px; margin-top: 1px; }
.enshrouded-page .ens-content .ens-craft-badge{ color: #d1c5a2; font-size: 10px; padding: 1px 5px; margin-left: 5px; border: 1px solid #716b58; border-radius: 3px; }
.enshrouded-page .ens-content .ens-craft-materials{ border-collapse: collapse; width: 100%; font-size: 13px; }
.enshrouded-page .ens-content .ens-craft-materials caption{ text-align: left; color: #acbcb3; font-size: 11px; padding-bottom: 8px; }
.enshrouded-page .ens-content .ens-craft-materials th, .enshrouded-page .ens-content .ens-craft-materials td{ border-bottom: 1px solid #475650; padding: 7px 9px; text-align: left; }
.enshrouded-page .ens-content .ens-craft-materials th{ font-weight: 500; }
.enshrouded-page .ens-content .ens-craft-materials td{ text-align: right; font-variant-numeric: tabular-nums; }
.enshrouded-page .ens-content .ens-craft-materials thead{ background: #34423c; }
.enshrouded-page .ens-content .ens-tool-error{ color: #ffc6b7 !important; }
.enshrouded-page .ens-content .ens-map-toolbar{ display: flex; gap: 8px; align-items: end; flex-wrap: wrap; padding: 10px 16px 14px; }
.enshrouded-page .ens-content .ens-map-toolbar label{ display: grid; gap: 3px; font-size: 12px; }
.enshrouded-page .ens-content .ens-map-search-label{ flex: 1 1 200px; }
.enshrouded-page .ens-content .ens-map-toolbar button{ min-width: 35px; }
.enshrouded-page .ens-content .ens-map-layout{ display: grid; grid-template-columns: 220px minmax(0, 1fr); }
.enshrouded-page .ens-content .ens-map-filters{ padding: 12px 10px; background: #20292b; border-right: 1px solid #4c595c; }
.enshrouded-page .ens-content .ens-map-group-actions{ display: flex; gap: 6px; margin-bottom: 9px; }
.enshrouded-page .ens-content .ens-map-group-actions button{ font-size: 11px; flex: 1; padding-inline: 5px; }
.enshrouded-page .ens-content .ens-map-filters fieldset{ border: 0; padding: 0; margin: 0; min-width: 0; }
.enshrouded-page .ens-content .ens-map-filters legend{ font-size: 12px; color: #c9d4cb; padding: 0 0 7px; }
.enshrouded-page .ens-content .ens-map-filters [data-map-groups]{ max-height: 590px; overflow: auto; scrollbar-width: thin; }
.enshrouded-page .ens-content .ens-map-filters label{ display: flex; gap: 7px; align-items: center; font-size: 11px; line-height: 1.3; padding: 5px 2px; cursor: pointer; }
.enshrouded-page .ens-content .ens-map-filters input[type="checkbox"]{ min-height: 0; width: 14px; height: 14px; margin: 0; accent-color: #9fb8a4; flex: none; }
.enshrouded-page .ens-content .ens-map-filters label img{ flex: none; object-fit: contain; width: 20px; height: 20px; }
.enshrouded-page .ens-content .ens-map-filters label small{ margin-left: auto; color: #b4c2b9; font-size: 10px; padding-left: 5px; font-variant-numeric: tabular-nums; }
.enshrouded-page .ens-content .ens-map-main{ min-width: 0; }
.enshrouded-page .ens-content .ens-map-viewport{ height: min(65vh, 650px); min-height: 350px; position: relative; background: #1b2521; overflow: hidden; cursor: grab; touch-action: none; }
.enshrouded-page .ens-content .ens-map-viewport.is-dragging{ cursor: grabbing; }
.enshrouded-page .ens-content .ens-map-viewport svg{ display: block; width: 100%; height: 100%; user-select: none; }
.enshrouded-page .ens-content .ens-map-marker{ cursor: pointer; }
.enshrouded-page .ens-content .ens-map-marker:hover circle, .enshrouded-page .ens-content .ens-map-marker:focus circle, .enshrouded-page .ens-content .ens-map-marker.is-selected circle{ stroke: #fff5bf; stroke-width: 3px; }
.enshrouded-page .ens-content .ens-map-coordinates{ position: absolute; right: 8px; bottom: 8px; background: #14201cdb; padding: 3px 7px; color: #dfebe3; font-size: 10px; pointer-events: none; }
.enshrouded-page .ens-content .ens-map-detail{ padding: 13px 16px; border-top: 1px solid #4d5b56; min-height: 120px; }
.enshrouded-page .ens-content .ens-map-detail h3{ font-size: 17px; margin: 0 0 4px; font-weight: 500; }
.enshrouded-page .ens-content .ens-map-detail p{ font-size: 12px; margin: 7px 0; }
.enshrouded-page .ens-content .ens-map-marker-group{ color: #bfccb5; font-size: 11px !important; }
.enshrouded-page .ens-content .ens-map-detail a{ font-size: 12px; }
.enshrouded-page .ens-content .ens-map-photo{ display: block; width: auto; max-width: min(100%, 420px); max-height: 270px; object-fit: contain; margin: 10px 0; }
.enshrouded-page .ens-content .ens-map-location{ display: block; font-size: 10px; color: #a7b9af; margin-top: 8px; }
.enshrouded-page .ens-content .ens-map-results{ padding: 14px 20px 20px; border-top: 1px solid #4a5853; }
.enshrouded-page .ens-content .ens-map-results h3{ margin: 0 0 10px; font-size: 16px; font-weight: 500; }
.enshrouded-page .ens-content .ens-map-results ol{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; padding: 0 !important; margin: 0; gap: 5px 14px; }
.enshrouded-page .ens-content .ens-map-results li{ min-width: 0; border-bottom: 1px solid #3c4b44; padding-bottom: 5px; }
.enshrouded-page .ens-content .ens-map-results li button{ display: block; border: 0; background: transparent; color: #99c7db; padding: 4px 0; min-height: 0; text-align: left; font-size: 12px; line-height: 1.35; }
.enshrouded-page .ens-content .ens-map-results li button:hover{ text-decoration: underline; }
.enshrouded-page .ens-content .ens-map-results li small{ display: block; font-size: 10px; color: #a5b9ac; }
.enshrouded-page .ens-content .ens-map-results > button{ margin-top: 14px; font-size: 12px; }
.enshrouded-page .ens-content .ens-interactive-tool > details, .enshrouded-page .ens-content .ens-interactive-tool > noscript{ display: block; padding: 12px 20px; }
@media (max-width: 900px) { .enshrouded-page .ens-content .ens-map-layout{ grid-template-columns: 185px minmax(0, 1fr); } .enshrouded-page .ens-content .ens-map-results ol{ grid-template-columns: repeat(2, minmax(0, 1fr)); } .enshrouded-page .ens-content .ens-craft-output{ grid-template-columns: 1fr; } }
@media (max-width: 620px) { .enshrouded-page .ens-content .ens-tool-intro{ padding: 14px 12px 8px; } .enshrouded-page .ens-content .ens-map-layout{ display: flex; flex-direction: column-reverse; } .enshrouded-page .ens-content .ens-map-filters{ border-top: 1px solid #4a5853; border-right: 0; } .enshrouded-page .ens-content .ens-map-filters [data-map-groups]{ display: grid; grid-template-columns: 1fr 1fr; max-height: 210px; gap: 0 10px; } .enshrouded-page .ens-content .ens-map-viewport{ min-height: 340px; height: 55vh; } .enshrouded-page .ens-content .ens-map-results, .enshrouded-page .ens-content .ens-craft-output{ padding: 14px 12px; } .enshrouded-page .ens-content .ens-craft-form{ padding: 10px 12px 15px; } .enshrouded-page .ens-content .ens-craft-form input[type="number"]{ width: 90px; } .enshrouded-page .ens-content .ens-map-toolbar{ padding-inline: 12px; } .enshrouded-page .ens-content .ens-map-results ol{ grid-template-columns: 1fr; } }

.enshrouded-page .ens-content .ens-tool-intro h2 { background: transparent; border: 0; padding: 0; color: #edf1e9; }
.enshrouded-page .ens-content .ens-craft-batch-hint { padding: 0 20px 10px; margin: 0; }
.enshrouded-page .ens-content .ens-craft-materials th { background: transparent; }
.enshrouded-page .ens-content .ens-craft-materials th, .enshrouded-page .ens-content .ens-craft-materials td { border: 0; border-bottom: 1px solid #475650; }
.enshrouded-page .ens-content .ens-embedded-map { border: 1px solid #52655b; background: #27342d; padding: 12px 15px; margin: 14px 0; }
.enshrouded-page .ens-content .ens-embedded-map > p { margin: 4px 0 10px; }
.enshrouded-page .ens-content .ens-embedded-map summary { cursor: pointer; color: #b8d4c4; font-size: 13px; }
.enshrouded-page .ens-content .ens-embedded-map-table { overflow: auto; margin-top: 10px; }
.enshrouded-page .ens-content .ens-embedded-map-table table { width: 100%; font-size: 12px; }
.enshrouded-page .ens-content #ens-map-tool { scroll-margin-top: 80px; }
.enshrouded-page .ens-content .ens-static-map-directory { padding: 16px 20px; border-top: 1px solid #63776a; }
.enshrouded-page .ens-content .ens-static-map-directory > summary { color: #dce8cc; font-size: 15px; cursor: pointer; }
.enshrouded-page .ens-content .ens-static-map-section { margin-top: 14px; border: 1px solid #4c6053; padding: 10px 12px; background: #27342c; }
.enshrouded-page .ens-content .ens-static-map-section > summary { color: #c5d9c9; cursor: pointer; font-size: 14px; }
.enshrouded-page .ens-content .ens-static-map-section section > h4 { margin: 18px 0 8px; color: #d6dec2; }
.enshrouded-page .ens-content .ens-static-map-section ol { padding-left: 20px; }
.enshrouded-page .ens-content .ens-static-map-section li { border-bottom: 1px solid #425447; padding: 7px 0; }
.enshrouded-page .ens-content .ens-static-map-section p { margin: 3px 0; font-size: 12px; }
.enshrouded-page .ens-content .ens-directory-coordinates { color: #b0c4b7; font-size: 11px; }
.enshrouded-page .ens-content .ens-directory-focus { margin-left: 9px; font-size: 10px; white-space: nowrap; }

.enshrouded-page .ens-content .ens-tool-native-calculator .ens-craft-form label { min-width: 0; }
.enshrouded-page .ens-content .ens-tool-native-calculator .ens-craft-form label:nth-of-type(2) { flex: 2 1 320px; max-width: 100%; }
.enshrouded-page .ens-content .ens-tool-native-calculator select { max-width: 100%; width: 100%; }
.enshrouded-page .ens-content .ens-native-craft-output { grid-template-columns: minmax(0, 1.15fr) minmax(250px, 1fr); }
.enshrouded-page .ens-content .ens-native-craft-output > section { min-width: 0; }
.enshrouded-page .ens-content .ens-native-direct, .enshrouded-page .ens-content .ens-native-choices, .enshrouded-page .ens-content .ens-craft-example { grid-column: 1 / -1; }
.enshrouded-page .ens-content .ens-native-choices { padding: 15px; border: 1px solid #71836c; background: #293a30; }
.enshrouded-page .ens-content .ens-native-choices label { display: grid; gap: 7px; margin: 13px 0; font-size: 13px; }
.enshrouded-page .ens-content .ens-native-choices select { width: 100%; min-width: 0; }
.enshrouded-page .ens-content .ens-native-materials td:nth-child(2) { white-space: nowrap; }
.enshrouded-page .ens-content .ens-native-materials .ens-native-material-note { text-align: left; color: #c4cbbb; font-size: 11px; }
.enshrouded-page .ens-content .ens-native-recipe-scroll { max-width: 100%; overflow: auto; }
.enshrouded-page .ens-content .ens-craft-example .ens-craft-materials th, .enshrouded-page .ens-content .ens-craft-example .ens-craft-materials td { text-align: left; }
.enshrouded-page .ens-content .ens-tool-native-calculator .ens-craft-step { line-height: 1.6; }
@media (max-width: 900px) { .enshrouded-page .ens-content .ens-native-craft-output { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 620px) { .enshrouded-page .ens-content .ens-native-choices { padding: 10px; } .enshrouded-page .ens-content .ens-native-materials th, .enshrouded-page .ens-content .ens-native-materials td { padding: 6px 4px; } }
