.pattern-discovery[hidden],.pattern-discovery [hidden]{display:none}
.discovery-copy:has(.pattern-discovery:not([hidden])){margin-top:0}
.discovery:has(.pattern-discovery:not([hidden])) .friend-copy{visibility:hidden}
.board:has(.pattern-discovery:not([hidden])) .block-cell.related{outline:none}
.pattern-discovery{border-top:1px solid var(--line,#e7e0e9);margin-top:12px;padding-top:12px;font-size:13px;line-height:1.5;letter-spacing:0}
.pattern-discovery p{margin:0 0 9px}
.pattern-title{font-weight:750;color:var(--purple)}
.pattern-note{color:var(--muted)}
.pattern-button{min-height:40px;border:1px solid var(--purple);border-radius:14px;background:var(--surface,#fffcf9);color:var(--purple);font:inherit;font-weight:700;padding:8px 12px;cursor:pointer}
.pattern-button:hover{background:var(--accent-soft,#f0eaf9)}
.pattern-button:focus-visible{outline:3px solid var(--purple);outline-offset:3px}
.relay-numbers{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-weight:750;font-size:19px;color:var(--purple)}
.relay-numbers span+span:before{content:'→';margin-right:8px;font-size:14px;color:var(--muted)}
.block-cell.relay-member{outline:2px solid var(--purple);outline-offset:1px}
.block-cell.relay-next{outline:2px dashed var(--purple);outline-offset:2px;animation:relay-peek 1.8s ease-in-out 3}
.relay-added-column{position:absolute;right:0;top:0;width:var(--unit);height:var(--h);display:flex;flex-direction:column;transform:translateZ(calc(var(--unit)/2 + 3px));pointer-events:none}
.relay-added-column i{flex:1;border:2px solid #fff5a3;background:#ffe97655;box-shadow:inset 0 0 8px #ffe97688;animation:relay-new-unit .9s ease-in-out 2}
@keyframes relay-peek{50%{translate:0 -4px}}
@keyframes relay-new-unit{50%{background:#ffe976bb}}
@media(max-width:740px){.pattern-discovery{max-width:290px;font-size:12px;margin-top:8px;padding-top:8px}.relay-numbers{justify-content:center}}
@media(prefers-reduced-motion:reduce){.relay-next,.relay-added-column i{animation:none!important}}
@media print{.pattern-discovery,.relay-added-column{display:none!important}}

@media(max-width:740px),(any-pointer:coarse){.pattern-button{min-height:44px}}
