@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html{scroll-behavior:smooth}.skip-link{z-index:1000;border-radius:var(--mantine-radius-sm);background:var(--mantine-color-body);color:var(--mantine-color-text);box-shadow:var(--mantine-shadow-md);padding:8px 12px;transition:transform .15s;position:fixed;top:8px;left:8px;transform:translateY(-200%)}.skip-link:focus{outline:2px solid var(--mantine-color-brand-5);outline-offset:2px;transform:translateY(0)}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:var(--mantine-color-body);min-height:100vh;color:var(--mantine-color-text);line-height:1.6}.tabular-nums{font-variant-numeric:tabular-nums}.shell-content{--shell-content-pad:var(--mantine-spacing-sm);padding:var(--shell-content-pad)}@media (min-width:48em){.shell-content{--shell-content-pad:var(--mantine-spacing-lg)}}[data-mantine-color-scheme=dark]{--mantine-color-default-border:#ffffff1a}:focus-visible{outline:2px solid var(--mantine-color-brand-6);outline-offset:2px;border-radius:2px}::selection{background:var(--mantine-color-brand-2);color:var(--mantine-color-brand-9)}*{scrollbar-width:thin;scrollbar-color:var(--mantine-color-gray-3) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--mantine-color-gray-3);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--mantine-color-gray-4)}h1,h2,h3{text-wrap:balance}.table-scroll{--table-scroll-bg:var(--mantine-color-body);--table-scroll-shadow:#00000024;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pan-y;background-color:var(--table-scroll-bg);background-image:linear-gradient(to right, var(--table-scroll-bg) 30%, transparent), linear-gradient(to left, var(--table-scroll-bg) 30%, transparent), radial-gradient(farthest-side at 0 50%, var(--table-scroll-shadow), transparent), radial-gradient(farthest-side at 100% 50%, var(--table-scroll-shadow), transparent);background-position:0,100%,0,100%;background-repeat:no-repeat;background-size:28px 100%,28px 100%,10px 100%,10px 100%;background-attachment:local,local,scroll,scroll;overflow:auto}.table-scroll-inner{min-width:100%}[data-mantine-color-scheme=dark] .table-scroll{--table-scroll-shadow:#00000080}.data-table-row:hover,.data-table-row[aria-selected=true]{background:var(--mantine-color-brand-light)}.hover-row:hover{background:var(--mantine-color-default-hover)}.case-card:hover{box-shadow:var(--mantine-shadow-sm);transform:translateY(-1px)}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes marquee-third{0%{transform:translate(0)}to{transform:translate(-33.3333%)}}@keyframes audio-wave{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.typing-dots{gap:4px;padding:4px 0;display:flex}.typing-dots span{background:var(--mantine-color-dimmed);opacity:.4;border-radius:999px;width:8px;height:8px;animation:1.4s ease-in-out infinite typing-bounce}.typing-dots span:first-child{animation-delay:-.32s}.typing-dots span:nth-child(2){animation-delay:-.16s}.stream-cursor{vertical-align:-.15em;background:currentColor;border-radius:1px;width:2px;height:1em;margin-left:2px;animation:1s step-end infinite stream-cursor-blink;display:inline-block}@keyframes stream-cursor-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes typing-bounce{0%,80%,to{opacity:.3;transform:scale(.3)}40%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes patient-speaking{0%,to{opacity:.35;transform:scale(1)}50%{opacity:.9;transform:scale(1.02)}}.patient-speaking-ring{pointer-events:none;animation:1.1s ease-in-out infinite patient-speaking}@keyframes patient-wave{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}.patient-wave-bar{transform-origin:bottom;animation:.9s ease-in-out infinite patient-wave}@keyframes patient-breath{0%,to{opacity:.55;transform:scaleY(.3)}50%{opacity:1;transform:scaleY(1)}}.patient-breath-bar{transform-origin:bottom;animation:3s ease-in-out infinite patient-breath}@keyframes patient-live-breath{0%,to{transform:translateY(.4px)scale(1)}50%{transform:translateY(-.6px)scale(1.004)}}.patient-live-breath{transform-origin:50% 88%;will-change:transform;animation:3.2s ease-in-out infinite patient-live-breath}@keyframes patient-live-nod{0%,to{transform:translate(0,0)rotate(0)}30%{transform:translate3d(0, calc(var(--nod-scale,.7) * 4px), 0) rotate(calc(var(--nod-scale,.7) * -1deg))}65%{transform:translate3d(0, calc(var(--nod-scale,.7) * 1.2px), 0) rotate(calc(var(--nod-scale,.7) * .3deg))}}.patient-live-nod{transform-origin:50% 100%;will-change:transform;animation:2.6s ease-in-out infinite patient-live-nod}.stu-surface{--stu-bg:#f6f5f2;--stu-panel:#fff;--stu-ink:#1b1f1e;--stu-ink-dim:#6b7472;--stu-line:#18201e17;--stu-line-strong:#18201e29;--stu-accent-soft:#147a6e14;--stu-radius:14px;--stu-radius-sm:10px;--stu-gap:12px;background:var(--stu-bg);color:var(--stu-ink)}[data-mantine-color-scheme=dark] .stu-surface{--stu-bg:#121413;--stu-panel:#181b1a;--stu-ink:#e8ecea;--stu-ink-dim:#939c99;--stu-line:#e8ecea1a;--stu-line-strong:#e8ecea2e;--stu-accent-soft:#4ec8b21f}.stu-header{background:color-mix(in srgb, var(--stu-bg) 88%, transparent);-webkit-backdrop-filter:saturate(140%)blur(8px);backdrop-filter:saturate(140%)blur(8px);border-bottom:1px solid var(--stu-line)}.stu-header .stu-timer{color:var(--stu-ink-dim);font-variant-numeric:tabular-nums;gap:5px}.stu-header .stu-timer[data-tone=warn]{color:#b4761c}.stu-header .stu-timer[data-tone=danger]{color:#c0432f}.stu-header .stu-finish:hover{color:#c0432f;background:#c0432f0f;border-color:#c0432f73}.stu-welcome .mantine-Card-root,.stu-welcome .mantine-Paper-root{background:var(--stu-panel)!important;border:1px solid var(--stu-line)!important;border-radius:var(--stu-radius)!important;box-shadow:none!important}.stu-chat{background:var(--stu-bg)}.stu-chat [data-role=patient]>div:first-child{box-shadow:none!important;border-width:1px!important;border-color:var(--stu-line)!important}.stu-composer{background:color-mix(in srgb, var(--stu-bg) 92%, transparent);border-top:1px solid var(--stu-line)!important}.stu-composer .stu-hint{color:var(--stu-ink-dim);letter-spacing:.01em;font-size:12px}.stu-activity{border-top:1px solid var(--stu-line)!important;background:var(--stu-panel)!important;gap:8px!important;padding:8px 10px!important}.stu-activity button{border:1px solid var(--stu-line)!important;background:0 0!important;border-radius:999px!important}.stu-activity button[data-active=true]{border-color:color-mix(in srgb, var(--mantine-color-brand-6) 40%, transparent)!important;background:var(--stu-accent-soft)!important}
