#emojiModal,#closeCallPopup,#infoPopup,#shareModal{display:none;position:fixed;top:var(--visual-viewport-offset-top, 0px);left:var(--visual-viewport-offset-left, 0px);width:var(--visual-viewport-width, 100vw);height:var(--visual-viewport-height, 100dvh);padding:max(16px,var(--viewport-safe-area-top, 0px)) max(16px,var(--viewport-safe-area-right, 0px)) max(16px,var(--viewport-safe-area-bottom, 0px)) max(16px,var(--viewport-safe-area-left, 0px));box-sizing:border-box;align-items:center;justify-content:center;background:var(--popup-backdrop);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:var(--z-modal-backdrop, 60)}#emojiModal{z-index:var(--z-high-priority-modal, 75)}#emojiModalBox,#closeCallBox,#infoBox,#shareBox,#howTo,#privateRoomDialog,#appContainer [data-popup=utility]{box-sizing:border-box;background:linear-gradient(145deg,var(--popup-surface),var(--bg-color));color:var(--text-color);border:1px solid var(--popup-border);border-radius:22px;box-shadow:0 18px 48px var(--popup-shadow-color),inset 1px 1px 0 var(--popup-sheen);line-height:1.55;text-align:left}#emojiModalBox,#closeCallBox,#infoBox,#shareBox{position:relative;width:min(100%,var(--modal-max-inline-size, 480px));max-height:var(--modal-max-block-size, calc(100dvh - 32px) );padding:var(--modal-padding, 24px);overflow-y:auto;overscroll-behavior:contain}#emojiModalBox,#infoBox{display:flex;flex-direction:column;overflow:hidden}.popup-header,#howTo .how-dialog-header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin-bottom:16px;padding:0 0 12px;border-bottom:1px solid var(--popup-border)}.popup-header h2,.popup-header h3,#appContainer .popup-header h3,#emojiModalHeading,#shareHeading,#historyHeading,#playerSidebarHeading{margin:0;min-height:0;font-size:1.2rem;font-weight:700;line-height:1.3;letter-spacing:-.025em;text-align:left;color:var(--text-color)}.popup-description{margin:0 0 16px;font-size:.9rem;color:var(--text-color-light)}.popup-header .close-btn,#appContainer .popup-header .close-btn,#appContainer .popup-header :is(#historyClose,#definitionClose,#chatClose,#playerClose,#optionsClose),#howTo .popup-header button{position:static;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;margin:0;border:1px solid var(--popup-border);border-radius:12px;background:var(--bg-color);color:var(--text-color);font-size:24px;box-shadow:none;z-index:auto;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .12s ease}.popup-header .close-btn:active,#appContainer .popup-header .close-btn:active,#appContainer .popup-header :is(#historyClose,#definitionClose,#chatClose,#playerClose,#optionsClose):active{background:var(--popup-accent-soft);border-color:var(--popup-accent);box-shadow:inset 2px 2px 4px var(--inset-shadow-dark),inset -2px -2px 4px var(--inset-shadow-light);transform:scale(.92)}[data-popup] :is(button,input,[tabindex]):focus-visible{outline:2px solid var(--popup-accent);outline-offset:3px}[data-popup] button:not(.emoji-choice,.close-btn){min-height:44px;font:inherit}#shareCopy,#closeCallOk{background:var(--popup-accent);color:var(--popup-on-accent);border-radius:12px;padding:10px 20px;font-weight:700;box-shadow:0 3px 8px color-mix(in srgb,var(--popup-accent) 20%,transparent)}#emojiChoices{display:grid;grid-template-columns:repeat(auto-fit,minmax(48px,1fr));gap:10px;min-height:0;max-height:var(--modal-content-max-block-size, 60dvh);padding:4px;margin:0;overflow-y:auto;overscroll-behavior:contain}#emojiChoices .emoji-choice{position:relative;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:52px;margin:0;padding:6px;font-size:28px;line-height:1;background:var(--bg-color);border:1px solid var(--popup-border);border-radius:12px;box-shadow:2px 2px 5px var(--shadow-color-dark),-2px -2px 5px var(--shadow-color-light);transition:background-color .15s ease,border-color .15s ease}@media (hover: hover){#emojiChoices .emoji-choice:hover{background:var(--popup-accent-soft);border-color:var(--popup-accent);transform:none}.popup-header .close-btn:hover:not(:active),#appContainer .popup-header .close-btn:hover:not(:active),#appContainer .popup-header :is(#historyClose,#definitionClose,#chatClose,#playerClose,#optionsClose):hover:not(:active){background:var(--popup-surface);border-color:var(--popup-accent);color:var(--popup-accent);box-shadow:3px 3px 6px var(--shadow-color-dark),-3px -3px 6px var(--shadow-color-light);transform:translateY(-1px) rotate(90deg)}}#emojiModalError{flex-shrink:0;margin-top:12px;color:var(--error-color);font-size:.9rem}#emojiModalError:empty{display:none}#infoContent{min-height:0;padding:0;overflow-y:auto;overscroll-behavior:contain}#infoContent h3{margin:20px 0 6px;font-size:1rem}#infoContent h3:first-child{margin-top:0}#infoContent p{margin:0;font-size:.95rem;color:var(--text-color-light)}#howTo{width:min(calc(100% - 32px),640px);max-height:calc(100dvh - 32px);margin:auto;padding:24px;overflow-y:auto}#howTo::backdrop{background:var(--popup-backdrop);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}#shareLink{width:100%;box-sizing:border-box;padding:12px;border:1px solid var(--popup-border);border-radius:12px;background:var(--bg-color);color:var(--text-color);box-shadow:inset 2px 2px 5px var(--inset-shadow-dark),inset -2px -2px 5px var(--inset-shadow-light);font-size:16px}#shareLink::selection{background:var(--popup-accent);color:var(--popup-on-accent)}#shareActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:20px}#closeCallBox{max-width:min(100%,var(--modal-max-inline-size, 480px),400px);border-top:4px solid var(--present-bg);text-align:center}.popup-eyebrow{margin:0 0 8px;color:var(--popup-warning);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}#closeCallBox h2{margin:0;font-size:1.4rem}#closeCallText{margin:12px 0 20px;overflow-wrap:anywhere}body #appContainer :is(#historyBox,#definitionBox,#chatBox,#optionsMenu,#playerSidebar)[data-popup=utility]{padding:calc(var(--modal-padding) - 1px);border-radius:18px;transition:none}#appContainer :is(#historyBox,#definitionBox,#chatBox,#playerSidebar){flex-direction:column;overflow:hidden}#appContainer #playerSidebar{z-index:var(--z-panel-overlay)}#appContainer :is(#historyList,#definitionText,#chatMessages,#playerList){min-height:0;padding-inline-end:0;overflow-y:auto;overscroll-behavior:contain;overflow-wrap:anywhere}#appContainer #definitionText:empty+.panel-empty-state{padding-inline-end:0}body #appContainer :is(#historyBox,#definitionBox,#chatBox)[data-popup=utility][aria-modal=false]{padding:15px;box-shadow:3px 3px 8px var(--shadow-color-dark),-3px -3px 8px var(--shadow-color-light)}#appContainer #optionsMenuItems{gap:4px;padding:0 4px 4px}.popup-section-label{margin:12px 8px 4px;color:var(--text-color-light);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.popup-section-label:first-child{margin-top:0}#appContainer #optionsMenuItems button{margin:0;width:100%;height:auto;min-height:44px;box-sizing:border-box;padding:8px 12px;border-radius:10px;background:var(--bg-color);color:var(--text-color);box-shadow:none;text-align:left}#appContainer #optionsMenuItems button:hover{background:var(--popup-accent-soft);transform:none}#appContainer #panelBackdrop{background:var(--popup-backdrop);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}#messagePopup,#chatMessagePopup,#hintTooltip,#pointsPopup{box-sizing:border-box;background:var(--popup-surface);color:var(--text-color);border:1px solid var(--popup-border);box-shadow:0 4px 14px color-mix(in srgb,var(--shadow-color-dark) 65%,transparent);border-radius:12px;font-size:.9rem;line-height:1.45;padding:10px 14px;pointer-events:none}#appContainer #messagePopup{display:none;position:fixed;top:calc(var(--visual-viewport-offset-top, 0px) + var(--viewport-safe-area-top, 0px) + var(--tile-size) * 2);left:50%;transform:translate(-50%);z-index:var(--z-popup-message);width:max-content;max-width:min(90vw,400px);text-align:center;overflow-wrap:anywhere}#chatMessagePopup{display:none;position:fixed;z-index:var(--z-chat-toast);top:calc(var(--visual-viewport-offset-top) + var(--viewport-safe-area-top) + 72px);right:max(16px,var(--viewport-safe-area-right));max-width:min(320px,calc(var(--visual-viewport-width) - 32px));gap:8px;border-inline-start:3px solid var(--popup-accent);opacity:0}#chatMessagePopup.show{animation:popup-toast-lifetime 4s ease both}#chatMessagePopup .popup-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#hintTooltip{display:none;position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;max-width:100%;white-space:normal;text-align:center;border-color:var(--popup-warning);z-index:var(--z-tooltip)}#hintTooltip:after{content:"";position:absolute;top:100%;left:50%;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid var(--popup-surface);transform:translate(-50%)}#hintTooltip[data-placement]{width:max-content;max-width:min(100%,280px);margin:0;animation:hintTooltipIn .22s ease-out}#hintTooltip[data-placement=above]{transform:translate(-50%,-100%)}#hintTooltip[data-placement=below]{transform:translate(-50%)}#hintTooltip[data-placement=below]:after{top:auto;bottom:100%;border-top:none;border-bottom:6px solid var(--popup-surface)}@keyframes hintTooltipIn{0%{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}@media (prefers-reduced-motion: reduce){#hintTooltip[data-placement]{animation:none}}#pointsPopup{display:none;position:fixed;z-index:var(--z-popup-message);padding:6px 12px;border-radius:999px;font-size:1rem;font-weight:750;font-variant-numeric:tabular-nums;min-width:0;white-space:nowrap}#pointsPopup.points-positive{background:var(--popup-accent-soft);color:var(--popup-accent);border-color:var(--popup-accent)}#pointsPopup.points-negative{background:color-mix(in srgb,var(--bg-color),var(--error-color) 8%);color:var(--error-color);border-color:var(--error-color)}#message.negative{color:var(--error-color)}.popup-backdrop.show>[data-popup],#howTo[open]{animation:popup-card-enter .18s ease-out}#appContainer [data-popup=utility][aria-modal=true].visible{animation:popup-reveal .16s ease-out}body:has(.popup-backdrop.show,#howTo[open]){overflow:hidden}@keyframes popup-card-enter{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes popup-reveal{0%{opacity:0}to{opacity:1}}@keyframes popup-toast-lifetime{0%,to{opacity:0}5%,90%{opacity:1}}@media (prefers-reduced-motion: reduce){.popup-backdrop.show>[data-popup],#howTo[open],#appContainer [data-popup=utility][aria-modal=true].visible{animation:none}[data-popup] *,#chatNotify,.chat-entry{transition:none!important}#messagePopup,#message,#chatMessagePopup{animation-name:popup-still!important}#pointsPopup{transform:translate(-50%) translateY(50px)!important;animation-name:popup-still!important}#chatNotify.wiggle{animation:none}.typing-dots>span{animation-name:typing-dot-fade}#chatNotify .chat-typing-bubble{transform:none!important;transition:none!important}}@keyframes typing-dot-fade{0%,60%,to{opacity:.4}30%{opacity:1}}@keyframes popup-still{0%{opacity:1}to{opacity:1}}#emojiChoices .emoji-choice.emoji-variant-available{border:1px dashed var(--popup-warning);background:color-mix(in srgb,var(--bg-color),var(--present-bg) 12%)}#emojiChoices .emoji-choice.emoji-variant-available:after{color:var(--popup-warning)}#privateRoomDialog{width:min(30rem,calc(100vw - 2rem));max-height:85dvh;overflow:auto;overscroll-behavior:contain;padding:var(--modal-padding, 24px);font:inherit}#privateRoomDialog[open]{animation:popup-card-enter .18s ease-out}#privateRoomDialog::backdrop{background:var(--popup-backdrop);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}#privateRoomDialog .popup-section-label{margin:20px 0 8px}.room-actions{display:flex;flex-wrap:wrap;gap:10px}#privateRoomDialog button,.room-unavailable .popup-primary{min-height:44px;margin:0;padding:10px 16px;border:1px solid var(--popup-border);border-radius:12px;background:var(--bg-color);color:var(--text-color);font:inherit;font-weight:600;box-shadow:2px 2px 5px var(--shadow-color-dark),-2px -2px 5px var(--shadow-color-light)}#privateRoomDialog .popup-primary,#privateRoomDialog .admission-approve,.room-unavailable .popup-primary{border-color:transparent;background:var(--popup-accent);color:var(--popup-on-accent);font-weight:700;box-shadow:0 3px 8px color-mix(in srgb,var(--popup-accent) 20%,transparent)}#privateRoomDialog button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}#lockAdmission[aria-pressed=true]{border-color:var(--popup-warning);color:var(--popup-warning);box-shadow:inset 2px 2px 4px var(--inset-shadow-dark),inset -2px -2px 4px var(--inset-shadow-light)}.room-note{margin:12px 0 0;color:var(--text-color-light);font-size:.8rem}#admissionRequests{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:0;padding:0;list-style:none}.admission-row{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 14px;border:1px solid var(--popup-border);border-radius:14px;background:var(--bg-color);box-shadow:inset 2px 2px 5px var(--inset-shadow-dark),inset -2px -2px 5px var(--inset-shadow-light)}.admission-name{flex:1;min-width:0;overflow:hidden;font-weight:650;text-overflow:ellipsis;white-space:nowrap}#privateRoomDialog .admission-row button{padding:8px 12px}.admission-empty{padding:12px 0;color:var(--text-color-light);font-size:.9rem}#privateRoomStatus{min-height:1.4em;margin:12px 0 0;color:var(--popup-accent);font-size:.85rem}.room-footer{display:flex;justify-content:flex-end;margin-top:8px;padding-top:16px;border-top:1px solid var(--popup-border)}#copyLobbyLink.room-alert{animation:wiggle .6s ease-in-out 2}.room-unavailable{box-sizing:border-box;width:min(calc(100% - 32px),400px);margin:auto;padding:var(--modal-padding, 24px);border:1px solid var(--popup-border);border-top:4px solid var(--present-bg);border-radius:22px;background:linear-gradient(145deg,var(--popup-surface),var(--bg-color));color:var(--text-color);box-shadow:0 18px 48px var(--popup-shadow-color),inset 1px 1px 0 var(--popup-sheen);line-height:1.55;text-align:center;animation:popup-card-enter .18s ease-out}.room-unavailable h1{margin:0;color:var(--text-color);font-size:1.4rem}.room-unavailable p:not(.popup-eyebrow){margin:12px 0 20px;color:var(--text-color-light)}.room-unavailable .popup-primary{display:inline-flex;align-items:center;text-decoration:none}.room-unavailable :focus-visible,#privateRoomDialog :focus-visible{outline:2px solid var(--popup-accent);outline-offset:3px}@media (prefers-reduced-motion: reduce){#privateRoomDialog[open],.room-unavailable,#copyLobbyLink.room-alert{animation:none}}#copyLobbyLink[hidden],#holdReset[hidden]{display:none!important}@media (prefers-reduced-motion: reduce){#appContainer .popup-header .close-btn:is(:hover,:active),#appContainer .popup-header :is(#historyClose,#definitionClose,#chatClose,#playerClose,#optionsClose):is(:hover,:active){transform:none}}
