.cue-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;width:100%;display:grid}@media (max-width:900px){.cue-layout{grid-template-columns:minmax(0,1fr)}}.cue-paper{border:2px solid var(--gm-line);border-radius:var(--gm-radius);background:var(--gm-card);box-shadow:0 4px 0 var(--gm-line);flex-direction:column;gap:14px;padding:24px 28px 22px;display:flex}@media (max-width:760px){.cue-paper{padding:18px}}.cue-paper-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.cue-badge{border:2px solid var(--gm-gold);background:var(--gm-gold);box-shadow:0 3px 0 var(--gm-gold-edge);font-family:var(--ds-font-display);letter-spacing:.08em;text-transform:uppercase;color:#4a3300;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:800}.cue-part-label{font-family:var(--ds-font-display);color:var(--gm-muted);font-size:13px;font-weight:700}.cue-title{font-family:var(--ds-font-display);letter-spacing:-.01em;color:var(--gm-text);margin:4px 0 0;font-size:clamp(21px,2.4vw,27px);font-weight:800;line-height:1.25}.cue-say{font-family:var(--ds-font-display);color:var(--skill-ink);margin:0;font-size:15px;font-weight:700}.cue-points{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.cue-points li{color:var(--gm-text);padding-left:32px;font-size:16.5px;line-height:1.45;position:relative}.cue-points li:before{content:"";box-sizing:border-box;border:2px solid color-mix(in srgb, var(--skill) 45%, var(--gm-line));background:var(--skill-soft);border-radius:50%;width:20px;height:20px;position:absolute;top:3px;left:0}.cue-note{border-top:2px dashed var(--gm-line);color:var(--gm-muted);margin:4px 0 0;padding-top:14px;font-size:13.5px;line-height:1.5}.cue-side{flex-direction:column;gap:14px;min-width:0;display:flex}.cue-timer-card{border:2px solid var(--gm-line);border-radius:var(--gm-radius);background:var(--gm-card);box-shadow:0 4px 0 var(--gm-line);align-items:center;gap:14px;padding:14px 16px;display:flex}.cue-timer-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.cue-timer-title{font-family:var(--ds-font-display);color:var(--gm-text);font-size:16px;font-weight:800}.cue-timer-sub{color:var(--ds-text-secondary);font-size:13px;line-height:1.45}.cue-notes-card{border:2px solid var(--gm-line);border-radius:var(--gm-radius);background:var(--gm-card);box-shadow:0 4px 0 var(--gm-line);flex-direction:column;gap:10px;padding:14px 16px;display:flex}.cue-notes-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;display:flex}.cue-notes-label{font-family:var(--ds-font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--skill-ink);align-items:center;gap:6px;font-size:13px;font-weight:800;display:inline-flex}.cue-notes-label svg{width:14px;height:14px}.cue-notes-kept{color:var(--gm-muted);font-size:12px}.cue-notes-area{box-sizing:border-box;border:2px solid var(--gm-line-strong);border-radius:var(--gm-radius-sm);background:var(--gm-sunken);width:100%;min-height:150px;color:var(--gm-text);font-family:var(--ds-font-body);resize:vertical;outline:none;padding:12px 14px;font-size:15px;line-height:1.5;transition:border-color .15s,background-color .15s}.cue-notes-area::placeholder{color:var(--gm-muted)}.cue-notes-area:focus{border-color:var(--skill);background:var(--gm-card)}.cue-notes-hint{color:var(--gm-muted);font-size:12.5px}.cue-notes-toggle{border:2px solid var(--gm-line-strong);background:var(--gm-card);min-height:32px;box-shadow:0 3px 0 var(--gm-line-strong);font-family:var(--ds-font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--gm-muted);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.cue-notes-toggle svg{width:13px;height:13px}.cue-notes-toggle:active{box-shadow:none;transform:translateY(3px)}.cue-notes-display{border-radius:var(--gm-radius-sm);background:var(--gm-sunken);white-space:pre-wrap;max-height:220px;color:var(--gm-text);padding:12px 14px;font-size:15px;line-height:1.5;overflow-y:auto}
.gm-exam{--gm-card:var(--ds-surface-card);--gm-sunken:var(--ds-surface-sunken);--gm-line:#e5e5e5;--gm-line-strong:#d4d4d8;--gm-text:var(--ds-text-primary);--gm-muted:var(--ds-text-tertiary);--gm-red:#dc2626;--gm-red-edge:#a51b1b;--gm-red-soft:#fef2f2;--gm-streak:#ff9600;--gm-streak-edge:#d97f00;--gm-streak-soft:#fff4e5;--gm-gold:#ffc800;--gm-gold-edge:#e0a800;--gm-gold-ink:#6b4a00;--gm-gold-soft:#fff8db;--gm-green:#58cc02;--gm-green-edge:#46a302;--gm-green-soft:#ecfbe0;--gm-violet:#a855f7;--gm-violet-edge:#7e22ce;--gm-reading-edge:#11813a;--gm-listening-edge:#1d4ed8;--gm-writing-edge:#b45309;--gm-speaking-edge:#5b21b6;--gm-radius:20px;--gm-radius-sm:14px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .gm-exam{--gm-line:#2c2c31;--gm-line-strong:#3f3f46;--gm-red:#ef4444;--gm-red-edge:#b91c1c;--gm-red-soft:#3a1f1c;--gm-streak-soft:#33230d;--gm-gold-soft:#2f2808;--gm-gold-ink:#ffe27a;--gm-green-soft:#16260c}}:root[data-theme=dark] .gm-exam{--gm-line:#2c2c31;--gm-line-strong:#3f3f46;--gm-red:#ef4444;--gm-red-edge:#b91c1c;--gm-red-soft:#3a1f1c;--gm-streak-soft:#33230d;--gm-gold-soft:#2f2808;--gm-gold-ink:#ffe27a;--gm-green-soft:#16260c}.gm-exam{--skill:var(--ds-skill-speaking);--skill-edge:var(--gm-speaking-edge);--skill-soft:var(--ds-skill-speaking-bg);--skill-ink:color-mix(in srgb, var(--skill) 75%, var(--gm-text));color:var(--gm-text);font-family:var(--ds-font-body)}.exam-overlay{z-index:1050;background:var(--ds-surface-page);position:fixed;inset:0;overflow-y:auto}.exam-overlay:not(.checkin-overlay){height:100dvh;overflow:hidden}.gm-exam-btn{--btn-bg:var(--skill);--btn-fg:#fff;--btn-border:var(--skill);--btn-edge:var(--skill-edge);border:2px solid var(--btn-border);border-radius:var(--gm-radius-sm);background:var(--btn-bg);min-height:50px;box-shadow:0 4px 0 var(--btn-edge);color:var(--btn-fg);font-family:var(--ds-font-display);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 24px;font-size:15px;font-weight:800;transition:transform 80ms,box-shadow 80ms,filter .15s,background-color .15s,color .15s;display:inline-flex}.gm-exam-btn svg{stroke-width:2.6px;flex-shrink:0;width:17px;height:17px}.gm-exam-btn:hover:not(:disabled){filter:brightness(1.06)}.gm-exam-btn:active:not(:disabled){box-shadow:0 0 0 var(--btn-edge);transform:translateY(4px)}.gm-exam-btn:focus-visible{outline:3px solid var(--ds-focus-ring);outline-offset:3px}.gm-exam-btn.is-go{--btn-bg:var(--gm-green);--btn-border:var(--gm-green);--btn-edge:var(--gm-green-edge)}.gm-exam-btn.is-ghost{--btn-bg:var(--gm-card);--btn-fg:var(--gm-muted);--btn-border:var(--gm-line-strong);--btn-edge:var(--gm-line-strong)}.gm-exam-btn.is-ghost:hover:not(:disabled){filter:none;color:var(--skill-ink)}.gm-exam-btn:disabled{--btn-bg:var(--gm-sunken);--btn-fg:var(--gm-muted);--btn-border:var(--gm-line);--btn-edge:var(--gm-line);cursor:not-allowed}.gm-exam-icon-btn{width:44px;height:44px;color:var(--gm-muted);cursor:pointer;background:0 0;border:0;border-radius:12px;flex-shrink:0;place-items:center;padding:0;transition:color .15s,background-color .15s;display:inline-grid}.gm-exam-icon-btn svg{stroke-width:2.8px;width:26px;height:26px}.gm-exam-icon-btn:hover{background:var(--gm-sunken);color:var(--gm-text)}.gm-exam-icon-btn:focus-visible{outline:3px solid var(--ds-focus-ring);outline-offset:2px}.gm-exam-progress{background:var(--gm-line);border-radius:999px;flex:1;min-width:0;height:16px;position:relative;overflow:hidden}.gm-exam-progress>span{border-radius:inherit;background:var(--gm-green);height:100%;transition:width .45s cubic-bezier(.34,1.56,.64,1);display:block;position:relative}.gm-exam-progress>span:after{content:"";background:#ffffff59;border-radius:999px;height:4px;position:absolute;top:4px;left:8px;right:8px}.gm-exam-progress.is-thick{flex:none;width:100%;height:20px}.gm-exam-progress.is-indeterminate>span{width:35%;animation:1.3s ease-in-out infinite gm-exam-indeterminate}@keyframes gm-exam-indeterminate{0%{transform:translate(-100%)}to{transform:translate(300%)}}.gm-exam-photo{border:3px solid color-mix(in srgb, var(--skill) 30%, var(--gm-line));background:radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--skill) 20%, transparent), transparent 70%),var(--skill-soft);border-radius:50%;flex-shrink:0;place-items:center;width:64px;height:64px;display:inline-grid;overflow:hidden}.gm-exam-photo img{object-fit:cover;object-position:50% 20%;width:100%;height:100%}.gm-exam-photo.is-large{border-width:4px;border-color:var(--gm-card);width:148px;height:148px;box-shadow:0 0 0 3px color-mix(in srgb, var(--skill) 35%, var(--gm-line))}.gm-exam-photo.is-small{border-width:2px;width:40px;height:40px}.gm-exam-photo-initial{font-family:var(--ds-font-display);color:var(--skill-ink);font-size:26px;font-weight:800}.exam-ring{flex-shrink:0;position:relative}.exam-ring svg{transform:rotate(-90deg)}.exam-ring.is-urgent .exam-ring-digits{color:var(--gm-red);animation:1s ease-in-out infinite exam-ring-urgent}.exam-ring-track{fill:none;stroke:var(--gm-line)}.exam-ring-fill{fill:none;stroke-linecap:round;transition:stroke-dashoffset 1s linear,stroke .3s}.exam-ring-center{flex-direction:column;justify-content:center;align-items:center;line-height:1.1;display:flex;position:absolute;inset:0}.exam-ring-digits{font-family:var(--ds-font-display);font-variant-numeric:tabular-nums;color:var(--gm-text);font-size:17px;font-weight:800}.exam-ring-caption{font-family:var(--ds-font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--gm-muted);margin-top:1px;font-size:10px;font-weight:800}@keyframes exam-ring-urgent{50%{transform:scale(1.1)}}.exam-level-bars{align-items:center;gap:3px;height:20px;display:inline-flex}.exam-level-bars i{transform-origin:50%;background:currentColor;border-radius:2px;width:4px;transition:transform 80ms linear}.checkin{flex-direction:column;min-height:100%;display:flex}.checkin-top{box-sizing:border-box;align-items:center;gap:16px;width:100%;max-width:1040px;margin:0 auto;padding:20px 24px 8px;display:flex}.checkin-top-count{font-family:var(--ds-font-display);color:var(--gm-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:14px;font-weight:800}.checkin-body{box-sizing:border-box;flex-direction:column;flex:1;gap:20px;width:100%;max-width:1040px;margin:0 auto;padding:20px 24px 32px;display:flex}.checkin-step{transition:opacity .22s,transform .22s}.checkin-step.is-exit-forward{opacity:0;transform:translate(-28px)}.checkin-step.is-exit-back{opacity:0;transform:translate(28px)}.checkin-step.is-enter-forward{animation:.22s both checkin-enter-forward}.checkin-step.is-enter-back{animation:.22s both checkin-enter-back}@keyframes checkin-enter-forward{0%{opacity:0;transform:translate(28px)}}@keyframes checkin-enter-back{0%{opacity:0;transform:translate(-28px)}}.checkin-head{flex-direction:column;gap:6px;display:flex}.checkin-eyebrow{font-family:var(--ds-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--skill-ink);font-size:12.5px;font-weight:800}.checkin-eyebrow-sep{opacity:.6;margin:0 8px}.checkin-title{font-family:var(--ds-font-display);letter-spacing:-.02em;color:var(--gm-text);margin:0;font-size:clamp(26px,3.4vw,36px);font-weight:800;line-height:1.15}.checkin-sub{max-width:620px;color:var(--ds-text-secondary);margin:2px 0 0;font-size:16px;line-height:1.5}.checkin-examiners{grid-template-columns:290px minmax(0,1fr);align-items:start;gap:20px;margin-top:22px;display:grid}.checkin-spotlight{border:2px solid var(--gm-line);border-radius:var(--gm-radius);background:linear-gradient(var(--skill) 0 104px, var(--gm-card) 104px);box-shadow:0 4px 0 var(--gm-line);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:28px 20px 20px;display:flex;position:sticky;top:16px}.checkin-spotlight .gm-exam-photo.is-large{box-shadow:0 0 0 3px var(--skill-edge)}.checkin-spotlight-copy{flex-direction:column;gap:2px;display:flex}.checkin-spotlight-name{font-family:var(--ds-font-display);letter-spacing:-.01em;font-size:24px;font-weight:800}.checkin-spotlight-meta{font-family:var(--ds-font-display);color:var(--gm-muted);font-size:14px;font-weight:700}.checkin-spotlight-play{width:100%;margin-top:4px}.checkin-spotlight-play.is-playing{--btn-bg:var(--skill-soft);--btn-fg:var(--skill-ink);--btn-border:color-mix(in srgb, var(--skill) 55%, var(--gm-line));--btn-edge:color-mix(in srgb, var(--skill) 55%, var(--gm-line))}.checkin-spotlight-note{color:var(--gm-muted);align-items:center;gap:6px;font-size:12.5px;line-height:1.4;display:inline-flex}.checkin-spotlight-note svg{flex-shrink:0;width:14px;height:14px}.checkin-examiner-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;display:grid}.checkin-examiner{border:2px solid var(--gm-line);border-radius:var(--gm-radius);background:var(--gm-card);box-shadow:0 4px 0 var(--gm-line);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:4px;padding:18px 12px 16px;transition:transform .2s cubic-bezier(.34,1.56,.64,1),border-color .15s,box-shadow .15s,background-color .15s;display:flex;position:relative}.checkin-examiner .gm-exam-photo{width:88px;height:88px;margin-bottom:6px}.checkin-examiner:hover{border-color:color-mix(in srgb, var(--skill) 40%, var(--gm-line));box-shadow:0 6px 0 color-mix(in srgb, var(--skill) 40%, var(--gm-line));transform:translateY(-3px)}.checkin-examiner:active{box-shadow:0 1px 0 color-mix(in srgb, var(--skill) 40%, var(--gm-line));transform:translateY(2px)}.checkin-examiner:focus-visible{outline:3px solid var(--skill);outline-offset:3px}.checkin-examiner.is-selected{border-color:var(--skill);background:var(--skill-soft);box-shadow:0 4px 0 var(--skill-edge)}.checkin-examiner.is-selected .gm-exam-photo{border-color:var(--skill)}.checkin-examiner-check{background:var(--skill);color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;animation:.25s cubic-bezier(.34,1.56,.64,1) checkin-pop;display:grid;position:absolute;top:10px;left:10px}.checkin-examiner-check svg{stroke-width:3.5px;width:15px;height:15px}@keyframes checkin-pop{0%{transform:scale(.3)}}.checkin-examiner-name{font-family:var(--ds-font-display);font-size:17px;font-weight:800}.checkin-examiner-meta{font-family:var(--ds-font-display);color:var(--gm-muted);font-size:13px;font-weight:700}.checkin-examiner-play{border:2px solid var(--gm-line-strong);background:var(--gm-card);width:36px;height:36px;box-shadow:0 3px 0 var(--gm-line-strong);color:var(--skill);cursor:pointer;border-radius:11px;place-items:center;padding:0;transition:transform 80ms,box-shadow 80ms;display:grid;position:absolute;top:8px;right:8px}.checkin-examiner-play svg{stroke-width:2.6px;width:17px;height:17px}.checkin-examiner-play:active:not(:disabled){box-shadow:0 0 0 var(--gm-line-strong);transform:translateY(3px)}.checkin-examiner-play:focus-visible{outline:3px solid var(--ds-focus-ring);outline-offset:2px}.checkin-examiner-play:disabled{opacity:.5;cursor:not-allowed}.checkin-examiner-play.is-playing{border-color:var(--skill);background:var(--skill);box-shadow:0 3px 0 var(--skill-edge);color:#fff}.checkin-panel{flex-direction:column;gap:18px;max-width:680px;margin-top:22px;display:flex}.checkin-mic{border:2px solid var(--gm-line);border-radius:var(--gm-radius);background:var(--gm-card);box-shadow:0 4px 0 var(--gm-line);flex-wrap:wrap;align-items:center;gap:16px;padding:18px 20px;transition:border-color .2s,box-shadow .2s,background-color .2s;display:flex}.checkin-mic.is-recording,.checkin-mic.is-done{border-color:color-mix(in srgb, var(--gm-green) 50%, var(--gm-line));box-shadow:0 4px 0 color-mix(in srgb, var(--gm-green) 50%, var(--gm-line))}.checkin-mic.is-recording .checkin-mic-icon,.checkin-mic.is-done .checkin-mic-icon{background:var(--gm-green-soft);color:var(--gm-green-edge)}.checkin-mic.is-error{border-color:color-mix(in srgb, var(--gm-red) 45%, var(--gm-line));background:var(--gm-red-soft);box-shadow:0 4px 0 color-mix(in srgb, var(--gm-red) 45%, var(--gm-line))}.checkin-mic.is-error .checkin-mic-icon{background:var(--gm-card);color:var(--gm-red)}.checkin-mic-icon{background:var(--skill-soft);width:56px;height:56px;color:var(--skill);border-radius:16px;flex-shrink:0;place-items:center;display:grid}.checkin-mic-icon>svg{stroke-width:2.4px;width:26px;height:26px}.checkin-mic-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.checkin-mic-title{font-family:var(--ds-font-display);font-size:17px;font-weight:800}.checkin-mic-hint{color:var(--ds-text-secondary);font-size:14px;line-height:1.45}.checkin-mic-btn{min-height:44px;padding:0 16px;font-size:13px}.checkin-mic-clip{background:var(--gm-green-soft);border-radius:14px;flex-basis:100%;align-items:center;gap:12px;padding:10px 14px 10px 10px;display:flex}.checkin-mic-clip audio{display:none}.checkin-mic-clip-play{background:var(--gm-green);width:40px;height:40px;box-shadow:0 3px 0 var(--gm-green-edge);color:#fff;cursor:pointer;border:0;border-radius:50%;flex-shrink:0;place-items:center;transition:transform .1s,box-shadow .1s;display:grid}.checkin-mic-clip-play:active{box-shadow:0 1px 0 var(--gm-green-edge);transform:translateY(2px)}.checkin-mic-clip-play svg{stroke-width:2.6px;width:18px;height:18px}.checkin-mic-clip-label{color:var(--gm-green-edge);flex-shrink:0;font-size:14px;font-weight:700}.checkin-mic-clip-track{background:color-mix(in srgb, var(--gm-green) 22%, transparent);border-radius:99px;flex:1;min-width:40px;height:6px;overflow:hidden}.checkin-mic-clip-track>span{border-radius:inherit;background:var(--gm-green);height:100%;transition:width .25s linear;display:block}.checkin-mic-clip-time{font-variant-numeric:tabular-nums;color:var(--gm-green-edge);flex-shrink:0;font-size:13px;font-weight:700}.checkin-tips{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.checkin-tips li{color:var(--ds-text-secondary);align-items:center;gap:12px;font-size:15.5px;line-height:1.45;display:flex}.checkin-tips svg{box-sizing:border-box;background:var(--gm-green-soft);width:26px;height:26px;color:var(--gm-green-edge);stroke-width:3.5px;border-radius:50%;flex-shrink:0;padding:5px}.checkin-path{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.checkin-path-row{grid-template-columns:60px minmax(0,1fr) auto;align-items:center;gap:16px;padding:12px 0;display:grid;position:relative}.checkin-path-row:not(:last-child):after{content:"";background:repeating-linear-gradient(var(--gm-line-strong) 0 6px, transparent 6px 12px);border-radius:2px;width:4px;position:absolute;top:72px;bottom:-12px;left:28px}.checkin-path-node{background:var(--skill);width:60px;height:60px;box-shadow:0 5px 0 var(--skill-edge);color:#fff;border-radius:50%;place-items:center;display:grid}.checkin-path-node svg{stroke-width:2.4px;width:26px;height:26px}.checkin-path-copy{flex-direction:column;gap:1px;min-width:0;display:flex}.checkin-path-part{font-family:var(--ds-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--skill-ink);font-size:12px;font-weight:800}.checkin-path-name{font-family:var(--ds-font-display);font-size:19px;font-weight:800}.checkin-path-detail{color:var(--ds-text-secondary);font-size:14.5px}.checkin-path-time{border:2px solid var(--gm-line);background:var(--gm-sunken);font-family:var(--ds-font-display);color:var(--gm-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:800;display:inline-flex}.checkin-path-time svg{width:13px;height:13px;color:var(--skill)}.checkin-note{border:2px dashed var(--gm-line-strong);border-radius:var(--gm-radius-sm);color:var(--ds-text-secondary);align-items:center;gap:12px;margin:0;padding:14px 16px;font-size:14.5px;line-height:1.5;display:flex}.checkin-error{border:2px solid color-mix(in srgb, var(--gm-red) 40%, var(--gm-line));border-radius:var(--gm-radius-sm);background:var(--gm-red-soft);font-family:var(--ds-font-display);color:var(--gm-text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;font-size:14.5px;font-weight:700;display:flex}.checkin-error .gm-exam-btn{min-height:42px;padding:0 16px;font-size:13px}.checkin-actions{z-index:2;border-top:2px solid var(--gm-line);background:var(--ds-surface-page);position:sticky;bottom:0}.checkin-actions-inner{box-sizing:border-box;justify-content:space-between;align-items:center;gap:12px;max-width:1040px;margin:0 auto;padding:18px 24px;display:flex}.checkin-next{min-width:200px}.exam-room{background:var(--ds-surface-page);flex-direction:column;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.exam-loading{z-index:20;background:var(--ds-surface-page);place-items:center;padding:24px;display:grid;position:absolute;inset:0}.exam-loading-card{text-align:center;flex-direction:column;align-items:center;gap:10px;width:min(420px,100%);display:flex}.exam-loading-photo.gm-exam-photo.is-large{width:168px;height:168px;margin-bottom:10px;animation:2.4s ease-in-out infinite exam-loading-bob}@keyframes exam-loading-bob{50%{transform:translateY(-8px)}}.exam-loading-title{font-family:var(--ds-font-display);letter-spacing:-.01em;font-size:24px;font-weight:800}.exam-loading-sub{font-family:var(--ds-font-display);color:var(--gm-muted);font-variant-numeric:tabular-nums;margin-bottom:6px;font-size:15px;font-weight:700}.exam-loading-hint{color:var(--gm-muted);margin-top:4px;font-size:13px}.exam-room-bar{box-sizing:border-box;flex-shrink:0;align-items:center;gap:16px;width:100%;max-width:1120px;margin:0 auto;padding:16px 24px 8px;display:flex}.exam-room-bar-center{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.exam-room-bar-center .gm-exam-progress{flex:none}.exam-stepper{flex-wrap:wrap;gap:6px;display:flex}.exam-step{border:2px solid var(--gm-line);background:var(--gm-card);font-family:var(--ds-font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--gm-muted);border-radius:999px;align-items:center;gap:6px;padding:4px 11px;font-size:12px;font-weight:800;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.exam-step svg{stroke-width:3.5px;width:13px;height:13px}.exam-step.is-live{border-color:color-mix(in srgb, var(--skill) 55%, var(--gm-line));background:var(--skill-soft);color:var(--skill-ink)}.exam-step.is-done{border-color:color-mix(in srgb, var(--gm-green) 40%, var(--gm-line));background:var(--gm-green-soft);color:var(--gm-green-edge)}.exam-step-name{letter-spacing:0;text-transform:none;opacity:.85;font-weight:700}.exam-rec-pill{border:2px solid var(--gm-line-strong);background:var(--gm-card);height:40px;box-shadow:0 3px 0 var(--gm-line-strong);font-family:var(--ds-font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--gm-muted);border-radius:12px;flex-shrink:0;align-items:center;gap:8px;padding:0 13px;font-size:12.5px;font-weight:800;display:inline-flex}.exam-rec-pill.is-recording{border-color:color-mix(in srgb, var(--gm-red) 45%, var(--gm-line));box-shadow:0 3px 0 color-mix(in srgb, var(--gm-red) 45%, var(--gm-line));color:var(--gm-red)}.exam-rec-pill.is-recording .exam-rec-dot{background:var(--gm-red);animation:1.2s ease-in-out infinite exam-rec-blink}.exam-rec-dot{background:var(--gm-line-strong);border-radius:50%;width:10px;height:10px}.exam-rec-time{font-variant-numeric:tabular-nums;letter-spacing:.02em}@keyframes exam-rec-blink{50%{opacity:.25}}.exam-toasts{z-index:15;flex-direction:column;gap:8px;width:min(560px,100% - 32px);display:flex;position:absolute;top:96px;left:50%;transform:translate(-50%)}.exam-toast{border:2px solid color-mix(in srgb, var(--gm-red) 40%, var(--gm-line));border-radius:var(--gm-radius-sm);background:var(--gm-card);box-shadow:0 4px 0 color-mix(in srgb, var(--gm-red) 40%, var(--gm-line));flex-direction:column;gap:10px;padding:12px 16px;display:flex}.exam-toast-msg{font-family:var(--ds-font-display);font-size:14px;font-weight:700;line-height:1.45}.exam-toast-actions{justify-content:flex-end;gap:8px;display:flex}.exam-toast-btn{border:2px solid var(--gm-line-strong);background:var(--gm-card);min-height:34px;box-shadow:0 3px 0 var(--gm-line-strong);font-family:var(--ds-font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--gm-muted);cursor:pointer;border-radius:10px;padding:0 12px;font-size:12px;font-weight:800}.exam-toast-btn.is-retry{border-color:var(--gm-red);background:var(--gm-red);box-shadow:0 3px 0 var(--gm-red-edge);color:#fff}.exam-toast-btn:active:not(:disabled){box-shadow:none;transform:translateY(3px)}.exam-toast-btn:disabled{opacity:.5;cursor:not-allowed}.exam-room-main{box-sizing:border-box;flex-direction:column;flex:1;width:100%;max-width:1120px;min-height:0;margin:0 auto;padding:16px 24px;display:flex;overflow-y:auto}.exam-room-main.is-interview{justify-content:center}.exam-stage{grid-template-columns:minmax(220px,330px) minmax(0,1fr);align-items:center;gap:32px;width:100%;display:grid}.is-cue .exam-stage{grid-template-columns:minmax(0,1fr);align-items:start;gap:18px}.exam-examiner{justify-content:center;min-width:0;display:flex}.exam-bubble{border:2px solid var(--gm-line);border-radius:var(--gm-radius);background:var(--gm-card);box-shadow:0 4px 0 var(--gm-line);flex-direction:column;gap:16px;padding:24px 26px 20px;display:flex;position:relative}.exam-bubble:before{content:"";border-bottom:2px solid var(--gm-line);border-left:2px solid var(--gm-line);background:var(--gm-card);width:22px;height:22px;position:absolute;top:50%;left:-13px;transform:translateY(-50%)rotate(45deg)}.exam-bubble-meta{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.exam-bubble-badge{background:var(--skill-soft);font-family:var(--ds-font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--skill-ink);border-radius:999px;padding:5px 11px;font-size:12px;font-weight:800}.exam-bubble-part{font-family:var(--ds-font-display);color:var(--gm-muted);font-size:13.5px;font-weight:700}.exam-bubble-text{font-family:var(--ds-font-display);letter-spacing:-.01em;color:var(--gm-text);margin:0;font-size:clamp(21px,2.4vw,28px);font-weight:800;line-height:1.3}.exam-bubble-actions{border-top:2px solid var(--gm-line);justify-content:space-between;align-items:center;gap:12px;padding-top:16px;display:flex}.exam-replay{min-height:46px;padding:0 18px;font-size:13.5px}.exam-room-foot{border-top:2px solid var(--gm-line);background:var(--gm-card);flex-shrink:0;transition:background-color .25s,border-color .25s}.exam-room-foot.is-your-turn{border-top-color:color-mix(in srgb, var(--gm-green) 40%, var(--gm-line));background:var(--gm-green-soft)}.exam-room-foot.is-your-turn .exam-foot-title{color:var(--gm-green-edge)}.exam-room-foot.is-your-turn .exam-foot-icon{border-color:color-mix(in srgb, var(--gm-green) 45%, var(--gm-line));color:var(--gm-green-edge)}.exam-room-foot.is-listening{border-top-color:color-mix(in srgb, var(--skill) 35%, var(--gm-line));background:var(--skill-soft)}.exam-room-foot.is-listening .exam-foot-title{color:var(--skill-ink)}.exam-room-foot-inner{box-sizing:border-box;justify-content:space-between;align-items:center;gap:16px;max-width:1120px;margin:0 auto;padding:18px 24px;display:flex}.exam-foot-status{align-items:center;gap:14px;min-width:0;display:flex}.exam-foot-icon{border:2px solid var(--gm-line);background:var(--gm-card);width:52px;height:52px;color:var(--skill);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.exam-foot-icon>svg{stroke-width:2.4px;width:22px;height:22px}.exam-foot-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.exam-foot-title{font-family:var(--ds-font-display);color:var(--gm-text);font-size:18px;font-weight:800}.exam-foot-sub{color:var(--ds-text-secondary);font-size:14px}.exam-btn-next{min-width:230px}@media (max-width:760px){.checkin-top{gap:10px;padding:12px 14px 4px}.checkin-body{gap:16px;padding:14px 16px 24px}.checkin-sub{font-size:15px}.checkin-examiners{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:16px}.checkin-spotlight{background:var(--gm-card);text-align:left;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 14px;padding:14px;display:grid;position:static}.checkin-spotlight .gm-exam-photo.is-large{width:76px;height:76px;box-shadow:0 0 0 2px var(--skill);border-width:3px;grid-row:span 2}.checkin-spotlight-name{font-size:20px}.checkin-spotlight-play{justify-self:start;width:auto;min-height:40px;margin:0;padding:0 14px;font-size:12.5px}.checkin-spotlight-note{grid-column:1/-1;margin-top:6px}.checkin-examiner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.checkin-examiner .gm-exam-photo{width:72px;height:72px}.checkin-mic{flex-wrap:wrap;padding:16px}.checkin-mic-btn{width:100%}.checkin-path-row{grid-template-columns:52px minmax(0,1fr);gap:14px}.checkin-path-row:not(:last-child):after{top:64px;left:24px}.checkin-path-node{width:52px;height:52px}.checkin-path-time{grid-column:2;justify-self:start}.checkin-actions-inner{padding:12px 16px}.checkin-actions-inner>span:empty{display:none}.checkin-actions-inner .gm-exam-btn{flex:1}.checkin-next{min-width:0}.exam-room-bar{gap:10px;padding:10px 14px 6px}.exam-room-bar-center{gap:8px}.exam-stepper{flex-wrap:nowrap;gap:4px}.exam-step{padding:3px 8px;font-size:10.5px}.exam-step svg,.exam-step-name{display:none}.exam-rec-pill{height:36px;padding:0 10px}.exam-rec-pill .exam-rec-label{display:none}.exam-toasts{top:84px}.exam-room-main{padding:10px 16px 14px}.exam-room-main.is-interview{justify-content:flex-start}.exam-stage{grid-template-columns:minmax(0,1fr);gap:18px}.exam-bubble{gap:12px;padding:18px 18px 16px}.exam-bubble:before{border-top:2px solid var(--gm-line);border-bottom:0;top:-13px;left:50%;transform:translate(-50%)rotate(45deg)}.exam-bubble-text{font-size:19px}.exam-bubble-actions{padding-top:12px}.exam-room-foot-inner{flex-direction:column;align-items:stretch;gap:12px;padding:12px 16px 16px}.exam-foot-icon{width:40px;height:40px}.exam-foot-icon>svg{width:18px;height:18px}.exam-foot-title{font-size:16px}.exam-foot-sub{display:none}.exam-btn-next{width:100%;min-width:0}}@media (prefers-reduced-motion:reduce){.checkin-step,.gm-exam-progress>span{transition:none}.checkin-step,.exam-loading-photo.gm-exam-photo.is-large,.exam-ring.is-urgent .exam-ring-digits,.gm-exam-progress.is-indeterminate>span{animation:none}}
.examiner-avatar{--gm-card:var(--ds-surface-card);--gm-sunken:var(--ds-surface-sunken);--gm-line:#e5e5e5;--gm-line-strong:#d4d4d8;--gm-text:var(--ds-text-primary);--gm-muted:var(--ds-text-tertiary);--gm-red:#dc2626;--gm-red-edge:#a51b1b;--gm-red-soft:#fef2f2;--gm-streak:#ff9600;--gm-streak-edge:#d97f00;--gm-streak-soft:#fff4e5;--gm-gold:#ffc800;--gm-gold-edge:#e0a800;--gm-gold-ink:#6b4a00;--gm-gold-soft:#fff8db;--gm-green:#58cc02;--gm-green-edge:#46a302;--gm-green-soft:#ecfbe0;--gm-violet:#a855f7;--gm-violet-edge:#7e22ce;--gm-reading-edge:#11813a;--gm-listening-edge:#1d4ed8;--gm-writing-edge:#b45309;--gm-speaking-edge:#5b21b6;--gm-radius:20px;--gm-radius-sm:14px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .examiner-avatar{--gm-line:#2c2c31;--gm-line-strong:#3f3f46;--gm-red:#ef4444;--gm-red-edge:#b91c1c;--gm-red-soft:#3a1f1c;--gm-streak-soft:#33230d;--gm-gold-soft:#2f2808;--gm-gold-ink:#ffe27a;--gm-green-soft:#16260c}}:root[data-theme=dark] .examiner-avatar{--gm-line:#2c2c31;--gm-line-strong:#3f3f46;--gm-red:#ef4444;--gm-red-edge:#b91c1c;--gm-red-soft:#3a1f1c;--gm-streak-soft:#33230d;--gm-gold-soft:#2f2808;--gm-gold-ink:#ffe27a;--gm-green-soft:#16260c}.examiner-avatar{--skill:var(--ds-skill-speaking);--skill-edge:var(--gm-speaking-edge);--skill-soft:var(--ds-skill-speaking-bg);width:100%;max-width:330px;color:var(--gm-text);flex-direction:column;align-items:stretch;gap:10px;margin:0 auto;transition:opacity .35s;display:flex}.examiner-avatar.is-faded{opacity:.35}.examiner-avatar-frame{aspect-ratio:4/5;border:2px solid color-mix(in srgb, var(--skill) 30%, var(--gm-line));border-radius:var(--gm-radius);background:radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--skill) 22%, transparent), transparent 62%),var(--skill-soft);width:100%;max-height:min(54vh,430px);box-shadow:0 5px 0 color-mix(in srgb, var(--skill) 30%, var(--gm-line));flex-direction:column;transition:border-color .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.is-speaking>.examiner-avatar-frame{border-color:var(--skill);box-shadow:0 5px 0 var(--skill-edge)}.examiner-avatar-canvas{touch-action:none;flex:1;width:100%;min-height:200px}.examiner-avatar-canvas canvas{display:block;width:100%!important;height:100%!important}.examiner-avatar-poster{z-index:1;object-fit:cover;object-position:50% 35%;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.is-loading .examiner-avatar-poster{animation:2.4s ease-in-out infinite examiner-poster-breathe}@keyframes examiner-poster-breathe{50%{opacity:.75}}.examiner-avatar-overlay{z-index:2;border:2px solid var(--gm-line);border-radius:var(--gm-radius-sm);background:color-mix(in srgb, var(--gm-card) 92%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);flex-direction:column;gap:7px;padding:10px 12px;display:flex;position:absolute;bottom:10px;left:10px;right:10px}.examiner-avatar-load-label{font-family:var(--ds-font-display);color:var(--gm-text);font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:800}.examiner-avatar-bar{background:var(--gm-line);border-radius:999px;height:10px;display:block;overflow:hidden}.examiner-avatar-bar i{border-radius:inherit;background:var(--gm-green);width:0;height:100%;transition:width .3s;display:block}.examiner-avatar-bar.is-indeterminate i{width:40%;animation:1.3s ease-in-out infinite examiner-bar-slide}@keyframes examiner-bar-slide{0%{transform:translate(-100%)}to{transform:translate(260%)}}.examiner-avatar-status{z-index:2;border:2px solid var(--gm-line);background:color-mix(in srgb, var(--gm-card) 92%, transparent);font-family:var(--ds-font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--gm-muted);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-flex;position:absolute;top:10px;left:10px}.examiner-avatar-status.is-live{border-color:var(--skill);background:var(--skill);color:#fff}.examiner-avatar-status.is-live:before{content:"";background:#fff;border-radius:50%;width:7px;height:7px;animation:1s ease-in-out infinite examiner-live-pulse}@keyframes examiner-live-pulse{50%{opacity:.3}}.examiner-avatar-meta{text-align:center;flex-direction:column;align-items:center;gap:1px;display:flex}.examiner-avatar-name{font-family:var(--ds-font-display);letter-spacing:-.01em;color:var(--gm-text);font-size:17px;font-weight:800}.examiner-avatar-accent{font-family:var(--ds-font-display);color:var(--gm-muted);font-size:13px;font-weight:700}.examiner-avatar-subtitles{text-align:center;min-height:1.45em;color:var(--ds-text-secondary);margin:0;font-size:13.5px;line-height:1.45}.examiner-avatar-error{border:2px solid color-mix(in srgb, var(--gm-gold) 55%, var(--gm-line));border-radius:var(--gm-radius-sm);background:var(--gm-gold-soft);font-family:var(--ds-font-display);color:var(--gm-gold-ink);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:12.5px;font-weight:700;line-height:1.4;display:flex}.examiner-avatar-retry{border:2px solid var(--gm-gold);background:var(--gm-gold);min-height:32px;box-shadow:0 3px 0 var(--gm-gold-edge);font-family:var(--ds-font-display);letter-spacing:.04em;text-transform:uppercase;color:#4a3300;cursor:pointer;border-radius:10px;flex-shrink:0;padding:0 12px;font-size:12px;font-weight:800}.examiner-avatar-retry:active{box-shadow:none;transform:translateY(3px)}.examiner-avatar--room{max-width:330px}.examiner-avatar--cue{grid-template-columns:112px minmax(0,1fr);align-items:center;gap:4px 14px;max-width:520px;margin:0;display:grid}.examiner-avatar--cue .examiner-avatar-frame{aspect-ratio:4/5;border-radius:var(--gm-radius-sm);grid-row:span 3}.examiner-avatar--cue .examiner-avatar-canvas{min-height:0}.examiner-avatar--cue .examiner-avatar-meta{text-align:left;align-items:flex-start}.examiner-avatar--cue .examiner-avatar-subtitles{text-align:left;min-height:0}.examiner-avatar--cue .examiner-avatar-status{padding:2px 7px;font-size:9.5px;top:6px;left:6px}.examiner-avatar--cue .examiner-avatar-overlay{padding:6px 8px;bottom:6px;left:6px;right:6px}.examiner-avatar--cue .examiner-avatar-load-label{font-size:10.5px}.examiner-avatar--checkin{max-width:240px}.examiner-avatar--checkin .examiner-avatar-frame{max-height:300px}.examiner-avatar--checkin .examiner-avatar-canvas{min-height:160px}@media (max-width:760px){.examiner-avatar--room{max-width:230px}.examiner-avatar--room .examiner-avatar-frame{max-height:min(34vh,280px)}.examiner-avatar--room .examiner-avatar-canvas{min-height:150px}.examiner-avatar--room .examiner-avatar-meta{display:none}.examiner-avatar--cue{grid-template-columns:88px minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.examiner-avatar-poster,.examiner-avatar-bar.is-indeterminate i,.examiner-avatar-status.is-live:before{animation:none}}
