@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700;800&display=swap";:root{--bg: #f4efe8;--surface: #fff9f2;--primary: #0e3b5f;--primary-strong: #082a45;--secondary: #1e7b7f;--danger: #a53a2b;--text: #1f1c18;--muted: #5b5247;--ring: #f0b35b;--welcome-top-offset: clamp(12px, 3.2vh, 62px);--header-actions-gap: clamp(16px, 3.6vh, 86px);--privacy-bottom-offset: 0px;--keyboard-inset: 0px;--circle-action-size: 33vmin ;--title-main-size: clamp(1.45rem, 4.2vw, 3.4rem);--title-accent-size: clamp(1.9rem, 5.8vw, 4.6rem);--title-detail-size: clamp(1rem, 3vw, 2.2rem);--action-label-size: clamp(1rem, calc(var(--circle-action-size) * .11), 2.4rem);--action-icon-size: clamp(62px, calc(var(--circle-action-size) * .42), 176px);--content-text-size: clamp(1.25rem, 3.9vw, 4.2rem)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;width:100%;overflow:hidden;overscroll-behavior:none;-webkit-overflow-scrolling:auto;touch-action:manipulation;-webkit-text-size-adjust:100%;font-family:DM Sans,Segoe UI,sans-serif;color:var(--text);background:radial-gradient(circle at center,#fff,#fff 34%,#ecf0ff)}.kiosk-shell{height:100%;min-height:100%;display:flex;flex-direction:column;padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom));position:relative;overflow:hidden}.admin-trigger{position:absolute;top:4px;right:4px;width:26px;height:26px;border-radius:999px;border:0;background:transparent;min-height:0;padding:0}.kiosk-header{text-align:center}.kiosk-header h1{margin:4px 0;font-size:clamp(1.8rem,3.8vw,3rem);letter-spacing:.04em}.kiosk-header p{margin:0;color:var(--muted);font-size:.95rem}.kiosk-main{display:flex;align-items:stretch;justify-content:stretch;flex:1;min-height:0;width:100%;padding:2px 0;overflow:hidden}.card{width:min(900px,94vw);background:linear-gradient(140deg,var(--surface),#fff);border:1px solid #e8dccf;border-radius:20px;padding:20px;box-shadow:0 10px 28px #1618181f;animation:rise-in .26s ease-out}.saved{text-align:center}.welcome-screen{position:relative;width:100%;height:100%;min-height:100%;overflow:hidden;text-align:center;display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:stretch;gap:0;padding:0}.welcome-content{grid-row:1;width:100%;height:100%;margin:0 auto;display:grid;grid-template-rows:auto minmax(0,1fr);flex:1;min-height:0;gap:var(--header-actions-gap);padding-top:var(--welcome-top-offset);padding-bottom:clamp(72px,11vh,130px);align-content:start}.welcome-title{grid-row:1;margin:0;line-height:1.15}.welcome-title-line{display:block}.welcome-title-main{font-size:var(--title-main-size)}.welcome-title-accent{font-size:var(--title-accent-size)}.welcome-title-detail{margin-top:.35em;font-size:var(--title-detail-size);line-height:1.28;font-weight:500}.choice-row{display:flex;justify-content:center;gap:22px;flex-wrap:wrap}.interaction-strip{grid-row:2;display:grid;width:100%;min-height:0;height:100%;margin-top:clamp(16px,3.2vh,52px);padding-inline:clamp(28px,5vw,86px);align-content:stretch;align-items:stretch;gap:clamp(12px,2.6vw,32px);grid-template-columns:1fr 0fr 1fr;transition:gap .36s ease,grid-template-columns .42s cubic-bezier(.22,.61,.36,1)}.interaction-strip.collapsed{justify-content:center;align-items:start;gap:clamp(14px,3.8vmin,54px);grid-template-columns:1fr 0fr 1fr}.interaction-strip.expanded{gap:clamp(12px,2.8vw,36px);grid-template-columns:1fr 1.2fr 1fr}.circle-action{width:var(--circle-action-size)!important;height:var(--circle-action-size)!important;min-width:var(--circle-action-size);min-height:var(--circle-action-size);aspect-ratio:1 / 1;border-radius:999px;display:grid;justify-items:center;align-content:center;gap:clamp(4px,calc(var(--circle-action-size) * .03),10px);padding:clamp(10px,calc(var(--circle-action-size) * .07),22px) clamp(10px,calc(var(--circle-action-size) * .08),24px) clamp(16px,calc(var(--circle-action-size) * .11),34px);border:0;background:#f1f1f1;color:var(--primary);font-size:clamp(1.35rem,2.6vw,2rem);box-shadow:0 8px #00000024;touch-action:manipulation;will-change:transform;transition:transform .42s cubic-bezier(.22,.61,.36,1),opacity .26s ease,box-shadow .26s ease}.circle-action:active:not(:disabled){box-shadow:0 8px #00000024}.interaction-strip.collapsed .circle-action,.interaction-strip.expanded .circle-action{width:var(--circle-action-size)}.interaction-strip.collapsed .action-dictate{grid-column:1;justify-self:end;transform:translate(0)}.interaction-strip.collapsed .action-write{grid-column:3;justify-self:start;transform:translate(0)}.interaction-strip.expanded .action-dictate{grid-column:1;justify-self:end;transform:translate(0)}.interaction-strip.expanded .input-area{grid-column:2;align-self:stretch}.interaction-strip.expanded .action-write{grid-column:3;justify-self:start;transform:translate(0)}.interaction-strip.expanded .action-dictate,.interaction-strip.expanded .action-write{transition:none}.action-label{font-family:DM Sans,Segoe UI,sans-serif;font-size:var(--action-label-size);font-weight:800;line-height:1.12;transform:translateY(clamp(-3px,calc(var(--circle-action-size) * -.02),-10px))}.interaction-choice-row{justify-content:center}.mode-dictate .action-dictate{opacity:1;box-shadow:0 10px #0003}.mode-dictate .action-write{opacity:.58}.mode-write .action-write{opacity:1;box-shadow:0 10px #0003}.mode-write .action-dictate{opacity:.58}.input-area{width:100%;min-width:0;align-self:stretch;margin:0 auto;background:transparent;border:0;border-radius:20px;padding:10px;box-shadow:none;transition:opacity .26s ease,transform .26s ease}.input-area.hidden{opacity:0;transform:translateY(8px);pointer-events:none;max-height:0;overflow:hidden;padding-top:0;padding-bottom:0;border-width:0;box-shadow:none}.input-area.visible{opacity:1;transform:translateY(0);max-height:none;height:100%}.input-area.mode-dictate{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:14px;justify-items:center;align-content:stretch;padding-bottom:clamp(84px,12vh,140px)}.input-area.mode-dictate.visible{height:100%;max-height:none}.input-area.mode-write{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:16px;justify-items:center;align-content:stretch;padding-bottom:clamp(84px,12vh,140px)}.saved-inline{margin:0;color:var(--primary);font-weight:700}.dictation-stage-box{width:min(860px,92%);height:100%;min-height:clamp(220px,28vh,320px);padding:clamp(10px,1.6vw,16px);display:flex;align-items:flex-start;justify-content:flex-start}.input-area.mode-dictate .submit-row{align-self:end;margin-top:0}.dictation-transcript{width:100%;height:100%;border-radius:0;border:0;background:transparent;color:#141414;padding:0;font-family:DM Sans,Segoe UI,sans-serif;font-size:var(--content-text-size);font-weight:400;line-height:1.18;text-align:left;overflow-y:auto}.dictation-transcript.is-placeholder{color:#8a8f99}.write-input-wrap{position:relative;width:min(860px,92%);height:100%;align-self:stretch}.input-area.mode-write textarea{width:100%;height:100%;min-height:clamp(220px,28vh,320px);border:0;border-radius:24px;background:transparent;box-shadow:none;color:#141414;padding:clamp(10px,1.6vw,16px);font-family:DM Sans,Segoe UI,sans-serif;font-size:var(--content-text-size);font-weight:400;line-height:1.18;resize:none;caret-color:#111}.input-area.mode-write textarea::placeholder{color:#6f7685}.input-area.mode-write textarea:focus{outline:none}.write-ghost{position:absolute;top:0;left:0;right:0;min-height:clamp(220px,28vh,320px);padding:clamp(10px,1.6vw,16px);font-family:DM Sans,Segoe UI,sans-serif;font-size:var(--content-text-size);font-weight:400;line-height:1.18;color:#8a8f99;pointer-events:none;text-align:left}.submit-row{width:100%;justify-content:center;margin-top:4px}.floating-submit-row{position:fixed;left:50%;transform:translate(-50%);bottom:calc(min(var(--keyboard-inset),62vh) + max(10px,env(safe-area-inset-bottom)));width:min(480px,94vw);margin-top:0;z-index:20}.floating-submit-row.dictate-submit-row{width:min(760px,94vw)}.floating-submit-row .submit-btn{width:100%}.dictate-submit-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:12px}.dictate-submit-row .retry-btn{min-height:78px;background:#f08a24;color:#fff;box-shadow:0 4px #8f470b47}.dictate-submit-row .retry-btn:active{background:#d97310;box-shadow:0 1px #8f470b38}.submit-btn{width:min(480px,96%);min-height:78px;border-radius:22px;font-family:DM Sans,Segoe UI,sans-serif;font-size:clamp(1.5rem,2.5vw,2.1rem);font-weight:700}.row-center{width:100%;justify-content:center}.thank-you-message{width:100%;min-height:clamp(220px,30vh,340px);margin:0;display:grid;place-items:center;text-align:center;color:#111;font-family:DM Sans,Segoe UI,sans-serif;font-size:clamp(2.2rem,5.2vw,4rem);font-weight:500;line-height:1.16;animation:thank-you-in .42s cubic-bezier(.22,.61,.36,1)}.welcome-screen.completion-exit .circle-action,.welcome-screen.completion-exit .submit-row,.welcome-screen.saved-view .circle-action{opacity:0;pointer-events:none}.welcome-screen.completion-exit .circle-action{opacity:0;transform:translateY(-6px) scale(.96);pointer-events:none}.welcome-screen .circle-action,.welcome-screen .submit-row{transition:opacity .28s ease}.welcome-screen .circle-action{transition:opacity .28s ease,transform .32s cubic-bezier(.22,.61,.36,1)}.welcome-screen.buttons-reveal .circle-action{animation:action-in .42s cubic-bezier(.22,.61,.36,1) both}.welcome-screen.buttons-reveal .action-write{animation-delay:60ms}.icon{font-size:clamp(2.2rem,4.2vw,3.4rem)}.mic-svg{width:var(--action-icon-size);height:var(--action-icon-size)}.mic-fill{fill:var(--primary)}.mic-stroke{stroke:#2b8e87;stroke-width:4;stroke-linecap:round;fill:none}.mic-mouth{stroke:var(--primary);stroke-width:3;stroke-linecap:round;fill:none}.mic-voice{stroke:#2b8e87;stroke-width:2.5;stroke-linecap:round;fill:none}.mic-icon{display:inline-flex;align-items:center;justify-content:center;color:#000}.dictate-wave{stroke:#8c8c8c;opacity:0;stroke-dasharray:1;stroke-dashoffset:1;animation:dictate-wave-appear 1.5s ease-out infinite}.dictate-wave-1{animation-delay:0s}.dictate-wave-2{animation-delay:.18s}.dictate-wave-3{animation-delay:.36s}.type-icon{display:inline-flex;align-items:center;justify-content:center;color:#000}.keyboard-svg{width:var(--action-icon-size);height:auto}.kbd-body{fill:#f4f4f4;stroke:#000;stroke-width:3}.kbd-key,.kbd-space{fill:#9a9a9a;opacity:.42}.kbd-space{opacity:.5}.kbd-key{animation:key-blink 2.2s ease-out infinite}.key-1{animation-delay:0s}.key-2{animation-delay:.2s}.key-3{animation-delay:.4s}.key-4{animation-delay:.6s}.key-5{animation-delay:.8s}.key-6{animation-delay:1s}.key-7{animation-delay:1.2s}.key-8{animation-delay:1.4s}.key-9{animation-delay:1.6s}.key-10{animation-delay:1.8s}.key-11{animation-delay:2s}.blink-cursor{display:inline-block;margin-left:0;animation:cursor-blink 1s steps(2,start) infinite}.privacy-note{position:fixed;left:0;right:0;bottom:calc(max(var(--privacy-bottom-offset),env(safe-area-inset-bottom)) + clamp(58px,8vh,96px));margin:0 auto;color:var(--muted);font-size:clamp(1.15rem,1.65vw,1.4rem);line-height:1.45;width:100%;text-align:center;padding:0 6px;z-index:1}.inline-error{margin:0;text-align:center;color:#8f1f1f;font-weight:700}.lead{color:var(--muted);font-size:1.1rem}.field{display:grid;gap:8px;margin:14px 0;font-weight:600}select,textarea,input{width:100%;border:2px solid #d7c5b1;border-radius:12px;padding:12px;font-size:1.05rem;background:#fff}textarea{min-height:220px}select:focus,textarea:focus,input:focus{outline:3px solid var(--ring);outline-offset:2px}button:focus,button:focus-visible{outline:none}button{border:none;border-radius:14px;padding:12px 18px;font-size:1.05rem;font-weight:700;min-height:52px;touch-action:manipulation;transition:transform .12s ease-out,box-shadow .12s ease-out,background .12s ease-out}button:disabled{opacity:.6}button:active:not(:disabled):not(.circle-action){transform:translateY(2px)}button.circle-action:active:not(:disabled){box-shadow:0 8px #00000024}.primary{background:var(--primary);color:#fff;box-shadow:0 4px #082a4547}.primary:active{background:var(--primary-strong);box-shadow:0 1px #082a4538}.secondary{background:#d8ece5;color:#103b39;box-shadow:0 4px #103b3929}.secondary:active{box-shadow:0 1px #103b391f}.danger{background:#f6d4cf;color:var(--danger);box-shadow:0 4px #a53a2b29}.danger:active{box-shadow:0 1px #a53a2b1f}.row{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}.submit-row.dictate-submit-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;flex-wrap:nowrap}.transcript-preview{min-height:90px;border:1px dashed #cdb7a0;border-radius:12px;padding:12px;background:#fff}.error{color:#8f1f1f;font-weight:700}.kiosk-footer{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:.9rem;color:var(--muted)}.admin-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1014147a;display:grid;place-items:center}.admin-card{width:min(540px,92vw);background:#fff;border-radius:14px;padding:16px}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes mic-pulse{0%{transform:scale(1);opacity:.9}50%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:.9}}@keyframes dictate-wave-appear{0%{opacity:0;stroke-dashoffset:1}18%{opacity:0;stroke-dashoffset:1}52%{opacity:.95;stroke-dashoffset:0}72%{opacity:.45;stroke-dashoffset:0}to{opacity:0;stroke-dashoffset:0}}@keyframes cursor-blink{0%{opacity:1}50%{opacity:0}to{opacity:1}}@keyframes key-blink{0%{opacity:.28;transform:translateY(0)}86%{opacity:.28;transform:translateY(0)}90%{opacity:.95;transform:translateY(1.6px)}96%{opacity:.34;transform:translateY(0)}to{opacity:.28;transform:translateY(0)}}@keyframes thank-you-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes action-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 760px){:root{--welcome-top-offset: clamp(8px, 2vh, 20px);--header-actions-gap: clamp(12px, 2.4vh, 28px);--title-main-size: clamp(1.4rem, 6.2vw, 2rem);--title-accent-size: clamp(1.8rem, 8.4vw, 2.6rem);--title-detail-size: clamp(1rem, 4.2vw, 1.35rem);--action-label-size: clamp(.9rem, calc(var(--circle-action-size) * .105), 1.35rem);--action-icon-size: clamp(54px, calc(var(--circle-action-size) * .44), 112px);--content-text-size: clamp(1.1rem, 4.8vw, 1.7rem);--privacy-bottom-offset: 0px}.card{padding:16px;border-radius:14px}button:not(.circle-action){width:100%}.row{flex-direction:column}.submit-row.dictate-submit-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.submit-row.dictate-submit-row .submit-btn{width:100%}.interaction-choice-row{justify-content:center}.interaction-strip{grid-template-columns:1fr;gap:clamp(8px,1.6vh,14px);margin-top:clamp(4px,1vh,10px);padding-inline:0}.interaction-strip.collapsed{grid-template-columns:1fr}.interaction-strip.expanded{grid-template-columns:1fr;gap:16px}.interaction-strip.expanded .action-dictate,.interaction-strip.expanded .action-write{transform:translate(0)}.circle-action{width:var(--circle-action-size);height:var(--circle-action-size);margin:0 auto}.dictation-transcript,.input-area.mode-write textarea{width:min(96vw,860px)}.privacy-note{position:static;margin-top:10px;bottom:auto;padding:0 8px}.thank-you-message{min-height:clamp(190px,28vh,280px);font-size:clamp(1.8rem,7vw,2.8rem)}.submit-btn{min-height:72px;font-size:clamp(1.35rem,5.5vw,1.9rem)}}@media (orientation: portrait) and (min-width: 761px){:root{--header-actions-gap: clamp(14px, 3vh, 48px);--welcome-top-offset: clamp(6px, 1.8vh, 20px);--circle-action-size: calc(100vmin * .28);--title-main-size: clamp(1.3rem, 3.4vw, 2.4rem);--title-accent-size: clamp(1.7rem, 4.8vw, 3.2rem);--title-detail-size: clamp(.95rem, 2.2vw, 1.6rem)}.interaction-strip{padding-inline:clamp(14px,4vw,42px)}.interaction-strip.expanded{grid-template-columns:1fr 1fr 1fr}.interaction-strip{margin-top:clamp(30px,6vh,96px)}}@media (min-width: 992px){:root{--action-label-size: clamp(1.3rem, calc(var(--circle-action-size) * .12), 2.8rem);--action-icon-size: clamp(92px, calc(var(--circle-action-size) * .44), 196px)}}@media (orientation: landscape){.welcome-content{padding-bottom:clamp(14px,2.5vh,36px)}.interaction-strip{margin-top:clamp(8px,1.8vh,20px)}.dictation-transcript,.dictation-stage-box,.input-area.mode-write textarea,.write-ghost{min-height:clamp(110px,16vh,190px);font-size:clamp(1rem,2.2vw,2rem)}.submit-row{margin-top:0}.submit-btn{min-height:clamp(56px,8vh,76px)}.privacy-note{position:static;bottom:auto;margin-top:6px;font-size:clamp(.92rem,1.2vw,1.15rem);line-height:1.3;padding:0 8px}.kiosk-shell.keyboard-open .welcome-title,.kiosk-shell.keyboard-open .privacy-note{display:none}.kiosk-shell.keyboard-open .welcome-content{grid-template-rows:minmax(0,1fr);gap:0;padding-top:0;padding-bottom:0}.kiosk-shell.keyboard-open .interaction-strip{margin-top:0;align-content:start}.kiosk-shell.keyboard-open .input-area.mode-write{padding-bottom:calc(min(var(--keyboard-inset),62vh) + 100px)}}
