:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f7f6f9;--color-page:#fbfafe;--color-surface:#fff;--color-surface-soft:#f6f4fa;--color-lavender:#f3f0fb;--color-lavender-2:#ebe7f7;--color-text:#19172b;--color-heading:#29205f;--color-muted:#8d8a9f;--color-border:#ece9f3;--color-primary:#5b4aa2;--color-primary-2:#7869bd;--color-primary-strong:#29205f;--color-success:#29a86a;--color-warning:#f2994a;--color-danger:#e14b58;--color-blue:#4d7dff;--shadow-soft:0 18px 42px #2620471f;--shadow-card:0 10px 26px #26204712;--radius-xs:10px;--radius-sm:13px;--radius-md:18px;--radius-lg:24px;--mobile-max-width:430px;--font-sans:"PingFang SC", "Microsoft YaHei", "Noto Sans SC", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html{background:var(--color-bg);scroll-behavior:smooth}body{min-width:0;color:var(--color-text);background:var(--color-bg);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.5;overflow-x:hidden}body,button,input,select,textarea{font:inherit}button,input,select,textarea{border:0}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}svg{flex:none;width:1em;height:1em}#root{min-height:100vh}.desktop-shell{background:radial-gradient(circle at top left, #5b4aa21f, transparent 34rem), var(--color-bg);min-height:100vh}.desktop-topbar{grid-template-columns:minmax(15rem,1fr) auto minmax(12rem,1fr);align-items:center;gap:1rem;width:min(1120px,100% - 2rem);margin:0 auto;padding:1rem 0;display:grid}.desktop-topbar strong,.desktop-topbar span{display:block}.desktop-topbar span,.page-heading p,.page-heading span,.panel p,.check-item span{color:var(--color-muted)}.desktop-topbar nav{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#ffffffad;gap:.5rem;padding:.25rem;display:flex}.nav-link,.account-chip,.status-pill,.primary-link{border-radius:var(--radius-sm);align-items:center;gap:.45rem;font-size:.92rem;font-weight:700;display:inline-flex}.nav-link{color:var(--color-muted);padding:.55rem .75rem}.nav-link.active,.primary-link{color:#fff;background:var(--color-primary)}.account-chip{background:var(--color-surface);border:1px solid var(--color-border);justify-self:end;padding:.55rem .75rem}.page-shell{width:min(1120px,100% - 2rem);margin:0 auto;padding:3rem 0 4rem}.page-stack,.check-grid,.plain-list{gap:1rem;display:grid}.page-heading{gap:.45rem;max-width:42rem;display:grid}.page-heading h1{color:var(--color-heading);font-size:clamp(2rem,5vw,4rem);line-height:1.08}.panel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.plain-list{margin:0;padding:0;list-style:none}.plain-list li,.check-item{border-radius:var(--radius-sm);background:var(--color-surface-soft);padding:.75rem}.primary-link{width:fit-content;padding:.72rem 1rem}.mobile-app-shell{background:linear-gradient(180deg, #ffffffad, transparent 34rem), var(--color-bg);min-height:100vh}.mobile-page{width:100%;max-width:var(--mobile-max-width);min-height:100vh;padding:calc(18px + env(safe-area-inset-top)) 18px calc(24px + env(safe-area-inset-bottom));color:var(--color-text);background:linear-gradient(180deg, #fff 0%, var(--color-page) 100%);margin:0 auto;position:relative;overflow-x:hidden}.mobile-page--with-nav{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.mobile-page--fixed{height:100vh;overflow:hidden}.status-bar{color:#252234;justify-content:space-between;align-items:center;height:24px;margin:0 -2px 12px;font-size:12px;font-weight:800;display:flex}.mobile-topbar{grid-template-columns:minmax(68px,1fr) auto minmax(68px,1fr);align-items:center;gap:8px;min-height:34px;margin-bottom:16px;display:grid}.mobile-topbar h1,.screen-title{color:var(--color-heading);letter-spacing:0;font-size:21px;font-weight:900}.mobile-back{color:#5b566e;background:0 0;align-items:center;gap:3px;width:fit-content;height:30px;padding:0 2px 0 0;font-size:14px;font-weight:800;display:inline-flex}.mobile-topbar__right{justify-self:end}.subcopy{color:#8a8598;margin:8px 0 24px;font-size:13px;line-height:1.6}.circle-bg{background:#5b4aa224;border-radius:50%;width:190px;height:190px;position:absolute;top:22px;right:-60px}.hospital-logo{width:116px;height:116px;color:var(--color-primary);background:#fff;border:10px solid #f4f0fb;border-radius:50%;place-items:center;margin:0 auto;display:grid;position:relative;box-shadow:0 16px 36px #5b4aa23d}.hospital-logo:before{content:"";border:2px solid var(--color-primary);border-radius:50%;position:absolute;inset:9px}.hospital-logo:after{content:"1980";width:40px;color:var(--color-primary);text-align:center;font-size:8px;font-weight:900;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.hospital-logo svg{z-index:1;color:#fff;background:var(--color-primary);border-radius:50%;width:64px;height:64px;padding:13px;position:relative}.hospital-logo--small{border-width:8px;width:94px;height:94px;margin-bottom:22px;box-shadow:0 12px 28px #5b4aa233}.hospital-logo--small svg{width:52px;height:52px;padding:11px}.app-name{color:var(--color-heading);letter-spacing:4px;font-size:24px;font-weight:900}.tagline{color:#777286;margin-top:10px;font-size:12px}.version{color:#8f899b;margin-top:150px;font-size:12px}.splash-page{background:linear-gradient(#fff 0%,#fbf9ff 50%,#f8f5ff 100%)}.splash-content{width:100%;height:100%;min-height:calc(100vh - 36px);color:inherit;text-align:center;background:0 0;flex-direction:column;align-items:center;padding-top:min(34vh,262px);display:flex;position:relative}.splash-content .hospital-logo{width:126px;height:126px;margin-bottom:58px}.splash-content .hospital-logo svg{width:70px;height:70px}.auth-logo{text-align:center;flex-direction:column;align-items:center;margin:34px 0;display:flex}.auth-form{gap:14px;display:grid}.test-account-panel{border-radius:var(--radius-sm);background:#f7f5fb;border:1px solid #ece8f5;margin:-18px 0 14px;padding:12px}.test-account-panel__head{color:#4d465f;justify-content:space-between;align-items:center;margin-bottom:9px;font-size:12px;display:flex}.test-account-panel__head span{color:#928ca4;font-size:10px}.test-account-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.test-account-grid button{color:#5f5870;background:#fff;border:1px solid #e7e2f1;border-radius:10px;justify-content:space-between;align-items:center;min-width:0;min-height:36px;padding:0 9px;font-size:11px;display:flex}.test-account-grid button.is-selected{color:var(--color-primary);background:#f0ecfb;border-color:#bfb5e2;box-shadow:0 0 0 2px #5b4aa214}.test-account-grid button span{color:#9892a5;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.input-wrap{border-radius:var(--radius-sm);background:#f6f4fa;border:1px solid #0000;align-items:center;min-height:48px;transition:border-color .2s,background .2s,box-shadow .2s;display:flex;position:relative}.input-wrap:focus-within{background:#fff;border-color:#d8d1ef;box-shadow:0 0 0 3px #5b4aa214}.input-icon{width:42px;color:var(--color-primary);place-items:center;font-size:18px;display:grid}.input-wrap input{color:#2b263c;background:0 0;outline:0;width:100%;min-width:0;height:46px;font-size:14px}.input-wrap input::placeholder{color:#aca8b7}.input-wrap input:disabled{color:#908ba0}.field-action{min-width:58px;height:32px;color:var(--color-blue);white-space:nowrap;background:0 0;border-radius:10px;margin-right:8px;padding:0 6px;font-size:12px;font-weight:800}.field-action--icon{color:#928ca4;min-width:38px;font-size:18px}.primary-button,.ghost-button,.danger-button{border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;padding:0 14px;font-size:16px;font-weight:900;transition:transform .15s,box-shadow .15s,opacity .15s;display:inline-flex}.primary-button{color:#fff;background:linear-gradient(135deg, var(--color-primary), #6c5bc0);box-shadow:0 12px 22px #5b4aa23d}.primary-button:hover{transform:translateY(-1px);box-shadow:0 16px 28px #5b4aa247}.ghost-button{color:var(--color-primary);background:#f2effb}.danger-button{color:var(--color-danger);background:#fff0f1}.button-icon{place-items:center;display:inline-grid}.link-row{color:#8a8598;justify-content:center;align-items:center;gap:22px;margin-top:18px;font-size:13px;font-weight:800;display:flex}.link-row button{color:#8a8598;background:0 0;padding:4px 0;font-size:13px;font-weight:800}.home-head{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.home-page{scrollbar-width:none;height:100vh;overflow-y:auto}.home-page::-webkit-scrollbar{display:none}.doctor{min-width:0;color:inherit;text-align:left;background:0 0;align-items:center;gap:10px;display:flex}.avatar{color:#fff;background:linear-gradient(135deg, var(--color-primary), #8b78d2);border-radius:50%;flex:none;place-items:center;width:42px;height:42px;font-size:17px;font-weight:900;display:grid;box-shadow:0 10px 18px #5b4aa238}.avatar--large{background:#fff3;border:4px solid #ffffff94;width:78px;height:78px;margin:0 auto 12px;font-size:30px}.hello,.doctor span span{color:#918ca0;font-size:12px;display:block}.doctor strong{color:#272238;text-overflow:ellipsis;white-space:nowrap;max-width:245px;margin-top:4px;font-size:15px;display:block;overflow:hidden}.notice{width:36px;height:36px;color:var(--color-primary);background:#f4f1fb;border-radius:12px;place-items:center;font-size:17px;display:grid}.quick-actions{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px;display:grid}.action-tile{min-height:145px;color:var(--color-heading);text-align:center;background:#fff;border:1px solid #ece8f5b8;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;padding:20px 10px 17px;transition:transform .16s,box-shadow .16s;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 24px #3c336017}.action-tile:after{z-index:0;content:"";background:#f2effa;border-radius:0 0 0 70px;width:70px;height:70px;position:absolute;top:0;right:0}.action-tile:active{transform:translateY(1px);box-shadow:0 6px 16px #3c336014}.action-icon{z-index:1;color:#fff;background:#5f4ca0;border-radius:15px;place-items:center;width:52px;height:52px;margin-bottom:14px;display:grid;position:relative;box-shadow:0 8px 18px #5f4ca033}.action-icon svg{stroke-width:2.2px;width:26px;height:26px}.action-title{z-index:1;color:currentColor;font-size:16px;font-weight:900;line-height:1.25;position:relative}.action-desc{z-index:1;color:#7e778f;margin-top:7px;font-size:12px;font-weight:700;line-height:1.3;position:relative}.panel{border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);background:#fff}.leaderboard{padding:16px}.section-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:13px;display:flex}.section-head h2,.section-head h3{color:var(--color-heading);align-items:center;gap:6px;font-size:16px;font-weight:900;display:inline-flex}.section-head button{color:var(--color-primary);white-space:nowrap;background:0 0;font-size:12px;font-weight:800}.segmented-tabs{grid-template-columns:repeat(var(--tab-count,3), 1fr);gap:8px;margin-bottom:12px;display:grid}.segmented-tabs button{color:#7d778d;background:#f5f3fa;border-radius:10px;min-height:30px;padding:0 8px;font-size:12px;font-weight:800}.segmented-tabs button.is-active{color:#fff;background:var(--color-primary)}.transcript-panel .segmented-tabs{grid-template-columns:repeat(5,1fr)}.rank-row{width:100%;min-height:62px;color:inherit;font:inherit;text-align:left;background:0 0;border-top:1px solid #f0edf5;grid-template-columns:24px 34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:0;display:grid}.rank-row:disabled{opacity:1}.rank-row--clickable{cursor:pointer}.rank-row--clickable:hover{background:#f8f5ff}.rank-row--clickable:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.rank-row:first-child{border-top:0}.rank-row.is-current-user{background:#f5f1ff;border-radius:12px;margin:0 -8px;padding:0 8px}.rank-empty{color:#9690a3;text-align:center;padding:22px 8px;font-size:12px}.rank-no,.rank-score{color:var(--color-primary);text-align:center;font-size:14px;font-weight:900}.mini-avatar{color:#fff;background:linear-gradient(135deg,#8d7bd2,#5f4ca8);border-radius:50%;place-items:center;width:34px;height:34px;font-size:14px;font-weight:900;display:grid}.rank-person{min-width:0}.rank-person strong,.rank-person span{display:block}.rank-person strong{color:#2d283d;font-size:13px;font-weight:900}.rank-person strong em{color:#fff;background:var(--color-primary);vertical-align:1px;border-radius:999px;margin-left:5px;padding:1px 5px;font-size:9px;font-style:normal;display:inline-flex}.rank-person span{color:#9691a3;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:11px;overflow:hidden}.bottom-nav{z-index:30;width:min(100%, var(--mobile-max-width));height:calc(62px + env(safe-area-inset-bottom));padding:7px 10px calc(8px + env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid #eeeaf4;grid-template-columns:repeat(4,1fr);margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav__item{color:#9893a5;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:800;display:flex}.bottom-nav__item.active{color:var(--color-primary)}.profile-hero{color:#fff;border-radius:0 0 var(--radius-lg) var(--radius-lg);text-align:center;background:linear-gradient(135deg,#5a49a0,#8d7dd7);margin:-18px -18px 18px;padding:58px 18px 24px}.profile-name{font-size:19px;font-weight:900}.profile-role{color:#ffffffd1;margin-top:7px;font-size:12px}.level-pill{color:#6b4b12;background:#ffe9a7;border-radius:999px;justify-content:center;align-items:center;gap:5px;min-height:26px;margin-top:12px;padding:0 14px;font-size:12px;font-weight:900;display:inline-flex}.info-list,.settings-list{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;overflow:hidden}.info-list{padding:8px 14px}.info-row,.settings-list button{border-top:1px solid #f0edf5;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:54px;display:grid}.info-row:first-child,.settings-list button:first-child{border-top:0}.info-row svg,.settings-list svg{color:var(--color-primary)}.info-row span{color:#807b8e;font-size:12px;font-weight:800}.info-row strong{color:#2d283d;font-size:13px;font-weight:900}.settings-list{margin-top:12px}.settings-list button{color:#2d283d;text-align:left;background:#fff;width:100%;padding:0 14px;font-size:14px;font-weight:900}.record-stats{grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:16px;display:grid}.stat-card{color:#fff;background:linear-gradient(135deg, var(--color-primary), #7969c4);text-align:center;border-radius:16px;place-items:center;min-height:72px;padding:10px 6px;display:grid}.stat-card--dark{background:linear-gradient(135deg,#2b2740,#4a435f)}.stat-card--orange{background:linear-gradient(135deg,#f59a48,#f0b05d)}.stat-card strong{font-size:19px;font-weight:900}.stat-card span{color:#ffffffd1;font-size:11px;font-weight:800}.records-panel{padding:15px}.record-row{border-top:1px solid #f0edf5;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:13px 0;display:grid}.record-row:first-child{border-top:0}.record-row strong,.record-row span{display:block}.record-row strong{color:#2d283d;font-size:13px;font-weight:900}.record-row span{color:#9691a3;margin-top:7px;font-size:11px}.record-row__score{text-align:right}.record-row__score strong{color:var(--color-primary)}.record-row__score button{min-width:88px;min-height:44px;color:var(--color-primary);background:0 0;margin-top:2px;padding-left:8px;font-size:11.5px;font-weight:800}.question-block{margin-top:20px}.question-index{color:var(--color-primary);font-size:12px;font-weight:900}.question-block h2{color:var(--color-heading);margin-top:8px;font-size:18px;font-weight:900}.question-block p{color:#918ca0;margin-top:8px;font-size:12px;line-height:1.5}.select-box{color:#2d283d;border:1px solid var(--color-border);background:#fff;border-radius:14px;width:100%;min-height:48px;margin-top:14px;font-size:14px;font-weight:900;box-shadow:0 8px 20px #2620470f}.select-box>button{width:100%;min-height:48px;color:inherit;text-align:left;background:0 0;justify-content:space-between;align-items:center;padding:0 14px;display:flex}.select-box>button span{align-items:center;gap:8px;min-width:0;display:inline-flex}.multi-select-box>button{gap:12px}.multi-select-trigger__content{flex:1}.multi-select-trigger__content>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.multi-select-placeholder{color:#9691a3;font-weight:700}.multi-select-chevron{flex:none;transition:transform .16s}.multi-select-box.is-open .multi-select-chevron{transform:rotate(180deg)}.select-menu{background:#f8f6fc;border-radius:12px;margin:0 8px 8px;padding:6px;display:none}.select-box.is-open .select-menu{display:block}.select-menu button{color:#5c566f;text-align:left;background:0 0;border-radius:10px;justify-content:space-between;align-items:center;width:100%;min-height:38px;padding:0 10px;font-size:13px;font-weight:800;display:flex}.select-menu button.is-selected{color:var(--color-primary);background:#fff}.multi-select-menu__header{color:#9691a3;justify-content:space-between;align-items:center;min-height:34px;padding:0 10px 4px;font-size:11px;font-weight:800;display:flex}.select-menu .multi-select-menu__header button{width:auto;min-height:30px;color:var(--color-primary);padding:0 4px;font-size:11px}.multi-select-options{overscroll-behavior:contain;max-height:264px;overflow-y:auto}.multi-select-check{background:#fff;border:1px solid #d8d2e4;border-radius:6px;flex:0 0 20px;place-items:center;width:20px;height:20px;display:grid}.is-selected .multi-select-check{color:#fff;background:var(--color-primary);border-color:var(--color-primary)}.multi-select-check svg{stroke-width:3px;width:14px;height:14px}.case-select-results{margin:16px 0 84px}.case-match-caption{color:#918ca0;margin-bottom:8px;font-size:12px;font-weight:800}.case-summary-card{width:100%;color:inherit;border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:left;background:#fff;gap:10px;padding:15px;display:grid;box-shadow:0 10px 22px #2620470f}.case-summary-card h2{color:var(--color-heading);font-size:18px;line-height:1.28}.case-summary-card__type,.case-summary-card__meta,.case-type{color:var(--color-primary);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;font-weight:900;display:flex}.case-summary-card__meta{color:#918ca0}.mobile-bottom-action{z-index:25;width:min(100%, var(--mobile-max-width));padding:12px 18px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(#fbfafe00,#fbfafe 28%);margin:0 auto;position:fixed;bottom:0;left:0;right:0}.mobile-page.lesson-select-page{background:#fff;flex-direction:column;height:100vh;padding-bottom:0;display:flex}.lesson-select-page .status-bar,.lesson-select-page .mobile-topbar,.lesson-select-header{flex:none}.lesson-select-page .mobile-topbar{margin-bottom:10px}.lesson-select-header{padding-bottom:16px}.lesson-select-header p{color:#8a8598;margin-top:7px;font-size:12px;line-height:1.5}.lesson-course-scroll{scrollbar-width:none;background:#f7f6f9;border-top:1px solid #f0edf5;flex:auto;min-height:0;margin:0 -18px;padding:16px 18px 94px;overflow-y:auto}.lesson-course-scroll::-webkit-scrollbar{display:none}.lesson-course-heading{color:var(--color-primary);align-items:center;gap:7px;font-size:13px;font-weight:900;display:flex}.lesson-course-heading svg{width:16px;height:16px}.lesson-course-list{gap:10px;margin-top:12px;display:grid}.lesson-course-card{width:100%;min-height:70px;color:inherit;text-align:left;background:#fff;border:1px solid #0000;border-radius:16px;grid-template-columns:42px minmax(0,1fr) 22px;align-items:center;gap:12px;padding:11px 16px;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid;box-shadow:0 8px 20px #2620470e}.lesson-course-card.is-selected{border-color:var(--color-primary);background:#fdfcff;box-shadow:0 10px 22px #5b4aa21a}.lesson-course-card.is-unavailable{box-shadow:none}.lesson-course-card.is-unavailable .lesson-course-icon{color:#aaa5b4;background:#f2f0f4}.lesson-course-card.is-unavailable .lesson-course-copy strong{color:#827d8e}.lesson-course-card:active{transform:translateY(1px)}.lesson-course-icon{width:42px;height:42px;color:var(--color-primary);background:var(--color-lavender);border-radius:12px;place-items:center;display:grid}.lesson-course-icon svg{width:24px;height:24px}.lesson-course-copy,.lesson-course-copy strong,.lesson-course-copy>span{min-width:0;display:block}.lesson-course-copy strong{color:#2d283d;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:900;line-height:1.35;overflow:hidden}.lesson-course-copy>span{color:#8e899d;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:10.5px;font-weight:700;line-height:1.35;overflow:hidden}.lesson-course-radio{color:#fff;background:#fff;border:1px solid #e6e2ec;border-radius:50%;place-items:center;width:20px;height:20px;display:grid}.lesson-course-card.is-selected .lesson-course-radio{background:var(--color-primary);border-color:var(--color-primary)}.lesson-course-radio svg{stroke-width:3px;width:13px;height:13px}.lesson-bottom-action{background:#fffffffa;border-top:1px solid #eeeaf4;padding-top:11px}.mobile-page.lesson-player-page{background:#f7f6fa;flex-direction:column;height:100vh;padding-bottom:0;display:flex}.lesson-player-page .status-bar,.lesson-player-page .mobile-topbar{flex:none}.lesson-player-page .mobile-topbar{margin-bottom:10px}.lesson-player-scroll{min-height:0;padding:6px 18px calc(28px + env(safe-area-inset-bottom));scrollbar-width:none;flex:auto;margin:0 -18px;overflow-y:auto}.lesson-player-scroll::-webkit-scrollbar{display:none}.lesson-player-header{padding:10px 2px 18px}.lesson-player-eyebrow{color:var(--color-primary);align-items:center;gap:6px;font-size:12px;font-weight:900;display:flex}.lesson-player-eyebrow svg{width:16px;height:16px}.lesson-player-header h1{color:var(--color-heading);margin-top:8px;font-size:23px;font-weight:900;line-height:1.35}.lesson-player-header p{color:#858092;margin-top:6px;font-size:12px;font-weight:700}.lesson-video-card{background:#fff;border:1px solid #ebe8f0;border-radius:18px;overflow:hidden;box-shadow:0 14px 34px #26204717}.lesson-video-frame{aspect-ratio:16/9;background:#15131d;position:relative;overflow:hidden}.lesson-video-frame video{object-fit:contain;background:#15131d;width:100%;height:100%;display:block}.lesson-video-error{color:#a83945;padding:10px 14px 0;font-size:12px;font-weight:800}.lesson-video-status{color:#817b91;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px 10px;font-size:11px;font-weight:800;display:flex}.lesson-video-status span{align-items:center;gap:5px;display:inline-flex}.lesson-video-status svg{width:14px;height:14px}.lesson-video-status strong{color:var(--color-primary);font-size:11px}.lesson-video-card progress{appearance:none;background:#ece9f2;border:0;border-radius:999px;width:calc(100% - 28px);height:5px;margin:0 14px 14px;display:block;overflow:hidden}.lesson-video-card progress::-webkit-progress-bar{background:#ece9f2;border-radius:999px}.lesson-video-card progress::-webkit-progress-value{background:var(--color-primary);border-radius:999px}.lesson-video-card progress::-moz-progress-bar{background:var(--color-primary);border-radius:999px}.lesson-learning-note{background:#f1eef8;border:1px solid #e4dff1;border-radius:16px;grid-template-columns:38px minmax(0,1fr);gap:12px;margin-top:16px;padding:15px;display:grid}.lesson-learning-note__icon{width:38px;height:38px;color:var(--color-primary);background:#fff;border-radius:12px;place-items:center;display:grid}.lesson-learning-note__icon svg{width:21px;height:21px}.lesson-learning-note h2{color:#342e47;font-size:13px;font-weight:900}.lesson-learning-note p{color:#756f83;margin-top:4px;font-size:11px;line-height:1.6}.lesson-empty-state{color:#817b91;text-align:center;padding:28px 16px}.lesson-empty-state.is-error,.lesson-processing-error{color:#a83945}.mobile-page.lesson-record-page,.mobile-page.lesson-processing-page{background:#f7f6fa;flex-direction:column;height:100vh;display:flex;overflow-y:auto}.lesson-record-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.lesson-record-header span{color:#857d99;font-size:11px;font-weight:800}.lesson-record-header h1{color:#2f2940;margin-top:3px;font-size:18px}.lesson-record-header>strong{color:#4f3e91;text-align:center;background:#ece7fb;border-radius:13px;min-width:68px;padding:8px 10px;font-size:18px}.lesson-camera-stage{background:#201d29;border-radius:20px;min-height:230px;position:relative;overflow:hidden;box-shadow:0 14px 30px #1a152c2e}.lesson-camera-stage video,.lesson-result-video{object-fit:cover;background:#201d29;width:100%;display:block}.lesson-camera-stage video{height:100%;min-height:230px;transform:scaleX(-1)}.lesson-camera-stage video[controls]{transform:none}.lesson-countdown{color:#fff;background:#19142a94;place-items:center;font-size:76px;font-weight:900;display:grid;position:absolute;inset:0}.lesson-recording-badge{color:#fff;background:#181423b8;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:11px;font-weight:900;display:flex;position:absolute;top:12px;left:12px}.lesson-recording-badge span{background:#ff405c;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 4px #ff405c2e}.lesson-consent-panel,.lesson-record-controls,.lesson-submit-panel,.lesson-delivery-card{background:#fff;border:1px solid #eeeaf5;border-radius:18px;gap:12px;margin-top:14px;padding:16px;display:grid;box-shadow:0 10px 22px #3128520f}.lesson-consent-panel h2,.lesson-delivery-card h2{color:#39304e;align-items:center;gap:7px;font-size:15px;display:flex}.lesson-consent-panel h2 svg{color:#5f4ca0;width:18px}.lesson-consent-panel p,.lesson-record-controls p,.lesson-submit-panel p,.lesson-delivery-card p{color:#777084;font-size:12px;line-height:1.65}.lesson-consent-panel label{color:#4b435b;align-items:flex-start;gap:9px;font-size:12px;font-weight:800;line-height:1.5;display:flex}.lesson-consent-panel input{accent-color:#5f4ca0;width:17px;height:17px}.lesson-device-status{color:#8b6540;background:#fff7eb;border-radius:12px;grid-template-columns:20px 20px 1fr;align-items:center;gap:5px;padding:10px;font-size:11px;font-weight:800;display:grid}.lesson-device-status.is-ready{color:#317257;background:#eef9f3}.lesson-device-status svg{width:17px}.lesson-outline-chips{flex-wrap:wrap;gap:7px;display:flex}.lesson-outline-chips span{color:#5e5183;background:#f0ecf9;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800}.lesson-submit-panel>div:first-child{color:#317257;align-items:center;gap:8px;display:flex}.lesson-submit-panel svg{width:20px}.lesson-upload-progress{background:#eeeaf5;border-radius:999px;height:8px;overflow:hidden}.lesson-upload-progress span{border-radius:inherit;background:#5f4ca0;height:100%;transition:width .18s;display:block}.lesson-submit-actions,.lesson-result-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.lesson-processing-page>header{text-align:center;place-items:center;padding:22px 10px;display:grid}.lesson-processing-page>header>svg{color:#5f4ca0;width:48px;height:48px}.lesson-processing-page>header h1{color:#332c46;margin-top:12px;font-size:21px}.lesson-processing-page>header p{color:#847d91;margin-top:7px;font-size:12px}.is-spinning{animation:1s linear infinite lesson-spin}@keyframes lesson-spin{to{transform:rotate(360deg)}}.lesson-processing-steps{background:#fff;border-radius:18px;gap:3px;padding:16px;display:grid}.lesson-processing-steps>div{color:#aaa5b3;grid-template-columns:28px 1fr;align-items:center;min-height:47px;font-size:13px;font-weight:800;display:grid}.lesson-processing-steps svg{width:18px}.lesson-processing-steps .is-active{color:#5f4ca0}.lesson-processing-steps .is-done{color:#317257}.lesson-review-notice,.lesson-processing-error{background:#fff6e9;border-radius:12px;margin-top:14px;padding:12px;font-size:11px;line-height:1.55}.lesson-result-page{background:#f7f6fa;padding-bottom:30px}.lesson-result-summary{color:#fff;text-align:center;background:linear-gradient(145deg,#5f4ca0,#7868b2);border-radius:22px;padding:20px;box-shadow:0 16px 32px #43337d38}.lesson-result-summary.is-failed{background:linear-gradient(145deg,#8b4650,#ad6470)}.lesson-result-summary>span,.lesson-result-summary>p{color:#ffffffc2;font-size:11px;font-weight:800}.lesson-result-summary>strong{margin:8px 0 2px;font-size:52px;line-height:1;display:block}.lesson-result-summary small{font-size:16px}.lesson-result-summary h1{margin-top:8px;font-size:18px}.lesson-result-summary>div{background:#20162b33;border-radius:10px;justify-content:center;align-items:center;gap:6px;margin-top:10px;padding:9px;font-size:11px;font-weight:800;display:flex}.lesson-result-video{border-radius:18px;max-height:220px;margin-top:14px}.lesson-result-tabs{grid-template-columns:1fr 1fr 1fr;gap:6px;margin:14px 0;display:grid}.lesson-result-tabs button{color:#858090;background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:5px;min-height:42px;font-size:11px;font-weight:800;display:flex}.lesson-result-tabs button.is-active{color:#5f4ca0;background:#ece8f8}.lesson-result-tabs svg{width:15px}.lesson-score-list,.lesson-transcript-list{gap:9px;display:grid}.lesson-score-item,.lesson-transcript-list button{text-align:left;background:#fff;border:1px solid #eeeaf4;border-radius:15px;padding:14px}.lesson-score-item-heading{grid-template-columns:22px 1fr auto;align-items:center;gap:7px;display:grid}.lesson-score-item-heading svg{color:#80778d;width:18px}.lesson-score-item.is-correct .lesson-score-item-heading svg{color:#3d8c68}.lesson-score-item.is-contradicted .lesson-score-item-heading svg,.lesson-score-item.is-unsafe .lesson-score-item-heading svg{color:#bd4f60}.lesson-score-item.is-unverifiable .lesson-score-item-heading svg{color:#b37a2f}.lesson-score-item-heading strong{color:#3a3349;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.lesson-score-item-heading>span{color:#7d7589;font-size:10px;font-weight:800}.lesson-score-item>p,.lesson-score-numbers{color:#827c8d;margin-top:8px;font-size:11px;line-height:1.45}.lesson-score-numbers{justify-content:space-between;font-weight:800;display:flex}.lesson-score-numbers .is-penalty{color:#b84455}.lesson-evidence-button{color:#5f4ca0;text-align:left;background:#f3f0fa;border-radius:9px;justify-content:space-between;gap:8px;width:100%;margin-top:10px;padding:9px;font-size:10px;line-height:1.45;display:flex}.lesson-transcript-list button{color:#3c354b;grid-template-columns:36px 1fr;gap:8px;display:grid}.lesson-transcript-list button>span{color:#67559f;font-size:10px;font-weight:900}.lesson-transcript-list button p{font-size:12px;line-height:1.55}.lesson-transcript-list button em{color:#a16a21;grid-column:2;font-size:9px}.lesson-delivery-card h2 span{color:#75668e;background:#eee9f7;border-radius:6px;padding:3px 6px;font-size:9px}.lesson-result-actions{margin-top:14px}.lesson-result-course{color:#948e9e;text-align:center;margin-top:12px;font-size:10px}.admin-lesson-import,.admin-lesson-toolbar,.admin-lesson-editor-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-lesson-import input{flex:1;min-width:0}.admin-lesson-editor,.admin-lesson-detail-page .admin-card{gap:16px;display:grid}.admin-lesson-editor-heading span{color:#5f4ca0;background:#eee9f8;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.admin-lesson-errors{color:#a43e4f;background:#fff0f2;border-radius:10px;gap:6px;padding:12px 12px 12px 30px;font-size:12px;display:grid}.admin-lesson-json{color:#322b40;resize:vertical;background:#fbfafd;border:1px solid #ddd7e9;border-radius:10px;width:100%;padding:12px;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.admin-lesson-score-grid{gap:10px;display:grid}.admin-lesson-score-grid article{background:#f8f6fb;border-radius:10px;gap:5px;padding:12px;display:grid}.admin-lesson-score-grid article span,.admin-lesson-score-grid article p{color:#777083;font-size:12px}.case-reference-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;padding:15px;box-shadow:0 10px 22px #2620470f}.case-reference-card h1{color:var(--color-heading);margin:10px 0 8px;font-size:20px;line-height:1.25}.case-meta{color:#918ca0;font-size:12px;font-weight:800}.case-section{border-top:1px solid #f0edf5;grid-template-columns:34px minmax(0,1fr);gap:10px;margin-top:16px;padding-top:15px;display:grid}.case-section>svg{width:34px;height:34px;color:var(--color-primary);background:#f2effb;border-radius:12px;padding:8px}.case-section h2{color:#2d283d;margin-bottom:6px;font-size:14px;font-weight:900}.case-section p{color:#747083;font-size:12px;line-height:1.6}.reference-row{color:#2d283d;background:#f7f5fb;border-radius:14px;justify-content:space-between;align-items:center;min-height:46px;margin:16px 0 12px;padding:0 13px;font-size:13px;font-weight:900;display:flex}.reference-row span{align-items:center;gap:8px;min-width:0;display:inline-flex}.reference-row strong{color:var(--color-primary);font-size:12px}.exam-summary-panel{gap:8px;margin-bottom:86px;padding:13px;display:grid}.exam-summary-panel p{color:#5c566f;font-size:12px}.chat-page{background:#f8f7fb;flex-direction:column;padding:14px 14px 0;display:flex}.chat-top{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;margin-bottom:10px;display:grid}.station{color:#837e93;font-size:12px;font-weight:800}.chat-title,.chat-top h1{color:var(--color-heading);margin-top:4px;font-size:17px;font-weight:900}.chat-actions{flex-direction:column;align-items:flex-end;gap:7px;display:flex}.small-chip,.timer-chip{min-height:28px;color:var(--color-primary);white-space:nowrap;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:5px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex;box-shadow:0 6px 16px #26204714}.small-chip.danger,.small-chip--danger,.timer-chip.is-warning{color:var(--color-danger);background:#fff0f1}.agent-stage{--agent-accent:#f4a24f;--agent-accent-dark:#8b4d17;--agent-bg:#fff8f0;--agent-cloth:#f5a95d;--agent-cloth-deep:#d67a2d;--agent-copy:#6d4a24;background:linear-gradient(135deg, #ffffffd6, #ffffff94), var(--agent-bg);border:1px solid #f4a24f38;border-radius:8px;grid-template-columns:138px minmax(0,1fr);align-items:center;gap:12px;min-height:154px;margin-bottom:8px;padding:10px 12px;display:grid;overflow:hidden;box-shadow:0 12px 30px #26204712}.agent-stage--doctor{--agent-accent:#5f4ca8;--agent-accent-dark:#34276f;--agent-bg:#f3f6ff;--agent-cloth:#fff;--agent-cloth-deep:#dfe8f3;--agent-copy:#373059;border-color:#5f4ca833}.agent-stage--nurse{--agent-accent:#1f9d8a;--agent-accent-dark:#0f6359;--agent-bg:#effbf7;--agent-cloth:#83dbc7;--agent-cloth-deep:#36a891;--agent-copy:#20594f;border-color:#1f9d8a33}.agent-stage__set{place-items:end center;min-height:132px;display:grid;position:relative}.agent-stage__rings{background:repeating-linear-gradient(90deg, #ffffff9e 0 8px, #fff3 8px 16px), color-mix(in srgb, var(--agent-accent) 22%, #fff);border:1px solid #ffffffb8;border-radius:50%;height:26px;position:absolute;bottom:10px;left:6px;right:6px;transform:perspective(80px)rotateX(58deg)}.digital-human{width:112px;height:132px;position:relative}.digital-human span{display:block}.digital-human__shadow{filter:blur(1px);background:#2c263c24;border-radius:50%;height:12px;position:absolute;bottom:7px;left:16px;right:16px}.digital-human__body{background:linear-gradient(90deg, transparent 0 18px, #ffffff61 18px 21px, transparent 21px), linear-gradient(180deg, var(--agent-cloth), var(--agent-cloth-deep));border:2px solid #ffffffad;border-radius:38px 38px 12px 12px;width:82px;height:64px;position:absolute;bottom:10px;left:50%;transform:translate(-50%);box-shadow:0 12px 18px #26204724}.digital-human__body:before,.digital-human__body:after{content:"";background:linear-gradient(180deg, var(--agent-cloth), var(--agent-cloth-deep));border-radius:999px;width:23px;height:41px;position:absolute;top:19px}.digital-human__body:before{left:-8px;transform:rotate(10deg)}.digital-human__body:after{right:-8px;transform:rotate(-10deg)}.digital-human__collar{background:#fff;border-radius:0 0 18px 18px;width:34px;height:20px;position:absolute;top:4px;left:50%;transform:translate(-50%)}.digital-human__badge{border:2px solid var(--agent-accent);background:#fff;border-radius:50%;width:9px;height:9px;position:absolute;top:25px;right:19px}.digital-human__neck{background:#f0bf99;border-radius:0 0 12px 12px;width:22px;height:18px;position:absolute;bottom:67px;left:50%;transform:translate(-50%)}.digital-human__head{background:#f6c7a2;border:2px solid #ffffffb8;border-radius:48% 48% 44% 44%;width:62px;height:58px;animation:3.2s ease-in-out infinite digital-human-breathe;position:absolute;bottom:78px;left:50%;transform:translate(-50%);box-shadow:0 10px 20px #26204721}.digital-human__hair{background:#5d3d2b;border-radius:28px 28px 10px 10px;width:50px;height:22px;position:absolute;top:-8px;left:4px}.digital-human__hair:after{content:"";background:#5d3d2b;border-radius:0 0 14px 14px;width:16px;height:20px;position:absolute;top:13px;left:-1px}.agent-stage--doctor .digital-human__hair{background:#42313a;width:45px;height:18px;top:-5px;left:7px}.agent-stage--doctor .digital-human__hair:after{background:#42313a;width:11px;height:14px}.agent-stage--doctor .digital-human__body{background:linear-gradient(90deg,#0000 0 38px,#b9c7d5 38px 41px,#0000 41px),linear-gradient(#fff,#dfe8f3)}.agent-stage--doctor .digital-human__collar{background:#2b3140}.agent-stage--nurse .digital-human__hair{border:2px solid var(--agent-accent);background:#eaf9f5;border-radius:26px 26px 10px 10px;width:60px;height:24px;top:-10px;left:-1px}.agent-stage--nurse .digital-human__hair:before{content:"";background:var(--agent-accent);border-radius:999px;width:12px;height:3px;position:absolute;top:5px;left:50%;transform:translate(-50%)}.agent-stage--nurse .digital-human__hair:after{display:none}.digital-human__ear{background:#ebb58e;border-radius:50%;width:10px;height:15px;position:absolute;top:26px}.digital-human__ear--left{left:-7px}.digital-human__ear--right{right:-7px}.digital-human__eye{background:#2f2633;border-radius:50%;width:6px;height:6px;position:absolute;top:30px}.digital-human__eye--left{left:19px}.digital-human__eye--right{right:19px}.digital-human__mouth{border-bottom:2px solid #9c4e48;border-radius:0 0 14px 14px;width:14px;height:6px;animation:1.9s ease-in-out infinite digital-human-talk;position:absolute;top:43px;left:50%;transform:translate(-50%)}.agent-stage__copy{min-width:0;color:var(--agent-copy);gap:5px;display:grid}.agent-stage__copy span,.agent-stage__copy small{color:color-mix(in srgb, var(--agent-copy) 72%, #8f899c);font-size:11px;font-weight:900}.agent-stage__copy strong{color:var(--agent-accent-dark);font-size:18px;font-weight:900}.agent-stage__copy p{color:#343045;font-size:13px;font-weight:900;line-height:1.35}.agent-stage__copy small{white-space:nowrap;background:#ffffffa8;border:1px solid #fffc;border-radius:999px;align-items:center;width:fit-content;min-height:24px;padding:0 9px;display:inline-flex}@keyframes digital-human-breathe{50%{transform:translate(-50%,2px)}}@keyframes digital-human-talk{45%{border-bottom-width:3px;width:10px;height:8px}}.messages{flex:1;min-height:0;padding:10px 0 12px;overflow:hidden}.asr-caption{color:#5f4ca8;overflow-wrap:anywhere;background:#f3effb;border:1px solid #dfd7f2;border-radius:12px;margin:4px 44px 12px;padding:8px 10px;font-size:12px;font-weight:800;line-height:1.45}.message-row{grid-template-columns:34px minmax(0,1fr);gap:10px;margin-bottom:13px;display:grid}.message-row--digital-human{grid-template-columns:minmax(0,1fr) 48px;align-items:start}.bubble-avatar{color:#fff;background:var(--color-primary);border-radius:50%;place-items:center;width:34px;height:34px;font-size:13px;font-weight:900;display:grid}.bubble-avatar--patient{background:#f4a24f}.bubble-avatar--doctor{background:#5f4ca8}.bubble-avatar--nurse{background:#29a86a}.bubble-avatar--digital-human{width:48px;height:58px;box-shadow:none;background:0 0;border-radius:0;overflow:visible}.mini-digital-human,.mini-digital-human span{display:block}.mini-digital-human{--mini-cloth:#f4a24f;--mini-cloth-deep:#d67a2d;--mini-hair:#5d3d2b;width:46px;height:58px;position:relative}.mini-digital-human:after{content:"";filter:blur(1px);background:#2620471f;border-radius:50%;height:7px;position:absolute;bottom:0;left:4px;right:4px}.mini-digital-human__body{background:linear-gradient(90deg, transparent 0 17px, #ffffff70 17px 20px, transparent 20px), linear-gradient(180deg, var(--mini-cloth), var(--mini-cloth-deep));border:1px solid #ffffffb8;border-radius:19px 19px 8px 8px;width:38px;height:27px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.mini-digital-human__body:before,.mini-digital-human__body:after{content:"";background:linear-gradient(180deg, var(--mini-cloth), var(--mini-cloth-deep));border-radius:999px;width:10px;height:17px;position:absolute;top:11px}.mini-digital-human__body:before{left:-3px;transform:rotate(9deg)}.mini-digital-human__body:after{right:-3px;transform:rotate(-9deg)}.mini-digital-human__neck{background:#f0bf99;border-radius:0 0 8px 8px;width:11px;height:9px;position:absolute;bottom:29px;left:50%;transform:translate(-50%)}.mini-digital-human__head{background:#f6c7a2;border:1px solid #ffffffc7;border-radius:48% 48% 44% 44%;width:30px;height:28px;position:absolute;bottom:36px;left:50%;transform:translate(-50%);box-shadow:0 6px 12px #2620471f}.mini-digital-human__hair{background:var(--mini-hair);border-radius:14px 14px 5px 5px;width:24px;height:10px;position:absolute;top:-4px;left:3px}.bubble-avatar--nurse .mini-digital-human__hair{border:1px solid #1f9d8a;width:30px;height:12px;top:-6px;left:-1px}.bubble-avatar--nurse .mini-digital-human__hair:after{content:"";background:#1f9d8a;border-radius:999px;width:7px;height:2px;position:absolute;top:4px;left:50%;transform:translate(-50%)}.mini-digital-human__eye{background:#2f2633;border-radius:50%;width:3px;height:3px;position:absolute;top:14px}.mini-digital-human__eye--left{left:9px}.mini-digital-human__eye--right{right:9px}.mini-digital-human__mouth{border-bottom:1.5px solid #9c4e48;border-radius:0 0 8px 8px;width:8px;height:4px;position:absolute;top:21px;left:50%;transform:translate(-50%)}.message-bubble{background:#fff;border-radius:0 14px 14px;padding:10px 12px;box-shadow:0 8px 20px #2620470f}.message-row--digital-human .message-bubble{border-radius:14px 0 14px 14px}.message-bubble__role{color:#8f899c;margin-bottom:6px;font-size:11px;font-weight:900}.message-bubble__text{overflow-wrap:anywhere;color:#343045;font-size:13px;line-height:1.55}.message-bubble__action{margin-top:8px}.message-bubble__action button{min-height:30px;color:var(--color-primary);background:#f3effb;border-radius:10px;padding:0 10px;font-size:12px;font-weight:900}.composer{padding:10px 0 calc(14px + env(safe-area-inset-bottom));background:#f8f7fb;grid-template-columns:minmax(0,1fr) 42px;gap:8px;display:grid;position:relative}.composer-tools{grid-template-columns:42px minmax(0,1fr) 42px;gap:8px;display:grid}.composer input,.composer textarea{border:1px solid var(--color-border);background:#fff;border-radius:14px;outline:0;min-width:0;height:42px;padding:0 14px;font-size:13px;box-shadow:0 8px 20px #2620470d}.send,.send-button,.audio-recorder{color:#fff;background:var(--color-primary);border-radius:14px;place-items:center;min-width:0;height:42px;font-size:17px;display:grid}.audio-recorder{color:var(--color-primary);border:1px solid var(--color-border);background:#fff;position:relative}.audio-recorder:disabled{color:#aaa3b8;cursor:not-allowed;background:#f1eef6}.audio-recorder.is-recording{color:var(--color-danger);background:#fff0f1}.audio-recorder>span{min-width:24px;color:var(--color-danger);background:#fff;border-radius:999px;padding:1px 4px;font-size:9px;font-weight:900;position:absolute;bottom:-6px;right:-3px}.audio-recorder .recognizing-text{color:var(--color-primary);left:-4px;right:auto}.waveform{gap:2px;display:flex}.waveform i{background:currentColor;border-radius:999px;width:2px;height:8px;animation:.8s ease-in-out infinite wave}.waveform i:nth-child(2){animation-delay:.12s}.waveform i:nth-child(3){animation-delay:.24s}@keyframes wave{50%{height:15px}}@keyframes voice-pulse{0%{opacity:.5;transform:scale(.92)}to{opacity:1;transform:scale(1.08)}}.agent-menu{z-index:10;border:1px solid var(--color-border);background:#fff;border-radius:16px;gap:8px;padding:8px;display:none;position:absolute;bottom:66px;left:6px;box-shadow:0 14px 32px #26204724}.agent-menu.open{display:flex}.agent-menu>button{min-width:78px;height:34px;color:var(--color-primary);background:#f3effb;border-radius:11px;padding:0 10px;font-size:12px;font-weight:900}.role-switch{gap:8px;display:flex}.role-switch button{min-width:78px;height:34px;color:var(--color-primary);background:#f3effb;border-radius:11px;justify-content:center;align-items:center;gap:5px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.role-switch button.is-active{color:#fff;background:var(--color-primary)}.confirm-mask{z-index:50;background:#19172b5c;place-items:end center;padding:18px;display:grid;position:fixed;inset:0}.confirm-dialog{width:min(100%, calc(var(--mobile-max-width) - 36px));box-shadow:var(--shadow-soft);background:#fff;border-radius:20px;padding:18px}.confirm-dialog h2{color:var(--color-heading);font-size:18px}.confirm-dialog p{color:#716d80;margin-top:8px;font-size:13px}.button-row{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.button-row>button{border-radius:13px;min-height:42px;font-size:13px;font-weight:900}.button-row>button:first-child:not(.ghost-button):not(.primary-button):not(.danger-button){color:var(--color-primary);background:#f2effb}.finish-notice-dialog{text-align:center}.finish-notice-dialog__icon{width:52px;height:52px;color:var(--color-primary);background:#f2effb;border-radius:50%;place-items:center;margin:0 auto 12px;display:grid}.finish-notice-dialog__icon svg{width:25px;height:25px}.finish-notice-dialog__copy{gap:7px;margin-top:10px;display:grid}.finish-notice-dialog__copy strong{color:var(--color-heading);font-size:15px;line-height:1.55}.finish-notice-dialog__copy span{color:#716d80;font-size:12px;line-height:1.6}.finish-notice-dialog .button-row{grid-template-columns:1fr}.time-limit-dialog{text-align:center}.time-limit-dialog__badge{color:#9a6220;background:#fff1ce;border-radius:50%;place-items:center;width:46px;height:46px;margin:0 auto 12px;font-size:22px;display:grid}.time-limit-dialog p{line-height:1.65}.mobile-page.chat-page{--exam-purple-top:#af96d5;--exam-purple-bottom:#554988;--exam-ink:#1f1b31;--exam-primary:#584690;--exam-wood:#c99a62;background:#fbfbff;flex-direction:column;padding:0;display:flex;overflow:hidden}.exam-stage{background:radial-gradient(circle at 50% 42%, #ffffff14, transparent 8rem), linear-gradient(180deg, var(--exam-purple-top) 0%, #8a78bd 48%, var(--exam-purple-bottom) 100%);flex:0 0 360px;min-height:0;position:relative;overflow:hidden}.exam-stage__left,.exam-stage__right{z-index:6;position:absolute;top:18px}.exam-stage__left{width:104px;left:17px}.exam-stage__right{background:#231e34a3;border-radius:10px;justify-items:center;gap:5px;width:94px;padding:6px 7px 7px;display:grid;right:17px;box-shadow:0 8px 20px #1f1b312e}.exam-status-chip{color:#fff;white-space:nowrap;background:#231e34a8;border-radius:10px;align-items:center;width:100px;height:33px;padding:0 10px;font-size:11px;font-weight:900;display:inline-flex;box-shadow:0 8px 20px #1f1b3129}.exam-status-chip span{background:#fa696d;border-radius:50%;width:6px;height:6px;margin-right:5px}.exam-status-chip.is-briefing span{background:#ffd76c}.recording-status-chip{color:#fff;letter-spacing:.04em;background:#7f1d1db8;border:1px solid #ef444459;border-radius:999px;align-items:center;gap:7px;min-height:32px;padding:0 12px;font-size:12px;font-weight:800;display:inline-flex}.recording-status-chip>span{background:#ff6262;border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite recording-pulse;box-shadow:0 0 0 4px #ff62622e}@keyframes recording-pulse{50%{opacity:.45}}.recording-interruption-alert{color:#9f1239;background:#fff1f2;border-bottom:1px solid #fecaca;align-items:center;gap:10px;padding:10px 16px;font-size:12px;display:flex}.recording-interruption-alert strong{flex:none}.stage-role-selector{width:110px;margin-top:-3px;position:relative}.stage-role-trigger,.stage-role-menu button{color:#fff;white-space:nowrap;border-radius:8px;align-items:center;gap:6px;width:100%;height:34px;padding:0 9px;font-size:10px;font-weight:900;display:inline-flex}.stage-role-trigger{background:#1f1b31f0;border-radius:0 12px 12px;justify-content:flex-start;box-shadow:0 12px 24px #14102038}.stage-role-trigger__icon,.stage-role-menu button span{background:var(--exam-primary);border-radius:6px;flex:none;place-items:center;width:20px;height:20px;display:grid}.stage-role-trigger__label{text-overflow:ellipsis;min-width:0;overflow:hidden}.stage-role-trigger svg{width:13px;height:13px;margin-left:auto;transition:transform .18s}.stage-role-trigger.is-open svg{transform:rotate(180deg)}.stage-role-trigger:disabled{color:#ffffffad;box-shadow:none;background:#1f1b3194}.stage-role-menu{z-index:8;background:#1f1b31f5;border:1px solid #ffffff1a;border-radius:12px;gap:4px;width:110px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 14px 28px #14102042}.stage-role-menu button{background:0 0;justify-content:flex-start;height:30px}.stage-role-menu button.is-active{background:var(--exam-primary)}.stage-role-menu button.is-active span{background:#ffffff2e}.stage-role-trigger:focus-visible,.stage-role-menu button:focus-visible,.exam-info-button:focus-visible,.exam-end-button:focus-visible,.exam-brief-card__speech-button:focus-visible,.exam-brief-card__button:focus-visible,.patient-info-dialog button:focus-visible,.composer input:focus-visible,.composer textarea:focus-visible,.send:focus-visible{outline-offset:2px;outline:2px solid #ffffffe0}.exam-time-chip{color:#fff;white-space:nowrap;justify-content:center;align-items:center;height:14px;font-size:11px;font-weight:900;line-height:1;display:inline-flex}.exam-time-chip.is-danger{color:#ffd4d6}.exam-time-chip.is-overtime{color:#ffe49f}.exam-info-button{color:#fff;white-space:nowrap;background:#ffffff24;border:1px solid #ffffff2e;border-radius:5px;justify-content:center;align-items:center;gap:4px;width:80px;height:24px;font-size:10px;font-weight:900;display:inline-flex}.exam-info-button svg{width:12px;height:12px}.exam-info-button:disabled{color:#ffffff80;box-shadow:none;cursor:not-allowed;background:#ffffff14}.exam-end-button{color:#fff;white-space:nowrap;background:#ff5361;border-radius:4px;justify-content:center;align-items:center;gap:4px;width:73px;height:23px;font-size:11px;font-weight:900;display:inline-flex}.exam-end-button span{background:#fff;border-radius:1px;width:8px;height:8px}.exam-brief-card{z-index:5;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1f1b31c7;border:1px solid #ffffff2e;border-radius:8px;grid-template-rows:minmax(0,1fr) auto;gap:9px;width:clamp(220px,58%,258px);padding:13px;display:grid;position:absolute;top:102px;bottom:12px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 18px 40px #1f1b3142}.exam-brief-card__scroll{overscroll-behavior:contain;scrollbar-width:thin;gap:9px;min-height:0;padding-right:2px;display:grid;overflow:hidden auto}.exam-brief-card__eyebrow{color:#ffe2b8;letter-spacing:0;justify-content:space-between;align-items:center;gap:8px;font-size:10px;font-weight:900;display:flex}.exam-brief-card__eyebrow>span{color:#ffe2b8;font-size:10px}.exam-brief-card__speech-button{color:#fff;white-space:nowrap;background:#ffffff24;border:1px solid #fff3;border-radius:5px;flex:none;justify-content:center;align-items:center;gap:4px;min-height:25px;padding:4px 7px;font-size:9px;font-weight:900;display:inline-flex}.exam-brief-card__speech-button svg{width:12px;height:12px}.exam-brief-card__speech-button:disabled{opacity:.55}.exam-brief-card h1{color:#fff;letter-spacing:0;font-size:17px;font-weight:950;line-height:1.2}.exam-brief-card__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.exam-brief-card__grid>div{background:#ffffff1a;border-radius:6px;gap:1px;min-width:0;padding:7px 8px;display:grid}.exam-brief-card__grid>.is-wide{grid-column:1/-1}.exam-brief-card span,.exam-brief-card p,.exam-brief-card li{color:#ffffffc2}.exam-brief-card span{font-size:9px;font-weight:800}.exam-brief-card strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;font-weight:900;line-height:1.35;overflow:hidden}.exam-brief-card p{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;font-weight:800;line-height:1.45;display:-webkit-box;overflow:hidden}.exam-brief-card ul{gap:3px;margin:0;padding:0;list-style:none;display:grid}.exam-brief-card li{padding-left:12px;font-size:10px;font-weight:800;line-height:1.4;position:relative}.exam-brief-card li:before{content:"";background:#ffd76c;border-radius:50%;width:5px;height:5px;position:absolute;top:.52em;left:1px}.exam-brief-card__button{color:#2c241b;background:#ffd76c;border-radius:6px;place-items:center;width:100%;height:34px;font-size:12px;font-weight:950;display:grid;box-shadow:0 10px 22px #1f1b3133}.patient-info-mask{align-items:end}.patient-info-dialog{width:min(100%, calc(var(--mobile-max-width) - 36px));color:#2f2a42;max-height:min(78vh,620px);box-shadow:var(--shadow-soft);scrollbar-color:#b8b3c5 transparent;scrollbar-width:thin;background:#fff;border-radius:20px 20px 16px 16px;gap:13px;padding:16px;display:grid;overflow-y:auto}.patient-info-dialog__head{grid-template-columns:minmax(0,1fr) 34px;align-items:start;gap:10px;display:grid}.patient-info-dialog__head span{color:var(--color-primary);font-size:11px;font-weight:900}.patient-info-dialog__head h2{color:var(--color-heading);margin-top:3px;font-size:18px;font-weight:950;line-height:1.25}.patient-info-dialog__head button{width:34px;height:34px;color:var(--color-primary);background:#f3effb;border-radius:50%;place-items:center;display:grid}.patient-info-dialog__head svg{width:17px;height:17px}.patient-info-dialog button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.patient-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.patient-info-grid>div{background:#f7f5fb;border-radius:8px;gap:3px;min-width:0;padding:9px 10px;display:grid}.patient-info-grid>div:nth-child(2){grid-column:1/-1}.patient-info-grid span{color:#837e93;font-size:10px;font-weight:900}.patient-info-grid strong{color:#2f2a42;overflow-wrap:anywhere;min-width:0;font-size:12px;font-weight:900;line-height:1.4}.patient-info-section{gap:7px;display:grid}.patient-info-section h3{color:var(--color-heading);font-size:13px;font-weight:950}.patient-info-section p,.patient-info-section li,.patient-info-loading{color:#5c566f;overflow-wrap:anywhere;font-size:12px;font-weight:700;line-height:1.55}.patient-info-section ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.patient-info-section li{padding-left:13px;position:relative}.patient-info-section li:before{content:"";background:var(--exam-primary);border-radius:50%;width:5px;height:5px;position:absolute;top:.65em;left:1px}.stage-portrait{z-index:2;position:absolute;inset:0;overflow:hidden}.stage-portrait:after{content:"";pointer-events:none;background:linear-gradient(#1c192c24,#0000 38%),linear-gradient(#0000 70%,#1c192c29);position:absolute;inset:0}.stage-portrait__image{object-fit:cover;object-position:50% 50%;width:100%;height:100%;transition:filter .24s,transform .24s;display:block}.stage-portrait--doctor .stage-portrait__image{object-position:70% 50%}.stage-portrait--nurse .stage-portrait__image{object-position:76% 50%}.chat-page--briefing .stage-portrait__image{filter:brightness(.88)saturate(.9);transform:scale(1.015)}.mobile-page.chat-page--patient{--exam-purple-top:#c6a47a;--exam-purple-bottom:#6f4c37;--exam-primary:#76543a}.mobile-page.chat-page--doctor{--exam-purple-top:#af96d5;--exam-purple-bottom:#554988;--exam-primary:#584690}.mobile-page.chat-page--nurse{--exam-purple-top:#88cbbd;--exam-purple-bottom:#356d65;--exam-primary:#26766c}.stage-counter{z-index:4;background:linear-gradient(180deg, #ffffff14, transparent 38%), var(--exam-wood);border-top:6px solid #765129;height:75px;position:absolute;bottom:0;left:0;right:0;box-shadow:inset 0 -1px #ffffff3d}.stage-window-label{color:#fff;background:var(--exam-primary);letter-spacing:.01em;border-radius:4px;place-items:center;min-width:171px;height:24px;padding:0 14px;font-size:12px;font-weight:900;display:grid;position:absolute;top:13px;left:50%;transform:translate(-50%)}.stage-counter>span{background:#6b4f308c;border-radius:999px;width:79px;height:3px;position:absolute;left:50%;transform:translate(-50%)}.stage-counter>span:first-of-type{top:51px}.stage-counter>span:nth-of-type(2){top:59px}.stage-counter>span:nth-of-type(3){width:64px;top:67px}.chat-panel{z-index:5;background:#fbfbff;border-radius:20px 20px 0 0;flex-direction:column;flex:auto;min-height:0;margin-top:0;display:flex;position:relative;overflow:hidden;box-shadow:0 -7px 20px #1f1b311a}.live-voice-strip{color:#6b6383;background:#f1eef8;border:1px solid #58469014;border-radius:12px;flex:none;align-items:center;gap:8px;min-height:34px;margin:10px 17px 0;padding:0 11px;font-size:11px;font-weight:900;display:flex}.live-voice-strip strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.live-voice-strip__pulse{justify-content:center;align-items:center;gap:2px;width:19px;height:16px;display:inline-flex}.live-voice-strip__pulse i{opacity:.52;background:currentColor;border-radius:999px;width:3px;height:6px}.live-voice-strip.is-active .live-voice-strip__pulse i{animation:.82s ease-in-out infinite alternate realtime-voice-bar}.live-voice-strip.is-active .live-voice-strip__pulse i:nth-child(2){animation-delay:.12s}.live-voice-strip.is-active .live-voice-strip__pulse i:nth-child(3){animation-delay:.24s}.live-voice-strip--speaking,.live-voice-strip--replying{color:#fff;background:var(--exam-primary)}.live-voice-strip--recognizing,.live-voice-strip--thinking{color:var(--exam-primary);background:#ebe6f7}.live-voice-strip.is-locked{color:#76543a;background:#f5efe8}.messages{scrollbar-color:#9a9a9a transparent;scrollbar-width:thin;background:#fbfbff;flex:auto;min-height:0;padding:15px 17px 8px;overflow:hidden auto}.messages::-webkit-scrollbar{width:6px}.messages::-webkit-scrollbar-thumb{background:#9a9a9a;border-radius:999px}.message-row{grid-template-columns:46px minmax(0,1fr);align-items:start;gap:8px;margin-bottom:12px;display:grid}.message-row--digital-human{padding-right:49px}.message-row--pharmacist{grid-template-columns:minmax(0,1fr) 28px;padding-left:49px}.bubble-avatar{color:#fff;background:var(--exam-primary);border-radius:50%;width:28px;height:28px;font-size:11px;font-weight:900;box-shadow:0 4px 10px #2f264e24}.bubble-avatar--patient,.bubble-avatar--doctor,.bubble-avatar--nurse{background:var(--exam-primary)}.bubble-avatar--digital-human{width:44px;height:44px;color:inherit;background:#fff;border:2px solid #fffffff0;border-radius:50%;align-self:start;place-items:center;margin-top:0;font-size:0;display:grid;overflow:hidden;box-shadow:0 6px 14px #28214929}.message-row--digital-human .bubble-avatar{grid-area:auto}.bubble-role-portrait{object-fit:cover;object-position:50% 31%;width:100%;height:100%;display:block}.bubble-avatar--doctor .bubble-role-portrait{object-position:64% 30%}.bubble-avatar--nurse .bubble-role-portrait{object-position:56% 27%}.bubble-avatar--patient .mini-digital-human{--mini-cloth:#9a6846;--mini-cloth-deep:#694530;--mini-hair:#4a3529}.bubble-avatar--doctor .mini-digital-human{--mini-cloth:#fff;--mini-cloth-deep:#dfe8f3;--mini-hair:#41303a}.bubble-avatar--nurse .mini-digital-human{--mini-cloth:#65cab4;--mini-cloth-deep:#268d7c;--mini-hair:#f7fffd}.bubble-avatar--doctor .mini-digital-human__body{background:linear-gradient(90deg, transparent 0 17px, #aebdd1 17px 20px, transparent 20px), linear-gradient(180deg, var(--mini-cloth), var(--mini-cloth-deep))}.bubble-avatar--patient .mini-digital-human__hair:after{content:"";background:var(--mini-hair);border-radius:0 0 9px 9px;width:9px;height:13px;position:absolute;top:7px;left:-1px}.bubble-avatar--nurse .mini-digital-human__hair{background:#f7fffd;border-color:#1f9d8a}.bubble-avatar--nurse .mini-digital-human__hair:before{content:"";background:linear-gradient(90deg,#0000 0 3px,#1f9d8a 3px 5px,#0000 5px),linear-gradient(0deg,#0000 0 2px,#1f9d8a 2px 4px,#0000 4px);width:8px;height:6px;position:absolute;top:4px;left:50%;transform:translate(-50%)}.mini-digital-human__role-mark{z-index:2;display:block;position:absolute;bottom:13px;left:50%;transform:translate(-50%)}.bubble-avatar--patient .mini-digital-human__role-mark{background:#d86747;border-radius:999px;width:24px;height:5px;transform:translate(-50%)rotate(-5deg)}.bubble-avatar--doctor .mini-digital-human__role-mark{border:2px solid #66738c;border-top:0;border-radius:0 0 12px 12px;width:16px;height:14px;bottom:10px}.bubble-avatar--doctor .mini-digital-human__role-mark:after{content:"";background:#66738c;border-radius:50%;width:5px;height:5px;position:absolute;bottom:-3px;right:-3px}.bubble-avatar--nurse .mini-digital-human__role-mark{background:linear-gradient(90deg,#0000 0 4px,#fff 4px 6px,#0000 6px),linear-gradient(0deg,#0000 0 4px,#fff 4px 6px,#0000 6px),#1f8b72;border-radius:3px;width:10px;height:10px}.message-bubble{background:#fff;border-radius:0 13px 13px;width:fit-content;max-width:min(204px,100%);padding:10px 13px 12px;box-shadow:0 7px 18px #28214912}.message-row--pharmacist .message-bubble{color:#fff;background:var(--exam-primary);box-shadow:none;border-radius:13px 0 13px 13px;justify-self:end}.message-bubble.is-pending{opacity:.78}.message-bubble__role{color:#8b8797;margin-bottom:5px;font-size:10px;font-weight:900;line-height:1.25}.message-row--pharmacist .message-bubble__role{color:#ffffffbd}.message-bubble__text{overflow-wrap:anywhere;color:#1c2742;font-size:12px;font-weight:700;line-height:1.62}.message-row--pharmacist .message-bubble__text{color:#fff}.message-bubble__audio{color:#716a8e;background:#ffffffb8;border-radius:999px;align-items:center;gap:5px;min-height:22px;margin-top:8px;padding:0 8px;font-size:10px;font-weight:900;display:inline-flex}.message-row--pharmacist .message-bubble__audio{color:#ffffffdb;background:#ffffff29}.message-bubble__audio svg{width:12px;height:12px}.message-bubble__audio--playing svg{animation:.8s ease-in-out infinite alternate voice-pulse}.message-bubble__audio--failed,.message-bubble__audio--unavailable,.message-bubble__audio--interrupted{color:#a16b70}.message-bubble__action{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.message-bubble__action button{color:#675f82;background:#f0edf8;border-radius:999px;align-items:center;gap:5px;min-height:24px;padding:0 8px;font-size:10px;font-weight:900;display:inline-flex}.message-bubble__action button svg{width:11px;height:11px}.message-action-button--interrupt{color:#9b553c;background:#fff0e8}.asr-caption{width:fit-content;max-width:min(204px,100%);color:var(--exam-primary);background:#f0edf8;border:0;border-radius:12px;margin:0 0 12px 35px;padding:9px 12px;font-size:12px;font-weight:800;line-height:1.5}.composer{padding:7px 17px calc(10px + env(safe-area-inset-bottom));background:#fbfbff;flex:none;grid-template-columns:minmax(88px,auto) minmax(0,1fr) 32px;align-items:center;gap:8px;display:grid;position:relative}.composer input,.composer textarea{color:#2f2a42;background:#fff;border:0;border-radius:14px;outline:0;min-width:0;min-height:44px;font-size:12px;font-weight:700;box-shadow:0 8px 18px #28214912}.composer input{height:44px;padding:0 13px}.composer textarea{resize:none;scrollbar-color:#b8b3c5 transparent;scrollbar-width:thin;white-space:pre-wrap;overflow-wrap:anywhere;height:auto;max-height:92px;padding:10px 13px;line-height:1.45;overflow-y:auto}.composer input::placeholder,.composer textarea::placeholder{color:#b8b3c5}.composer textarea:disabled{color:#a9a1b8;box-shadow:none;background:#f4f1f8}.send,.send-button,.audio-recorder{color:#fff;background:var(--exam-primary);border-radius:50%;align-self:center;place-items:center;width:28px;min-width:0;height:28px;font-size:17px;line-height:1;display:grid;box-shadow:0 5px 12px #3e2f6f33}.composer .audio-recorder{color:var(--exam-primary);background:#fff;border:1px solid #3e2f6f29;position:relative;box-shadow:0 5px 12px #3e2f6f1a}.composer .audio-recorder--continuous{border-radius:14px;justify-content:center;gap:5px;width:100%;min-width:88px;height:36px;padding:0 8px;font-size:12px;font-weight:900;display:inline-flex}.composer .audio-recorder svg{width:15px;height:15px}.composer .audio-recorder:disabled{color:#b5b0c0;box-shadow:none;cursor:not-allowed;background:#f1eff6}.send:disabled{color:#b5b0c0;box-shadow:none;background:#eeeaf5}.composer .audio-recorder.is-recording{color:#e24a58;background:#fff2f3;border-color:#e24a583d}.composer .audio-recorder--continuous.is-recording{color:#fff;background:var(--exam-primary);border-color:#0000}.composer .audio-recorder--continuous.is-speaking{background:#e24a58}.composer .audio-recorder>span{color:#e24a58;background:#fff;border-radius:999px;min-width:20px;padding:1px 4px;font-size:8px;font-weight:900;line-height:1.3;position:absolute;bottom:-7px;right:-4px}.composer .audio-recorder--continuous>span{min-width:0;color:inherit;background:0 0;border-radius:0;padding:0;font-size:11px;line-height:1;position:static}.composer .audio-recorder .waveform,.composer .audio-recorder .recognizing-text{display:none}@keyframes realtime-voice-bar{0%{opacity:.48;height:5px}to{opacity:1;height:14px}}.send:active,.audio-recorder:active,.exam-info-button:active,.stage-role-menu button:active,.exam-end-button:active{transform:translateY(1px)}.record-detail-page{padding-top:calc(10px + env(safe-area-inset-top))}.record-overview{gap:16px;padding:16px;display:grid}.record-overview__case>span{color:var(--color-primary);letter-spacing:.08em;font-size:11px;font-weight:900}.record-overview__case h2{color:var(--color-heading);margin-top:6px;font-size:18px;font-weight:900;line-height:1.4}.record-overview__meta{flex-wrap:wrap;gap:8px 14px;margin-top:10px;display:flex}.record-overview__meta span{color:#8b8798;align-items:center;gap:5px;font-size:11.5px;font-weight:800;display:inline-flex}.record-overview__meta svg{width:14px;height:14px}.recording-summary-card{border-left:4px solid #f59e0b;gap:8px;display:grid}.recording-summary-card.is-interrupted,.recording-summary-card.is-failed{border-left-color:#ef4444}.recording-summary-card>div{justify-content:space-between;align-items:center;gap:16px;display:flex}.recording-summary-card span,.recording-summary-card p{color:var(--muted)}.recording-summary-card p{margin:0;font-size:13px}.record-score-summary{border-top:1px solid #f0edf5;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:14px;padding-top:16px;display:grid}.record-score-summary .trophy{width:58px;height:58px;margin:0;font-size:27px}.record-score-summary>div:last-child>span{color:#8b8798;font-size:11px;font-weight:800}.record-score-summary>div:last-child>strong{color:var(--color-primary);margin-top:3px;font-size:25px;font-weight:900;display:block}.record-score-summary .pass-pill{margin-top:7px}.record-score-loading{color:#716d80;background:#f7f5fb;border-radius:14px;gap:6px;padding:14px;display:grid}.record-score-loading strong{color:var(--color-heading);font-size:14px}.record-score-loading span{font-size:12px;line-height:1.5}.record-score-loading.is-failed strong{color:var(--color-danger)}.record-score-loading .ghost-button{min-height:40px;margin-top:4px;font-size:12px}.record-section-tabs{z-index:8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbfafef0;margin:16px -2px 0;padding:8px 2px 2px;position:sticky;top:0}.record-section-tabs .segmented-tabs{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0}.record-section-tabs .segmented-tabs button{min-height:44px;font-size:13px}.record-section{margin-top:12px}.record-section .score-list{margin-top:0}.record-section-empty{margin-top:12px}.record-actions{padding-bottom:calc(10px + env(safe-area-inset-bottom))}.record-download-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.record-download-action{min-height:46px;font-size:13px}.result-head{text-align:center}.trophy{width:68px;height:68px;color:var(--color-primary);background:#f3effb;border-radius:50%;place-items:center;margin:0 auto 12px;font-size:32px;display:grid}.result-head h1{color:var(--color-heading);font-size:20px;font-weight:900}.total-score{color:var(--color-primary);margin-top:12px;font-size:30px;font-weight:900}.pass-pill{min-height:26px;color:var(--color-success);background:#eaf8f1;border-radius:999px;justify-content:center;align-items:center;gap:6px;margin-top:8px;padding:0 14px;font-size:12px;font-weight:900;display:inline-flex}.pass-pill.is-failed,.danger-alert{color:var(--color-danger);background:#fff0f1}.danger-alert{border-radius:14px;margin-top:14px;padding:11px 13px;font-size:12px;font-weight:900}.score-list{gap:12px;margin-top:18px;display:grid}.score-item-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;padding:14px;box-shadow:0 10px 22px #2620470d}.score-item-card__head{color:#2d283d;justify-content:space-between;gap:12px;font-size:13px;font-weight:900;display:flex}.score-item-card__head h3{font-size:13px;line-height:1.4}.score-item-card__head strong{color:var(--color-primary);white-space:nowrap}.score-meter{background:#f2effb;border-radius:999px;height:6px;margin:10px 0 12px;overflow:hidden}.score-meter span{background:linear-gradient(135deg, var(--color-primary), #8b78d2);border-radius:inherit;height:100%;display:block}.score-copy-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.score-copy-grid h4{color:var(--color-heading);align-items:center;gap:5px;font-size:12px;font-weight:900;display:flex}.score-copy-grid p,.evidence-box p,.suggestion-panel p{color:#716d80;margin-top:6px;font-size:11.5px;line-height:1.45}.evidence-box{background:#f8f6fc;border-radius:12px;margin-top:12px;padding:10px}.evidence-box strong{color:var(--color-primary);font-size:12px}.suggestion-panel{gap:8px;margin-top:14px;padding:14px;display:grid}.suggestion-panel h2{color:var(--color-heading);font-size:15px}.result-actions,.replay-actions{padding-bottom:calc(10px + env(safe-area-inset-bottom))}.result-home-action,.replay-home-action{grid-column:1/-1}.step-tag{min-height:28px;color:var(--color-primary);white-space:nowrap;background:#f2effb;border-radius:999px;align-items:center;padding:0 12px;font-size:12px;font-weight:900;display:inline-flex}.video-box{color:#fff;background:radial-gradient(circle at 30% 20%,#ffffff29,#0000 28%),linear-gradient(135deg,#28233d,#171626);border-radius:20px;height:208px;margin-top:10px;overflow:hidden;box-shadow:0 18px 36px #19172b33}.record-audio-box{height:auto;min-height:196px;margin-top:0}.record-audio-box .video-stage{height:154px}.record-audio-box__copy{color:#ffffffc7;text-align:center;padding:0 16px 16px;font-size:11.5px;font-weight:800;line-height:1.5}.record-video-box{color:#fff;background:#11101a;border-radius:20px;overflow:hidden;box-shadow:0 18px 36px #19172b33}.record-video-player{object-fit:contain;background:#000;width:100%;min-height:220px;max-height:min(64vh,560px);display:block}.record-video-box>p{color:#ffffffc7;text-align:center;margin:0;padding:12px 16px 14px;font-size:11.5px;font-weight:800;line-height:1.5}.record-video-status{color:#ffffffd6;text-align:center;align-content:center;place-items:center;gap:12px;min-height:220px;padding:20px;display:grid}.record-video-status>svg{width:38px;height:38px}.record-video-status .ghost-button{color:#fff;border-color:#ffffff59;min-height:40px}.video-stage{align-content:center;place-items:center;gap:12px;height:148px;font-size:36px;display:grid}.video-stage button{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff3;border:1px solid #ffffff47;border-radius:50%;place-items:center;width:58px;height:58px;display:grid}.replay-audio-player{width:min(86%,360px);height:34px}.video-progress{padding:0 14px 13px}.time-row{color:#ffffffc2;justify-content:space-between;margin-bottom:8px;font-size:12px;font-weight:800;display:flex}.track{background:#ffffff29;border-radius:999px;height:5px;overflow:hidden}.track span{border-radius:inherit;background:#fff;height:100%;display:block}.empty-audio{color:#716d80;background:#f7f5fb;border-radius:13px;align-items:center;gap:8px;margin:12px 0 0;padding:10px 12px;font-size:12px;font-weight:800;display:flex}.key-panel,.transcript-panel{margin-top:18px;padding:15px}.key-panel h2{color:var(--color-heading);margin-bottom:12px;font-size:16px}.key-tags{flex-wrap:wrap;gap:8px;display:flex}.key-tags button{min-height:44px;color:var(--color-primary);background:#f3effb;border-radius:11px;padding:0 10px;font-size:12px;font-weight:900}.key-tags button:disabled{color:#aaa5b5;cursor:not-allowed;background:#f4f2f7}@media (width<=380px){.record-download-actions{grid-template-columns:1fr}}.record-detail-page .transcript-panel .segmented-tabs button{min-height:44px}.transcript-load-error{gap:10px}.transcript-load-error .ghost-button{min-height:40px;font-size:12px}.record-detail-page button:disabled{cursor:not-allowed;opacity:.5;box-shadow:none}.replay-timeline{gap:12px;margin-top:14px;display:grid}.replay-turn{border-top:1px solid #f0edf5;grid-template-columns:44px minmax(0,1fr);gap:10px;padding-top:12px;display:grid}.replay-turn time{color:var(--color-primary);font-size:12px;font-weight:900}.replay-turn strong{color:#2d283d;font-size:13px}.replay-turn p{color:#716d80;margin-top:5px;font-size:12px;line-height:1.55}.replay-turn__audio{min-height:28px;color:var(--color-primary);background:#f2effb;border-radius:999px;align-items:center;gap:6px;margin-top:8px;padding:0 10px;font-size:11px;font-weight:900;display:inline-flex}.replay-turn__audio svg{width:13px;height:13px}.empty-state{color:#8b8798;text-align:center;background:#f7f5fb;border-radius:16px;place-items:center;min-height:88px;padding:16px;font-size:13px;font-weight:800;display:grid}.result-pending-state{align-content:center;gap:10px;min-height:220px}.result-pending-state strong{color:var(--color-heading);font-size:16px}.result-pending-state span{color:#716d80;font-size:12px;line-height:1.5}.result-pending-state.is-failed strong{color:#9b553c}.result-pending-state .button-row{width:100%;margin-top:4px}.mobile-toast{z-index:100;color:#fff;opacity:0;pointer-events:none;background:#19172beb;border-radius:14px;max-width:min(420px,100vw - 36px);padding:12px 18px;font-size:14px;font-weight:800;transition:opacity .22s,transform .22s;position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px);box-shadow:0 18px 38px #19172b38}.mobile-toast.is-visible{opacity:1;transform:translate(-50%)}@media (width<=380px){.mobile-page{padding-left:14px;padding-right:14px}.agent-stage{grid-template-columns:112px minmax(0,1fr);gap:8px;min-height:140px;padding:8px}.agent-stage__set{min-height:118px}.digital-human{transform:scale(.86)}.agent-stage__copy strong{font-size:16px}.agent-stage__copy p{font-size:12px}.quick-actions{gap:10px}.action-tile{padding:13px}.score-copy-grid{grid-template-columns:1fr}.role-switch button{min-width:70px;padding:0 8px}.transcript-panel .segmented-tabs{grid-template-columns:repeat(3,1fr)}}@media (prefers-reduced-motion:reduce){.digital-human__head,.digital-human__mouth{animation:none}}@media (width>=760px){.mobile-page{box-shadow:0 14px 36px #26204714}.desktop-topbar,.panel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-shell{color:#20242f;background:#f4f6f8;grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.admin-sidebar{color:#dce4ea;background:#20242f;flex-direction:column;gap:18px;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0}.admin-brand{border-radius:8px;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;padding:10px;display:grid}.admin-brand>svg{color:#fff;background:#1f9d8a;border-radius:8px;width:38px;height:38px;padding:9px}.admin-brand strong,.admin-brand small{display:block}.admin-brand strong{color:#fff;font-size:15px}.admin-brand small{color:#aebbc5;margin-top:3px;font-size:12px}.admin-sidebar nav{gap:5px;display:grid}.admin-nav-link{color:#b9c4cc;border-radius:8px;align-items:center;gap:10px;min-height:40px;padding:0 10px;font-size:14px;font-weight:800;display:flex}.admin-nav-link svg{width:18px;height:18px}.admin-nav-link.active,.admin-nav-link:hover{color:#fff;background:#2e3542}.admin-main{min-width:0}.admin-topbar{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border-bottom:1px solid #dfe5ea;justify-content:space-between;align-items:center;min-height:62px;padding:0 28px;display:flex;position:sticky;top:0}.admin-topbar__left,.admin-topbar__right,.admin-actions,.admin-row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-topbar__right{color:#4e5967;font-size:14px;font-weight:800}.admin-icon-button{color:#586473;background:#eef2f5;border-radius:8px;place-items:center;width:36px;height:36px;display:grid}.admin-content{width:min(1280px,100% - 48px);margin:0 auto;padding:28px 0 40px}.admin-page-stack{gap:18px;display:grid}.admin-section-title{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.admin-section-title span{color:#667382;font-size:12px;font-weight:900;display:block}.admin-section-title h2{color:#20242f;margin-top:4px;font-size:24px;line-height:1.2}.admin-section-title__action{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-panel{background:#fff;border:1px solid #dfe5ea;border-radius:8px;padding:18px;box-shadow:0 8px 20px #20242f0a}.admin-table-panel{padding:0;overflow-x:auto}.admin-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.admin-stat-card{color:#20242f;text-align:left;background:#fff;border:1px solid #dfe5ea;border-radius:8px;gap:8px;min-height:126px;padding:16px;display:grid;position:relative}.admin-stat-card>svg:first-child{color:#147d70;background:#e5f7f3;border-radius:8px;width:34px;height:34px;padding:8px}.admin-stat-card span,.admin-version-box span,.admin-report-preview span,.admin-upload-progress span,.admin-service-item span{color:#667382;font-size:12px;font-weight:800}.admin-stat-card strong{font-size:30px;line-height:1}.admin-stat-card>svg:last-child{color:#98a4af;position:absolute;bottom:14px;right:14px}.admin-two-column,.admin-three-column,.admin-split{gap:16px;display:grid}.admin-two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-two-column--wide{grid-template-columns:minmax(0,1.6fr) minmax(340px,.8fr)}.admin-three-column{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-split{grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);align-items:start}.admin-list{gap:8px;display:grid}.admin-list-row{background:#f7f9fb;border:1px solid #e5eaef;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:10px 12px;display:flex}.admin-list-row strong,.admin-list-row small{display:block}.admin-list-row small{color:#667382;margin-top:4px;font-size:12px}.admin-badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:0 9px;font-size:12px;font-weight:900;display:inline-flex}.admin-badge--success{color:#147d48;background:#eaf8f0}.admin-badge--warning{color:#9a5b08;background:#fff4de}.admin-badge--danger{color:#b83242;background:#fff0f1}.admin-badge--muted{color:#586473;background:#eef2f5}.admin-service-grid,.admin-role-grid,.admin-rubric-grid,.admin-settings-grid,.admin-version-box{gap:12px;display:grid}.admin-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-service-item,.admin-settings-grid>div{background:#f7f9fb;border:1px solid #e5eaef;border-radius:8px;gap:8px;padding:14px;display:grid}.admin-service-item svg,.admin-settings-grid svg{color:#147d70;background:#e5f7f3;border-radius:8px;width:28px;height:28px;padding:6px}.admin-toolbar{grid-template-columns:minmax(260px,1fr) repeat(2,minmax(180px,220px));align-items:end;gap:12px;display:grid}.admin-search{background:#fff;border:1px solid #dfe5ea;border-radius:8px;align-items:center;gap:8px;min-height:44px;padding:0 12px;display:flex}.admin-search svg{color:#667382}.admin-search input{background:0 0;outline:0;width:100%;min-width:0}.admin-field{color:#4e5967;gap:7px;font-size:13px;font-weight:900;display:grid}.admin-field input,.admin-field select,.admin-field textarea{color:#20242f;background:#fff;border:1px solid #dfe5ea;border-radius:8px;outline:0;width:100%;min-width:0}.admin-field input,.admin-field select{min-height:42px;padding:0 11px}.admin-field textarea{resize:vertical;padding:10px 11px;line-height:1.55}.admin-field input:focus,.admin-field select:focus,.admin-field textarea:focus,.admin-search:focus-within{border-color:#1f9d8a;box-shadow:0 0 0 3px #1f9d8a1f}.admin-table{border-collapse:collapse;width:100%;min-width:780px}.admin-table th,.admin-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e5eaef;padding:13px 14px}.admin-table th{color:#667382;background:#f7f9fb;font-size:12px;font-weight:900}.admin-table td{color:#20242f;font-size:13px}.admin-table td small{color:#667382;margin-top:4px;display:block}.admin-row-action,.admin-row-actions button,.admin-section-title a{color:#147d70;background:0 0;font-size:12px;font-weight:900}.admin-primary-button,.admin-secondary-button{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 14px;font-size:14px;font-weight:900;display:inline-flex}.admin-primary-button{color:#fff;background:#147d70}.admin-primary-button--compact{width:fit-content}.admin-secondary-button{color:#147d70;background:#e5f7f3}.admin-login-page{background:#f4f6f8;place-items:center;min-height:100vh;padding:24px;display:grid}.admin-login-card{background:#fff;border:1px solid #dfe5ea;border-radius:8px;gap:16px;width:min(420px,100%);padding:28px;display:grid;box-shadow:0 16px 38px #20242f14}.admin-login-card>svg{color:#fff;background:#147d70;border-radius:8px;width:48px;height:48px;padding:11px}.admin-login-card p{color:#667382;font-size:13px;font-weight:900}.admin-login-card h1{color:#20242f;margin-top:4px;font-size:28px}.admin-alert,.admin-loading,.admin-empty{border-radius:8px;align-items:center;gap:10px;min-height:44px;padding:10px 12px;font-size:13px;font-weight:900;display:flex}.admin-loading,.admin-empty{color:#667382;background:#fff;border:1px solid #dfe5ea;justify-content:center}.admin-loading svg{animation:.8s linear infinite admin-spin}@keyframes admin-spin{to{transform:rotate(360deg)}}.admin-alert--success{color:#147d48;background:#eaf8f0}.admin-alert--danger{color:#b83242;background:#fff0f1}.admin-alert button{color:inherit;background:0 0;margin-left:auto;font-weight:900}.admin-tabs{background:#e9eef2;border-radius:8px;flex-wrap:wrap;gap:8px;padding:6px;display:flex}.admin-tabs button{color:#586473;background:0 0;border-radius:7px;min-height:34px;padding:0 12px;font-size:13px;font-weight:900}.admin-tabs button.is-active{color:#fff;background:#20242f}.admin-form-grid{gap:14px;display:grid}.admin-form-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-raw-text{white-space:pre-wrap;color:#344054;max-height:680px;font-family:var(--font-mono);background:#f7f9fb;border:1px solid #e5eaef;border-radius:8px;margin:0;padding:14px;font-size:12px;line-height:1.6;overflow:auto}.admin-role-grid,.admin-rubric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-role-card{background:#f7f9fb;border:1px solid #e5eaef;border-radius:8px;align-content:start;gap:12px;padding:14px;display:grid}.admin-role-card h3{color:#20242f;font-size:16px}.admin-report-preview,.admin-version-box{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-report-preview{gap:12px;display:grid}.admin-report-preview--detail{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-report-card--wide{grid-column:1/-1}.admin-report-preview>div,.admin-version-box>div{background:#f7f9fb;border:1px solid #e5eaef;border-radius:8px;gap:8px;padding:14px;display:grid}.admin-report-preview strong,.admin-version-box strong{color:#20242f;font-size:18px}.admin-report-preview p{color:#667382;font-size:12px;line-height:1.5}.admin-report-line b{color:#344054}.admin-audio-player{width:100%;max-width:320px;height:34px}.admin-audio-note{color:#8b6f00;font-size:12px;font-weight:800}.admin-recording-panel{gap:16px;display:grid}.admin-recording-meta{color:#64748b;flex-wrap:wrap;align-items:center;gap:10px 18px;font-size:13px;display:flex}.admin-recording-player{background:#0f172a;border-radius:14px;width:min(100%,860px);max-height:560px}.admin-check-list{gap:8px;display:grid}.admin-check-row{color:#344054;align-items:center;gap:8px;font-weight:800;display:flex}.admin-check-row svg{color:#147d70}.admin-upload-zone{text-align:center;background:#fff;border:2px dashed #b7c3ce;border-radius:8px;place-items:center;gap:12px;min-height:300px;padding:34px;display:grid}.admin-upload-zone.is-dragging{background:#f0fbf8;border-color:#147d70}.admin-upload-zone>svg{color:#147d70;background:#e5f7f3;border-radius:8px;width:58px;height:58px;padding:14px}.admin-upload-zone h2{font-size:24px}.admin-upload-zone p{color:#667382;font-size:13px}.admin-upload-progress{gap:8px;display:grid}.admin-upload-progress div{background:#e9eef2;border-radius:999px;height:8px;overflow:hidden}.admin-upload-progress i{border-radius:inherit;background:#147d70;height:100%;display:block}.admin-transcript,.admin-timeline{gap:10px;display:grid}.admin-transcript>div,.admin-timeline>div{background:#f7f9fb;border:1px solid #e5eaef;border-radius:8px;gap:4px;padding:12px;display:grid}.admin-transcript time,.admin-timeline span{color:#147d70;font-size:12px;font-weight:900}.admin-transcript p{color:#4e5967;font-size:13px;line-height:1.55}.admin-settings-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=1060px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{height:auto;position:static}.admin-sidebar nav{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-stat-grid,.admin-service-grid,.admin-role-grid,.admin-rubric-grid,.admin-report-preview,.admin-version-box,.admin-three-column,.admin-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-two-column,.admin-two-column--wide,.admin-split{grid-template-columns:1fr}}@media (width<=720px){.admin-content{width:min(100% - 24px,1280px)}.admin-topbar,.admin-section-title{flex-direction:column;align-items:flex-start}.admin-sidebar nav,.admin-stat-grid,.admin-service-grid,.admin-role-grid,.admin-rubric-grid,.admin-report-preview,.admin-version-box,.admin-toolbar,.admin-form-grid--two,.admin-three-column,.admin-settings-grid{grid-template-columns:1fr}}.lesson-demo-notice{color:#7a5610;background:#fff8e6;border:1px solid #f2d38a;border-radius:10px;margin:0 18px 12px;padding:10px 12px;font-size:12px;line-height:1.5}@supports (height:clamp(360px, 63.2vh, 500px)){.exam-stage{flex-basis:clamp(360px,63.2vh,500px)}}@supports (height:100svh){#root,.desktop-shell,.mobile-app-shell,.mobile-page,.admin-shell,.admin-login-page{min-height:100svh}.mobile-page--fixed,.home-page,.mobile-page.lesson-select-page,.mobile-page.lesson-player-page,.mobile-page.lesson-record-page,.mobile-page.lesson-processing-page,.admin-sidebar{height:100svh}.splash-content{min-height:calc(100svh - 36px);padding-top:min(34svh,262px)}.exam-stage{flex-basis:clamp(360px,63.2svh,500px)}.patient-info-dialog{max-height:min(78svh,620px)}}
