@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap";:root{--bg:#111214;--surface:#1a1b1e;--surface-2:#222327;--surface-3:#2a2b2f;--border:#ffffff0f;--border-2:#ffffff1a;--text-1:#e8eaed;--text-2:#9aa0a6;--text-3:#5f6368;--accent-green:#34a853;--accent-blue:#4285f4;--accent-yellow:#fbbc04;--font:"Inter", system-ui, sans-serif;--radius-bubble:18px;--radius-sm:8px}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body,#root{background:var(--bg);height:100%;color:var(--text-1);font-family:var(--font);overflow:hidden}.app-container{background:var(--bg);flex-direction:column;width:100%;height:100%;display:flex}.app-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;flex-shrink:0;align-items:center;gap:12px;height:64px;padding:0 16px;display:flex;position:relative}.header-avatar{color:#fff;letter-spacing:-.5px;cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#34a853,#1a73e8);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;font-weight:600;transition:transform .2s cubic-bezier(.175,.885,.32,1.275),filter .2s;display:flex}.header-avatar:hover{filter:brightness(1.1);transform:scale(1.06)}.header-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.header-title{color:var(--text-1);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.header-sub{color:var(--text-2);align-items:center;gap:6px;font-size:.75rem;display:flex}.online-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;transition:all .3s}.online-dot.active{background:var(--accent-green);box-shadow:0 0 6px #34a85380}.online-dot.pending{background:var(--accent-yellow);box-shadow:0 0 6px #fbbc0480}.online-dot.inactive{background:#ea4335}.header-actions{align-items:center;gap:4px;display:flex}.header-pill{background:var(--surface-3);border:1px solid var(--border);cursor:default;color:var(--text-2);-webkit-user-select:none;user-select:none;border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:.72rem;font-weight:500;display:flex}.header-pill-dot{background:var(--accent-green);border-radius:50%;width:5px;height:5px}.header-icon-btn{cursor:pointer;width:34px;height:34px;color:var(--text-2);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;transition:background .2s,color .2s;display:flex}.header-icon-btn:hover{background:var(--surface-3);color:var(--text-1)}.main-content{background:var(--bg);flex-direction:column;flex:1;display:flex;overflow-y:auto}.main-content::-webkit-scrollbar{width:4px}.main-content::-webkit-scrollbar-track{background:0 0}.main-content::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:2px}.thought-stream{flex-direction:column;gap:2px;padding:12px 16px 8px;display:flex}.thought-stream-empty{color:var(--text-3);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:40px 20px;display:flex}.empty-icon{background:var(--surface-2);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.4rem;animation:3s ease-in-out infinite float;display:flex}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.empty-title{color:var(--text-2);font-size:.9rem;font-weight:500}.empty-subtitle{color:var(--text-3);max-width:220px;font-size:.78rem;line-height:1.5}.date-divider{align-items:center;gap:10px;margin:12px 0 8px;display:flex}.date-divider:before,.date-divider:after{content:"";background:var(--border);flex:1;height:1px}.date-divider-text{color:var(--text-3);white-space:nowrap;font-size:.7rem}.variant-blue{--v-acc:#4285f4;--v-bg:#1e2535;--v-brd:#4285f42e;--v-txt:#dce8ff;--v-grd:linear-gradient(135deg, #4285f4, #1a56c4)}.variant-green{--v-acc:#34a853;--v-bg:#1e2b24;--v-brd:#34a8532e;--v-txt:#e2ffe0;--v-grd:linear-gradient(135deg, #34a853, #1e8449)}.variant-purple{--v-acc:#a142f4;--v-bg:#261e35;--v-brd:#a142f42e;--v-txt:#f0e0ff;--v-grd:linear-gradient(135deg, #a142f4, #701eb4)}.variant-amber{--v-acc:#fbbc04;--v-bg:#2b251e;--v-brd:#fbbc042e;--v-txt:#fff4e0;--v-grd:linear-gradient(135deg, #fbbc04, #b4861e)}.variant-rose{--v-acc:#ea4335;--v-bg:#2b1e1e;--v-brd:#ea43352e;--v-txt:#ffe0e0;--v-grd:linear-gradient(135deg, #ea4335, #b41e1e)}.variant-teal{--v-acc:teal;--v-bg:#1e2b2b;--v-brd:#0080802e;--v-txt:#e0ffff;--v-grd:linear-gradient(135deg, teal, #005a5a)}.message-row{align-items:flex-end;gap:8px;padding:2px 0;animation:.35s cubic-bezier(.16,1,.3,1) forwards msgIn;display:flex}.message-row.row-right{flex-direction:row-reverse}@keyframes msgIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-row.expiring{animation:1.8s ease-out forwards msgOut}@keyframes msgOut{0%{opacity:1;transform:scale(1)}to{opacity:0;filter:blur(4px);transform:scale(.96)translateY(-4px)}}.row-avatar{letter-spacing:-.3px;color:#fff;-webkit-user-select:none;user-select:none;background:var(--v-grd);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.7rem;font-weight:600;display:flex}.row-avatar.invisible{visibility:hidden}.bubble-col{flex-direction:column;gap:2px;max-width:min(72%,480px);display:flex}.message-row.row-right .bubble-col{align-items:flex-end}.bubble-name{color:var(--v-acc);margin-bottom:2px;padding:0 4px;font-size:.68rem;font-weight:500}.bubble-name.name-right{text-align:right}.thought-bubble{border-radius:var(--radius-bubble);cursor:default;line-break:anywhere;background:var(--v-bg);border:1px solid var(--v-brd);padding:8px 12px;transition:filter .2s;position:relative}.thought-bubble:hover{filter:brightness(1.08)}.thought-bubble.bubble-left{border-bottom-left-radius:4px}.thought-bubble.bubble-right{border-bottom-right-radius:4px}.bubble-text{color:var(--v-txt);font-size:.875rem;font-weight:400;line-height:1.45}.bubble-lifeline{background:var(--v-acc);opacity:.35;border-radius:2px;height:2px;margin-top:6px;transition:width 1s linear}.bubble-meta{align-items:center;gap:6px;padding:0 4px;display:flex}.bubble-time{color:var(--text-3);font-size:.65rem}.app-toast-error{border-radius:var(--radius-sm);background:#ea43351f;border:1px solid #ea433540;flex-shrink:0;align-items:center;gap:8px;margin:6px 16px 0;padding:8px 12px;animation:.3s msgIn;display:flex}.toast-icon{color:#fff;background:#ea4335;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:.65rem;font-weight:700;display:flex}.toast-text{color:#f28b82;font-size:.75rem}.app-footer-composer{background:var(--surface);border-top:1px solid var(--border);flex-shrink:0}.composer-form{display:contents}.composer-bar{align-items:flex-end;gap:8px;padding:10px 12px;display:flex}.composer-icon-btn{width:38px;height:38px;color:var(--text-2);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;transition:background .2s,color .2s;display:flex}.composer-icon-btn:hover{background:var(--surface-3);color:var(--text-1)}.composer-input-wrap{background:var(--surface-2);border:1px solid var(--border-2);border-radius:22px;flex:1;align-items:flex-end;gap:8px;padding:6px 14px;transition:border-color .2s;display:flex}.composer-input-wrap:focus-within{border-color:#4285f466}.composer-textarea{color:var(--text-1);font-family:var(--font);resize:none;background:0 0;border:none;outline:none;flex:1;min-height:22px;max-height:120px;padding:2px 0;font-size:.875rem;line-height:1.45;overflow-y:auto}.composer-textarea::placeholder{color:var(--text-3)}.char-counter{color:var(--text-3);white-space:nowrap;align-self:flex-end;padding-bottom:2px;font-size:.65rem}.char-counter.warn{color:var(--accent-yellow)}.composer-send-btn{background:var(--accent-blue);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:1rem;transition:background .2s,opacity .2s,transform .15s;display:flex}.composer-send-btn:hover:not(:disabled){background:#5a9aff;transform:scale(1.06)}.composer-send-btn:disabled{background:var(--surface-3);color:var(--text-3);cursor:not-allowed;transform:none}.send-cooldown{font-size:.65rem;font-weight:600}.composer-warning{color:#ea4335;background:#ea43351a;border-bottom:1px solid #ea433533;align-items:center;gap:6px;padding:6px 16px;font-size:.75rem;font-weight:500;animation:.2s ease-out slideDown;display:flex}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.footer-links{justify-content:center;align-items:center;gap:8px;padding:4px 0 8px;display:flex}.footer-link-btn{color:var(--text-3);cursor:pointer;font-size:.68rem;font-family:var(--font);background:0 0;border:none;padding:2px 4px;text-decoration:none;transition:color .2s}.footer-link-btn:hover{color:var(--text-2)}.footer-dot{color:var(--text-3);opacity:.4;font-size:.55rem}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:200;background:#000000bf;justify-content:center;align-items:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@media (width>=520px){.modal-overlay{align-items:center}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--surface);border:1px solid var(--border-2);border-radius:20px 20px 0 0;flex-direction:column;width:100%;max-width:480px;max-height:70vh;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;display:flex;box-shadow:0 -8px 32px #00000080}@media (width>=520px){.modal-content{border-radius:16px;max-height:60vh;animation:.3s cubic-bezier(.16,1,.3,1) popIn}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header h2{color:var(--text-1);font-size:.95rem;font-weight:600}.modal-close-btn{background:var(--surface-3);width:28px;height:28px;color:var(--text-2);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;transition:background .2s,color .2s;display:flex}.modal-close-btn:hover{background:var(--border-2);color:var(--text-1)}.modal-body{flex:1;padding:20px;overflow-y:auto}.modal-body h3{color:var(--accent-blue);text-transform:uppercase;letter-spacing:.04em;margin-top:16px;margin-bottom:5px;font-size:.78rem;font-weight:600}.modal-body h3:first-of-type{margin-top:0}.modal-body p{color:var(--text-2);font-size:.82rem;font-weight:400;line-height:1.6}.modal-body::-webkit-scrollbar{width:4px}.modal-body::-webkit-scrollbar-track{background:0 0}.modal-body::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:2px}.update-loader-overlay{z-index:9999;background:var(--bg);justify-content:center;align-items:center;animation:.4s fadeIn;display:flex;position:fixed;inset:0}.update-loader-card{text-align:center;flex-direction:column;align-items:center;gap:18px;width:100%;max-width:320px;padding:40px 32px;display:flex}.update-logo-ring{width:80px;height:80px;position:relative}.update-ring-svg{width:100%;height:100%;animation:2s linear infinite spin;position:absolute;inset:0}@keyframes spin{to{transform:rotate(360deg)}}.update-ring-track{fill:none;stroke:var(--surface-3);stroke-width:4px}.update-ring-fill{fill:none;stroke:url(#loaderGrad);stroke-width:4px;stroke-linecap:round;stroke-dasharray:226;stroke-dashoffset:60px;filter:drop-shadow(0 0 6px #4285f499)}.update-loader-overlay:after{content:"";display:none}.update-ring-svg defs{display:block}.update-logo-inner{background:var(--surface);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;margin:8px;display:flex;position:absolute;inset:0}.update-logo-emoji{font-size:1.5rem;animation:2s ease-in-out infinite pulse-emoji}@keyframes pulse-emoji{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.update-ring-fill{stroke:var(--accent-blue)}.update-title{color:var(--text-1);letter-spacing:-.02em;font-size:1.1rem;font-weight:700}.update-step{color:var(--text-2);min-height:1.2em;font-size:.8rem;animation:.5s fadeStep}@keyframes fadeStep{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.update-progress-track{background:var(--surface-3);border-radius:4px;width:100%;height:4px;overflow:hidden}.update-progress-bar{background:linear-gradient(90deg,#4285f4,#34a853);border-radius:4px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1);box-shadow:0 0 8px #4285f480}.update-progress-pct{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:.7rem;font-weight:500}.username-overlay{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a0b0dd9}.username-modal-card{background:linear-gradient(180deg, var(--surface) 0%, #1a1b1ef2 100%);border:1px solid #ffffff14;max-width:400px;padding:30px 24px 24px;position:relative;overflow:hidden;box-shadow:0 20px 50px #0009,0 0 40px #4285f40d}.username-modal-card:before{content:"";background:linear-gradient(90deg, var(--accent-blue), var(--accent-green));height:3px;position:absolute;top:0;left:0;right:0}.username-modal-header{text-align:center;margin-bottom:24px}.username-modal-badge{text-transform:uppercase;letter-spacing:.08em;color:var(--accent-blue);background:#4285f41a;border-radius:12px;margin-bottom:12px;padding:4px 10px;font-size:.65rem;font-weight:600;display:inline-block}.username-modal-card h2{color:var(--text-1);letter-spacing:-.02em;margin-bottom:8px;font-size:1.4rem;font-weight:600}.username-modal-subtitle{color:var(--text-2);font-size:.82rem;line-height:1.45}.username-form{flex-direction:column;gap:16px;display:flex}.username-input-group{background:var(--surface-2);border:1px solid var(--border-2);border-radius:12px;align-items:center;height:50px;padding:0 16px;transition:border-color .25s,box-shadow .25s;display:flex}.username-input-group:focus-within{border-color:var(--accent-blue);box-shadow:0 0 12px #4285f426}.username-prefix{color:var(--text-3);-webkit-user-select:none;user-select:none;margin-right:8px;font-size:1.1rem;font-weight:500}.username-input{color:var(--text-1);font-family:var(--font);background:0 0;border:none;outline:none;flex:1;font-size:1.05rem;font-weight:500}.username-input::placeholder{color:var(--text-3)}.username-input.input-error{border-color:#ea4335}.username-validation-error{color:#f28b82;margin-top:-6px;padding:0 4px;font-size:.75rem}.username-actions{gap:10px;margin-top:8px;display:flex}.username-btn-primary{background:var(--accent-blue);color:#fff;height:46px;font-family:var(--font);cursor:pointer;border:none;border-radius:10px;flex:1.3;justify-content:center;align-items:center;gap:6px;font-size:.9rem;font-weight:600;transition:background .2s,transform .15s,box-shadow .2s;display:flex}.username-btn-primary:hover{background:#5a9aff;transform:translateY(-1px);box-shadow:0 4px 12px #4285f44d}.username-btn-primary:active{transform:translateY(0)}.username-btn-secondary{border:1px solid var(--border-2);background:var(--surface-3);height:46px;color:var(--text-2);font-family:var(--font);cursor:pointer;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;font-size:.85rem;font-weight:500;transition:background .2s,color .2s,border-color .2s;display:flex}.username-btn-secondary:hover{background:var(--border-2);color:var(--text-1);border-color:var(--text-3)}.username-cancel-btn{color:var(--text-3);font-size:.75rem;font-family:var(--font);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;margin:16px auto 0;text-decoration:underline;transition:color .2s;display:block}.username-cancel-btn:hover{color:var(--text-2)}
