/* Party 1.3: a bounded app room, not a globally non-scrollable page. */
html:not(.in-room),body:not(.in-room){height:auto!important;overflow-y:auto!important;min-height:100%;overscroll-behavior:auto}
html{color-scheme:light}body{color:#352a36}input,select,textarea{font-size:16px}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #176eaa;outline-offset:3px}
.boot-note{position:fixed;inset:0;z-index:999;background:#f7ecd9;display:grid;place-content:center;text-align:center;font-size:19px;font-weight:800;pointer-events:none;animation:boot-away .2s 3s forwards}.boot-note span{font-size:56px}.boot-note.finished{display:none}@keyframes boot-away{to{visibility:hidden;opacity:0}}
.entry-extras{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
#round-status{display:block;color:#4c2b28;font-size:12px;max-width:46vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.table-meta{align-items:start}#bottle-spin{touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#bottle-spin.grabbing{cursor:grabbing;filter:drop-shadow(0 0 9px #fff8)}#bottle-spin:disabled{cursor:default;opacity:1}
#rotor{will-change:transform;transform-origin:50% 50%;transition:none!important}.bottle-spot{pointer-events:none}#bottle-area{z-index:4}.bottle-label{white-space:normal;text-align:center;min-width:155px;font-size:11px}.accessible-spin{color:#55372c!important;font-size:11px;padding:3px!important;min-height:32px!important;border-bottom:1px dashed #90674a;border-radius:0}
#pointer-ray{position:absolute;left:50%;top:50%;width:2px;height:34%;transform-origin:50% 0;pointer-events:none;z-index:2;background:linear-gradient(#fff7,#ffcf5666);opacity:0}#pointer-ray.visible{opacity:1}
.var-button{position:absolute;bottom:8px;left:8px;z-index:8;border:2px solid #352a36;border-radius:12px;background:#fff2c6;color:#352a36;padding:7px 12px;font-weight:800;box-shadow:2px 3px 0 #352a36;min-height:40px;font-size:12px}
.board .game-panel{display:block!important;overflow-y:auto!important;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;-webkit-overflow-scrolling:touch;max-height:var(--card-h);width:var(--card-w);min-height:0;color:#30251f;background:radial-gradient(ellipse at 50% 45%,#fff7e3,#f3ddb4 90%);border-color:#785033;border-radius:13px 20px 13px 20px;box-shadow:4px 7px 0 #352a3650,0 12px 26px #352a3650;padding:13px}
.board .game-panel[hidden]{display:none!important}
.board .challenge-body{display:block;min-height:82px!important;max-height:none!important;overflow:visible!important;flex:none!important;height:auto!important}
.board .challenge-text{display:block;color:#30251f!important;background:transparent;min-height:52px;font-size:clamp(18px,2vw,25px)!important;font-weight:800;line-height:1.5!important;white-space:pre-wrap;overflow:visible!important;text-overflow:clip;word-break:normal;overflow-wrap:anywhere;padding:4px 0;margin:6px 0 9px!important;user-select:text}
.board .card-header{position:relative}.board .game-panel .card-meta{display:none!important}.board .game-panel .game-message{font-size:11px;line-height:1.4}.board .timer-wrap{margin-block:7px;min-height:20px}.board .challenge-controls{min-height:44px;grid-template-columns:1fr auto}.board .challenge-controls button{min-height:42px}.board .card-safety button{min-height:40px!important;font-size:12px!important}.board #feedback-open{min-height:40px!important;font-size:12px}.board #expand-card{min-height:34px!important;font-size:11px!important}
.board .choice-controls{padding:8px 2px;gap:8px}.board .choice{box-shadow:2px 4px 0 #79563e55;transform:rotate(-3deg);min-width:0;transition:transform .18s}.board .choice.dare{transform:rotate(3deg)}.board .choice:hover,.board .choice:focus-visible{transform:translateY(-3px)}.board .choice b{font-size:clamp(23px,4vw,36px)!important}.board .choice .character{height:var(--art-height,80px);min-height:30px}.board .choice small{display:none}.board .game-panel h2{font-size:20px!important;margin:4px 0 8px!important}
.board .seat{transition:filter .2s}.board .seat-frame{border:3px solid #533c33}.board .seat.selected .seat-frame{border-color:#ffd34d;box-shadow:0 0 0 3px #6d4328,0 0 16px #ffe2a0}.board .seat .avatar{background:radial-gradient(#ffedd6,#dba87e)}.seat .avatar svg{transition:transform .25s}.seat.selected .avatar svg{transform:rotate(-4deg) scale(1.04)}
.board[data-landscape=true] .table-center{transform:translate(-50%,-50%)!important}
#full-card-dialog{background:#fff1d3;color:#30251f}#full-card-text{font-size:clamp(21px,4vw,30px);line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}
.large-text .board .challenge-text{font-size:clamp(23px,2.7vw,31px)!important}.large-text #full-card-text{font-size:32px}
#share-dialog canvas{display:block;max-width:100%;width:min(280px,100%);height:auto;margin:15px auto;border-radius:8px;image-rendering:pixelated;background:white}#share-url{font-size:12px}.share-actions,.pack-buttons{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.share-actions>*{flex:1}.pack-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pack-flags{display:flex;gap:10px;flex-wrap:wrap}.pack-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #cab9a1}.pack-item span{flex:1;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.pack-item button{padding:7px;min-height:36px}.pack-buttons>*{font-size:12px}#pack-list{margin-top:10px}.badge-line{background:#f9e8c7;border:2px solid #b58c5f;border-radius:14px;padding:12px;margin:8px 0}.badge-line strong{display:block}.badge-line span{display:inline-block;margin:4px;padding:3px 8px;border-radius:10px;background:#fff6e5;font-size:12px}#badges-content .quiet{text-align:center}
#surprise-content .answer{font-size:22px;line-height:1.5}.extra-progress{background:#f5ead7;padding:7px;border-radius:10px}.extra-members{display:flex;flex-wrap:wrap;gap:8px}.extra-members button{min-width:95px}
#more-dialog .menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}#more-dialog .menu-grid>button{font-size:12px;min-height:44px}#more-dialog{overflow:auto}
@media(max-width:500px){.board .game-panel{padding:10px;border-width:2px}.board .challenge-text{font-size:19px!important}.board .game-panel h2{font-size:18px!important}.board .card-safety button{font-size:11px!important}.board .choice b{font-size:26px!important}.bottle-label{min-width:130px}#round-status{font-size:10px}.var-button{font-size:10px;padding:5px 8px;min-height:34px}.large-text .board .challenge-text{font-size:24px!important}}
@media(max-height:480px){.room{gap:4px}.room-dock{min-height:48px}.board .game-panel{padding:8px}.board .choice .character{height:45px}.board .game-panel h2{font-size:16px!important}.board .challenge-text{font-size:18px!important}.bottle-label{font-size:10px}.var-button{bottom:3px}}
@media(prefers-reduced-motion:reduce){.boot-note{animation:none}.seat .avatar svg,.choice{transition:none!important}#rotor{will-change:auto}}
