.tutor-root{--tutor-brand:var(--brand-500,#1a73e8);--tutor-brand-strong:var(--brand-600,#1557b0);--tutor-surface:var(--surface,#fff);--tutor-ink:var(--on-surface,#202124);--tutor-muted:var(--on-surface-variant,#5f6368);--tutor-line:var(--outline-variant,#e8eaed);font-family:var(--font-sans,system-ui,sans-serif)}.tutor-orb{z-index:1000;cursor:pointer;color:#fff;background:linear-gradient(140deg,var(--tutor-brand),var(--tutor-brand-strong));border:none;border-radius:50%;place-items:center;width:56px;height:56px;transition:transform .15s,box-shadow .15s,filter .2s;display:grid;position:fixed;bottom:24px;right:24px;box-shadow:0 6px 20px #1a3c7859}.tutor-orb:hover{transform:translateY(-1px)}.tutor-orb:focus-visible{outline:3px solid var(--tutor-brand);outline-offset:3px}.tutor-orb .material-symbols-outlined{z-index:1;font-size:26px}.tutor-orb[data-state=asleep]{filter:grayscale(.7)brightness(.95);box-shadow:0 4px 12px #0003}.tutor-orb[data-state=idle]{animation:4s ease-in-out infinite tutor-breathe}.tutor-orb[data-state=connecting] .tutor-orb__ring,.tutor-orb[data-state=thinking] .tutor-orb__ring{animation:1s ease-out infinite tutor-pulse}.tutor-orb[data-state=listening] .tutor-orb__ring{box-shadow:0 0 0 4px #1a73e840}.tutor-orb[data-state=speaking] .tutor-orb__ring{animation:.9s ease-out infinite tutor-wave}.tutor-orb__ring{pointer-events:none;border-radius:50%;position:absolute;inset:0}.tutor-orb__badge{background:var(--danger,#d93025);border:2px solid var(--tutor-surface);border-radius:50%;width:12px;height:12px;position:absolute;top:2px;right:2px}@keyframes tutor-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes tutor-pulse{0%{box-shadow:0 0 #1a73e873}to{box-shadow:0 0 0 16px #1a73e800}}@keyframes tutor-wave{0%{box-shadow:0 0 #1a73e880}to{box-shadow:0 0 0 12px #1a73e800}}.tutor-panel{z-index:1000;background:var(--tutor-surface);width:432px;max-width:calc(100vw - 32px);max-height:min(720px,100vh - 110px);color:var(--tutor-ink);border:1px solid var(--tutor-line);border-radius:var(--radius-lg,16px);flex-direction:column;animation:.16s ease-out tutor-rise;display:flex;position:fixed;bottom:92px;right:24px;overflow:hidden;box-shadow:0 16px 48px #00000038}@keyframes tutor-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tutor-panel__head{border-bottom:1px solid var(--tutor-line);background:var(--surface-1,#f8f9fa);align-items:center;gap:8px;padding:10px 12px;display:flex}.tutor-panel__title{font-size:14px;font-weight:700;font-family:var(--font-display,inherit);align-items:center;gap:6px;display:inline-flex}.tutor-panel__spacer{flex:1}.tutor-panel__chip{border-radius:var(--radius-pill,9999px);color:var(--tutor-muted);background:var(--surface-2,#f1f3f4);padding:2px 8px;font-size:11px;font-weight:600}.tutor-panel__chip.is-live{color:#fff;background:var(--success,#1e8e3e)}.tutor-panel__balance{color:var(--tutor-muted);white-space:nowrap;font-size:11px}.tutor-icon-btn{border-radius:var(--radius-sm,8px);width:30px;height:30px;color:var(--tutor-muted);cursor:pointer;background:0 0;border:none;place-items:center;transition:background .15s,color .15s;display:grid}.tutor-icon-btn:hover:not(:disabled){background:var(--overlay-hover,#3c404314);color:var(--tutor-ink)}.tutor-icon-btn:disabled{opacity:.4;cursor:default}.tutor-icon-btn.is-toggle.is-on,.tutor-icon-btn.is-send{color:var(--tutor-brand)}.tutor-end-btn{border:1px solid var(--danger,#d93025);border-radius:var(--radius-pill,9999px);color:var(--danger,#d93025);font:inherit;cursor:pointer;background:0 0;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.tutor-end-btn:hover{background:var(--danger-bg,#fce8e6)}.tutor-panel__startbar{border-top:1px solid var(--tutor-line);padding:12px}.tutor-start-btn{border-radius:var(--radius-pill,9999px);background:linear-gradient(140deg,var(--tutor-brand),var(--tutor-brand-strong));color:#fff;width:100%;font:inherit;cursor:pointer;border:none;padding:11px 14px;font-size:14px;font-weight:700;box-shadow:0 4px 14px #1a3c7847}.tutor-start-btn:hover:not(:disabled){filter:brightness(1.05)}.tutor-start-btn:disabled{opacity:.6;cursor:default}.tutor-start-btn.is-comingsoon{background:var(--tutor-soft,#eef2fb);color:var(--tutor-brand-strong,#1a3c78);box-shadow:none;opacity:1;cursor:not-allowed}.tutor-comingsoon{text-align:center;flex-direction:column;align-items:center;gap:8px;margin:auto 6px;padding:18px 16px;display:flex}.tutor-comingsoon__badge{border-radius:var(--radius-pill,9999px);background:linear-gradient(140deg,var(--tutor-brand),var(--tutor-brand-strong));color:#fff;letter-spacing:.04em;text-transform:uppercase;padding:3px 10px;font-size:11px;font-weight:800;display:inline-block}.tutor-comingsoon__lead{color:var(--tutor-fg,#1f2733);margin:2px 0 0;font-size:15px;font-weight:700}.tutor-comingsoon__text{color:var(--tutor-muted);max-width:280px;margin:0;font-size:13px;line-height:1.5}.tutor-comingsoon__actions{gap:8px;margin-top:14px;display:flex}.tutor-comingsoon__actions .tutor-btn{text-decoration:none}.tutor-panel__notice{color:var(--warning,#b06000);background:var(--warning-bg,#fef7e0);border-bottom:1px solid var(--tutor-line);padding:8px 12px;font-size:12px}.tutor-panel__notice.is-error{color:var(--danger,#d93025);background:var(--danger-bg,#fce8e6)}.tutor-panel__log{flex-direction:column;flex:1;gap:8px;min-height:160px;padding:12px;display:flex;overflow-y:auto}.tutor-panel__empty{color:var(--tutor-muted);text-align:center;margin:auto 8px;font-size:13px}.tutor-msg{display:flex}.tutor-msg.is-user{justify-content:flex-end}.tutor-msg.is-system{justify-content:center}.tutor-msg__bubble{white-space:pre-wrap;word-break:break-word;border-radius:14px;max-width:84%;padding:8px 11px;font-size:13.5px;line-height:1.45}.tutor-msg.is-assistant .tutor-msg__bubble{background:var(--surface-2,#f1f3f4);color:var(--tutor-ink);border-bottom-left-radius:4px}.tutor-msg.is-user .tutor-msg__bubble{background:var(--tutor-brand);color:#fff;border-bottom-right-radius:4px}.tutor-msg__system{color:var(--tutor-muted);background:var(--surface-1,#f8f9fa);border-radius:var(--radius-pill,9999px);padding:3px 10px;font-size:11.5px}.tutor-event{color:var(--tutor-muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:8px;margin:2px 0;font-size:10.5px;display:flex}.tutor-event:before,.tutor-event:after{content:"";background:var(--tutor-line);flex:1;height:1px}.tutor-event__label{white-space:nowrap}.tutor-action{background:var(--surface-2,#f1f3f4);border:1px solid var(--tutor-line);max-width:92%;color:var(--tutor-muted);border-radius:10px;flex-direction:column;align-self:flex-start;gap:4px;padding:5px 10px;font-size:12px;display:flex}.tutor-action__text{white-space:pre-wrap}.tutor-action__links{flex-direction:column;gap:2px;display:flex}.tutor-action__link{color:var(--tutor-brand-strong);text-overflow:ellipsis;white-space:nowrap;font-weight:600;text-decoration:none;overflow:hidden}.tutor-action__link:hover{text-decoration:underline}.tutor-code{border:1px solid var(--tutor-line);background:var(--surface-2,#f1f3f4);border-radius:10px;align-self:flex-start;max-width:92%;font-size:12px;overflow:hidden}.tutor-code__head{cursor:pointer;color:var(--tutor-brand-strong);padding:5px 10px;font-weight:600}.tutor-code__pre{color:#d4d4d4;white-space:pre;background:#1e1e1e;max-height:220px;margin:0;padding:8px 10px;font-family:Consolas,Monaco,monospace;font-size:11.5px;line-height:1.5;overflow:auto}.tutor-typing{color:var(--tutor-muted);align-items:center;gap:8px;padding:2px;font-size:12px;font-style:italic;display:flex}.tutor-typing__dots{gap:4px;display:inline-flex}.tutor-typing__dots i{background:var(--tutor-muted);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite tutor-typing}.tutor-typing__dots i:nth-child(2){animation-delay:.2s}.tutor-typing__dots i:nth-child(3){animation-delay:.4s}@keyframes tutor-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.tutor-yourturn{border-radius:var(--radius-pill,9999px);background:var(--success-bg,#e6f4ea);color:var(--success,#1e8e3e);align-self:flex-start;align-items:center;gap:8px;padding:5px 12px;font-size:12.5px;font-weight:600;display:flex}.tutor-yourturn__dot{background:var(--success,#1e8e3e);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite tutor-pulse-dot}@keyframes tutor-pulse-dot{0%,to{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.tutor-panel__footer{border-top:1px solid var(--tutor-line);background:var(--surface-1,#f8f9fa);color:var(--tutor-muted);justify-content:space-between;align-items:center;gap:8px;padding:7px 12px;font-size:11.5px;display:flex}.tutor-panel__usage{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tutor-panel__history{color:var(--tutor-brand-strong);white-space:nowrap;text-decoration:none}.tutor-panel__history:hover{text-decoration:underline}.tutor-panel__settings{border-top:1px solid var(--tutor-line);gap:12px;padding:8px 12px;display:flex}.tutor-panel__settings label{color:var(--tutor-muted);text-transform:capitalize;align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.tutor-panel__settings select{font:inherit;border:1px solid var(--tutor-line);border-radius:var(--radius-sm,8px);background:var(--tutor-surface);color:var(--tutor-ink);text-transform:capitalize;padding:3px 6px;font-size:12px}.tutor-panel__starters{flex-wrap:wrap;gap:6px;padding:8px 12px 0;display:flex}.tutor-starter{font:inherit;border:1px solid var(--tutor-line);border-radius:var(--radius-pill,9999px);background:var(--surface-1,#f8f9fa);color:var(--tutor-brand-strong);cursor:pointer;padding:5px 10px;font-size:12px;transition:background .15s,border-color .15s}.tutor-starter:hover{background:var(--overlay-hover,#1a73e814);border-color:var(--tutor-brand)}.tutor-panel__composer{border-top:1px solid var(--tutor-line);align-items:center;gap:6px;padding:10px 12px;display:flex}.tutor-panel__composer input{font:inherit;border:1px solid var(--tutor-line);border-radius:var(--radius-pill,9999px);background:var(--surface-1,#f8f9fa);color:var(--tutor-ink);flex:1;padding:9px 12px;font-size:13.5px}.tutor-panel__composer input:focus{border-color:var(--tutor-brand);background:var(--tutor-surface);outline:none}.tutor-coachmark{z-index:1000;background:var(--tutor-surface);width:268px;color:var(--tutor-ink);border:1px solid var(--tutor-line);border-radius:var(--radius-lg,16px);padding:14px 14px 12px;animation:.2s ease-out tutor-rise;position:fixed;bottom:92px;right:24px;box-shadow:0 16px 48px #00000038}.tutor-coachmark:after{content:"";background:var(--tutor-surface);border-right:1px solid var(--tutor-line);border-bottom:1px solid var(--tutor-line);width:14px;height:14px;position:absolute;bottom:-7px;right:26px;transform:rotate(45deg)}.tutor-coachmark__title{font-size:14px;font-weight:700;display:block}.tutor-coachmark__body{color:var(--tutor-muted);margin:6px 0 10px;font-size:12.5px;line-height:1.45}.tutor-coachmark__cta{font:inherit;border-radius:var(--radius-pill,9999px);background:linear-gradient(140deg,var(--tutor-brand),var(--tutor-brand-strong));color:#fff;cursor:pointer;border:none;padding:7px 14px;font-size:12.5px;font-weight:600}.tutor-coachmark__close{color:var(--tutor-muted);cursor:pointer;background:0 0;border:none;font-size:18px;line-height:1;position:absolute;top:6px;right:8px}@media (max-width:480px){.tutor-panel{width:auto;bottom:88px;left:16px;right:16px}.tutor-orb{bottom:16px;right:16px}.tutor-coachmark{bottom:84px;right:16px}}.tutor-edit-flash{animation:.7s ease-out tutor-edit-flash}@keyframes tutor-edit-flash{0%{background-color:#1a73e814;box-shadow:inset 0 0 0 2px #1a73e8b3}to{background-color:#0000;box-shadow:inset 0 0 0 2px #1a73e800}}.tutor-modal__overlay{z-index:1100;background:#0f172a73;justify-content:center;align-items:center;padding:16px;animation:.15s ease-out tutor-fade;display:flex;position:fixed;inset:0}@keyframes tutor-fade{0%{opacity:0}to{opacity:1}}.tutor-modal{background:var(--tutor-surface);width:440px;max-width:100%;max-height:calc(100vh - 48px);color:var(--tutor-ink);border:1px solid var(--tutor-line);border-radius:var(--radius-lg,16px);flex-direction:column;animation:.18s ease-out tutor-rise;display:flex;overflow:hidden;box-shadow:0 24px 64px #0000004d}.tutor-modal.is-wide{width:560px}.tutor-modal__head{border-bottom:1px solid var(--tutor-line);background:var(--surface-1,#f8f9fa);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.tutor-modal__title{font-size:15px;font-weight:700}.tutor-modal__body{padding:14px;overflow-y:auto}.tutor-modal__text{margin:0 0 14px;font-size:13.5px;line-height:1.5}.tutor-modal__actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.tutor-btn{font:inherit;border-radius:var(--radius-pill,9999px);cursor:pointer;border:1px solid #0000;padding:9px 16px;font-size:13px;font-weight:600}.tutor-btn:disabled{opacity:.55;cursor:default}.tutor-btn--primary{background:linear-gradient(140deg,var(--tutor-brand),var(--tutor-brand-strong));color:#fff}.tutor-btn--primary:hover:not(:disabled){filter:brightness(1.05)}.tutor-btn--ghost{border-color:var(--tutor-line);color:var(--tutor-ink);background:0 0}.tutor-btn--ghost:hover{background:var(--overlay-hover,#3c404314)}.tutor-btn--danger{background:var(--danger,#d93025);color:#fff}.tutor-btn--danger:hover{filter:brightness(1.05)}.tutor-start{flex-direction:column;gap:14px;display:flex}.tutor-start__field{flex-direction:column;gap:6px;display:flex}.tutor-start__label{font-size:12.5px;font-weight:600}.tutor-start__optional{color:var(--tutor-muted);font-weight:400}.tutor-start__chips{flex-wrap:wrap;gap:6px;display:flex}.tutor-chip{font:inherit;border-radius:var(--radius-pill,9999px);border:1px solid var(--tutor-line);background:var(--tutor-surface);color:var(--tutor-ink);cursor:pointer;padding:6px 12px;font-size:12.5px}.tutor-chip:hover{border-color:var(--tutor-brand)}.tutor-chip.is-on{background:var(--tutor-brand);border-color:var(--tutor-brand);color:#fff}.tutor-start__context{font:inherit;border:1px solid var(--tutor-line);resize:vertical;background:var(--surface-1,#f8f9fa);color:var(--tutor-ink);border-radius:10px;padding:8px 10px;font-size:13px}.tutor-start__context:focus{border-color:var(--tutor-brand);background:var(--tutor-surface);outline:none}.tutor-dropzone{text-align:center;border:2px dashed var(--tutor-line);background:var(--surface-1,#f8f9fa);color:var(--tutor-muted);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:18px 14px;font-size:12.5px;display:flex}.tutor-dropzone:hover,.tutor-dropzone.is-dragging{border-color:var(--tutor-brand);background:var(--overlay-hover,#1a73e80f)}.tutor-dropzone__icon{font-size:20px}.tutor-dropzone__hint{font-size:11px}.tutor-files{flex-direction:column;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}.tutor-file{border:1px solid var(--tutor-line);border-radius:8px;align-items:center;gap:8px;padding:5px 8px;font-size:12px;display:flex}.tutor-file__name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tutor-file__status{color:var(--tutor-muted);white-space:nowrap}.tutor-file.is-ready .tutor-file__status{color:var(--success,#1e8e3e)}.tutor-file.is-error .tutor-file__status{color:var(--danger,#d93025)}.tutor-file__remove{color:var(--tutor-muted);cursor:pointer;background:0 0;border:none;padding:0 2px}.tutor-file__remove:hover{color:var(--tutor-ink)}@media (max-width:480px){.tutor-modal,.tutor-modal.is-wide{width:100%}}@media (prefers-reduced-motion:reduce){.tutor-orb,.tutor-orb__ring,.tutor-panel,.tutor-coachmark,.tutor-modal,.tutor-modal__overlay,.tutor-typing__dots i,.tutor-yourturn__dot,.tutor-edit-flash{animation:none!important}.tutor-orb{transition:none}}
