/* 설계 계산기(/calc) — 생산 가능성 검사와 같은 머리. 계산기 탭 → 왼쪽 입력 · 오른쪽 결과(큰 숫자 · 판정 · 계산 과정). */
.calc-page{max-width:1280px}
.calc-page .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.calc-heading{margin:30px 0 30px;max-width:860px}
.calc-heading h1{font-size:clamp(30px,4vw,48px);letter-spacing:-.045em;margin:8px 0 14px}
.calc-heading p:last-child{color:var(--muted);font-size:17px}
.calc-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;margin:0 -2px 22px;scrollbar-width:thin}
.calc-tab{flex:0 0 auto;display:grid;gap:2px;text-align:left;padding:11px 16px;border:1px solid var(--ui-line);border-radius:var(--ui-radius-s);background:var(--paper);min-width:132px}
.calc-tab small{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--muted)}
.calc-tab strong{font-size:14px;font-weight:600}
.calc-tab:hover{border-color:var(--ui-line-strong)}
.calc-tab[aria-selected=true]{border-color:var(--ui-accent);box-shadow:inset 0 0 0 1px var(--ui-accent)}
.calc-layout{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:28px;align-items:start}
.calc-input,.calc-output{min-width:0}
.calc-input h2{font-size:24px;letter-spacing:-.03em;margin:0 0 6px}
.calc-summary{color:var(--ui-ink-2);font-size:14px;line-height:1.7;margin:0 0 18px}
.calc-form{display:grid;gap:14px}
.calc-field{display:grid;gap:6px;font-size:13px}
.calc-label{font-weight:600;color:var(--ui-ink)}
.calc-control{display:flex;align-items:center;border:1px solid var(--ui-line-strong);border-radius:var(--ui-radius-s);background:var(--paper);overflow:hidden}
.calc-control:focus-within{border-color:var(--ui-focus);box-shadow:0 0 0 2px var(--ui-accent-soft)}
.calc-control input,.calc-control select{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font-size:15px;padding:11px 12px;outline:none}
.calc-control select{cursor:pointer}
.calc-control .calc-unit{flex:0 0 auto;padding:0 12px;color:var(--muted);font-size:13px;white-space:nowrap}
.calc-field [aria-invalid=true]{color:#a33c2e}
.calc-field:has([aria-invalid=true]) .calc-control{border-color:#a33c2e}
.calc-field small{color:var(--muted);line-height:1.6}
.calc-basis{margin:18px 0 0;font-size:13px;color:var(--muted)}
.calc-basis a{color:var(--ui-link);text-decoration:underline;text-underline-offset:3px}
.calc-output{border:1px solid var(--ui-line);border-radius:var(--ui-radius-m);background:var(--ui-surface);padding:20px}
.calc-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.calc-stat{background:var(--paper);border:1px solid var(--ui-line);border-radius:var(--ui-radius-s);padding:14px 16px;min-width:0}
.calc-stat>span{display:block;font-size:12px;color:var(--muted)}
.calc-stat em,.calc-values em{font-style:normal;font-size:12px;font-weight:600;color:var(--ui-ink-2);background:var(--ui-surface-2);border-radius:var(--ui-pill);padding:1px 8px}
.calc-stat em{display:inline-block;margin-top:4px}
.calc-stat p{margin:6px 0 0;line-height:1.25;overflow-wrap:anywhere}
.calc-stat b{font-size:26px;font-weight:650;letter-spacing:-.03em;color:var(--ui-ink)}
.calc-stat .calc-unit{font-size:13px;color:var(--muted)}
.calc-stat.is-text b{font-size:19px;letter-spacing:-.02em}
.calc-checks{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.calc-checks li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 10px;align-items:baseline;background:var(--paper);border:1px solid var(--ui-line);border-left:4px solid var(--ui-line-strong);border-radius:var(--ui-radius-s);padding:10px 14px}
.calc-checks p{margin:0;font-size:14px;line-height:1.6}
.calc-checks small{grid-column:2;color:var(--muted)}
.calc-level{font-size:12px;font-weight:700;color:var(--muted)}
.calc-checks .is-ok{border-left-color:#3d8a5f}.calc-checks .is-ok .calc-level{color:#2f6b4a}
.calc-checks .is-warn{border-left-color:#ef8a33}.calc-checks .is-warn .calc-level{color:#9a5b12}
.calc-checks .is-fail{border-left-color:#d9343a}.calc-checks .is-fail .calc-level{color:#a33c2e}
.calc-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 18px;margin:16px 0 0}
.calc-values div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--ui-line);font-size:13px}
.calc-values dt{color:var(--ui-ink-2)}
.calc-values dd{margin:0;text-align:right;white-space:nowrap}
.calc-values b{font-weight:600}
.calc-values .calc-unit{color:var(--muted)}
.calc-steps{margin-top:16px;border-top:1px solid var(--ui-line);padding-top:12px}
.calc-steps summary{cursor:pointer;font-size:14px;font-weight:600}
.calc-steps ol{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.calc-steps li{display:grid;gap:3px;background:var(--paper);border-radius:var(--ui-radius-s);padding:10px 14px;font-size:13px;min-width:0}
.calc-steps li>span{color:var(--muted);font-size:12px}
@media(min-width:1101px){
  .calc-steps li{grid-template-columns:minmax(0,9fr) minmax(0,12fr) minmax(0,14fr) minmax(0,7fr);gap:12px;align-items:baseline}
  .calc-steps li>b{text-align:right}
}
.calc-steps code{font-family:"Cascadia Mono",Consolas,monospace;font-size:13px;overflow-wrap:anywhere;white-space:normal}
.calc-steps .calc-sub{color:var(--ui-ink-2)}
.calc-steps b{font-weight:600;white-space:nowrap}
.calc-steps b .calc-unit{font-weight:400;color:var(--muted)}
.calc-notes{margin:14px 0 0;padding-left:18px;display:grid;gap:4px;font-size:13px;line-height:1.7;color:var(--ui-ink-2)}
.calc-sources{margin:12px 0 0;font-size:12px;color:var(--muted);line-height:1.7}
.calc-sources span{font-weight:600}
.calc-sources a{text-decoration:underline;text-underline-offset:2px}
.calc-error{margin:0;color:#a33c2e;font-size:14px;line-height:1.7;background:var(--paper);border:1px solid var(--ui-line);border-left:4px solid #d9343a;border-radius:var(--ui-radius-s);padding:12px 14px}
.calc-share{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:16px}
.calc-ai{margin-top:44px;border-top:1px solid var(--line);padding-top:26px;max-width:900px}
.calc-ai h2{font-size:20px;letter-spacing:-.02em;margin:0 0 8px}
.calc-ai p{color:var(--ui-ink-2);font-size:14px;margin:0 0 10px}
.calc-ai ul{margin:0;padding-left:18px;display:grid;gap:6px;font-size:14px;line-height:1.7;color:var(--ui-ink-2)}
.calc-ai strong{color:var(--ui-ink);margin-right:4px}
.calc-ai code{font-size:12.5px;background:var(--ui-surface-2);border-radius:4px;padding:1px 5px;overflow-wrap:anywhere}
@media(min-width:761px){
  .calc-tabs{flex-wrap:wrap;overflow:visible}
}
@media(max-width:900px){
  .calc-layout{grid-template-columns:minmax(0,1fr);gap:22px}
}
@media(max-width:760px){
  .calc-heading{margin:10px 0 22px}
  .calc-heading p:last-child{font-size:15px}
  .calc-tab{min-width:0;padding:9px 13px}
  .calc-output{padding:14px;margin:0 -8px}
  .calc-stat b{font-size:22px}
  .calc-values{grid-template-columns:minmax(0,1fr)}
  .calc-values dd{white-space:normal}
}
