@import "https://fonts.googleapis.com/css2?family=Manrope:wght@600;700&display=swap";:root{color:#282634;font-synthesis:none;background:#fff;font-family:Manrope,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:280px;min-height:100%}body{background:radial-gradient(circle at 50% 20%,#f5f2ff 0,#0000 48%),#fff;min-height:100svh;margin:0;overflow:hidden}main{width:min(100%,860px);min-height:100svh;padding:max(32px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));flex-direction:column;justify-content:center;align-items:center;gap:clamp(32px,7svh,64px);margin:auto;display:flex}.visualizer{justify-items:center;gap:24px;width:100%;display:grid}.shape-grid{background:linear-gradient(145deg,#fff,#faf9fd);border:1px solid #e4e1ed;border-radius:30px;grid-template-columns:repeat(auto-fit,minmax(82px,1fr));grid-auto-rows:minmax(126px,auto);place-items:center;gap:clamp(18px,4vw,34px);width:100%;min-height:clamp(220px,42svh,390px);padding:clamp(22px,5vw,42px);display:grid;overflow-y:auto;box-shadow:inset 0 1px #fff,0 12px 36px #342c5010}.shape-item{align-content:center;justify-items:center;gap:5px;width:100%;min-width:0;display:grid}.empty-state{color:#706c7b;text-align:center;grid-column:1/-1;align-self:center;margin:0;font-size:clamp(15px,3.5vw,18px)}.shape{aspect-ratio:1;filter:drop-shadow(0 10px 12px #29243824);width:clamp(68px,14vw,112px);transition:filter .35s,transform .35s;animation:.28s ease-out shape-appear;overflow:visible}.shape-caption{color:#625e6d;text-align:center;overflow-wrap:anywhere;gap:2px;width:100%;font-size:clamp(10px,1.45vw,12px);font-weight:600;line-height:1.25;display:grid}.shape-caption strong{color:#39334d;font-weight:700}.shape-surface>*{stroke:#5c5968;stroke-width:4px;stroke-linejoin:round;transition:fill .35s,stroke .35s}.shape.colored .shape-surface>*{stroke:color-mix(in srgb, var(--shape-color-srgb) 58%, #282634)}@supports (color:oklch(50% 0 0)){.shape.colored .shape-surface>*{fill:var(--shape-color-oklch);stroke:color-mix(in oklch, var(--shape-color-oklch), #282634 38%)}}.phoneme{letter-spacing:-.025em;text-align:center;overflow-wrap:anywhere;color:#39334d;text-shadow:0 4px 16px #6f51d922;max-width:100%;min-height:1.4em;font-size:clamp(22px,5vw,34px);font-weight:700;line-height:1.2}.unsupported-phoneme{color:#706c7b;text-align:center;margin:-18px 0 0;font-size:12px}@keyframes shape-appear{0%{opacity:0;transform:scale(.72)}}button{aspect-ratio:1;color:#f8f6ff;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#6f51d9;border:1px solid #6044c8;border-radius:50%;place-content:center;gap:12px;width:clamp(128px,38vw,176px);font:700 clamp(15px,4vw,18px) Manrope,sans-serif;transition:transform .18s,background .18s;display:grid;box-shadow:0 12px 30px #4f3b9a38,0 0 0 18px #a48aff12}button span{background:#fff;border-radius:50%;width:22px;height:22px;margin:auto}button.recording{background:#c74d62}button.recording span{border-radius:4px}button:active:not(:disabled){transform:scale(.96)}button:disabled{opacity:.55;cursor:wait}.recognizer{color:#625e6d;text-align:center;background:#f8f7fb;border:1px solid #e6e2ef;border-radius:999px;margin:-20px 0 0;padding:7px 12px;font-size:12px}.error{left:max(18px, env(safe-area-inset-left));right:max(18px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));color:#762b35;text-align:center;background:#fff0f1;border:1px solid #f0c4c9;border-radius:12px;max-width:560px;margin:auto;padding:13px 16px;font-size:13px;position:fixed}.home-page{gap:0}.home-content{text-align:center;background:linear-gradient(145deg,#fff,#faf9fd);border:1px solid #e4e1ed;border-radius:30px;justify-items:center;gap:18px;width:min(100%,520px);padding:clamp(28px,8vw,64px);display:grid;box-shadow:0 18px 52px #342c5012}.eyebrow{color:#6f51d9;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.home-content h1,.streaming-header h1{color:#39334d;letter-spacing:-.04em;margin:0;font-size:clamp(26px,6vw,38px)}.home-description{color:#706c7b;margin:0 0 10px;font-size:15px;line-height:1.5}.menu-button,.back-button,.mode-button{aspect-ratio:auto;width:auto;min-height:46px;box-shadow:none;border-radius:999px;justify-content:center;align-items:center;padding:0 22px;font:700 14px Manrope,sans-serif;display:inline-flex}.menu-button{min-height:52px;padding-inline:26px}.streaming-page{gap:clamp(18px,4svh,32px)}.streaming-header{justify-content:center;align-items:center;width:100%;min-height:46px;display:flex;position:relative}.streaming-header h1{font-size:clamp(21px,5vw,28px)}.back-button{color:#51476f;background:#f2effa;border-color:#e3def1;padding-inline:16px;position:absolute;left:0}.recording-controls{justify-items:center;gap:18px;display:grid}.record-button{touch-action:none;-webkit-user-select:none;user-select:none;width:clamp(128px,34vw,164px)}.mode-button{color:#51476f;background:#f2effa;border-color:#e3def1;min-height:42px}.mode-button.mode-enabled{color:#fff;background:#51418e;border-color:#51418e}.back-button:disabled,.mode-button:disabled{opacity:.55;cursor:wait}@media (height<=540px) and (orientation:landscape){main{flex-direction:row;gap:5vw;width:min(100%,980px)}.visualizer{min-width:0}.shape-grid{grid-template-columns:repeat(auto-fit,minmax(64px,1fr));grid-auto-rows:minmax(126px,auto);min-height:55vh;padding:18px}.shape{width:min(18vh,88px)}button{flex:none;width:min(34vh,150px)}.home-page{flex-direction:column}.streaming-page{flex-direction:column;gap:12px}.streaming-page .record-button{width:min(30vh,126px)}.streaming-page .mode-button{width:auto;min-height:38px}}@media (prefers-reduced-motion:reduce){button,.shape{transition:none;animation:none}}
