.g420-attachment-dialog{position:fixed;inset:0;display:flex;align-items:flex-end;justify-content:center;width:100vw;height:100dvh;max-width:none;max-height:none;padding:0;margin:0;border:0;background:transparent;color:#f5f0fa;box-sizing:border-box;overflow:hidden;overscroll-behavior:contain}.g420-attachment-dialog::backdrop{background:#08060d66;backdrop-filter:blur(3px)}
.g420-attachment-sheet{display:flex;flex-direction:column;box-sizing:border-box;width:min(480px,100%);height:var(--g420-attachment-height,72dvh);max-height:100%;border:1px solid #d0bce527;border-bottom:0;border-radius:23px 23px 0 0;background:#1c1925;box-shadow:0 -8px 44px #0005;overflow:hidden;transform:translateY(var(--g420-attachment-drag,0));font:400 14px/1.4 Roboto,system-ui,sans-serif}
.g420-attachment-dialog [hidden],.g420-media-keyboard [hidden]{display:none!important}.g420-attachment-handle{display:flex;align-items:center;justify-content:center;flex:0 0 25px;width:100%;height:25px;min-height:25px;padding:0;border:0;background:transparent;cursor:ns-resize;touch-action:none}.g420-attachment-handle span{display:block;width:36px;height:4px;border-radius:3px;background:#665d71}.g420-attachment-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 17px 10px;flex:none}.g420-attachment-dialog .g420-attachment-sheet .g420-attachment-head h2{margin:0;color:#f5f0fa!important;font:600 17px/1.35 Roboto,system-ui,sans-serif!important;text-transform:none!important;letter-spacing:normal!important;text-shadow:none!important}
.g420-attachment-close,.g420-picker-media-close{display:grid;place-items:center;width:34px;height:34px;min-width:34px;min-height:34px;padding:7px;border:0;border-radius:50%;background:#ffffff08;color:#c3b5d0;cursor:pointer}.g420-picker-icon{display:grid;place-items:center;flex:none}.g420-picker-icon svg{display:block;width:21px;height:21px;pointer-events:none}.g420-attachment-content{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:3px 12px 12px;scrollbar-width:thin}.g420-attachment-status{flex:none;margin:0;padding:0 16px 8px;color:#c9b8d8;font:400 12px/1.4 Roboto,system-ui,sans-serif}.g420-attachment-status:empty{display:none}
.g420-attachment-nav{display:flex;justify-content:space-around;gap:5px;flex:none;padding:11px 12px max(12px,env(safe-area-inset-bottom));border-top:1px solid #bda5d21a;background:#181520}.g420-attachment-category{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;flex:1;min-width:0;min-height:64px;padding:0 3px;border:0;border-radius:12px;background:transparent;color:#b6a8c6;font:500 11px/1.3 Roboto,system-ui,sans-serif;cursor:pointer}.g420-attachment-category-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:color-mix(in srgb,var(--category-color,#b6dda9) 18%,transparent);color:var(--category-color,#b6dda9)}.g420-attachment-category[aria-selected=true]{color:#f4edf9}.g420-attachment-category[aria-selected=true] .g420-attachment-category-icon{box-shadow:0 0 0 2px var(--category-color,#b6dda9)}.g420-attachment-category:focus-visible,.g420-attachment-close:focus-visible,.g420-attachment-handle:focus-visible{outline:2px solid #b6dda9;outline-offset:-2px}
.g420-attachment-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.g420-attachment-tile{position:relative;display:grid;place-items:center;min-width:0;aspect-ratio:1;overflow:hidden;border:2px solid transparent;border-radius:10px;padding:0;background:#2a2435;color:#d8c8e6;cursor:pointer}.g420-attachment-tile img,.g420-attachment-tile video{display:block;width:100%;height:100%;object-fit:cover}.g420-attachment-tile.is-selected{border-color:#b6dda9}.g420-attachment-index{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:23px;height:23px;border:2px solid #fff;border-radius:50%;background:#9bc68d;color:#172312;font:600 12px/1 Roboto,system-ui,sans-serif}.g420-attachment-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;min-height:130px;margin:0;padding:20px 15px;text-align:center;color:#b4a7c3;font:400 14px/1.5 Roboto,system-ui,sans-serif}.g420-attachment-primary,.g420-attachment-secondary{display:flex;align-items:center;justify-content:center;gap:9px;box-sizing:border-box;width:100%;min-height:44px;padding:10px 14px;border:0;border-radius:12px;background:#b6dda9;color:#172315;font:600 14px/1.35 Roboto,system-ui,sans-serif;cursor:pointer}.g420-attachment-secondary{background:#2b2537;color:#d7c9e3;border:1px solid #a78dbb27}.g420-attachment-primary:disabled,.g420-attachment-secondary:disabled{opacity:.5;cursor:default}.g420-attachment-caption{margin:9px 2px;color:#b4a7c3;font:400 12px/1.45 Roboto,system-ui,sans-serif}
/* One keyboard surface: search, content, then the three mode tabs. */
html body .game420-emoji-picker.g420-media-keyboard:not([hidden]){display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;align-items:stretch!important;gap:0!important;box-sizing:border-box;height:var(--g420-media-keyboard-height,310px)!important;max-height:var(--g420-media-keyboard-height,310px)!important;min-height:0!important;overflow:hidden!important;padding:0 8px!important;border-radius:0!important;background:#1b1926!important}
.g420-picker-emoji-content{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden;overscroll-behavior:contain}
.g420-picker-media{display:flex;flex-direction:column;min-height:0;flex:1;padding:0}.g420-picker-media-head{display:flex;align-items:center;gap:0;margin:0 0 5px;flex:none}
html body :is(#shortcut-dialog,#community-salon,#admin-viewport,#community-panel) .game420-emoji-picker.g420-media-keyboard label.g420-picker-media-search-field{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;flex:1!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;height:36px!important;min-height:36px!important;margin:0 4px!important;padding:0 10px!important;border:0!important;border-radius:18px!important;background:#ffffff0b!important;color:#a8a2b5!important;grid-template:none!important}
html body :is(#shortcut-dialog,#community-salon,#admin-viewport,#community-panel) .game420-emoji-picker.g420-media-keyboard .g420-picker-media-search-field>.g420-picker-icon{display:grid!important;place-items:center!important;flex:0 0 16px!important;width:16px!important;height:16px!important;padding:0!important;margin:0!important}.g420-picker-media-search-field>.g420-picker-icon svg{width:16px;height:16px}
html body .game420-emoji-picker.g420-media-keyboard input.g420-picker-media-search{display:block!important;flex:1;min-width:0!important;width:100%!important;height:36px!important;min-height:36px!important;box-sizing:border-box;margin:0!important;padding:0!important;border:0!important;border-radius:18px!important;background:transparent!important;color:#eeeaf4!important;font:400 16px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;box-shadow:none!important}.g420-picker-media-search::placeholder{color:#a8a2b5}
.game420-emoji-picker.g420-media-keyboard .g420-picker-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(95px,1fr));grid-auto-rows:max-content;align-content:start;gap:3px;min-height:0;overflow-y:auto;overscroll-behavior:contain;flex:1;min-width:0;scrollbar-width:thin}.game420-emoji-picker.g420-media-keyboard .g420-picker-media[data-kind=gif] .g420-picker-media-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
html body .game420-emoji-picker.g420-media-keyboard button.g420-picker-media-item{display:grid!important;place-items:center!important;position:relative;flex-shrink:0;min-width:0!important;width:100%!important;height:auto!important;min-height:85px!important;aspect-ratio:1;margin:0!important;padding:2px!important;border:0!important;border-radius:7px!important;background:transparent!important;box-shadow:none!important;cursor:pointer;touch-action:pan-y;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}.game420-emoji-picker.g420-media-keyboard .g420-picker-media[data-kind=gif] .g420-picker-media-item{aspect-ratio:1.35}
.g420-picker-media-item img{display:block;width:100%;height:100%;aspect-ratio:1;max-height:180px;min-width:0;min-height:0;object-fit:contain;border-radius:6px;pointer-events:none;-webkit-touch-callout:none}.g420-picker-media[data-kind=gif] .g420-picker-media-item img{aspect-ratio:1.35;object-fit:cover}.g420-picker-media-item:disabled{opacity:.5}
.g420-picker-media-status{flex:none;margin:3px 0;color:#ada4bb;font:400 12px/1.4 Roboto,system-ui,sans-serif}.g420-picker-media-status:empty{display:none}
.g420-picker-keyboard-bottom{display:flex;align-items:center;justify-content:space-between;gap:5px;flex:none;height:40px;min-height:40px;padding:3px 0 max(3px,env(safe-area-inset-bottom));box-sizing:content-box;background:#1b1926}
.g420-picker-media-tabs{display:flex;align-items:center;justify-content:center;gap:0;flex:0 1 auto;min-width:0;height:40px;box-sizing:border-box;padding:6px;background:#ffffff06;border-radius:22px}.g420-picker-keyboard-actions{display:flex;align-items:center;justify-content:center;flex:0 0 34px;min-width:34px}
html body .game420-emoji-picker.g420-media-keyboard button.g420-picker-media-tab{display:flex!important;align-items:center;justify-content:center;position:relative;flex:0 1 auto;min-width:0!important;width:auto!important;min-height:28px!important;height:28px!important;padding:0 12px!important;margin:0!important;border:0!important;border-radius:15px!important;background:transparent!important;color:#a5a0b0!important;font:500 14px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;box-shadow:none!important;cursor:pointer}
html body .game420-emoji-picker.g420-media-keyboard button.g420-picker-media-tab[aria-selected=true]{background:#c4acd922!important;color:#e0e9da!important}.g420-picker-media-tab:disabled{opacity:.4}
html body .game420-emoji-picker.g420-media-keyboard button:is(.g420-picker-media-import,.g420-picker-keyboard-return,.g420-picker-keyboard-erase){display:grid!important;place-items:center;flex:0 0 34px;min-width:34px!important;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}.g420-picker-keyboard-bottom .g420-picker-icon svg{width:21px;height:21px}
.g420-media-keyboard{translate:0 var(--g420-keyboard-drag,0)}html body .game420-emoji-picker.g420-media-keyboard button.g420-picker-keyboard-handle{display:flex!important;align-items:center;justify-content:center;flex:0 0 11px;width:100%!important;height:11px!important;min-height:11px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;touch-action:none;cursor:ns-resize}.g420-picker-keyboard-handle span{display:block;width:28px;height:3px;border-radius:3px;background:#635c70}
.g420-picker-media-peek{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;background:#09061180;backdrop-filter:blur(5px);pointer-events:none}.g420-picker-media-peek-card{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:min(320px,85vw);padding:18px;border:1px solid #bda5d227;border-radius:24px;background:#211b2dd9;box-shadow:0 12px 60px #0008;color:#f3eafa;font:500 14px/1.4 Roboto,system-ui,sans-serif}.g420-picker-media-peek img{display:block;width:260px;max-width:70vw;height:260px;max-height:45dvh;object-fit:contain}.g420-picker-media-peek span:empty{display:none}
html body .game420-emoji-picker.g420-media-keyboard :is(button,div,section,p)[hidden]{display:none!important}
.g420-attachment-sheet{animation:g420-attachment-appear .18s ease-out}@keyframes g420-attachment-appear{from{transform:translateY(35px);opacity:.65}to{transform:translateY(0);opacity:1}}

.g420-attachment-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:5px 1px 10px}
html body .g420-attachment-sheet button.g420-attachment-source{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:11px;aspect-ratio:1.7;min-width:0;width:100%;min-height:100px;padding:13px!important;border:1px solid #b79acc25!important;border-radius:16px!important;background:#2b2535!important;color:#e5d8f1!important;font:500 14px/1.3 Roboto,system-ui,sans-serif!important;letter-spacing:0!important;text-shadow:none!important;box-shadow:none!important;cursor:pointer}
.g420-attachment-source-icon svg{display:block;width:32px;height:32px;color:#c2a1e6}
html body .g420-attachment-sheet button.g420-attachment-source:disabled{opacity:.4;cursor:default}
html body .g420-attachment-sheet .g420-attachment-empty{min-height:70px;padding:15px}
@media(min-width:700px){.g420-attachment-sheet{margin-bottom:18px;border-bottom:1px solid #d0bce527;border-radius:23px}}@media(prefers-reduced-motion:reduce){.g420-attachment-sheet{animation:none}.g420-attachment-dialog::backdrop,.g420-picker-media-peek{backdrop-filter:none}}
