:root { --ink:#151519; --subtle:#70717a; --line:#e8e8ed; --violet:#635bff; --violet-dark:#4b42e9; }
#dashboard-root { position:fixed; z-index:100; inset:0; overflow:auto; background:#f8f8fa; }
#dashboard-root[hidden] { display:none; }
.dashboard-shell { min-height:100%; }
.dashboard-sidebar { position:fixed; z-index:2; inset:0 auto 0 0; display:flex; flex-direction:column; width:290px; min-height:100vh; padding:31px 18px 20px; overflow-y:auto; border-right:1px solid #e8e7ec; background:#fff; }
.dashboard-brand { display:inline-flex; width:max-content; margin:0 12px 34px; }.dashboard-brand img { display:block; width:128px; height:auto; }
.dashboard-new-button,.dashboard-primary { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:0; background:#6259ee; color:#fff; font-weight:760; box-shadow:0 9px 20px rgba(82,72,210,.21); }.dashboard-new-button { width:100%; height:48px; border-radius:12px; font-size:14px; }.dashboard-new-button span { font-size:20px; font-weight:400; line-height:1; }
.dashboard-nav-heading { display:flex; align-items:center; justify-content:space-between; margin:35px 12px 11px; color:#777783; font-size:12px; font-weight:750; }.dashboard-nav-heading b { display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:#f0eff3; color:#8b8a94; font-size:10px; }
.dashboard-interview-list { display:grid; gap:4px; }.dashboard-history { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 29px; align-items:start; border-radius:12px; }.dashboard-history__main { min-width:0; padding:12px; border:0; border-radius:12px; background:transparent; color:#34343c; font:inherit; text-align:left; }.dashboard-history__main strong,.dashboard-history__main span,.dashboard-history__main time { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.dashboard-history__main strong { font-size:13px; font-weight:750; }.dashboard-history__main span { margin-top:5px; color:#8c8b96; font-size:11px; }.dashboard-history__main time { margin-top:4px; color:#b0afb8; font-size:10px; }.dashboard-history:hover { background:#f7f7fb; }
.dashboard-more { width:29px; height:32px; margin:8px 6px 0 0; border:0; border-radius:8px; background:transparent; color:#898895; font-size:19px; line-height:1; }.dashboard-more:hover,.dashboard-more[aria-expanded="true"] { background:#e6e4ff; color:#5148df; }.dashboard-context-menu { position:absolute; z-index:3; top:41px; right:5px; width:143px; padding:5px; border:1px solid #e2e1e7; border-radius:10px; background:#fff; box-shadow:0 12px 25px rgba(28,27,45,.13); }.dashboard-context-menu button { display:block; width:100%; padding:9px; border:0; border-radius:7px; background:transparent; color:#44434d; font:inherit; font-size:12px; text-align:left; }.dashboard-context-menu button:hover { background:#f4f3f7; }.dashboard-context-menu .is-danger { color:#d84545; }
.dashboard-account { display:flex; align-items:center; gap:9px; margin-top:auto; padding:13px 10px 3px; border-top:1px solid #efeff2; }.dashboard-avatar { display:grid; place-items:center; width:31px; height:31px; border-radius:10px; background:#e7e5ff; color:#554dde; font-size:12px; font-weight:800; }.dashboard-account div { display:grid; gap:2px; flex:1; }.dashboard-account b { color:#46454f; font-size:12px; }.dashboard-account small { color:#9c9ba5; font-size:10px; }.dashboard-account button { border:0; background:transparent; color:#9b9aa4; font-size:16px; }
.dashboard-main { position:relative; min-width:0; min-height:100vh; margin-left:290px; }.dashboard-topbar { position:absolute; z-index:1; top:27px; right:34px; }.dashboard-upgrade { display:inline-flex; align-items:center; gap:7px; min-height:38px; padding:0 13px; border:1px solid #dbd8ff; border-radius:10px; background:#fff; color:#564ee0; font:inherit; font-size:12px; font-weight:800; box-shadow:0 4px 12px rgba(74,64,190,.08); }.dashboard-upgrade:hover { border-color:#a39cff; background:#f6f5ff; }.dashboard-upgrade span { font-size:14px; }.dashboard-home { width:min(980px,100%); min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; margin:0 auto; padding:64px 48px; text-align:center; }.dashboard-kicker { display:block; color:#645ce7; font-size:12px; font-weight:800; letter-spacing:.02em; }.dashboard-home h1,.dashboard-detail h1 { margin:15px 0; color:#27262d; font-size:clamp(44px,4.1vw,64px); letter-spacing:-.072em; line-height:1.25; }.dashboard-home h1 { font-size:clamp(40px,3.5vw,58px); word-break:keep-all; text-wrap:balance; }.dashboard-home > p { max-width:560px; margin:0; color:#74737d; font-size:16px; line-height:1.8; word-break:keep-all; }.dashboard-primary { width:max-content; min-height:53px; margin-top:31px; padding:0 21px; border-radius:13px; font-size:14px; }.dashboard-home__guide { display:grid; grid-template-columns:29px max-content; justify-content:center; width:100%; column-gap:12px; row-gap:15px; margin-top:68px; padding-top:25px; border-top:1px solid #e3e2e7; text-align:left; }.dashboard-home__guide > span { display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:#eeeefe; color:#6158e6; font-size:10px; font-weight:800; }.dashboard-home__guide p { margin:2px 0 0; color:#8a8994; font-size:12px; line-height:1.55; }.dashboard-home__guide b { display:inline; margin-right:6px; color:#55545e; font-size:12px; }
.dashboard-detail { width:min(980px,100%); padding:55px clamp(28px,6vw,88px) 80px; }.dashboard-detail__header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }.dashboard-back { display:block; margin:0 0 25px; padding:0; border:0; background:transparent; color:#85848e; font:inherit; font-size:12px; font-weight:700; }.dashboard-detail h1 { margin:10px 0 12px; font-size:38px; }.dashboard-detail__header p { margin:0; color:#868590; font-size:13px; }.dashboard-detail__header p i { display:inline-block; width:3px; height:3px; margin:0 8px 2px; border-radius:50%; background:#c0bfc7; }.dashboard-secondary { min-height:40px; padding:0 13px; border:1px solid #dedde5; border-radius:10px; background:#fff; color:#5c5b65; font:inherit; font-size:12px; font-weight:750; }.dashboard-header-action { flex:0 0 auto; margin-top:10px; }
.dashboard-feedback-summary { margin-top:44px; padding:25px 27px; border:1px solid #dfdcff; border-radius:17px; background:linear-gradient(110deg,#f5f4ff,#fbfbff); }.dashboard-feedback-summary > span { color:#6158de; font-size:11px; font-weight:800; }.dashboard-feedback-summary h2 { max-width:730px; margin:9px 0; color:#333143; font-size:18px; letter-spacing:-.045em; line-height:1.57; word-break:keep-all; }.dashboard-feedback-summary p { margin:0; color:#868397; font-size:12px; line-height:1.6; }.dashboard-question-section { margin-top:48px; }.dashboard-question-section > header { display:flex; align-items:end; justify-content:space-between; gap:15px; margin-bottom:18px; }.dashboard-question-section h2 { margin:7px 0 0; color:#36353d; font-size:21px; letter-spacing:-.045em; }.dashboard-question-section > header > span { padding-bottom:3px; color:#9897a1; font-size:11px; }.dashboard-question-list { display:grid; gap:12px; }.dashboard-question-card { display:grid; grid-template-columns:37px minmax(0,1fr); gap:16px; padding:22px; border:1px solid #e4e3e8; border-radius:16px; background:#fff; }.dashboard-question-card__number { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:#f0efff; color:#6259e8; font-size:11px; font-weight:800; }.dashboard-question-card__content > span { color:#726f7b; font-size:12px; font-weight:750; }.dashboard-question-card h3 { margin:7px 0; color:#313039; font-size:16px; letter-spacing:-.04em; }.dashboard-question-card p { margin:0; color:#777681; font-size:13px; line-height:1.65; }.dashboard-question-card small { display:block; margin-top:14px; color:#96939e; font-size:11px; }.dashboard-question-card small b { margin-left:6px; color:#635d7b; }.dashboard-question-card__actions { display:flex; gap:10px; margin-top:19px; }.dashboard-question-card__actions button { border:0; padding:0; background:transparent; color:#6259dc; font:inherit; font-size:12px; font-weight:750; }.dashboard-question-card__actions button:first-child { color:#74727e; }.dashboard-question-card__actions i { margin-left:4px; font-size:15px; font-style:normal; }
.dashboard-modal-layer { position:fixed; z-index:4; inset:0; display:grid; place-items:center; padding:20px; background:rgba(20,20,25,.42); backdrop-filter:blur(4px); }.dashboard-modal-layer[hidden] { display:none; }.dashboard-modal { width:min(398px,100%); padding:29px; border-radius:19px; background:#fff; box-shadow:0 24px 65px rgba(15,14,28,.25); }.dashboard-modal__icon { display:grid; place-items:center; width:31px; height:31px; border-radius:50%; background:#fff0f0; color:#d94b4b; font-size:16px; font-weight:800; }.dashboard-modal h2 { margin:15px 0 8px; color:#33323a; font-size:20px; letter-spacing:-.05em; }.dashboard-modal p { margin:0; color:#7d7c86; font-size:13px; line-height:1.65; word-break:keep-all; }.dashboard-modal__actions { display:flex; justify-content:flex-end; gap:8px; margin-top:25px; }.dashboard-danger { min-height:40px; padding:0 13px; border:0; border-radius:10px; background:#d94e4e; color:#fff; font:inherit; font-size:12px; font-weight:750; }.dashboard-notice { margin:24px 8vw -20px; padding:12px 15px; border:1px solid #dedbff; border-radius:10px; background:#f4f3ff; color:#6159da; font-size:12px; }
@media (max-width:760px) { .dashboard-shell { display:block; }.dashboard-sidebar { position:relative; inset:auto; width:auto; min-height:0; padding:20px 15px 14px; overflow:visible; border-right:0; border-bottom:1px solid #e8e7ec; }.dashboard-brand { margin:0 8px 19px; }.dashboard-brand img { width:112px; }.dashboard-new-button { position:absolute; top:18px; right:15px; width:auto; height:37px; padding:0 11px; font-size:11px; box-shadow:none; }.dashboard-new-button span { font-size:16px; }.dashboard-nav-heading { margin:18px 8px 8px; }.dashboard-interview-list { display:flex; overflow-x:auto; gap:7px; padding-bottom:3px; }.dashboard-history { flex:0 0 178px; }.dashboard-history__main { padding:10px; }.dashboard-more { display:none; }.dashboard-account { display:none; }.dashboard-main { min-height:0; margin-left:0; }.dashboard-topbar { top:14px; right:15px; }.dashboard-upgrade { min-height:34px; padding:0 10px; font-size:11px; }.dashboard-home { min-height:calc(100vh - 187px); padding:58px 28px; }.dashboard-home h1 { font-size:41px; }.dashboard-home__guide { margin-top:45px; }.dashboard-detail { padding:70px 18px 55px; }.dashboard-detail__header { display:block; }.dashboard-header-action { margin-top:21px; }.dashboard-detail h1 { font-size:31px; }.dashboard-feedback-summary { margin-top:29px; padding:20px; }.dashboard-question-section { margin-top:34px; }.dashboard-question-card { grid-template-columns:30px minmax(0,1fr); gap:12px; padding:17px; }.dashboard-question-card__actions { align-items:flex-start; flex-direction:column; gap:10px; } }
.dashboard-auth-actions { display:flex; gap:8px; }.dashboard-login,.dashboard-signup,.dashboard-account-login { min-height:38px; padding:0 13px; border-radius:10px; font:inherit; font-size:12px; font-weight:800; }.dashboard-login,.dashboard-account-login { border:1px solid #dfdee6; background:#fff; color:#575660; }.dashboard-signup { border:1px solid #6259e8; background:#6259e8; color:#fff; }.dashboard-account-button { display:flex; align-items:center; width:100%; gap:9px; padding:0; text-align:left; }.dashboard-account-button > span:nth-child(2) { display:grid; gap:2px; flex:1; }.dashboard-account-button i { font-style:normal; }.dashboard-account-layer { position:fixed; z-index:8; inset:0; display:grid; place-items:center; padding:20px; background:rgba(20,20,25,.42); backdrop-filter:blur(4px); }.dashboard-account-layer[hidden] { display:none; }.dashboard-account-card { position:relative; width:min(380px,100%); padding:30px; border-radius:19px; background:#fff; box-shadow:0 24px 65px rgba(15,14,28,.25); }.dashboard-account-card > span { color:#645ce7; font-size:12px; font-weight:800; }.dashboard-account-card h2 { margin:12px 0 6px; color:#33323a; font-size:22px; }.dashboard-account-card p { margin:0; color:#777681; font-size:13px; }.dashboard-account-card .dashboard-account-help { margin-top:19px; padding-top:17px; border-top:1px solid #efeff2; line-height:1.6; }.dashboard-account-close { position:absolute; top:14px; right:14px; width:31px; height:31px; border:0; border-radius:8px; background:#f4f3f7; color:#777681; font-size:20px; }.dashboard-signout { width:100%; min-height:42px; margin-top:24px; border:1px solid #e5e3e9; border-radius:10px; background:#fff; color:#514f58; font:inherit; font-size:13px; font-weight:800; }
.auth-layer { z-index:140; }
* { box-sizing:border-box; }
body { margin:0; min-width:320px; background:#fbfbfc; color:var(--ink); font-family:Inter, Pretendard, "Apple SD Gothic Neo", Arial, sans-serif; letter-spacing:-.03em; }
button { font:inherit; letter-spacing:inherit; cursor:pointer; }
.app-shell { width:min(100%, 1600px); min-height:100vh; margin:auto; padding:22px 28px 18px; }
.topbar { height:48px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; margin-bottom:18px; }
.brand { display:inline-flex; align-items:center; color:#181820; text-decoration:none; }.brand-logo { display:block; width:142px; height:auto; max-height:40px; object-fit:contain; object-position:left center; }.brand--intake { margin-bottom:22px; }.brand--intake .brand-logo { width:128px; max-height:36px; }.brand--feedback { margin-bottom:17px; }.brand--feedback .brand-logo { width:132px; max-height:38px; }
.intake-progress-section { margin-top:20px; }.intake-progress-section .step-count { display:block; }.intake-progress-section .intake-progress { margin-top:8px; }
.session-meta { color:#6d6d76; font-size:14px; font-weight:560; display:flex; gap:8px; align-items:center; }.pulse { width:7px; height:7px; border-radius:50%; background:#8f8f99; }
.topbar-actions { justify-self:end; display:flex; align-items:center; gap:12px; }.answer-timer { min-width:46px; padding:6px 8px; border-radius:8px; background:rgba(97,97,106,.14); color:rgba(63,63,72,.72); font-size:12px; font-variant-numeric:tabular-nums; font-weight:700; text-align:center; }.exit-button { border:0; background:transparent; color:#777781; font-size:14px; padding:8px; }.pause-button { width:32px; height:32px; border:0; border-radius:50%; background:#f1f0f6; color:#535260; font-size:14px; font-weight:800; line-height:1; }.pause-button:disabled { opacity:.42; cursor:default; }
.stage { min-height:calc(100vh - 125px); position:relative; overflow:hidden; border-radius:26px; background:#111; box-shadow:0 0 0 1px #23232a, 0 18px 45px rgba(25,23,44,.14); isolation:isolate; }
.interviewer-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; opacity:0; pointer-events:none; }.interviewer-video.is-active { opacity:1; }
.video-shade { position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(4,4,6,.45),transparent 32%,transparent 74%,rgba(4,4,6,.55)); }
.question-card { position:absolute; z-index:3; top:24px; left:24px; width:min(425px,calc(100% - 48px)); padding:17px 19px 18px; border:1px solid rgba(255,255,255,.08); border-radius:16px; background:rgba(30,30,34,.92); color:#f5f5f6; backdrop-filter:blur(12px); }.eyebrow { display:block; color:#a6a6b0; font-size:11px; font-weight:700; letter-spacing:.08em; }.question-card p { margin:9px 0 0; font-size:15px; line-height:1.55; font-weight:580; }
.stage-status { position:absolute; z-index:3; top:24px; bottom:auto; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:10px; min-width:max-content; padding:10px 16px; border-radius:999px; background:rgba(16,16,18,.72); border:1px solid rgba(255,255,255,.12); color:#eee; backdrop-filter:blur(12px); }.status-orb { display:flex; align-items:center; gap:4px; }.status-orb i { width:4px; height:4px; border-radius:50%; background:#c5c3ff; }.stage-status p { margin:0; color:#ededf0; font-size:13px; font-weight:570; }.stage[data-interviewer-state="attentive"] .status-orb { animation:pulse 1.5s ease-in-out infinite; }.stage[data-interviewer-state="document-review"] .stage-status { opacity:.68; } @keyframes pulse { 50% { transform:scale(1.24); } }
.answer-complete { position:absolute; z-index:4; right:24px; bottom:24px; min-width:112px; height:42px; border:0; border-radius:12px; background:#665cff; color:#fff; font:inherit; font-size:13px; font-weight:750; box-shadow:0 8px 18px rgba(53,44,190,.32); }.answer-complete[hidden] { display:none; }
.answer-transition { position:absolute; z-index:4; inset:0; display:grid; place-content:center; justify-items:center; gap:14px; background:rgba(12,12,16,.18); opacity:0; transition:opacity .28s ease; pointer-events:none; }.answer-transition[hidden] { display:none; }.answer-transition.is-visible { opacity:1; }.answer-transition__orb { width:38px; height:38px; border:2px solid rgba(219,217,255,.32); border-top-color:#d9d6ff; border-radius:50%; box-shadow:0 0 20px rgba(129,119,255,.26); animation:answer-transition-spin .85s linear infinite; }.answer-transition p { margin:0; color:rgba(245,245,249,.92); font-size:14px; font-weight:650; text-shadow:0 2px 12px rgba(0,0,0,.35); } @keyframes answer-transition-spin { to { transform:rotate(360deg); } }
.answer-timer { position:absolute; z-index:3; top:28px; right:32px; width:auto; height:auto; min-width:0; padding:0; display:block; border:0; border-radius:0; background:transparent; color:rgba(210,210,216,.74); font-size:56px; font-variant-numeric:tabular-nums; font-weight:750; line-height:1; text-align:right; }.answer-timer[hidden] { display:none; }
.answer-complete { min-width:136px; height:50px; font-size:15px; }
.footer-note { display:flex; justify-content:center; align-items:center; gap:7px; padding-top:15px; color:#95959f; font-size:12px; }.footer-note span { width:5px; height:5px; border-radius:50%; background:#8d87ec; }
.intake-layer { position:fixed; z-index:20; inset:0; display:grid; place-items:center; padding:24px; background:rgba(20,20,25,.38); backdrop-filter:blur(9px); transition:opacity .28s, visibility .28s; }.intake-layer.is-complete { opacity:0; visibility:hidden; }
body:has(#intake-layer:not(.is-complete)) .app-shell .topbar-actions,
body:has(#intake-layer:not(.is-complete)) .app-shell .stage-status { visibility:hidden; }
.intake-modal { width:min(760px,100%); max-height:min(760px,calc(100vh - 48px)); overflow:auto; padding:34px 38px 26px; border:1px solid rgba(255,255,255,.72); border-radius:25px; background:#fff; box-shadow:0 32px 80px rgba(16,15,27,.28); }.intake-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }.step-count { color:var(--violet); font-size:12px; font-weight:750; }.intake-header h1 { margin:7px 0 0; color:#202027; font-size:29px; letter-spacing:-.055em; }.close-intake { width:34px; height:34px; border:0; border-radius:50%; background:transparent; color:#5d5d66; font-size:30px; line-height:1; }.intake-progress { height:3px; margin:27px 0 26px; border-radius:999px; background:#f0f0f3; overflow:hidden; }.intake-progress i { display:block; width:33.333%; height:100%; border-radius:inherit; background:var(--violet); transition:width .2s; }
.intake-step { display:none; }.intake-step.active { display:block; }.intake-description { margin:0 0 26px; color:#777780; font-size:15px; line-height:1.65; }.intake-step label { display:block; margin:22px 0 9px; color:#28282f; font-size:15px; font-weight:700; }.intake-step em { color:#85858e; font-size:12px; font-style:normal; font-weight:550; }.intake-step input,.intake-step textarea { width:100%; border:1px solid #e1e1e6; border-radius:13px; outline:0; padding:15px 16px; color:#24242a; background:#fff; font:inherit; font-size:15px; line-height:1.55; resize:vertical; transition:border-color .16s, box-shadow .16s; }.intake-step input:focus,.intake-step textarea:focus { border-color:#6b63ff; box-shadow:0 0 0 3px rgba(99,91,255,.12); }.intake-step input::placeholder,.intake-step textarea::placeholder { color:#b5b5be; }.field-note { margin:10px 0 0; color:#8b8b94; font-size:12px; line-height:1.55; }.choice-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.choice,.chip { border:1px solid #e2e2e7; background:#fff; color:#585861; }.choice { height:48px; border-radius:12px; font-weight:650; }.choice.selected,.chip.selected { border-color:#7770ff; background:#f2f1ff; color:#5149e4; }.chip-list { display:flex; flex-wrap:wrap; gap:8px; }.chip { padding:10px 13px; border-radius:999px; font-size:14px; }
.choice-row { grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }.choice { height:44px; font-size:13px; }
.difficulty-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.difficulty-option { display:flex; flex-direction:column; gap:7px; min-height:100px; padding:21px 15px; border:1px solid #e2e2e7; border-radius:12px; background:#fff; color:#33333b; text-align:left; font:inherit; cursor:pointer; }.difficulty-option strong { font-size:14px; }.difficulty-option span { color:#777780; font-size:12px; line-height:1.5; }.difficulty-option.selected { border-color:#7770ff; background:#f2f1ff; color:#5149e4; }.difficulty-option:focus-visible { outline:3px solid #aaa5ff; outline-offset:2px; } @media (max-width:520px) { .difficulty-options { grid-template-columns:1fr; } .difficulty-option { min-height:0; padding:16px 12px; } }
.difficulty-options { grid-template-columns:repeat(4,minmax(0,1fr)); }.difficulty-option .difficulty-indicator { display:flex; align-items:center; gap:9px; --level-color:#635bff; }.difficulty-option .difficulty-bars { display:flex; gap:3px; }.difficulty-bars i { display:block; width:9px; height:4px; border-radius:4px; background:#e3e3eb; }.level-1 .difficulty-bars i:nth-child(-n+1),.level-2 .difficulty-bars i:nth-child(-n+2),.level-3 .difficulty-bars i:nth-child(-n+3),.level-4 .difficulty-bars i { background:var(--level-color); }.difficulty-option .difficulty-label { color:var(--level-color); font-size:11px; font-weight:700; } @media (max-width:700px) { .difficulty-options { grid-template-columns:repeat(2,minmax(0,1fr)); } } @media (max-width:520px) { .difficulty-options { grid-template-columns:1fr; } }
.intake-actions { display:flex; justify-content:space-between; gap:12px; margin-top:31px; }.text-action,.next-action { height:49px; border-radius:12px; font-weight:750; }.text-action { min-width:100px; border:0; background:transparent; color:#686872; }.next-action { min-width:152px; border:0; padding:0 20px; background:var(--violet); color:#fff; box-shadow:0 8px 18px rgba(99,91,255,.21); }
.role-selector { position:relative; }.role-trigger { width:100%; min-height:52px; display:flex; align-items:center; justify-content:space-between; padding:0 16px; border:1px solid #dedee5; border-radius:13px; background:#fff; color:#75757f; font:inherit; text-align:left; }.role-trigger span { color:#62626d; font-size:19px; line-height:1; }.role-trigger[aria-expanded="true"] { border-color:#6b63ff; box-shadow:0 0 0 3px rgba(99,91,255,.12); }.role-dropdown { position:absolute; z-index:5; top:calc(100% + 8px); left:0; right:0; padding:10px; border:1px solid #e3e3e8; border-radius:14px; background:#fff; box-shadow:0 16px 30px rgba(25,24,38,.14); }.role-dropdown input { padding:12px 13px; border-color:#d7d7df; border-radius:10px; }.role-results { max-height:202px; margin-top:8px; overflow-y:auto; }.role-option { display:block; width:100%; padding:11px 12px; border:0; border-radius:9px; background:transparent; color:#26262d; font:inherit; text-align:left; }.role-option:hover,.role-option:focus { background:#f3f2ff; color:#5149e4; outline:0; }.empty-roles { margin:8px 4px; color:#8a8a94; font-size:13px; line-height:1.45; }
.role-custom-entry { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; margin-top:7px; }.role-custom-entry input { min-width:0; padding:9px 10px; border-color:#dedde7; border-radius:9px; font-size:13px; }.role-custom-entry button { min-height:38px; padding:0 11px; border:1px solid #cbc7ff; border-radius:9px; background:#faf9ff; color:#554cf0; font:inherit; font-size:12px; font-weight:750; }.role-custom-entry button:hover { border-color:#8178ee; background:#f1f0ff; }
.feedback-layer { position:fixed; z-index:30; inset:0; overflow:auto; padding:32px; background:#f8f8fa; }.feedback-panel { width:min(800px,100%); margin:auto; padding:15px 0 50px; }.feedback-header { display:flex; justify-content:space-between; gap:20px; padding:16px 4px 26px; }.feedback-header h1 { margin:7px 0 8px; color:#222229; font-size:31px; letter-spacing:-.055em; }.feedback-header p { margin:0; color:#74747d; font-size:15px; line-height:1.55; }.close-feedback { width:38px; height:38px; border:0; border-radius:50%; background:#ececf1; color:#55555e; font-size:28px; }.feedback-summary { display:grid; grid-template-columns:repeat(3,1fr); margin-bottom:19px; border:1px solid #e5e5eb; border-radius:15px; background:#fff; }.feedback-summary div { padding:18px 19px; border-right:1px solid #ececf0; }.feedback-summary div:last-child { border:0; }.feedback-summary b,.feedback-summary span { display:block; }.feedback-summary b { color:#4842db; font-size:19px; }.feedback-summary span { margin-top:4px; color:#85858d; font-size:12px; }.conversation-card { padding:27px; border:1px solid #e3e3e9; border-radius:18px; background:#fff; }.conversation-label { display:flex; align-items:center; justify-content:space-between; margin-bottom:9px; color:#74747e; font-size:13px; font-weight:750; }.interviewer-label span::before { content:'AI'; display:inline-grid; place-items:center; width:25px; height:25px; margin-right:8px; border-radius:50%; background:#ecebff; color:#554cf0; font-size:9px; }.replay-button { border:0; background:transparent; color:#5b54e8; font:inherit; font-size:13px; font-weight:700; }.replay-button i { margin-right:5px; font-size:10px; font-style:normal; }.question-bubble { max-width:88%; padding:17px 18px; border:1px solid #e1defc; border-radius:4px 15px 15px 15px; background:#f7f6ff; color:#292737; font-size:16px; font-weight:620; line-height:1.55; }.candidate-label { margin-top:25px; }.answer-bubble { max-width:92%; min-height:82px; padding:17px 18px; border:1px solid #ececf0; border-radius:15px 4px 15px 15px; background:#fafafb; color:#40404a; font-size:15px; line-height:1.7; }.interviewer-feedback { margin-top:24px; padding:19px; border-radius:14px; background:#f9f8f2; }.interviewer-feedback > span { color:#7c6a21; font-size:12px; font-weight:750; }.interviewer-feedback p { margin:7px 0 15px; color:#444139; font-size:14px; line-height:1.65; }.feedback-tip { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:13px; border-top:1px solid #ebe6ca; font-size:13px; }.feedback-tip b { color:#5d531f; }.feedback-tip span { color:#7f795f; }.feedback-actions { display:flex; justify-content:space-between; align-items:center; margin-top:22px; }.feedback-actions .text-action { color:#60606a; }.feedback-actions .next-action { display:inline-flex; align-items:center; justify-content:center; color:#fff; }
.feedback-panel { width:min(1120px,100%); }.feedback-workspace { display:grid; grid-template-columns:minmax(0,1fr) 286px; gap:18px; align-items:start; }.question-thread { position:sticky; top:20px; overflow:hidden; border:1px solid #e3e3e9; border-radius:18px; background:#fff; }.question-thread header { padding:19px 18px 15px; border-bottom:1px solid #eeeeF2; }.question-thread header span { display:block; color:#26262e; font-size:15px; font-weight:750; }.question-thread header small { display:block; margin-top:5px; color:#8a8a93; font-size:12px; line-height:1.4; }.thread-list { padding:7px; }.thread-item { width:100%; display:grid; grid-template-columns:28px minmax(0,1fr) 14px; align-items:center; gap:7px; padding:12px 10px; border:0; border-radius:11px; background:transparent; color:#4b4b54; font:inherit; text-align:left; }.thread-item b { color:#a2a2ad; font-size:11px; }.thread-item span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; font-weight:620; }.thread-item i { color:#aaaab2; font-size:19px; font-style:normal; }.thread-item:hover { background:#f7f7fa; }.thread-item.active { background:#f1f0ff; color:#4d45e4; }.thread-item.active b,.thread-item.active i { color:#6259f1; }
.feedback-workspace { grid-template-columns:minmax(0,1fr) 330px; }.question-thread header { padding:19px 18px; }.thread-list { max-height:600px; padding:14px; overflow-y:auto; background:#fbfbfc; }.thread-message { display:block; width:100%; margin:0 0 12px; padding:12px 13px; border-radius:13px; font:inherit; text-align:left; line-height:1.5; }.thread-message small,.thread-message span { display:block; }.thread-message small { margin-bottom:5px; font-size:10px; font-weight:750; }.thread-message span { font-size:13px; font-weight:570; }.thread-message.interviewer { border:1px solid #e1defc; background:#fff; color:#373447; cursor:pointer; }.thread-message.interviewer small { color:#6259ed; }.thread-message.interviewer:hover { border-color:#bcb7ff; }.thread-message.interviewer.active { border-color:#746bff; background:#f0efff; color:#443be1; box-shadow:0 4px 12px rgba(90,81,238,.11); }.thread-message.candidate { width:91%; margin-left:auto; border:1px solid #e8e8ed; background:#f1f1f4; color:#5e5e68; }.thread-message.candidate small { color:#96969f; }
@media (max-width:700px) { .app-shell { padding:14px; }.topbar { grid-template-columns:1fr auto; }.session-meta { display:none; }.topbar-actions { gap:4px; }.stage { min-height:calc(100vh - 98px); border-radius:19px; }.question-card { top:14px; left:14px; width:calc(100% - 28px); padding:13px 14px; }.question-card p { font-size:13px; }.interviewer-video { object-position:50% center; }.stage-status { top:142px; padding:8px 13px; }.footer-note { font-size:10px; }.intake-layer { padding:10px; }.intake-modal { max-height:calc(100vh - 20px); padding:25px 21px 20px; border-radius:20px; }.intake-header h1 { font-size:24px; }.intake-description { font-size:14px; }.intake-actions { position:sticky; bottom:-20px; padding:13px 0 0; background:#fff; } }
@media (max-width:820px) { .feedback-layer { padding:18px; }.feedback-workspace { grid-template-columns:1fr; }.question-thread { position:static; order:-1; }.thread-list { display:flex; overflow-x:auto; gap:5px; }.thread-item { min-width:148px; grid-template-columns:24px minmax(0,1fr); }.thread-item i { display:none; }.feedback-tip { align-items:flex-start; flex-direction:column; }.feedback-summary div { padding:14px 12px; } }
@media (max-width:820px) { .thread-list { display:block; max-height:340px; overflow-y:auto; }.thread-message { min-width:0; }.feedback-summary { display:none; } }
.visually-hidden { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }.file-picker { width:max-content; display:inline-flex !important; align-items:center; gap:7px; margin:12px 0 0 !important; padding:9px 12px; border:1px dashed #aaa6ed; border-radius:10px; color:#554cf0 !important; background:#faf9ff; font-size:13px !important; font-weight:700; cursor:pointer; }.file-picker span { font-size:17px; line-height:1; }.file-list { display:flex; flex-wrap:wrap; gap:7px; margin:10px 0 0; padding:0; list-style:none; }.file-list li { display:flex; align-items:center; gap:7px; padding:7px 9px; border-radius:8px; background:#f3f2ff; color:#4e49c5; font-size:12px; }.file-list button { border:0; padding:0; background:transparent; color:#6b65dd; font-size:15px; line-height:1; }.form-error { margin:12px 0 0; color:#b42318; font-size:13px; }.plan-preview { margin-top:22px; padding:18px; border:1px solid #dedbff; border-radius:14px; background:#faf9ff; }.plan-preview h2 { margin:6px 0; color:#29263f; font-size:18px; }.plan-preview p { margin:0; color:#6e6a85; font-size:13px; line-height:1.55; }.plan-preview ul,.plan-preview ol { margin:12px 0 0; padding-left:20px; color:#3e3a51; font-size:13px; line-height:1.6; }
.intake-modal { width:min(1080px,100%); max-height:calc(100vh - 24px); }.role-dropdown { position:static; margin-top:8px; }.role-results { max-height:min(440px,calc(100vh - 330px)); }
@media (min-width:701px) { .intake-modal { padding:42px 56px 32px; } }
.analysis-loading[hidden],.auth-layer[hidden] { display:none; }.pause-layer[hidden] { display:none; }
.question-loading-layer { position:fixed; z-index:40; inset:0; display:grid; place-content:center; justify-items:center; gap:14px; background:rgba(20,20,27,.62); backdrop-filter:blur(11px); }.question-loading-layer[hidden] { display:none; }.question-loading-layer p { margin:0; color:rgba(245,245,249,.92); font-size:14px; font-weight:650; text-shadow:0 2px 12px rgba(0,0,0,.35); } @media (prefers-reduced-motion:reduce) { .question-loading-layer .answer-transition__orb { animation:none; } }
.exit-confirm-card { padding:44px 32px 38px; }#exit-confirm-layer .exit-confirm-card h2 { margin:0 0 18px; font-size:24px; word-break:keep-all; }.exit-confirm-card > p { word-break:keep-all; }.exit-confirm-card > .exit-confirm-note { margin-top:12px; color:#9797a1; font-size:12px; line-height:1.6; }.exit-confirm-card > #exit-confirm-status:not(:empty) { margin-top:12px; color:#b33d4b; }.exit-confirm-actions { display:flex; align-items:center; justify-content:center; gap:12px; margin-top:28px; }.exit-confirm-actions .text-action { min-width:auto; padding:0 8px; font-size:12px; font-weight:650; }.exit-confirm-card .exit-confirm-actions .next-action { margin-top:0; }
.analysis-loading,.auth-layer,.pause-layer { position:fixed; z-index:40; inset:0; display:grid; place-items:center; padding:24px; background:rgba(20,20,27,.62); backdrop-filter:blur(11px); }.analysis-loading-card,.auth-card,.pause-card { width:min(470px,100%); padding:38px; border:1px solid rgba(255,255,255,.85); border-radius:25px; background:#fff; box-shadow:0 32px 90px rgba(10,10,20,.34); text-align:center; }.analysis-orbit { width:72px; height:72px; position:relative; margin:0 auto 22px; border:2px solid #e5e3ff; border-radius:50%; animation:analysis-spin 1.6s linear infinite; }.analysis-orbit::before { content:''; position:absolute; width:13px; height:13px; top:-7px; left:28px; border-radius:50%; background:#635bff; box-shadow:0 0 18px rgba(99,91,255,.7); }.analysis-orbit i { position:absolute; border-radius:50%; background:#b8b3ff; }.analysis-orbit i:nth-child(1) { width:8px; height:8px; top:14px; left:9px; }.analysis-orbit i:nth-child(2) { width:6px; height:6px; right:12px; bottom:16px; }.analysis-orbit i:nth-child(3) { width:5px; height:5px; right:8px; top:22px; }@keyframes analysis-spin { to { transform:rotate(360deg); } }.analysis-loading-card h2,.auth-card h2,.pause-card h2 { margin:10px 0; color:#23232c; font-size:25px; letter-spacing:-.05em; }.analysis-loading-card p,.auth-card > p,.pause-card > p { margin:0; color:#777783; font-size:14px; line-height:1.65; }.pause-card .next-action { margin-top:24px; }.analysis-steps { display:flex; justify-content:center; gap:9px; margin-top:27px; }.analysis-steps span { padding:8px 10px; border-radius:999px; background:#f1f0ff; color:#5b53df; font-size:12px; font-weight:700; }.auth-card { position:relative; text-align:left; }.auth-card > .brand-logo { width:132px; margin-bottom:23px; }.auth-card .step-count { display:block; }.close-auth { position:absolute; top:18px; right:18px; width:35px; height:35px; border:0; border-radius:50%; background:#f2f2f5; color:#656570; font-size:25px; line-height:1; }.auth-actions { display:grid; gap:10px; margin-top:25px; }.auth-provider { height:51px; border:1px solid #dedee6; border-radius:12px; color:#28282f; background:#fff; font-weight:750; }.auth-provider.kakao { border-color:#f4dd32; background:#fee500; }.auth-provider.google { background:#fff; }.auth-divider { display:flex; align-items:center; gap:12px; margin:21px 0; color:#9b9ba4; font-size:12px; }.auth-divider::before,.auth-divider::after { content:''; flex:1; height:1px; background:#e9e9ee; }.email-auth-form { display:grid; gap:8px; }.email-auth-form label { color:#32323a; font-size:13px; font-weight:700; }.email-auth-form input { height:48px; padding:0 13px; border:1px solid #dedee5; border-radius:11px; color:#28282f; font:inherit; }.email-auth-form .next-action { width:100%; margin-top:4px; }.auth-notice { margin:14px 0 0 !important; color:#6a64d7 !important; font-size:13px !important; }.auth-card small { display:block; margin-top:19px; color:#a0a0a9; font-size:11px; line-height:1.5; }

/* Interview record review workspace */
.dashboard-detail { width:min(1240px,100%); }.dashboard-review-workspace { display:grid; grid-template-columns:minmax(292px,360px) minmax(0,1fr); align-items:start; gap:22px; margin-top:34px; }.dashboard-conversation-panel { position:sticky; top:24px; overflow:hidden; max-height:calc(100vh - 48px); border:1px solid #e4e3e9; border-radius:17px; background:#fff; }.dashboard-conversation-panel > header { display:flex; align-items:end; justify-content:space-between; gap:12px; padding:20px 20px 16px; border-bottom:1px solid #ecebf0; }.dashboard-conversation-panel h2 { margin:5px 0 0; color:#35343c; font-size:17px; letter-spacing:-.045em; }.dashboard-conversation-panel small { padding-bottom:2px; color:#92909a; font-size:11px; }.dashboard-conversation-list { max-height:calc(100vh - 156px); overflow:auto; padding:10px; background:#fbfbfc; }.dashboard-conversation-turn { padding:10px; border-radius:12px; }.dashboard-conversation-turn.is-active { background:#f1f0ff; }.dashboard-message { display:block; width:100%; border:0; font:inherit; text-align:left; cursor:pointer; }.dashboard-message span { display:block; font-size:10px; font-weight:800; }.dashboard-message--question { padding:2px 2px 9px; background:transparent; color:#7a7785; }.dashboard-message--question b { display:block; margin-top:5px; color:#3c3a46; font-size:13px; letter-spacing:-.035em; line-height:1.5; }.dashboard-message--answer { padding:11px 12px; border:1px solid #e9e8ed; border-radius:11px; background:#fff; color:#82808b; }.dashboard-message--answer p { display:-webkit-box; overflow:hidden; margin:5px 0 0; color:#696773; font-size:12px; line-height:1.58; -webkit-line-clamp:3; -webkit-box-orient:vertical; }.dashboard-conversation-turn.is-active .dashboard-message--answer { border-color:#d7d3ff; }.dashboard-question-analysis { min-width:0; padding:29px; border:1px solid #e3e2e8; border-radius:18px; background:#fff; }.dashboard-question-analysis__header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding-bottom:23px; border-bottom:1px solid #ecebf0; }.dashboard-question-analysis h2 { max-width:650px; margin:8px 0 0; color:#292831; font-size:25px; letter-spacing:-.055em; line-height:1.35; word-break:keep-all; }.dashboard-replay-button { flex:0 0 auto; min-height:37px; padding:0 12px; border:1px solid #dedce7; border-radius:9px; background:#fff; color:#605e69; font:inherit; font-size:12px; font-weight:750; }.dashboard-analysis-block { padding:17px 18px; border:1px solid #e8e7ec; border-radius:12px; background:#fcfcfd; }.dashboard-analysis-block > span,.dashboard-next-focus > span { display:block; color:#6660d9; font-size:11px; font-weight:800; }.dashboard-analysis-block p { margin:8px 0 0; color:#5d5b66; font-size:13px; letter-spacing:-.02em; line-height:1.72; word-break:keep-all; }.dashboard-analysis-block--answer { margin-top:22px; padding:20px; border-color:#dddafe; background:#f8f7ff; }.dashboard-analysis-block--answer p { color:#45434d; font-size:14px; }.dashboard-analysis-grid { display:grid; grid-template-columns:1fr 1fr; gap:11px; margin-top:11px; }.dashboard-analysis-block--improvement { margin-top:11px; border-color:#ebe5ff; background:#fdfbff; }.dashboard-next-focus { margin-top:11px; padding:17px 18px; border-radius:12px; background:#f1f0ff; }.dashboard-next-focus strong { display:block; margin-top:6px; color:#413c86; font-size:14px; }.dashboard-practice-cta { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:23px; padding-top:22px; border-top:1px solid #ecebf0; }.dashboard-practice-cta span,.dashboard-practice-cta b { display:block; }.dashboard-practice-cta span { color:#898792; font-size:11px; }.dashboard-practice-cta b { margin-top:4px; color:#595761; font-size:12px; }.dashboard-practice-cta button { flex:0 0 auto; min-height:42px; padding:0 15px; border:0; border-radius:10px; background:#6158e9; color:#fff; font:inherit; font-size:12px; font-weight:800; box-shadow:0 9px 16px rgba(92,82,224,.2); }.dashboard-practice-cta i { margin-left:5px; font-size:15px; font-style:normal; }
@media (max-width:980px) { .dashboard-review-workspace { grid-template-columns:300px minmax(0,1fr); }.dashboard-question-analysis { padding:23px; }.dashboard-question-analysis h2 { font-size:22px; } }
@media (max-width:820px) { .dashboard-review-workspace { grid-template-columns:1fr; }.dashboard-conversation-panel { position:static; max-height:none; }.dashboard-conversation-list { display:flex; max-height:300px; overflow:auto; gap:8px; }.dashboard-conversation-turn { flex:0 0 235px; }.dashboard-question-analysis { padding:21px; }.dashboard-question-analysis__header { display:block; }.dashboard-replay-button { margin-top:16px; }.dashboard-analysis-grid { grid-template-columns:1fr; } }
.dashboard-question-analysis__header > div { min-width:0; }.dashboard-practice-button { min-height:42px; padding:0 15px; border:0; border-radius:10px; background:#6158e9; color:#fff; font-size:12px; font-weight:800; box-shadow:0 9px 16px rgba(92,82,224,.2); }.dashboard-practice-button span { margin-left:5px; font-size:15px; }
.dashboard-question-analysis__header { display:block; }.dashboard-question-title-row { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:8px; }.dashboard-question-title-row h2 { min-width:0; margin:0; }.dashboard-question-title-row .dashboard-practice-button { margin-top:0; } @media (max-width:600px) { .dashboard-question-title-row { align-items:flex-start; flex-direction:column; gap:14px; } }
.dashboard-practice-cta { justify-content:space-between; }.dashboard-practice-cta .dashboard-practice-button { margin-top:0; }.dashboard-practice-cta .dashboard-practice-button span { display:inline; color:inherit; font-size:15px; } @media (max-width:600px) { .dashboard-practice-cta { align-items:flex-start; flex-direction:column; }.dashboard-practice-cta .dashboard-practice-button { align-self:flex-end; } }

/* Keep Korean loading headlines in readable word groups instead of orphaning one syllable. */
.analysis-loading-card h2 { max-width:18ch; margin-left:auto; margin-right:auto; word-break:keep-all; text-wrap:balance; }
.pause-history { display:grid; gap:8px; max-height:260px; margin:22px 0 0; padding:0; overflow:auto; list-style:none; text-align:left; }.pause-history li { display:grid; gap:4px; padding:11px 12px; border-radius:11px; background:#f6f6f9; color:#4d4d57; font-size:13px; line-height:1.55; }.pause-history b { color:#6a64d7; font-size:11px; }.pause-history__candidate { margin-left:20px; background:#f0efff !important; }.pause-history__candidate b { color:#4d45d9; }
.analysis-ready { margin-top:8px; padding:22px; border:1px solid #dedbff; border-radius:16px; background:#faf9ff; }.analysis-ready h2 { margin:7px 0; color:#29263f; font-size:20px; }.analysis-ready p { margin:0; color:#6e6a85; font-size:14px; line-height:1.6; }.analysis-ready ul { display:grid; gap:8px; margin:15px 0 0; padding:0; list-style:none; }.analysis-ready li { position:relative; padding:11px 12px 11px 29px; border-radius:10px; background:#fff; color:#3e3a51; font-size:14px; line-height:1.55; }.analysis-ready li::before { content:'✓'; position:absolute; left:11px; top:11px; color:#5d55e8; font-weight:800; }.analysis-ready__refresh { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:18px; padding-top:16px; border-top:1px solid #e3e1f2; }.analysis-ready__refresh p { color:#88849b; font-size:12px; }.analysis-ready__refresh button { flex:0 0 auto; display:inline-flex; align-items:center; gap:7px; min-height:38px; padding:0 13px; border:1px solid #cbc7ff; border-radius:10px; background:#fff; color:#564de0; font:inherit; font-size:13px; font-weight:750; }.analysis-ready__refresh button:hover { border-color:#7b73f4; background:#f1f0ff; }.analysis-ready__refresh button span { font-size:17px; line-height:1; }@media (max-width:560px) { .analysis-ready__refresh { align-items:flex-start; flex-direction:column; } }
.analysis-loading-card .analysis-progress { margin-top:8px; color:#9894ad; font-size:12px; line-height:1.5; }.analysis-steps span { opacity:.46; transform:translateY(0); transition:opacity .25s, transform .25s, background .25s, box-shadow .25s; }.analysis-steps span.is-active { opacity:1; transform:translateY(-2px); background:#e5e3ff; box-shadow:0 7px 16px rgba(99,91,255,.2); animation:analysis-step-pulse 1.15s ease-in-out infinite; }.analysis-steps span.is-complete { opacity:1; background:#f1f0ff; color:#6159d9; }.analysis-steps span.is-complete::before { content:'✓ '; }@keyframes analysis-step-pulse { 50% { transform:translateY(-4px); box-shadow:0 10px 22px rgba(99,91,255,.3); } }

/* Compact interview setup: keep the first step focused and easy to scan. */
.intake-modal { width:min(680px,100%); max-height:calc(100vh - 48px); padding:30px 34px 24px; border-radius:18px; box-shadow:0 22px 55px rgba(16,15,27,.22); }
.brand--intake { margin-bottom:12px; }.brand--intake .brand-logo { width:112px; max-height:30px; }.intake-header h1 { margin-top:5px; font-size:25px; }.close-intake { width:30px; height:30px; font-size:26px; }.intake-progress { height:2px; margin:20px 0 19px; }.intake-description { margin-bottom:18px; font-size:14px; line-height:1.55; }.intake-step label { margin:16px 0 7px; font-size:14px; }.intake-step input,.intake-step textarea { padding:12px 13px; border-radius:10px; font-size:14px; }.intake-step[data-step="company"] #posting-input { min-height:128px; }.field-note { margin-top:8px; font-size:11px; }.intake-actions { margin-top:22px; }.text-action,.next-action { height:44px; border-radius:10px; }.next-action { min-width:126px; font-size:14px; box-shadow:none; }
@media (max-width:700px) { .intake-modal { max-height:calc(100vh - 20px); padding:25px 21px 20px; border-radius:20px; }.intake-header h1 { font-size:24px; }.intake-description { font-size:14px; }.intake-actions { margin-top:22px; } }

/* Keep the role list compact so the navigation remains available. */
.role-dropdown { position:static; margin-top:8px; }
.role-results { max-height:230px; }
.intake-actions { position:sticky; bottom:0; z-index:6; margin-top:18px; padding:14px 0 0; background:#fff; }
@media (max-width:700px) { .intake-actions { bottom:0; margin-top:18px; padding:13px 0 0; } }

/* Compact detailed-role picker. */
.role-trigger { min-height:44px; padding:0 13px; font-size:14px; }
.role-trigger span { font-size:16px; }
.role-dropdown { margin-top:6px; padding:8px; border-radius:12px; }
.role-dropdown > input { padding:10px 11px; font-size:13px; }
.role-custom-entry { gap:6px; margin-top:6px; }
.role-custom-entry input { padding:8px 10px; font-size:12px; }
.role-custom-entry button { min-height:35px; padding:0 10px; font-size:12px; }
.role-results { max-height:210px; margin-top:6px; }
.role-option { padding:8px 10px; font-size:14px; line-height:1.4; }
.dashboard-home .dashboard-primary { display:inline-flex; align-items:center; justify-content:center; gap:8px; width:min(235px, 100%); min-height:55px; font-size:15px; font-weight:800; }
.dashboard-home .dashboard-primary span { font-size:25px; font-weight:400; line-height:1; }
.dashboard-home { position:relative; isolation:isolate; overflow:hidden; width:100%; background:#24232c; }
.dashboard-home__video { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; }
.dashboard-home::before { content:""; position:absolute; z-index:-1; inset:0; background:rgba(12,12,20,.72); }
.dashboard-home .dashboard-kicker { color:#bcb7ff; }
.dashboard-home h1 { color:#fff; }
.dashboard-home > p { color:#ececf1; }
@media (prefers-reduced-motion:reduce) { .dashboard-home__video { display:none; } .dashboard-home { background:#24232c; } }
.dashboard-sidebar[hidden] { display:none; }
.dashboard-main { margin-left:0; transition:margin-left .2s ease; }
.sidebar-open .dashboard-main { margin-left:290px; }
.dashboard-sidebar-toggle { position:fixed; z-index:3; top:24px; left:20px; display:grid; place-items:center; width:42px; height:42px; border:1px solid #e2e1e9; border-radius:11px; background:#fff; color:#514d6a; font-size:20px; cursor:pointer; box-shadow:0 4px 14px rgba(0,0,0,.12); transition:left .2s ease; }
.sidebar-open .dashboard-sidebar-toggle { left:300px; }
@media (max-width:760px) { .dashboard-sidebar { position:fixed; inset:0 auto 0 0; width:min(290px, 80vw); min-height:100vh; padding:31px 18px 20px; overflow-y:auto; border-right:1px solid #e8e7ec; } .dashboard-new-button { position:static; width:100%; height:48px; font-size:14px; } .dashboard-interview-list { display:grid; overflow:visible; } .dashboard-more { display:block; } .dashboard-account { display:flex; } .dashboard-main,.sidebar-open .dashboard-main { margin-left:0; } .sidebar-open .dashboard-sidebar-toggle { left:min(calc(80vw + 10px), 300px); } .dashboard-home { min-height:100vh; } }
@media (prefers-reduced-motion:reduce) { .dashboard-main,.dashboard-sidebar-toggle { transition:none; } }
.dashboard-history.is-current { background:#f0eff8; }
.dashboard-history__main { padding:10px 12px; }
.dashboard-more { margin-top:2px; }
.dashboard-detail { width:100%; max-width:none; padding:0; }
.dashboard-detail__old-header { display:none; }
.dashboard-review-workspace { grid-template-columns:minmax(320px, 43%) minmax(0, 1fr); gap:0; margin:0; min-height:100vh; }
.dashboard-conversation-panel { position:sticky; top:0; max-height:100vh; border:0; border-right:1px solid #e6e5eb; border-radius:0; }
.dashboard-conversation-panel > header { min-height:82px; padding:20px 28px 16px 74px; }
.dashboard-conversation-list { height:calc(100vh - 82px); max-height:none; padding:24px; }
.dashboard-conversation-turn { display:flex; flex-direction:column; gap:14px; padding:10px 0 20px; }
.dashboard-conversation-turn.is-active { background:transparent; }
.dashboard-question-row { display:flex; align-items:center; gap:8px; max-width:90%; }
.dashboard-message--question { padding:13px 15px; border-radius:4px 15px 15px 15px; background:#e9e9ef; }
.dashboard-conversation-turn.is-active .dashboard-message--question { background:#eae8ff; outline:2px solid #aaa4f5; }
.dashboard-question-play { flex:none; width:34px; height:34px; border:1px solid #dedce7; border-radius:50%; background:#fff; color:#6259e8; cursor:pointer; }
.dashboard-message--answer { align-self:flex-end; width:auto; max-width:85%; padding:13px 15px; border:0; border-radius:15px 4px 15px 15px; background:#e8e7f1; }
.dashboard-message--answer p { display:block; overflow:visible; }
.dashboard-question-analysis { min-height:100vh; padding:90px clamp(25px,5vw,75px) 35px; border:0; border-radius:0; }
.dashboard-practice-layer { position:fixed; z-index:150; inset:0; display:grid; place-items:center; padding:20px; background:rgba(10,10,20,.72); }
.dashboard-practice-dialog { position:relative; width:min(560px,100%); max-height:90vh; overflow:auto; border-radius:18px; background:#fff; }
.dashboard-practice-dialog video { display:none; width:100%; max-height:42vh; object-fit:cover; background:#24232c; }
.dashboard-practice-close { position:absolute; z-index:1; top:12px; right:12px; width:40px; height:40px; border:0; border-radius:50%; background:#fff; font-size:25px; }
.practice-loading { position:absolute; z-index:5; inset:0; display:grid; place-content:center; justify-items:center; gap:14px; background:rgba(20,20,27,.72); backdrop-filter:blur(11px); }.practice-loading[hidden] { display:none; }.practice-loading p { margin:0; color:#f5f5f9; font-size:14px; font-weight:650; text-shadow:0 2px 12px rgba(0,0,0,.35); } @media (prefers-reduced-motion:reduce) { .practice-loading .answer-transition__orb { animation:none; } }
.dashboard-practice-content { padding:36px; }
.dashboard-practice-heading { padding-right:44px; color:#24232c; font-size:15px; font-weight:800; }
.dashboard-practice-content > span { display:block; margin-top:32px; color:#6259e8; font-size:12px; font-weight:800; }
.dashboard-practice-content h2 { margin:10px 0 0; font-size:22px; line-height:1.5; overflow-wrap:anywhere; }
.dashboard-practice-content p { color:#777681; line-height:1.6; }
.dashboard-practice-speak { padding:11px 16px; border:0; border-radius:9px; background:#6259e8; color:#fff; }
@media (max-width:820px) { .dashboard-review-workspace { grid-template-columns:1fr; } .dashboard-conversation-panel { position:static; max-height:none; } .dashboard-conversation-list { display:block; height:auto; max-height:45vh; } .dashboard-question-analysis { min-height:0; padding:28px 20px; } }
.dashboard-conversation-turn.is-active .dashboard-message--answer { outline:2px solid #aaa4f5; background:#eae8ff; }
@media (min-width:821px) {
  .dashboard-review-workspace { grid-template-columns:minmax(0,var(--conversation-width,28%)) 8px minmax(0,1fr); }
  .dashboard-panel-divider { position:sticky; top:0; height:100vh; background:linear-gradient(to right, transparent 3px, #e6e5eb 3px, #e6e5eb 5px, transparent 5px); cursor:col-resize; touch-action:none; }
  .dashboard-panel-divider:hover,.dashboard-panel-divider:focus-visible { background:linear-gradient(to right, transparent 3px, #aaa4f5 3px, #aaa4f5 5px, transparent 5px); outline:none; }
}
@media (max-width:820px) { .dashboard-panel-divider { display:none; } }
.dashboard-analysis-intent { margin-top:22px; }
.dashboard-analysis-grid .dashboard-analysis-block--improvement { margin-top:0; }
.dashboard-analysis-block--answer label { display:block; color:#6660d9; font-size:13px; font-weight:800; }
.dashboard-analysis-block--answer .dashboard-draft-hint { margin:7px 0 12px; color:#777582; font-size:12px; }
.dashboard-analysis-block--answer textarea { display:block; box-sizing:border-box; width:100%; min-height:175px; padding:14px; resize:vertical; border:1px solid #d8d5e9; border-radius:10px; background:#fff; color:#45434d; font:inherit; font-size:14px; line-height:1.7; }
.dashboard-analysis-block--answer textarea:focus { outline:2px solid #aaa4f5; border-color:transparent; }
.dashboard-analysis-intent { margin-top:16px; }
.dashboard-analysis-intent,.dashboard-analysis-grid .dashboard-analysis-block { padding:12px 14px; border-color:#efedf2; background:#fafafd; }
.dashboard-analysis-intent p,.dashboard-analysis-grid .dashboard-analysis-block p { margin-top:4px; font-size:12px; line-height:1.5; }
.dashboard-analysis-grid { gap:8px; margin-top:8px; }
.dashboard-analysis-block--answer { margin-top:16px; }
.dashboard-analysis-block--answer textarea { min-height:240px; }
.dashboard-draft-actions { display:flex; justify-content:flex-end; margin-top:12px; }
.dashboard-draft-save { min-height:0; padding:4px 2px; border:0; background:transparent; color:#686574; font:inherit; font-size:11px; font-weight:600; cursor:pointer; }

/* Full-viewport interview stage and controls. */
.app-shell { position:relative; width:100%; min-height:100vh; min-height:100dvh; margin:0; padding:0; background:#111; }
.stage { width:100%; height:100vh; height:100dvh; min-height:0; border-radius:0; box-shadow:none; }
.topbar { position:absolute; z-index:5; top:24px; right:24px; height:auto; display:block; margin:0; }
.topbar-actions { display:flex; gap:8px; }
.topbar-actions .pause-button,.topbar-actions .exit-button { display:inline-flex; align-items:center; justify-content:center; gap:7px; width:auto; min-height:42px; padding:0 15px; border:1px solid rgba(255,255,255,.24); border-radius:12px; background:rgba(20,20,24,.76); color:#fff; font-size:13px; font-weight:700; backdrop-filter:blur(12px); }
.topbar-actions .pause-button span { font-size:14px; }
.topbar-actions button:hover:not(:disabled) { background:rgba(48,48,55,.92); }
.topbar-actions button:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.answer-timer { top:82px; right:32px; }
.footer-note { position:absolute; z-index:3; bottom:18px; left:24px; max-width:calc(100% - 210px); padding:0; color:rgba(255,255,255,.7); font-size:11px; text-shadow:0 1px 6px #000; }
@media (max-width:700px) {
  .app-shell { padding:0; }
  .stage { min-height:0; border-radius:0; }
  .topbar { top:14px; right:14px; }
  .topbar-actions { gap:6px; }
  .topbar-actions .pause-button,.topbar-actions .exit-button { min-height:40px; padding:0 11px; font-size:12px; }
  .stage-status { top:68px; max-width:calc(100% - 28px); min-width:0; }
  .stage-status p { font-size:12px; }
  .question-card { top:116px; left:14px; width:min(425px,calc(100% - 28px)); }
  .answer-timer { top:14px; left:14px; right:auto; font-size:34px; }
  .footer-note { left:14px; bottom:16px; max-width:calc(100% - 170px); font-size:10px; line-height:1.4; }
}

/* Let the answer editor use the available height in the review workspace. */
@media (min-width:821px) {
  .dashboard-question-analysis { display:flex; flex-direction:column; min-height:100vh; min-height:100dvh; padding-bottom:clamp(90px, 12vh, 160px); }
  .dashboard-analysis-block--answer { display:flex; flex:1 0 auto; flex-direction:column; }
  .dashboard-analysis-block--answer textarea { flex:1 0 240px; }
  .dashboard-practice-cta { flex:none; }
}
@media (max-width:820px) {
  .dashboard-analysis-block--answer textarea { min-height:clamp(240px,45dvh,560px); }
}

.dashboard-landing-brand { position:fixed; z-index:3; top:24px; left:72px; display:flex; align-items:center; height:42px; }
.dashboard-landing-brand img { display:block; width:120px; height:auto; filter:brightness(0) invert(1) drop-shadow(0 2px 5px rgba(0,0,0,.3)); }
.sidebar-open .dashboard-landing-brand { display:none; }
@media (max-width:480px) { .dashboard-landing-brand { left:70px; } .dashboard-landing-brand img { width:96px; } }


.completion-screen { position:fixed; z-index:35; inset:0; display:grid; place-items:center; padding:32px; overflow:auto; background:#fff; color:#24232c; }
.completion-screen[hidden] { display:none; }
.completion-content { width:min(850px,100%); text-align:center; animation:completion-enter .8s ease both; }
.completion-kicker { display:block; color:#aaa4ff; font-size:13px; font-weight:750; letter-spacing:.02em; }
.completion-content h1 { margin:0 0 18px; font-size:clamp(34px,4vw,56px); line-height:1.25; letter-spacing:-.072em; font-weight:700; word-break:keep-all; }
.completion-content h1 strong { font-weight:inherit; }
.completion-content p { margin:0; color:#777681; font-size:16px; line-height:1.8; word-break:keep-all; }
.completion-button { display:inline-flex; align-items:center; justify-content:center; gap:22px; min-height:52px; margin-top:38px; padding:0 24px; border:0; border-radius:12px; background:#6259ee; color:#fff; font:inherit; font-size:14px; font-weight:750; text-decoration:none; box-shadow:0 10px 25px rgba(71,60,210,.25); }
.completion-button:hover { background:#756dff; }.completion-button:focus-visible { outline:2px solid #6259e8; outline-offset:4px; }
.completion-preview-label { position:fixed; z-index:36; right:20px; top:20px; color:#777681; font-size:12px; }
@keyframes completion-enter { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) { .completion-content { animation:none; } }

.pause-description { display:grid; gap:4px; max-width:360px; margin:14px auto 0; color:#777783; font-size:14px; line-height:1.65; word-break:keep-all; }
.pause-description p { margin:0; }
.pause-description p + p { color:#92919d; font-size:13px; }

.answer-cue { position:absolute; z-index:5; top:50%; left:50%; transform:translate(-50%,-50%); color:rgba(210,210,216,.74); font-size:clamp(90px,14vw,200px); font-weight:750; letter-spacing:-.06em; line-height:1; text-align:center; text-shadow:0 4px 24px rgba(0,0,0,.2); pointer-events:none; }
.answer-cue[hidden] { display:none; }
.answer-cue.is-start { animation:answer-cue-fade .7s ease forwards; }
@keyframes answer-cue-fade { 0%,70% { opacity:1; } 100% { opacity:0; } }
@media (prefers-reduced-motion:reduce) { .answer-cue.is-start { animation:none; } }

.dashboard-practice-question { display:none; }
.dashboard-practice-layer.is-playing { padding:0; background:#111; }
.dashboard-practice-layer.is-playing .dashboard-practice-dialog { width:100%; height:100vh; height:100dvh; max-height:none; overflow:hidden; border-radius:0; background:#111 url("/assets/interview-videos/practice-placeholder.jpg") center / cover no-repeat; }
.dashboard-practice-layer.is-playing video { width:100%; height:100%; max-height:none; object-fit:cover; }
.dashboard-practice-layer.is-playing .dashboard-practice-content { display:none; }
.dashboard-practice-layer.is-playing .dashboard-practice-question { position:absolute; top:24px; left:24px; display:block; width:min(425px,calc(100% - 96px)); padding:17px 19px; border:1px solid rgba(255,255,255,.1); border-radius:16px; background:rgba(30,30,34,.9); color:#f5f5f6; }
.dashboard-practice-question span { color:#aaa6ca; font-size:11px; font-weight:700; }
.dashboard-practice-question p { margin:9px 0 0; font-size:15px; line-height:1.55; }
.dashboard-practice-speak:disabled { opacity:.5; cursor:not-allowed; }
.dashboard-practice-dialog .practice-video--buffer { display:none; }
.dashboard-practice-layer.is-playing .practice-video { position:absolute; inset:0; display:block; opacity:0; pointer-events:none; }
.dashboard-practice-layer.is-playing .practice-video.is-active { opacity:1; }
.dashboard-practice-layer.is-playing .dashboard-practice-question { z-index:3; }
.dashboard-practice-layer.is-playing .dashboard-practice-close { z-index:6; }
.dashboard-practice-stage-status { position:absolute; z-index:3; top:24px; left:50%; transform:translateX(-50%); padding:10px 16px; border:1px solid rgba(255,255,255,.12); border-radius:999px; background:rgba(16,16,18,.72); color:#eee; font-size:13px; text-align:center; }
.dashboard-practice-stage-status[hidden] { display:none; }
@media (max-width:700px) { .dashboard-practice-layer.is-playing .dashboard-practice-question { top:116px; left:14px; width:calc(100% - 28px); } .dashboard-practice-stage-status { top:68px; width:max-content; max-width:calc(100% - 28px); font-size:12px; } }
.answer-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.answer-tabs button { min-height:36px; padding:0 13px; border:1px solid #e0def0; border-radius:9px; background:#fff; color:#74717d; font:inherit; font-size:12px; font-weight:700; }
.answer-tabs button.is-active { border-color:#aca6ff; background:#efedff; color:#5148dd; }
.dashboard-draft-actions { align-items:center; gap:12px; }
.dashboard-draft-delete { padding:4px 2px; border:0; background:transparent; color:#898590; font:inherit; font-size:11px; font-weight:600; cursor:pointer; }
.dashboard-draft-save:hover:not(:disabled),.dashboard-draft-delete:hover { color:#554ed0; text-decoration:underline; }.dashboard-draft-save:disabled { opacity:.45; cursor:default; }.dashboard-draft-save:focus-visible,.dashboard-draft-delete:focus-visible { outline:2px solid #7068e8; outline-offset:3px; }
.dashboard-draft-actions [role="status"] { color:#777582; font-size:12px; }
.answer-original { margin-top:12px; color:#777582; font-size:12px; line-height:1.6; }
.answer-original summary { cursor:pointer; color:#6259e8; font-weight:700; }
.answer-original p { white-space:pre-wrap; }
.dashboard-answer-footer { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-top:12px; }.dashboard-answer-footer .answer-original { flex:1; min-width:0; margin-top:0; }.dashboard-answer-footer .dashboard-draft-actions { flex:0 0 auto; margin-top:0; }
.dashboard-preparation-card { display:grid; gap:5px; width:calc(100% - 20px); margin:10px; padding:13px 14px; border:1px solid #e4e2f0; border-radius:12px; background:#f7f6fc; color:#393747; font:inherit; text-align:left; cursor:pointer; }.dashboard-preparation-card span { color:#777388; font-size:10px; font-weight:750; }.dashboard-preparation-card b { font-size:13px; }.dashboard-preparation-card small { color:#85818f; font-size:11px; line-height:1.45; }.dashboard-preparation-card.is-active { border-color:#aaa4f5; background:#eae8ff; outline:1px solid #aaa4f5; }.dashboard-preparation-card:focus-visible { outline:2px solid #6259e8; outline-offset:2px; }
.dashboard-preparation-card { grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:12px; padding:14px; border-color:#d4d0fa; background:#f2f0ff; }.dashboard-preparation-card .preparation-card-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:11px; background:#e3e0ff; color:#6259df; }.preparation-card-icon svg { width:21px; height:21px; }.dashboard-preparation-card .preparation-card-copy { display:grid; gap:4px; min-width:0; }.dashboard-preparation-card .preparation-card-copy > span { color:#6b64bd; }.dashboard-preparation-card .preparation-card-copy b { color:#343052; font-size:14px; }.dashboard-preparation-card .preparation-card-arrow { color:#6b62d9; font-size:18px; line-height:1; }.dashboard-preparation-card:hover { border-color:#aaa4f5; background:#ebe9ff; }.dashboard-preparation-card.is-active { background:#e7e4ff; }
.preparation-analysis__header { padding-bottom:22px; border-bottom:1px solid #ecebf0; }.preparation-analysis__header h2,.preparation-state h2 { margin:8px 0; }.preparation-analysis__header p,.preparation-note,.preparation-empty,.preparation-state p { color:#777582; font-size:13px; line-height:1.6; }.preparation-section { margin-top:28px; }.preparation-section h3 { margin:0 0 10px; color:#302f3a; font-size:16px; }.preparation-section > p:not(.preparation-note) { color:#565461; font-size:13px; line-height:1.7; }.preparation-info { display:flex; flex-wrap:wrap; gap:12px 30px; margin:0; padding:16px; border:1px solid #eae9f1; border-radius:12px; background:#fafafd; }.preparation-info div { min-width:95px; }.preparation-info dt { color:#888592; font-size:11px; }.preparation-info dd { margin:5px 0 0; color:#393743; font-size:13px; font-weight:700; }.preparation-evidence-list,.preparation-question-list { display:grid; gap:10px; margin-top:14px; }.preparation-evidence,.preparation-question { padding:16px; border:1px solid #e7e5f0; border-radius:12px; background:#fbfaff; }.preparation-evidence__meta { display:flex; gap:8px; color:#77728f; font-size:11px; font-weight:700; }.preparation-evidence h4,.preparation-question h4 { margin:8px 0; color:#34323d; font-size:14px; line-height:1.55; }.preparation-evidence blockquote { margin:10px 0 0; padding-left:10px; border-left:2px solid #d4d0f5; color:#716e7e; font-size:12px; line-height:1.65; white-space:pre-wrap; }.preparation-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }.preparation-tags span { padding:4px 8px; border-radius:999px; background:#efedff; color:#6259d5; font-size:11px; }.preparation-question__number { color:#6860d9; font-size:11px; font-weight:800; }.preparation-question details { margin-top:10px; color:#6259d5; font-size:12px; }.preparation-question summary { cursor:pointer; font-weight:700; }.preparation-question ul { display:grid; gap:9px; margin:12px 0 0; padding:0; list-style:none; }.preparation-question li { padding:11px 12px; border-radius:9px; background:#fff; color:#474552; line-height:1.55; }.preparation-question li small { display:block; margin-top:5px; color:#8b8796; }.preparation-question .preparation-empty { margin:10px 0 0; font-size:12px; }.preparation-state .dashboard-replay-button { margin-top:12px; }
@media (max-width:820px) { .dashboard-preparation-card { flex:0 0 235px; width:235px; margin:10px 0 10px 10px; } }
.practice-exit-layer { position:fixed; z-index:10; inset:0; display:grid; place-items:center; padding:24px; background:rgba(20,20,27,.62); backdrop-filter:blur(11px); }
.practice-exit-layer[hidden] { display:none; }
.practice-exit-layer .practice-exit-error:not(:empty) { margin-top:12px; color:#b33d4b; }
.dashboard-practice-layer.is-playing .practice-timer { z-index:4; top:16px; right:115px; left:auto; padding:0; border:0; background:none; color:rgba(210,210,216,.88); text-shadow:none; }
@media (max-width:700px) { .dashboard-practice-layer.is-playing .practice-timer { top:16px; right:98px; left:auto; font-size:34px; } }
.dashboard-practice-speak { font:inherit; font-size:14px; font-weight:750; }
.dashboard-practice-content .dashboard-practice-status { margin:26px 0 0; padding-top:20px; border-top:1px solid #e9e8ef; font-size:12px; line-height:1.8; white-space:pre-line; }
.dashboard-practice-actions { display:flex; flex-direction:column; align-items:flex-end; gap:10px; margin-top:28px; }
.dashboard-practice-content .dashboard-practice-actions .dashboard-practice-status { order:1; margin:0; text-align:right; }
.dashboard-practice-actions .dashboard-practice-speak { flex-shrink:0; }
@media (max-width:600px) {
  .dashboard-practice-content { padding:30px 24px; }
  .dashboard-practice-content h2 { font-size:19px; }
  .dashboard-practice-actions .dashboard-practice-status { align-self:stretch; }
}
.dashboard-cache-notice { padding:10px 12px; border-radius:9px; background:#f3f1ff; color:#6259a3; font-size:12px; line-height:1.5; }

.role-category-label { display:block; margin:2px 2px 5px; color:#686873; font-size:12px; font-weight:700; }
.role-dropdown select { width:100%; min-height:40px; margin-bottom:7px; padding:8px 10px; border:1px solid #d7d7df; border-radius:9px; background:#fff; color:#26262d; font:inherit; font-size:13px; }

/* Role picker controls stay visible while only the results scroll. */
.role-dropdown select { margin:7px 0 0; }
.role-results { border-top:1px solid #f0eff4; padding-top:4px; }
.role-option { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.role-option[aria-selected="true"] { color:#5149e4; font-weight:700; background:#f7f6ff; }
.role-option[aria-selected="true"]::after { content:'✓'; flex:none; }
.role-custom-details { margin-top:6px; border-top:1px solid #f0eff4; }
.role-custom-details summary { padding:11px 10px 6px; color:#6159dc; font-size:12px; font-weight:700; cursor:pointer; list-style:none; }
.role-custom-details summary::-webkit-details-marker { display:none; }
.role-custom-details summary:focus-visible { outline:2px solid #6b63ff; outline-offset:2px; border-radius:6px; }


.dashboard-practice-layer.is-playing .dashboard-practice-dialog { animation:none; }
.dashboard-practice-stage-status:not([hidden]) { display:flex; align-items:center; gap:10px; }
.dashboard-practice-stage-status .status-orb { animation:pulse 1.5s ease-in-out infinite; }
@keyframes practice-enter { from { opacity:0; } to { opacity:1; } }
@media (prefers-reduced-motion:reduce) { .dashboard-practice-layer.is-playing .dashboard-practice-dialog, .dashboard-practice-stage-status .status-orb { animation:none; } }
.dashboard-practice-stage-status .status-orb[hidden] { display:none; }

.practice-exit-layer .exit-confirm-card h2 { margin:0 0 18px; word-break:keep-all; }
.practice-exit-layer .practice-exit-description { margin:0 auto; max-width:360px; line-height:1.75; word-break:keep-all; }
@media (max-width:420px) { .practice-exit-layer .exit-confirm-card { padding:32px 24px; } .practice-exit-layer .exit-confirm-card h2 { font-size:21px; } .practice-exit-layer .practice-exit-description br { display:none; } }
.dashboard-history[draggable="true"] { cursor:grab; }
.dashboard-history.is-dragging { opacity:.45; }
.dashboard-history.drop-before::before,.dashboard-history.drop-after::after { content:""; position:absolute; left:8px; right:8px; height:3px; border-radius:3px; background:#6259ee; }
.dashboard-history.drop-before::before { top:-3px; }
.dashboard-history.drop-after::after { bottom:-3px; }
.dashboard-context-menu { width:156px; padding:6px; border-color:#e7e5f5; box-shadow:0 12px 28px rgba(39,34,83,.14); }
.dashboard-context-menu button { display:flex; align-items:center; gap:9px; padding:10px; font-weight:700; }
.dashboard-context-menu button span { width:17px; color:#7168ec; font-size:15px; text-align:center; }
.dashboard-context-menu button:hover { background:#f3f1ff; }
.dashboard-context-menu .is-danger span { color:#d84545; }
.dashboard-rename-icon { display:grid; place-items:center; width:36px; height:36px; border-radius:11px; background:#eeecff; color:#6259ee; font-size:19px; }
.dashboard-rename-modal label { display:block; margin:22px 0 8px; color:#555360; font-size:12px; font-weight:800; }
.dashboard-rename-modal input { box-sizing:border-box; width:100%; height:45px; padding:0 12px; border:1px solid #dedce9; border-radius:10px; color:#34323e; font:inherit; font-size:14px; }
.dashboard-rename-modal input:focus { outline:2px solid #aaa4f5; border-color:transparent; }
.dashboard-rename-modal [data-rename-error] { margin-top:8px; color:#cf424d; font-size:12px; }
.dashboard-rename-save { min-height:40px; padding:0 16px; border:0; border-radius:10px; background:#6259ee; color:#fff; font:inherit; font-size:12px; font-weight:800; }
.dashboard-rename-save:disabled { opacity:.55; }
.dashboard-record-loading { display:grid; place-items:center; min-height:100vh; padding:64px 24px; background:#fff; color:#777681; text-align:center; }
.dashboard-record-loading p { margin:0; font-size:14px; }
.dashboard-empty { display:flex; min-height:100vh; align-items:center; justify-content:center; padding:76px 32px; background:#f8f8fa; text-align:center; }
.dashboard-empty__content { width:min(580px,100%); }
.dashboard-empty h1 { margin:16px 0 22px; color:#27262d; font-size:clamp(40px,4vw,58px); letter-spacing:-.07em; line-height:1.22; word-break:keep-all; }
.dashboard-empty__intro { margin:0; color:#777681; font-size:15px; line-height:1.8; word-break:keep-all; }
.dashboard-empty .dashboard-primary { margin-top:29px; }
@media (max-width:760px) { .dashboard-empty { padding:100px 24px 56px; } .dashboard-empty h1 { font-size:40px; } .dashboard-empty__intro { font-size:14px; } }

/* Preparation loading screen */
.analysis-loading-card { width:min(460px,100%); padding:28px 34px 26px; border-radius:24px; text-align:left; box-shadow:0 28px 85px rgba(23,22,46,.2); }
.analysis-loading-label { display:flex; align-items:center; gap:10px; color:#655cf2; font-size:13px; }
.analysis-loading-label span:first-child { display:grid; place-items:center; width:32px; height:32px; border-radius:11px; background:#f0efff; font-size:17px; }
.analysis-loading-label span:last-child { width:auto; height:auto; white-space:nowrap; font-weight:700; }
.analysis-loading-content { padding:25px 0 24px; text-align:center; }
.analysis-orbit { display:block; width:46px; height:46px; margin:0 auto 22px; border:3px solid #eeecff; border-top-color:#6b62f2; border-radius:50%; background:transparent; box-shadow:none; animation:analysis-spin 1s linear infinite; }
.analysis-orbit::before,.analysis-orbit::after,.analysis-orbit i { display:none; }
.analysis-loading-card h2 { margin:0 auto; font-size:23px; line-height:1.42; }
.analysis-loading-content p { margin:10px 0 0; color:#81818f; font-size:14px; }
.analysis-progress-box { padding:20px 22px 19px; border:1px solid #eeeef3; border-radius:17px; background:#fafafd; }
.analysis-loading-card .analysis-progress { margin:0; color:#51515f; font-size:13px; font-weight:700; }
#analysis-meter { display:block; width:100%; height:6px; margin-top:12px; overflow:hidden; border:0; border-radius:9px; appearance:none; background:#e8e7f0; }
#analysis-meter::-webkit-progress-bar { border-radius:9px; background:#e8e7f0; }
#analysis-meter::-webkit-progress-value { border-radius:9px; background:linear-gradient(90deg,#8d86ff,#655cf2); transition:width .6s; }
#analysis-meter::-moz-progress-bar { border-radius:9px; background:#655cf2; }
.analysis-steps { justify-content:space-between; gap:8px; margin-top:18px; counter-reset:analysis-step; }
.analysis-steps span,.analysis-steps span.is-active,.analysis-steps span.is-complete { display:flex; align-items:center; gap:6px; padding:0; border-radius:0; background:none; box-shadow:none; opacity:1; transform:none; animation:none; color:#aaa9b7; font-size:12px; white-space:nowrap; counter-increment:analysis-step; }
.analysis-steps span::before,.analysis-steps span.is-complete::before { content:counter(analysis-step); display:grid; place-items:center; width:19px; height:19px; border-radius:50%; background:#ededf3; color:#a7a6b5; font-size:10px; }
.analysis-steps span.is-active { color:#5f56e9; }.analysis-steps span.is-active::before { color:#fff; background:#6b62f2; }.analysis-steps span.is-complete { color:#6159d9; }.analysis-steps span.is-complete::before { content:'\2713'; color:#fff; background:#9c95f5; }
.analysis-loading-card .analysis-wait-note { margin:19px 0 0; text-align:center; color:#a4a3b1; font-size:12px; }
@media (max-width:520px) { .analysis-loading-card { padding:26px 24px; }.analysis-loading-content { padding:28px 0 26px; }.analysis-loading-card h2 { font-size:23px; }.analysis-progress-box { padding:18px 15px; }.analysis-steps span,.analysis-steps span.is-active,.analysis-steps span.is-complete { font-size:11px; } }
@media (prefers-reduced-motion:reduce) { .analysis-orbit { animation:none; } #analysis-meter::-webkit-progress-value { transition:none; } }

.dashboard-home { justify-content:center; padding:80px 48px 60px; }
.dashboard-home__hero { display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; padding:0; }
.dashboard-home__hero > p { max-width:560px; margin:0; color:#ececf1; font-size:16px; line-height:1.8; word-break:keep-all; }
@media (max-width:760px) { .dashboard-home { min-height:100vh; padding:90px 22px 32px; }.dashboard-home__hero { padding:0; }.dashboard-home__hero > p { font-size:14px; }.dashboard-home__features { grid-template-columns:1fr; gap:9px; margin-top:48px; }.dashboard-home__feature { min-height:0; padding:16px 18px; } }

.usage-summary { display:grid; gap:10px; margin-top:auto; padding:14px 10px; color:#777681; font-size:12px; }
.usage-summary > div { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.usage-summary strong { color:#5149d9; font-size:12px; white-space:nowrap; }
.usage-group { display:grid; gap:6px; padding:2px 0; }
.usage-group > span { color:#555361; font-weight:700; }
.usage-group > div:not(.usage-ticket) { display:flex; justify-content:space-between; gap:8px; }
.usage-group > small, .usage-ticket small { color:#85828f; font-size:11px; line-height:1.45; }
.usage-ticket { display:grid; gap:2px; }
.usage-ticket strong { white-space:normal; line-height:1.45; }
.usage-summary__error { line-height:1.5; }
.usage-summary button { justify-self:start; border:0; padding:0; background:none; color:#554dde; font:inherit; font-weight:700; cursor:pointer; }
.usage-summary + .dashboard-account { margin-top:0; }
.intake-actions { align-items:flex-end; }
.intake-action-primary { display:flex; flex-direction:column; align-items:flex-end; min-width:0; max-width:min(100%, 380px); margin-left:auto; }
.usage-notice { margin:0 0 9px; color:#64637b; font-size:12px; font-weight:600; line-height:1.5; letter-spacing:-.02em; text-align:right; word-break:keep-all; }
.usage-notice[hidden] { display:none; }
@media (max-width:700px) { .intake-action-primary { max-width:calc(100% - 80px); } .usage-notice { font-size:12px; } }
.dashboard-practice-action { display:flex; flex-direction:column; align-items:flex-end; max-width:100%; }
.dashboard-practice-usage { margin:8px 0 0; color:#64637b; font-size:12px; font-weight:600; line-height:1.5; letter-spacing:-.02em; text-align:right; word-break:keep-all; }
@media (max-width:700px) { .dashboard-practice-action { align-self:flex-end; } }
.dashboard-account { position:relative; }
.dashboard-account .dashboard-account-menu { position:absolute; z-index:12; bottom:calc(100% + 10px); left:-4px; display:block; width:calc(100% + 8px); padding:12px; border:1px solid #ededf0; border-radius:16px; background:#fff; box-shadow:0 12px 32px rgba(30,29,42,.14); }
.dashboard-account .dashboard-account-menu[hidden] { display:none; }
.dashboard-account-menu__email { margin:3px 6px 12px; overflow:hidden; color:#888792; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-account .dashboard-account-menu__identity { display:flex; align-items:center; gap:10px; padding:4px 6px 14px; color:#34333c; font-size:14px; }
.dashboard-account-menu__identity strong { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-account .dashboard-account-menu__group { display:block; padding:7px 0; border-top:1px solid #efeff2; }
.dashboard-account .dashboard-account-menu__group button { display:flex; align-items:center; gap:12px; width:100%; min-height:40px; padding:0 8px; border-radius:8px; color:#34333c; font:inherit; font-size:13px; text-align:left; cursor:pointer; }
.dashboard-account .dashboard-account-menu__group button:hover, .dashboard-account .dashboard-account-menu__group button:focus-visible { background:#f5f4fa; }
.dashboard-account-menu__group button span { width:20px; color:#66636f; font-size:18px; text-align:center; }
.dashboard-account-menu__group p { margin:0 8px; color:#b53b43; font-size:11px; }
.dashboard-account-menu .usage-summary { margin:0 8px 4px; padding:8px 10px; border-radius:8px; background:#f7f7fa; }
.dashboard-account-menu .usage-summary[hidden] { display:none; }
.dashboard-account-layer .settings-dialog { display:grid; grid-template-columns:205px minmax(0,1fr); width:min(900px,100%); min-height:min(620px,calc(100dvh - 40px)); max-height:calc(100dvh - 40px); padding:0; overflow:auto; border-radius:18px; }
.settings-nav { padding:30px 14px 24px 20px; border-right:1px solid #f0eff3; }
.settings-nav > p { margin:0 10px 12px; color:#9998a2; font-size:12px; font-weight:700; }
.settings-nav [role="tablist"] { display:grid; gap:3px; }
.settings-nav button { display:flex; align-items:center; gap:12px; width:100%; min-height:42px; padding:0 10px; border:0; border-radius:9px; background:transparent; color:#55545e; font:inherit; font-size:13px; text-align:left; cursor:pointer; }
.settings-nav button[aria-selected="true"] { background:#f2f1f7; color:#34323d; font-weight:700; }
.settings-nav button:hover { background:#f7f6fa; }
.settings-nav button span { width:19px; color:#777581; font-size:18px; text-align:center; }
.settings-nav__divider { height:1px; margin:10px 8px; background:#efeff2; }
.settings-content { min-width:0; padding:34px 48px 40px; }
.settings-content [hidden] { display:none; }
.settings-content h2 { margin:0; color:#292832; font-size:22px; }
.settings-profile-avatar { display:grid; place-items:center; width:96px; height:96px; margin:54px auto 48px; border-radius:50%; background:#e7e5ff; color:#554dde; font-size:35px; font-weight:700; }
.settings-field { margin-top:20px; }
.settings-field > span { color:#4e4c58; font-size:13px; font-weight:700; }
.settings-content .settings-field p { margin:9px 0 0; padding:16px; overflow-wrap:anywhere; border-radius:10px; background:#f5f5f7; color:#44434d; font-size:14px; }
.settings-content .settings-note, .settings-content .settings-description { margin:18px 0 0; color:#898791; font-size:13px; line-height:1.6; }
.settings-primary { min-height:42px; margin-top:24px; padding:0 18px; border:0; border-radius:10px; background:#6259ee; color:white; font:inherit; font-size:13px; font-weight:700; cursor:pointer; }
.settings-dialog .dashboard-account-close { z-index:1; background:transparent; }
@media (max-width:600px) { .dashboard-account-layer { padding:12px; } .dashboard-account-layer .settings-dialog { grid-template-columns:1fr; min-height:0; max-height:calc(100dvh - 24px); } .settings-nav { padding:22px 50px 12px 18px; border-right:0; border-bottom:1px solid #f0eff3; } .settings-nav [role="tablist"] { display:flex; flex-wrap:wrap; } .settings-nav button { width:auto; min-height:38px; } .settings-nav__divider { display:none; } .settings-content { padding:25px 24px 32px; } .settings-profile-avatar { margin:28px auto; } }
.dashboard-sidebar-toggle { width:38px; height:38px; border:0; border-radius:8px; background:transparent; color:#777781; box-shadow:none; }
.dashboard-sidebar-toggle:hover, .dashboard-sidebar-toggle:focus-visible { background:#f1f1f3; color:#34343c; }
.sidebar-open .dashboard-sidebar-toggle { left:234px; }
@media (max-width:760px) { .sidebar-open .dashboard-sidebar-toggle { left:min(calc(80vw - 56px), 234px); } }


.status-orb[hidden], .recording-wave[hidden] { display:none; }
.recording-wave { display:flex; flex:none; align-items:center; justify-content:center; gap:3px; width:53px; height:30px; }
.recording-wave i { display:block; width:4px; height:28px; border-radius:4px; background:#c4beff; transform:scaleY(.12); transition:transform 80ms linear; }
.dashboard-usage-summary { margin-top:auto; padding:14px 10px; border-top:1px solid #efeff2; }
.dashboard-usage-summary + .dashboard-account { border-top:0; padding-top:6px; }
.legal-draft-notice { margin:16px 0; padding:12px 14px; border-radius:9px; background:#f5f3ff; color:#5c55a4; font-size:12px; line-height:1.5; }
.legal-document { color:#464550; font-size:13px; line-height:1.75; overflow-wrap:anywhere; }
.legal-document p { margin:0 0 12px; white-space:pre-wrap; }
.legal-table-wrap { overflow-x:auto; margin:14px 0 20px; }
.legal-document table { width:100%; min-width:360px; border-collapse:collapse; font-size:12px; }
.legal-document td { border:1px solid #e4e3e9; padding:9px 10px; vertical-align:top; }
.legal-document tr:first-child { background:#f7f7fa; font-weight:700; }
@media (min-width:761px) {
  .dashboard-home { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr); min-height:100vh; padding:20px 48px; }
  .dashboard-home__hero { grid-area:1 / 1; justify-self:center; align-self:center; transform:translateY(-12px); }
}
