@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700&display=swap";:root{font-family:DM Sans,sans-serif;color:#18343a;background:#e9f0f1;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,textarea{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}.app-shell{height:100vh;display:grid;grid-template-rows:68px minmax(0,1fr);overflow:hidden;background:#edf3f4}.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 24px;border-bottom:1px solid #d5e0e2;background:#fafcfceb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:4}.brand{justify-self:start;display:inline-flex;align-items:center;gap:10px;font:700 17px/1 Manrope,sans-serif;letter-spacing:-.035em}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;color:#123f48;background:#d7f06a;font-size:14px}.brand small{padding-left:2px;color:#789096;font:600 10px DM Sans,sans-serif;letter-spacing:.02em}.pilot-label{display:flex;align-items:center;gap:8px;color:#6b8186;font-size:12px;font-weight:600}.pilot-label span{width:7px;height:7px;border-radius:50%;background:#78a43a;box-shadow:0 0 0 4px #e8f0d3}.quiet-button{justify-self:end;border:1px solid #d1dcde;border-radius:999px;padding:9px 15px;background:#fff;cursor:pointer;font-size:12px;font-weight:700}.topbar-actions{justify-self:end;display:flex;align-items:center;gap:8px}.user-chip{min-width:0;display:flex;align-items:center;gap:7px;color:#60777c;font-size:10px;font-weight:600}.user-chip img,.user-chip b{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#e1ebec;object-fit:cover}.user-chip>span{max-width:105px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sign-out-button{padding:7px 4px;border:0;color:#71868a;background:transparent;cursor:pointer;font-size:10px;font-weight:700}.auth-controls{display:flex;align-items:center;gap:7px}.user-name{max-width:105px;overflow:hidden;color:#60777c;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.header-sign-in{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #cad7d9;border-radius:999px;background:#fff;cursor:pointer;font-size:10px;font-weight:700;box-shadow:0 5px 14px #1c444c14}.header-sign-in:disabled{cursor:wait;opacity:.65}.google-mark{color:#4285f4;font:800 16px Arial,sans-serif}.auth-toast{position:fixed;z-index:30;top:76px;right:24px;max-width:min(360px,calc(100vw - 40px));margin:0;padding:10px 14px;border:1px solid #efcaca;border-radius:12px;color:#8c3535;background:#fff6f6;box-shadow:0 8px 22px #501e1e1f;font-size:11px}.workspace{min-height:0;display:grid;grid-template-columns:minmax(390px,46%) minmax(470px,54%)}.stage-panel{position:relative;min-height:0;overflow:hidden;background:#dfe9df}.stage-panel canvas{width:100%!important;height:100%!important;display:block}.scene-label{position:absolute;z-index:2;top:24px;left:25px;display:flex;align-items:center;gap:11px;padding:10px 13px;border:1px solid rgba(255,255,255,.55);border-radius:16px;background:#fafcf9c7;box-shadow:0 8px 25px #1d413a17;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.presence-dot{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:#739877;box-shadow:0 0 0 5px #73987726}.presence-dot.speaking{background:#d17b4e;animation:pulse 1.15s infinite}.scene-label div{display:grid;gap:2px}.scene-label strong{font:700 13px Manrope,sans-serif}.scene-label small{color:#687d75;font-size:10px}.stage-actions{position:absolute;z-index:2;left:24px;right:24px;bottom:39px;display:flex;justify-content:center;gap:8px}.pill-button{min-width:92px;border:1px solid rgba(255,255,255,.65);border-radius:999px;padding:9px 14px;background:#fcfdfac4;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;font-size:11px;font-weight:700}.pill-button.active{color:#fff;border-color:#28626a;background:#28626a}.pill-button:disabled{cursor:default;opacity:.65}.scene-hint{position:absolute;z-index:2;left:0;right:0;bottom:10px;margin:0;color:#6a7d73;text-align:center;font-size:10px}.practice-panel{min-height:0;display:flex;flex-direction:column;padding:24px 28px 18px;background:#fbfcfc;overflow:hidden}.practice-heading>p{margin:0 0 7px;color:#4f7c84;text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:700}.practice-heading h1{margin:0;font:700 clamp(25px,2.4vw,37px)/1.08 "Manrope",sans-serif;letter-spacing:-.045em;color:#173b42}.practice-heading>span{display:block;max-width:680px;margin-top:8px;color:#718489;font-size:12px;line-height:1.45}.case-selector{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:17px}.case-selector>button{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:58px;padding:8px 11px;border:1px solid #dbe4e5;border-radius:15px;background:#fff;cursor:pointer;text-align:left;transition:transform .18s,border-color .18s,box-shadow .18s}.case-selector>button:not(:disabled):hover{transform:translateY(-1px);border-color:var(--case-accent, #75a1a8);box-shadow:0 7px 18px #1c464e14}.case-selector>button.selected{border-color:var(--case-accent);box-shadow:inset 0 0 0 1px var(--case-accent)}.case-selector>button:disabled:not(.selected){opacity:.44;cursor:default}.case-selector button>span:nth-child(2){min-width:0;display:grid;gap:2px}.case-selector strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.case-selector small{overflow:hidden;color:#7b8d91;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.case-icon{width:29px;height:29px;display:grid;place-items:center;border-radius:10px;color:#fff;background:var(--case-accent, #477f88);font-size:11px;font-weight:800}.feedback-button{--case-accent: #769637}.feedback-button .case-icon{background:#769637}.empty-state{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center}.empty-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:20px;color:#28626a;background:#e2eeee;font-size:31px;font-weight:300}.empty-state h2{margin:19px 0 8px;font:700 20px Manrope,sans-serif}.empty-state>p{max-width:460px;margin:0;color:#708287;font-size:13px;line-height:1.55}.empty-state>div:last-child{display:flex;align-items:center;gap:9px;margin-top:27px;color:#75878b;font-size:10px;font-weight:700}.empty-state>div:last-child span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#e4ebec}.empty-state i{width:22px;height:1px;background:#d2dddf}.case-instruction{margin-top:12px;flex:0 0 auto;border:1px solid #dbe5e6;border-radius:14px;background:#f0f5f5;overflow:hidden}.case-instruction>button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 13px;border:0;background:transparent;cursor:pointer;text-align:left}.case-instruction>button>span:first-child{display:grid;gap:2px}.case-instruction button small{color:#678087;text-transform:uppercase;letter-spacing:.1em;font-size:8px;font-weight:700}.case-instruction button strong{font-size:11px}.instruction-body{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 13px 12px}.instruction-body p{margin:0;color:#6a7e82;font-size:10px;line-height:1.42}.instruction-body strong{display:block;margin-bottom:3px;color:#254950;font-size:9px}.transcript{flex:1 1 auto;min-height:110px;overflow-y:auto;overscroll-behavior:contain;padding:15px 5px 10px 0;scrollbar-color:#cbd8da transparent}.message{max-width:82%;margin:0 0 12px;padding:11px 13px;border-radius:15px}.message small{display:block;margin-bottom:4px;font-size:9px;font-weight:800}.message p{margin:0;white-space:pre-wrap;font-size:12px;line-height:1.5}.message.character{margin-right:auto;color:#26494f;background:#eaf1f1;border-bottom-left-radius:5px}.message.character small{color:#47747c}.message.user{margin-left:auto;color:#fff;background:#25606a;border-bottom-right-radius:5px}.message.user small{color:#c9e1e4}.response-form{flex:0 0 auto;padding-top:9px;border-top:1px solid #e1e8e9}.response-form>label{display:block;margin-bottom:6px;color:#4d666b;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.input-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:6px;padding:6px;border:1px solid #cfdbdd;border-radius:15px;background:#fff;box-shadow:0 6px 17px #193d440f}textarea{width:100%;min-height:43px;max-height:110px;resize:none;padding:7px 8px;border:0;outline:0;color:#193a41;background:transparent;font-size:12px;line-height:1.4}textarea::placeholder{color:#99a8ab}.mic-button,.send-button{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:11px;cursor:pointer}.mic-button{color:#50747b;background:#edf3f4}.mic-button.listening{color:#fff;background:#c35d45;animation:pulse 1s infinite}.send-button{color:#fff;background:#225e68;font-size:18px}.send-button:disabled{opacity:.42;cursor:default}.response-form>small{display:block;margin-top:6px;color:#8a999c;font-size:8px}.api-error{margin:6px 0 0;color:#aa4939;font-size:10px;font-weight:600}.evaluation-panel{flex:1;min-height:0;margin-top:15px;padding-right:5px;overflow-y:auto}.evaluation-heading{display:flex;align-items:start;justify-content:space-between;gap:20px}.evaluation-heading p{margin:0 0 3px;color:#668086;text-transform:uppercase;letter-spacing:.11em;font-size:8px;font-weight:800}.evaluation-heading h2{margin:0;font:700 21px Manrope,sans-serif}.evidence-status{padding:7px 10px;border-radius:999px;font-size:9px;font-weight:800}.evidence-status.sufficient{color:#496921;background:#e9f1d3}.evidence-status.limited{color:#8a5e2e;background:#f7ead8}.evaluation-summary{margin:12px 0;padding:12px 14px;border-left:3px solid #6f9ba2;color:#536d72;background:#f1f6f6;font-size:11px;line-height:1.5}.feedback-columns{display:grid;grid-template-columns:1fr 1fr;gap:9px}.feedback-columns>div{padding:12px;border:1px solid #e0e8e9;border-radius:13px}.feedback-columns h3{margin:0 0 7px;font-size:10px}.feedback-columns ul{display:grid;gap:5px;margin:0;padding-left:15px}.feedback-columns li{color:#60767b;font-size:9px;line-height:1.4}.score-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:9px}.score-grid article{padding:11px 12px;border:1px solid #e0e8e9;border-radius:13px;background:#fff}.score-grid article>div{display:flex;justify-content:space-between;gap:10px}.score-grid h3{margin:0;font-size:10px}.score-grid strong{color:#28626a;font:700 15px Manrope,sans-serif}.score-grid strong small{color:#83979b;font-size:8px}.score-grid p{margin:5px 0 0;color:#6d8084;font-size:8px;line-height:1.4}.evaluation-next-step{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:9px;padding:12px 13px;border-radius:13px;color:#fff;background:#194d56}.evaluation-next-step small{color:#bcd2d6;text-transform:uppercase;letter-spacing:.08em;font-size:7px;font-weight:800}.evaluation-next-step p{margin:3px 0 0;font-size:9px}.evaluation-next-step button{flex:0 0 auto;border:0;border-radius:999px;padding:8px 11px;color:#173c43;background:#d7f06a;cursor:pointer;font-size:9px;font-weight:800}.evaluation-error{margin:8px 0}@keyframes pulse{50%{transform:scale(1.16);opacity:.72}}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 18% 12%,#d7f06a 0 8%,transparent 27%),linear-gradient(145deg,#edf4f3,#dce9e7)}.auth-card{width:min(100%,470px);padding:43px;border:1px solid rgba(255,255,255,.8);border-radius:28px;background:#ffffffe0;box-shadow:0 28px 75px #173b4226;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.auth-brand{display:inline-flex;align-items:center;gap:10px;font:700 18px Manrope,sans-serif}.auth-brand>span{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;color:#173b42;background:#d7f06a}.auth-eyebrow{margin:39px 0 10px;color:#5d7d83;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:800}.auth-card h1{margin:0;color:#173b42;font:700 38px/1.08 Manrope,sans-serif;letter-spacing:-.045em}.auth-copy{margin:17px 0 28px;color:#687e83;font-size:14px;line-height:1.6}.google-sign-in{width:100%;min-height:50px;display:flex;align-items:center;justify-content:center;gap:13px;border:1px solid #cad7d9;border-radius:14px;color:#263f44;background:#fff;cursor:pointer;font-weight:700;box-shadow:0 6px 18px #1c444c14}.google-sign-in:disabled{cursor:wait;opacity:.65}.google-mark{color:#4285f4;font:800 18px Arial,sans-serif}.auth-error{margin:12px 0 0;color:#a74738;font-size:12px}.auth-card>small{display:block;margin-top:20px;color:#8a999c;font-size:10px;line-height:1.5}.auth-loader{width:38px;height:38px;border:3px solid #bed0d2;border-top-color:#28626a;border-radius:50%;animation:auth-spin .8s linear infinite}.auth-session{position:fixed;z-index:20;right:18px;bottom:16px;display:flex;align-items:center;gap:10px;max-width:260px;padding:7px 8px 7px 13px;border:1px solid #d2dfe1;border-radius:999px;color:#61777c;background:#ffffffe6;box-shadow:0 8px 24px #183d441f;font-size:10px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.auth-session span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-session button{flex:0 0 auto;padding:6px 9px;border:0;border-radius:999px;background:#e7eff0;cursor:pointer;font-size:10px;font-weight:700}@keyframes auth-spin{to{transform:rotate(360deg)}}@media(max-width:900px){.app-shell{height:auto;min-height:100vh;overflow:visible}.workspace{grid-template-columns:1fr}.stage-panel{height:44vh;min-height:340px}.practice-panel{min-height:660px;overflow:visible}.transcript{min-height:250px;max-height:380px}.evaluation-panel{overflow:visible}}@media(max-width:620px){.topbar{height:62px;grid-template-columns:1fr auto;padding:0 14px}.pilot-label,.brand small,.user-name,.sign-out-button{display:none}.topbar-actions{gap:5px}.topbar-actions .quiet-button{display:none}.workspace{min-width:0}.stage-panel{min-height:300px}.practice-panel{min-height:720px;padding:20px 14px 14px}.practice-heading h1{font-size:27px}.case-selector{grid-template-columns:1fr 1fr}.feedback-button{grid-column:1 / -1}.instruction-body{grid-template-columns:1fr}.message{max-width:91%}.feedback-columns,.score-grid{grid-template-columns:1fr}.evaluation-next-step{align-items:flex-start;flex-direction:column}}
