.anchor-board{position:relative;isolation:isolate;width:min(100%,460px);aspect-ratio:1;margin:0 auto;border-radius:18px;overflow:hidden;background:radial-gradient(circle at 78% 16%,#f8fcff,#e1ebf3 77%);border:2px solid #b9cad8;box-shadow:inset 0 3px 12px #42617b22}
.anchor-board::before{content:"";position:absolute;inset:4%;background-image:radial-gradient(circle,#a6bacb 0 2px,transparent 3px);background-size:10% 10%;opacity:.66;pointer-events:none}
.anchor-rail{position:absolute;height:30px;pointer-events:none;transform-origin:center;filter:drop-shadow(0 4px 3px #34435a3a)}
.anchor-body{--anchor-pivot:22px;width:100%;height:100%;border:2px solid #ffffff75;border-radius:9px;background:linear-gradient(180deg,var(--light),var(--base) 48%,var(--dark));display:flex;align-items:center;justify-content:space-between;padding:0 7px;box-shadow:inset 0 2px 1px #ffffff55;position:relative;transition:transform .56s cubic-bezier(.17,.77,.25,1.12),opacity .36s,translate .46s;pointer-events:none}
.anchor-body::before{content:"";position:absolute;inset:4px 17%;border-top:1px solid #fff6;border-bottom:1px solid #34445d19;pointer-events:none}
.anchor-rail.falling .anchor-body{translate:0 130px;opacity:0;rotate:11deg}
.anchor-bolt{position:relative;display:grid;place-items:center;width:26px;height:26px;min-width:26px;padding:0;border-radius:50%;border:2px solid #8598a8;background:radial-gradient(circle at 32% 24%,#fff,#cddae4);color:#61778e;font-size:17px;font-weight:900;line-height:1;box-shadow:0 2px 3px #2a45634d,inset 0 0 0 2px #ffffff93;pointer-events:auto;touch-action:manipulation}
.anchor-bolt:not(:disabled):hover{background:#fff;border-color:#5077ae;scale:1.07}.anchor-bolt:focus-visible{outline:3px solid #3c70b3;outline-offset:2px}
.anchor-bolt.is-empty{visibility:hidden}.anchor-bolt.is-blocked{opacity:.7;background:#8195a7;color:#e7edf4;cursor:not-allowed}
@media(max-width:400px){.anchor-rail{height:25px}.anchor-body{--anchor-pivot:17px;padding:0 4px}.anchor-bolt{width:22px;height:22px;min-width:22px;font-size:15px}}
@media(prefers-reduced-motion:reduce){.anchor-body{transition:none}}

