@import"https://fonts.googleapis.com/css2?family=Merriweather:wght@400;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap";:root{--font-heading: "Merriweather", serif;--font-body: "Inter", sans-serif;--bg-color: #A2D1EE;--card-bg: #FEFBEE;--text-color: #2A7A9F;--heading-color: #1A467E;--muted-text: #1A467E;--card-border: #e5e7eb;--shadow: 0 4px 12px rgba(0,0,0,.08);--btn-bg: #1266d3;--btn-bg-hover: #0f57b6;--btn-text: #ffffff;--record-bg: #d92d20;--record-bg-hover: #1A467E;--record-dot: #ff1a1a;--focus-outline: 3px solid #ffaa00;--topbar-h: 0px;--topbar-pad: 20px;--topbar-divider: 2px;--topbar-total: calc(var(--topbar-h) + var(--topbar-divider));--bottom-gap: 20px;--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box}html,body,#root{height:100%;overflow-x:hidden}body{margin:0;background:var(--bg-color);color:var(--text-color);font-family:var(--font-heading),Georgia,serif;font-size:20px;line-height:1.6;background-size:256px 256px;background-repeat:repeat;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='128' height='128'>  <filter id='g'>    <feTurbulence type='fractalNoise' baseFrequency='0.18' numOctaves='2' stitchTiles='stitch'/>    <feColorMatrix type='matrix' values='0 0 0 0 0.64  0 0 0 0 0.82  0 0 0 0 0.93  0 0 0 0.18 0'/>  </filter>  <rect width='100%' height='100%' filter='url(%23g)'/></svg>")}html,body{height:100%;overflow:hidden}#root,.app{height:100vh}@supports (height: 100dvh){#root,.app{height:100dvh}}@supports (height: 100svh){#root,.app{height:100svh}}.app{display:flex;flex-direction:column;padding:0 1.5rem;overflow:hidden}.main{position:fixed;top:var(--topbar-total);left:0;right:0;bottom:calc(var(--bottom-gap) + var(--safe-bottom));display:grid;grid-template-rows:minmax(0,1fr) auto;gap:clamp(6px,1.5vh,12px);padding:0 1.5rem;overflow:hidden}.topbar{position:fixed;top:0;left:0;right:0;height:var(--topbar-h);z-index:50}.topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:8px;height:var(--topbar-h);padding:0 var(--topbar-pad);width:100%}.topbar__title{margin:0;color:var(--heading-color);font-family:var(--font-heading);font-weight:800;font-size:20px;line-height:1.2}.progress{height:8px;background:#ffffffbf;border-radius:999px;overflow:hidden;outline:1px solid rgba(0,0,0,.06)}.progress__bar{--pct: 0;height:100%;width:calc(var(--pct) * 1%);background:linear-gradient(90deg,var(--color-primary, #6366f1),#60a5fa);transition:width .25s ease}.question-section{display:grid;grid-template-rows:auto 1fr;justify-items:center;align-items:stretch;height:100%;min-height:0}.question-bar{width:min(100%,720px);margin:0 auto .9rem;display:grid;grid-template-columns:4fr 1fr;align-items:center;gap:.75rem 1rem;padding-top:.5rem;justify-items:start}.qb-left{width:100%;display:grid;grid-template-rows:auto auto;gap:.3rem}.topic-label{margin:0;font-family:var(--font-body, "Inter", sans-serif);font-size:1.25rem;font-weight:700;color:var(--muted-text, #1A467E);letter-spacing:.01em}.help-big{width:40px;height:40px;min-width:0;padding:0;border:none;border-radius:14px;display:grid;place-items:center;font-family:var(--font-body, "Inter", sans-serif);font-size:28px;font-weight:800;line-height:1;background:var(--card-bg, #fff);color:var(--heading-color, #1A467E);box-shadow:0 4px 12px #0000001a;cursor:pointer;transition:transform .06s ease;justify-self:end}.help-big:active{transform:translateY(1px) scale(.99)}.help-big:focus{outline:none}.help-big:focus-visible{box-shadow:0 0 0 3px #1a467e40}.prompt-card{grid-row:2;justify-self:center;align-self:stretch;display:block;width:min(100%,720px);margin:0 auto;padding:1rem;background:var(--card-bg, #fff);border:1px solid var(--card-border, #e5e7eb);border-radius:12px;box-shadow:var(--shadow, 0 6px 18px rgba(0,0,0,.06));color:var(--text-color, #111827);font-size:20px;line-height:1.6;min-height:0;overflow:auto;position:relative;transition:color .16s ease}body.waiting .prompt-card{color:transparent}.prompt-card:after{content:"";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:url(/typing1_small.gif) center center no-repeat;background-size:80% auto;opacity:0;transition:opacity 2s ease;pointer-events:none;-webkit-clip-path:circle(35% at 50% 50%);clip-path:circle(35% at 50% 50%)}body.waiting .prompt-card:after{opacity:.5}@media (prefers-reduced-motion: reduce){.prompt-card{transition:none}.prompt-card:after{transition:none}}.question-section.flash .prompt-card{animation:promptFlash .28s ease-out}@keyframes promptFlash{0%{background-color:var(--card-bg, #fff)}40%{background-color:var(--flash-bg, #f0f9ff)}to{background-color:var(--card-bg, #fff)}}@media (prefers-reduced-motion: reduce){.question-section.flash .prompt-card{animation:none}}.controls{grid-row:3;margin-top:auto;padding-bottom:0;display:flex;flex-direction:column;align-items:center;gap:.5rem}.record-hint{display:block;min-height:22px;margin:0;text-align:center;color:var(--muted-text);font-size:16px;line-height:1.2;visibility:hidden;opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s}.controls.is-recording .record-hint{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}.btn-row{display:flex;gap:1rem;justify-content:center}button.btn{min-width:150px;font-size:20px;padding:.75rem 1.25rem;background:var(--btn-bg);color:var(--card-bg);border:none;border-radius:10px;cursor:pointer;box-shadow:0 2px 6px #00000014}button.btn:hover{background:var(--btn-bg-hover)}button.btn:focus{outline:var(--focus-outline);outline-offset:2px}.btn.btn-record{font-family:var(--font-body, "Inter", sans-serif);background:var(--record-bg);font-size:20px;padding:1.5rem 1.25rem;min-width:260px;color:var(--card-bg)}.btn-record:hover{background:var(--record-bg-hover)}.record-dot{display:inline-block;width:18px;height:18px;border-radius:50%;background:var(--record-dot);margin-right:.75rem;vertical-align:-2px}.stop-square{width:18px;height:18px;background:var(--record-dot);border-radius:3px;margin-right:.75rem;vertical-align:-2px}.btn-record.is-active .record-dot{background:#eee}@media (prefers-reduced-motion: no-preference){.btn-record.is-active .record-dot{animation:pulse 1s ease-in-out infinite}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.help-sheet{font-family:Merriweather,serif;color:var(--text-color, #111827);position:fixed;left:50%;top:60px;bottom:0;width:min(100%,720px);margin:0;z-index:1000;transform:translate(-50%,calc(100% + env(safe-area-inset-bottom,0px)));transition:transform .22s ease-out;will-change:transform;z-index:60;background:var(--card-bg, #fff);box-shadow:0 -10px 30px #00000029;border-top-left-radius:16px;border-top-right-radius:16px;overflow-y:auto;padding:1rem 1rem calc(1.25rem + env(safe-area-inset-bottom,0px))}.help-sheet h3{font-family:var(--font-body, "Inter", sans-serif);font-weight:700;color:var(--heading-color, #1A467E);margin-top:1rem;margin-bottom:.5rem;letter-spacing:.02em}.help-sheet.active{transform:translate(-50%)}.help-sheet:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:40px;height:4px;border-radius:999px;background:#e5e7eb}.help-close{position:absolute;top:10px;right:10px;border-radius:999px;width:36px;height:36px;display:grid;place-items:center;background:#f3f4f6;color:#111827;font-weight:700;box-shadow:0 2px 8px #00000014}.help-close:active{transform:scale(.98)}.help-sheet h3{margin:1.25rem 0 .5rem;font-size:20px}.help-sheet p{margin:.25rem 0;line-height:1.45}@media (max-width: 640px){.help-sheet{padding-bottom:env(safe-area-inset-bottom,16px)}}.signin{position:relative;min-height:100vh;background:url(/prelogin-portrait.jpg) center / cover no-repeat;padding-top:25px}.signin>*{position:relative;z-index:1}.signin-content{position:absolute;left:0;right:0;top:62vh;transform:translateY(-50%);display:flex;justify-content:center}.signin .signin-btn{font-size:1.75rem;padding:3rem;border-radius:14px;line-height:1.2}
