/* Drop-in defaults for the injected Gem client library. No network dependencies.
   Host sets --gem-safe-top / --gem-safe-bottom from gem.safe on viewport events. */
:root{--gem-bg:var(--tg-theme-bg-color,#f5f7fa);--gem-bg2:var(--tg-theme-secondary-bg-color,#eaf0f6);--gem-text:var(--tg-theme-text-color,#182533);--gem-hint:var(--tg-theme-hint-color,#647586);--gem-link:var(--tg-theme-link-color,#177cbf);--gem-button:var(--tg-theme-button-color,#248bda);--gem-button-text:var(--tg-theme-button-text-color,#fff);--gem-safe-top:env(safe-area-inset-top,0px);--gem-safe-bottom:env(safe-area-inset-bottom,0px);--gem-bar-height:48px;--gem-font:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--gem-border:color-mix(in srgb,var(--gem-hint) 24%,transparent);color-scheme:light}
@media(prefers-color-scheme:dark){:root{--gem-bg:var(--tg-theme-bg-color,#1a2026);--gem-bg2:var(--tg-theme-secondary-bg-color,#293440);--gem-text:var(--tg-theme-text-color,#f4f7fa);--gem-hint:var(--tg-theme-hint-color,#9aa8b5);--gem-link:var(--tg-theme-link-color,#4cb2ff);color-scheme:dark}}
:root[data-theme=light]{--gem-bg:var(--tg-theme-bg-color,#f5f7fa);--gem-bg2:var(--tg-theme-secondary-bg-color,#eaf0f6);--gem-text:var(--tg-theme-text-color,#182533);--gem-hint:var(--tg-theme-hint-color,#647586);--gem-link:var(--tg-theme-link-color,#177cbf);color-scheme:light}
:root[data-theme=dark]{--gem-bg:var(--tg-theme-bg-color,#1a2026);--gem-bg2:var(--tg-theme-secondary-bg-color,#293440);--gem-text:var(--tg-theme-text-color,#f4f7fa);--gem-hint:var(--tg-theme-hint-color,#9aa8b5);--gem-link:var(--tg-theme-link-color,#4cb2ff);color-scheme:dark}
*{box-sizing:border-box}body{margin:0;padding-top:calc(var(--gem-bar-height) + var(--gem-safe-top));background:var(--gem-bg);color:var(--gem-text);font:16px/1.55 var(--gem-font);overflow-wrap:anywhere}#gem-bar{position:fixed;inset:0 0 auto;min-height:calc(var(--gem-bar-height) + var(--gem-safe-top));padding:var(--gem-safe-top) max(10px,env(safe-area-inset-right)) 0 max(10px,env(safe-area-inset-left));display:flex;align-items:center;gap:8px;background:var(--tg-theme-header-bg-color,var(--gem-bg));border-bottom:1px solid var(--gem-border);z-index:2147483000;font:600 14px/1.4 var(--gem-font)}#gem-bar a,#gem-bar button{display:flex;align-items:center;min-height:44px;padding:8px 6px;border:0;background:none;color:var(--gem-link);text-decoration:none;font:inherit;cursor:pointer}#gem-bar span{flex:1;min-width:0;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gem-btn,.gem-btn2{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border:1px solid transparent;border-radius:12px;font:600 16px/1.4 var(--gem-font);background:var(--gem-button);color:var(--gem-button-text);text-decoration:none;cursor:pointer;touch-action:manipulation}.gem-btn2{background:var(--gem-bg2);color:var(--gem-text);border-color:var(--gem-border);font-weight:500}.gem-btn:disabled,.gem-btn2:disabled{opacity:.5;cursor:default}.gem-btn:focus-visible,.gem-btn2:focus-visible,#gem-bar a:focus-visible,#gem-bar button:focus-visible{outline:2px solid var(--gem-link);outline-offset:4px}#gem-screen{position:fixed;inset:calc(var(--gem-bar-height) + var(--gem-safe-top)) 0 0;z-index:2147482000;display:flex;flex-direction:column;align-items:center;justify-content:safe center;gap:14px;padding:24px max(16px,env(safe-area-inset-right)) calc(24px + var(--gem-safe-bottom)) max(16px,env(safe-area-inset-left));overflow:auto;text-align:center;background:var(--gem-bg);color:var(--gem-text);font:16px/1.55 var(--gem-font)}#gem-screen>b{font-size:30px;line-height:1.15;letter-spacing:-1px;font-weight:700;max-width:26ch}#gem-screen small{display:block;color:var(--gem-hint);font-size:14px;max-width:32ch}#gem-screen .gem-btn,#gem-screen .gem-btn2{width:min(100%,310px)}.gem-content{width:min(100%,680px);margin:auto;padding:24px 16px calc(24px + var(--gem-safe-bottom))}.gem-panel{background:var(--gem-bg2);border:1px solid var(--gem-border);border-radius:16px;padding:20px}.gem-field{display:block;width:100%;min-height:48px;padding:12px;border:1px solid var(--gem-border);border-radius:10px;background:var(--gem-bg);color:var(--gem-text);font:16px var(--gem-font)}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
