@import"https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg: #eef3fb;--bg-soft: #f6f8fd;--panel: rgba(255, 255, 255, .84);--panel-strong: #ffffff;--line: #d9e3f1;--ink: #1c2d43;--ink-soft: #6c7d94;--brand: #2b63d9;--brand-soft: #eaf1ff;--danger: #bf3f3f}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);font-family:Noto Sans SC,sans-serif;background:radial-gradient(1200px 700px at 0% 0%,#ffffff,transparent 70%),linear-gradient(180deg,#f8faff,#eef3fb 55%,#e9f0fb)}.screen{min-height:100vh;padding:1.2rem;display:grid;place-items:center}.chat-shell{width:min(1280px,100%);min-height:calc(100vh - 2.4rem);border-radius:22px;border:1px solid var(--line);background:var(--panel);box-shadow:0 24px 44px #2244781f;overflow:hidden}.workspace{min-height:calc(100vh - 2.4rem);display:grid;grid-template-columns:320px 1fr}.workspace-sidebar{border-right:1px solid var(--line);background:linear-gradient(180deg,#f8fbff,#f1f5fc 75%);padding:1rem;display:flex;flex-direction:column;gap:.9rem}.sidebar-brand h2{margin:0;font-size:1.15rem}.sidebar-brand p{margin:.28rem 0 0;color:var(--ink-soft);font-size:.88rem}.sidebar-card{border:1px solid var(--line);background:var(--panel-strong);border-radius:14px;padding:.8rem;display:grid;gap:.42rem}.card-label{font-size:.78rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em}.sidebar-actions{display:flex;gap:.45rem}.config-panel{border:1px solid var(--line);background:var(--panel-strong);border-radius:14px;padding:.75rem;display:grid;gap:.55rem}.config-panel label{display:grid;gap:.2rem;font-size:.78rem;color:var(--ink-soft);text-transform:uppercase;font-family:JetBrains Mono,monospace}.workspace-main{display:grid;grid-template-rows:auto 1fr auto;background:#ffffff94;min-height:calc(100vh - 2.4rem)}.main-head{display:flex;align-items:center;justify-content:flex-start;gap:.9rem;padding:1rem 1.2rem .7rem;border-bottom:1px solid var(--line);background:#ffffffb8}.main-head-brand{display:flex;align-items:center;gap:.72rem}.chat-logo{width:168px;height:44px;object-fit:contain;flex-shrink:0}.main-head-actions{display:flex;align-items:center;gap:.45rem;margin-left:auto}.main-head-classroom{display:flex;align-items:center;margin-left:.5rem}.main-head h1{margin:0;font-size:1.08rem}.main-head p{margin:.28rem 0 0;color:var(--ink-soft);font-size:.88rem}.auth-shell{width:min(540px,100%);border-radius:20px;border:1px solid var(--line);background:#ffffffe6;box-shadow:0 20px 34px #2a4d841f;overflow:hidden;animation:rise .46s ease-out}.auth-form{padding:1rem 1.1rem 1.2rem;display:grid;gap:.7rem}.auth-headline{display:flex;gap:.85rem;align-items:center}.auth-logo{width:82px;height:64px;object-fit:contain;flex-shrink:0}.auth-headline h1{margin:0;font-size:1.06rem;line-height:1.35}.auth-headline p{margin:.22rem 0 0;color:var(--ink-soft);font-size:.85rem;line-height:1.4}.ai-tags{display:flex;flex-wrap:wrap;gap:.4rem}.ai-tag{border:1px solid #c8d9fb;background:#f1f6ff;color:#2f67dc;padding:.22rem .52rem;border-radius:999px;font-size:.75rem;font-weight:600}.inline-field{display:grid;gap:.5rem;grid-template-columns:1fr auto;align-items:center}.send-code-btn{min-width:84px;background:#f3f7ff;color:var(--brand);border:1px solid #c7d8fb;font-weight:600}.send-code-btn:disabled{background:#eef1f7;color:#93a2bb;border-color:#d6deea}.auth-actions{display:flex;gap:.55rem}.auth-hint{margin:-.1rem 0 0;color:var(--ink-soft);font-size:.84rem;display:flex;align-items:center;gap:.25rem}.text-link{padding:0;border:0;background:transparent;color:var(--brand);font:inherit;font-weight:600}.auth-error{margin:0;color:var(--danger);font-family:JetBrains Mono,monospace;font-size:.82rem}@keyframes rise{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.top-bar{display:flex;justify-content:space-between;gap:.8rem;align-items:center;padding:1rem 1.1rem .7rem;border-bottom:1px solid var(--line)}.top-bar h1{margin:0;font-size:1.2rem;text-transform:lowercase}.top-bar p{margin:.25rem 0 0;color:var(--ink-soft);font-size:.92rem}.badge{border-radius:999px;padding:.38rem .68rem;font-family:JetBrains Mono,monospace;font-size:.77rem;border:1px solid var(--line);text-transform:uppercase;letter-spacing:.02em}.badge.connected{background:#e7f6ef;color:#177b56}.badge.connecting,.badge.reconnecting{background:var(--brand-soft);color:var(--brand)}.badge.disconnected{background:#ffecec;color:var(--danger)}input,textarea{border:1px solid var(--line);border-radius:10px;background:#fff;padding:.62rem .72rem;color:var(--ink);font-family:inherit}input:focus,textarea:focus{outline:none;border-color:#90afe5;box-shadow:0 0 0 3px #5984dc26}.messages{overflow:auto;padding:1rem 1.15rem 1.2rem;display:flex;flex-direction:column;gap:.75rem}.classroom-panel{padding:1rem 1.15rem 1.2rem;overflow:hidden}.classroom-frame{width:100%;height:100%;min-height:calc(100vh - 200px);border:1px solid var(--line);border-radius:14px;background:#fff}.bubble{max-width:min(72ch,82%);border:1px solid var(--line);border-radius:14px;padding:.72rem .82rem;background:#fff;animation:fadeIn .22s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.bubble.user{align-self:flex-end;background:linear-gradient(135deg,#e8f0ff,#f0f5ff);border-color:#bfd1f6}.bubble.assistant{align-self:flex-start;background:#fff}.bubble.system,.bubble.error{align-self:center;background:#fff3f3}.bubble.thinking{display:inline-flex;align-items:center;gap:.5rem;background:#f7faff;border-color:#c8d8f6}.thinking-spinner{width:.95rem;height:.95rem;border-radius:999px;border:2px solid #bed0f3;border-top-color:#2b63d9;display:inline-block;margin-right:.45rem;animation:spin .8s linear infinite;vertical-align:-.1rem}@keyframes spin{to{transform:rotate(360deg)}}.bubble p{margin:0;white-space:pre-wrap;line-height:1.45}.bubble small{margin-top:.35rem;display:block;color:var(--ink-soft);font-family:JetBrains Mono,monospace;font-size:.76rem}.composer{border-top:1px solid var(--line);padding:.85rem 1.15rem 1.15rem;display:grid;gap:.65rem;grid-template-columns:1fr auto;background:#fffc}button{border:1px solid transparent;border-radius:10px;background:linear-gradient(120deg,#3d71e5,#2b63d9);color:#fff;font-weight:700;cursor:pointer;padding:.64rem .95rem}button:disabled{opacity:.5;cursor:not-allowed}.reconnect{background:#fff;color:var(--ink);border:1px solid var(--line);font-weight:500}@media(max-width:820px){.screen{padding:0}.chat-shell{min-height:100vh;border-radius:0;width:100%}.workspace{grid-template-columns:1fr}.workspace-sidebar{border-right:0;border-bottom:1px solid var(--line)}.composer{grid-template-columns:1fr}.main-head{flex-direction:column;align-items:flex-start}.main-head-classroom{margin-left:0}.main-head-actions{width:100%;justify-content:flex-start;flex-wrap:wrap;margin-left:0}.bubble{max-width:100%}.classroom-frame{min-height:calc(100vh - 280px)}}
