:root {
  color-scheme: light;
  --ink: #2b2132; --muted: #594f59; --line: #cdc3b5; --paper: #f4efe7;
  --plum: #49264b; --brass: #ebbc72; --green: #23575a;
  font: 16px/1.5 "Segoe UI", system-ui, sans-serif;
}
* { box-sizing: border-box } [hidden] { display:none!important }
body { margin:0; background:var(--paper); color:var(--ink) }
header { padding:14px max(5vw,22px); display:flex; gap:24px; align-items:center; justify-content:space-between; background:#34243a; color:#fff8ec; border-bottom:4px solid var(--brass) }
.brand { display:flex; align-items:center; gap:12px; color:inherit; text-decoration:none; font-weight:700; font-size:19px }
.brand b { background:var(--brass); color:#392937; border-radius:8px; padding:0 9px; font:700 30px/1.2 Georgia,serif }
.header-note,.small,small { font-size:.84rem } .small,small { color:var(--muted) }
main,footer { width:min(1380px,92%); margin:26px auto 48px }
footer { border-top:1px solid var(--line); display:flex; justify-content:space-between; padding:15px 0; color:var(--muted); font-size:.8rem }
h1,h2,h3,h4 { line-height:1.18; margin:0 0 .6em }
h1,h2 { font-family:Georgia,"Times New Roman",serif; font-weight:500 }
h1 { font-size:clamp(2rem,4vw,3rem); margin:.2em 0 .55em }
h2 { font-size:1.6rem } h3 { font-size:1.12rem; margin-top:1em }
.eyebrow { text-transform:uppercase; letter-spacing:.12em; font-size:.74rem; font-weight:750; color:var(--green) }
.panel,.starter { background:#fffcf7; padding:clamp(16px,2vw,30px); border:1px solid var(--line); border-radius:12px; box-shadow:0 3px 9px #3722370d; min-width:0 }
.starter { margin-top:18px; background:#f1e5d1 } .starter h3 { margin-top:0 }
.narrow,#admin-login { max-width:760px } #admin-login { margin-bottom:20px }
a { color:#55305c; text-underline-offset:3px }
nav,.row,.toolbar,.tabs { display:flex; flex-wrap:wrap; gap:10px; align-items:center }
.spread { justify-content:space-between }
#workspace-nav { border-bottom:1px solid var(--line); padding:0 0 14px; margin-bottom:28px }
#workspace-nav a { padding:7px 12px; color:var(--ink); font-weight:600; text-decoration:none; border-bottom:3px solid transparent }
#workspace-nav a[aria-current],#workspace-nav a:hover { border-bottom-color:var(--plum); color:var(--plum); background:#ebe1d4 }
#signout { margin-left:auto }
button,.button { display:inline-flex; align-items:center; justify-content:center; border:1px solid #706170; border-radius:6px; padding:7px 14px; min-height:36px; font-size:.9rem;line-height:1.35; font-family:inherit; font-weight:650; color:var(--ink); text-decoration:none; cursor:pointer; box-shadow:inset 0 1px #ffffffb3,0 2px #827280; background:linear-gradient(#fffdf9,#e9ded2) }
.primary,[aria-pressed="true"].secondary { background:linear-gradient(#68416a,#442548); border-color:#392338; color:white; box-shadow:inset 0 1px #976c98,0 2px #302033 }
.danger { color:#812d28; border-color:#904941; background:linear-gradient(#fffafa,#f4ded5) }
button:hover:not(:disabled),.button:hover { filter:brightness(.95) }
button:active:not(:disabled),.button:active { transform:translateY(1px); box-shadow:inset 0 1px 3px #0004 }
button:disabled { color:#655f62; background:#e8e3df; border-color:#afa6a4; box-shadow:none; cursor:not-allowed }
:focus-visible { outline:3px solid #11757a; outline-offset:3px }
label { display:block; margin:12px 0 5px; font-size:.88rem; font-weight:650 }
input:not([type=checkbox]),textarea,select { display:block; width:100%; margin:4px 0 10px; padding:9px 11px; border:1px solid #867885; border-radius:5px; background:#fff; color:var(--ink); font:inherit; font-size:.93rem; box-shadow:inset 0 1px 3px #35243817 }
textarea { resize:vertical; min-height:65px } input[readonly] { background:#f4f0ea }
table { width:100%; border-collapse:collapse; font-size:.93rem; margin-top:12px }
th,td { text-align:left; padding:9px 8px; border-bottom:1px solid #d9d0c4; vertical-align:top; overflow-wrap:anywhere }
th,.facts dt { font-size:.74rem; font-weight:700; color:var(--muted); letter-spacing:.03em }
th { background:#f1ebe2 } td small { display:block }
.toolbar { margin-bottom:16px } .tabs { margin-bottom:12px }
.editor-section { display:inline-flex; position:relative; margin-top:6px }
.section-help-button { position:absolute; top:-6px; right:-5px; width:16px; height:16px; min-height:16px; padding:0; border-radius:50%; font-size:.65rem; line-height:1; color:var(--plum); background:#fffcf7; box-shadow:none }
.section-help-dialog { width:min(560px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow:auto; padding:clamp(20px,4vw,32px); border:1px solid var(--line); border-radius:12px; background:#fffcf7; color:var(--ink); box-shadow:0 16px 60px #20152840 }
.section-help-dialog::backdrop { background:#24182c80 }
.section-help-dialog h2 { padding-right:12px }
.section-help-dialog ul { padding-left:22px }
.section-help-dialog li + li { margin-top:10px }
.section-help-example { padding:12px 16px; border-left:3px solid var(--brass); background:var(--paper) }
.section-help-dialog > button { margin-top:8px }
.pair,.review-grid,.master-detail,.facts { display:grid; gap:16px; align-items:start }
.pair { grid-template-columns:1fr 1fr } .review-grid { grid-template-columns:minmax(280px, .85fr) minmax(0,1.35fr) }
.master-detail { grid-template-columns:minmax(190px,.7fr) minmax(0,1.6fr); margin-bottom:12px }
.master-list { display:grid; gap:3px; max-height:62vh; overflow-y:auto; padding:4px }
.master-list button,.record-link { text-align:left; justify-content:flex-start; font-size:.87rem; box-shadow:none; border:1px solid transparent; border-radius:4px; background:transparent; padding:6px 8px; min-height:32px }
.master-list button.secondary[aria-pressed=true],.record-link[aria-pressed=true] { color:#39253e; border-left:4px solid #633763; background:#ecdfeb; box-shadow:none }
.master-list button:hover,.record-link:hover { text-decoration:underline }
.record-link { color:var(--plum); padding:4px; font-weight:700 }
.editor-field { margin:0 0 10px } .editor-item { min-inline-size:0; margin:0; padding:12px; border:1px solid var(--line); border-radius:6px }
.editor-item legend { padding:0 5px; font-weight:700 } .editor-item .master-detail { grid-template-columns:1fr } .editor-item .master-list { max-height:160px }
details { margin:12px 0 } summary { cursor:pointer; color:var(--plum); font-weight:650 } .editor-item>div>details>summary { margin-bottom:12px }
.notice,#editor-error:not(:empty) { background:#fff0d0; color:#553b11; padding:12px 16px; border-left:4px solid #91630e; margin-bottom:16px }
.facts { grid-template-columns:repeat(auto-fit,minmax(105px,1fr)); padding:15px 0; border-block:1px solid var(--line) }
.facts dd { margin:3px 0; font-size:.93rem } .actions { margin:12px 0 }
.badge { display:inline-block; background:#e0edeb; color:#164d50; border:1px solid #91ada8; border-radius:5px; padding:2px 6px; font:600 .75rem/1.4 "Segoe UI",sans-serif }
.answer { border-top:1px solid var(--line); padding:10px 0; margin:0 }
.answer summary strong { font-size:.93rem } .answer .badge { margin-left:7px }
.field-answer { font-size:.9rem } #invite-result { margin-top:24px; border-top:1px solid var(--line); padding-top:16px }
.interview-heading{max-width:700px}.interview-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.interview-grid aside{display:flex;flex-direction:column;gap:20px}.conversation{text-align:center}.conversation label,.conversation input{text-align:left}.voice-orb{width:170px;height:170px;margin:35px auto 28px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 35% 30%,#c9dfce,#7dad91 55%,#3f786a);box-shadow:0 0 0 14px #edf3eb,0 0 0 28px #f5f7f0}.orb-core{font-size:44px;color:white;font-weight:300}.voice-orb.active{animation:breathe 2.8s ease-in-out infinite}.voice-orb.speaking{box-shadow:0 0 0 17px #cde2ce,0 0 0 30px #e5efe1}audio{width:100%;height:35px;margin:10px 0 20px}.checkbox{display:flex;gap:10px;text-align:left;font-weight:400;line-height:1.6;align-items:flex-start;margin:18px 0}.checkbox input{margin-top:4px;accent-color:var(--green)}#start-voice{width:100%;margin-top:12px}#voice-controls{justify-content:center;margin-top:20px}.transcript{height:400px;overflow-y:auto;font-size:14px;line-height:1.6}.caption{padding:10px 0;border-bottom:1px solid #e9ece6;white-space:pre-wrap}.caption strong{display:block;color:var(--green);font-size:11px;letter-spacing:.8px;text-transform:uppercase;margin-bottom:4px}
@keyframes breathe { 50% { transform:scale(1.04) } }
.debrief { margin-block: 1rem; padding-block: .75rem; border-block: 1px solid currentColor; }
.debrief form { display: grid; gap: .5rem; }
.debrief button { justify-self: start; }
.debrief [role="log"] { overflow-wrap: anywhere; }
@media(max-width:800px) { .review-grid,.interview-grid,.master-detail {grid-template-columns:1fr} .master-list {max-height:210px} .header-note {display:none} #signout {margin-left:0} main {width:94%} .transcript {height:300px} }
@media(prefers-reduced-motion:reduce) { .voice-orb.active { animation:none } }
