.tutor-scrim{background:#11182780;top:0;right:0;bottom:0;left:0;position:fixed;z-index:998}.tutor-panel{background:#fff;color:#111827;display:flex;flex-direction:column;font-size:14px;top:0;right:0;bottom:0;left:0;overflow:hidden;position:fixed;z-index:999}@media (min-width:640px){.tutor-scrim{display:none}.tutor-panel{border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 24px 48px -12px #11182747,0 0 0 1px #1118270a;height:min(620px,calc(100vh - 120px));inset:auto 24px 24px auto;width:400px}}.tutor-header{align-items:center;border-bottom:1px solid #f1f2f4;display:flex;flex-shrink:0;gap:12px;justify-content:space-between;padding:12px 14px}.tutor-header__identity{align-items:center;display:flex;gap:10px;min-width:0}.tutor-header__text{min-width:0}.tutor-header__title{font-size:14px;font-weight:600;line-height:1.2;margin:0}.tutor-header__subtitle{color:#6b7280;font-size:12px;margin:2px 0 0;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tutor-header__actions{align-items:center;display:flex;flex-shrink:0;gap:2px}.tutor-icon-btn{align-items:center;background:transparent;border-radius:8px;color:#6b7280;display:inline-flex;height:32px;justify-content:center;transition:background-color .15s ease,color .15s ease;width:32px}.tutor-icon-btn:hover{background:#f3f4f6;color:#111827}.tutor-avatar{align-items:center;border-radius:999px;color:#fff;display:inline-flex;flex-shrink:0;justify-content:center}.tutor-avatar--ai{background:linear-gradient(135deg,#6366f1,#8b5cf6);height:32px;width:32px}.tutor-avatar--sm{height:26px;width:26px}.tutor-avatar--lg{box-shadow:0 8px 20px -6px #6366f199;height:48px;width:48px}.tutor-icon-xs{height:16px;width:16px}.tutor-icon-sm{height:18px;width:18px}.tutor-icon-md{height:26px;width:26px}.tutor-log-wrapper{display:flex;flex:1;min-height:0;position:relative}.tutor-log{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px 14px 8px;scrollbar-width:thin}.tutor-log::-webkit-scrollbar{width:8px}.tutor-log::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:999px}.tutor-empty{align-items:center;display:flex;flex-direction:column;padding:24px 4px;text-align:center}.tutor-empty__title{font-size:16px;font-weight:600;margin:14px 0 0}.tutor-empty__body{color:#6b7280;font-size:13px;line-height:1.5;margin:6px 0 0;max-width:280px}.tutor-suggestions{display:flex;flex-direction:column;gap:8px;margin-top:20px;width:100%}.tutor-chip{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;color:#374151;display:flex;font-size:13px;gap:10px;padding:10px 12px;text-align:left;transition:border-color .15s ease,background-color .15s ease,transform .15s ease;width:100%}.tutor-chip:hover{background:#f5f6ff;border-color:#c7d2fe;transform:translateY(-1px)}.tutor-chip__icon{font-size:15px;line-height:1}.tutor-msg{display:flex;gap:8px;margin-bottom:14px}.tutor-msg--user{justify-content:flex-end}.tutor-msg__col{display:flex;flex-direction:column;max-width:82%;min-width:0}.tutor-msg--user .tutor-msg__col{align-items:flex-end}.tutor-bubble{border-radius:14px;line-height:1.55;padding:9px 12px;word-wrap:break-word;overflow-wrap:anywhere}.tutor-msg--assistant .tutor-bubble{background:#f4f4f6;border-bottom-left-radius:4px}.tutor-msg--user .tutor-bubble{background:#4f46e5;border-bottom-right-radius:4px;color:#fff}.tutor-bubble--error{background:#fef2f2;color:#991b1b}.tutor-msg__meta{align-items:center;color:#9ca3af;display:flex;font-size:11px;gap:10px;margin-top:4px;opacity:0;padding:0 4px;transition:opacity .15s ease}.tutor-msg:focus-within .tutor-msg__meta,.tutor-msg:hover .tutor-msg__meta{opacity:1}@media (hover:none){.tutor-msg__meta{opacity:1}}.tutor-meta-btn{background:transparent;color:#6b7280;font-size:11px}.tutor-meta-btn:hover{color:#4f46e5;text-decoration:underline}.tutor-prose p{margin:0 0 8px}.tutor-prose p:last-child{margin-bottom:0}.tutor-prose ul{list-style:disc;margin:0 0 8px;padding-left:18px}.tutor-prose ul:last-child{margin-bottom:0}.tutor-prose li{margin:2px 0}.tutor-prose a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px}.tutor-prose code{background:#11182714;border-radius:5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em;padding:1px 5px}.tutor-msg--user .tutor-prose code{background:#ffffff38}.tutor-caret{animation:tutor-blink 1s steps(2,start) infinite;background:currentColor;display:inline-block;height:1em;margin-left:2px;vertical-align:text-bottom;width:2px}@keyframes tutor-blink{to{visibility:hidden}}.tutor-bubble--thinking{align-items:center;display:flex;gap:4px;padding:12px}.tutor-dot{animation:tutor-bounce 1.3s ease-in-out infinite;background:#9ca3af;border-radius:999px;height:6px;width:6px}.tutor-dot:nth-child(3){animation-delay:.15s}.tutor-dot:nth-child(4){animation-delay:.3s}@keyframes tutor-bounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.tutor-jump{align-items:center;background:#111827;border-radius:999px;bottom:16px;box-shadow:0 6px 16px -4px #11182766;color:#fff;display:inline-flex;font-size:12px;gap:6px;left:50%;padding:6px 12px;position:absolute;transform:translate(-50%)}.tutor-composer{background:#fff;border-top:1px solid #f1f2f4;flex-shrink:0;padding:10px 14px 12px}.tutor-composer__field{align-items:flex-end;background:#fff;border:1px solid #e5e7eb;border-radius:14px;display:flex;gap:8px;padding:6px 6px 6px 12px;transition:border-color .15s ease,box-shadow .15s ease}.tutor-composer__field.is-focused{border-color:#a5b4fc;box-shadow:0 0 0 3px #6366f126}.tutor-textarea{background:transparent;border:0;color:#111827;flex:1;font:inherit;line-height:1.5;max-height:140px;min-height:24px;outline:none;padding:4px 0;resize:none}.tutor-textarea::-moz-placeholder{color:#9ca3af}.tutor-textarea::placeholder{color:#9ca3af}.tutor-send{align-items:center;background:#4f46e5;border-radius:10px;color:#fff;display:inline-flex;flex-shrink:0;height:32px;justify-content:center;transition:background-color .15s ease,opacity .15s ease;width:32px}.tutor-send:hover:not(:disabled){background:#4338ca}.tutor-send:disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed}.tutor-send--stop{background:#111827}.tutor-send--stop:hover{background:#374151}.tutor-disclaimer{color:#9ca3af;font-size:11px;line-height:1.4;margin:8px 2px 0;text-align:center}.tutor-disclaimer kbd{border:solid #e5e7eb;border-radius:4px;border-width:1px 1px 2px;color:#6b7280;font-family:inherit;font-size:10px;padding:1px 4px}.tutor-sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.tutor-fade-enter-active,.tutor-fade-leave-active{transition:opacity .2s ease}.tutor-fade-enter-from,.tutor-fade-leave-to{opacity:0}.tutor-panel-enter-active{transition:opacity .22s ease,transform .22s cubic-bezier(.16,1,.3,1)}.tutor-panel-leave-active{transition:opacity .15s ease,transform .15s ease}.tutor-panel-enter-from,.tutor-panel-leave-to{opacity:0;transform:translateY(12px) scale(.98)}@media (prefers-reduced-motion:reduce){.tutor-chip,.tutor-fade-enter-active,.tutor-fade-leave-active,.tutor-panel-enter-active,.tutor-panel-leave-active{transition:none}.tutor-caret,.tutor-dot{animation:none}}.tutor-fab{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:999px;bottom:24px;box-shadow:0 10px 24px -6px #6366f18c;color:#fff;display:inline-flex;gap:0;height:52px;justify-content:center;overflow:hidden;padding:0;position:fixed;right:24px;transition:width .22s cubic-bezier(.16,1,.3,1),gap .22s ease,padding .22s ease,box-shadow .2s ease,transform .2s ease;width:52px;z-index:990}.tutor-fab:focus-visible,.tutor-fab:hover{box-shadow:0 14px 30px -6px #6366f1a6;gap:8px;padding:0 18px;transform:translateY(-1px);width:130px}.tutor-fab__icon{flex-shrink:0;height:24px;width:24px}.tutor-fab__label{font-size:14px;font-weight:600;max-width:0;opacity:0;transition:max-width .22s ease,opacity .18s ease;white-space:nowrap}.tutor-fab:focus-visible .tutor-fab__label,.tutor-fab:hover .tutor-fab__label{max-width:80px;opacity:1}@media (max-width:1023px){.tutor-fab{bottom:88px;right:16px}}@media (prefers-reduced-motion:reduce){.tutor-fab,.tutor-fab__label{transition:none}}:where(.dark) .tutor-panel{background:#1f2937;border-color:#374151;color:#f3f4f6}:where(.dark) .tutor-header{border-bottom-color:#374151}:where(.dark) .tutor-header__subtitle{color:#9ca3af}:where(.dark) .tutor-icon-btn{color:#9ca3af}:where(.dark) .tutor-icon-btn:hover{background:#374151;color:#f3f4f6}:where(.dark) .tutor-empty__body{color:#9ca3af}:where(.dark) .tutor-chip{background:#111827;border-color:#374151;color:#e5e7eb}:where(.dark) .tutor-chip:hover{background:#1e1b4b;border-color:#6366f1}:where(.dark) .tutor-msg--assistant .tutor-bubble{background:#374151;color:#f3f4f6}:where(.dark) .tutor-bubble--error{background:#450a0a;color:#fecaca}:where(.dark) .tutor-prose code{background:#ffffff1f}:where(.dark) .tutor-composer{background:#1f2937;border-top-color:#374151}:where(.dark) .tutor-composer__field{background:#111827;border-color:#374151}:where(.dark) .tutor-textarea{color:#f3f4f6}:where(.dark) .tutor-disclaimer kbd{border-color:#4b5563;color:#9ca3af}
