:root{--bg:var(--tg-theme-bg-color,#fff);--bg2:var(--tg-theme-secondary-bg-color,#f1f1f4);--text:var(--tg-theme-text-color,#111);--hint:var(--tg-theme-hint-color,#8a8a8e);--accent:var(--tg-theme-button-color,#e0457b);--accent-text:var(--tg-theme-button-text-color,#fff);--radius:16px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font:15px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}button{font:inherit;color:inherit;cursor:pointer}.app{flex-direction:column;height:100%;display:flex}.centered{text-align:center;height:100%;color:var(--hint);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex}.gate{color:var(--text)}.gate h1{color:var(--accent);margin:0}.primary{background:var(--accent);color:var(--accent-text);border:0;border-radius:12px;padding:12px 20px;font-weight:600}.primary:disabled{opacity:.5}.link{color:var(--accent);background:0 0;border:0;padding:4px 8px}.topbar{border-bottom:1px solid var(--bg2);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.logo{color:var(--accent);font-size:18px;font-weight:700}.balance{background:var(--bg2);border:0;border-radius:999px;padding:6px 12px;font-weight:600}.avatar{object-fit:cover;color:#fff;border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.catalog{gap:10px;padding:12px 16px;display:grid;overflow-y:auto}.card{border-radius:var(--radius);background:var(--bg2);text-align:left;border:0;align-items:flex-start;gap:12px;padding:12px;display:flex}.card-title{font-weight:700}.card-tagline{color:var(--accent);margin:2px 0 4px;font-size:13px}.card-desc{color:var(--hint);font-size:13px}.chat{flex-direction:column;flex:1;min-height:0;display:flex}.chat-header{border-bottom:1px solid var(--bg2);align-items:center;gap:10px;padding:8px 16px;display:flex}.chat-name{font-weight:600}.chat-sub{color:var(--hint);font-size:12px}.messages{flex-direction:column;flex:1;gap:6px;padding:12px 16px;display:flex;overflow-y:auto}.bubble{border-radius:var(--radius);white-space:pre-wrap;overflow-wrap:anywhere;max-width:82%;padding:8px 12px}.bubble.assistant{background:var(--bg2);border-bottom-left-radius:4px;align-self:flex-start}.bubble.with-photo{padding-top:4px}.bubble .photo{object-fit:cover;border-radius:calc(var(--radius) - 4px);width:calc(100% + 16px);max-height:60vh;margin:0 -8px 6px;display:block}.bubble.user{background:var(--accent);color:var(--accent-text);border-bottom-right-radius:4px;align-self:flex-end}.notice{background:var(--bg2);max-width:90%;color:var(--hint);text-align:center;border-radius:12px;align-self:center;padding:8px 12px;font-size:13px}.composer{padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--bg2);gap:8px;display:flex}.composer textarea{resize:none;background:var(--bg2);min-width:0;color:var(--text);font:inherit;border:0;border-radius:20px;flex:1;max-height:120px;padding:10px 14px;font-size:16px}.composer textarea:focus{outline:2px solid var(--accent)}.send{border-radius:50%;flex-shrink:0;width:42px;height:42px;padding:0}.shop{flex-direction:column;gap:10px;padding:16px;display:flex}.shop h2{margin:0}.hint{color:var(--hint);margin:0;font-size:13px}.pack{border-radius:var(--radius);background:var(--bg2);border:0;justify-content:space-between;padding:16px;font-weight:600;display:flex}.price{color:var(--accent)}
