:root{--canvas:#f4f8ff;--panel:rgba(255,255,255,0.92);--panel-strong:#ffffff;--ink:#1a2a3f;--muted:#5a6b82;--line:rgba(93,165,250,0.22);--accent:#2f74c0;--accent-deep:#245d9e;--brand-blue:#5da5fa;--accent-soft:rgba(93,165,250,0.12);--warm:#5da5fa;--warm-soft:rgba(93,165,250,0.16);--shadow:0 22px 60px rgba(47,106,168,0.16)}*{box-sizing:border-box}html{background:var(--canvas)}body{margin:0;color:var(--ink);background:radial-gradient(circle at top left,rgba(93,165,250,.16),transparent 30%),radial-gradient(circle at top right,rgba(93,165,250,.16),transparent 24%),linear-gradient(180deg,#f7faff,#e8f0ff);font-family:Georgia,Times New Roman,serif}button,input,select,textarea{font:inherit}.page-shell{min-height:100vh;position:relative}.backdrop-gradient{position:absolute;inset:0;background-image:linear-gradient(rgba(93,165,250,.05) 1px,transparent 0),linear-gradient(90deg,rgba(93,165,250,.05) 1px,transparent 0);background-size:32px 32px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.35),transparent 88%);mask-image:linear-gradient(180deg,rgba(0,0,0,.35),transparent 88%);pointer-events:none}.content-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;grid-gap:1.5rem;gap:1.5rem;max-width:1380px;margin:0 auto;padding:2rem}.chat-panel,.course-panel{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.course-panel{border-radius:30px;padding:1.75rem;display:flex;flex-direction:column;gap:1.4rem}.brand-logo{display:block;width:132px;height:auto;margin-bottom:.25rem;border-radius:12px}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.16em;font-family:Arial,sans-serif;font-size:.72rem;font-weight:700}.chat-toolbar h2,.course-panel h1{margin:.2rem 0 0;font-size:clamp(2rem,4vw,3.3rem);line-height:.95;font-weight:700}.strapline{margin:0;color:var(--muted);font-size:1.05rem}.summary{margin:0;font-size:1rem;line-height:1.6}.status-row{display:flex;flex-wrap:wrap;gap:.75rem}.status-pill,.streaming-indicator{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .72rem;border-radius:999px;font-family:Arial,sans-serif;font-size:.76rem;font-weight:700}.status-pill{color:var(--accent);background:var(--accent-soft)}.status-pill.muted{color:var(--muted);background:rgba(85,104,99,.1)}.streaming-indicator{color:#245d9e;background:var(--warm-soft)}.detail-block{display:grid;grid-gap:.7rem;gap:.7rem}.detail-block h2{margin:0;font-size:.95rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-family:Arial,sans-serif}.detail-list{margin:0;padding-left:1.1rem;display:grid;grid-gap:0;gap:0;line-height:1.5}.detail-list li{padding:.55rem 0}.detail-list li+li{border-top:1px solid rgba(93,165,250,.18)}.sounds-intro{color:var(--ink)}.sounds-closing,.sounds-intro{margin:0;font-size:.98rem;line-height:1.55}.sounds-closing{color:var(--accent-deep);font-style:italic}.bio-block{display:grid;grid-gap:.7rem;gap:.7rem}.bio-block h2{margin:0;font-size:.95rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-family:Arial,sans-serif}.bio-card{display:flex;gap:1rem;align-items:flex-start;padding:1rem;border-radius:20px;background:var(--accent-soft);border:1px solid rgba(93,165,250,.18)}.bio-photo{flex:0 0 auto;width:84px;height:84px;border-radius:50%;object-fit:cover;object-position:68% 22%;border:2px solid var(--brand-blue)}.bio-text{margin:0;font-size:.95rem;line-height:1.55;color:var(--ink)}@media (max-width:520px){.bio-card{flex-direction:column;align-items:center;text-align:center}}.chat-panel{border-radius:34px;padding:1.4rem;display:flex;flex-direction:column;min-height:82vh}.chat-toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end;padding:.5rem .5rem 1rem}.course-select{display:grid;grid-gap:.35rem;gap:.35rem;font-family:Arial,sans-serif;font-size:.78rem;color:var(--muted)}.course-select select{min-width:180px;padding:.7rem .85rem;border-radius:14px;border:1px solid var(--line);background:var(--panel-strong);color:var(--ink)}.intro-pitch{display:grid;grid-gap:.7rem;gap:.7rem;margin:0 .5rem .9rem;padding:1.2rem 1.3rem;border-radius:20px;background:var(--accent-soft);border:1px solid rgba(93,165,250,.18)}.intro-pitch p{margin:0;line-height:1.65;font-size:1rem;color:var(--ink)}.intro-pitch .intro-lead{font-size:1.08rem;font-weight:700;color:var(--accent-deep)}.auth-panel{display:grid;grid-gap:.45rem;gap:.45rem;margin:0 .5rem .8rem;padding:1rem;border:1px solid rgba(93,165,250,.18);border-radius:18px;background:rgba(93,165,250,.06)}.login-form{display:grid;grid-template-columns:1fr;grid-gap:.85rem;gap:.85rem}.forgot-password-flow{display:grid;grid-gap:1rem;gap:1rem}.auth-copy{display:grid;grid-gap:.25rem;gap:.25rem;font-family:Arial,sans-serif}.auth-copy strong{color:var(--ink);font-size:.94rem}.auth-copy span,.login-form label span{color:var(--muted);font-size:.8rem}.login-form label{display:grid;grid-gap:.35rem;gap:.35rem;font-family:Arial,sans-serif}.login-form input{min-width:0;width:100%;border:1px solid var(--line);border-radius:14px;background:var(--panel-strong);color:var(--ink);padding:.95rem 1rem}.auth-signed-in button,.login-form button{border:none;border-radius:14px;min-height:46px;padding:.8rem 1.05rem;background:linear-gradient(135deg,#5da5fa,#2f74c0);color:white;cursor:pointer;font-family:Arial,sans-serif;font-weight:700;width:100%}.login-form button:disabled{cursor:not-allowed;opacity:.45}.auth-signed-in{display:flex;justify-content:space-between;gap:.65rem;align-items:center;font-family:Arial,sans-serif;font-size:.84rem;color:var(--muted)}.secondary-button.compact{padding:.55rem .85rem!important}.auth-error{color:#7b2424;font-size:.78rem;text-align:left}.auth-error,.auth-notice{margin:0;font-family:Arial,sans-serif}.auth-notice{color:var(--accent);font-size:.8rem}.chat-log{display:grid;align-content:start;grid-gap:1rem;gap:1rem;padding:.5rem;overflow:auto;flex:1 1 auto;min-height:0}.chat-log:has(.empty-state){flex:0 0 auto;overflow:visible}.empty-state{display:grid;grid-gap:1rem;gap:1rem;padding:1.5rem;border-radius:24px;background:rgba(255,255,255,.72);border:1px dashed rgba(93,165,250,.22)}.empty-state h3{margin:0;font-size:1.35rem}.empty-state p{margin:0;color:var(--muted);line-height:1.6}.suggestion-row{display:flex;flex-wrap:wrap;gap:.75rem}.suggestion-chip{border:1px solid rgba(93,165,250,.22);background:rgba(255,255,255,.96);color:var(--ink);border-radius:999px;padding:.8rem 1rem;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.suggestion-chip:hover{transform:translateY(-1px);border-color:rgba(93,165,250,.45);box-shadow:0 12px 24px rgba(93,165,250,.14)}.message-card{border-radius:24px;padding:1rem 1.05rem;border:1px solid var(--line);background:rgba(255,255,255,.7);display:grid;grid-gap:.9rem;gap:.9rem}.message-card.user{background:rgba(93,165,250,.08)}.message-card.assistant{background:rgba(255,255,255,.86)}.message-meta{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;color:var(--muted);font-family:Arial,sans-serif;font-size:.78rem}.message-card p{margin:0;line-height:1.65;font-size:1rem;white-space:pre-wrap}.citation-block{display:grid;grid-gap:.65rem;gap:.65rem}.citation-block-heading{display:flex;justify-content:space-between;gap:.75rem;color:var(--muted);font-family:Arial,sans-serif;font-size:.78rem;font-weight:700}.citation-block-heading span:last-child{font-weight:500}.citation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:.8rem;gap:.8rem}.citation-card{border-radius:18px;padding:.9rem;background:rgba(232,240,255,.92);border:1px solid rgba(93,165,250,.28);color:var(--ink);cursor:pointer;display:grid;grid-gap:.55rem;gap:.55rem;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.citation-card:focus-visible,.citation-card:hover{border-color:rgba(93,165,250,.55);box-shadow:0 14px 26px rgba(93,165,250,.15);transform:translateY(-1px)}.citation-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.citation-heading{display:grid;grid-gap:.25rem;gap:.25rem;font-family:Arial,sans-serif;font-size:.78rem;font-weight:700;color:var(--ink)}.citation-heading span{color:var(--accent)}.citation-action{color:var(--accent-deep);font-family:Arial,sans-serif;font-size:.76rem;font-weight:700}.citation-modal-backdrop{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:1rem;background:rgba(26,42,63,.34)}.citation-modal{width:min(680px,100%);max-height:min(760px,calc(100vh - 2rem));overflow:auto;border:1px solid var(--line);border-radius:24px;background:var(--panel-strong);box-shadow:var(--shadow);padding:1.2rem;display:grid;grid-gap:1rem;gap:1rem}.citation-modal-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.citation-modal h2,.citation-modal h3{margin:.2rem 0 0}.citation-modal h2{font-size:1.4rem;line-height:1.15}.citation-modal h3{font-family:Arial,sans-serif;font-size:.9rem;color:var(--muted)}.citation-details{margin:0;display:grid;grid-gap:.75rem;gap:.75rem}.citation-details div{display:grid;grid-gap:.25rem;gap:.25rem;padding:.75rem 0;border-top:1px solid rgba(93,165,250,.18)}.citation-details dt{color:var(--muted);font-family:Arial,sans-serif;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.citation-details dd{margin:0;overflow-wrap:anywhere;line-height:1.45}.citation-mapped-sections ul{margin:.5rem 0 0;padding-left:1.1rem;line-height:1.55}.citation-modal-quote{margin:0;padding:1rem;border-left:4px solid var(--brand-blue);border-radius:14px;background:var(--accent-soft);color:var(--ink);line-height:1.6}.composer{display:grid;grid-gap:.85rem;gap:.85rem;padding:1rem .5rem .2rem}.composer-label{font-family:Arial,sans-serif;font-size:.84rem;color:var(--muted)}.composer textarea{width:100%;resize:vertical;min-height:120px;border-radius:20px;border:1px solid rgba(19,35,31,.16);background:rgba(255,255,255,.92);color:var(--ink);padding:1rem 1.05rem;line-height:1.6}.composer-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem;align-items:center}.composer button{border:none;border-radius:999px;padding:.95rem 1.3rem;background:linear-gradient(135deg,#5da5fa,#2f74c0);color:white;cursor:pointer;font-family:Arial,sans-serif;font-weight:700;letter-spacing:.02em;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.composer button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 28px rgba(93,165,250,.22)}.composer button:disabled{cursor:not-allowed;opacity:.6}.secondary-button{border:1px solid rgba(19,35,31,.14)!important;background:rgba(255,255,255,.88)!important;color:var(--ink)!important;box-shadow:none!important}.error-banner{margin:0;padding:.85rem 1rem;border-radius:16px;background:rgba(157,53,53,.1);color:#7b2424;border:1px solid rgba(157,53,53,.18);font-family:Arial,sans-serif;font-size:.88rem}@media (max-width:980px){.content-grid{grid-template-columns:1fr;padding:1rem}.chat-panel{min-height:auto}.chat-toolbar{align-items:start;flex-direction:column}.course-select,.course-select select{width:100%}.auth-panel{width:100%;margin-inline:0}.auth-signed-in{justify-content:space-between}}