:root{--bg: #f8f7ef;--bg-2: #efeee3;--ink: #173f34;--muted: #536158;--line: #d5d8c9;--control-line: #83917d;--seal: #397529;--seal-hover: #2b6020;--on-seal: #ffffff;--accent: #316b2a;--accent-hover: #204e1c;--selected: #e2ecd3;--stage: #f0efe6;--danger: #a85128;--danger-ink: #873c1c;--paper: #fffef8;--grass: #79a946;--shadow: 0 12px 40px rgb(34 64 36 / 8%);--font: "IBM Plex Sans","Helvetica Neue",sans-serif;--mono: "IBM Plex Mono",ui-monospace,monospace;--tool-display: "Jersey 10","IBM Plex Sans",sans-serif}*{box-sizing: border-box} html:lang(zh){--font: "IBM Plex Sans","PingFang SC","PingFang TC","Microsoft YaHei","Noto Sans CJK SC","Noto Sans CJK TC",sans-serif;--tool-display: var(--font);--mono: "IBM Plex Mono","PingFang SC","PingFang TC","Microsoft YaHei",monospace}html:lang(zh-Hant){--font: "IBM Plex Sans","PingFang TC","Microsoft JhengHei","Noto Sans CJK TC",sans-serif;--mono: "IBM Plex Mono","PingFang TC","Microsoft JhengHei",monospace}html:lang(ja){--font: "IBM Plex Sans","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo","Noto Sans CJK JP",sans-serif;--tool-display: var(--font);--mono: "IBM Plex Mono","Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans Mono CJK JP",monospace}html:lang(ko){--font: "IBM Plex Sans","Apple SD Gothic Neo","Malgun Gothic","Noto Sans CJK KR",sans-serif;--tool-display: var(--font);--mono: "IBM Plex Mono","Apple SD Gothic Neo","Malgun Gothic","Noto Sans Mono CJK KR",monospace;word-break: keep-all;overflow-wrap: anywhere} html:lang(ru){--tool-display: var(--font)}html:lang(ru) :is(h1,h2,h3){letter-spacing: 0}html:lang(ru) .tool-title{font-size: 26px;font-weight: 600}html:lang(ru) .nav{font-size: 18px;font-weight: 600}html:lang(de) :is(p,label,legend,h1,h2,h3),html:lang(ru) :is(p,label,legend,h1,h2,h3){overflow-wrap: anywhere;hyphens: auto}html:is(:lang(de),:lang(ru),:lang(ja),:lang(ko),:lang(es),:lang(pt),:lang(fr)) .world-banner{height: auto;min-height: 150px}html:is(:lang(de),:lang(ru),:lang(ja),:lang(ko),:lang(es),:lang(pt),:lang(fr)) .world-banner-copy{min-height: inherit}html:lang(ru) .world-banner-title{font-size: clamp(26px,3vw,40px);line-height: 1.1;font-weight: 600}html:is(:lang(zh),:lang(ja),:lang(ko)) .nav{font-size: 18px;font-weight: 600}html:is(:lang(zh),:lang(ja),:lang(ko)) :is(h1,h2,h3){letter-spacing: 0}html:is(:lang(zh),:lang(ja),:lang(ko)) .tool-title{font-size: 26px;font-weight: 600}html:is(:lang(zh),:lang(ja),:lang(ko)) .world-banner-title{font-size: clamp(26px,3vw,40px);font-weight: 600}@media (max-width: 540px){html:is(:lang(zh),:lang(ja),:lang(ko)) .nav{font-size: 16px}html:lang(ru) .nav{font-size: 15px}html:is(:lang(de),:lang(ru)) .nav a{overflow-wrap: anywhere;hyphens: auto}}html{color-scheme: light}body{container-type: inline-size;margin: 0;min-height: 100vh;background: #eaeedf;color: var(--ink);font-family: var(--font);font-size: 16px;line-height: 1.5}a{color: var(--accent)}a:hover{color: var(--accent-hover)}.skip{position: absolute;left: -999px;top: 0}.skip:focus{left: 12px;top: 12px;background: var(--bg-2);padding: 8px 12px;z-index: 40}.wrap{width: min(1320px,calc(100% - 48px));margin: 0 auto}.world-banner{position: relative;height: 164px}.world-banner-copy{position: relative;z-index: 2;display: flex;height: 100%;justify-content: center;flex-direction: column;width: 100%;margin: auto;padding: 10px 28px 24px}.world-banner-title{margin: 0;max-width: 18ch;color: #173f34;font: 400 clamp(34px,3.6vw,48px)/0.94 var(--tool-display);font-synthesis: none;letter-spacing: 0}.world-banner-note{margin: 9px 0 0;max-width: 42ch;color: var(--ink);font-size: 14px} .world-banner-title,.world-banner-note{text-shadow: 0 0 2px rgb(248 247 239 / 95%),0 0 8px rgb(248 247 239 / 90%)}.circle-stats.is-stale{opacity: .45}.hero{display: grid;grid-template-columns: 1.15fr 0.85fr;gap: 32px;padding: 48px 0 28px} .hero:has(> :only-child){grid-template-columns: minmax(0,46rem)}.kicker{color: var(--accent);font-family: var(--mono);font-size: 12px;letter-spacing: 0.12em;text-transform: uppercase} h1,h2,h3{font-family: var(--font);font-weight: 600;letter-spacing: -0.015em}h1{font-size: clamp(32px,5vw,48px);line-height: 1.08;margin: 8px 0 14px}.hero h1{font-family: var(--tool-display);font-weight: 400;letter-spacing: 0;font-size: clamp(40px,6vw,68px);line-height: 1}html:is(:lang(zh),:lang(ja),:lang(ko),:lang(ru)) .hero h1{font-weight: 600;font-size: clamp(30px,5vw,48px)}.panel h1{font-size: 28px;line-height: 1.08;overflow-wrap: anywhere;max-width: 100%}h2{font-size: 28px;margin: 0 0 10px}h3{font-size: 18px;margin: 0 0 8px}.tool-title{font-family: var(--tool-display);font-weight: 400;font-synthesis: none;letter-spacing: 0;line-height: 1.12;text-wrap: balance}.panel .tool-title{font-size: clamp(26px,4.2vw,34px);overflow-wrap: anywhere;max-width: 100%}.tool-card .tool-title{font-size: 32px} .tool-answer{margin: -4px 0 16px;max-width: 62ch;color: var(--muted);font-size: 14px;line-height: 1.55}.hero .tool-card .tool-title{font-size: 36px}.lede{color: var(--muted);max-width: 46ch}.prose-page{max-width: 72ch;padding: 36px 28px;margin: 28px 0;background: var(--paper);border: 1px solid var(--line)} .prose-page.about-page{width: 100%;max-width: 920px;margin: 32px auto 48px;padding: clamp(24px,4vw,48px);line-height: 1.8;overflow-wrap: anywhere}.about-page .kicker{margin: 0 0 12px}.about-page h1{margin: 0 0 24px;font-size: clamp(28px,3.4vw,44px);line-height: 1.22;text-wrap: balance}.about-page p{margin: 0 0 18px}.about-page h2{margin: 36px 0 24px;padding-top: 28px;border-top: 1px solid var(--line);font-size: clamp(24px,2.4vw,28px);line-height: 1.35}.about-page h3{margin: 28px 0 12px;color: var(--ink);font-size: 20px;line-height: 1.45}.about-page h2 + h3{margin-top: 0}.about-page > :last-child{margin-bottom: 0} .tool-grid{display: grid;grid-template-columns: repeat(2,1fr);gap: 14px;padding-bottom: 48px}.tool-card{background: var(--paper);border: 1px solid var(--line);padding: 18px;text-decoration: none;color: inherit;min-height: 180px;display: flex;flex-direction: column;justify-content: space-between;border-radius: 4px}.tool-card:hover{border-color: var(--seal);color: var(--ink)}.tool-grid .tool-card{justify-content: flex-start;gap: 16px}.tool-card small{color: var(--muted);font-family: var(--mono);font-size: 12px}.tool-card p{margin: 10px 0 0;color: var(--muted)}.layout{position: relative;display: grid;grid-template-columns: 292px minmax(0,1fr);gap: 24px;padding: 22px;margin: -14px 0 40px;background: var(--paper);border: 1px solid #fff;box-shadow: var(--shadow);border-radius: 5px}.layout::before,.layout::after{content: "";position: absolute;top: 6px;width: 7px;height: 7px;background: #e0e3d4;pointer-events: none}.layout::before{left: 6px;box-shadow: 7px 0 #eceee3,0 7px #eceee3}.layout::after{right: 6px;box-shadow: -7px 0 #eceee3,0 7px #eceee3}.layout > *{min-width: 0}.has-world .layout{background: rgb(255 254 248 / 95%)}.panel{background: var(--bg);border: 1px solid var(--line);padding: 18px;position: sticky;top: 20px;align-self: start;border-radius: 3px}label,.label-like{display: block;font-size: 14px;color: var(--ink);margin: 12px 0 6px}textarea{width: 100%;background: var(--bg);border: 1px solid var(--line);padding: 8px 10px;font-family: var(--mono);font-size: 12px;resize: vertical}input,select,button,textarea{font: inherit;color: var(--ink)}.visually-hidden{position: absolute !important;width: 1px;height: 1px;margin: -1px;padding: 0;border: 0;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap} textarea:where([readonly]:not(.visually-hidden)){resize: none;border-color: transparent;background: var(--bg-2);font-family: var(--font);font-size: 14px;line-height: 1.65;field-sizing: content;max-height: 60vh} .portal-pair-notes textarea{font-family: var(--mono);font-size: 12px;line-height: 1.35} .result-coords{margin: 0 0 12px;padding: 14px 16px;border: 1px solid var(--line);border-radius: 4px;background: var(--bg-2)}.result-coords-dimension{margin: 0 0 6px;color: var(--muted);font-size: 13px}.result-coords-values{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 12px}.result-coords-values > span{display: flex;flex-direction: column;gap: 2px;min-width: 0}.result-coords-values b{color: var(--muted);font: 600 12px/1 var(--mono)}.result-coords-values span span{font: 600 clamp(24px,6vw,32px)/1.1 var(--mono);color: var(--ink);overflow-wrap: anywhere}input[type="number"],input[type="text"],select{width: 100%;background: var(--bg);border: 1px solid var(--control-line);padding: 8px 10px;border-radius: 3px;min-height: 44px}input[type="checkbox"]{accent-color: var(--seal)} .field-error{margin: 4px 0 0;color: var(--danger-ink);font-size: 12px}.oval-toggle{display: flex;align-items: center;min-height: 44px;gap: 8px;margin: 4px 0}.oval-toggle input{width: 18px;height: 18px;margin: 0}.planner-group{min-width: 0;margin: 20px 0 0;padding: 0;border: 0}.planner-group .oval-toggle{margin: 4px 0 0}.planner-group .oval-toggle + .stepper-field{margin-top: 0}.world-coordinate-fields{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 8px 10px}.world-coordinate-fields > div{min-width: 0}.world-coordinate-fields label{margin: 4px 0 6px}.world-coordinate-fields input{min-width: 0;font-family: var(--mono);font-size: 16px;font-variant-numeric: tabular-nums}.world-coordinate-fields input[aria-invalid="true"]{border-color: var(--danger)}.world-coordinate-fields .planner-help{grid-column: 1 / -1}.world-coordinate-fields[hidden],.world-coordinate-summary[hidden],.world-coordinate-warning[hidden],#world-coordinate-error[hidden]{display: none}.planner-help{margin: 0;color: var(--muted);font-size: 13px;line-height: 1.5}.owned-materials{margin-top: 16px}.owned-materials label{margin: 0 0 6px}.owned-materials input{min-width: 0;font-family: var(--mono);font-size: 16px;font-variant-numeric: tabular-nums}.owned-materials input[aria-invalid="true"]{border-color: var(--danger)}.owned-materials .planner-help{margin-top: 6px}.material-balance{margin: 10px 0 0;padding: 10px 12px;border-left: 3px solid var(--seal);background: var(--selected);color: var(--ink);font-size: 14px;overflow-wrap: anywhere}.material-balance:empty{display: none}.session-status{margin: 12px 0 0;font-size: 13px;color: var(--muted);overflow-wrap: anywhere}.session-status:empty{display: none}a:focus-visible,input:focus,select:focus,textarea:focus,button:focus-visible{outline: 2px solid var(--accent);outline-offset: 2px}.row-2{display: grid;grid-template-columns: 1fr 1fr;gap: 10px}.toggle{display: flex;gap: 8px;margin-top: 8px}.toggle button,.btn{background: var(--paper);border: 1px solid var(--control-line);padding: 8px 10px;border-radius: 3px;cursor: pointer;min-height: 44px;box-shadow: 0 2px 0 rgb(38 65 37 / 7%);transition: background-color 140ms ease,border-color 140ms ease}.toggle button:not(:disabled):hover,.btn:not(:disabled):hover{border-color: var(--accent)}.toggle button[aria-pressed="true"],.btn.primary{background: var(--seal);color: var(--on-seal);border-color: var(--seal)}.toggle button[aria-pressed="true"]:hover,.btn.primary:not(:disabled):hover{background: var(--seal-hover);border-color: var(--seal-hover)}.btn{margin-top: 12px}.btn:disabled{opacity: 0.45;cursor: not-allowed}.stats{display: grid;grid-template-columns: repeat(4,1fr);gap: 0;margin-bottom: 14px;background: var(--bg-2);border: 1px solid var(--line);border-radius: 4px}.stat{min-width: 0;position: relative;padding: 14px}.stat + .stat::before{content: "";position: absolute;left: 0;top: 18px;bottom: 18px;width: 1px;background: var(--line)}.stat b{display: block;font-family: var(--mono);font-weight: 600;font-size: clamp(15px,1.5vw,20px);overflow-wrap: break-word;text-wrap: balance}.stat span{color: var(--muted);font-size: 12px}.circle-stats{grid-template-columns: repeat(4,minmax(0,1fr))}.circle-stats .stat{ height: 100px;min-width: 0;display: flex;flex-direction: column;justify-content: space-between;gap: 4px}.circle-stats .stat b{line-height: 1.25;font-variant-numeric: tabular-nums}.blueprint-thickness{width: auto;margin: 0}.blueprint-hint{grid-column: 1 / -1;margin: 0;color: var(--muted);font-size: 12px}#thickness-adjustment{color: var(--accent)}.blueprint-view{display: flex;align-items: center;gap: 6px}.blueprint-view .btn{margin: 0;min-width: 44px;min-height: 44px}.blueprint-view .btn[aria-pressed="true"]{border-color: var(--accent)}.zoom-help{margin: 0;color: var(--muted);font-size: 12px}.blueprint-notes{padding: 10px 12px;border: 1px solid var(--line);border-top: 0;background: var(--bg)}.blueprint-notes p{margin: 0;color: var(--muted);font-size: 12px}.blueprint-notes p + p{margin-top: 4px}.blueprint-notes .grid-number-help{padding: 0}.stage:focus-visible{outline: 2px solid var(--accent);outline-offset: 2px}.grid-number-help{margin: 0;padding: 8px 0;color: var(--muted);font-size: 12px}.blueprint-frame{position: relative;display: grid;grid-template-columns: 34px minmax(0,1fr);grid-template-rows: 28px auto}.blueprint-frame .stage{grid-area: 2 / 2;min-width: 0}.ruler-corner,.grid-ruler{background: var(--bg-2);color: var(--muted);font-family: var(--mono);font-size: 11px;font-variant-numeric: tabular-nums}.ruler-corner{display: grid;place-items: center;border: 1px solid var(--line);border-right: 0;border-bottom: 0;font-size: 10px}.grid-ruler{position: relative;overflow: hidden;pointer-events: none}.column-ruler{grid-area: 1 / 2;border: 1px solid var(--line);border-bottom: 0}.row-ruler{grid-area: 2 / 1;border: 1px solid var(--line);border-right: 0}.grid-ruler span{position: absolute;line-height: 16px;white-space: nowrap}.column-ruler span{top: 50%;transform: translate(-50%,-50%)}.row-ruler span{right: 5px;transform: translateY(-50%)}.row-ruler span[aria-current="true"]{color: var(--accent);font-weight: 600}.cell-numbers{grid-area: 2 / 2;position: absolute;inset: 1px;overflow: hidden;pointer-events: none;font-family: var(--mono);font-size: 11px;font-weight: 600;font-variant-numeric: tabular-nums}.cell-numbers span{position: absolute;transform: translate(-50%,-50%);line-height: 14px;color: #153f32;background: #83b34e;border-radius: 2px;white-space: nowrap}.cell-numbers[data-done="true"] span{color: #153f32;background: #9eaf90}.stage{border: 1px solid var(--line);background: var(--stage);overflow: auto;padding: 12px;touch-action: manipulation}canvas{image-rendering: pixelated;display: block;margin: 0 auto;height: auto}.export-actions{display: flex;flex-wrap: wrap;gap: 8px}.export-actions .btn{min-height: 44px;margin-top: 0}.export-hint{margin: 10px 0 0;color: var(--muted);font-size: 12px}.export-open:not([hidden]){display: inline-flex;align-items: center;min-height: 44px;margin-top: 4px}.note,.faq,.prose{color: var(--muted);padding-bottom: 48px} .faq.wrap{width: 100%;margin: 0;padding: 24px 28px 28px}.faq h2,.prose h1,.prose h2{color: var(--ink)}.faq details{border-top: 1px solid var(--line);padding: 12px 0}.faq summary{cursor: pointer;color: var(--ink)} .faq details + h2{margin-top: 40px}.tool-card p + h3{margin-top: 22px} .btn:disabled:not(.primary){border-color: transparent;background: transparent}.faq h3{padding-top: 16px;border-top: 1px solid var(--line);color: var(--ink)}.reference-table-wrap{overflow-x: auto;margin: 20px 0}.reference-table{width: 100%;min-width: 36rem;border-collapse: collapse;font-variant-numeric: tabular-nums}.reference-table caption{text-align: left;margin-bottom: 10px;color: var(--ink);font-weight: 600}.reference-table th,.reference-table td{text-align: left;padding: 10px 12px;border-bottom: 1px solid var(--line);vertical-align: top}.reference-table thead{background: var(--bg-2);color: var(--ink)}.reference-table tbody th{color: var(--ink)}.alert{border: 1px solid var(--danger);color: var(--danger-ink);padding: 10px 12px;margin: 8px 0;display: none}.alert.show{display: block}.copy-ok{color: var(--ink);font-size: 13px;min-height: 1.2em}.tool-feedback{margin-top: 20px;padding: 0 0 12px;border-top: 1px solid var(--line);color: var(--muted);font-size: 14px}.tool-feedback summary{padding: 12px 0;min-height: 44px;cursor: pointer}.tool-feedback summary:hover{color: var(--accent)}.tool-feedback summary:focus-visible{outline: 2px solid var(--accent);outline-offset: 2px}.tool-feedback p{margin: 4px 0 12px}.tool-feedback .btn{display: inline-flex;align-items: center;min-height: 44px;margin: 0 0 8px;color: var(--ink);text-decoration: none}.tool-feedback .feedback-help{font-size: 13px;overflow-wrap: anywhere}.tool-feedback textarea{display: block;font-size: 16px;margin-bottom: 10px}.tool-feedback .feedback-status{min-height: 1.5em;color: var(--ink)}.site-footer{border-top: 1px solid var(--line);padding: 20px 0 32px;color: var(--muted);font-size: 13px;display: flex;justify-content: space-between;gap: 16px;flex-wrap: wrap}.has-world .site-footer{padding: 20px 24px 24px;margin-bottom: 20px;background: rgb(255 254 248 / 96%);border: 1px solid var(--line);border-radius: 4px}.footer-links{display: flex;flex-wrap: wrap;align-items: center;gap: 4px 16px}.footer-links a{display: inline-flex;align-items: center;min-height: 44px}.footer-links a[aria-current="page"]{color: var(--ink);text-decoration-thickness: 2px;text-underline-offset: 4px} @media (max-width: 540px){.footer-links{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 0 16px;flex-basis: 100%}.footer-links a{line-height: 1.3}}.footer-notices{flex-basis: 100%;min-width: 0;font-size: 14px;line-height: 1.6}.footer-notices p{margin: 0} .footer-notices .translation-note{margin: 8px 0}.footer-notices .visual-credit{display: flex;flex-wrap: wrap;align-items: center;column-gap: 8px}.visual-credit a{display: inline-flex;align-items: center;min-height: 44px}.visual-credit a:focus-visible{outline: 2px solid var(--accent);outline-offset: 3px}.build-bar{margin-top: 12px;background: var(--bg);border: 1px solid var(--line);padding: 12px;border-radius: 3px}.build-bar strong{font-family: var(--mono);font-weight: 600;font-size: 18px;display: block}.build-bar p{margin: 6px 0 10px;color: var(--muted)} .layer-controls > label{display: block;margin: 0 0 6px;font-weight: 600}.layer-selection{display: flex;align-items: center;flex-wrap: wrap;gap: 8px 10px;min-width: 0}.layer-controls[hidden]{display: none}#layer-total{color: var(--muted);font-size: 14px;font-variant-numeric: tabular-nums}.build-bar .layer-progress-summary{margin: 10px 0 12px;padding-bottom: 12px;border-bottom: 1px solid var(--line);color: var(--ink);font-size: 14px;line-height: 1.5;overflow-wrap: anywhere}.build-bar .layer-storage-note{margin: 0 0 12px;padding: 10px 12px;border-left: 3px solid var(--seal);background: var(--selected);color: var(--ink);font-size: 13px;line-height: 1.5;overflow-wrap: anywhere}.layer-storage-note:empty{display: none}#continue-layer{min-height: 44px;touch-action: manipulation}#continue-layer[hidden],#owned-error[hidden]{display: none}.build-bar .world-coordinate-summary{margin: 8px 0;padding: 8px 10px;border: 1px solid var(--line);border-radius: 3px;background: var(--bg-2);color: var(--ink);font-family: var(--mono);font-size: 13px;font-variant-numeric: tabular-nums;overflow-wrap: anywhere}.build-bar .world-coordinate-warning{margin: 8px 0;color: var(--danger-ink);font-size: 13px;overflow-wrap: anywhere}.build-bar .row-segments-note{margin: 12px 0 6px;font-size: 12px}.row-segments{display: flex;flex-wrap: wrap;gap: 8px;list-style: none;margin: 0;padding: 0}.row-segments[hidden]{display: none}.row-segments li{min-width: 0;max-width: 100%;padding: 8px 12px;border: 1px solid var(--control-line);border-left: 3px solid var(--accent);background: var(--stage)}.row-segments strong{font-size: 17px;font-variant-numeric: tabular-nums}.row-segments span{display: block;color: var(--muted);font-size: 13px}.row-segments .world-coordinate-range{margin-top: 6px;padding-top: 6px;border-top: 1px solid var(--line);color: var(--ink);font-family: var(--mono);font-variant-numeric: tabular-nums;overflow-wrap: anywhere}.build-actions,.progress-actions{display: flex;gap: 8px;flex-wrap: wrap}.build-actions .btn,.progress-actions .btn{min-height: 44px}#progress-status:empty{display: none}input:disabled{opacity: 0.45;cursor: not-allowed} .panel.portal-pair{position: static;margin: 0 0 32px;padding: 22px;border: 1px solid var(--line);background: var(--paper)}.portal-pair h2,.beacon-build h2{margin: 0 0 8px;font-size: 24px}.portal-pair .lede{max-width: 75ch}.portal-pair-grid{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 14px;margin: 18px 0}.portal-pair-entrance{min-width: 0;padding: 16px;border: 1px solid var(--line);border-top: 3px solid var(--seal);background: var(--paper)}.portal-pair-entrance h3{margin: 0 0 10px;font-size: 17px}.portal-pair-entrance .btn{min-height: 44px;margin-bottom: 0}.portal-pair-coordinates{font-family: var(--mono);font-size: 16px;font-variant-numeric: tabular-nums;overflow-wrap: anywhere}.portal-pair-entrance .lede{font-size: 14px;overflow-wrap: anywhere}.portal-pair-status{color: var(--ink);overflow-wrap: anywhere}.portal-pair-status:empty{display: none}.portal-pair-checklist{min-width: 0;padding: 16px;border: 1px solid var(--line)}.portal-pair-checklist legend{padding: 0 8px;font-weight: 600}.portal-pair-check{display: flex;align-items: flex-start;gap: 10px;min-height: 44px;margin: 0;padding: 10px 0;cursor: pointer}.portal-pair-check + .portal-pair-check{border-top: 1px solid var(--line)}.portal-pair-check input{flex: 0 0 18px;width: 18px;height: 18px;margin: 2px 0 0}.portal-pair-checklist:disabled .portal-pair-check{cursor: not-allowed;color: var(--muted)}.portal-pair-actions,.beacon-layer-actions{display: flex;flex-wrap: wrap;gap: 8px}.portal-pair-actions .btn,.beacon-layer-actions .btn{min-height: 44px}.portal-pair-notes{margin-top: 16px;border-top: 1px solid var(--line)}.portal-pair-notes summary{min-height: 44px;padding-block: 12px;cursor: pointer}.portal-pair-notes textarea{font-family: var(--mono);font-size: 13px}.beacon-session,.beacon-build,.beacon-inventory{min-width: 0;margin-top: 18px;padding: 16px;border: 1px solid var(--line);border-radius: 3px;background: var(--bg)}.beacon-session,.beacon-build,.beacon-inventory{display: block;min-height: 0}.beacon-layer-choice strong,.beacon-layer-choice span{display: block}.beacon-layer-choice span{font-size: 13px}.beacon-layer-choice strong{margin-bottom: 4px}.beacon-controls{position: static}.beacon-inventory .feedback-help,.beacon-build .feedback-help{font-size: 13px;line-height: 1.5}.beacon-inventory{padding: 12px}.beacon-inventory h2{font-size: 18px;margin-top: 0}.beacon-layer-diagram{overflow: hidden}.beacon-session{border-left: 3px solid var(--seal)}.beacon-session[hidden],.beacon-storage-note:empty{display: none}.beacon-layer-list{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 8px;margin: 16px 0;padding: 0;list-style: none}.beacon-layer-list > *{min-width: 0}.beacon-layer-choice{width: 100%;min-height: 60px;padding: 10px 12px;border: 1px solid var(--control-line);border-radius: 3px;text-align: left;background: var(--paper);cursor: pointer;font-size: 14px;line-height: 1.5}.beacon-layer-choice[aria-pressed="true"]{border-color: var(--seal);background: var(--selected);box-shadow: inset 3px 0 var(--seal)}.beacon-blueprint{display: block;width: 100%;max-width: 400px;height: auto;margin: 16px auto;color: var(--seal);background: var(--stage)}.beacon-progress-summary{padding-block: 10px;border-bottom: 1px solid var(--line);color: var(--ink);font-variant-numeric: tabular-nums}.beacon-storage-note{color: var(--muted);font-size: 14px;overflow-wrap: anywhere}.beacon-inventory input{font-family: var(--mono);font-size: 16px}.beacon-inventory input[aria-invalid="true"]{border-color: var(--danger)}@media (max-width: 540px){.panel.portal-pair{padding: 16px}.portal-pair-grid{grid-template-columns: minmax(0,1fr)}.portal-pair-checklist{padding: 10px}.beacon-layer-actions .btn{flex: 1 1 120px}.beacon-layer-choice{padding: 8px}}@media (max-height: 800px){.circle-controls{position: static}.world-banner{height: 126px}.world-banner-title{font-size: 36px}.world-banner-copy{padding-block: 8px 16px}}@media (max-width: 540px){#continue-layer{width: 100%}.export-actions{display: grid;grid-template-columns: repeat(2,minmax(0,1fr))}.export-actions .btn{padding-inline: 6px;font-size: 14px}.blueprint-style{width: 100%}.blueprint-thickness{width: 100%;margin-left: 0}.circle-stats .stat{height: 90px;padding: 12px}.stat b{font-size: 18px}.stats .stat:nth-child(3)::before{display: none}.stats .stat:nth-child(n+3){border-top: 1px solid var(--line)}}@media (max-width: 360px){.world-coordinate-fields{grid-template-columns: minmax(0,1fr)} .circle-stats .stat{padding-inline: 10px}.circle-stats .stat b{font-size: 15px} .stage{padding-inline: 4px}}@media (min-width: 861px) and (max-width: 1100px){.circle-stats .stat b{font-size: 16px}}@media (max-width: 860px){.hero,.layout,.tool-grid{grid-template-columns: 1fr}.stats{grid-template-columns: 1fr 1fr}.panel{position: static}.layout{padding: 16px;gap: 20px}.panel{padding: 16px}.world-banner{height: 118px}.world-banner-title{font-size: 34px;max-width: 17ch}.world-banner-copy{padding: 8px 18px 20px}.world-banner-note{font-size: 13px;max-width: 32ch}}@media (max-height: 600px) and (orientation: landscape){ .world-banner-copy::before{content: "";position: absolute;z-index: -1;inset: -12px auto -12px -8px;width: min(540px,100%);pointer-events: none;background: linear-gradient(90deg,rgb(248 247 239 / 94%) 65%,rgb(248 247 239 / 70%) 80%,transparent);mask-image: linear-gradient(180deg,transparent,#000 12%,#000 92%,transparent)}}@media (max-width: 600px){.wrap{width: calc(100% - 24px)}.world-banner-copy{padding-left: 18px}.world-banner-title{font-size: 31px}.world-banner-note{max-width: 29ch;margin-top: 6px}.layout{padding: 12px;margin-bottom: 24px}.panel{border: 0;padding: 6px;background: transparent}.panel .tool-title{font-size: 34px;text-wrap: auto}.panel .kicker{margin-top: 8px}.planner-group{margin-top: 16px}.faq.wrap{padding: 16px 16px 20px}.prose-page{padding: 24px 18px}.site-footer{padding-inline: 4px}.has-world .site-footer{padding-inline: 16px}.hero{padding-top: 28px;gap: 20px}}@media (min-width: 861px) and (max-width: 1120px){.layout{grid-template-columns: 250px minmax(0,1fr);padding: 16px;gap: 18px}.panel{padding: 14px}.circle-stats .stat{padding: 10px}}@media (prefers-reduced-motion: reduce){*,*::before,*::after{transition: none !important;scroll-behavior: auto !important}}@supports not (width: 1cqw){.world-banner{width: 100%;margin-left: 0}.site-header::before{inset: 0}} @media (max-width: 600px){.world-banner{display: none}} .site-header + .layout{margin-top: 20px}@media (max-width: 600px){.site-header + .layout{margin-top: 12px}} @media (max-width: 600px){:where(.world-banner) + .layout{margin-top: 12px}} .circle-size-chart{margin: 20px 0;overflow-x: auto}.circle-size-svg{display: block;max-width: 100%;height: auto;background: var(--paper)}.circle-size-stats{display: grid;grid-template-columns: repeat(auto-fit,minmax(150px,1fr));gap: 10px;margin: 0 0 18px}.circle-size-stats > div{padding: 10px 12px;border-radius: 8px;background: var(--bg-2)}.circle-size-stats dt{font-size: 13px;color: var(--muted)}.circle-size-stats dd{margin: 2px 0 0;font-family: var(--mono);font-size: 20px;font-variant-numeric: tabular-nums}.circle-size-stats > div:last-child dd{font-family: var(--font);font-size: 14px}.circle-size-actions{display: flex;flex-wrap: wrap;gap: 8px;margin: 18px 0 8px} .circle-size-actions .btn{display: inline-flex;align-items: center;justify-content: center;margin: 0;text-align: center}.circle-size-rows{min-width: 0}.circle-size-rows td{font-family: var(--mono);font-variant-numeric: tabular-nums;padding-block: 5px}.sphere-layer-rows td:last-child{font-family: var(--font)}.sphere-layer-jump a{display: inline-block;min-width: 2.2em;min-height: 32px;padding: 4px 0;text-align: center}.circle-size-list{display: flex;flex-wrap: wrap;gap: 8px;padding: 0;list-style: none}.circle-size-list a,.circle-size-list span{display: inline-flex;min-height: 40px;align-items: center;padding: 6px 12px;border: 1px solid var(--line);border-radius: 6px;font-family: var(--mono);text-decoration: none}.circle-size-list span{background: var(--selected);border-color: var(--seal)} .size-breadcrumb{margin: 0 0 10px;color: var(--muted);font-size: 13px;line-height: 24px}.size-breadcrumb ol{margin: 0;padding: 0;list-style: none}.size-breadcrumb li{display: inline-block;max-width: 100%}.size-breadcrumb li + li::before{content: "›";content: "›" / "";margin: 0 .45em}.size-breadcrumb a{padding-block: 4px;text-underline-offset: 2px}.size-breadcrumb [aria-current="page"]{color: var(--ink)} .stepper-field{margin-top: 12px}.stepper-field > label{margin: 0 0 6px}.stepper{display: grid;grid-template-columns: 44px minmax(64px,96px) 44px;align-items: center;gap: 6px;width: max-content;max-width: 100%}.stepper input[type="number"]{width: 100%;min-width: 0;min-height: 44px;padding: 8px 4px;text-align: center;font-family: var(--mono); font-size: 18px;font-weight: 600;font-variant-numeric: tabular-nums;appearance: textfield;-moz-appearance: textfield}.stepper input::-webkit-inner-spin-button,.stepper input::-webkit-outer-spin-button{-webkit-appearance: none;appearance: none;margin: 0}.stepper input[aria-invalid="true"]{border-color: var(--danger)}.step-button{display: inline-flex;align-items: center;justify-content: center;width: 44px;height: 44px;padding: 0;border: 1px solid var(--control-line);border-radius: 3px;background: var(--paper);color: var(--ink);font-size: 22px;line-height: 1;cursor: pointer; touch-action: manipulation;user-select: none;-webkit-user-select: none;-webkit-touch-callout: none;-webkit-tap-highlight-color: transparent}.step-button:not(:disabled):hover{border-color: var(--accent)}.step-button:not(:disabled):active{background: var(--selected);border-color: var(--seal)}.step-button:disabled{opacity: 0.45;cursor: not-allowed}.size-presets{display: flex;flex-wrap: wrap;align-items: center;gap: 6px;margin-top: 10px}.size-presets-label{flex-basis: 100%;color: var(--muted);font-size: 13px}.size-preset{min-width: 44px;min-height: 44px;padding: 0 8px;border: 1px solid var(--line);border-radius: 4px;background: var(--paper);color: var(--ink);font-family: var(--mono);font-size: 15px;font-variant-numeric: tabular-nums;cursor: pointer;touch-action: manipulation}.size-preset:not(:disabled):hover{border-color: var(--accent)}.size-preset[aria-pressed="true"]{background: var(--selected);border-color: var(--seal);font-weight: 600}.size-preset:disabled{opacity: 0.45;cursor: not-allowed}.ask{margin: 8px 0 0;border-top: 1px solid var(--line)}.ask > summary{position: relative;display: flex;flex-wrap: wrap;align-items: center;gap: 4px 10px;min-height: 48px;padding: 10px 30px 10px 0;list-style: none;cursor: pointer;color: var(--ink);font-size: 15px;font-weight: 400;line-height: 1.4}.ask > summary::-webkit-details-marker{display: none} .ask > summary::after{content: "";position: absolute;top: 50%;right: 8px;width: 8px;height: 8px;margin-top: -6px;border-right: 2px solid var(--seal);border-bottom: 2px solid var(--seal);transform: rotate(45deg);transition: transform 140ms ease}.ask[open] > summary::after{margin-top: -2px;transform: rotate(-135deg)}.ask > summary:focus-visible{outline: 2px solid var(--accent);outline-offset: 2px}.ask-question{min-width: 0;overflow-wrap: anywhere;text-decoration: underline dotted var(--control-line);text-underline-offset: 4px}.ask > summary:hover .ask-question{color: var(--accent);text-decoration-color: currentColor}.ask-state{min-width: 0;margin-left: auto;padding: 2px 8px;border-radius: 999px;color: var(--muted);font-size: 14px;font-variant-numeric: tabular-nums;overflow-wrap: anywhere}.ask-state:empty,.ask[open] > summary .ask-state{display: none}.ask[data-changed="true"] .ask-state{background: var(--selected);color: var(--ink)}.ask-body{padding: 0 0 12px}
