:root{--ink:#111;--ink-soft:#555;--muted:#888;--border:#eee;--bg:#fff;--bg-subtle:#fafafa;--chip-bg:#f2f2f2;--danger:#c0392b;--success:#1e7e34;--success-bg:#e6f4ea;--radius:12px;--radius-sm:8px;--ink-title:#333;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}button,input,textarea{font-family:inherit}a{color:inherit}.page{background:var(--bg);flex-direction:column;height:100dvh;display:flex}.page-main{flex:auto;min-height:0;overflow-y:auto}.page-body{flex:1;width:100%;max-width:720px;margin:0 auto;padding:20px}.page-body--narrow{max-width:480px}.topbar{border-bottom:1px solid var(--border);background:var(--bg)}.topbar-inner{width:100%;max-width:720px;margin:0 auto;padding:20px}.greeting{text-align:center;margin:0 0 26px}.brand-logo{align-items:baseline;gap:.09em;font-family:Kumbh Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1;display:inline-flex}.brand-logo-ch{font-weight:700;line-height:1}.brand-logo-o{color:currentColor;flex-shrink:0;width:.74em;height:.74em}.nav-links{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.nav-link{color:var(--ink);cursor:pointer;background:0 0;border:none;padding:0;font-family:Jost,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;font-weight:600;text-decoration:none}.nav-link:hover{text-decoration:underline}.admin-tabs{border-bottom:1px solid var(--border);gap:4px;max-width:720px;margin:0 auto;padding:0 20px;display:flex}.admin-tab{color:var(--ink-soft);border-bottom:2px solid #0000;margin-bottom:-1px;padding:12px 14px;font-size:14px;font-weight:600;text-decoration:none}.admin-tab:hover{color:var(--ink)}.admin-tab.active{color:var(--ink);border-bottom-color:var(--ink)}.center{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:40px 24px;display:flex}.title{text-align:center;margin:0 0 8px}.page-heading{color:var(--ink-title);font-family:Jost,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:20px;font-weight:600}.subtitle{color:var(--ink-soft);text-align:center;margin:0 0 32px;font-size:14px}.empty{text-align:center;color:var(--muted);margin-top:40px;padding:0 24px}.hint{color:var(--muted)}.error-text{color:var(--danger);text-align:center}.section-title{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;margin:24px 0 10px;font-size:13px;font-weight:700}.field{border-radius:var(--radius-sm);border:1px solid #ddd;width:100%;margin-bottom:12px;padding:14px;font-size:16px}.field:focus{border-color:var(--ink);outline:none}.field-label{color:var(--muted);margin:0 0 6px;font-size:12px;font-weight:600;display:block}.editable-text{width:calc(100% + 12px);font:inherit;color:inherit;cursor:text;resize:none;background:0 0;border:none;border-radius:6px;margin:0 -6px 8px;padding:4px 6px;transition:background-color .15s,box-shadow .15s;display:block;overflow:hidden}.editable-text:hover{background-color:var(--bg-subtle)}.editable-text:focus{background-color:var(--bg-subtle);outline:none;box-shadow:0 0 0 2px #1111111a}.editable-text::placeholder{color:var(--muted)}.saved-flash{color:var(--success);font-size:11px;font-weight:600}.link-btn-danger{color:var(--danger)}.btn{border-radius:var(--radius-sm);cursor:pointer;background:var(--ink);color:#fff;border:none;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-size:15px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.6;cursor:default}.btn:hover:not(:disabled){opacity:.9}.btn-block{width:100%}.btn-secondary{color:var(--muted);background:0 0;padding:12px}.btn-secondary:hover:not(:disabled){color:var(--ink)}.btn-danger{background:var(--danger);color:#fff}.btn-sm{border-radius:var(--radius-sm);padding:10px 14px;font-size:13px}.btn-outline{color:var(--ink);background:0 0;border:1px solid #d6d6d6}.btn-outline:hover:not(:disabled){opacity:1;background:var(--bg-subtle);border-color:#b8b8b8}.link-btn{color:var(--ink);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:600}.seg-toggle{border-radius:var(--radius-sm);border:1px solid #d6d6d6;gap:2px;padding:2px;display:inline-flex}.seg-toggle button{color:var(--muted);border-radius:calc(var(--radius-sm) - 2px);cursor:pointer;background:0 0;border:none;padding:7px 12px;font-size:13px;font-weight:600}.seg-toggle button.active{background:var(--ink);color:#fff}.seg-toggle-full{width:100%;display:flex}.seg-toggle-full button{text-align:center;flex:1}.table-wrap{overflow-x:auto}.ranking-table{border-collapse:collapse;width:100%;font-size:14px}.ranking-table th,.ranking-table td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:10px 8px}.ranking-table th{color:var(--muted);font-size:12px;font-weight:600}.ranking-table .rank-col{text-align:center;width:32px;font-weight:700}.ranking-table td.numeric{text-align:right;color:var(--muted);font-weight:700}.ranking-table th.numeric{text-align:right}.ranking-table tbody tr.me-row{background:var(--bg-subtle)}.ranking-table .sort-th{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.ranking-table .sort-th.active,.ranking-table td.col-active{color:var(--ink)}.link-btn:hover{text-decoration:underline}.card{border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card+.card{margin-top:12px}.scenario-card{padding-right:40px;transition:border-color .15s,box-shadow .15s,background-color .15s;position:relative}.scenario-card:hover,.scenario-card:focus-within{background:var(--bg-subtle);border-color:#d6d6d6;box-shadow:0 10px 24px -14px #11111159}.scenario-card-arrow{color:var(--muted);opacity:0;pointer-events:none;transition:opacity .15s,transform .15s,color .15s;display:flex;position:absolute;top:16px;right:14px;transform:translate(-4px)}.scenario-card:hover .scenario-card-arrow,.scenario-card:focus-within .scenario-card-arrow{opacity:1;color:var(--ink);transform:translate(0)}.stack{flex-direction:column;gap:12px;display:flex}.row{align-items:center;gap:12px;display:flex}.row-between{justify-content:space-between;align-items:center;display:flex}.card-title{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-title);margin:0 0 6px;font-family:Jost,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;font-weight:600}.card-text{color:var(--ink-soft);margin:0 0 10px;font-size:14px;line-height:1.4}.tags{flex-wrap:wrap;gap:6px;display:flex}.tag{background:var(--chip-bg);color:var(--ink-soft);border-radius:6px;padding:4px 8px;font-size:11px}.badge{color:var(--muted);background:var(--chip-bg);text-transform:uppercase;white-space:nowrap;border-radius:6px;padding:4px 8px;font-size:11px}.badge-approved{color:var(--success);background:var(--success-bg)}.badge-gap{color:var(--danger);background:#fbeaea}.spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}.spinner-dark{border:2px solid #00000026;border-top-color:var(--ink)}@keyframes spin{to{transform:rotate(360deg)}}.roleplay-page{background:var(--bg-subtle);flex-direction:column;height:100%;display:flex}.transcript{flex-direction:column;flex:1;gap:10px;padding:16px;display:flex;overflow-y:auto}.bubble{border-radius:14px;max-width:85%;padding:12px}.bubble-me{background:var(--ink);color:#fff;align-self:flex-end}.bubble-client{color:var(--ink);background:#eee;align-self:flex-start}.bubble-label{opacity:.8;margin-bottom:2px;font-size:11px}.bubble-text{white-space:pre-wrap;font-size:15px}.typing-indicator{align-items:center;gap:4px;padding:2px 0;display:inline-flex}.typing-dot{opacity:.4;background:currentColor;border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite typing-bounce}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.controls{border-top:1px solid var(--border);background:var(--bg);flex-direction:column;gap:12px;padding:20px;display:flex}.talk-btn{background:var(--ink);color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;border:none;border-radius:100px;padding:22px;font-size:16px;font-weight:700;position:relative}.talk-btn:focus{outline:none}.talk-btn.active{background:var(--danger);animation:1.4s ease-out infinite talk-btn-pulse}.talk-btn:disabled{opacity:.5;cursor:default}@keyframes talk-btn-pulse{0%{box-shadow:0 0 #dc262673}to{box-shadow:0 0 0 24px #dc262600}}.recording-indicator{color:var(--danger);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.recording-dot{background:var(--danger);border-radius:50%;width:10px;height:10px;animation:1s ease-in-out infinite recording-dot-blink}@keyframes recording-dot-blink{0%,to{opacity:1}50%{opacity:.25}}.bubble-client.bubble-closed{background:var(--success-bg);color:var(--success);animation:.4s ease-out bubble-closed-pop}@keyframes bubble-closed-pop{0%{transform:scale(.92)}60%{transform:scale(1.03)}to{transform:scale(1)}}.confetti-layer{pointer-events:none;z-index:1000;position:fixed;inset:0;overflow:hidden}.confetti-piece{opacity:.9;width:8px;height:14px;animation-name:confetti-fall;animation-timing-function:ease-in;animation-fill-mode:forwards;position:absolute;top:-12px}@keyframes confetti-fall{0%{opacity:1;transform:translate(0)rotate(0)}to{transform:translate(var(--drift), 110vh) rotate(var(--rotation));opacity:0}}.overall-card{background:var(--ink);text-align:center;border-radius:16px;margin-bottom:20px;padding:24px}.overall-score{color:#fff;font-size:40px;font-weight:800;line-height:1}.overall-label{color:#ccc;margin:6px 0 12px;font-size:13px}.overall-feedback{color:#fff;line-height:1.5}.turn-row{border-bottom:1px solid #f2f2f2;padding:10px 0}.turn-speaker{color:var(--muted);margin-bottom:2px;font-size:12px;font-weight:700}.stats-row{justify-content:space-between;display:flex}.stat{text-align:center}.stat-value{font-size:20px;font-weight:700}.stat-label{color:var(--muted);margin-top:2px;font-size:12px}.chart-wrap{position:relative}.chart-grid{stroke:var(--border);stroke-width:1px}.chart-crosshair{stroke:var(--muted);stroke-width:1px;stroke-dasharray:2 3}.chart-tick{fill:var(--muted);font-size:10px}.chart-endlabel{font-size:12px;font-weight:700}.chart-tooltip{background:var(--ink);color:#fff;pointer-events:none;white-space:nowrap;z-index:2;border-radius:8px;padding:8px 10px;font-size:12px;position:absolute;top:0;box-shadow:0 4px 12px #0000002e}.chart-tooltip--center{transform:translate(-50%)}.chart-tooltip--start{transform:translate(0)}.chart-tooltip--end{transform:translate(-100%)}.chart-tooltip-date{margin-bottom:4px;font-weight:700}.chart-tooltip-row{align-items:center;gap:6px;padding:2px 0;display:flex}.chart-tooltip-swatch{border-radius:1px;flex-shrink:0;width:10px;height:2px}.chart-tooltip-name{color:#ccc;flex:1}.chart-tooltip-value{color:#fff;font-weight:700}.chart-legend{flex-wrap:wrap;gap:12px;margin-top:10px;display:flex}.chart-legend-item{color:var(--ink-soft);align-items:center;gap:6px;font-size:12px;display:flex}.chart-legend-swatch{border-radius:3px;flex-shrink:0;width:10px;height:10px}.skill-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.skill-tile{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px}.skill-tile-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.skill-tile-name{min-width:0;color:var(--ink-soft);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.skill-tile-name-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.skill-tile-swatch{border-radius:50%;flex-shrink:0;width:8px;height:8px}.skill-tile-value{flex-shrink:0;font-size:18px;font-weight:700}.skill-tile-delta{margin-top:4px;font-size:12px;font-weight:700}.upload-row{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.switch{flex-shrink:0;width:44px;height:26px}@media (width<=480px){.page-body{padding:16px}.topbar-inner{padding:22px 16px}}
