.metal-tool .beam-category-entry{margin:5px 0 0;text-align:right;font-size:.78rem;font-weight:700}
.metal-tool .beam-category-entry a,.metal-tool .beam-detail-entry{color:var(--accent-dark)}
.metal-tool .beam-detail-entry{display:inline-flex;align-items:center;min-height:34px;margin:0 0 9px;padding:4px 12px;border:1px solid #9bcbd3;border-radius:6px;background:#e9f5f7;font-size:.78rem;font-weight:800;text-decoration:none}
.metal-tool .beam-detail-entry:hover,.metal-tool .beam-detail-entry:focus-visible,.metal-tool .beam-category-entry a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.metal-tool .beam-page{min-width:0;padding-bottom:42px}
.metal-tool .beam-scope{padding:10px 13px;border-left:3px solid var(--accent);background:#edf6f7;font-size:.78rem;line-height:1.7;overflow-wrap:anywhere}
.metal-tool .beam-scope:focus{outline:2px solid var(--accent);outline-offset:2px}
.metal-tool .beam-field-error{color:#923e22;font-size:.72rem;font-weight:500;overflow-wrap:anywhere}
.metal-tool .beam-field-error[hidden]{display:none}
.metal-tool .beam-fields input[aria-invalid="true"]{border-color:#923e22}
.metal-tool .beam-compare-select{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere}
.metal-tool .beam-compare-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.metal-tool .beam-title{margin:0 0 12px}
.metal-tool .beam-title .eyebrow{margin-bottom:2px}
.metal-tool .beam-title h1{margin:0;font-size:clamp(1.2rem,2vw,1.65rem)}
.metal-tool .beam-title p:last-child,.metal-tool .beam-muted{margin:2px 0;color:var(--muted);font-size:.76rem}
.metal-tool .beam-panel{min-width:0;margin:9px 0;padding:15px;background:#fff;border:1px solid var(--line);border-radius:9px}
.metal-tool .beam-panel h2{margin:0 0 9px;font-size:1rem}
.metal-tool .beam-results-zone{margin-top:22px;border-top:4px solid var(--accent);background:#fff}
.metal-tool .beam-results-zone>h2{font-size:1.08rem}
.metal-tool .beam-condition-summary{min-width:0;margin:0 0 14px;padding:9px 11px;border-radius:6px;background:#f2f8f9;color:#355862;overflow-wrap:anywhere}
.metal-tool .beam-summary-main,.metal-tool .beam-summary-details{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 9px;min-width:0}
.metal-tool .beam-summary-main{font-size:.77rem;font-weight:700}
.metal-tool .beam-summary-main span:not(:last-of-type)::after{content:'｜';margin-left:9px;color:#9cb8bf;font-weight:400}
.metal-tool .beam-summary-main strong{color:var(--accent-dark);font-weight:800}
.metal-tool .beam-summary-details{margin-top:3px;color:var(--muted);font-size:.68rem}
.metal-tool .beam-summary-details span:not(:last-child)::after{content:'｜';margin-left:9px;color:#b2c6ca}
.metal-tool .beam-choice-fieldset{min-width:0;margin:0 0 12px;padding:0;border:0}
.metal-tool .beam-choice-fieldset legend{margin:0 0 6px;padding:0;color:var(--ink);font-size:.81rem;font-weight:800}
.metal-tool .beam-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0}
.metal-tool .beam-choice{position:relative;display:block;min-width:0;cursor:pointer}
.metal-tool .beam-choice input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.metal-tool .beam-choice-face{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:88px;padding:7px;border:1px solid #d4e0e3;border-radius:8px;background:#f8fbfb;color:#51636b;text-align:center;font-size:.78rem;font-weight:700;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.metal-tool .beam-choice-face svg{display:block;width:min(100%,166px);height:51px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.metal-tool .beam-choice:hover .beam-choice-face{border-color:#8cbbc4;background:#f0f8f9}
.metal-tool .beam-choice input:checked+.beam-choice-face{border-color:var(--accent);background:#e7f5f7;box-shadow:0 0 0 1px rgba(11,114,133,.24);color:var(--accent-dark)}
.metal-tool .beam-choice input:focus-visible+.beam-choice-face{outline:3px solid var(--accent);outline-offset:2px}
.metal-tool .beam-choice input:checked+.beam-choice-face svg{stroke-width:2.5}
.metal-tool .beam-input-step{padding-top:2px;border-top:1px solid var(--line)}
.metal-tool .beam-input-step h3{margin:8px 0 6px;font-size:.81rem}
.metal-tool .beam-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-width:0}
.metal-tool .beam-fields label,.metal-tool .beam-selection label{display:flex;flex-direction:column;min-width:0;gap:3px;color:var(--muted);font-size:.7rem;font-weight:700}
.metal-tool .beam-fields input,.metal-tool .beam-fields select,.metal-tool .beam-selection select{width:100%;min-width:0;min-height:37px;padding:5px 7px;border:1px solid #cbd9dd;border-radius:5px;background:#fff;color:var(--ink);font-size:.78rem}
.metal-tool .beam-fields :is(input,select):focus-visible,.metal-tool .beam-selection select:focus-visible,.metal-tool .beam-neighbors button:focus-visible,.metal-tool .beam-comparison tr:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.metal-tool .beam-more-settings{margin-top:10px;padding-top:7px;border-top:1px solid var(--line)}
.metal-tool .beam-more-settings summary,.metal-tool .beam-checks summary,.metal-tool .beam-evidence summary{width:fit-content;max-width:100%;min-height:32px;color:var(--accent-dark);font-size:.76rem;font-weight:800;cursor:pointer}
.metal-tool .beam-more-settings summary span{margin-left:7px;color:var(--muted);font-size:.69rem;font-weight:500;overflow-wrap:anywhere}
.metal-tool .beam-secondary-fields{padding:7px 0 2px}
.metal-tool .beam-selection{display:grid;grid-template-columns:minmax(185px,1.3fr) minmax(0,2fr);align-items:end;gap:8px 15px}
.metal-tool .beam-selection>label{min-width:0}
.metal-tool .beam-selection select{width:100%}
.metal-tool .beam-selection .beam-material{grid-column:1/-1;margin:0;color:var(--muted);font-size:.74rem}
.metal-tool .beam-neighbors{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0}
.metal-tool .beam-neighbors strong{text-align:center;overflow-wrap:anywhere;font-size:.9rem}
.metal-tool .beam-neighbors button{min-height:36px;padding:6px 10px;border:1px solid #bcd4d9;border-radius:6px;background:#f1f8f9;color:var(--accent-dark);font-size:.73rem;font-weight:700}
.metal-tool .beam-neighbors button:disabled{opacity:.45;cursor:default}
.metal-tool .beam-primary-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.metal-tool .beam-primary-item{display:flex;flex-direction:column;justify-content:center;min-width:0;min-height:94px;padding:12px 15px;border-left:3px solid var(--accent);border-radius:6px;background:#e8f5f7}
.metal-tool .beam-primary-item span{color:#3c6670;font-size:.72rem;font-weight:700}
.metal-tool .beam-primary-item strong{margin-top:3px;color:var(--accent-dark);font-size:clamp(1.3rem,2.5vw,1.9rem);line-height:1.2;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.metal-tool .beam-primary-item strong small{font-size:.68rem}
.metal-tool .beam-primary-item em{margin-top:2px;color:var(--accent-dark);font-size:1rem;font-style:normal;font-weight:800}
.metal-tool .beam-primary-deflection{grid-column:1/-1;min-height:142px;padding:16px 20px}
.metal-tool .beam-primary-deflection>span{font-size:.85rem}
.metal-tool .beam-primary-deflection strong{font-size:clamp(2rem,4vw,3rem)}
.metal-tool .beam-primary-deflection em{font-size:1.25rem}
.metal-tool .beam-deflection-context{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;margin-top:12px;padding-top:9px;border-top:1px solid #c4dfe4;color:#315f69;font-size:.77rem;font-weight:700}
.metal-tool .beam-deflection-context>span:last-child{display:flex;align-items:center;gap:7px;min-width:170px}
.metal-tool .beam-deflection-context .beam-rate{width:min(240px,100%)}
.metal-tool .beam-criteria-note{margin:9px 0 0;padding:8px 10px;border-left:3px solid #8ca9ae;background:#f3f7f8;color:#465f68;font-size:.75rem}
.metal-tool .beam-stress-block{min-width:0;margin-top:12px;padding:10px 13px;border:1px solid #dce7e9;border-radius:7px}
.metal-tool .beam-stress-block h3{margin:0 0 6px;font-size:.84rem}
.metal-tool .beam-stress-block dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0}
.metal-tool .beam-stress-block .beam-metric{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 9px;min-width:0}
.metal-tool .beam-stress-block dt{color:var(--muted);font-size:.74rem}
.metal-tool .beam-stress-block dd{min-width:0;margin:0;font-size:1rem;font-weight:800;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.metal-tool .beam-stress-block dd small{color:var(--muted);font-size:.7rem;font-weight:500}
.metal-tool .beam-stress-rate{display:flex;align-items:center;gap:6px;width:100%;color:var(--muted);font-size:.67rem}
.metal-tool .beam-stress-rate .beam-rate{width:min(190px,100%)}
.metal-tool .beam-rate{display:flex;align-items:center;gap:6px;min-width:0;width:100%}
.metal-tool .beam-rate-track{display:block;flex:1;min-width:20px;height:7px;overflow:hidden;border-radius:100px;background:#e5edef}
.metal-tool .beam-rate-fill{display:block;height:100%;border-radius:100px;background:var(--accent);transition:width .25s ease}
.metal-tool .beam-rate-value{flex:none;color:var(--ink);font-size:.72rem;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.metal-tool .beam-secondary-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px;margin:4px 0 0;padding:7px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.metal-tool .beam-secondary-results .beam-metric{display:flex;justify-content:space-between;gap:7px;min-width:0;padding:5px 2px;background:none;border-radius:0}
.metal-tool .beam-secondary-results dt{min-width:0;color:var(--muted);font-size:.68rem}
.metal-tool .beam-secondary-results dd{min-width:0;margin:0;text-align:right;font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.metal-tool .beam-secondary-results dd small{color:var(--muted);font-size:.65rem;font-weight:500}
.metal-tool .beam-auxiliary,.metal-tool .beam-checks,.metal-tool .beam-evidence{margin-top:7px;padding-top:3px;font-size:.74rem}
.metal-tool .beam-auxiliary summary,.metal-tool .beam-checks summary,.metal-tool .beam-evidence summary{width:fit-content;max-width:100%;min-height:32px;color:var(--accent-dark);font-size:.76rem;font-weight:800;cursor:pointer}
.metal-tool .beam-checks>div{padding:7px 10px;background:#f8fbfb;border-radius:5px}
.metal-tool .beam-checks h3{margin:6px 0 2px;font-size:.75rem}
.metal-tool .beam-checks p{margin:2px 0;color:var(--muted);overflow-wrap:anywhere}
.metal-tool .beam-evidence{border-top:1px solid var(--line)}
.metal-tool .beam-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.metal-tool .beam-evidence-grid section{min-width:0;padding:10px;background:#f8fbfb;border-radius:5px;overflow-wrap:anywhere}
.metal-tool .beam-evidence-grid h3{margin:0 0 4px;font-size:.82rem}
.metal-tool .beam-evidence-grid p{margin:3px 0;line-height:1.55}
.metal-tool .beam-evidence-grid a{color:var(--accent-dark)}
.metal-tool .beam-message{padding:16px;background:#f4f8f9;border-radius:6px;color:var(--muted);font-size:.84rem}
.metal-tool .beam-comparison{width:100%;max-width:100%;margin-top:8px;border-collapse:collapse;table-layout:fixed;font-size:.72rem}
.metal-tool .beam-comparison th,.metal-tool .beam-comparison td{min-width:0;padding:7px 5px;border-bottom:1px solid #e1e9eb;text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.metal-tool .beam-comparison th:first-child,.metal-tool .beam-comparison td:first-child{text-align:left;width:21%}
.metal-tool .beam-comparison th{background:#edf4f5;color:#52666f;font-size:.67rem}
.metal-tool .beam-comparison tbody tr{cursor:pointer}
.metal-tool .beam-comparison tbody tr:hover,.metal-tool .beam-comparison tbody tr:focus-visible{background:#eef7f8}
.metal-tool .beam-comparison tbody tr[aria-current=true]{background:#dff1f3;color:#064f5c;font-weight:800}
.metal-tool .beam-comparison .beam-rate-track{height:5px}
.metal-tool .beam-comparison .beam-rate-value{font-size:.67rem}
.metal-tool .beam-rate-empty{color:#7a8d95}
@media(min-width:801px){.metal-tool .beam-comparison--compact th:first-child,.metal-tool .beam-comparison--compact td:first-child{width:39%}
.metal-tool .beam-comparison--compact th:nth-child(2){width:14%}
.metal-tool .beam-comparison--compact th:nth-child(3){width:31%}
.metal-tool .beam-comparison--compact th:nth-child(4){width:16%}
.metal-tool .beam-comparison--compact td[data-label="たわみ"] .beam-rate{gap:10px}
.metal-tool .beam-comparison--compact td[data-label="たわみ"] .beam-rate-value{min-width:3.5em;text-align:right;font-size:.73rem}}
@media(max-width:800px){.metal-tool .beam-selection{grid-template-columns:1fr}
.metal-tool .beam-comparison,.metal-tool .beam-comparison tbody{display:block;min-width:0}
.metal-tool .beam-comparison thead{display:none}
.metal-tool .beam-comparison tr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px 9px;min-width:0;margin:7px 0;padding:7px;border:1px solid var(--line);border-radius:6px}
.metal-tool .beam-comparison td,.metal-tool .beam-comparison td:first-child{display:block;width:auto;padding:1px 0;border:0;text-align:left;min-width:0}
.metal-tool .beam-comparison td:first-child{grid-column:1/-1;font-weight:800}
.metal-tool .beam-comparison td::before{content:attr(data-label) ' ';display:block;color:var(--muted);font-size:.65rem;font-weight:400}}
@media(max-width:600px){.metal-tool .beam-panel{padding:10px}
.metal-tool .beam-choice-grid,.metal-tool .beam-fields,.metal-tool .beam-secondary-results,.metal-tool .beam-stress-block dl{grid-template-columns:repeat(2,minmax(0,1fr))}
.metal-tool .beam-choice:last-child:nth-child(3){grid-column:1/-1}
.metal-tool .beam-choice-face{min-height:78px;padding:5px}
.metal-tool .beam-choice-face svg{height:43px}
.metal-tool .beam-primary-results{grid-template-columns:1fr}
.metal-tool .beam-primary-deflection{grid-column:1;min-height:0;padding:13px}
.metal-tool .beam-deflection-context>span:last-child{min-width:0;width:100%}
.metal-tool .beam-stress-block dl{grid-template-columns:1fr}
.metal-tool .beam-evidence-grid{grid-template-columns:1fr}
.metal-tool .beam-neighbors{gap:3px}
.metal-tool .beam-neighbors button{padding:4px 5px;font-size:.67rem}
.metal-tool .beam-neighbors strong{font-size:.8rem}
.metal-tool .beam-comparison tr{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 9px;margin:5px 0;padding:7px 9px}
.metal-tool .beam-comparison td[data-label="曲げ"],.metal-tool .beam-comparison td[data-label="せん断"],.metal-tool .beam-comparison td[data-label="最大使用率"],.metal-tool .beam-comparison td[data-label="支配項目"]{display:none}
.metal-tool .beam-comparison td:first-child{grid-column:1/-1;font-size:.8rem;line-height:1.25}
.metal-tool .beam-comparison td:first-child::before{display:none}
.metal-tool .beam-comparison td[data-label="たわみ"]{display:flex;grid-column:1/-1;align-items:center;gap:8px;order:1}
.metal-tool .beam-comparison td[data-label="たわみ"]::before{content:'たわみ';display:inline;flex:none}
.metal-tool .beam-comparison td[data-label="たわみ"] .beam-rate{flex:1;width:auto;max-width:250px}
.metal-tool .beam-comparison td[data-label="kg/m"],.metal-tool .beam-comparison td[data-label="部材重量"]{display:flex;align-items:baseline;gap:3px;font-size:.72rem;line-height:1.25}
.metal-tool .beam-comparison td[data-label="kg/m"]{order:2}
.metal-tool .beam-comparison td[data-label="kg/m"]::before{display:none}
.metal-tool .beam-comparison td[data-label="kg/m"]::after{content:'kg/m';color:var(--muted);font-size:.65rem}
.metal-tool .beam-comparison td[data-label="部材重量"]{order:3}
.metal-tool .beam-comparison td[data-label="部材重量"]::before{content:'部材';display:inline}}
.metal-tool .beam-page .beam-narrow-copy{display:none}
@media(max-width:390px){.metal-tool .beam-page .beam-wide-copy{display:none}
.metal-tool .beam-page .beam-narrow-copy{display:inline}
.metal-tool .beam-primary-deflection strong{font-size:1.75rem}
.metal-tool .beam-primary-deflection em{font-size:1.1rem}}
@media(prefers-reduced-motion:reduce){.metal-tool .beam-choice-face,.metal-tool .beam-rate-fill{transition:none}}
