.portal-source-context{overflow-wrap: anywhere;font-weight: 650}.portal-source-warning{padding: .65rem;border-left: 3px solid var(--accent);background: var(--soft,#eef3ea)}.portal-source-warning[hidden]{display: none}.portal-route-workspace > summary{display: flex;align-items: center;flex-wrap: wrap;gap: .75rem;min-height: 44px;cursor: pointer}.portal-route-workspace > summary::before{content: "▸"}.portal-route-workspace[open] > summary::before{content: "▾"}.portal-route-workspace > summary::-webkit-details-marker{display: none}.portal-route-workspace > summary h2{margin: 0;font-size: 1.1rem}.portal-route-workspace > summary small{color: var(--muted);overflow-wrap: anywhere}.portal-route-workspace > summary:focus-visible{outline: 3px solid var(--accent);outline-offset: 4px}.portal-route-workspace[open] > summary{margin-bottom: 1rem}#coordinates{font-size: 1.2rem;line-height: 1.7;font-variant-numeric: tabular-nums}.beacon-coverage-boundary{padding: .65rem;border-left: 3px solid var(--accent);background: var(--soft,#eef3ea)}@media print{#copy-coordinates{display: none}} .beacon-start{margin-top: 4px}.beacon-start button{flex: 1 1 0;min-width: 0;line-height: 1.25;touch-action: manipulation}.beacon-start-fields[hidden]{display: none}.beacon-field-hint{margin: 6px 0 0;color: var(--muted);font-size: 13px;line-height: 1.45;overflow-wrap: anywhere} .beacon-field-hint:empty{margin: 0}.beacon-settings-notice{margin: 10px 0 0;color: var(--ink);font-size: 14px;line-height: 1.45;overflow-wrap: anywhere}.beacon-settings-notice:empty{margin: 0} .beacon-goal-cards{display: grid;gap: 6px;margin-top: 12px}.beacon-goal-card{display: grid;gap: 1px;width: 100%;min-width: 0;min-height: 44px;padding: 8px 12px;border: 1px solid var(--control-line);border-radius: 3px;background: var(--paper);color: var(--ink);text-align: left;font-size: 14px;line-height: 1.35;cursor: pointer;box-shadow: 0 2px 0 rgb(38 65 37 / 7%);touch-action: manipulation;transition: background-color 140ms ease,border-color 140ms ease}.beacon-goal-card strong{font-size: 15px;font-weight: 600;overflow-wrap: anywhere}.beacon-goal-card span{color: var(--muted)}.beacon-goal-card small{color: var(--muted);font-family: var(--mono);font-size: 12px;font-variant-numeric: tabular-nums}.beacon-goal-card:hover{border-color: var(--accent)}.beacon-goal-card[aria-pressed="true"]{border-color: var(--seal);background: var(--selected);box-shadow: inset 3px 0 var(--seal)}.beacon-goal-card[aria-pressed="true"] :is(span,small){color: var(--ink)} .beacon-label-row,.beacon-heading-row{display: flex;flex-wrap: wrap;align-items: center;column-gap: 2px}.beacon-label-row{margin: 12px 0 6px}.beacon-label-row > label{margin: 0}.beacon-label-row > details.context-help,.beacon-heading-row > details.context-help{margin: -8px 0}.beacon-label-row > details.context-help[open],.beacon-heading-row > details.context-help[open]{flex-basis: 100%;margin: 0 0 6px}.beacon-heading-row h2{margin: 0} .beacon-stats{margin-bottom: 0}.beacon-stats .stat{padding: 10px 12px}.beacon-stats .stat b{line-height: 1.25;font-variant-numeric: tabular-nums}.beacon-stats .stat > span{display: block;margin-top: 2px;line-height: 1.3}.beacon-range-stat > b{padding-right: 28px} details.beacon-range-help{margin: 0}details.beacon-range-help > summary{position: absolute;top: 0;right: 0;margin: 0}details.beacon-range-help[open]{margin-top: 6px}details.beacon-range-help > .tool-help-body{font-size: 13px}@media (max-width: 540px){.beacon-stats .stat b{font-size: 16px}} .beacon-asks{margin: 6px 0 16px;border-bottom: 1px solid var(--line)}.beacon-asks > .ask{margin: 0}.beacon-asks-after{margin: 12px 0 0} .beacon-materials > h2{margin-top: 0}.materials-list{display: grid;gap: 10px;margin: 0 0 12px}.materials-list:empty{display: none}.materials-group{display: grid;gap: 4px;min-width: 0}.materials-group h3{margin: 0;font-family: var(--font);font-size: 13px;font-weight: 600;line-height: 1.4;letter-spacing: 0;color: var(--muted)}.materials-group ul{list-style: none;margin: 0;padding: 0;border-radius: 8px;background: var(--bg-2);overflow: hidden}.materials-group li{padding: 6px 10px;font-size: 14px;line-height: 1.45;white-space: pre-line;overflow-wrap: anywhere}.materials-group li + li{border-top: 1px solid var(--line)}.materials-group[data-kind="summary"] li:first-child{font-weight: 600;font-size: 15px}.materials-group[data-kind="plan"] ul{background: transparent;border: 1px solid var(--line)}.beacon-material-actions{display: flex;flex-wrap: wrap;gap: 8px}.beacon-material-actions .btn{flex: 1 1 140px;margin: 0}.beacon-materials .copy-ok{margin: 6px 0 0}.beacon-materials :is(.copy-ok,#beacon-export-status):empty{min-height: 0;margin: 0}.beacon-more-formats{margin-top: 4px}.beacon-more-formats > summary{display: inline-flex;align-items: center;min-height: 44px;color: var(--accent);font-size: 14px;cursor: pointer;touch-action: manipulation}.beacon-more-formats > summary:hover{color: var(--accent-hover,var(--accent));text-decoration: underline;text-underline-offset: 3px}.beacon-more-formats > summary:focus-visible{outline: 2px solid var(--accent);outline-offset: 2px}.beacon-more-formats .beacon-layer-actions .btn{margin: 0} .beacon-build .beacon-progress-summary{margin: 6px 0 0;padding-block: 0 8px;font-size: 14px}.beacon-build :is(.beacon-progress-summary,#beacon-layer-instruction,#beacon-layer-next,#beacon-plan-notice){color: var(--ink)}.beacon-build :is(#beacon-plan-notice,.beacon-storage-note):empty{margin: 0}.beacon-layer-list{grid-template-columns: none;grid-auto-flow: column;grid-auto-columns: minmax(0,1fr);gap: 6px;margin: 10px 0 0}.beacon-layer-choice{min-height: 44px;padding: 6px 4px;text-align: center;font-size: 13px;line-height: 1.25;touch-action: manipulation}.beacon-layer-choice strong{margin: 0;font-size: 13px;font-weight: 600;overflow-wrap: anywhere}.beacon-layer-choice span{color: var(--muted);font-family: var(--mono);font-size: 12px;font-variant-numeric: tabular-nums}.beacon-layer-choice[aria-pressed="true"]{box-shadow: inset 0 -3px var(--seal)}.beacon-layer-choice[aria-pressed="true"] span{color: var(--ink)} .beacon-layer-choice:is([data-beacon-record="checked"],[data-beacon-record="reused"]) strong::before{content: "✓ ";content: "✓ " / "";color: var(--seal)}.beacon-layer-choice[data-beacon-reused="true"]{border-style: dashed;opacity: .85}.beacon-build .beacon-view{margin: 12px 0 0}.beacon-build .view3d-heading{margin-bottom: 6px}.beacon-build .view3d-heading h3{margin: 0;font-size: 16px} .beacon-layer-stepper{display: flex;align-items: center;gap: 6px;margin-right: auto}.beacon-layer-stepper .btn{min-width: 44px;min-height: 44px;margin: 0;padding: 0 8px;font-size: 20px;line-height: 1;touch-action: manipulation}.beacon-step-label{color: var(--ink);font-size: 14px;font-variant-numeric: tabular-nums;white-space: nowrap}.beacon-build #beacon-layer-title{margin: 14px 0 0;font-size: 17px}.beacon-build :is(#beacon-layer-instruction,#beacon-layer-next){margin: 6px 0 0;font-size: 14px;line-height: 1.5}.beacon-layer-figure{margin: 8px 0 0}.beacon-build .beacon-blueprint{max-width: 220px;margin: 0 auto}.beacon-layer-figure figcaption{margin: 4px 0 0;text-align: center}.beacon-layer-nav{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1.6fr) minmax(0,1fr);gap: 6px;margin-top: 12px}.beacon-layer-nav .btn{min-width: 0;margin: 0;padding: 6px 8px;font-size: 14px;line-height: 1.25;overflow-wrap: anywhere;touch-action: manipulation}.beacon-layer-secondary{display: flex;flex-wrap: wrap;gap: 0 12px;margin-top: 4px} .beacon-quiet{margin: 0;padding: 0 4px;border-color: transparent;background: transparent;box-shadow: none;color: var(--muted);font-size: 14px;text-decoration: underline;text-underline-offset: 3px}.beacon-quiet:not(:disabled):hover{border-color: transparent;color: var(--accent)}.beacon-quiet[hidden]{display: none}@media (max-width: 540px){ #beacon-view3d-section[data-view3d="ready"] ~ .beacon-canvas-2d .beacon-layer-figure{display: none}.beacon-build,.beacon-materials{padding: 14px}} :where(.beacon-layout) .wb-title .tool-title{font-size: clamp(26px,4.2vw,34px);line-height: 1.08;overflow-wrap: anywhere;max-width: 100%}@media (max-width: 860px){ .beacon-layout.workbench{row-gap: 0}.beacon-layout > .wb-title{padding: 16px 16px 0;border: 1px solid var(--line);border-bottom: 0;border-radius: 3px 3px 0 0;background: var(--bg)}.beacon-layout .wb-title .tool-answer{margin-bottom: 12px}.beacon-layout > .beacon-panel{padding-top: 0;border-top: 0;border-top-left-radius: 0;border-top-right-radius: 0}.beacon-layout > .beacon-results{margin-top: 20px}}@media (max-width: 600px){.beacon-layout > .wb-title{padding: 6px 6px 0;border: 0;background: transparent}:where(.beacon-layout) .wb-title .tool-title{font-size: 34px;text-wrap: auto}} @media screen and (min-width: 861px){ .beacon-layout.workbench .wb-title{display: flex;flex-wrap: wrap;align-items: baseline;gap: 4px 28px;margin: 0;padding: 0 4px 16px}.beacon-layout.workbench .wb-title .tool-title{margin: 0}.beacon-layout.workbench .wb-title .tool-answer{margin: 0} .beacon-layout.workbench .beacon-panel{position: static;padding: 0;border: 0;background: transparent} .beacon-layout.workbench .beacon-stats{grid-row: 3;grid-template-columns: repeat(2,minmax(0,1fr))}.beacon-layout.workbench .beacon-stats .stat:nth-child(3)::before{display: none}.beacon-layout.workbench .beacon-stats .stat:nth-child(n+3){border-top: 1px solid var(--line)}.beacon-layout.workbench .beacon-stats .stat b{font-size: 16px} .beacon-layout.workbench .beacon-canvas-3d{margin: 0}.beacon-layout.workbench[data-wb-mode="3d"] .beacon-canvas-3d{display: flex;flex-direction: column;height: var(--wb-fit,calc(100vh - 2 * var(--wb-top,12px)))}.beacon-layout.workbench .beacon-canvas-3d .view3d-frame{flex: 1 1 auto;aspect-ratio: auto;min-height: 320px;max-height: none} .beacon-layout.workbench[data-wb-mode="2d"] .beacon-canvas-2d{display: flex;flex-direction: column;height: var(--wb-fit,calc(100vh - 2 * var(--wb-top,12px)))}.beacon-layout.workbench .beacon-build #beacon-layer-title{margin: 0;font-size: 20px;line-height: 1.3}.beacon-layout.workbench .beacon-layer-figure{display: flex;flex: 1 1 0;flex-direction: column;min-height: 0;margin: 10px 0 0}.beacon-layout.workbench .beacon-layer-diagram{display: flex;flex: 1 1 0;align-items: center;justify-content: center;min-height: 0}.beacon-layout.workbench .beacon-build .beacon-blueprint{width: auto;height: 100%;max-width: 100%;max-height: calc(var(--beacon-rows,11) * 64px + 6px);margin: 0}.beacon-layout.workbench .beacon-layer-figure figcaption{margin: 6px 0 0} .beacon-layout.workbench .beacon-layer-nav{margin-top: 0}} .beacon-layout-presets{margin-top: 0}.beacon-layout-presets .size-preset{flex: 1 1 0}.beacon-panel .beacon-array{margin-top: 12px;border-bottom: 1px solid var(--line)}.beacon-array-fields{display: flex;flex-wrap: wrap;gap: 0 16px}.beacon-array-fields .stepper-field{margin-top: 0} .beacon-beam-result{display: flex;align-items: center;gap: 10px}.beacon-beam-swatch{flex: 0 0 auto;width: 40px;height: 40px}.beacon-beam-swatch-art{display: block;width: 100%;height: 100%}.beacon-beam-swatch-art rect,.beacon-glass-chip rect{stroke: var(--ink);stroke-opacity: .35}.beacon-ask .beacon-beam-result p{margin: 0;font-variant-numeric: tabular-nums;overflow-wrap: anywhere}.beacon-beam-stack{display: grid;gap: 4px;margin: 8px 0 0;padding: 0;list-style: none;counter-reset: beacon-glass}.beacon-beam-stack:empty{display: none}.beacon-beam-stack li{display: flex;align-items: center;gap: 8px;min-width: 0;padding-left: 8px;border: 1px solid var(--line);border-radius: 4px;counter-increment: beacon-glass}.beacon-beam-stack li::before{content: counter(beacon-glass);content: counter(beacon-glass) / "";min-width: 1ch;color: var(--muted);font-family: var(--mono);font-size: 12px}.beacon-beam-stack li > span{flex: 1 1 auto;min-width: 0;font-size: 14px;overflow-wrap: anywhere}.beacon-beam-stack .beacon-quiet{flex: 0 0 auto}.beacon-beam-actions{display: flex;flex-wrap: wrap;gap: 0 12px}.beacon-beam-actions .btn:disabled{display: none}.beacon-glass-grid{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 6px}.beacon-glass{display: flex;align-items: center;gap: 8px;min-width: 0;min-height: 44px;margin: 0;padding: 6px 8px;border: 1px solid var(--control-line);border-radius: 3px;background: var(--paper);color: var(--ink);font: inherit;font-size: 13px;line-height: 1.25;text-align: left;cursor: pointer;touch-action: manipulation}.beacon-glass span{min-width: 0;overflow-wrap: anywhere}.beacon-glass:hover{border-color: var(--accent)}.beacon-glass:focus-visible{outline: 2px solid var(--accent);outline-offset: 2px} .beacon-glass-grid[data-full="true"] .beacon-glass{opacity: .55}.beacon-glass-chip{flex: 0 0 auto;width: 18px;height: 18px}.beacon-beam-find{margin-top: 12px}.beacon-beam-find label{margin: 0 0 6px}.beacon-beam-find-row{display: flex;flex-wrap: wrap;align-items: center;gap: 8px}.beacon-beam-find-row input[type="color"]{width: 64px;min-height: 44px;margin: 0;padding: 2px;border: 1px solid var(--control-line);border-radius: 3px;background: var(--paper);cursor: pointer}.beacon-beam-find-row .btn{margin: 0} .beacon-world-fields .beacon-field-hint{margin: 4px 0 0}.beacon-world-inputs{grid-template-columns: repeat(3,minmax(0,1fr))}.beacon-build .beacon-layer-world{margin: 6px 0 0;color: var(--ink);font-size: 14px;line-height: 1.5;font-variant-numeric: tabular-nums;overflow-wrap: anywhere}.beacon-effect-area{font-weight: 600;font-variant-numeric: tabular-nums;overflow-wrap: anywhere}@media (max-width: 360px){.beacon-world-inputs{grid-template-columns: minmax(0,1fr)}} .beacon-more-formats .beacon-schematic-actions{margin-top: 8px}.beacon-more-formats .export-hint{overflow-wrap: anywhere}.beacon-faq-action a{display: inline-flex;align-items: center;min-height: 44px;font-weight: 600}@media print{.beacon-layout-presets,.beacon-glass-grid,.beacon-beam-find,.beacon-beam-actions,.beacon-faq-action{display: none !important}}
