.ai-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:44px 0 30px; }
.ai-heading h1 { max-width:780px; }
.ai-heading .site-lead { margin:16px 0 0; font-size:1rem; }
.ai-heading > form { flex-shrink:0; }
.ai-unlock { max-width:520px; margin:8px auto 48px; padding:32px; }
.ai-symbol { display:inline-grid; place-items:center; width:48px; height:48px; border-radius:12px; background:var(--site-tint); color:var(--blue); margin-bottom:18px; }
.ai-unlock h2 { font-size:1.5rem; margin-bottom:12px; }
.ai-unlock p { color:var(--muted); line-height:1.7; }
.ai-unlock form { margin-top:24px; }
.ai-unlock .form-label { font-weight:650; }
.ai-page .form-control { background:var(--input-surface,#fafbfe); color:var(--ink); border-color:var(--line); }
.ai-pin { max-width:240px; letter-spacing:.3em; font-size:1.5rem; }
#ai-pin-hint { font-size:.8rem; margin:8px 0 18px; }
.ai-unlock .ai-request-pin { margin:24px 0 0; font-size:.875rem; }
.ai-page a:not(.btn) { color:var(--blue); }
.ai-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:24px; align-items:start; padding-bottom:30px; }
.ai-conversation,.ai-proposal { padding:26px; min-width:0; }
.ai-proposal { position:sticky; top:20px; }
.ai-section-heading { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-bottom:20px; }
.ai-section-heading h2,.ai-proposal h2 { font-size:1.25rem; }
.ai-introduction,.ai-privacy,#ai-proposal-empty,.ai-adopt-hint { color:var(--muted); line-height:1.7; }
.ai-example { padding:16px; text-align:left; border:1px solid var(--line); border-radius:12px; background:var(--site-tint); color:var(--ink); font-size:.875rem; margin-bottom:22px; line-height:1.6; }
.ai-example:hover { border-color:var(--blue); }
.ai-history { max-height:55dvh; overflow-y:auto; overscroll-behavior:contain; }
.ai-message { border-radius:12px; padding:15px; margin-bottom:14px; border:1px solid var(--line); }
.ai-message-user { margin-left:26px; background:var(--site-tint); }
.ai-message-assistant { margin-right:12px; }
.ai-speaker { display:block; font-size:.75rem; color:var(--blue); margin-bottom:6px; }
.ai-message p { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; font-size:.9375rem; line-height:1.7; }
.ai-compose-footer { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-top:14px; }
.ai-compose-footer > span { font-size:.75rem; color:var(--muted); }
.ai-compose-footer .btn { flex-shrink:0; }
.ai-status { margin:14px 0 0; font-size:.875rem; color:var(--ink); }
.ai-status:empty { display:none; }
.ai-privacy { font-size:.75rem; margin:18px 0 0; }
.ai-summary { color:var(--blue); font-weight:650; margin:16px 0; }
.ai-timings { padding:14px; background:var(--paper); border-radius:10px; font-size:.8rem; color:var(--muted); }
.ai-timings p { margin:0 0 4px; }
.ai-timings p:last-child { margin:0; }
.ai-exercises { padding-left:24px; margin:20px 0; }
.ai-exercises li { padding:12px 0; border-bottom:1px solid var(--line); }
.ai-exercises li::marker { color:var(--blue); font-weight:650; }
.ai-exercises strong { display:block; font-size:.9375rem; overflow-wrap:anywhere; }
.ai-exercise-english { display:block; color:var(--muted); font-size:.75rem; margin-top:3px; }
.ai-exercise-meta { display:block; font-size:.75rem; color:var(--muted); margin-top:7px; }
.ai-adopt { width:100%; }
.ai-adopt[aria-disabled="true"] { opacity:.6; cursor:wait; }
.ai-adopt-hint { margin:12px 0 0; font-size:.75rem; }
#ai-proposal-empty { margin-top:16px; }
@media(max-width:991.98px) { .ai-layout { grid-template-columns:1fr; }.ai-proposal { position:static; } }
@media(max-width:575.98px) { .ai-heading { align-items:flex-start; flex-direction:column; padding:28px 0 24px; }.ai-conversation,.ai-proposal,.ai-unlock { padding:20px; }.ai-compose-footer { flex-direction:column; align-items:stretch; }.ai-section-heading { align-items:flex-start; }.ai-history { max-height:45dvh; } }
