:root{color-scheme:light;--ink:#241C3B;--ink-soft:#635C82;--paper:#F5F2FA;--card:#fff;--line:#E8E2F2;--plum:#5B3FA6;--plum-deep:#3A2870;--coral:#FF6B5E;--amber:#F9B23D;--mint:#12A87C;--sky:#3E7DFF}
*{box-sizing:border-box}body{margin:0;font:16px/1.5 Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:radial-gradient(circle at 10% 0,rgba(91,63,166,.18),transparent 45%),radial-gradient(circle at 90% 10%,rgba(255,107,94,.16),transparent 40%),var(--paper);min-height:100vh}
main{max-width:640px;margin:0 auto;padding:16px}h1,h2,h3{font-family:"Bricolage Grotesque",system-ui,sans-serif;line-height:1.15}h1{font-size:1.9rem}
.eyebrow{font:600 .72rem/1 "IBM Plex Mono",ui-monospace,monospace;text-transform:uppercase;letter-spacing:.12em;color:var(--plum);margin-bottom:8px}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;margin:12px 0;box-shadow:0 4px 18px rgba(36,28,59,.05)}
.btn{border:0;border-radius:12px;padding:12px 18px;font:600 1rem inherit;font-family:inherit;background:var(--plum);color:#fff;cursor:pointer;margin:6px 0}.btn.coral{background:var(--coral)}.btn.alt{background:#EEE8F8;color:var(--plum-deep)}.btn.ghost{background:none;color:var(--ink-soft)}.btn.wide{width:100%}.btn:disabled{opacity:.5}.btn.small,.small{font-size:.85rem}
.soft{color:var(--ink-soft)}.center{text-align:center}.err{color:#c0392b}.hero{text-align:center;padding:20px 0}.logo{font-size:3rem}.steps3 div{padding:6px 0}.steps3 b{display:inline-block;width:26px;height:26px;border-radius:50%;background:var(--plum);color:#fff;text-align:center}
.lang{text-align:right}.lang button{border:1px solid var(--line);background:#fff;padding:4px 10px;cursor:pointer}.lang .on{background:var(--plum);color:#fff}
label{display:block;margin:10px 0}input,select,textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff;color:var(--ink)}label.row{display:flex;gap:8px;align-items:flex-start}label.row input{width:auto;margin-top:4px}fieldset{border:1px solid var(--line);border-radius:10px}
.qcard{min-height:80vh;display:flex;flex-direction:column;justify-content:center}.qtext{font:600 1.5rem/1.3 "Bricolage Grotesque",system-ui;margin:20px 0}.qmod{color:var(--coral)}.steplabel{font-size:.85rem;color:var(--ink-soft)}
.pbar{height:8px;background:var(--line);border-radius:8px;overflow:hidden;margin:8px 0}.pbar i{display:block;height:100%;background:linear-gradient(90deg,var(--plum),var(--coral))}
.scale{display:grid;gap:8px}.ans{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;font:inherit;cursor:pointer;text-align:left}.ans:hover,.ans.sel{border-color:var(--plum);background:#F1ECFA}
.badge{text-align:center;background:linear-gradient(135deg,var(--plum),var(--plum-deep));color:#fff}.badge .eyebrow{color:var(--amber)}.big{font-size:3rem}
.compass{width:100%;max-width:360px;display:block;margin:0 auto}.chip,.pill{display:inline-block;padding:6px 12px;border-radius:99px;background:#F1ECFA;margin:4px}
.mini .axis{display:grid;grid-template-columns:1fr 2fr 1fr;gap:8px;align-items:center;font-size:.75rem}.mini .axis span:last-child{text-align:right}.bar{height:6px;background:#FFE1DE;border-radius:6px}.bar i{display:block;height:100%;background:var(--plum);border-radius:6px}
.grow p{margin:4px 0 12px}.loader{animation:pulse 1.2s infinite}@keyframes pulse{50%{opacity:.4}}.pulse{animation:pulse 2s infinite}
.chathead{display:flex;justify-content:space-between;align-items:center}.demo{background:var(--amber);padding:6px 10px;border-radius:8px;font-size:.85rem}
.stream{display:flex;flex-direction:column;gap:8px;max-height:55vh;overflow-y:auto;padding:8px 0}.bub{padding:10px 14px;border-radius:16px;max-width:85%}.bub.assistant{background:#fff;border:1px solid var(--line)}.bub.user{background:var(--plum);color:#fff;align-self:flex-end}
.dock .inrow{display:flex;gap:8px;align-items:flex-end}.dock textarea{resize:none;max-height:140px;background:#fff}.steprow{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}.steprow button{border:0;background:none;font-size:1.1rem;cursor:pointer}
.stars button{font-size:2.2rem;border:0;background:none;color:#ccc;cursor:pointer}.stars .on{color:var(--amber)}.lik{display:flex;gap:12px}.lik label{display:flex;gap:2px}.lik input{width:auto}
footer{text-align:center;margin:30px 0;font-size:.85rem;color:var(--ink-soft)}footer a{color:var(--plum)}
.navrow{display:flex;justify-content:space-between}.grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.list{display:grid;gap:8px}
.pick{border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px;font:inherit;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:2px;color:var(--ink)}.pick.row{flex-direction:row;align-items:center;gap:8px}.pick.sel{border-color:var(--coral);background:#FFF1EF}.pick .em{font-size:1.4rem}
.vrow{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.vrow button{border:1px solid var(--line);background:#fff;border-radius:8px;margin-left:4px;padding:4px 9px;cursor:pointer}.btnchip{border:0;cursor:pointer;font:inherit}
.ex{background:#F7F4FC;padding:8px;border-radius:8px;color:var(--ink-soft)}.axis2{display:grid;grid-template-columns:1.3fr 1fr;gap:4px 8px;align-items:center;font-size:.85rem;margin:6px 0}.axis2 small{grid-column:1/-1;color:var(--ink-soft)}.bord{border:1px solid var(--line)}
