/* Animated message glyphs remain shared; the keyboard chrome is compact on all surfaces. */
.game420-emoji-glyph{display:inline-block;position:relative;width:1.65em;height:1.65em;vertical-align:-.43em;line-height:1.65;flex:none;white-space:normal;contain:layout paint}
.game420-emoji-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font:inherit;color:inherit}
.game420-emoji-visual{position:absolute;inset:0;display:block;pointer-events:none}.game420-emoji-visual svg{display:block;width:100%!important;height:100%!important}.game420-emoji-loaded>.game420-emoji-fallback{visibility:hidden}
.game420-emoji-preview{display:flex;align-items:baseline;gap:8px;min-width:0;max-width:100%;padding:7px 10px;border-top:1px solid #44364f;background:#211c2d;color:#f0e5fa;font:14px/1.6 system-ui,sans-serif}
.game420-emoji-preview[hidden]{display:none!important}.game420-emoji-preview-label{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#c9b4dc;flex:none}.game420-emoji-preview-text{white-space:pre-wrap;overflow-wrap:anywhere;max-height:92px;overflow:auto;min-width:0}
.game420-emoji-picker:not([hidden]){display:flex!important;flex-direction:column;box-sizing:border-box;max-width:calc(100vw - 24px)!important;width:min(340px,calc(100vw - 24px))!important;min-width:0!important;max-height:340px;overflow:hidden;padding:7px 9px!important;border:1px solid #9181a12b!important;border-radius:12px!important;background:#1b1926!important;color:#f0e5fa;z-index:30}
html body .game420-emoji-picker:is(.private-emoji-panel,.community-emoji-panel):not([hidden]){width:100%!important;max-width:100%!important;border:0!important;border-top:1px solid #9181a12b!important;border-radius:0!important;box-shadow:none!important}
.game420-emoji-picker [hidden]{display:none!important}
html body .game420-emoji-picker .game420-emoji-controls{display:flex;align-items:center;gap:4px;flex:none;width:100%;margin:0 0 3px;padding:0}
html body .game420-emoji-picker .game420-emoji-search-field{display:flex;align-items:center;gap:6px;flex:1;min-width:0;height:32px;padding:0 9px;border:0;border-radius:10px;background:#ffffff0b;color:#a8a2b5}
html body #admin-viewport .game420-emoji-picker.g420-media-keyboard label.game420-emoji-search-field,html body #community-panel .game420-emoji-picker.g420-media-keyboard label.game420-emoji-search-field{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;flex:1;min-width:0;min-height:32px!important;height:32px!important;padding:0 9px!important;margin:0!important;grid-template:none!important}
html body #admin-viewport .game420-emoji-picker.g420-media-keyboard .game420-emoji-search-field>svg,html body #community-panel .game420-emoji-picker.g420-media-keyboard .game420-emoji-search-field>svg{display:block!important;flex:0 0 16px!important;width:16px!important;height:16px!important;margin:0!important}
.game420-emoji-picker .game420-emoji-search-field>svg{flex:none;width:16px;height:16px}
html body .game420-emoji-picker .game420-emoji-search-field input.game420-emoji-search{display:block!important;flex:1;min-width:0!important;width:100%!important;box-sizing:border-box!important;height:32px!important;min-height:32px!important;margin:0!important;padding:0!important;border:0!important;border-radius:10px!important;background:transparent!important;color:#eeeaf4!important;font:400 16px/1.3 Roboto,system-ui,sans-serif!important;box-shadow:none!important}
.game420-emoji-picker input.game420-emoji-search::placeholder{color:#a8a2b5;opacity:1}
html body .game420-emoji-picker button.game420-emoji-motion{display:grid!important;place-items:center;flex:0 0 30px;min-width:30px!important;width:30px!important;height:32px!important;min-height:32px!important;margin:0!important;padding:6px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#aaa3b8!important;box-shadow:none!important}
.game420-emoji-picker .game420-emoji-motion svg{display:block;width:16px;height:16px}.game420-emoji-picker button.game420-emoji-motion[aria-pressed=true]{color:#c7dfb9!important}
html body .game420-emoji-picker .game420-emoji-tabs{display:flex;align-items:center;flex-wrap:nowrap;gap:3px;flex:none;width:100%;min-height:34px;margin:0 0 2px;padding:1px 0 3px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;border:0}
.game420-emoji-tabs::-webkit-scrollbar{display:none}
html body .game420-emoji-picker button.game420-emoji-tab{display:grid!important;place-items:center;flex:0 0 34px;min-width:34px!important;width:34px!important;height:32px!important;min-height:32px!important;margin:0!important;padding:3px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#aaa3b8!important;font:600 18px/1 system-ui,sans-serif!important;box-shadow:none!important;white-space:nowrap}
html body .game420-emoji-picker button.game420-emoji-tab[aria-selected=true]{background:#ffffff0d!important;color:#c4ddb7!important}
.game420-emoji-picker .game420-emoji-tab img{display:block;width:27px;height:27px;object-fit:contain;pointer-events:none}.game420-emoji-picker .game420-emoji-tab svg{display:block;width:24px;height:24px;pointer-events:none}
html body .game420-emoji-picker .game420-emoji-grid,html body .game420-emoji-picker .game420-emoji-classic{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(36px,1fr));grid-auto-rows:max-content;align-content:start;gap:1px;flex:1;min-height:0;width:100%;max-height:none;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:2px 0}
html body .game420-emoji-picker .game420-emoji-grid[hidden],html body .game420-emoji-picker .game420-emoji-classic[hidden]{display:none!important}
html body .game420-emoji-picker button.game420-emoji-choice,html body .game420-emoji-picker button.game420-emoji-standard,html body .game420-emoji-picker .game420-emoji-classic>button{display:grid!important;place-items:center!important;min-width:0!important;width:100%!important;height:38px!important;min-height:38px!important;margin:0!important;padding:2px!important;border:0!important;border-radius:7px!important;background:transparent!important;box-shadow:none!important;color:#f0e5fa!important;font:28px/1 system-ui,sans-serif!important;cursor:pointer}
.game420-emoji-standard-group{grid-column:1/-1;align-self:end;box-sizing:border-box;padding:7px 3px 2px;color:#aaa2b7;font:500 11px/1.3 Roboto,system-ui,sans-serif}
html body .game420-emoji-picker button.game420-emoji-choice:hover,html body .game420-emoji-picker .game420-emoji-classic>button:hover{background:#ffffff0a!important}
.game420-emoji-picker button.game420-emoji-choice .game420-emoji-glyph{width:32px;height:32px;vertical-align:0}
html body .game420-emoji-picker .game420-emoji-status{flex:none;width:100%;margin:3px 0!important;padding:0!important;color:#ada4bb!important;font:12px/1.4 Roboto,system-ui,sans-serif!important}.game420-emoji-picker .game420-emoji-status:empty{display:none!important}
.game420-emoji-picker .game420-emoji-tools{display:flex;align-items:center;justify-content:space-between;flex:none;height:35px;margin-top:3px}
html body .game420-emoji-picker button.game420-emoji-keyboard,html body .game420-emoji-picker button.game420-emoji-erase{display:grid!important;place-items:center;flex:none;width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;margin:0!important;padding:6px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#a9a2b7!important;box-shadow:none!important;cursor:pointer}
.game420-emoji-picker.g420-media-keyboard .game420-emoji-tools{display:none}
/* Shared iPhone keyboard geometry; message and reaction rendering is unchanged. */
html body :is(#shortcut-dialog,#community-salon,#admin-viewport,#community-panel) .game420-emoji-picker.g420-media-keyboard label.game420-emoji-search-field{box-sizing:border-box!important;height:36px!important;min-height:36px!important;margin:0 0 0 4px!important;padding:0 10px!important;border-radius:18px!important;flex-direction:row!important}
html body .game420-emoji-picker.g420-media-keyboard .game420-emoji-search-field input.game420-emoji-search{height:36px!important;min-height:36px!important;border-radius:18px!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
html body .game420-emoji-picker.g420-media-keyboard .game420-emoji-tabs{gap:8px;min-height:36px;padding:3px 4px;box-sizing:border-box}
html body .game420-emoji-picker.g420-media-keyboard button.game420-emoji-tab{flex-basis:28px;min-width:28px!important;width:28px!important;height:28px!important;min-height:28px!important;padding:0!important}
.game420-emoji-picker.g420-media-keyboard .game420-emoji-tab img{width:28px;height:28px}
html body .game420-emoji-picker.g420-media-keyboard :is(.game420-emoji-grid,.game420-emoji-classic){grid-template-columns:repeat(auto-fill,minmax(40px,1fr))}
@media(max-width:480px){html body .game420-emoji-picker.g420-media-keyboard :is(.game420-emoji-grid,.game420-emoji-classic){grid-template-columns:repeat(8,minmax(0,1fr))}}
.game420-emoji-picker button:focus-visible,.game420-emoji-picker input:focus-visible{outline:2px solid #c1dcb7!important;outline-offset:-2px}
.admin-console #admin-viewport .composer-line:has(>.composer-emoji>.game420-emoji-picker),#community-panel .community-compose-tools:has(>.community-compose-emojis>.game420-emoji-picker){position:relative}
.admin-console #admin-viewport .composer-emoji:has(>.game420-emoji-picker),#community-panel .community-compose-emojis:has(>.game420-emoji-picker){position:static}
.admin-console #admin-viewport .composer-emoji>.game420-emoji-picker:not([hidden]),#community-panel .community-compose-emojis>.game420-emoji-picker:not([hidden]){right:0!important;left:auto!important;bottom:calc(100% + 6px)!important;width:min(340px,100%)!important;max-width:100%!important}
@media(max-width:360px){html body .game420-emoji-picker .game420-emoji-grid,html body .game420-emoji-picker .game420-emoji-classic{grid-template-columns:repeat(auto-fill,minmax(34px,1fr))}.game420-emoji-preview-label{font-size:9px}}

