/* REL 6.17.53 // contact signal lock
   A psychological gate, not authentication: three fast calibrations reveal the human contact channel. */
.signal-hero{grid-template-columns:minmax(0,1fr) minmax(360px,.76fr)!important;align-items:center!important}
.signal-lock{position:relative;align-self:center;min-width:0;padding:18px 18px 20px;border:1px solid rgba(201,163,75,.34);background:radial-gradient(circle at 50% 46%,rgba(201,163,75,.055),transparent 29%),linear-gradient(145deg,rgba(14,13,10,.96),rgba(3,3,3,.985));box-shadow:0 28px 64px rgba(0,0,0,.34),inset 0 0 0 1px rgba(255,255,255,.018);overflow:hidden;isolation:isolate}
.signal-lock::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(242,238,228,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(242,238,228,.025) 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(circle at 50% 44%,#000,transparent 78%)}
.signal-lock::after{content:"";position:absolute;inset:8px;z-index:-1;border:1px solid rgba(201,163,75,.08);pointer-events:none}
.signal-lock-head{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-bottom:10px;border-bottom:1px solid rgba(201,163,75,.22);font:900 .5rem/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#bca36c}
.signal-lock-head b{font:inherit;color:#7f786b}
.signal-lock-rule{margin-top:10px;text-align:center;font:900 .44rem/1.5 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:#7f786b}
.signal-lock-dial{position:relative;width:min(390px,100%);aspect-ratio:1;margin:12px auto 8px}
.signal-lock-map{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.signal-lock-map circle,.signal-lock-map path{fill:none;stroke:rgba(242,238,228,.075);stroke-width:1}
.signal-lock-map .diagonal{stroke:rgba(201,163,75,.07);stroke-dasharray:2 8}
.lock-ring{--turn:0deg;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:0;border-radius:50%;padding:0;background:transparent;color:#ded7ca;cursor:pointer;-webkit-tap-highlight-color:transparent}
.lock-ring:focus-visible{outline:1px solid #d8b45c;outline-offset:4px}
.lock-ring .ring-track{position:absolute;inset:0;border:1px solid rgba(242,238,228,.25);border-radius:50%;transform:rotate(var(--turn));transition:transform .34s cubic-bezier(.2,.8,.2,1),border-color .22s ease,box-shadow .22s ease}
.lock-ring .ring-track::before{content:"";position:absolute;left:50%;top:-3px;width:2px;height:12%;transform:translateX(-50%);background:linear-gradient(#f1cf70,rgba(201,163,75,.12));box-shadow:0 0 12px rgba(201,163,75,.25)}
.lock-ring .ring-track::after{content:"";position:absolute;left:50%;top:-5px;width:7px;height:7px;transform:translateX(-50%);border-radius:50%;background:#c9a34b;box-shadow:0 0 10px rgba(201,163,75,.6)}
.lock-ring .ring-copy{position:absolute;display:grid;gap:2px;pointer-events:none}
.lock-ring .ring-copy small{font:900 .43rem/1 var(--mono);letter-spacing:.14em;color:#8f8676}
.lock-ring .ring-copy strong{font:900 .52rem/1.1 var(--mono);letter-spacing:.11em;color:#dcd5c8}
.lock-ring--problem{width:96%;aspect-ratio:1;z-index:1}
.lock-ring--problem .ring-copy{left:50%;top:7%;transform:translateX(-50%);text-align:center}
.lock-ring--constraint{width:71%;aspect-ratio:1;z-index:2}
.lock-ring--constraint .ring-copy{right:5%;top:50%;transform:translateY(-50%);text-align:right}
.lock-ring--evidence{width:46%;aspect-ratio:1;z-index:3}
.lock-ring--evidence .ring-copy{left:50%;bottom:10%;transform:translateX(-50%);text-align:center}
.lock-ring.is-correct .ring-track{border-color:rgba(221,184,91,.78);box-shadow:0 0 0 5px rgba(201,163,75,.018),0 0 28px rgba(201,163,75,.12)}
.lock-ring.is-correct .ring-copy strong{color:#efd486;text-shadow:0 0 14px rgba(201,163,75,.22)}
.lock-core{position:absolute;z-index:5;left:50%;top:50%;width:24%;aspect-ratio:1;transform:translate(-50%,-50%);display:grid;place-items:center;align-content:center;gap:5px;border:1px solid rgba(242,238,228,.3);border-radius:50%;background:radial-gradient(circle,rgba(201,163,75,.055),rgba(4,4,4,.98) 66%);box-shadow:0 0 0 8px rgba(242,238,228,.012);pointer-events:none;text-align:center}
.lock-core::before{content:"";width:9px;height:9px;border-radius:50%;background:#6f6658;border:1px solid #999084;box-shadow:0 0 0 4px rgba(255,255,255,.015)}
.lock-core small,.lock-core em{font:900 .36rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#6f685d;font-style:normal}
.lock-core strong{font:900 .5rem/1 var(--mono);letter-spacing:.13em;color:#b7afa1}
.signal-lock-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding-top:10px;border-top:1px solid rgba(201,163,75,.18)}
.signal-lock-legend span{padding:7px 5px;text-align:center;border:1px solid rgba(242,238,228,.07);font:900 .4rem/1.35 var(--mono);letter-spacing:.08em;color:#766f63}
.signal-lock.is-unlocked{border-color:rgba(201,163,75,.62);box-shadow:0 28px 64px rgba(0,0,0,.34),0 0 70px rgba(201,163,75,.07),inset 0 0 0 1px rgba(255,255,255,.018)}
.signal-lock.is-unlocked .lock-core{border-color:rgba(236,203,120,.86);background:radial-gradient(circle,rgba(201,163,75,.18),rgba(4,4,4,.98) 67%);box-shadow:0 0 0 8px rgba(201,163,75,.028),0 0 32px rgba(201,163,75,.2)}
.signal-lock.is-unlocked .lock-core::before{background:#ffe08a;border-color:#fff0b3;box-shadow:0 0 12px rgba(255,224,138,.9),0 0 28px rgba(201,163,75,.52)}
.signal-lock.is-unlocked .lock-core strong{color:#f1d37d}
.signal-channel{margin-top:16px;padding:16px;border:1px solid rgba(201,163,75,.44);background:linear-gradient(145deg,rgba(201,163,75,.06),rgba(255,255,255,.012));animation:channelOpen .42s ease both}
.signal-channel[hidden]{display:none!important}
.channel-kicker{margin-bottom:10px;font:900 .46rem/1.4 var(--mono);letter-spacing:.15em;text-transform:uppercase;color:#c9a34b}
.signal-channel>strong{display:block;font:700 1.22rem/1.05 var(--serif);color:#f5efe2}
.signal-channel p{margin:8px 0 13px;font-size:.76rem;line-height:1.55;color:#aaa296}
.channel-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}
.channel-actions .button{width:100%;min-height:46px;padding:11px 13px;font-size:.5rem}
.channel-copy{min-height:46px;border:1px solid rgba(201,163,75,.3);background:transparent;color:#d7cdbd;padding:10px 12px;font:900 .46rem var(--mono);letter-spacing:.11em;text-transform:uppercase;cursor:pointer}
.channel-copy:hover,.channel-copy:focus-visible{border-color:#c9a34b;color:#fff;outline:none}
.signal-channel code{display:block;margin-top:9px;font:800 .48rem var(--mono);letter-spacing:.08em;color:#8c8376;user-select:all}
.signal-lock-noscript{font:800 .55rem/1.5 var(--mono);letter-spacing:.08em;color:#b8aa89}
@media(max-width:1120px){.signal-hero{grid-template-columns:1fr!important}.signal-lock{width:min(620px,100%);margin:2px auto 0}.signal h1{max-width:11ch}}
@media(max-width:760px){.signal-lock{padding:15px 14px 16px}.signal-lock-dial{width:min(380px,100%)}.signal-lock-head{font-size:.45rem}.signal-lock-rule{font-size:.39rem}.signal-lock-legend{grid-template-columns:1fr}.signal-lock-legend span{padding:5px}.channel-actions{grid-template-columns:1fr}.channel-copy{width:100%}}
@media(max-width:430px){.signal-lock{margin-left:-1px;margin-right:-1px}.lock-ring .ring-copy small{font-size:.36rem}.lock-ring .ring-copy strong{font-size:.44rem}.lock-core small,.lock-core em{font-size:.31rem}.lock-core strong{font-size:.42rem}.signal-lock-head{align-items:flex-start}.signal-lock-head b{text-align:right}}
@keyframes channelOpen{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.lock-ring .ring-track,.signal-channel{transition:none!important;animation:none!important}}
