/* Optional friend challenge controls inherit Wortweg's Nightline tokens and buttons. */
.friend-challenge-bar { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-2); margin-block:var(--space-3); }
.friend-challenge-bar[hidden], .friend-challenge-result[hidden] { display:none; }
.friend-challenge-bar p { flex:1 1 15rem; margin:0; }
.friend-challenge-bar button, .friend-challenge-dialog button { min-height:44px; }
.challenge-concealed #board { visibility:hidden; pointer-events:none; }
.friend-challenge-result { padding-block:var(--space-3); border-block:1px solid var(--line-ui); }
.friend-challenge-result p { margin-block:var(--space-2); }
.friend-challenge-dialog { box-sizing:border-box; width:min(34rem, calc(100% - 2rem)); max-height:calc(100dvh - 2rem); overflow:auto; padding:var(--space-5); border:1px solid var(--line-ui); border-radius:var(--radius-lg, 16px); background:var(--bg); color:var(--text); }
.friend-challenge-dialog::backdrop { background:rgb(0 0 0 / .65); }
.friend-challenge-dialog h2 { font-size:1.5rem; margin-top:0; }
.friend-challenge-dialog p { line-height:1.6; }
.friend-challenge-dialog button { margin:var(--space-2) var(--space-2) 0 0; }
.friend-challenge-dialog label { display:block; margin-block:var(--space-2); }
.friend-challenge-dialog textarea { box-sizing:border-box; width:100%; color:var(--text); background:var(--bg); border:1px solid var(--line-ui); border-radius:var(--radius-sm, 6px); padding:var(--space-2); font:inherit; overflow-wrap:anywhere; }
.friend-challenge-dialog :focus-visible { outline:2px solid var(--accent); outline-offset:3px; }

.friend-challenge-bar button[hidden] { display:none; }

#solvePanel #challengeResult { grid-column:1; }
#solvePanel .completion-links { flex-wrap:wrap; }
#challengeFriendBtn { min-height:44px; }
@media(max-width:720px) { #solvePanel #challengeResult { order:3; } }
