.r2n{position:relative}.r2n-tabs,.r2n-quick{flex-wrap:wrap;gap:8px;display:flex}.r2n-tabs button,.r2n-quick button{border:2px solid var(--ink);background:var(--paper);min-height:52px;color:var(--ink);font:inherit;cursor:pointer;border-radius:10px;padding:8px 16px;font-size:clamp(15px,1.6vw,19px);font-weight:700}.r2n-tabs button{min-height:64px}.r2n-tabs button kbd{font:inherit;opacity:.7;border:1px solid;border-radius:4px;margin-right:4px;padding:0 5px;font-size:12px}.r2n-tabs button[aria-pressed=true],.r2n-quick button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.r2n-tabs button[disabled],.r2n-quick button[disabled]{opacity:.5;cursor:not-allowed}.r2n-roll{touch-action:none;-webkit-user-select:none;user-select:none;min-width:12em}.r2n-result{align-items:center;overflow:hidden}.r2n-reels{font-variant-numeric:tabular-nums;--cell:1.08em;flex-wrap:wrap;justify-content:center;align-items:center;gap:.1em .45em;font-weight:800;line-height:1;display:flex}.r2n-num{align-items:center;gap:.03em;display:inline-flex}.r2n-letter{color:var(--link);margin-right:.12em}.r2n-sign{margin-right:.02em}.r2n-reel{height:var(--cell);text-align:center;width:.64em;display:inline-block;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 14% 86%,#0000);mask-image:linear-gradient(#0000,#000 14% 86%,#0000)}.r2n-strip{flex-direction:column;display:flex}.r2n-strip>span,.r2n-still{height:var(--cell);line-height:var(--cell);display:block}.r2n-strip.is-spin{filter:blur(.012em);animation:.26s linear infinite r2n-whirl}.r2n-strip.is-landed{transition:transform .5s cubic-bezier(.18,1.25,.4,1)}@keyframes r2n-whirl{0%{transform:translateY(0)}to{transform:translateY(calc(var(--cell) * -10))}}.r2n-result.is-done .r2n-reels{animation:.35s ease-out r2pop}.r2n-words{color:var(--muted);margin-top:.4em;font-size:clamp(16px,3vh,30px);font-weight:600}.r2n-board{grid-template-columns:repeat(var(--cols,10), minmax(0, 1fr));gap:6px;display:grid}.r2n-board--bingo{flex-direction:column;gap:6px;display:flex}.r2n-bingorow{grid-template-columns:1.4fr repeat(15,minmax(0,1fr));align-items:stretch;gap:4px;display:grid}.r2n-bingoletter{background:var(--ink);color:var(--paper);border-radius:8px;place-items:center;font-size:clamp(18px,2.6vw,34px);font-weight:800;display:grid}.r2n-tile{border:2px solid var(--ink);background:var(--card);min-height:clamp(44px,6.5vh,72px);color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;border-radius:8px;padding:0;font-size:clamp(15px,2.2vw,28px);font-weight:800}.r2n-board--bingo .r2n-tile{min-height:clamp(36px,5vh,60px);font-size:clamp(12px,1.5vw,22px)}.r2n-tile.is-drawn{background:var(--accent);color:#1d2733;cursor:default;border-color:#1d2733}.r2n-tile.is-new{outline:5px solid var(--link);outline-offset:2px;animation:1s ease-in-out 3 r2n-pulse}.r2n-tile.is-away{background:repeating-linear-gradient(45deg, var(--tint) 0 6px, var(--paper) 6px 12px);color:var(--muted);border-style:dashed;text-decoration:line-through}.r2n-tile[disabled]{opacity:1}@keyframes r2n-pulse{50%{transform:scale(1.12)}}.r2n-places{font-variant-numeric:tabular-nums;justify-content:center;gap:.12em;font-weight:800;line-height:1;display:flex}.r2n-place{flex-direction:column;align-items:center;gap:.08em;display:flex}.r2n-place small{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:max(12px,.14em);font-weight:700}.r2n-place b{border:.04em solid var(--rule);border-top:.09em solid var(--pv,var(--ink));background:var(--card);min-width:.9em;color:var(--muted);border-radius:.08em;place-items:center;padding:.06em .1em;display:grid}.r2n-place.is-open b{color:var(--ink);animation:.3s ease-out r2pop}.r2n-p0{--pv:var(--link)}.r2n-p1{--pv:var(--good)}.r2n-p2{--pv:var(--stop)}.r2n-p3{--pv:var(--warn)}.r2n-p4{--pv:var(--visited)}.r2n-p5{--pv:var(--accent)}.r2n-p6{--pv:var(--ink)}.r2n-p0 small{color:var(--link)}.r2n-p1 small{color:var(--good)}.r2n-p2 small{color:var(--stop)}.r2n-p3 small{color:var(--warn)}.r2n-name{flex-direction:column;align-items:center;gap:4px;margin-top:12px;font-size:clamp(18px,3.4vh,36px);font-weight:600;display:flex}.r2n-name b{font-size:1.25em}.r2n-drawn{justify-content:center;gap:.15em;font-weight:800;line-height:1.05;display:flex}.r2n-drawn b{text-align:center;border-bottom:.06em solid var(--ink);min-width:.8em;color:var(--muted)}.r2n-drawn b.is-open{color:var(--ink);animation:.3s ease-out r2pop}.r2n-line{grid-template-columns:repeat(auto-fill,minmax(clamp(90px,11vw,150px),1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.r2n-line li{border:2px solid var(--ink);background:var(--card);border-radius:10px;flex-direction:column;align-items:center;padding:6px 4px;animation:.35s cubic-bezier(.2,1.4,.4,1) both r2n-in;display:flex}.r2n-line small{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:700}.r2n-line b{font-variant-numeric:tabular-nums;font-size:clamp(26px,5vh,56px);font-weight:800;line-height:1.05}@keyframes r2n-in{0%{opacity:0;transform:translateY(14px)scale(.8)}to{opacity:1;transform:none}}.r2n-guess{flex-direction:column;gap:12px;display:flex}.r2n-guess-intro{text-align:center;margin:0 0 6px;font-size:clamp(18px,3vh,30px);font-weight:600}.r2n-arrow{color:var(--link);font-size:clamp(70px,22vh,230px);font-weight:800;line-height:1}.r2n-verdict.is-won .r2n-arrow{color:var(--good)}.r2n-arrow-word{font-size:clamp(26px,6vh,64px);font-weight:800}.r2n-span{border:2px solid var(--ink);background:var(--tint);border-radius:999px;height:30px;margin:6px 0 18px;position:relative}.r2n-span i{background:var(--good);border-radius:999px;transition:left .5s,width .5s;position:absolute;top:2px;bottom:2px}.r2n-span span{color:var(--muted);font-size:13px;font-weight:700;position:absolute;top:100%}.r2n-poss{text-align:center;margin:0;font-size:clamp(15px,2.2vh,22px);font-weight:600}.teach.is-projector .r2n .r2n-settings{display:none!important}.teach.is-projector .r2n{justify-content:center;min-height:100vh}.r2n-main{flex-direction:column;gap:14px;min-width:0;display:flex}.r2n .r2-side .r2n-quick button{min-height:48px;padding:6px 12px}
