@layer theme,base,components,utilities;@layer components{.oe-tutor{display:grid;gap:24px;min-width:0}.oe-tutor__layout{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}@media(min-width:1024px){.oe-tutor__layout{grid-template-columns:minmax(0,1fr) 320px}}.oe-tutor__chat{display:flex;flex-direction:column;gap:20px;min-width:0;height:min(70dvh,640px);min-height:420px}.oe-tutor__chat>.oe-tutor__head,.oe-tutor__chat>.oe-mastery,.oe-tutor__chat>.oe-tutor-composer{flex:none}.oe-tutor__chat>.oe-tutor-scrollwrap{flex:1 1 auto}@media(max-width:767.98px){.oe-tutor__chat{height:calc(100dvh - var(--oe-bar-h) - 16px)}.oe-tutor__chat .oe-tutor-composer__box{height:calc(4.5em + 26px)}}@media(min-width:1024px){.oe-tutor__chat{--oe-tutor-above: 176px;height:clamp(420px,calc(100dvh - var(--oe-bar-h, 64px) - var(--oe-strip-h, 0px) - var(--oe-tutor-above)),760px)}}.oe-tutor-side{display:grid;gap:24px;min-width:0}.oe-tutor-guide{display:grid;justify-items:center;gap:12px}.oe-tutor-voice{margin:0;font-size:1rem;font-weight:600;line-height:1.5;color:var(--oe-ink)}.oe-tutor-card__title{margin:0;font-family:var(--oe-font-display);font-size:1.5rem;font-weight:600;line-height:1.2;color:var(--oe-ink)}.oe-tutor-howto__list{display:grid;gap:8px;margin:12px 0 0;padding-left:20px;list-style:disc;font-size:1rem;line-height:1.5;color:var(--oe-ink)}.oe-tutor__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px}.oe-tutor__new{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 12px}.oe-tutor__newbtn{min-height:44px;padding:0 16px;font-size:1rem}.oe-tutor__newproblem{font-size:.875rem;font-weight:600;color:var(--oe-danger)}.oe-tutor-chat{display:grid;gap:16px;min-width:0}.oe-tutor-scrollwrap{position:relative;display:flex;flex-direction:column;gap:8px;min-width:0;min-height:0}.oe-tutor-chat--scroll{flex:1 1 auto;align-content:start;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px;margin:-4px;border-radius:var(--oe-radius-control)}.oe-tutor-newreply{position:absolute;bottom:8px;left:50%;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px;font:inherit;font-size:.875rem;font-weight:600;line-height:1;color:var(--oe-navy);background-color:var(--oe-surface);background-image:var(--oe-quiet-fill);border:1px solid var(--oe-line-strong);border-radius:999px;box-shadow:var(--oe-quiet-shadow);transform:translate(-50%);cursor:pointer}.oe-tutor-newreply:hover{box-shadow:var(--oe-quiet-shadow-hover)}.oe-tutor-voicenotice{margin:0;font-size:.875rem;font-weight:500;line-height:1.5;color:var(--oe-ink-muted)}.oe-tutor-voicenotice:empty{display:none}.oe-mastery{display:grid;gap:8px;min-width:0}.oe-mastery__title{margin:0;font-family:var(--oe-font-sans);font-size:.875rem;font-weight:700;line-height:1.35;color:var(--oe-ink)}.oe-mastery__list{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0;padding:0;list-style:none}.oe-mastery__bar{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label count" "track track";align-items:baseline;gap:4px 8px;flex:1 1 10rem;min-width:8rem;max-width:16rem}.oe-mastery__label{grid-area:label;font-size:.875rem;font-weight:600;line-height:1.35;color:var(--oe-ink);overflow-wrap:anywhere}.oe-mastery__count{grid-area:count;font-size:.875rem;font-weight:500;line-height:1.35;color:var(--oe-ink-muted);white-space:nowrap}.oe-mastery__track{position:relative;grid-area:track;box-sizing:border-box;height:10px;overflow:hidden;background-color:var(--oe-ice);border:1px solid var(--oe-line-strong);border-radius:999px}.oe-mastery__fill{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--oe-brand);border-radius:inherit;transform:scaleX(0);transform-origin:left center}.oe-mastery__track[data-level="1"] .oe-mastery__fill{transform:scaleX(.2)}.oe-mastery__track[data-level="2"] .oe-mastery__fill{transform:scaleX(.4)}.oe-mastery__track[data-level="3"] .oe-mastery__fill{transform:scaleX(.6)}.oe-mastery__track[data-level="4"] .oe-mastery__fill{transform:scaleX(.8)}.oe-mastery__track[data-level="5"] .oe-mastery__fill{transform:scaleX(1)}.oe-mastery__glow{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 0 6px 2px var(--oe-quill);opacity:0;pointer-events:none}.oe-tutor-log__list{display:grid;gap:16px;margin:0;padding:0;list-style:none}.oe-tutor-turn{display:grid;gap:4px;justify-items:start;min-width:0}.oe-tutor-turn--student{justify-items:end}.oe-tutor-turn__who{margin:0;font-size:.875rem;font-weight:600;line-height:1.35;color:var(--oe-ink-muted)}.oe-tutor-turn__bubble{box-sizing:border-box;max-width:min(100%,42rem);padding:12px 16px;font-size:1rem;line-height:1.55;color:var(--oe-ink);background-color:var(--oe-ice);border:1px solid var(--oe-line);border-radius:var(--oe-radius-control);overflow-wrap:anywhere}.oe-tutor-turn--student .oe-tutor-turn__bubble{color:var(--oe-ink);background-color:var(--oe-brand-soft);border-color:var(--oe-brand-soft)}.oe-tutor-turn__plain{margin:0;white-space:pre-wrap}.oe-tutor-text{display:grid;gap:12px;min-width:0}.oe-tutor-text p,.oe-tutor-text ul,.oe-tutor-text ol{margin:0}.oe-tutor-text ul,.oe-tutor-text ol{display:grid;gap:4px;padding-left:24px}.oe-tutor-text ul{list-style:disc}.oe-tutor-text ol{list-style:decimal}.oe-tutor-text strong{font-weight:700}.oe-tutor-turn__tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.oe-tutor-listen{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;font:inherit;font-size:.875rem;font-weight:600;line-height:1;color:var(--oe-navy);background-color:var(--oe-surface);background-image:var(--oe-quiet-fill);border:1px solid var(--oe-line-strong);border-radius:var(--oe-radius-control);box-shadow:var(--oe-quiet-shadow);cursor:pointer}.oe-tutor-listen:hover{box-shadow:var(--oe-quiet-shadow-hover)}.oe-tutor-listen:active{box-shadow:var(--oe-quiet-shadow-press)}.oe-tutor-turn__problem{font-size:.875rem;font-weight:500;color:var(--oe-ink-muted)}.oe-tutor-thinking{margin:0;font-size:.875rem;font-weight:600;color:var(--oe-ink-muted)}.oe-tutor-thinking:empty{display:none}.oe-tutor-starters{display:grid;gap:8px}.oe-tutor-starters__title{margin:0;font-size:1rem;font-weight:600;color:var(--oe-ink)}.oe-tutor-starters__list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.oe-tutor-starter{min-height:44px;padding:8px 12px;font:inherit;font-size:.875rem;font-weight:600;line-height:1.35;text-align:left;color:var(--oe-navy);background-color:var(--oe-surface);background-image:var(--oe-quiet-fill);border:1px solid var(--oe-line-strong);border-radius:var(--oe-radius-control);box-shadow:var(--oe-quiet-shadow);cursor:pointer}.oe-tutor-starter:hover{box-shadow:var(--oe-quiet-shadow-hover)}.oe-tutor-starter:active{box-shadow:var(--oe-quiet-shadow-press)}.oe-tutor-composer{display:grid;gap:8px;min-width:0}.oe-tutor-composer__label{font-size:1rem;font-weight:600;color:var(--oe-ink)}.oe-tutor-composer__box{box-sizing:border-box;width:100%;min-height:88px;padding:12px;font:inherit;font-size:1rem;line-height:1.5;color:var(--oe-ink);background-color:var(--oe-surface);border:1px solid var(--oe-line-strong);border-radius:var(--oe-radius-control);resize:vertical}.oe-tutor-composer__box:disabled{color:var(--oe-ink-muted);background-color:var(--oe-ice);cursor:not-allowed}.oe-tutor-composer__count{margin:0;font-size:.875rem;font-weight:500;text-align:right;color:var(--oe-ink-muted)}.oe-tutor-composer__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.oe-tutor-composer__line{flex:1 1 12rem;margin:0;font-size:.875rem;font-weight:500;line-height:1.5;color:var(--oe-ink-muted)}.oe-tutor-composer__line[data-off=true]{font-size:1rem;font-weight:600;color:var(--oe-ink)}.oe-tutor-composer__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px}.oe-tutor-composer__alert{margin:0;font-size:1rem;font-weight:600;line-height:1.5;color:var(--oe-danger)}.oe-tutor-speak{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.oe-tutor-speak__status,.oe-tutor-speak__time{font-size:.875rem;font-weight:500;color:var(--oe-ink-muted)}.oe-tutor-speak__problem{font-size:.875rem;font-weight:600;color:var(--oe-danger)}.oe-guide-chat{--oe-ring: var(--oe-focus);display:grid;gap:12px;min-width:0;color:var(--oe-ink)}.oe-guide-chat__title{margin:8px 0 0;font-family:var(--oe-font-sans);font-size:1rem;font-weight:700;line-height:1.35;color:var(--oe-ink)}.oe-guide-chat__body{display:grid;gap:12px;min-width:0}.oe-guide-chat__line,.oe-guide-chat__context{margin:0;font-size:1rem;line-height:1.5;color:var(--oe-ink)}.oe-guide-chat__context{font-weight:600}.oe-guide-chat__problem{margin:0;font-size:.875rem;font-weight:600;color:var(--oe-danger)}.oe-guide-chat__signin,.oe-guide-chat__earlier,.oe-report__open{display:inline-flex;align-items:center;min-height:44px;padding:0;font:inherit;font-size:1rem;font-weight:600;text-align:left;color:var(--oe-brand);text-decoration:underline;text-underline-offset:3px;background:none;border:0;cursor:pointer}.oe-guide-chat__earlier[aria-disabled=true]{color:var(--oe-ink-muted);cursor:progress}.oe-guide-chat .oe-tutor-turn__bubble{max-width:100%}.oe-guide-chat[data-fill=true]{display:flex;flex-direction:column;height:100%;min-height:0}.oe-guide-chat[data-fill=true]>.oe-guide-chat__title{flex:none}.oe-guide-chat[data-fill=true]>.oe-guide-chat__body{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.oe-guide-chat[data-fill=true] .oe-guide-chat__body>*{flex:none}.oe-guide-chat[data-fill=true] .oe-guide-chat__body>.oe-tutor-scrollwrap{flex:1 1 auto}.oe-report{display:grid;gap:8px;min-width:0}.oe-report__form{display:grid;gap:12px}.oe-report__reasons{display:grid;gap:4px;margin:0;padding:0;border:0}.oe-report__legend{margin:0 0 4px;padding:0;font-size:1rem;font-weight:700;color:var(--oe-ink)}.oe-report__reason{display:flex;align-items:center;gap:12px;min-height:44px;font-size:1rem;color:var(--oe-ink);cursor:pointer}.oe-report__reason input{flex-shrink:0;width:20px;height:20px;margin:0;accent-color:var(--oe-brand)}.oe-report__notelabel{font-size:1rem;font-weight:600;color:var(--oe-ink)}.oe-report__note{box-sizing:border-box;width:100%;padding:12px;font:inherit;font-size:1rem;line-height:1.5;color:var(--oe-ink);background-color:var(--oe-surface);border:1px solid var(--oe-line-strong);border-radius:var(--oe-radius-control);resize:vertical}.oe-report__actions{display:flex;flex-wrap:wrap;gap:12px}.oe-report__problem{margin:0;font-size:1rem;font-weight:600;color:var(--oe-danger)}.oe-report__status{margin:0;font-size:1rem;font-weight:600;color:var(--oe-ink)}.oe-report__status:empty{display:none}.oe-faq__body{display:grid;gap:24px;max-width:56rem}.oe-faq__questions{display:grid;gap:12px}.oe-faq__searchlabel{font-size:1rem;font-weight:600;color:var(--oe-ink)}.oe-faq__search{box-sizing:border-box;width:100%;min-height:48px;padding:0 12px;font:inherit;font-size:1rem;color:var(--oe-ink);background-color:var(--oe-surface);border:1px solid var(--oe-line-strong);border-radius:var(--oe-radius-control)}.oe-faq__listline{margin:0;font-size:1rem;color:var(--oe-ink-muted)}.oe-faq__listline:empty{display:none}.oe-faq__items{display:grid}.oe-faq__item{border-top:1px solid var(--oe-line)}.oe-faq__item:last-child{border-bottom:1px solid var(--oe-line)}.oe-faq__q{display:flex;align-items:center;min-height:44px;padding:12px 4px;font-size:1rem;font-weight:700;line-height:1.4;color:var(--oe-ink);cursor:pointer}.oe-faq__a{padding:0 4px 16px;font-size:1rem;line-height:1.55;color:var(--oe-ink)}.oe-faq__support{margin:0;font-size:1rem;line-height:1.5;color:var(--oe-on-ground)}.oe-faq__support a{font-weight:600;color:var(--oe-link-ground);text-decoration:underline;text-underline-offset:3px}.oe-guide-chat :focus-visible{outline:2px solid var(--oe-ring);outline-offset:2px}@media(max-width:767.98px){.oe-tutor-composer__actions{width:100%}.oe-tutor-composer__send{flex:1 1 auto}}@media(prefers-reduced-motion:no-preference){.oe-tutor-listen,.oe-tutor-starter,.oe-tutor-newreply{transition:box-shadow var(--oe-dur-fast) var(--oe-ease-out)}.oe-mastery__fill{transition:transform .6s var(--oe-ease-out)}.oe-mastery__glow{animation:oe-mastery-glow 1.2s var(--oe-ease-out) .6s forwards}.oe-mastery__bar[data-new=true]{animation:oe-mastery-in var(--oe-dur-base) var(--oe-ease-out) both}@keyframes oe-mastery-glow{0%{opacity:0}15%{opacity:1}to{opacity:0}}@keyframes oe-mastery-in{0%{opacity:0}to{opacity:1}}}}
