
/* One name, two connected meanings. Original definition paragraphs are retained. */
.name-union{padding-block:48px 40px;border-top:1px solid var(--rule);position:relative}
.name-union:before{content:'';position:absolute;left:0;top:-4px;width:7px;height:7px;border-radius:50%;background:var(--thread-cyan)}
.name-heading{padding:15px 0 38px}
.name-joined{display:flex;align-items:baseline;justify-content:center;font:500 clamp(48px,7.6vw,106px)/1.15 var(--sans);letter-spacing:-.055em;white-space:nowrap}
.name-prefix{display:block;max-width:4em;overflow:hidden;color:var(--thread-cyan);opacity:1}
.name-prefix>span{display:block}
.name-anchor{display:block;flex-shrink:0}
.name-union.name-motion .name-prefix{max-width:0;opacity:0;transition:max-width 1.25s cubic-bezier(.22,.7,.2,1),opacity .7s}
.name-union.name-motion.is-woven .name-prefix{max-width:4em;opacity:1}
.name-union.is-resetting .name-prefix{transition:none!important}
.name-meanings{display:grid;grid-template-columns:1fr 1fr;gap:8%;border-top:1px solid var(--rule);padding-top:28px}
.name-meanings article{min-width:0;position:relative}
.name-meanings h4{margin:0 0 16px;font:11px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--thread-cyan)}
.name-meanings p{font-size:clamp(17px,1.7vw,22px);line-height:1.65;color:var(--muted)}
.name-tools{display:flex;justify-content:flex-end;margin-top:22px}
.name-replay{display:flex;align-items:center;gap:10px;min-height:44px;font:10px/1.5 var(--mono);color:var(--muted)}
.name-replay[hidden]{display:none}
.name-replay:hover{color:var(--thread-cyan)}
.name-replay svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:700px){.name-union{padding-block:30px 20px}.name-heading{padding:10px 0 28px}.name-joined{font-size:clamp(37px,10vw,62px)}.name-meanings{grid-template-columns:1fr;gap:28px;padding-top:24px}.name-meanings h4{margin-bottom:10px}.name-meanings article+article{border-top:1px solid var(--rule);padding-top:24px}.name-meanings p{font-size:17px;line-height:1.6}.name-tools{margin-top:15px}}
@media(prefers-reduced-motion:reduce){.name-union.name-motion .name-prefix{max-width:4em;opacity:1;transition:none}.name-replay{display:none}}

/* Build the name and its meaning in one stable stage. */
.name-stepper{display:flex;justify-content:center;align-items:center;gap:30px;margin:-12px 0 28px}
.name-stepper[hidden],.name-tools[hidden]{display:none!important}
.name-stepper button{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 0;border-bottom:1px solid transparent;font:11px/1.5 var(--mono);color:var(--muted)}
.name-stepper button>span{font-size:9px;opacity:.55}
.name-stepper button[aria-pressed=true]{color:var(--thread-cyan);border-color:var(--thread-cyan)}
.name-build .name-meanings{grid-template-columns:minmax(0,1fr);gap:0;text-align:center;padding-top:28px}
.name-build .name-panel{grid-area:1/1;width:100%;max-width:760px;margin:0 auto;opacity:0;visibility:hidden;transform:translateY(7px);transition:opacity .15s,transform .15s,visibility 0s .15s}
.name-build .name-panel+.name-panel{border:0;padding:0}
.name-build .name-panel.is-active{opacity:1;visibility:visible;transform:none;transition:opacity .4s ease .5s,transform .45s ease .5s,visibility 0s .45s}
.name-build.is-resetting .name-panel{transition:none!important}
.name-build .name-meanings h4{margin-bottom:15px}
.name-tools{min-height:44px;gap:24px}
.name-pause{display:flex;align-items:center;gap:9px;min-height:44px;font:10px/1.5 var(--mono);color:var(--muted)}
.name-pause[hidden]{display:none!important}
.name-pause[aria-disabled=true]{opacity:.5}
.name-pause:hover{color:var(--thread-cyan)}
.name-pause svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}
@media(max-width:700px){.name-stepper{gap:24px;margin:-10px 0 20px}.name-stepper button{font-size:10px}.name-build .name-meanings{padding-top:24px}.name-tools{gap:20px}.name-tools button{font-size:10px}.name-build .name-panel p{font-size:18px}}
@media(prefers-reduced-motion:reduce){.name-build .name-panel{transition:none!important;transform:none!important}}
