:root{--bg:#0b1020;--card:#121a33;--card2:#18223f;--line:#243061;--text:#eef2ff;--muted:#a5b0d6;--dim:#6f7aa3;--a1:#4f7cff;--a2:#22c1a4;--grad:linear-gradient(90deg,#4f7cff,#22c1a4)}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
html{overflow-x:hidden}
body{font-family:'Cairo',system-ui,-apple-system,'Segoe UI',Tahoma,sans-serif;color:var(--text);background:radial-gradient(900px 500px at 85% -10%,#1d2a5c 0%,rgba(29,42,92,0) 60%),radial-gradient(700px 480px at 5% 30%,rgba(34,193,164,.08),rgba(34,193,164,0) 60%),var(--bg);background-attachment:fixed;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
button,input,textarea{font:inherit;color:inherit}
.top{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:16px;padding:12px max(16px,env(safe-area-inset-left));background:rgba(11,16,32,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.logo{font-weight:800;font-size:20px;color:#fff;text-decoration:none;letter-spacing:.5px;white-space:nowrap}.logo span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.progress{flex:1;height:6px;border-radius:99px;background:#1a2447;overflow:hidden}.progress i{display:block;height:100%;width:0;background:var(--grad);transition:width .4s ease}
.link{background:none;border:0;color:#b9c8ff;cursor:pointer;font-weight:600;font-size:14px;text-decoration:none;white-space:nowrap}.link:hover{color:#fff}
.chat{max-width:720px;margin:0 auto;padding:22px 16px 120px;display:flex;flex-direction:column;gap:14px}
.msg{max-width:88%;padding:12px 16px;border-radius:18px;animation:in .35s ease both;white-space:pre-line}
.bot{align-self:flex-start;background:var(--card2);border:1px solid var(--line);border-top-right-radius:6px}
.me{align-self:flex-end;background:var(--grad);color:#fff;border-top-left-radius:6px;font-weight:600}
.me small{display:block;font-weight:400;opacity:.9}
.bot b{color:#fff}.bot .sub{display:block;color:var(--muted);font-size:14px;margin-top:4px}
.typing{display:inline-flex;gap:4px;padding:16px 18px}.typing i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:dot 1s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
.ask{align-self:stretch;display:flex;flex-direction:column;gap:12px;animation:in .35s ease both}
.opts{display:flex;flex-wrap:wrap;gap:10px}
.opt{border:1px solid var(--line);background:rgba(79,124,255,.08);color:#dbe3ff;padding:10px 16px;border-radius:14px;cursor:pointer;font-weight:600;min-height:46px;transition:all .15s ease;text-align:start}
.opt:hover{border-color:var(--a1);background:rgba(79,124,255,.16)}
.opt.on{background:rgba(34,193,164,.16);border-color:var(--a2);color:#fff}
.opt.on::before{content:'✓ ';color:var(--a2)}
.opt.big{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 18px;flex:1 1 200px}
.opt.big b{font-size:17px}.opt.big span{font-size:13px;color:var(--muted);font-weight:400}
.opt .em{font-size:22px;line-height:1}
.opt .rec{font-size:11px;background:var(--grad);color:#fff;padding:1px 8px;border-radius:99px;margin-inline-start:6px}
.sw{display:flex;gap:10px;flex-wrap:wrap}.sw button{width:44px;height:44px;border-radius:50%;border:3px solid transparent;cursor:pointer;outline:2px solid var(--line)}.sw button.on{border-color:#fff;outline-color:var(--a2)}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.btn{border:0;cursor:pointer;background:var(--grad);color:#fff;font-weight:700;padding:12px 26px;border-radius:14px;min-height:48px;box-shadow:0 10px 28px rgba(79,124,255,.3)}
.btn:disabled{opacity:.6;cursor:default}
.btn.ghost{background:rgba(255,255,255,.04);border:1px solid var(--line);box-shadow:none}
.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:14px;color:var(--muted)}
.inp{width:100%;background:#0f1630;border:1px solid var(--line);border-radius:12px;padding:12px 14px;min-height:48px;color:var(--text)}
.inp:focus{outline:2px solid var(--a1);border-color:transparent}
textarea.inp{min-height:84px;resize:vertical}
.note-btn{align-self:flex-start;background:none;border:1px dashed var(--line);color:var(--muted);padding:8px 14px;border-radius:12px;cursor:pointer;font-size:14px}
.note-btn:hover{color:#fff;border-color:var(--a1)}
.err{color:#ff9b93;font-size:14px}
.hint{color:var(--dim);font-size:13px}
.hp{position:absolute;width:1px;height:1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);opacity:0;pointer-events:none}
.sum{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:2px}
.sum h3{font-size:18px;margin-bottom:8px}
.sum .it{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid rgba(36,48,97,.6)}
.sum .it:last-of-type{border-bottom:0}
.sum .k{color:var(--muted);font-size:14px;flex-shrink:0}.sum .v{text-align:end;flex:1}
.sum .ed{background:none;border:0;color:#7fe3cf;cursor:pointer;font-size:13px;font-weight:700;flex-shrink:0}
.preview{position:fixed;inset:0;z-index:50;background:var(--bg);display:flex;flex-direction:column}
.preview[hidden]{display:none}
.pv-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);background:#0b1020;flex-wrap:wrap}
.pv-actions{display:flex;align-items:center;gap:14px}
.pv-msg{padding:10px 14px;background:rgba(34,193,164,.12);border-bottom:1px solid rgba(34,193,164,.35);color:#c9f5ea;font-size:15px}
.preview iframe{flex:1;width:100%;border:0;background:#fff}
@keyframes in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes dot{0%,80%,100%{opacity:.3}40%{opacity:1}}
@media (max-width:560px){.msg{max-width:94%}.opt.big{flex-basis:100%}.pv-top .link#pv-open{display:none}.btn{width:100%}.row .btn{width:auto;flex:1}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.top-sub{flex:1;color:var(--muted);font-size:14px;text-align:center}
.chat{padding-bottom:140px}
.composer{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;gap:10px;align-items:flex-end;padding:12px max(12px,env(safe-area-inset-left)) calc(12px + env(safe-area-inset-bottom));background:rgba(11,16,32,.92);backdrop-filter:blur(12px);border-top:1px solid var(--line)}
.composer textarea{overflow-y:hidden;scrollbar-width:none;flex:1;max-width:680px;margin-inline-start:auto;resize:none;background:#0f1630;border:1px solid var(--line);border-radius:16px;padding:12px 16px;min-height:48px;max-height:140px;color:var(--text);line-height:1.6}
.composer textarea:focus{outline:2px solid var(--a1);border-color:transparent}
.composer button{margin-inline-end:auto;width:48px;height:48px;flex-shrink:0;border:0;border-radius:50%;background:var(--grad);cursor:pointer;display:grid;place-items:center;box-shadow:0 8px 20px rgba(79,124,255,.35)}
.composer button:disabled{opacity:.5}
.opts.live{margin-top:-4px}
.sum-wrap{display:flex;flex-direction:column;gap:12px}
.sum.field{gap:8px}.sum.field label{font-size:14px;color:var(--muted);margin-top:4px}.sum.field .btn{margin-top:8px}
.composer textarea::-webkit-scrollbar{display:none}
.pals{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;animation:in .35s ease both}
.pal{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:16px;border:1px solid var(--line);background:var(--card);cursor:pointer;text-align:start;transition:border-color .15s,transform .15s}
.pal:hover{border-color:var(--a1);transform:translateY(-2px)}.pal.on{border-color:var(--a2);box-shadow:0 0 0 2px rgba(34,193,164,.35)}
.pal-prev{position:relative;display:block;height:70px;border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.pal-prev i:nth-child(1){position:absolute;inset:8px 8px auto 8px;height:12px;border-radius:4px}
.pal-prev i:nth-child(2){position:absolute;top:28px;inset-inline-start:8px;width:55%;height:8px;border-radius:4px;opacity:.9}
.pal-prev b{position:absolute;bottom:8px;inset-inline-start:8px;width:40%;height:16px;border-radius:6px}
.pal-sw{display:flex;gap:4px}.pal-sw i{flex:1;height:14px;border-radius:4px;border:1px solid rgba(255,255,255,.12)}
.pal-name{font-weight:700;font-size:14px;color:var(--text)}
