.voice-tutor{margin:clamp(28px,5vw,64px) auto;max-width:1120px;border:1px solid #b7cbd6;border-radius:24px;background:linear-gradient(135deg,#0d3047 0%,#123f54 58%,#0c6f6b 140%);color:#f7fbfc;box-shadow:0 18px 44px rgba(8,39,57,.16);overflow:hidden}.voice-tutor__inner{padding:clamp(22px,4vw,42px);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:28px;align-items:start}.voice-tutor__eyebrow{display:inline-flex;align-items:center;gap:8px;color:#f0c56b;font:700 12px/1.2 system-ui,sans-serif;letter-spacing:.13em;text-transform:uppercase}.voice-tutor__eyebrow:before{content:"";width:9px;height:9px;border-radius:50%;background:#efb44c;box-shadow:0 0 0 4px rgba(239,180,76,.18)}.voice-tutor h2{margin:9px 0 9px;color:#fff;font-size:clamp(24px,3.5vw,38px);line-height:1.08;letter-spacing:-.03em}.voice-tutor__intro{margin:0;max-width:64ch;color:#d6e9ed;font-size:16px;line-height:1.6}.voice-tutor__scope{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0}.voice-tutor__scope span{display:inline-flex;align-items:center;min-height:30px;padding:4px 10px;border:1px solid rgba(216,239,241,.28);border-radius:999px;color:#e4f4f4;font:600 12px/1.2 system-ui,sans-serif}.voice-tutor__boundary{margin:18px 0 0;padding:12px 14px;border-left:3px solid #efb44c;background:rgba(5,27,42,.28);color:#d9ecef;font-size:13px;line-height:1.5}.voice-tutor__panel{min-width:0;padding:18px;border:1px solid rgba(218,239,241,.2);border-radius:18px;background:rgba(3,22,34,.28)}.voice-tutor__status-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.voice-tutor__status{display:flex;align-items:center;gap:8px;color:#d9ecef;font:600 13px/1.3 system-ui,sans-serif}.voice-tutor__status:before{content:"";width:9px;height:9px;border-radius:50%;background:#9bb4bd}.voice-tutor[data-state="connected"] .voice-tutor__status:before{background:#67e0b0;box-shadow:0 0 0 4px rgba(103,224,176,.13)}.voice-tutor[data-state="connecting"] .voice-tutor__status:before{background:#efb44c;box-shadow:0 0 0 4px rgba(239,180,76,.13)}.voice-tutor[data-state="error"] .voice-tutor__status:before{background:#f58c80}.voice-tutor__transcript{height:190px;overflow:auto;padding:12px;border-radius:12px;background:#071d2d;color:#d9ecef;font-size:14px;line-height:1.5}.voice-tutor__transcript:empty:before{content:"Your local session transcript will appear here.";color:#8eb0bb}.voice-tutor__line{margin:0 0 11px}.voice-tutor__line:last-child{margin-bottom:0}.voice-tutor__line strong{display:block;margin-bottom:2px;color:#f0c56b;font:700 11px/1.2 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}.voice-tutor__controls{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.voice-tutor button{min-height:42px;padding:9px 14px;border:1px solid rgba(216,239,241,.35);border-radius:10px;background:#143f54;color:#f7fbfc;font:700 14px/1.2 system-ui,sans-serif;cursor:pointer}.voice-tutor button:hover:not(:disabled){background:#1c566d;border-color:#e4f4f4}.voice-tutor button:focus-visible{outline:3px solid #efb44c;outline-offset:2px}.voice-tutor button:disabled{opacity:.48;cursor:not-allowed}.voice-tutor .voice-tutor__start{border-color:#efb44c;background:#efb44c;color:#102f43}.voice-tutor .voice-tutor__start:hover:not(:disabled){background:#ffd27a}.voice-tutor__hint{margin:12px 0 0;color:#a9c6cd;font-size:12px;line-height:1.45}.voice-tutor audio{display:none}@media(max-width:760px){.voice-tutor__inner{grid-template-columns:1fr}.voice-tutor__transcript{height:150px}}@media(prefers-reduced-motion:reduce){.voice-tutor *{scroll-behavior:auto!important;transition:none!important}}
.voice-tutor__examples{display:grid;gap:7px;margin:18px 0 0;padding:14px;border:1px solid rgba(216,239,241,.18);border-radius:10px;background:rgba(5,27,42,.2);color:#d9ecef;font-size:13px}.voice-tutor__examples strong{color:#f0c56b;text-transform:uppercase;font-size:11px;letter-spacing:.08em}.voice-tutor__examples span:before{content:'→ ';color:#67e0b0}.voice-tutor__sources{display:grid;gap:6px;margin:10px 0 12px;padding:10px;border:1px solid rgba(103,224,176,.3);border-radius:9px;background:#0b2938}.voice-tutor__sources>strong{color:#f0c56b;font:700 11px/1.2 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}.voice-tutor__sources a{color:#aeeed7;text-decoration-thickness:1px;text-underline-offset:3px}.voice-tutor[data-state="searching"] .voice-tutor__status:before{background:#efb44c;box-shadow:0 0 0 4px rgba(239,180,76,.13)}
.voice-tutor button{min-height:44px}
.voice-tutor__inner{grid-template-areas:"heading panel" "help panel";row-gap:18px}
.voice-tutor__heading{grid-area:heading;min-width:0}
.voice-tutor__panel{grid-area:panel;display:flex;flex-direction:column}
.voice-tutor__help{grid-area:help;min-width:0;color:#d9ecef;font-size:14px;line-height:1.5}
.voice-tutor summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:#aeeed7;font-weight:650}
.voice-tutor summary:before{content:"+ ";white-space:pre}
.voice-tutor details[open]>summary:before{content:"− "}
.voice-tutor summary:focus-visible,.voice-tutor__transcript:focus-visible{outline:3px solid #efb44c;outline-offset:2px}
.voice-tutor__mic{margin:0 0 10px;color:#d9ecef;font-size:13px}
.voice-tutor__controls{margin:0 0 14px}
.voice-tutor__sources details a{display:flex;align-items:center;min-height:44px}
.voice-tutor__audio-recovery{border:1px solid #efb44c;border-radius:8px;padding:10px;margin-bottom:12px;color:#fff2cf;font-size:13px}
.voice-tutor__audio-recovery p{margin:0 0 8px}
.voice-tutor [hidden]{display:none!important}
@media(max-width:760px){.voice-tutor__inner{grid-template-areas:"heading" "panel" "help"}.voice-tutor__scope{margin-top:10px}}
@media(max-width:520px){
  .voice-tutor{margin:20px auto;border-radius:14px}
  .voice-tutor__inner{padding:16px 20px;gap:12px}
  .voice-tutor h2{font-size:26px;line-height:1.08}
  .voice-tutor__intro{font-size:15px;line-height:1.55}
  .voice-tutor__scope{margin-top:10px}
  .voice-tutor__examples{padding:12px;font-size:12px;line-height:1.5}
  .voice-tutor__boundary{margin-top:14px;padding:11px 12px}
  .voice-tutor__panel{padding:14px}
  .voice-tutor__transcript{height:180px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .voice-tutor__controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .voice-tutor__controls .voice-tutor__start{grid-column:1/-1}
  .voice-tutor button{width:100%;min-width:0;min-height:48px;padding:10px 8px}
  .voice-tutor__sources a{display:flex;align-items:center;min-height:44px;overflow-wrap:anywhere}
}

/* Show me: the returned page slides in and zooms to its recorded focus crop. */
.voice-showme{margin:12px 0;border:1px solid rgba(240,197,107,.45);border-radius:12px;background:#07202c;overflow:hidden;animation:voice-showme-in .45s cubic-bezier(.2,.7,.2,1)}
.voice-showme[hidden]{display:none}
.voice-showme__bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 8px 8px 14px;color:#f0c56b;font:700 11px/1.3 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.voice-showme__bar button{min-width:44px;min-height:44px;border:0;background:transparent;color:#e8f3ee;font-size:24px;cursor:pointer}
.voice-showme__stage{position:relative;overflow:hidden;background:#fff;aspect-ratio:1105/1430;max-width:560px;margin:0 auto}
.voice-showme__page{position:absolute;inset:0;transition:transform .95s cubic-bezier(.2,.7,.2,1);will-change:transform}
.voice-showme__page img{display:block;width:100%;height:100%;object-fit:contain}
.voice-showme__ring{position:absolute;width:86px;height:86px;margin:-43px 0 0 -43px;border:3px solid #f0a020;border-radius:50%;box-shadow:0 0 0 4px rgba(240,160,32,.25);opacity:0;pointer-events:none}
.voice-showme__ring.is-on{animation:voice-showme-ring 1.6s ease-out .95s 2 both}
.voice-showme__label{margin:0;padding:12px 14px;color:#e8f3ee;font:15px/1.5 system-ui,sans-serif}
.voice-showme__label b{display:block;color:#f0c56b;font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px}
.voice-showme__label small{display:block;margin-top:6px;color:#9fc3b8;font-size:12px}
.voice-showme__mark{position:absolute;margin:-.25% 0 0 -.25%;padding:.25%;border-radius:3px;pointer-events:none;box-sizing:content-box;mix-blend-mode:multiply;animation:voice-showme-mark .6s ease-out 1s both}
.voice-showme__mark--answer{background:rgba(255,184,28,.55);box-shadow:0 0 0 2px #d98a00}
.voice-showme__mark--question{background:rgba(64,196,170,.32)}
.voice-showme__mark--spoken{background:rgba(96,150,255,.4);box-shadow:0 0 0 2px #3a6fd8}
.voice-showme__key{display:inline-block;margin:2px 8px 2px 0;padding:1px 8px;border-radius:999px;font-size:13px;color:#10212a}
.voice-showme__key--answer{background:#ffc94d}
.voice-showme__key--question{background:#7fdcc8}
.voice-showme__key--spoken{background:#9dbcff}
.voice-showme__said{margin:0;padding:0 14px 12px;color:#e8f3ee;font:15px/1.5 system-ui,sans-serif}
.voice-showme__said[hidden]{display:none}
.voice-showme__said b{display:block;color:#f0c56b;font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px}
.voice-showme__said small{display:block;margin-top:6px;color:#ffd6a0;font-size:13px}
.voice-page-dialog__sheet{position:relative;width:100%;background:#fff}
.voice-page-dialog__sheet img{display:block;width:100%;height:auto}
.voice-showme__actions{display:flex;flex-wrap:wrap;gap:8px;padding:0 14px 14px}
.voice-showme__actions:empty{display:none}
.voice-showme__actions button{min-height:44px;padding:8px 14px;border-radius:8px;border:1px solid rgba(174,238,215,.4);background:#0e3445;color:#e8f3ee;font:600 14px system-ui,sans-serif;cursor:pointer}
.voice-showme__actions button[aria-pressed=true]{background:#f0c56b;color:#10212a;border-color:#f0c56b}
.voice-tutor__find{margin:12px 0 4px}
.voice-tutor__find label{display:block;margin-bottom:6px;color:#cfe7df;font:600 13px/1.4 system-ui,sans-serif}
.voice-tutor__find-row{display:flex;gap:8px}
.voice-tutor__find input{flex:1;min-width:0;min-height:48px;padding:10px 12px;border-radius:8px;border:1px solid rgba(174,238,215,.4);background:#0b2938;color:#fff;font:16px system-ui,sans-serif}
.voice-tutor__find button{min-height:48px;padding:0 18px;border-radius:8px;border:0;background:#f0c56b;color:#10212a;font:700 15px system-ui,sans-serif;cursor:pointer}
.voice-tutor__find p{margin:6px 0 0;color:#9fc3b8;font:12px/1.45 system-ui,sans-serif}
@keyframes voice-showme-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes voice-showme-mark{from{opacity:0;transform:scale(1.6)}to{opacity:1;transform:none}}
@keyframes voice-showme-ring{0%{opacity:0;transform:scale(1.6)}30%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.25)}}
@media (prefers-reduced-motion:reduce){.voice-showme,.voice-showme__page,.voice-showme__mark{animation:none;transition:none}.voice-showme__ring.is-on{animation:none;opacity:1}}

.voice-tutor__question{margin:14px 0;min-width:0}.voice-tutor__question label{display:block;color:#d9ecef;font-size:13px;margin-bottom:7px}.voice-tutor__question>div{display:flex;gap:8px;flex-wrap:wrap}.voice-tutor__question input{flex:1 1 160px;min-width:0;min-height:44px;box-sizing:border-box;padding:9px 11px;border:1px solid #83a6b5;border-radius:10px;background:#fff;color:#102d40;font:16px system-ui,sans-serif}.voice-tutor__question input:disabled{opacity:.6}.voice-tutor__question button{min-height:44px}.voice-tutor__question input:focus-visible{outline:3px solid #efb44c;outline-offset:2px}

/* Give the conversation and its evidence the width of the workspace. */
.voice-tutor__inner{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "panel" "help";gap:20px}
.voice-tutor__scope{margin-top:12px}
.voice-tutor__modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px;max-width:440px}
.voice-tutor__modes [aria-selected=true]{background:#dcefe7;color:#14353f;border-color:#dcefe7}
.voice-tutor__guide{margin:0;color:#d9ecef;font:14px/1.6 system-ui,sans-serif}
.voice-tutor__find-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.voice-tutor__find input{box-sizing:border-box;width:100%}
.voice-tutor__find-row button{width:auto}
.voice-tutor__workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
.voice-tutor__workspace:has(.voice-showme:not([hidden])){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.voice-tutor__transcript{height:clamp(240px,45vh,520px);font-size:16px;line-height:1.65}
.voice-showme{margin:0;min-width:0}
.voice-showme__stage{max-width:none}
.voice-showme__actions a{display:inline-flex;align-items:center;min-height:44px;color:#aeeed7;font:600 14px/1.4 system-ui,sans-serif}
.voice-page-dialog{width:min(1100px,96vw);max-width:96vw;max-height:92vh;padding:0;border:1px solid #466f70;border-radius:12px;background:#edf2ef;color:#14353f}
.voice-page-dialog::backdrop{background:#071d2dd9}
.voice-page-dialog__bar{position:sticky;top:0;z-index:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#14353f;color:#fff;font:600 14px/1.5 system-ui,sans-serif}
.voice-page-dialog__bar>div{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.voice-page-dialog__bar button,.voice-page-dialog__bar a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px 12px;border:1px solid #83a6b5;border-radius:6px;background:#203e48;color:#fff;font:600 14px/1.3 system-ui,sans-serif;cursor:pointer}
.voice-page-dialog__bar button:focus-visible,.voice-page-dialog__bar a:focus-visible{outline:3px solid #efb44c;outline-offset:2px}
.voice-page-dialog__body{overflow:auto;padding:16px}
.voice-page-dialog__body img{display:block;width:100%;max-width:none;height:auto;background:#fff}
@media(max-width:900px){.voice-tutor__workspace:has(.voice-showme:not([hidden])){grid-template-columns:minmax(0,1fr)}.voice-tutor__transcript{height:300px}}
@media(max-width:520px){.voice-tutor__find-row{grid-template-columns:minmax(0,1fr)}.voice-tutor__find-row button{width:100%}.voice-tutor__question>div{display:grid;grid-template-columns:minmax(0,1fr)}.voice-tutor__question input{width:100%}.voice-tutor__transcript{height:240px}.voice-tutor__panel{padding:12px}.voice-tutor__modes{gap:6px}.voice-tutor__modes button{font-size:13px}.voice-page-dialog__bar{padding:10px}.voice-page-dialog__body{padding:8px}}
/* Opt-in search feedback: only under a weak or empty answer. */
.voice-tutor__feedback{margin:10px 0 4px;padding:10px 12px;border:1px dashed rgba(159,195,184,.55);border-radius:8px}
.voice-tutor__feedback button{min-height:44px;padding:8px 14px;border:1px solid #9fc3b8;border-radius:8px;background:transparent;color:#e7f2ee;font:600 14px/1.3 system-ui,sans-serif;cursor:pointer}
.voice-tutor__feedback button:disabled{opacity:.6;cursor:default}
.voice-tutor__feedback p{margin:6px 0 0;color:#9fc3b8;font:12px/1.45 system-ui,sans-serif}
