/* A game-lobby scanning table. Only a live camera gets a scanning beam. */
.sc-dialog{width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #779448;border-radius:30px;background:#0b100b;color:#fffde9;overflow:auto;overscroll-behavior:contain;box-shadow:0 24px 80px #000a,inset 0 1px 0 #dcff9750}
.sc-dialog::backdrop{background:#050805dc;backdrop-filter:blur(8px)}
.sc-shell{padding:22px 25px 24px}.sc-header{display:flex;align-items:center;gap:14px;margin-bottom:18px}.sc-header>span:not(.sc-brand-mark){font:700 10px/1.4 Arial,sans-serif;letter-spacing:2.6px;color:#c7ec89}
.sc-back{display:grid;place-items:center;width:44px;height:44px;flex:none;padding:11px;border:1px solid #526a35;border-radius:50%;background:#17200f;transition:background .18s,transform .18s}.sc-back:hover{background:#283c17}.sc-back:active{transform:scale(.95)}.sc-back img{width:22px;height:22px;filter:invert(92%)}
.sc-brand-mark{display:grid;place-items:center;flex:none;width:32px;height:32px;margin-left:auto;border-radius:10px;background:#d5ff66;transform:rotate(-9deg);box-shadow:0 3px 7px #0006}.sc-brand-mark img{width:24px;height:24px}
.sc-heading h2{font:400 34px/1.22 ArcadeDisplay,'PingFang SC',sans-serif;letter-spacing:-.7px;margin:0;-webkit-text-stroke:.3px currentColor}.sc-intro{color:#b5c2a7;font-size:13px;line-height:1.75;margin:9px 0 20px}
.sc-camera-stage{--sc-stage-height:clamp(235px,34dvh,310px);position:relative;width:100%;height:var(--sc-stage-height);border:1px solid #69853c;background:radial-gradient(ellipse at 50% 35%,#2c4021,#14200f 72%);border-radius:26px;overflow:hidden;isolation:isolate;box-shadow:inset 0 1px 0 #ddff9b25,inset 0 -10px 24px #0003}
.sc-camera-stage video{width:100%;height:100%;object-fit:cover;display:block}.sc-camera-stage video[hidden]{display:none}
.sc-scene-art{position:absolute;inset:0;z-index:0;pointer-events:none}.sc-scene-art img{position:absolute;object-fit:contain;user-select:none}
.sc-art-dice{--sc-tilt:14deg;width:160px;height:160px;right:-34px;top:-27px;transform:rotate(var(--sc-tilt));opacity:.94}
.sc-art-cards{--sc-tilt:-17deg;width:143px;height:143px;left:-34px;bottom:-29px;transform:rotate(var(--sc-tilt));opacity:.88;mix-blend-mode:lighten}
.sc-mode-badge{position:absolute;z-index:4;top:15px;left:16px;display:flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #7f9c4b55;border-radius:18px;background:#101a0de8;color:#c6d7ae;font-size:10px;line-height:1.2}.sc-mode-badge i{width:5px;height:5px;border-radius:50%;background:#8c9c78}
.sc-placeholder{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:33px 18px 10px;text-align:center;pointer-events:none}
.sc-scan-emblem{display:grid;place-items:center;width:72px;height:72px;border:1px solid #9ac14d;border-radius:22px;background:#cfff6820;box-shadow:inset 0 1px 0 #e6ffb540,0 8px 20px #0002;transform:rotate(-5deg)}.sc-scan-emblem>img{width:42px;height:42px;filter:invert(92%) sepia(41%) saturate(650%) hue-rotate(26deg)}
.sc-placeholder strong{margin-top:16px;color:#f2f9df;font-size:14px;font-weight:650;line-height:1.6}.sc-placeholder>span:last-child{margin-top:4px;color:#b6c6a0;font-size:11px;line-height:1.6}
.sc-viewfinder{position:absolute;z-index:3;inset:29px;border:1px solid #d5ff6617;border-radius:19px;pointer-events:none}.sc-viewfinder i{position:absolute;width:29px;height:29px;border:3px solid #d5ff66}
.sc-viewfinder i:nth-child(1){top:-1px;left:-1px;border-right:0;border-bottom:0;border-top-left-radius:18px}.sc-viewfinder i:nth-child(2){top:-1px;right:-1px;border-left:0;border-bottom:0;border-top-right-radius:18px}.sc-viewfinder i:nth-child(3){bottom:-1px;left:-1px;border-right:0;border-top:0;border-bottom-left-radius:18px}.sc-viewfinder i:nth-child(4){bottom:-1px;right:-1px;border-left:0;border-top:0;border-bottom-right-radius:18px}
.sc-scan-line{position:absolute;top:4px;left:6px;right:6px;height:2px;background:#d5ff66;box-shadow:0 0 12px #d5ff6680;opacity:0}
.sc-dialog[data-scan-state=scanning] .sc-scene-art,.sc-dialog[data-scan-state=starting] .sc-scene-art{display:none}
.sc-dialog[data-scan-state=scanning] .sc-mode-badge{color:#e5ffbe}.sc-dialog[data-scan-state=scanning] .sc-mode-badge i{background:#d5ff66}
.sc-dialog[open][data-scan-state=scanning][data-page-visible=true] .sc-scan-line{opacity:1;animation:sc-beam 2.7s ease-in-out infinite alternate}
.sc-dialog[open][data-scan-state=idle][data-page-visible=true] .sc-art-dice{animation:sc-float 4.5s ease-in-out infinite}
.sc-dialog[open][data-scan-state=idle][data-page-visible=true] .sc-art-cards{animation:sc-float 5.2s -1.8s ease-in-out infinite}
.sc-dialog[data-scan-state=error] .sc-mode-badge{color:#f0c19b;border-color:#87654188}.sc-dialog[data-scan-state=error] .sc-mode-badge i{background:#e5aa75}
.sc-actions{display:grid;grid-template-columns:1.15fr 1fr;gap:10px;margin-top:19px}
.sc-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-width:0;min-height:49px;padding:12px;border:1px solid #5d7739;border-radius:25px;background:#17240f;color:#dce9cc;font-size:13px;font-weight:650;line-height:1.4;white-space:nowrap;transition:background .18s,transform .18s}.sc-button>img{width:19px;height:19px;flex:none;filter:invert(89%)}
.sc-primary{background:#d5ff66;border-color:#e2ff94;color:#152006;box-shadow:inset 0 2px 2px #f5ffcf,inset 0 -3px 0 #96b940}.sc-primary>img{filter:none}.sc-primary:hover:not(:disabled){background:#e3ff98}.sc-button:not(.sc-primary):hover:not(:disabled){background:#263a18}.sc-button:disabled{opacity:.5;cursor:default}.sc-button:active:not(:disabled){transform:translateY(2px)}
.sc-pause{grid-column:1/-1;min-height:44px;padding:8px;background:transparent;border-color:transparent;color:#c6d5b5;font-size:12px}
.sc-file{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.sc-status{color:#c5d7b3;font-size:12px;line-height:1.7;margin:13px 0 0}.sc-status:empty{display:none}.sc-status-error{border:1px solid #805a36;border-radius:13px;padding:11px 13px;background:#2a2014;color:#ffd4a9}.sc-footnote{margin:15px 0 0;color:#a4b590;font-size:10px;line-height:1.7;text-align:center}
.sc-qr-image{display:grid;place-items:center;width:min(100%,280px);aspect-ratio:1;margin:22px auto 0;padding:10px;background:#fff;border-radius:20px;color:#26331b;font-size:12px}.sc-qr-image img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated}
.sc-code-label{text-align:center;color:#b5c5a2;font-size:11px;margin:20px 0 3px;letter-spacing:3px}.sc-room-code{display:block;text-align:center;color:#d5ff66;font:700 36px/1.4 ui-monospace,SFMono-Regular,monospace;letter-spacing:7px}
.sc-link-label{display:block;font-size:11px;color:#b7c9a5;margin:16px 0 6px}.sc-link{width:100%;min-height:44px;padding:10px 12px;border:1px solid #3c5329;border-radius:12px;background:#141f0e;color:#c2d1b2;font-size:12px;white-space:nowrap;text-overflow:ellipsis}
.sc-dialog[data-sc-mode=qr] .sc-actions{grid-template-columns:1fr}.sc-dialog button:focus-visible,.sc-dialog input:focus-visible{outline:2px solid #d5ff66;outline-offset:3px}
@keyframes sc-float{0%,100%{transform:translate3d(0,0,0) rotate(var(--sc-tilt))}50%{transform:translate3d(0,-6px,0) rotate(calc(var(--sc-tilt) + 3deg))}}
@keyframes sc-beam{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,calc(var(--sc-stage-height) - 68px),0)}}
@media(max-width:600px){.sc-dialog{width:100%;height:100dvh;max-height:none;max-width:none;margin:0;border:0;border-radius:0;box-shadow:none}.sc-shell{max-width:470px;margin:auto;padding:max(18px,env(safe-area-inset-top)) 22px max(24px,env(safe-area-inset-bottom))}.sc-header{margin-bottom:27px}.sc-heading h2{font-size:32px}.sc-intro{margin-bottom:23px}.sc-camera-stage{--sc-stage-height:clamp(255px,38dvh,340px)}.sc-art-dice{width:152px;height:152px;right:-36px;top:-24px}.sc-art-cards{width:140px;height:140px}.sc-qr-image{width:min(260px,65vw)}}
@media(max-width:360px){.sc-shell{padding-left:16px;padding-right:16px}.sc-heading h2{font-size:29px}.sc-button{gap:6px;padding:11px 8px;font-size:12px}.sc-button>img{width:17px;height:17px}.sc-placeholder strong{font-size:13px}.sc-art-cards{width:95px;height:95px;left:-27px;bottom:-24px}.sc-art-dice{width:130px;height:130px;right:-36px;top:-24px}}
@media(max-height:700px){.sc-header{margin-bottom:13px}.sc-heading h2{font-size:30px}.sc-intro{margin:8px 0 17px}.sc-camera-stage{--sc-stage-height:220px}.sc-actions{margin-top:16px}.sc-status{margin-top:11px}.sc-qr-image{width:min(210px,52vw);margin-top:14px}.sc-code-label{margin-top:12px}.sc-room-code{font-size:30px}}
@media(prefers-reduced-motion:reduce){.sc-dialog *{animation:none!important;transition:none!important}}
.motion-off .sc-dialog *{animation:none!important;transition:none!important}
