:root{--app-surface:rgba(16,9,31,.72);--app-border:rgba(196,139,255,.16)}body.app-page{min-height:100vh;background:radial-gradient(circle at 12% 10%,rgba(255,79,232,.12),transparent 26%),radial-gradient(circle at 88% 30%,rgba(33,191,255,.1),transparent 28%),var(--bg);position:relative}body.app-page:before,body.app-page:after{content:"";position:fixed;z-index:-1;width:420px;height:420px;border-radius:50%;filter:blur(100px);pointer-events:none;opacity:.4}body.app-page:before{top:4%;left:-220px;background:rgba(255,79,232,.2)}body.app-page:after{right:-220px;bottom:4%;background:rgba(33,191,255,.16)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:90px 24px 40px}.auth-shell>.brand{position:fixed;top:22px;left:28px}.auth-shell>.brand .brand-logo{width:42px;height:42px;object-fit:contain}.auth-card{position:relative;width:min(470px,100%);padding:46px;border:1px solid var(--app-border);background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));border-radius:38px;box-shadow:0 35px 110px rgba(46,12,87,.3),0 0 100px rgba(154,53,255,.1);backdrop-filter:blur(30px);overflow:hidden}.auth-card:before{content:"";position:absolute;width:220px;height:220px;top:-150px;right:-100px;border-radius:50%;background:rgba(255,79,232,.16);filter:blur(35px);pointer-events:none}.auth-card h1{position:relative;font-size:clamp(34px,7vw,48px);line-height:1.05;letter-spacing:-.04em;margin:12px 0}.auth-card>p:not(.kicker){position:relative;color:var(--muted);line-height:1.65}.auth-card form{position:relative;display:grid;gap:18px;margin-top:30px}.auth-card label{display:grid;gap:8px;color:var(--text);font-size:13px;font-weight:600}.auth-card input{width:100%;box-sizing:border-box;border:1px solid var(--app-border);background:rgba(255,255,255,.035);color:var(--text);border-radius:20px;padding:15px 17px;font:inherit;outline:none;transition:.2s}.auth-card input:focus{border-color:rgba(255,79,232,.55);box-shadow:0 0 0 4px rgba(255,79,232,.1),0 0 30px rgba(154,53,255,.08);transform:translateY(-1px)}.auth-card .button-primary{width:100%;justify-content:center;border-radius:20px;padding:15px 20px;margin-top:4px}.status{min-height:20px;color:var(--muted);font-size:13px}.auth-links{display:flex;justify-content:space-between;gap:14px;margin-top:26px;padding-top:22px;border-top:1px solid var(--app-border);font-size:13px}.auth-links a{color:var(--muted);text-decoration:none;transition:.2s}.auth-links a:hover{color:var(--accent-2)}.auth-switch{position:relative;text-align:center;margin-top:22px;color:var(--muted);font-size:13px}.auth-switch a{color:var(--text);font-weight:700;text-decoration:none}.app-header{position:sticky;top:0;z-index:20;height:76px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--app-border);background:var(--header);backdrop-filter:blur(22px)}.app-actions{display:flex;align-items:center;gap:10px}.icon-button{width:42px;height:42px;border:1px solid var(--app-border);border-radius:50%;background:var(--surface);color:var(--text);cursor:pointer;transition:.2s}.icon-button:hover{border-color:var(--accent-2);transform:translateY(-1px)}.button-small{padding:10px 15px;border-radius:999px}.lexo-version{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--muted);padding:9px 12px;border:1px solid var(--app-border);border-radius:999px}.chat-shell{width:min(1500px,100%);margin:auto;min-height:calc(100vh - 76px);display:grid;grid-template-columns:270px 1fr;gap:20px;padding:20px}.chat-sidebar{border:1px solid var(--app-border);border-radius:30px;padding:28px 22px;display:flex;flex-direction:column;gap:24px;background:linear-gradient(160deg,rgba(255,255,255,.045),rgba(255,255,255,.01));backdrop-filter:blur(22px);box-shadow:0 25px 80px rgba(31,7,67,.18)}.chat-sidebar h2{font-size:25px;margin:8px 0}.muted{color:var(--muted);line-height:1.55;font-size:13px}.mode-list{display:grid;gap:10px}.mode-button{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:13px;border:1px solid var(--app-border);background:rgba(255,255,255,.025);color:var(--text);border-radius:18px;cursor:pointer;transition:.2s}.mode-button>span{width:34px;height:34px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.05);font-weight:800}.mode-button div{display:grid;gap:2px}.mode-button small{font-size:10px;color:var(--muted)}.mode-button.active{border-color:rgba(255,79,232,.4);background:linear-gradient(135deg,rgba(255,79,232,.12),rgba(33,191,255,.06));box-shadow:0 12px 30px rgba(154,53,255,.08)}.new-chat{border:1px solid rgba(255,79,232,.25);background:linear-gradient(135deg,rgba(255,79,232,.13),rgba(33,191,255,.08));color:var(--text);padding:14px 16px;border-radius:18px;cursor:pointer;font-weight:700;transition:.2s}.new-chat:hover{transform:translateY(-2px);border-color:rgba(255,79,232,.5);box-shadow:0 12px 30px rgba(154,53,255,.12)}.memory-note{margin-top:auto;color:var(--muted);font-size:12px;line-height:1.5;padding:15px;border-radius:18px;background:rgba(255,255,255,.025);border:1px solid var(--app-border)}.chat-panel{display:grid;grid-template-rows:auto 1fr auto auto;min-height:calc(100vh - 116px);max-width:1050px;width:100%;margin:auto;border:1px solid var(--app-border);border-radius:34px;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012));box-shadow:0 35px 100px rgba(27,5,62,.22);backdrop-filter:blur(24px)}.chat-top{padding:25px 30px;border-bottom:1px solid var(--app-border);display:flex;align-items:center;justify-content:space-between;background:linear-gradient(90deg,rgba(255,79,232,.04),transparent 48%,rgba(33,191,255,.04))}.chat-top h1{font-size:30px;margin-top:7px}.secure-pill{font-size:11px;border:1px solid rgba(33,191,255,.22);background:rgba(33,191,255,.06);border-radius:999px;padding:9px 13px;color:var(--muted)}.messages{padding:40px 38px;overflow:auto;scrollbar-width:thin}.message{display:flex;gap:13px;max-width:790px;margin-bottom:28px;animation:messageIn .35s ease both}.avatar{flex:0 0 40px;height:40px;display:grid;place-items:center;border:1px solid rgba(255,79,232,.28);border-radius:15px;font:700 12px 'Space Grotesk';background:linear-gradient(145deg,rgba(255,79,232,.14),rgba(33,191,255,.09))}.message p{margin:0;line-height:1.75;color:var(--text)}.message small{display:block;color:var(--muted);margin-top:8px;font-size:10px}.message.user{margin-left:auto;justify-content:flex-end}.message.user>div:last-child{background:linear-gradient(135deg,rgba(154,53,255,.22),rgba(33,191,255,.1));border:1px solid rgba(154,53,255,.24);padding:14px 18px;border-radius:24px 24px 8px 24px}.message.ai>div:last-child{padding-top:5px}.thinking-message{opacity:.72}.thinking-message p:after{content:' …';animation:blink 1s infinite}.composer{margin:0 22px 14px;border:1px solid rgba(196,139,255,.22);background:rgba(10,5,24,.68);border-radius:26px;padding:8px 8px 8px 18px;display:flex;gap:10px;align-items:flex-end;box-shadow:0 15px 45px rgba(23,4,52,.24)}.composer textarea{flex:1;border:0;background:transparent;resize:none;max-height:180px;padding:10px 4px}.composer textarea:disabled{opacity:.55}.composer .button{border-radius:19px;padding:13px 19px}.privacy-line{padding:0 30px 18px;margin:0;color:var(--muted);font-size:10px;text-align:center}.profile-shell{width:min(1080px,100%);margin:auto;padding:40px 24px 70px}.profile-hero{display:flex;align-items:center;gap:20px;margin-bottom:28px}.profile-avatar-wrap{display:grid;justify-items:center;gap:9px}.profile-avatar{width:92px;height:92px;display:grid;place-items:center;border-radius:28px;border:1px solid rgba(255,79,232,.3);background:linear-gradient(145deg,rgba(255,79,232,.18),rgba(33,191,255,.12));background-size:cover;background-position:center;font:800 28px 'Space Grotesk';overflow:hidden;box-shadow:0 18px 50px rgba(154,53,255,.16)}.profile-avatar.has-image{color:transparent}.avatar-upload-button{font-size:11px;font-weight:700;color:var(--accent-2);cursor:pointer}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.profile-card{border:1px solid var(--app-border);border-radius:30px;padding:28px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));backdrop-filter:blur(22px);box-shadow:0 25px 80px rgba(31,7,67,.14)}.profile-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:24px}.profile-card h2{margin:7px 0 0;font-size:23px}.private-badge,.shield{font-size:11px;color:var(--muted);padding:8px 11px;border:1px solid var(--app-border);border-radius:999px}.profile-card form{display:grid;gap:16px}.profile-card label{display:grid;gap:8px;font-size:13px;font-weight:700}.profile-card input{width:100%;box-sizing:border-box;border:1px solid var(--app-border);background:rgba(255,255,255,.035);color:var(--text);border-radius:18px;padding:14px 16px;font:inherit;outline:none}.profile-card input:focus{border-color:rgba(255,79,232,.55);box-shadow:0 0 0 4px rgba(255,79,232,.1)}.profile-card input:disabled{opacity:.6;cursor:not-allowed}.profile-form-secondary{margin-top:0!important}.button-secondary{justify-content:center;border:1px solid rgba(196,139,255,.2);background:rgba(255,255,255,.04);color:var(--text);padding:13px 17px;border-radius:18px;cursor:pointer;font-weight:700}.privacy-item{display:grid;gap:5px;padding:15px 0;border-bottom:1px solid var(--app-border)}.privacy-item:last-child{border-bottom:0;padding-bottom:0}.privacy-item strong{font-size:13px}.privacy-item span{font-size:12px;color:var(--muted);line-height:1.5}.logout-button{margin:24px auto 0;display:block;border:0;background:transparent;color:#ff9fcf;cursor:pointer;font-weight:700;padding:10px}.chat-profile{display:flex;align-items:center;gap:8px}.chat-profile-avatar{width:32px;height:32px;flex:0 0 32px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,rgba(255,79,232,.18),rgba(33,191,255,.12));border:1px solid rgba(196,139,255,.2);background-size:cover;background-position:center;font-size:10px;font-weight:800}.chat-profile-avatar.has-image{color:transparent}.chat-profile-button{white-space:nowrap}.chat-profile[hidden]{display:none!important}.app-actions>#login-link[hidden]{display:none!important}@keyframes messageIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes blink{0%,100%{opacity:.25}50%{opacity:1}}body.light{--app-surface:rgba(255,255,255,.76);--app-border:rgba(87,35,132,.13)}body.light.app-page{background:radial-gradient(circle at 12% 10%,rgba(217,42,215,.1),transparent 26%),radial-gradient(circle at 88% 30%,rgba(22,143,224,.09),transparent 28%),var(--bg)}body.light .chat-sidebar,body.light .chat-panel,body.light .profile-card{background:rgba(255,255,255,.7);box-shadow:0 25px 80px rgba(87,35,132,.1)}body.light .composer{background:rgba(255,255,255,.86)}body.light .auth-card{background:rgba(255,255,255,.84);box-shadow:0 30px 90px rgba(87,35,132,.14),0 0 70px rgba(154,53,255,.06)}body.light .auth-card input,body.light .profile-card input{background:rgba(247,242,255,.85);color:#171024}@media(max-width:900px){.chat-shell{grid-template-columns:1fr;padding:12px}.chat-sidebar{display:none}.chat-panel{min-height:calc(100vh - 100px);border-radius:26px}.chat-top{padding:22px}.messages{padding:28px 20px}.composer{margin:0 12px 12px}.privacy-line{padding:0 16px 15px}.auth-card{padding:32px 26px;border-radius:30px}.auth-shell{padding:90px 16px 30px}.auth-shell>.brand{left:18px}.app-header{padding:0 16px}.app-actions{gap:7px}.app-actions .lexo-version{display:none}.app-actions select{padding:9px 7px;border-radius:999px}.app-actions .button-small{padding:9px 12px}.profile-shell{padding:28px 16px 50px}.profile-grid{grid-template-columns:1fr}.profile-hero{align-items:flex-start}}@media(max-width:520px){.chat-top h1{font-size:23px}.secure-pill{padding:7px 9px}.composer .button{padding:12px 13px}.composer .button span{display:none}.messages{padding:22px 14px}.message{gap:9px}.avatar{flex-basis:34px;height:34px;border-radius:12px}.auth-card{padding:30px 20px}.auth-card h1{font-size:34px}.auth-links{flex-direction:column;text-align:center;align-items:center}.profile-hero{flex-direction:column}.profile-avatar{width:80px;height:80px}.chat-profile-button{padding:8px 10px;font-size:11px}}