:root{font-family:Inter,'Segoe UI',system-ui,-apple-system,Arial,sans-serif;color-scheme:dark;color:#e8ecf7;background:#080d19;font-size:14px;font-synthesis:none}
*{box-sizing:border-box}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #7189ff;outline-offset:2px}a{color:#a0b9ff}body{margin:0;min-height:100vh;overflow:hidden}h1,h2,h3,p{margin-top:0}.app{display:flex;width:100%;height:100vh;height:100dvh;overflow:hidden}
.sidebar{width:282px;flex:0 0 282px;background:#0b1220;border-right:1px solid #253044;display:flex;flex-direction:column;padding:24px 14px 0;z-index:20}.brand{display:flex;align-items:center;gap:9px;padding:0 7px 25px}.brand-icon{width:44px;height:44px;object-fit:cover;border-radius:12px}.brand-name{font-size:21px;font-weight:760;letter-spacing:-.7px}.brand-name span,.top-wordmark span{color:#88a5ff}.brand-caption{font-size:9px;font-weight:800;letter-spacing:1.3px;color:#73849f;margin-top:2px}.brand-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#3cdbac;vertical-align:middle;margin:0 3px}.side-close{display:none;margin-left:auto}.newchat{border:1px solid #40516e;border-radius:11px;width:100%;height:45px;background:linear-gradient(130deg,#182541,#131e35);color:#eff4ff;display:flex;align-items:center;gap:11px;padding:0 13px;font-size:13px;font-weight:680;transition:.16s}.newchat:hover{border-color:#8da9ff;background:#213151}.plus{font-size:24px;font-weight:300;line-height:1}.newchat-hint{margin-left:auto;color:#637898}.section-heading{display:flex;justify-content:space-between;color:#7485a0;font-weight:750;letter-spacing:1.2px;font-size:10px;margin:29px 9px 12px}.section-heading span{color:#aebcd2;letter-spacing:0}.chatlist{min-height:0;flex:1;overflow:auto;scrollbar-color:#2f3c58 transparent;scrollbar-width:thin}.chat-row{display:flex;align-items:center;border-radius:9px;gap:6px;margin:3px 0;transition:.1s}.chat-row.selected{background:#1a2941}.chat-open{flex:1;display:flex;align-items:center;gap:10px;color:#c2cedf;background:transparent;border:0;padding:12px 8px;text-align:left;min-width:0}.chat-row.selected .chat-open{color:#fff;font-weight:650}.chat-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.chat-glyph{color:#8ba2c6;font-size:15px}.chat-actions{display:flex}.chat-action{color:#7487a3;border:0;background:none;padding:8px 5px;opacity:0}.chat-row:hover .chat-action,.chat-row.selected .chat-action{opacity:1}.chat-action:hover{color:#fff}.empty-chatlist{text-align:center;color:#677c98;font-size:12px;padding:15px 5px}.side-bottom{padding:12px 0 14px;border-top:1px solid #22304a}.side-option{width:100%;border:0;background:transparent;color:#aebbd0;text-align:left;padding:12px 10px;display:flex;align-items:center;gap:13px;border-radius:8px;font-size:12px}.side-option:hover{background:#16223a}.opt-icon{width:19px;text-align:center;color:#94a9ca;font-size:16px}.chevron{margin-left:auto;color:#6d7990;font-size:20px}.usercard{display:flex;align-items:center;gap:9px;padding:12px 7px 5px;background:none;border:0;border-top:1px solid #253044;text-align:left;width:100%;margin-top:8px;color:white}.avatar{border-radius:12px;background:linear-gradient(145deg,#516ed4,#5d4c99);display:grid;place-items:center;font-size:19px;font-weight:750;color:white;width:38px;height:38px;flex:0 0 38px}.user-meta{display:flex;flex-direction:column;min-width:0;gap:3px;flex:1}.user-meta strong{font-size:12px;max-width:132px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta small{color:#7287a5;font-size:10px;max-width:140px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.free-badge{font-size:9px;font-weight:780;letter-spacing:.6px;color:#aec3ff;background:#1c3155;border:1px solid #375787;padding:4px 6px;border-radius:6px}
.main{flex:1;min-width:0;display:flex;flex-direction:column;position:relative;background:radial-gradient(ellipse at 65% 0%,#101f33 0,transparent 44%),#080d19}.topbar{height:70px;flex:0 0 70px;display:flex;justify-content:space-between;align-items:center;padding:0 35px;border-bottom:1px solid #1c293c;background:#090f1c99;gap:12px}.top-left,.top-right{display:flex;align-items:center;min-width:0;gap:14px}.top-wordmark{font-size:15px;font-weight:750;display:flex;align-items:center;gap:7px;white-space:nowrap}.top-wordmark img{width:27px;height:27px;border-radius:8px}.top-wordmark span{margin-left:-7px}.top-divisor{height:16px;width:1px;background:#36435b}.header-chat-title{font-size:12px;color:#a8b7cf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.online-dot{width:7px;height:7px;border-radius:50%;background:#e6a85b;box-shadow:0 0 8px #e6a85b66}.online-dot.online{background:#35d6a3;box-shadow:0 0 9px #35d6a344}.server-status{font-size:11px;color:#8fa0b9;white-space:nowrap}.top-plan{font-size:10px;font-weight:750;color:#9bb5ff;background:#1b2a48;border:1px solid #304566;padding:6px 10px;border-radius:20px}.icon-btn{border:0;background:none;color:#9cafcc;border-radius:7px;min-width:34px;min-height:34px;font-size:17px}.icon-btn:hover{background:#1a2941;color:white}.mobile-menu{display:none}
.chat-body{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#2d3a52 transparent;display:flex;flex-direction:column}.welcome{margin:auto;text-align:center;max-width:680px;padding:26px 24px 34px;animation:fadeIn .35s ease}.welcome-glow{position:relative;margin:0 auto 12px;width:108px;height:108px;display:grid;place-items:center}.welcome-glow:before{content:"";position:absolute;inset:8px;border-radius:50%;background:#3962db;filter:blur(32px);opacity:.44}.hero-logo{position:relative;height:84px;width:84px;border-radius:22px;box-shadow:0 12px 50px #03070e77}.eyebrow{font-size:10px;font-weight:800;color:#9ab2ff;letter-spacing:2px;margin-bottom:13px}.welcome h1{font-size:clamp(29px,3.4vw,45px);line-height:1.17;font-weight:760;letter-spacing:-1.8px;margin:0 0 15px}.welcome h1 em{font-style:normal;background:linear-gradient(95deg,#86aaff,#a5b1ff,#c29afa);background-clip:text;-webkit-background-clip:text;color:transparent}.welcome p{font-size:13px;line-height:1.75;color:#8d9db6;max-width:490px;margin:0 auto 29px}.welcome p strong{color:#c4d2e6}.prompts{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.prompt-card{background:#111c2c;border:1px solid #28354b;color:#b9c9df;border-radius:11px;padding:13px 14px;font-size:12px;transition:.18s}.prompt-card span{color:#9bb3ff;margin-right:7px}.prompt-card:hover{border-color:#7a97e9;transform:translateY(-2px);color:white}.messages{width:min(800px,94%);margin:0 auto;padding:22px 0 24px;display:flex;flex-direction:column;gap:26px}.messages[hidden],.welcome[hidden]{display:none}.message{display:flex;gap:12px;align-items:flex-start;max-width:100%;animation:fadeIn .2s}.message.user{flex-direction:row-reverse}.message-avatar{flex:0 0 29px;width:29px;height:29px;border-radius:9px;background:#172e4c;color:#b3caff;display:grid;place-items:center;font-weight:770}.message.user .message-avatar{background:#33406a;color:#fff}.message-inner{max-width:min(85%,680px);min-width:0}.message-role{font-size:11px;font-weight:740;color:#9db5d3;margin:3px 0 9px}.message.user .message-role{text-align:right}.message-text{font-size:13px;color:#d4ddeb;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.message.user .message-text{border-radius:13px 3px 13px 13px;background:#1b2d4a;border:1px solid #2b466b;padding:11px 15px}.message.assistant .message-text{padding:0 3px}.source-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.source-list a{display:inline-block;border-radius:9px;background:#15243b;border:1px solid #2f486a;font-size:10px;text-decoration:none;padding:7px 9px;color:#acc2e5;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-list a:hover{border-color:#668bd6}
.composer-zone{padding:0 min(5%,50px) 10px;flex:0 0 auto;max-width:970px;width:100%;margin:0 auto}.queue-banner{display:flex;gap:11px;align-items:center;border:1px solid #3b4670;background:#171f3a;border-radius:11px 11px 0 0;padding:11px 13px;margin-bottom:-4px}.queue-banner[hidden]{display:none}.queue-banner strong{display:block;font-size:12px;color:#c7d7f4}.queue-banner small{display:block;font-size:11px;color:#8fa5c9;margin-top:2px}.queue-spinner{width:18px;height:18px;border:2px solid #45547a;border-top-color:#b9ccff;border-radius:50%;animation:spin .8s linear infinite}.queue-position{margin-left:auto;font-size:11px;color:#b0c5ff;font-weight:730}.composer{background:#101a2a;border:1px solid #2e3c53;border-radius:15px;padding:11px 13px 10px;box-shadow:0 11px 42px #03091755;position:relative}.composer:focus-within{border-color:#526ca5;box-shadow:0 0 0 2px #38518f26}.composer textarea{resize:none;min-height:31px;max-height:140px;width:100%;color:#eef3ff;background:transparent;border:0;outline:0;overflow:auto;line-height:1.5;padding:5px 5px 7px;font-size:13px}.composer textarea::placeholder{color:#7688a2}.composer textarea:focus{outline:none}.composer-toolbar{display:flex;justify-content:space-between;align-items:center}.mode-switches{display:flex;gap:6px}.mode-btn{color:#8fa7c8;border:1px solid transparent;border-radius:9px;background:#1b2739;padding:7px 11px;font-size:11px;font-weight:680;display:flex;gap:6px;align-items:center}.mode-btn:hover{color:#e1e9fa}.mode-btn[aria-pressed=true]{background:#203d59;border-color:#4c89a1;color:#a9ebfb}.mode-btn[disabled]{opacity:.42}.send-btn{background:linear-gradient(145deg,#89a7ff,#617de0);border:0;border-radius:10px;color:#071225;width:34px;height:34px;font-size:24px;font-weight:800}.send-btn:hover{filter:brightness(1.11)}.footer-note{font-size:10px;color:#64758c;text-align:center;padding-top:10px}.footer-note span{color:#6b998f;margin-left:5px}
.scrim{display:none}.modal-overlay{position:fixed;inset:0;background:#01040aca;z-index:45;display:flex;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(5px)}.modal-overlay[hidden]{display:none}.modal{background:#101a2b;border:1px solid #31415d;box-shadow:0 25px 80px #000a;width:min(100%,470px);max-height:min(90vh,730px);overflow-y:auto;border-radius:18px;padding:24px}.modal-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-top h2{margin:0;font-size:21px}.modal label{display:block;font-size:11px;color:#aabbd6;margin:13px 0 7px;font-weight:670}.modal input,.modal textarea{background:#0c1422;color:#e1ecff;border:1px solid #2b3d5a;border-radius:9px;padding:11px;width:100%;outline:0;font-size:12px;resize:vertical}.modal input:focus,.modal textarea:focus{border-color:#7e97d8}.profile-banner{border:1px solid #34435e;background:#182642;padding:15px;border-radius:12px;display:flex;align-items:center;gap:13px;margin:0 0 20px}.profile-banner strong{display:block;margin-bottom:8px;font-size:15px}.avatar.large{height:51px;width:51px;font-size:24px;flex:0 0 51px}.plan-pill{background:#283f70;color:#b9ccff;padding:4px 8px;font-size:10px;border-radius:6px;font-weight:700}.primary-btn{width:100%;background:#7795ed;color:#0b1831;border:none;border-radius:10px;font-weight:800;padding:12px;margin-top:16px}.explain{font-size:11px;color:#8e9fba;line-height:1.6;margin:9px 0 8px}.muted{color:#7186a5;font-weight:400}.settings-section{border-top:1px solid #27354a;padding:17px 0}.settings-section h3{font-size:13px;margin:0 0 9px;color:#d4def0}.settings-section.small-print{font-size:10px;color:#647995;line-height:1.7}.input-row{display:flex;gap:9px}.input-row input{flex:1;min-width:0}.outlined-btn{border:1px solid #405577;background:#1d2c47;color:#c1d4f3;border-radius:9px;padding:10px 12px;font-size:11px;white-space:nowrap}.outlined-btn:hover{border-color:#7198e4}.outlined-btn.danger{color:#f7a2a2;border-color:#583c46}.setting-actions{display:flex;gap:10px;flex-wrap:wrap}.coming{color:#a8b6ff;font-size:9px;letter-spacing:.4px;margin-left:7px}.toast{position:fixed;bottom:105px;left:50%;transform:translateX(-50%) translateY(25px);border:1px solid #4c618b;background:#152641;color:#dfebff;padding:12px 18px;border-radius:11px;box-shadow:0 12px 45px #000b;z-index:70;opacity:0;transition:.2s;pointer-events:none;font-size:12px;max-width:min(90vw,450px);text-align:center}.toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){.sidebar{position:fixed;top:0;bottom:0;left:0;width:min(82vw,320px);transform:translateX(-104%);transition:transform .18s;box-shadow:5px 0 45px #0008}.sidebar.open{transform:translateX(0)}.sidebar.open~.main{}.scrim.open{display:block;position:fixed;inset:0;background:#030814bd;z-index:19}.side-close{display:block}.mobile-menu{display:block}.topbar{height:59px;flex-basis:59px;padding:0 12px}.top-left{gap:8px}.top-right{gap:8px}.top-divisor,.header-chat-title,.server-status{display:none}.top-wordmark{font-size:14px}.top-wordmark img{width:24px;height:24px}.top-plan{padding:5px 7px}.welcome{padding:20px 19px 12px}.welcome h1{letter-spacing:-1.1px}.welcome-glow{width:92px;height:92px}.hero-logo{width:74px;height:74px}.prompts{gap:8px}.prompt-card{padding:11px;font-size:11px}.composer-zone{padding:0 12px max(8px,env(safe-area-inset-bottom))}.messages{padding:20px 0;width:93%}.message-inner{max-width:90%}.modal{padding:20px;max-height:92dvh}.queue-banner{padding:10px}.footer-note{font-size:9px}}
@media(max-height:650px){.welcome-glow{height:66px;width:66px}.hero-logo{height:60px;width:60px}.welcome h1{font-size:29px}.welcome p{margin-bottom:18px}.welcome{padding-top:12px}}
/* Per-chat server-backed consumption meter; percentages are quota used, not context tokens. */
.chat-percent{flex:0 0 auto;margin-left:auto;min-width:34px;text-align:right;padding:4px 5px;border-radius:6px;
background:#233452;color:#bad0f8;font-size:10px;font-weight:780;white-space:nowrap}
.chat-percent.near-limit{background:#493223;color:#ffd6a5}
.chat-open .chat-title{flex:1;min-width:0}

/* Android safe layout: tidy footer and predictable vertical spacing. */
.footer-note{display:flex;flex-wrap:wrap;gap:4px 11px;align-items:center;justify-content:center;
 text-align:center;line-height:1.45;padding:10px 6px 0;min-height:25px}
.footer-note span{margin-left:0!important}
.footer-note #quotaInfo{display:inline-flex;justify-content:center;align-items:center;min-height:19px;
 padding:2px 7px;border-radius:8px;background:#162b34;color:#a7d9ce;
 font-size:10px;font-weight:650;max-width:100%}
@media(max-width:800px){
 .composer-zone{box-sizing:border-box;padding:0 12px 10px}
 .footer-note{display:grid;grid-template-columns:1fr auto;grid-template-areas:'disclaimer badge' 'quota quota';
 gap:4px 8px;font-size:9px;line-height:1.35;padding-top:9px}
 .footer-note #storageBadge{grid-area:badge;white-space:nowrap}
 .footer-note #quotaInfo{grid-area:quota;justify-self:center;max-width:100%;white-space:normal}
 .footer-note{justify-content:initial}
 .topbar{box-sizing:border-box}
 .top-left{min-width:0}
 .top-wordmark{min-width:0}
 .composer{border-radius:16px}
}

@media(max-width:800px){.footer-note .footer-disclaimer{grid-area:disclaimer;text-align:left}}

.profile-avatar-button{border:2px solid #6486ca;cursor:pointer;overflow:hidden;padding:0}
.avatar.has-photo{background-size:cover!important;background-position:center!important;color:transparent!important}
.photo-actions{display:flex;gap:9px;margin:12px 0}.photo-actions button{flex:1}
.crop-modal{max-width:440px}.crop-frame{position:relative;width:min(100%,330px);aspect-ratio:1;margin:12px auto;overflow:hidden;border:1px solid #668bc7;background:#080f1d;touch-action:none;user-select:none;cursor:grab;border-radius:50%}
.crop-frame img{position:absolute;left:50%;top:50%;max-width:none;max-height:none;pointer-events:none;transform-origin:center center}
.crop-guide{position:absolute;inset:1px;border:2px solid #d0dcfb99;border-radius:50%;pointer-events:none}
.crop-modal input[type=range]{width:100%;accent-color:#99b6fb}
.crop-buttons{display:flex;gap:9px;margin-top:15px}.crop-buttons button{flex:1}
.effort-wrapper{display:flex;align-items:center;gap:5px;color:#a7badc;font-size:11px;font-weight:650;white-space:nowrap}
.effort-wrapper select{max-width:82px;min-height:35px;border-radius:9px;background:#182742;border:1px solid #4b6084;color:#e0eaff;padding:4px 2px;font-size:11px}
@media(max-width:800px){.effort-wrapper{font-size:10px}.effort-wrapper select{max-width:68px;min-height:32px}.crop-frame{width:min(100%,290px)}}

.donate-menu-option{color:#f7c7d8!important}.donate-menu-option .opt-icon{color:#ff7fa9}.donate-menu-option:hover{background:rgba(255,116,158,.12)}

.mode-switches{position:relative;display:flex;align-items:center;gap:7px}
.tools-popup{position:absolute;bottom:calc(100% + 10px);left:0;z-index:60;background:#111c30;border:1px solid #405170;box-shadow:0 12px 34px #0009;border-radius:14px;padding:12px;min-width:205px;max-width:min(85vw,310px)}
.tools-popup[hidden]{display:none!important}
.tools-popup-title{font-size:12px;font-weight:700;color:#aac2e5;margin-bottom:9px}
.tools-popup-actions{display:flex;flex-direction:column;gap:8px}
.tools-popup-actions .mode-btn{display:block;text-align:left;min-height:36px}
.model-popup{left:40px;min-width:250px}
.model-choice{display:block;width:100%;background:#1b2942;border:1px solid #374966;color:#f2f6ff;border-radius:9px;padding:10px;text-align:left;margin:5px 0;cursor:pointer}
.model-choice:hover{background:#293d5c}
.model-toggle{white-space:nowrap}
#localModelInfo{font-size:11px;line-height:1.4;color:#9aaecb;margin:8px 0 0}
@media(max-width:500px){.model-toggle{font-size:11px!important;padding:7px 8px!important}.model-popup{left:0}}
