@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@500;600;700&display=swap');
:root{--ink:#292144;--purple:#7256b7;--pink:#ec5c98;--paper:#f8f5ff;--line:#ded5f0}*{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,#fff 0%,#f8f5ff 60%,#fbe9f2);color:var(--ink);font:16px 'DM Sans',sans-serif}.shell{max-width:1040px;margin:auto;padding:32px 22px 80px}.auth-card{background:#fff;max-width:500px;margin:7vh auto;padding:42px;border:1px solid var(--line);border-radius:28px;box-shadow:0 20px 60px #45206d19}.logo,.brand img{height:43px;width:auto}.eyebrow{color:var(--pink);font-size:12px;letter-spacing:.1em;font-weight:700}.auth-card h1,.welcome h1,h2,h3{font-family:Outfit,sans-serif;line-height:1.1}.tabs,nav{display:flex;gap:8px;margin:24px 0}.tabs button,nav button,.quiet{border:0;background:transparent;padding:10px 13px;color:var(--ink);font:inherit;cursor:pointer}.tabs .active,nav .active{border-radius:999px;background:#ede6ff;color:#51378e;font-weight:700}form{display:grid;gap:15px}[hidden]{display:none!important}label{font-size:14px;font-weight:600}label span{font-weight:400;color:#756b87}input,select{display:block;width:100%;margin-top:6px;border:1px solid #cfc4e3;border-radius:10px;padding:12px;background:#fff;color:var(--ink);font:inherit}.primary{border:0;border-radius:11px;background:var(--purple);padding:13px 17px;color:#fff;font:600 16px 'DM Sans';cursor:pointer}.primary:hover{background:#5d43a0}.error{color:#b2154d;min-height:20px}header{display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding-bottom:15px}header select{margin:0;max-width:270px}header .quiet{margin-left:auto}.welcome{display:flex;align-items:center;justify-content:space-between;padding:34px 4px 16px}.welcome h1{font-size:clamp(30px,5vw,48px);margin:5px 0}.bot{width:140px;max-height:160px;object-fit:contain}.panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px}.panel h2{margin-top:0}.drop{display:grid;place-items:center;gap:7px;border:2px dashed #c6b5eb;border-radius:16px;background:#fcfaff;padding:42px 18px;text-align:center;color:#5f4e82;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}.drop.drag-over,.drop:focus-visible{border-color:var(--purple);background:#f1ebff;outline:0;transform:scale(1.01)}.drop input{position:absolute;width:1px;height:1px;opacity:0}.status{min-height:24px}.review{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.review label{display:block;margin:14px 0}.layer{padding:12px;margin:8px 0;background:#f8f5ff;border-radius:10px}.dataset-list{display:grid;gap:12px}.dataset{border:1px solid var(--line);padding:16px;border-radius:13px}.dataset h3{margin:0}.chat{min-height:200px;max-height:380px;overflow:auto;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fbfaff}.chat p{max-width:80%;padding:10px 12px;border-radius:12px}.assistant{background:#eee6fd}.user{background:#ffe6ef;margin-left:auto}.chat-form{grid-template-columns:1fr auto;margin-top:12px}@media(max-width:580px){.shell{padding:18px 14px}.auth-card{padding:28px 22px}.welcome{align-items:flex-end}.bot{width:90px}.panel{padding:20px}.chat-form{grid-template-columns:1fr}.welcome h1{font-size:32px}}
