/* Brood & Spelen, feature play (register #2572): IK SPEEL MEE. The look is lifted from the boards: lane BROOD's quiz
   board (docs/scratch/row-2537/quiz.py), the play board (row-2561/spelen.py) and the unifying board (row-2569, PL1,
   PL2, TG1). Every selector starts with .f-play, so nothing here can touch the shell. */
/* the shell's mount is a flex child with auto margins: without a width it shrinks to what it holds */
.f-play.app{background:var(--ink);color:var(--stock);max-width:none;width:100%}
.f-play .night{width:100%;max-width:430px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom)}
.f-play .qtop{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 20px 0;min-height:36px}
.f-play .qtop .micro{font-size:10px;letter-spacing:.16em;white-space:nowrap}
.f-play .seats{display:flex;justify-content:center;align-items:flex-start;gap:54px;margin-top:26px}
.f-play .seat{display:flex;flex-direction:column;align-items:center;gap:10px;width:96px;position:relative}
.f-play .seat .b{width:76px;height:76px;position:relative}
.f-play .seat .b svg.bw{width:100%;height:100%;display:block}
.f-play .seat .b .ini{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--sg);font-weight:700;font-size:26px;color:var(--ink)}
.f-play .seat .b.empty{border:2px dashed rgba(247,245,241,.45);border-radius:50%}
.f-play .seat .b.empty .ini{color:rgba(247,245,241,.6)}
.f-play .seat .b svg.ring{position:absolute;inset:-9px;width:94px;height:94px;transform:rotate(-90deg)}
.f-play .seat .nm{font-family:var(--sg);font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.f-play .seat.mute{opacity:.45}
.f-play .seat .pips{display:flex;gap:5px}
.f-play .seat .pips i{width:11px;height:11px;border-radius:50%;box-shadow:inset 0 0 0 1.5px rgba(247,245,241,.4)}
.f-play .seat .pips i.on{background:var(--accent);box-shadow:none}
.f-play .seat .pips i.off{background:rgba(247,245,241,.28);box-shadow:none}
.f-play .seat .tagp{position:absolute;top:-8px;right:-4px;background:var(--stock);color:var(--ink);font-family:var(--sg);font-weight:700;font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:3px 7px}
.f-play .seats.sm{gap:150px;margin-top:14px}
.f-play .seats.sm .seat .b{width:46px;height:46px}
.f-play .seats.sm .seat .b .ini{font-size:16px}
.f-play .seats.sm .seat .b svg.ring{inset:-7px;width:60px;height:60px}
.f-play .seats.sm .seat{gap:7px}
.f-play .qh{font-family:var(--sg);font-weight:700;font-size:38px;line-height:1;text-transform:uppercase;text-align:center;margin-top:36px;padding:0 16px}
.f-play .qrw{background:#fff;padding:16px;align-self:center;margin-top:30px}
.f-play .qrw svg{display:block;width:200px;height:200px}
.f-play .sp{text-align:center;margin-top:54px}
.f-play .sp b{display:block;font-family:var(--sg);font-weight:700;font-size:38px;line-height:1;text-transform:uppercase;margin-top:12px}
.f-play .qb{margin-top:auto;padding:24px 20px 20px;display:flex;flex-direction:column;gap:10px}
.f-play .btn.lite{background:var(--stock);color:var(--ink)}
.f-play .btn.ghost{border-color:var(--stock);color:var(--stock)}
.f-play .fine{color:rgba(247,245,241,.55);text-align:center;font-size:13px}
.f-play .fine button{text-decoration:underline;text-decoration-color:rgba(247,245,241,.4);text-underline-offset:2px;color:inherit;padding:10px 16px}
.f-play .deal{align-self:center;margin-top:44px;width:230px;height:300px;background:var(--stock);color:var(--ink);border-radius:10px;transform:rotate(-4deg);box-shadow:0 30px 60px rgba(0,0,0,.5);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;position:relative;animation:f-play-deal .45s cubic-bezier(.2,.8,.2,1)}
.f-play .deal .t{font-family:var(--sg);font-weight:700;font-size:40px;line-height:1;text-transform:uppercase;letter-spacing:.02em;text-align:center;padding:0 14px;overflow-wrap:anywhere}
.f-play .deal svg{width:64px;height:64px}
.f-play .deal .c{position:absolute;font-family:var(--sg);font-weight:700;font-size:13px;letter-spacing:.2em;color:var(--accent)}
.f-play .deal .c.a{left:16px;top:14px}
.f-play .deal .c.b{right:16px;bottom:14px;transform:rotate(180deg)}
@keyframes f-play-deal{from{transform:translateY(60px) rotate(8deg);opacity:0}to{transform:rotate(-4deg);opacity:1}}
.f-play .step5{display:flex;gap:7px;justify-content:center;margin-top:18px}
.f-play .step5 i{width:26px;height:5px;background:rgba(247,245,241,.22)}
.f-play .step5 i.done{background:var(--accent)}
.f-play .step5 i.now{background:var(--stock)}
.f-play .qc{margin:16px 20px 20px;padding:18px 18px 16px;color:var(--ink);background:var(--stock);border-radius:5px}
.f-play .qc .qq{font-family:var(--sg);font-weight:700;font-size:22px;line-height:1.12;text-transform:uppercase;overflow-wrap:anywhere}
.f-play .an{display:flex;align-items:center;gap:12px;min-height:56px;width:100%;text-align:left;border:1.5px solid rgba(20,22,28,.2);border-radius:3px;padding:8px 14px;margin-top:9px;
  font-family:inherit;font-size:16.5px;font-weight:700;line-height:1.2;background:var(--field);color:var(--ink);position:relative}
.f-play .an .l{font-family:var(--sg);font-weight:700;color:var(--accent);font-size:13px;letter-spacing:.1em;flex:none}
.f-play .an.mine{background:var(--ink);color:var(--stock);border-color:var(--ink)}
.f-play .an.right{border-color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent)}
.f-play .an.wrong .x{opacity:.55;text-decoration:line-through;text-decoration-thickness:2px}
.f-play .an.dim{opacity:.45}
.f-play .an .who{margin-left:auto;display:flex;gap:5px;flex:none}
.f-play .an .who b{width:24px;height:24px;border-radius:50%;background:var(--stock);color:var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--sg);font-size:11px;box-shadow:inset 0 0 0 1.5px rgba(20,22,28,.3)}
.f-play .an.mine .who b{box-shadow:none}
.f-play .an svg.ok{width:22px;height:22px;margin-left:auto;flex:none}
.f-play .big2{display:flex;justify-content:center;align-items:flex-start;gap:30px;margin-top:54px}
.f-play .big2 .sc{width:118px;height:118px;position:relative}
.f-play .big2 .sc svg{width:100%;height:100%;display:block}
.f-play .big2 .sc b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--sg);font-weight:700;font-size:56px;color:var(--ink)}
.f-play .big2 .sc.win b{color:#fff}
.f-play .big2 .who{font-family:var(--sg);font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;text-align:center;margin-top:12px}
/* the line on the counter page: who is in (board TG1). Light, between the code and the crew strip. */
.f-play .cband{display:flex;align-items:center;gap:18px;padding:20px 0;border-top:3px solid var(--ink);color:var(--ink);text-align:left}
.f-play .cband .who{display:flex;align-items:center;gap:14px;min-width:0}
.f-play .cband .b{width:58px;height:58px;position:relative;flex:none}
.f-play .cband .b + .b{margin-left:-22px}
.f-play .cband .b svg.bw{width:100%;height:100%;display:block;filter:drop-shadow(0 1.5px 1.5px rgba(20,22,28,.16))}
.f-play .cband .b svg.ring{position:absolute;inset:-7px;width:72px;height:72px;transform:rotate(-90deg)}
.f-play .cband .b .ini{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--sg);font-weight:700;font-size:21px}
.f-play .cband .nm{font-family:var(--sg);font-weight:700;font-size:23px;line-height:1.05;text-transform:uppercase;letter-spacing:.03em;margin-left:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.f-play .cband .q{margin-left:auto;font-size:11px;white-space:nowrap}
/* the one arrival of whoever scanned a waiting phone (quiz Q2): a dark band on the shell's light sign-in */
.f-play .joinband{background:var(--ink);color:var(--stock);padding:0 0 26px;margin-bottom:22px}
.f-play .say{margin:58px 28px 0;text-align:center;font-size:17px;line-height:1.45;color:rgba(247,245,241,.8)}
