.portal-source-context{overflow-wrap: anywhere;font-weight: 650} .portal-source-warning{padding: .65rem;border-left: 3px solid var(--c-danger);background: var(--c-danger-soft)}.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(--c-ink-2);overflow-wrap: anywhere}.portal-route-workspace > summary:focus-visible{outline: 3px solid var(--c-focus);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(--c-primary);background: var(--c-primary-soft)}@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(--c-ink-2);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(--c-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(--c-line-strong);border-radius: var(--r-md);background: var(--c-surface);color: var(--c-ink);text-align: left;font-size: 14px;line-height: 1.35;cursor: pointer;box-shadow: var(--sh-1);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(--c-ink-2)}.beacon-goal-card small{color: var(--c-ink-2);font-family: var(--mono);font-size: 12px;font-variant-numeric: tabular-nums}.beacon-goal-card:hover{border-color: var(--c-primary)}.beacon-goal-card[aria-pressed="true"]{border-color: var(--c-primary);background: var(--c-primary-soft);box-shadow: inset 3px 0 var(--c-primary)}.beacon-goal-card[aria-pressed="true"] :is(span,small){color: var(--c-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-layout .beacon-view-toggle{flex: none;margin: 0}.beacon-layout .beacon-view-toggle button{min-width: 0;white-space: nowrap;touch-action: manipulation}.beacon-layout .beacon-stats{display: flex;align-items: stretch;margin: 0;padding: 0;border: 1px solid var(--c-line);border-radius: var(--r-md);background: var(--c-surface)}.beacon-layout .beacon-stats .stat{display: flex;flex-direction: column;justify-content: center;min-width: 0;padding: 4px 12px}.beacon-layout .beacon-stats .stat::before{content: none}.beacon-layout .beacon-stats .stat + .stat{border-left: 1px solid var(--c-line)}.beacon-layout .beacon-stats .stat b{font: 600 15px/1.2 var(--mono);color: var(--c-ink);font-variant-numeric: tabular-nums;overflow-wrap: anywhere}.beacon-layout .beacon-stats .stat > span{display: block;margin-top: 1px;color: var(--c-ink-2);font-size: 11px;line-height: 1.25}.beacon-layout #stat-raw{max-width: 18ch}.beacon-range-stat > b{padding-right: 26px} 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: 860px){.beacon-layout .beacon-stats{display: grid;flex: 1 1 100%;grid-template-columns: repeat(2,minmax(0,1fr))}.beacon-layout .beacon-stats .stat{padding: 8px 10px}.beacon-layout .beacon-stats .stat:nth-child(3){border-left: 0}.beacon-layout .beacon-stats .stat:nth-child(n+3){border-top: 1px solid var(--c-line)}.beacon-layout #stat-raw{max-width: none}}@media (min-width: 861px){ .beacon-layout .app-bar:has(details.beacon-range-help[open]){z-index: 6}.beacon-layout details.beacon-range-help[open]{margin: 0}.beacon-layout details.beacon-range-help[open] > .tool-help-body{position: absolute;top: calc(100% + 6px);right: 0;z-index: 1;width: 240px;padding: 8px 10px;border: 1px solid var(--c-line);border-radius: var(--r-md);background: var(--c-surface);box-shadow: var(--sh-2)}} .beacon-asks{margin: 16px 0 0;border-bottom: 1px solid var(--c-line)}.beacon-asks > .ask{margin: 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(--c-ink-2)}.materials-group ul{list-style: none;margin: 0;padding: 0;border-radius: var(--r-md);background: var(--c-surface-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(--c-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(--c-line)}.beacon-material-actions,.beacon-share-actions{display: flex;flex-wrap: wrap;gap: 8px}:is(.beacon-material-actions,.beacon-share-actions) .btn{flex: 1 1 140px;margin: 0}:is(.beacon-materials,#beacon-sec-share) .copy-ok{margin: 6px 0 0}:is(.beacon-materials,#beacon-sec-share) :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(--c-primary);font-size: 14px;cursor: pointer;touch-action: manipulation}.beacon-more-formats > summary:hover{color: var(--c-primary-hover);text-decoration: underline;text-underline-offset: 3px}.beacon-more-formats > summary:focus-visible{outline: 3px solid var(--c-focus);outline-offset: 2px}.beacon-more-formats .beacon-layer-actions .btn{margin: 0} .beacon-guide .beacon-progress-summary{margin: 6px 0 0;padding-block: 0 8px;color: var(--c-ink);font-size: 14px}.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(--c-ink-2);font-family: var(--mono);font-size: 12px;font-variant-numeric: tabular-nums} .beacon-layer-choice[aria-pressed="true"]{border-color: var(--c-accent);background: var(--c-accent-soft);box-shadow: inset 0 -3px var(--c-accent)}.beacon-layer-choice[aria-pressed="true"] span{color: var(--c-ink)} .beacon-layer-choice:is([data-beacon-record="checked"],[data-beacon-record="reused"]) strong::before{content: "✓ ";content: "✓ " / "";color: var(--c-primary)}.beacon-layer-choice[data-beacon-reused="true"]{border-style: dashed;opacity: .85} .beacon-guide .beacon-coordinates{margin: 12px 0 0}.beacon-guide .beacon-activation{margin: 0;border-bottom: 1px solid var(--c-line)} .beacon-quiet{margin: 0;padding: 0 4px;border-color: transparent;background: transparent;box-shadow: none;color: var(--c-ink-2);font-size: 14px;text-decoration: underline;text-underline-offset: 3px}.beacon-quiet:not(:disabled):hover{border-color: transparent;color: var(--c-primary)}.beacon-quiet[hidden]{display: none} @media screen{.beacon-layout[data-wb-mode="3d"] [data-wb-only="2d"],.beacon-layout[data-wb-mode="2d"] [data-wb-only="3d"]{display: none !important}} .beacon-layout .app-stage{position: relative}.beacon-layout[data-wb-mode="3d"] .app-stage{background: var(--c-surface)}.beacon-layout .app-stage > :is(.beacon-canvas-3d,.beacon-canvas-2d){position: absolute;inset: var(--app-inset-top,0px) var(--app-inset-right,0px) var(--app-inset-bottom,0px) 0;min-width: 0;margin: 0}.beacon-layout .app-stage > .beacon-canvas-3d{display: flex;flex-direction: column}.beacon-layout .app-stage .beacon-view .view3d-frame{flex: 1 1 auto;width: 100%;min-height: 0;max-height: none;aspect-ratio: auto;border: 0;border-radius: 0;background: transparent} .beacon-layout .app-stage > .beacon-canvas-2d{display: flex;flex-direction: column;padding: 12px 16px 10px;overflow: hidden}.beacon-canvas-2d #beacon-layer-title{margin: 0;font-size: 18px;line-height: 1.3}.beacon-canvas-2d :is(#beacon-layer-instruction,#beacon-layer-next,.beacon-layer-world){margin: 4px 0 0;color: var(--c-ink);font-size: 14px;line-height: 1.45;overflow-wrap: anywhere}.beacon-layer-figure{display: flex;flex: 1 1 0;flex-direction: column;min-height: 0;margin: 8px 0 0}.beacon-layer-diagram{display: flex;flex: 1 1 0;align-items: center;justify-content: center;min-height: 0}.beacon-canvas-2d .beacon-blueprint{width: auto;height: 100%;max-width: 100%;max-height: calc(var(--beacon-rows,11) * 64px + 6px);margin: 0}.beacon-layer-figure figcaption{margin: 6px 0 0;text-align: center} .beacon-layout .beacon-toast{max-width: min(560px,100%);margin: 0;padding: 8px 14px;border: 1px solid var(--c-line);border-radius: var(--r-md);background: color-mix(in srgb,var(--c-surface) 96%,transparent);box-shadow: var(--sh-2);color: var(--c-ink);font-size: 13px;line-height: 1.45;overflow-wrap: anywhere}.beacon-layout .beacon-toast:empty{padding: 0;border-width: 0;box-shadow: none} .beacon-layout .beacon-dock{display: flex;flex-direction: column;gap: 4px}.beacon-dock .btn{margin: 0}.beacon-dock-row{display: flex;flex-wrap: wrap;align-items: center;gap: 8px 12px;min-width: 0}.beacon-layer-stepper{display: flex;align-items: center;gap: 6px}.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{min-width: 7.5em;color: var(--c-ink);font-size: 14px;font-variant-numeric: tabular-nums;text-align: center;white-space: nowrap}.beacon-layer-nav{display: flex;flex-wrap: wrap;gap: 8px;min-width: 0}.beacon-layer-nav .btn{min-width: 0;padding: 6px 12px;font-size: 14px;line-height: 1.25;overflow-wrap: anywhere;touch-action: manipulation}.beacon-layer-secondary{display: flex;flex-wrap: wrap;gap: 0 12px}.beacon-dock .view3d-actions{margin-left: auto}.beacon-dock-notes{display: flex;flex-wrap: wrap;gap: 0 16px;min-width: 0}.beacon-dock-notes > p{margin: 0;color: var(--c-ink-2);font-size: 12px;line-height: 1.4;overflow-wrap: anywhere}@media (max-width: 540px){ .beacon-layer-nav{flex: 1 1 100%;flex-wrap: nowrap}.beacon-layer-nav .btn{flex: 1 1 0;padding-inline: 8px}.beacon-layer-nav #beacon-mark-layer{flex-grow: 1.6}.beacon-dock .view3d-actions{margin-left: 0}} .beacon-layout .beacon-session{margin: 0 0 16px}.beacon-layout :is(.beacon-session,.beacon-materials) > h2,.beacon-layout .beacon-heading-row h2{margin: 0;font-size: 18px;line-height: 1.3}.beacon-layout .beacon-session > h2{margin-bottom: 6px}.beacon-layout .beacon-materials > h2{margin-bottom: 10px}.beacon-layout #beacon-sec-share .tool-feedback{margin-top: 16px}@media print{ .beacon-layout .app-stage{height: auto;min-height: 0;max-height: none;overflow: visible}.beacon-layout .app-stage > .beacon-canvas-2d{position: static;display: block;padding: 0}.beacon-canvas-2d .beacon-blueprint{width: 100%;max-width: 220px;height: auto;max-height: none;margin: 8px auto}} .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(--c-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(--c-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(--c-line);border-radius: var(--r-sm);counter-increment: beacon-glass}.beacon-beam-stack li::before{content: counter(beacon-glass);content: counter(beacon-glass) / "";min-width: 1ch;color: var(--c-ink-2);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(--c-line-strong);border-radius: var(--r-md);background: var(--c-surface);color: var(--c-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(--c-primary)}.beacon-glass:focus-visible{outline: 3px solid var(--c-focus);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(--c-line-strong);border-radius: var(--r-sm);background: var(--c-surface);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-canvas-2d .beacon-layer-world{font-variant-numeric: tabular-nums}.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}}
