:root{--blue: #0084ff;--blue-d: #0064c8;--bg: #f0f2f5;--ink: #050505;--muted: #65676b;--card: #ffffff;--radius: 12px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;font-family:Segoe UI,system-ui,-apple-system,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.5}.boot{display:flex;align-items:center;justify-content:center;min-height:100%;color:var(--muted)}.screen{padding:1rem}.screen h1{margin:0 0 .5rem;font-size:1.25rem}.screen p{margin:0;color:var(--muted)}.home-screen{position:relative;min-height:100%;padding-bottom:5rem}.home-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.home-header h1{margin:0;font-size:1.25rem}.icon-button{border:none;background:transparent;font-size:1.1rem;line-height:1;padding:.5rem;border-radius:999px;cursor:pointer}.icon-button:hover{background:#0000000d}.home-status{margin:0;color:var(--muted)}.home-status-error{color:#d92c2c}.conversation-empty{display:flex;flex-direction:column;align-items:center;gap:.25rem;margin-top:3rem;color:var(--muted);text-align:center}.conversation-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.conversation-item-row{display:flex;align-items:center;gap:.5rem}.conversation-delete-btn{flex-shrink:0;border:none;background:transparent;border-radius:var(--radius);padding:.6rem .75rem;font-size:1rem;cursor:pointer;color:var(--muted)}.conversation-delete-btn:hover{background:#f7f8fa}.conversation-delete-btn-confirm{background:#d93025;color:#fff;font-size:.8rem;font-weight:600;white-space:nowrap}.conversation-delete-btn-confirm:hover{background:#b8271d}.conversation-item{display:flex;align-items:center;justify-content:space-between;flex:1;min-width:0;width:100%;padding:.75rem 1rem;background:var(--card);border:none;border-radius:var(--radius);cursor:pointer;text-align:left;font:inherit;color:inherit;box-shadow:0 1px 2px #0000000f}.conversation-item:hover{background:#f7f8fa}.conversation-item-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-item-time{flex-shrink:0;margin-left:.75rem;font-size:.8rem;color:var(--muted)}.fab{position:fixed;right:1.25rem;bottom:1.25rem;width:3.25rem;height:3.25rem;border-radius:999px;border:none;background:var(--blue);color:#fff;font-size:1.75rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #0003}.fab:hover{background:var(--blue-d)}.fab:disabled{background:var(--muted);cursor:not-allowed;box-shadow:none}.setup-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem}.setup-header h1{margin:0;font-size:1.15rem}.setup-section{margin-bottom:1.5rem}.setup-section-title{margin:0 0 .75rem;font-size:1rem}.setup-label{display:block;margin-bottom:.35rem;font-size:.85rem;color:var(--muted)}.setup-input{width:100%;padding:.6rem .75rem;border-radius:var(--radius);border:1px solid #d8dae0;background:var(--card);font:inherit;color:inherit}.setup-input:focus{outline:none;border-color:var(--blue)}.setup-characters{display:flex;flex-direction:column;gap:1.25rem}.setup-character{display:flex;flex-direction:column;gap:.5rem;padding:.9rem;background:var(--card);border-radius:var(--radius);box-shadow:0 1px 2px #0000000f}.setup-character-label{font-weight:600;font-size:.9rem}.setup-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 0 1.5rem}.setup-link{color:var(--blue);font-weight:600;text-decoration:none}.setup-save{padding:.65rem 1.25rem;border:none;border-radius:var(--radius);background:var(--blue);color:#fff;font:inherit;font-weight:600;cursor:pointer}.setup-save:hover{background:var(--blue-d)}.setup-save:disabled{background:var(--muted);cursor:not-allowed}.avatar-picker{display:flex;flex-direction:column;gap:.6rem}.avatar-picker-preview{position:relative;width:3.5rem;height:3.5rem;border-radius:999px;background:var(--bg);display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:1.75rem}.avatar-picker-image{width:100%;height:100%;object-fit:cover}.avatar-picker-uploading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#ffffffbf;font-size:.65rem;color:var(--muted)}.avatar-picker-actions{display:flex;gap:.5rem}.avatar-picker-toggle,.avatar-picker-upload{padding:.4rem .7rem;border-radius:999px;border:1px solid #d8dae0;background:var(--card);font:inherit;font-size:.8rem;cursor:pointer;text-align:center}.avatar-picker-toggle:hover,.avatar-picker-upload:hover{background:#f7f8fa}.avatar-picker-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:.35rem;padding:.6rem;background:var(--bg);border-radius:var(--radius)}.avatar-picker-grid-item{border:none;background:transparent;font-size:1.3rem;padding:.25rem;border-radius:8px;cursor:pointer;line-height:1}.avatar-picker-grid-item:hover{background:#0000000f}.avatar-picker-grid-item.is-active{background:#0084ff26}.theme-picker{display:flex;flex-direction:column;gap:1rem}.theme-picker-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}.theme-picker-item{display:flex;align-items:center;gap:.5rem;padding:.65rem .85rem;border-radius:var(--radius);border:2px solid transparent;background:var(--card);font:inherit;cursor:pointer;box-shadow:0 1px 2px #0000000f}.theme-picker-item.is-active{border-color:var(--blue)}.theme-picker-swatch{width:1.1rem;height:1.1rem;border-radius:999px;flex-shrink:0}.theme-picker-accent-label{display:block;margin-bottom:.5rem;font-size:.85rem;color:var(--muted)}.theme-picker-accent-list{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.theme-picker-accent-swatch{width:1.75rem;height:1.75rem;border-radius:999px;border:2px solid transparent;cursor:pointer;padding:0}.theme-picker-accent-swatch.is-active{border-color:var(--ink)}.theme-picker-accent-default{background:repeating-linear-gradient(45deg,#d8dae0,#d8dae0 4px,#fff 4px,#fff 8px)}.theme-picker-accent-custom{width:1.75rem;height:1.75rem;border-radius:999px;overflow:hidden;border:1px dashed #d8dae0;display:flex;cursor:pointer}.theme-picker-accent-custom input{width:100%;height:100%;border:none;padding:0;cursor:pointer}.chat-screen{display:flex;flex-direction:column;height:100%;padding:0}.chat-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--card);box-shadow:0 1px 2px #0000000f;flex-shrink:0}.chat-header-title{flex:1;margin:0;font-size:1.05rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-header-actions{display:flex;align-items:center;gap:.25rem}.chat-transcript{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.5rem;background:var(--gc-bg, var(--bg))}.chat-transcript-empty{display:flex;flex-direction:column;align-items:center;gap:.25rem;margin-top:3rem;color:var(--muted);text-align:center}.bubble-row{display:flex;align-items:flex-end;gap:.5rem;max-width:100%}.bubble-row-me{justify-content:flex-end}.bubble-row-them{justify-content:flex-start}.bubble-avatar{flex-shrink:0;width:1.9rem;height:1.9rem;border-radius:999px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:1.05rem;overflow:hidden}.bubble-avatar img{width:100%;height:100%;object-fit:cover}.bubble-stack{display:flex;flex-direction:column;max-width:72%;position:relative}.bubble-row-me .bubble-stack{align-items:flex-end}.bubble-row-them .bubble-stack{align-items:flex-start}.bubble{position:relative;padding:.55rem .8rem;border-radius:1.1rem;word-break:break-word;white-space:pre-wrap;cursor:pointer;-webkit-user-select:none;user-select:none}.bubble-me{background:var(--gc-bubble-me, var(--blue));color:var(--gc-text-me, #ffffff);border-bottom-right-radius:.3rem}.bubble-them{background:var(--gc-bubble-them, #e4e6eb);color:var(--gc-text-them, var(--ink));border-bottom-left-radius:.3rem}.bubble-text{margin:0}.bubble-image{display:block;max-width:220px;border-radius:.7rem}.bubble-reaction{margin-top:-.4rem;font-size:.85rem;background:#fff;border-radius:999px;padding:.05rem .3rem;box-shadow:0 1px 2px #00000026}.bubble-meta{margin-top:.15rem;font-size:.7rem;color:var(--muted);display:flex;gap:.25rem}.bubble-typing{display:flex;align-items:center;gap:.25rem;padding:.65rem .9rem}.typing-dot{width:.4rem;height:.4rem;border-radius:999px;background:currentColor;opacity:.6;animation:gc-typing-blink 1s infinite ease-in-out}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}@keyframes gc-typing-blink{0%,80%,to{opacity:.3}40%{opacity:1}}.bubble-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;border:none;background:transparent;z-index:9;cursor:default}.bubble-menu{position:absolute;bottom:calc(100% + .4rem);left:50%;transform:translate(-50%);z-index:10;display:flex;flex-direction:column;gap:.15rem;background:#fff;color:var(--ink);border-radius:.7rem;box-shadow:0 4px 16px #0003;padding:.35rem;min-width:9.5rem}.bubble-menu button{border:none;background:transparent;font:inherit;text-align:left;padding:.45rem .6rem;border-radius:.5rem;cursor:pointer;color:var(--ink);white-space:nowrap}.bubble-menu button:hover{background:var(--bg)}.bubble-menu-danger{color:#d92c2c}.bubble-menu-reactions{display:flex;gap:.2rem}.bubble-menu-reactions button{font-size:1.2rem;padding:.3rem}.composer{flex-shrink:0;background:var(--card);border-top:1px solid #e4e6eb;padding:.5rem .75rem calc(.5rem + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:.4rem}.composer-toggle{display:flex;align-items:center;gap:.4rem}.composer-toggle-btn{padding:.3rem .7rem;border-radius:999px;border:1px solid #d8dae0;background:var(--card);font:inherit;font-size:.8rem;cursor:pointer}.composer-toggle-btn.is-active{background:var(--blue);color:#fff;border-color:var(--blue)}.composer-typing-btn{margin-left:auto;padding:.3rem .7rem;border-radius:999px;border:1px solid #d8dae0;background:var(--card);font:inherit;font-size:.75rem;cursor:pointer;color:var(--muted)}.composer-typing-btn.is-active{background:#fff3cd;border-color:#f0d68a;color:#7a5b00}.composer-row{display:flex;align-items:center;gap:.4rem}.composer-icon-button{border:none;background:transparent;font-size:1.3rem;padding:.35rem;border-radius:999px;cursor:pointer;flex-shrink:0}.composer-icon-button:disabled{opacity:.5;cursor:not-allowed}.composer-input{flex:1;padding:.6rem .9rem;border-radius:999px;border:1px solid #d8dae0;background:var(--bg);font:inherit;color:inherit}.composer-input:focus{outline:none;border-color:var(--blue)}.composer-send{padding:.55rem 1.1rem;border:none;border-radius:999px;background:var(--blue);color:#fff;font:inherit;font-weight:600;cursor:pointer;flex-shrink:0}.composer-send:disabled{background:var(--muted);cursor:not-allowed}.settings-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.settings-header h1{margin:0}.settings-section{background:var(--card);border-radius:var(--radius);padding:1rem;margin-bottom:1rem}.settings-section-title{margin:0 0 .75rem;font-size:1rem}.settings-account-note{color:var(--muted);margin:0 0 .75rem;font-size:.9rem}.settings-account-info{margin:0 0 .35rem}.settings-form{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.settings-form-row{display:flex;gap:.5rem}.settings-label{font-size:.85rem;color:var(--muted)}.settings-input{padding:.6rem .8rem;border-radius:8px;border:1px solid #d8dae0;background:var(--bg);font:inherit;color:inherit}.settings-input:focus{outline:none;border-color:var(--blue)}.settings-btn{padding:.6rem 1rem;border:none;border-radius:8px;background:var(--blue);color:#fff;font:inherit;font-weight:600;cursor:pointer}.settings-btn:disabled{background:var(--muted);cursor:not-allowed}.settings-btn-secondary{padding:.6rem 1rem;border:1px solid #d8dae0;border-radius:8px;background:var(--card);color:inherit;font:inherit;cursor:pointer}.settings-btn-google{margin-top:.25rem;background:#fff;color:var(--ink);border:1px solid #d8dae0}.settings-feedback{margin:.75rem 0 0;font-size:.9rem}.settings-feedback-ok{color:#1a7f37}.settings-feedback-error{color:#cf222e}.settings-signout{width:100%;padding:.7rem 1rem;border:1px solid #d8dae0;border-radius:8px;background:var(--card);color:#cf222e;font:inherit;font-weight:600;cursor:pointer}.settings-signout:disabled{opacity:.6;cursor:not-allowed}.error-banner-stack{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;flex-direction:column;gap:.5rem;padding:.75rem;pointer-events:none}.error-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 auto;max-width:480px;width:100%;padding:.75rem 1rem;background:#d93025;color:#fff;border-radius:var(--radius);box-shadow:0 2px 10px #0003;pointer-events:auto}.error-banner-message{font-size:.9rem;line-height:1.4}.error-banner-dismiss{flex-shrink:0;background:transparent;border:none;color:#fff;font-size:1.2rem;line-height:1;cursor:pointer;padding:0}.install-hint{display:flex;align-items:center;gap:.6rem;background:#eef6ff;border:1px solid #cfe6ff;border-radius:var(--radius);padding:.75rem 1rem;margin-bottom:1rem}.install-hint-text{flex:1;font-size:.85rem;color:var(--ink)}.install-hint-actions{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.install-hint-btn{padding:.4rem .8rem;border:none;border-radius:8px;background:var(--blue);color:#fff;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.install-hint-dismiss{border:none;background:transparent;color:var(--muted);font-size:.9rem;cursor:pointer;padding:.2rem;flex-shrink:0}
