:root{--bg: #fafafa;--fg: #1c1c1e;--muted: #6b6b6b;--accent: #2d6cdf;--user-bubble: #2d6cdf;--user-fg: #fff;--bot-bubble: #fff;--bot-border: #e5e5e5;--band-high: #1f8a4c;--band-medium: #c47a00;--band-low: #b03a2e}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,Segoe UI,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--fg)}.app{display:flex;flex-direction:column;height:100%}.app-header{padding:12px 20px;border-bottom:1px solid var(--bot-border);background:#fff;display:flex;align-items:baseline;gap:12px}.app-header h1{font-size:18px;margin:0}.subtitle{color:var(--muted);font-size:13px}.chat-window{flex:1;overflow-y:auto;padding:20px;max-width:860px;width:100%;margin:0 auto}.welcome{color:var(--muted);padding:28px 0}.welcome h2{margin-top:0}.row{display:flex;margin-bottom:12px}.row.user{justify-content:flex-end}.bubble{max-width:78%;padding:10px 14px;border-radius:14px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.bubble p{margin:0}.bubble.user{background:var(--user-bubble);color:var(--user-fg);border-bottom-right-radius:4px}.bubble.assistant{background:var(--bot-bubble);border:1px solid var(--bot-border);border-bottom-left-radius:4px}.bubble.assistant p{margin:0 0 6px}.bubble.assistant ul,.bubble.assistant ol{margin:4px 0 8px 22px}.assessment{margin:12px 0;padding:10px 14px;border-radius:10px;font-size:14px;background:#fff;border:1px solid var(--bot-border)}.assessment.band-high{border-color:var(--band-high);color:var(--band-high)}.assessment.band-medium{border-color:var(--band-medium);color:var(--band-medium)}.assessment.band-low{border-color:var(--band-low);color:var(--band-low)}.cv-offer{margin:8px 0 12px;padding:10px 14px;border:1px solid var(--accent);border-radius:10px;background:#eef3fd}.cv-offer a{color:var(--accent);text-decoration:none;font-weight:600}.typing{display:flex;gap:4px;padding:8px 14px}.typing span{width:6px;height:6px;border-radius:50%;background:var(--muted);opacity:.6;animation:bounce 1.2s infinite}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-4px);opacity:1}}.composer{border-top:1px solid var(--bot-border);background:#fff;padding:12px 20px;display:flex;flex-direction:column;gap:8px}.composer-row{display:flex;gap:8px;max-width:860px;width:100%;margin:0 auto}.composer textarea,.composer input[type=url]{flex:1;resize:none;padding:8px 10px;border-radius:10px;border:1px solid var(--bot-border);font:inherit}.composer button{padding:8px 16px;border:0;border-radius:10px;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}.composer button:disabled{opacity:.5;cursor:not-allowed}.composer-actions{max-width:860px;width:100%;margin:0 auto;display:flex;gap:16px;font-size:13px;color:var(--muted)}.composer-actions .link{background:none;border:0;color:var(--accent);cursor:pointer;padding:0;font-size:13px}.passcode-gate{max-width:380px;margin:120px auto;text-align:center;background:#fff;padding:24px;border-radius:14px;border:1px solid var(--bot-border)}.passcode-gate input{width:100%;padding:10px 12px;margin:12px 0;border-radius:8px;border:1px solid var(--bot-border);font:inherit}.passcode-gate button{padding:10px 18px;border:0;border-radius:8px;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}
