.spx-check,.spx-radio{align-items:center;gap:var(--space-3);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--text-sm);color:var(--text);display:inline-flex;position:relative}.spx-check input,.spx-radio input{opacity:0;pointer-events:none;position:absolute}.spx-check .box,.spx-radio .box{background:var(--surface);border:1px solid var(--border-strong);width:18px;height:18px;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);flex:none;position:relative}.spx-check .box{border-radius:6px}.spx-radio .box{corner-shape:round;border-radius:50%}.spx-check .box:after{content:"";border:solid var(--text-on-ink);transform-origin:50%;width:5px;height:9px;transition:transform var(--dur-fast) var(--ease-spring);border-width:0 2px 2px 0;position:absolute;top:47%;left:50%;transform:translate(-50%,-50%)rotate(45deg)scale(0)}.spx-radio .box:after{content:"";corner-shape:round;background:var(--text-on-ink);transition:transform var(--dur-fast) var(--ease-spring);border-radius:50%;position:absolute;inset:4px;transform:scale(0)}.spx-check input:checked+.box,.spx-radio input:checked+.box{background:var(--ink);border-color:var(--ink)}.spx-check input:checked+.box:after{transform:translate(-50%,-50%)rotate(45deg)scale(1)}.spx-radio input:checked+.box:after{transform:scale(1)}.spx-check input:focus-visible+.box,.spx-radio input:focus-visible+.box{box-shadow:0 0 0 3.5px var(--focus-ring)}
