/* Composer tools: translation, emoji, GIF search, and encrypted GIF bubbles. */
#direct-chat-form>.direct-chat-translate{display:none!important}#direct-chat-form>div{display:grid!important;grid-template-columns:auto auto auto auto minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important}.halo-chat-tool,#halo-file-button{display:grid!important;width:42px!important;min-width:42px!important;height:42px!important;place-items:center!important;padding:0!important;border:1px solid var(--hf-line)!important;border-radius:13px!important;background:#ffffff08!important;color:var(--hf-ink)!important;font:800 12px/1 inherit!important;cursor:pointer!important;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease!important}.halo-chat-tool:hover,#halo-file-button:hover{transform:translateY(-1px)!important;border-color:var(--hf-cyan)!important;background:#40d9ff12!important;box-shadow:0 8px 20px #0002!important}#halo-file-button{font-size:18px!important}.halo-chat-tool#halo-translate-button{font-size:15px!important;letter-spacing:-.12em!important}.halo-chat-tool#halo-gif-button{font-size:10px!important;letter-spacing:.06em!important}.halo-chat-tool-dialog{width:min(500px,calc(100% - 24px));max-height:min(760px,calc(100vh - 28px));padding:0;border:1px solid var(--hf-line);border-radius:24px;background:#101a2b;color:var(--hf-ink);box-shadow:0 30px 100px #0008}.halo-chat-tool-dialog::backdrop{background:#020611b8;backdrop-filter:blur(10px)}.halo-chat-tool-card{position:relative;margin:0;padding:28px}.halo-tool-close{position:absolute;right:15px;top:15px;width:34px;height:34px;border:1px solid #ffffff14;border-radius:11px;background:#ffffff08;color:var(--hf-muted);font-size:19px;cursor:pointer}.halo-chat-tool-card h2{margin:4px 0 8px;color:var(--hf-ink);font-size:22px;letter-spacing:-.04em}.halo-tool-copy,.halo-gif-status{margin:0 0 20px;color:var(--hf-muted);font-size:10px;line-height:1.6}.halo-language-grid{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);align-items:end;gap:10px}.halo-language-grid label{display:grid;gap:8px;color:var(--hf-muted);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.halo-language-grid select,.halo-gif-search input{width:100%;min-height:44px;border:1px solid var(--hf-line);border-radius:12px;background:#ffffff08;color:var(--hf-ink);padding:10px 12px;outline:0}.halo-language-grid select:focus,.halo-gif-search input:focus{border-color:var(--hf-cyan);box-shadow:0 0 0 4px #40d9ff18}.halo-language-swap{display:grid;place-items:center;height:44px;color:var(--hf-cyan);font-size:18px}.halo-translate-enable{display:flex;align-items:center;gap:10px;margin-top:19px;padding:13px;border:1px solid var(--hf-line);border-radius:14px;background:#ffffff06;color:var(--hf-ink);cursor:pointer}.halo-translate-enable input{accent-color:var(--hf-blue)}.halo-translate-enable span{display:grid;gap:3px}.halo-translate-enable b{font-size:10px}.halo-translate-enable small{color:var(--hf-muted);font-size:9px}.halo-tool-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:8px;margin-top:20px}.halo-tool-actions button,.halo-gif-search button{min-height:44px;border-radius:12px;cursor:pointer;font:800 10px/1 inherit}.halo-tool-secondary{border:1px solid var(--hf-line);background:#ffffff08;color:var(--hf-ink)}.halo-tool-primary,.halo-gif-search button{border:0;background:linear-gradient(135deg,var(--hf-blue),var(--hf-violet));color:#fff;box-shadow:0 10px 24px #4c7dff30}.halo-emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;margin-top:18px}.halo-emoji-grid button{display:grid;min-height:42px;place-items:center;border:1px solid transparent;border-radius:11px;background:#ffffff06;font-size:22px;cursor:pointer}.halo-emoji-grid button:hover{border-color:var(--hf-cyan);background:#40d9ff12;transform:translateY(-1px)}.halo-gif-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.halo-gif-search button{padding:0 14px}.halo-gif-status{margin:14px 0 10px}.halo-gif-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:470px;overflow:auto;padding:2px}.halo-gif-result{min-width:0;height:102px;padding:0;overflow:hidden;border:1px solid var(--hf-line);border-radius:12px;background:#ffffff06;cursor:pointer}.halo-gif-result:hover{border-color:var(--hf-cyan);box-shadow:0 7px 20px #0003;transform:translateY(-1px)}.halo-gif-result img{display:block;width:100%;height:100%;object-fit:cover}.halo-chat-gif{display:block;width:min(100%,360px);max-height:240px;margin:0 0 8px;border-radius:11px;object-fit:cover;background:#0a1120}.direct-chat-message.halo-chat-image,.direct-chat-message:has(.halo-chat-gif){padding:8px!important}.direct-chat-message:has(.halo-chat-gif) p{font-size:9px;color:var(--hf-muted)}
html[data-theme="light"] .halo-chat-tool,html[data-theme="light"] #halo-file-button{border-color:#d5e0ee!important;background:#f7faff!important;color:#14233a!important;box-shadow:0 5px 14px rgba(33,72,137,.05)!important}html[data-theme="light"] .halo-chat-tool:hover,html[data-theme="light"] #halo-file-button:hover{border-color:#1769ff!important;background:#edf4ff!important;box-shadow:0 8px 18px rgba(33,72,137,.12)!important}html[data-theme="light"] .halo-chat-tool-dialog{border-color:#d8e2f0;background:#fff;color:#14233a;box-shadow:0 30px 90px rgba(33,72,137,.25)}html[data-theme="light"] .halo-chat-tool-card{background:linear-gradient(145deg,#fff,#f7faff)}html[data-theme="light"] .halo-tool-close{border-color:#d8e2f0;background:#f7faff;color:#71819a}html[data-theme="light"] .halo-chat-tool-card h2,html[data-theme="light"] .halo-translate-enable,html[data-theme="light"] .halo-language-grid label{color:#14233a}html[data-theme="light"] .halo-tool-copy,html[data-theme="light"] .halo-gif-status,html[data-theme="light"] .halo-translate-enable small{color:#71819a}html[data-theme="light"] .halo-language-grid select,html[data-theme="light"] .halo-gif-search input{border-color:#d5e0ee;background:#fff;color:#14233a}html[data-theme="light"] .halo-translate-enable{border-color:#d8e2f0;background:#f7faff}html[data-theme="light"] .halo-tool-secondary{border-color:#d8e2f0;background:#f7faff;color:#14233a}html[data-theme="light"] .halo-gif-result{border-color:#d8e2f0;background:#f7faff}
@media(max-width:700px){#direct-chat-form>div{grid-template-columns:auto auto auto auto minmax(0,1fr) auto!important;gap:5px!important}.halo-chat-tool,#halo-file-button{width:36px!important;min-width:36px!important;height:40px!important}.halo-emoji-grid{grid-template-columns:repeat(6,1fr)}.halo-gif-results{grid-template-columns:repeat(2,minmax(0,1fr))}.halo-gif-result{height:110px}.halo-chat-tool-card{padding:23px 18px}}

/* V117: provider-backed GIF discovery with device-local recents and favorites. */
.halo-gif-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:14px 0 12px;padding:5px;border:1px solid var(--hf-line);border-radius:15px;background:#ffffff09}.halo-gif-tabs button{min-height:36px;border:0;border-radius:10px;background:transparent;color:var(--hf-muted);font:800 10px/1 inherit;cursor:pointer}.halo-gif-tabs button.is-active{background:linear-gradient(135deg,color-mix(in srgb,var(--hf-blue) 36%,transparent),color-mix(in srgb,var(--hf-violet) 28%,transparent));color:var(--hf-ink);box-shadow:inset 0 1px #ffffff1a}.halo-gif-tile{position:relative;min-width:0}.halo-gif-tile .halo-gif-result{width:100%}.halo-gif-favorite{position:absolute;z-index:2;top:7px;right:7px;display:grid;width:30px;height:30px;place-items:center;padding:0;border:1px solid #ffffff33;border-radius:50%;background:#050c1ac2;color:#fff;box-shadow:0 6px 18px #0004;backdrop-filter:blur(12px);cursor:pointer}.halo-gif-favorite.is-active{border-color:#ffd35f8c;background:#65490ad1;color:#ffd45f}.halo-gif-load-more{width:100%;min-height:42px;margin-top:12px;border:1px solid var(--hf-line);border-radius:13px;background:#ffffff0e;color:var(--hf-ink);font:800 10px/1 inherit;cursor:pointer}.halo-gif-load-more:hover{border-color:color-mix(in srgb,var(--hf-cyan) 55%,var(--hf-line));background:color-mix(in srgb,var(--hf-cyan) 10%,transparent)}.halo-gif-attribution{min-height:16px;margin-top:12px;color:var(--hf-muted);font-size:8px;text-align:center}html[data-theme="light"] .halo-gif-tabs,html[data-theme="light"] .halo-gif-load-more{border-color:#d5e0ee;background:#f7faff}html[data-theme="light"] .halo-gif-tabs button.is-active{color:#17304f}@media(max-width:700px){.halo-gif-tabs{margin-top:12px}.halo-gif-tabs button{min-height:40px}.halo-gif-favorite{width:32px;height:32px}}
