.aj-box{padding:clamp(20px,4vw,42px);border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.aj-inputs{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:20px;align-items:start;margin:28px 0}
.aj-inputs label{display:block;font-weight:650;margin-bottom:8px}
.aj-inputs input{box-sizing:border-box;display:block;width:100%;min-width:0;padding:13px 14px;font:inherit;font-size:1.15rem;color:var(--ink);background:var(--paper);border:1px solid #7a7a73;border-radius:0}
.aj-inputs small{display:block;line-height:1.5;margin-top:8px;font-size:.85rem}
.aj-inputs button{grid-column:1/-1;justify-self:start}
.aj-inputs button:disabled,.aj-example:disabled{opacity:.55;cursor:wait}
.aj-inputs input:focus-visible,.aj-example:focus-visible,.aj-scroll:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.aj-error{padding:14px 18px;background:#fff1eb;border-left:4px solid #923b29;color:#5e241a}
.aj-summary{padding:22px 0;border-top:1px solid #a8a79e}
.aj-summary h2{font-size:clamp(1.5rem,3vw,2.3rem);margin:0 0 12px}
.aj-type{font-weight:650;text-transform:uppercase;font-size:.9rem;letter-spacing:.05em}
.aj-value{font-size:clamp(1.25rem,2.5vw,1.8rem);font-weight:650}
.aj-pieces{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.aj-piece{padding:20px;background:var(--paper);border:1px solid #b8b6a9;min-width:0}
.aj-piece h3{font-size:1.2rem;margin:0 0 18px}
.aj-limits{margin:0;font-variant-numeric:tabular-nums}
.aj-limits>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid #c9c6b7;flex-wrap:wrap}
.aj-limits dt{font-size:.9rem}
.aj-limits dd{margin:0;font-weight:650;white-space:nowrap}
.aj-help{font-size:.875rem;line-height:1.6;margin:16px 0 0}
.aj-diagram{margin:26px 0 20px;padding:20px;background:var(--paper);border:1px solid #b8b6a9}
.aj-diagram figcaption{font-weight:650;margin-bottom:16px}
.aj-scale{display:flex;justify-content:space-between;margin-left:85px;font-size:.85rem;font-variant-numeric:tabular-nums}
.aj-band-row{display:grid;grid-template-columns:75px 1fr;gap:10px;align-items:center;font-size:.9rem;margin:12px 0}
.aj-track{position:relative;height:32px;background:#e9e6dc;min-width:0}
.aj-zero{position:absolute;top:0;bottom:0;width:2px;background:#252820;z-index:2}
.aj-band{position:absolute;top:6px;height:20px;min-width:1px}
.aj-band-hole{background:var(--accent)}
.aj-band-shaft{background:var(--ink-3)}
.aj-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;margin:24px 0}
.aj-table{width:100%;border-collapse:collapse;font-size:.95rem;font-variant-numeric:tabular-nums}
.aj-table caption{text-align:left;font-size:.9rem;padding:0 0 14px}
.aj-table th,.aj-table td{text-align:left;padding:13px 16px;border-bottom:1px solid #b8b6a9;vertical-align:top}
.aj-table thead th{color:var(--paper);background:var(--ink);font-weight:600;white-space:nowrap}
.aj-table tbody th{font-weight:650;white-space:nowrap}
#tableau .aj-table td{white-space:nowrap}
.aj-example{font:inherit;text-decoration:underline;text-underline-offset:4px;background:transparent;color:inherit;border:0;padding:3px 0;cursor:pointer;font-weight:650}
.aj-example:hover{color:var(--accent)}
.aj-source{font-size:.85rem;line-height:1.8;margin-top:28px;overflow-wrap:anywhere}
.aj-box [hidden]{display:none}
@media(max-width:700px){.aj-inputs{grid-template-columns:1fr 1fr}.aj-inputs>div:first-child{grid-column:1/-1}.aj-pieces{grid-template-columns:1fr}.aj-piece{padding:16px}.aj-diagram{padding:14px}.aj-table th,.aj-table td{padding:12px}.aj-scale{margin-left:70px}.aj-band-row{grid-template-columns:60px 1fr}}
