/* FallenAI NOVA DESIGN SYSTEM — actual interactive UI, not a screenshot.
   All transitions honor reduced-motion preferences. */
:root{
  --nova-bg:#080b16;--nova-panel:#11172a;--nova-card:#161e33;
  --nova-card-2:#1d2741;--nova-border:#2b3550;--nova-border-soft:#232b40;
  --nova-text:#f4f5ff;--nova-muted:#a0aac7;--nova-low:#7884a4;
  --nova-violet:#9786ff;--nova-blue:#74abff;--nova-cyan:#4ed4db;
  font-family:'Segoe UI Variable','Segoe UI',Inter,system-ui,-apple-system,sans-serif;
  color-scheme:dark;color:var(--nova-text);background:var(--nova-bg);
}
html{scroll-behavior:smooth}
body{background:var(--nova-bg);font-weight:420;-webkit-font-smoothing:antialiased}
body::selection{background:#7464bb;color:white}
body button{-webkit-tap-highlight-color:transparent;transition:transform .18s cubic-bezier(.2,.8,.2,1),background-color .2s,border-color .2s,box-shadow .2s,opacity .2s}
body button:active{transform:scale(.97)}
body *{scrollbar-width:thin;scrollbar-color:#313d60 transparent}
.app{background:var(--nova-bg)}
.main{
  background:radial-gradient(ellipse 90% 50% at 80% -16%,rgba(93,101,222,.22),transparent 72%),
             radial-gradient(ellipse 60% 60% at -10% 75%,rgba(27,127,164,.09),transparent 74%),#090c17;
  isolation:isolate;
}
.main:before{content:"";pointer-events:none;z-index:-1;position:absolute;
  width:min(70vw,650px);height:min(70vw,650px);
  top:8%;left:40%;border-radius:50%;
  background:radial-gradient(circle,rgba(87,82,194,.075),transparent 65%);
  animation:novaDrift 16s ease-in-out infinite alternate}
.sidebar{
  background:linear-gradient(168deg,rgba(19,26,46,.99),rgba(11,17,32,.99) 84%);
  border-right:1px solid #2a3350;padding:27px 16px 0;flex-basis:282px;width:282px;
  box-shadow:18px 0 80px #00000016;
}
.brand{gap:12px;padding:1px 5px 26px}
.brand-icon{width:42px;height:42px;border-radius:12px;box-shadow:0 7px 19px #030712b8}
.brand-name{font-size:22px;font-weight:800;letter-spacing:-1px;color:#f3f5ff}
.brand-name span,.top-wordmark span{color:#b0a3ff}
.brand-caption{font-size:9px;letter-spacing:1.8px;color:#8191b0;margin-top:3px}
.brand-dot{background:#61dbc2}
.newchat{
  min-height:49px;height:49px;border-radius:14px;
  color:#fafaff;background:linear-gradient(115deg,#504d98,#38436d);
  border:1px solid #8274d1;box-shadow:inset 0 1px #ffffff22,0 8px 22px #15153766;
  padding:0 14px;font-size:13px;letter-spacing:.05px
}
.newchat:hover{background:linear-gradient(115deg,#6258b5,#49558a);box-shadow:0 12px 23px #1c1b5970}
.newchat .plus{font-size:24px;font-weight:200;color:#dcd6ff}
.newchat-hint{color:#c5c9e3}
.section-heading{margin:30px 9px 14px;color:#8090b2;letter-spacing:1.45px;font-size:9px}
.section-heading span{background:#222d48;color:#bbc7e5;border:1px solid #394562;border-radius:7px;padding:3px 7px}
.chatlist{padding:2px 2px 6px}
.chat-row{margin:3px 0;border-radius:12px;position:relative}
.chat-row.selected{background:linear-gradient(100deg,#283250,#202a46);box-shadow:inset 3px 0 #9e90ff}
.chat-row:hover{background:#202a46}
.chat-open{padding:12px 10px;color:#aab8d4}
.chat-row.selected .chat-open{color:#f2f4ff}
.chat-title{font-size:12.5px;letter-spacing:.05px}
.chat-glyph{font-size:17px;color:#8d99c2}
.chat-action{opacity:.35;border-radius:7px;color:#abb8d0}
.chat-action:hover{background:#394464}
.empty-chatlist{padding:25px 12px;border:1px dashed #38425f;border-radius:12px;color:#7d8caa}
.side-bottom{border-top:1px solid #293451;padding:15px 0 15px}
.side-option{height:41px;border-radius:10px;font-size:12.5px;color:#b9c5dc}
.side-option:hover{background:#273455;color:#fbfaff}
.side-option.telegram-option{background:linear-gradient(110deg,#142d48,#1a3552);border:1px solid #2e547d;
    margin:5px 0 8px;padding:12px;text-decoration:none;color:#bde7ff}
.side-option.telegram-option:hover{background:#1d4163;border-color:#4e85ae}
.telegram-option .opt-icon{color:#7dd0f5}
.usercard{border-top:1px solid #293552;margin-top:12px;padding:15px 5px 1px;gap:10px}
.user-meta strong{font-size:12.5px;color:#f3f5ff}
.user-meta small{color:#8b9bb9;font-size:10px}
.avatar{background:linear-gradient(145deg,#7976d9,#4c5aaf);border-radius:12px}
.free-badge,.top-plan{border:1px solid #55518c;color:#d4ceff;background:linear-gradient(120deg,#342c59,#222744);font-weight:800;border-radius:8px}
.topbar{height:72px;flex-basis:72px;border-bottom:1px solid #252e45;
    background:#0b1021a8;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);
    padding:0 27px}
.top-wordmark{font-size:16px;letter-spacing:-.45px;font-weight:800;color:#fafbff}
.top-wordmark img{width:31px;height:31px;border-radius:10px;box-shadow:0 4px 18px #0006}
.top-wordmark span{margin-left:-7px}
.top-divisor{background:#3b4462}
.header-chat-title{font-size:12px;color:#a9b3d0;font-weight:520}
.online-dot.online{background:#42e1c2;box-shadow:0 0 0 4px #4ce5bf11,0 0 15px #3fdab582}
.server-status{font-size:11px;color:#99a6c0}
.top-plan{padding:6px 11px;font-size:10px}
.icon-btn{color:#b5bdd7}
.icon-btn:hover{background:#282f4e;color:#fff}
.chat-body{scroll-behavior:smooth}
.welcome{max-width:800px;animation:novaFadeUp .48s cubic-bezier(.17,.88,.32,1.15)}
.welcome-glow{width:120px;height:120px;margin-bottom:15px}
.welcome-glow:before{inset:-12px;filter:blur(43px);opacity:.28;
    background:conic-gradient(from 110deg,#6756ff,#2aa9d3,#9d5be5,#6756ff);
    animation:novaRotate 14s linear infinite}
.hero-logo{width:89px;height:89px;border-radius:25px;
    box-shadow:0 22px 55px #060917cc,0 0 0 1px #aa9cfe66}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:800;
    color:#b7adfc;letter-spacing:2px;margin-bottom:16px}
.eyebrow:before{content:"";width:6px;height:6px;background:#6de9d8;border-radius:50%;
    box-shadow:0 0 11px #73ddc7}
.welcome h1{font-weight:820;font-size:clamp(34px,4.4vw,55px);line-height:1.14;
    letter-spacing:-2.5px;margin:0 0 19px}
.welcome h1 em{background:linear-gradient(110deg,#98b4ff,#a78bff 52%,#69d5e9);
    background-clip:text;-webkit-background-clip:text;color:transparent}
.welcome p{font-size:14px;line-height:1.85;color:#a8b4cb;max-width:560px;margin-bottom:32px}
.welcome p strong{color:#e9eafd}
.prompts{gap:12px}
.prompt-card{min-height:48px;padding:14px 17px;background:#161d33c7;
    border:1px solid #333e5e;color:#c1cce4;border-radius:14px;font-weight:640;
    box-shadow:inset 0 1px 0 #ffffff08,0 6px 22px #05091424}
.prompt-card:hover{color:#f4f5ff;transform:translateY(-3px);
    border-color:#7c74c0;background:#202644;box-shadow:0 12px 28px #03071575}
.prompt-card span{font-size:17px;color:#aea4ff}
.premium-trust{display:flex;align-items:center;justify-content:center;gap:8px;margin:30px auto 0;
   font-size:10px;letter-spacing:.2px;color:#7787a9}
.premium-trust svg{width:14px;height:14px;color:#6ab6c5}
.messages{width:min(810px,93%);padding:27px 0 34px;gap:23px}
.message{animation:novaMessage .28s cubic-bezier(.2,.8,.2,1) both}
.message-avatar{width:32px;height:32px;flex:0 0 32px;border-radius:11px;
  background:linear-gradient(140deg,#3f3a80,#222f5b);
  box-shadow:inset 0 1px 0 #ffffff26;font-size:13px}
.message.user .message-avatar{background:linear-gradient(140deg,#476391,#313f72)}
.message-role{font-size:10px;letter-spacing:.8px;text-transform:uppercase;font-weight:760;color:#879dc9}
.message-inner{max-width:min(87%,700px)}
.message-text{font-size:14px;line-height:1.82;color:#e1e8f5;letter-spacing:.02px}
.message.user .message-text{background:linear-gradient(145deg,#242d51,#263759);
  border-color:#44517b;box-shadow:inset 0 1px #ffffff0b,0 10px 30px #05091740;
  border-radius:17px 5px 17px 17px;padding:13px 17px}
.message.assistant .message-text{padding:1px 4px 3px}
.source-list a{border-radius:10px;border-color:#415278;color:#bfd4ff;background:#17253f}
.composer-zone{max-width:930px;padding:0 min(4%,35px) 12px}
.composer{border:1px solid #45486f;border-radius:18px;padding:12px 15px 12px;
    background:linear-gradient(150deg,#1b223b,#121c2d);
    box-shadow:0 14px 45px #03051399,inset 0 1px #c1b8fa12;transition:.25s}
.composer:focus-within{border-color:#887bdd;box-shadow:0 0 0 3px #8d78ec20,0 18px 40px #0008}
.composer textarea{min-height:37px;max-height:155px;padding:7px 4px 10px;
    line-height:1.55;font-size:14px;color:#fff;caret-color:#b8a7ff}
.composer textarea::placeholder{color:#8091b0}
.mode-btn{background:#232d43;color:#a6b8d3;padding:9px 13px;font-size:11px;
    border-radius:11px;border:1px solid #34435b}
.mode-btn:hover{background:#2b3854;color:#fff}
.mode-btn[aria-pressed=true]{background:#30345f;border-color:#7668bd;color:#e0d9ff}
.send-btn{border-radius:11px;width:38px;height:38px;font-size:25px;
    color:#15152a;background:linear-gradient(135deg,#b7a8ff,#7fb9ff);
    box-shadow:0 6px 17px #7068bb59}
.send-btn:hover{filter:brightness(1.13);transform:translateY(-1px)}
.send-btn:disabled{box-shadow:none}
.footer-note{font-size:10px;color:#7986a2;padding:10px 0 2px;letter-spacing:.1px}
.footer-note span{color:#83b8af}
.queue-banner{border:1px solid #555286;background:linear-gradient(95deg,#26294e,#1e2d4b);
  border-radius:12px 12px 0 0;box-shadow:inset 0 1px #ffffff1c;padding:12px 16px}
.queue-banner strong{color:#e0d9ff;font-size:12px}
.queue-banner small{color:#abb6df}
.queue-spinner{border-color:#535487;border-top-color:#c2b8ff}
.queue-position{color:#d7caff}
.chat-limit-notice{border-radius:12px;color:#d8e4fc;background:#212d4b;border-color:#5a5d9a}
.chat-limit-notice button{background:#4c508b;border-color:#797bc0}
.quota-display{color:#9eacc8}
.modal-overlay{background:#050818d6;backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px)}
.modal{background:linear-gradient(160deg,#19233a,#10192a);border-color:#444b6c;
  box-shadow:0 32px 110px #000b;border-radius:21px;animation:novaModal .24s ease-out}
.modal-top h2{font-weight:800;font-size:22px;letter-spacing:-.5px}
.modal label{color:#b9c9e4}
.modal input,.modal textarea{border-color:#405077;background:#10182c;border-radius:11px;
  font-size:13px;color:#eef1ff}
.modal input:focus,.modal textarea:focus{border-color:#9387e8;box-shadow:0 0 0 3px #9486e522}
.settings-section{border-color:#35415e}
.settings-section h3{color:#e8edff}
.explain{color:#a0adc8}
.profile-banner{background:#202848;border-color:#4f5689}
.outlined-btn{color:#d8e2ff;background:#283453;border-color:#53628a;border-radius:11px}
.outlined-btn:hover{background:#303d62;border-color:#8d83cc}
.primary-btn{background:linear-gradient(110deg,#a3a0ff,#88b8ff);border-radius:11px;color:#12162e}
.toast{background:#202b48;border:1px solid #706ba7;color:#eef0ff;
  box-shadow:0 15px 50px #0009;border-radius:12px}
.auth-screen{background:radial-gradient(ellipse at 20% 5%,#28204a66,transparent 57%),
  radial-gradient(ellipse at 95% 82%,#1a467366,transparent 60%),#080b17}
.auth-card{background:linear-gradient(165deg,#1b2037,#101727);
  border:1px solid #47446b;box-shadow:0 30px 100px #000a,0 0 80px #33318a20;
  border-radius:26px;padding:31px}
.auth-card h2{letter-spacing:-.9px;font-size:27px}
.auth-brand strong span{color:#b6aaff}
.auth-subtitle{color:#a9b7d2;line-height:1.8}
.auth-tabs{background:#101829;border-color:#394367;border-radius:12px}
.auth-tabs button.selected{background:#2f365b;color:#fff}
.auth-form input{background:#111a2d;border-color:#3d4b6d;border-radius:12px;font-size:14px}
.auth-form input:focus{border-color:#9b87e4;box-shadow:0 0 0 3px #7c6ce226}
.auth-submit{background:linear-gradient(120deg,#b3a5ff,#8bb7ff);border-radius:12px;
  color:#11162b;font-size:13px;padding:14px}
.auth-submit:hover{background:linear-gradient(120deg,#c2b7ff,#a5c9ff)}
.auth-message{border-radius:12px}
.auth-footer{color:#7889ac}
.premium-support-card{display:flex;align-items:center;gap:12px;justify-content:space-between;
    padding:15px 14px;background:linear-gradient(120deg,#182f4f,#172b41);
    border:1px solid #376387;border-radius:14px;text-decoration:none!important;
    color:#d8f3ff!important}
.premium-support-card:hover{background:#1e3c5c;border-color:#60a5cc}
.premium-support-icon{width:35px;height:35px;border-radius:11px;background:#238bba;color:white;
    display:grid;place-items:center;font-size:20px;flex:0 0 35px}
.premium-support-card strong{font-size:13px;color:#edfaff;display:block}
.premium-support-card small{font-size:10px;color:#a4cde2;display:block;margin-top:4px}
.premium-support-card .premium-arrow{margin-left:auto;font-size:18px;opacity:.7}
.voluntary-donation{border-color:#49446d;background:#1b2540}
.voluntary-donation a{color:#c8b7ff}
.premium-telegram-link{color:#9bdcff}
@keyframes novaDrift{from{transform:translate(0,0) scale(.9)}to{transform:translate(-50px,60px) scale(1.16)}}
@keyframes novaRotate{to{transform:rotate(360deg)}}
@keyframes novaFadeUp{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes novaMessage{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes novaModal{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:800px){
  .sidebar{background:linear-gradient(145deg,#17213a,#0b1324);border-right:1px solid #394261;
    width:min(83vw,314px);box-shadow:12px 0 60px #000b}
  .topbar{height:60px;flex-basis:60px;padding:0 15px;background:#10172aeb}
  .top-wordmark{font-size:15px}
  .top-wordmark img{width:30px;height:30px}
  .top-plan{padding:5px 9px;font-size:9px}
  .welcome{padding:12px 19px 18px;max-width:610px}
  .welcome-glow{width:95px;height:95px;margin-bottom:6px}
  .hero-logo{width:77px;height:77px;border-radius:19px}
  .welcome h1{font-size:clamp(31px,7.2vw,40px);letter-spacing:-1.6px;line-height:1.19}
  .welcome p{font-size:13px;line-height:1.7;margin-bottom:23px}
  .prompts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .prompt-card{font-size:11px;min-height:52px;padding:12px 8px;text-align:center}
  .prompt-card span{display:block;margin:0 0 4px;font-size:15px}
  .prompts .prompt-card:last-child:nth-child(odd){grid-column:1/-1}
  .premium-trust{margin-top:22px}
  .composer-zone{padding:0 12px max(9px,env(safe-area-inset-bottom))}
  .composer{padding:10px 11px 10px;border-radius:17px}
  .composer textarea{font-size:16px;padding:4px 3px 10px}
  .mode-btn{padding:8px 10px;font-size:10px}
  .send-btn{width:36px;height:36px;font-size:23px}
  .messages{width:94%;gap:22px}
  .message-text{font-size:13.5px}
  .message-inner{max-width:90%}
  .modal{border-radius:19px}
  .auth-card{padding:23px;border-radius:20px}
}
@media(max-height:620px){
  .welcome-glow{width:72px;height:72px}.hero-logo{width:62px;height:62px}
  .welcome h1{font-size:28px}.welcome p{margin-bottom:14px}
  .premium-trust{margin-top:12px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* Enhanced micro-interactions injected by premium.js */
.premium-copy{margin:11px 0 0 0;display:inline-flex;align-items:center;gap:6px;
  background:#1e2942;border:1px solid #394864;border-radius:9px;color:#97add0;
  font-size:10px;font-weight:650;padding:7px 9px}
.premium-copy svg{opacity:.84}
.premium-copy:hover{color:#f1f4ff;background:#2a3554;border-color:#6d70a5}
.premium-copy:active{transform:scale(.97)}
.premium-sidebar-credit{font-size:9px;color:#5b6e92;text-align:center;
  letter-spacing:1.15px;padding:17px 0 2px}
.editor-focused .composer-zone{transition:transform .2s}
@media(max-width:800px){.premium-copy{padding:6px 9px}.premium-sidebar-credit{font-size:8px}}

