.spec{gap:clamp(1.5rem,4vh,2.5rem);min-height:calc(100dvh - var(--topbar-h));overflow:hidden;padding:clamp(1.5rem,4vh,2.5rem) var(--gutter) clamp(2.5rem,6vh,4rem);position:relative}.spec,.spec-head{display:flex;flex-direction:column}.spec-head{gap:.75rem;margin:0 auto;max-width:80rem;max-width:var(--container,80rem);width:100%}.spec-eyebrow{color:var(--register);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:.04em;text-transform:uppercase}.spec-title{font-size:var(--text-h2);font-size:var(--text-h1,var(--text-h2));font-weight:500;letter-spacing:-.02em;line-height:1.1}.spec-lede{color:var(--ink-2);font-size:var(--text-body);line-height:1.5;max-width:46ch}.spec-steps{color:var(--ink);display:flex;flex-wrap:wrap;font-size:var(--text-body-sm);gap:.5rem 1.75rem;margin-top:.5rem}.spec-steps li{align-items:center;display:flex;gap:.5rem}.spec-steps span{box-shadow:inset 0 0 0 1px var(--register);color:var(--register);display:inline-grid;font-family:var(--font-mono);font-size:var(--text-micro);height:1.35rem;place-items:center;width:1.35rem}.spec-stage{grid-gap:clamp(2rem,6vw,6rem);align-items:center;display:grid;flex:1 1;gap:clamp(2rem,6vw,6rem);grid-template-columns:minmax(0,.9fr) minmax(18rem,28rem) minmax(0,1.1fr);margin:0 auto;max-width:80rem;max-width:var(--container,80rem);position:relative;width:100%}.spec-lines{inset:0;overflow:visible;pointer-events:none;position:absolute;z-index:3}.reg line{stroke:var(--line-strong);stroke-width:1;stroke-dasharray:4 5}.leader path{fill:none;stroke:var(--ink-3);stroke-width:1;transition:stroke var(--dur) var(--ease-out)}.leader .node{fill:var(--bg);stroke:var(--ink);stroke-width:1}.leader .end,.leader .node-dot{fill:var(--ink)}.leader.is-on path{stroke:var(--register);stroke-width:1.25}.leader.is-on .node{stroke:var(--register)}.leader.is-on .end,.leader.is-on .node-dot{fill:var(--register)}.leader.is-drawn path{stroke-dasharray:1;stroke-dashoffset:1;animation:leaderDraw .6s var(--ease-out) forwards}@keyframes leaderDraw{to{stroke-dashoffset:0}}.spec-meta{align-self:end;gap:1.75rem;padding-bottom:1rem;position:relative}.spec-facts,.spec-meta{display:flex;flex-direction:column}.spec-facts{gap:.6rem}.spec-facts>div{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:5.5rem minmax(0,1fr)}.spec-facts dt{color:var(--ink-3);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:.04em;text-transform:uppercase}.spec-facts dd{color:var(--ink);font-size:var(--text-body-sm)}.spec-line p{font-size:var(--text-h3);font-weight:500;letter-spacing:-.01em;line-height:1.35;max-width:22ch}.spec-line footer{color:var(--ink-3);margin-top:.4rem}.spec-line footer,.spec-work{font-size:var(--text-body-sm)}.spec-work{color:var(--ink-2);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:4px;width:-webkit-fit-content;width:fit-content}.spec-work:hover{color:var(--ink);-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.spec-frame{aspect-ratio:4/5;cursor:crosshair;margin:0;position:relative;z-index:1}.spec-media{background:var(--surface);box-shadow:0 1px 0 #1415140f,0 18px 40px -24px #14151459;inset:9%;position:absolute;z-index:2}.spec-media img,.spec-media video{object-fit:contain}.spec-media img,.spec-media video,.spec-wait{display:block;height:100%;width:100%}.spec-guides{height:100%;inset:0;position:absolute;width:100%;z-index:1}.spec-guides ellipse,.spec-guides line{fill:none;stroke:var(--ink-3);stroke-dasharray:1.2 1.2;vector-effect:non-scaling-stroke;stroke-width:1}.spec-corner{background:var(--register);height:9px;position:absolute;width:9px;z-index:3}.spec-corner.tl{left:-4.5px;top:-4.5px}.spec-corner.tr{right:-4.5px;top:-4.5px}.spec-corner.bl{bottom:-4.5px;left:-4.5px}.spec-corner.br{bottom:-4.5px;right:-4.5px}.spec-corner.c{left:calc(50% - 4.5px);top:calc(50% - 4.5px);z-index:1}.spec-tag{background:var(--register);bottom:0;color:#fff;font-family:var(--font-mono);font-size:var(--text-micro);left:0;letter-spacing:.04em;padding:.4rem .7rem;position:absolute;z-index:3}.spec-cross{inset:0;pointer-events:none;position:absolute;z-index:4}.spec-cross .h,.spec-cross .v{background:var(--register);opacity:.85;position:absolute}.spec-cross .h{height:1px;left:0;right:0;top:calc(var(--y)*100%)}.spec-cross .v{bottom:0;left:calc(var(--x)*100%);top:0;width:1px}.spec-cross .read{background:var(--register);color:#fff;font-family:var(--font-mono);font-size:var(--text-micro);left:calc(var(--x)*100% + 8px);padding:.15rem .35rem;position:absolute;top:calc(var(--y)*100% + 6px);white-space:nowrap}.spec-cross.is-locked .h,.spec-cross.is-locked .read,.spec-cross.is-locked .v{transition:top .26s var(--ease-out),left .26s var(--ease-out)}.spec-bloom{animation:specBloom 1.6s var(--ease-out) forwards;background:radial-gradient(closest-side,var(--bloom-pill),var(--bloom-pink) 40%,var(--bloom-peach) 65%,#0000 100%);filter:blur(40px);inset:-40%;opacity:0;pointer-events:none;position:absolute;z-index:0}@keyframes specBloom{0%{opacity:0;transform:scale(.5)}30%{opacity:.85}to{opacity:0;transform:scale(1.15)}}.spec-anatomy{gap:clamp(2.5rem,9vh,5rem);position:relative;z-index:2}.anat,.spec-anatomy{display:flex;flex-direction:column}.anat{gap:.5rem;max-width:26rem}.anat-name{align-items:baseline;display:flex;font-size:var(--text-h2);font-weight:500;gap:.6rem;letter-spacing:-.015em}.anat-index{color:var(--ink-3);font-family:var(--font-mono);font-size:var(--text-micro);font-weight:400}.anat.is-copied .anat-index{color:var(--register)}.anat-what{color:var(--ink-2);font-size:var(--text-body-sm)}.anat-bar{align-items:center;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);display:flex;gap:.75rem;padding:.65rem .75rem;text-align:left;transition:box-shadow var(--dur) var(--ease-out);width:100%}.anat-bar:focus-visible,.anat-bar:hover{box-shadow:inset 0 0 0 1px var(--ink);outline:none}.anat.is-copied .anat-bar{box-shadow:inset 0 0 0 1px var(--register)}.anat-addr{color:var(--ink);flex:1 1;font-size:.75rem;line-height:1.4;min-width:0;overflow-wrap:anywhere}.anat-act,.anat-addr{font-family:var(--font-mono)}.anat-act{color:var(--ink-3);flex:none;font-size:var(--text-micro)}.anat.is-copied .anat-act{color:var(--register)}.anat-accepts{color:var(--ink-3);font-size:var(--text-caption);line-height:1.45}.anat-log{color:var(--ink);font-family:var(--font-mono);font-size:var(--text-micro);min-height:1.2em}.anat-log span,.spec-foot{color:var(--ink-3)}.spec-foot{font-size:var(--text-caption);margin:0 auto;max-width:80rem;max-width:var(--container,80rem);width:100%}.spec-foot a{color:var(--ink-2);text-decoration:underline;text-underline-offset:3px}@media (max-width:1099px){.spec-head,.spec-stage{max-width:30rem}.spec-stage{gap:2.5rem;grid-template-columns:minmax(0,1fr)}.spec-anatomy{gap:2.25rem;order:1}.spec-frame{margin:0 auto;order:2;width:min(100%,20rem)}.spec-meta{align-self:start;order:3}.spec-cross,.spec-lines .leader{display:none}}@media (prefers-reduced-motion:reduce){.leader.is-drawn path{stroke-dashoffset:0;animation:none}.spec-cross.is-locked .h,.spec-cross.is-locked .read,.spec-cross.is-locked .v{transition:none}}