@import"https://fonts.googleapis.com/css2?family=Merriweather:wght@400;700&display=swap";:root{--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;--app-pad-top: 2rem;--topbar-h: 56px;--topbar-pad: 20px;--topic-gap: 20px;--topbar-divider: 2px;--topbar-total: calc(var(--topbar-h) + var(--topbar-divider));--bottom-pad: 20px;--safe-bottom: env(safe-area-inset-bottom, 0px);--bottom-gap: 20px}*{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:Merriweather,Georgia,serif;font-size:20px;line-height:1.6;background-size:256px 256px;background-repeat:repeat;background-color:var(--bg-color);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>")}.app{display:flex;flex-direction:column;padding:0 1.5rem;overflow:hidden}@supports not (height: 1svh){.app{min-height:100vh}}.main{position:fixed;top:var(--topbar-total);left:0;right:0;bottom:calc(var(--bottom-gap) + var(--safe-bottom));display:grid;grid-template-rows:auto 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;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;text-align:initial}.topbar:after{content:"";position:absolute;left:50%;transform:translate(-50%);bottom:0;width:min(95vw,720px);height:var(--topbar-divider);background:var(--text-color)}.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:Merriweather,Georgia,serif;font-weight:800;font-size:30px;line-height:1.2}.topbar__right{display:flex;align-items:center;gap:10px}.topbar__avatar{width:40px;height:40px;border-radius:9999px;object-fit:cover;display:block;border:0;box-shadow:none}@supports (padding: max(0px)){.topbar__inner{padding-left:max(env(safe-area-inset-left),var(--topbar-pad));padding-right:max(env(safe-area-inset-right),var(--topbar-pad))}}.question-section{grid-row:2;min-height:0;display:contents;grid-template-rows:1fr;background-color:#000}.question-section.flash .prompt-card{animation:flashBlue 1s ease-out;animation-fill-mode:both}@keyframes flashBlue{0%{background-color:var(--card-bg)}50%{background-color:var(--heading-color)}to{background-color:var(--card-bg)}}.question-section>.prompt-card{height:100%;min-height:0;max-height:100%;overflow:auto}.topic-label{grid-row:1;margin-top:.5rem;margin-bottom:.25rem;font-size:var(--fs-sub);font-weight:600;color:var(--muted-text);text-align:center}.prompt-card{grid-row:2;justify-self:center;align-self:stretch;width:min(100%,720px);min-width:0;min-height:0;max-height:100%;overflow:auto;background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:1rem;font-size:20px;line-height:1.65;color:var(--text-color);box-shadow:var(--shadow);margin-block:clamp(4px,1vh,.5rem)}@supports not (height: 1svh){.prompt-card{height:clamp(220px,40vh,520px)}}.header h1{margin:.5rem 0 .25rem;color:var(--heading-color);font-size:24px;font-weight:800;letter-spacing:.2px}.subtitle{margin:0;color:var(--muted-text);font-size:20px}.record-hint{display:block;min-height:22px;margin:0;text-align:center;color:var(--muted-text);font-size:18px;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{grid-row:3;margin-top:auto;padding-bottom:0;display:flex;flex-direction:column;align-items:center;gap:.5rem}.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{background:var(--record-bg);font-size:24px;padding:1.5rem 1.25rem;min-width:260px;font-family:Merriweather,Georgia,serif;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}.controls.is-recording .record-hint{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto;transition:opacity .16s ease,transform .16s ease,visibility 0s}@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)}}.btn-record.attention{animation:flashEvery10s 5s infinite}@keyframes flashEvery10s{0%,90%{box-shadow:none}94%{box-shadow:0 0 #1266d300}97%{box-shadow:0 0 18px 8px #1266d3e6}to{box-shadow:0 0 #1266d300}}@media (prefers-reduced-motion: reduce){.btn-record.attention{animation:none}}.signin{position:relative;min-height:100vh;background:url(/prelogin-portrait.jpg) center center / cover no-repeat;padding-top:25px}.signin>*{position:relative;z-index:1}.signin .topbar{position:relative;top:5px;background:transparent;color:var(--heading-color)}.signin .topbar__title{margin:0}.signin{position:relative;min-height:100vh;background-size:cover;background-position:center;background-repeat:no-repeat;transition:background-image 1s ease-in-out}.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}html,body{height:100%;overflow:hidden}#root,.app{height:100vh}@supports (height: 100dvh){#root,.app{height:100dvh}}@supports (height: 100svh){#root,.app{height:100svh}}
