.chat-module__jNFwxa__chat{background-color:var(--wall);background-image:var(--wall-doodle);height:100dvh;color:var(--fg);background-size:160px;flex-direction:column;display:flex}.chat-module__jNFwxa__header{background:var(--bar);min-height:3.5rem;color:var(--bar-fg);z-index:2;align-items:center;gap:.75rem;padding:.5rem .5rem .5rem .875rem;display:flex;position:relative;box-shadow:0 1px 2px #00000026}.chat-module__jNFwxa__avatar{background:var(--avatar);color:#fff;border-radius:50%;flex:none;place-items:center;width:2.5rem;height:2.5rem;display:grid}.chat-module__jNFwxa__who{flex:1;min-width:0;line-height:1.25}.chat-module__jNFwxa__name{white-space:nowrap;text-overflow:ellipsis;font-size:1rem;font-weight:600;overflow:hidden}.chat-module__jNFwxa__status{opacity:.8;font-size:.8125rem}.chat-module__jNFwxa__menuWrap{position:relative}.chat-module__jNFwxa__iconButton{width:2.5rem;height:2.5rem;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.chat-module__jNFwxa__iconButton:hover{background:#ffffff1f}.chat-module__jNFwxa__menu{background:var(--menu);min-width:14rem;color:var(--fg);transform-origin:100% 0;border-radius:.5rem;flex-direction:column;padding:.375rem 0;animation:.14s ease-out chat-module__jNFwxa__pop;display:flex;position:absolute;top:calc(100% + .25rem);right:.25rem;box-shadow:0 6px 24px #00000038}.chat-module__jNFwxa__menu a,.chat-module__jNFwxa__menu button{font:inherit;text-align:left;color:inherit;cursor:pointer;background:0 0;border:0;padding:.625rem 1rem;text-decoration:none}.chat-module__jNFwxa__menu a:hover,.chat-module__jNFwxa__menu button:hover{background:var(--hover)}.chat-module__jNFwxa__menu button:disabled{opacity:.5}.chat-module__jNFwxa__log{overscroll-behavior:contain;flex:1;overflow-y:auto}.chat-module__jNFwxa__inner{flex-direction:column;gap:.25rem;max-width:46rem;margin:0 auto;padding:.75rem .75rem 1rem;display:flex}.chat-module__jNFwxa__dateChip,.chat-module__jNFwxa__errorChip{background:var(--chip);color:var(--chip-fg);border-radius:.5rem;align-self:center;margin:.25rem 0 .5rem;padding:.25rem .75rem;font-size:.8125rem;box-shadow:0 1px 1px #00000014}.chat-module__jNFwxa__errorChip{text-align:center;max-width:90%;color:var(--danger);background:var(--bubble-in)}.chat-module__jNFwxa__errorChip button{font:inherit;color:var(--link);cursor:pointer;background:0 0;border:0;padding:0 .25rem;font-weight:600}.chat-module__jNFwxa__row{display:flex}.chat-module__jNFwxa__rowMe{justify-content:flex-end;padding-right:.5rem}.chat-module__jNFwxa__rowBot{justify-content:flex-start;padding-left:.5rem}.chat-module__jNFwxa__stack{flex-direction:column;gap:.25rem;max-width:min(85%,30rem);display:flex}.chat-module__jNFwxa__bubble{overflow-wrap:anywhere;white-space:pre-wrap;border-radius:.5rem;max-width:min(85vw,30rem);padding:.375rem .625rem;font-size:.9375rem;line-height:1.4;animation:.16s ease-out chat-module__jNFwxa__rise;position:relative;box-shadow:0 1px .5px #00000021}.chat-module__jNFwxa__stack .chat-module__jNFwxa__bubble{max-width:100%}.chat-module__jNFwxa__bot{background:var(--bubble-in)}.chat-module__jNFwxa__me{background:var(--bubble-out)}.chat-module__jNFwxa__tail{margin-top:.375rem}.chat-module__jNFwxa__bot.chat-module__jNFwxa__tail{border-top-left-radius:0}.chat-module__jNFwxa__me.chat-module__jNFwxa__tail{border-top-right-radius:0}.chat-module__jNFwxa__tail:before{content:"";width:.5rem;height:.8125rem;position:absolute;top:0}.chat-module__jNFwxa__bot.chat-module__jNFwxa__tail:before{background:var(--bubble-in);clip-path:polygon(100% 0,0 0,100% 100%);left:-.5rem}.chat-module__jNFwxa__me.chat-module__jNFwxa__tail:before{background:var(--bubble-out);clip-path:polygon(0 0,100% 0,0 100%);right:-.5rem}.chat-module__jNFwxa__step{color:var(--accent-text);margin-bottom:.125rem;font-size:.75rem;font-weight:600;display:block}.chat-module__jNFwxa__meta{float:right;color:var(--meta);white-space:nowrap;-webkit-user-select:none;user-select:none;margin-left:.75rem;font-size:.6875rem;position:relative;top:.4rem}.chat-module__jNFwxa__read{color:var(--tick)}.chat-module__jNFwxa__typing{border-top-left-radius:0;gap:.25rem;margin-top:.375rem;padding:.75rem .875rem;display:flex}.chat-module__jNFwxa__typing i{background:var(--meta);border-radius:50%;width:.4375rem;height:.4375rem;animation:1.2s ease-in-out infinite chat-module__jNFwxa__blink}.chat-module__jNFwxa__typing i:nth-child(2){animation-delay:.15s}.chat-module__jNFwxa__typing i:nth-child(3){animation-delay:.3s}.chat-module__jNFwxa__keyboard{grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem;display:grid}.chat-module__jNFwxa__keyboard.chat-module__jNFwxa__single{grid-template-columns:minmax(0,1fr)}.chat-module__jNFwxa__key{background:var(--key);min-height:2.5rem;color:var(--key-fg);font:inherit;text-align:center;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:0;border-radius:.5rem;justify-content:center;align-items:center;gap:.25rem;padding:.5rem 1.75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .12s;display:flex;position:relative}.chat-module__jNFwxa__key:hover{background:var(--key-hover)}.chat-module__jNFwxa__key:active{transform:scale(.98)}.chat-module__jNFwxa__keyNum{opacity:.6;font-size:.6875rem;position:absolute;left:.625rem}.chat-module__jNFwxa__keyOn{background:var(--accent);color:var(--accent-fg)}.chat-module__jNFwxa__keyOn:hover{background:var(--accent)}.chat-module__jNFwxa__keyPrimary{background:var(--accent);color:var(--accent-fg);grid-column:1/-1}.chat-module__jNFwxa__keyPrimary:hover{background:var(--accent);filter:brightness(1.08)}.chat-module__jNFwxa__keyPrimary:disabled{cursor:default;background:var(--key);color:var(--key-fg);opacity:.7;filter:none}.chat-module__jNFwxa__composer{padding:.5rem max(.5rem,50% - 22.25rem);padding-bottom:max(.5rem, env(safe-area-inset-bottom));background:var(--composer);align-items:center;gap:.5rem;display:flex}.chat-module__jNFwxa__composer input{background:var(--input);min-width:0;height:2.75rem;color:var(--fg);font:inherit;border:0;border-radius:1.375rem;flex:1;padding:0 1.125rem;font-size:1rem;box-shadow:0 1px 1px #00000014}.chat-module__jNFwxa__composer input::placeholder{color:var(--meta)}.chat-module__jNFwxa__composer input:focus-visible{outline:2px solid var(--accent);outline-offset:0}.chat-module__jNFwxa__send{background:var(--accent);width:2.75rem;height:2.75rem;color:var(--accent-fg);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.chat-module__jNFwxa__send:disabled{cursor:default;opacity:.55}.chat-module__jNFwxa__rich{white-space:normal;padding:.625rem .75rem .5rem}.chat-module__jNFwxa__card{white-space:normal}.chat-module__jNFwxa__cardTitle{font-size:1rem;font-weight:600}.chat-module__jNFwxa__cardMeta{color:var(--meta);margin:.125rem 0 0;font-size:.8125rem}.chat-module__jNFwxa__courses{flex-direction:column;margin:.625rem 0 .25rem;padding:0;list-style:none;display:flex}.chat-module__jNFwxa__courses li{border-top:1px solid var(--line);grid-template-columns:4.25rem 1fr;gap:.625rem;padding:.5rem 0;display:grid}.chat-module__jNFwxa__courses a{color:var(--link);font-weight:500;text-decoration:none}.chat-module__jNFwxa__courses a:hover{text-decoration:underline}.chat-module__jNFwxa__weekChip{background:var(--chip-week);color:var(--accent-text);white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:.375rem;place-self:start;padding:.125rem .4375rem;font-size:.75rem;font-weight:600}.chat-module__jNFwxa__hours,.chat-module__jNFwxa__reason{font-size:.8125rem;display:block}.chat-module__jNFwxa__hours{color:var(--meta)}.chat-module__jNFwxa__reason{margin-top:.125rem}.chat-module__jNFwxa__compact .chat-module__jNFwxa__header{min-height:3rem;padding-block:.25rem}.chat-module__jNFwxa__compact .chat-module__jNFwxa__avatar{width:2.125rem;height:2.125rem}.chat-module__jNFwxa__chat button:focus-visible,.chat-module__jNFwxa__chat a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes chat-module__jNFwxa__rise{0%{opacity:0;transform:translateY(4px)}}@keyframes chat-module__jNFwxa__pop{0%{opacity:0;transform:scale(.96)}}@keyframes chat-module__jNFwxa__blink{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){.chat-module__jNFwxa__bubble,.chat-module__jNFwxa__menu{animation:none}.chat-module__jNFwxa__typing i{animation-duration:2.4s}}.chat-module__jNFwxa__actionKeys{width:min(85%,30rem)}.chat-module__jNFwxa__lesson{white-space:normal}.chat-module__jNFwxa__lessonTop{color:var(--meta);flex-direction:column;gap:.25rem;margin-bottom:.5rem;font-size:.75rem;display:flex}.chat-module__jNFwxa__bar{background:var(--line);border-radius:2px;height:3px;display:block;overflow:hidden}.chat-module__jNFwxa__bar span{background:var(--accent);height:100%;display:block}.chat-module__jNFwxa__topic{border-left:3px solid var(--accent);background:var(--chip-week);color:var(--accent-text);border-radius:0 .375rem .375rem 0;margin:.125rem 0 .5rem;padding:.375rem .625rem;font-size:.8125rem;font-weight:600;text-decoration:none;display:block}.chat-module__jNFwxa__kind{color:var(--accent-text);margin-bottom:.125rem;font-size:.75rem;font-weight:600}.chat-module__jNFwxa__lessonHeading{margin-bottom:.25rem;font-weight:600}.chat-module__jNFwxa__lessonBody ul{margin:.25rem 0;padding-left:1.25rem}.chat-module__jNFwxa__lessonBody code,.chat-module__jNFwxa__key code{background:var(--code-inline);border-radius:.25rem;padding:.05rem .3rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em}.chat-module__jNFwxa__code{background:var(--code-bg);color:var(--code-fg);white-space:pre;border-radius:.5rem;margin:.5rem 0 .25rem;padding:.625rem .75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8125rem;line-height:1.5;overflow-x:auto}.chat-module__jNFwxa__figure{margin:.5rem 0 .25rem}.chat-module__jNFwxa__figure img{background:#fff;border-radius:.5rem;width:100%;height:auto;display:block}.chat-module__jNFwxa__figure figcaption{color:var(--meta);margin-top:.25rem;font-size:.75rem}.chat-module__jNFwxa__courseDone a{color:var(--meta)}.chat-module__jNFwxa__statusDone{color:var(--ok);font-weight:600}.chat-module__jNFwxa__statusNow{color:var(--accent-text);font-weight:600}
