/* The browsing context is the phone. No review-page presentation leaks inside. */
html,body{width:100%;height:100%;min-height:0;margin:0;overflow:hidden;background:#fcfaf5;overscroll-behavior:none}
.review-layout{display:block;width:100%;height:100%;min-height:0;padding:0;margin:0}
.device-wrap{width:100%;height:100%;max-width:none;margin:0}
.device{width:100%;height:100%;min-height:0;border:0;border-radius:0;box-shadow:none}
.status-bar{display:flex;height:50px;padding:21px 27px 0 42px}
.status-signals{display:flex}.app-header{height:76px;min-height:76px;padding:16px}
.home-indicator{height:18px}.home-indicator:after{display:block}
.app-content{overscroll-behavior:contain;overflow-anchor:none;scroll-behavior:auto}
/* The source voice composition: one presence, four anchored controls. */
.app-content:has(.voice-view){overflow:hidden;padding:0 20px}
.voice-view{--voice-energy:.08;--voice-turn:0deg;--voice-drift:0deg;--voice-spread:.97;--voice-sway:0px;position:relative;height:100%;min-height:0;padding:0 0 42px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0}
.voice-mode,.voice-announcement{margin:0}
.voice-stage{position:relative;flex:1 1 auto;min-height:210px;width:100%;display:grid;place-items:center}
.voice-presence{position:relative;isolation:isolate;width:300px;height:300px;max-width:100%;padding:0;display:grid;place-items:center;border:0;background:none;border-radius:50%;cursor:pointer;-webkit-tap-highlight-color:transparent}
.voice-presence:focus-visible{outline:2px solid #537455;outline-offset:4px}
.voice-presence[aria-disabled="true"]{cursor:default}
.voice-orb{position:relative;display:grid;place-items:center;flex:none;width:200px;height:200px;margin:0;border-radius:50%;overflow:hidden;background:linear-gradient(158deg,#fde4cc 4%,#f7d966 48%,#cedfc5 96%);box-shadow:inset 0 0 35px 3px #fff3}
.voice-orb:before,.voice-orb:after{display:none;animation:none}
.voice-color{position:absolute;inset:-15%;border-radius:50%;filter:blur(16px);will-change:transform;pointer-events:none}
.voice-color-peach{background:radial-gradient(ellipse at 35% 16%,#ffc28dcc 2%,#f8d5b390 34%,transparent 65%);transform:rotate(calc(var(--voice-drift)*.7)) translateY(calc(var(--voice-energy)*-11px)) scale(calc(1 + var(--voice-energy)*.12))}
.voice-color-sage{background:radial-gradient(ellipse at 65% 84%,#9fc395e6 2%,#bed8adbb 35%,transparent 62%);transform:rotate(calc(var(--voice-drift)*-.8)) translate(var(--voice-sway),calc(var(--voice-energy)*-22px))}
.voice-color-gold{background:radial-gradient(ellipse at 67% 47%,#f6d743dd 2%,#f8da6899 35%,transparent 65%);transform:rotate(var(--voice-turn)) scale(calc(.96 + var(--voice-energy)*.1))}
.voice-orb .mascot{position:relative;z-index:2;width:160px;height:121px;background:none;overflow:hidden;mix-blend-mode:multiply;transform:translateZ(0)}
.voice-orb .mascot img{position:absolute;max-width:none;width:100%;height:131.82%;left:0;top:0;object-fit:fill}
/* The recovered organic paths occupy only ~215px of their 294px SVG viewBox.
   Render that viewBox generously so the colored waves can emerge beyond the orb. */
.voice-ribbon{position:absolute;width:340px;height:340px;background:center/contain no-repeat;pointer-events:none;will-change:transform,opacity;opacity:calc(.8 + var(--voice-energy)*.2)}
.voice-ribbon-one{background-image:url('assets/figma/2077-8564-imgGroup38.svg');transform:rotate(calc(var(--voice-turn)*.4 + var(--voice-drift))) scale(var(--voice-spread))}
.voice-ribbon-two{width:330px;height:330px;background-image:url('assets/figma/2077-8564-imgGroup38.svg');transform:rotate(calc(var(--voice-turn)*-.28 + var(--voice-drift)*-.6 + 74deg)) scale(calc(var(--voice-spread)*.98));opacity:calc(.55 + var(--voice-energy)*.35)}
.voice-ribbon-three{width:298px;height:298px;border-radius:43% 57% 48% 52% / 54% 44% 56% 46%;background:radial-gradient(ellipse at 32% 25%,#f3c37328,transparent 62%),radial-gradient(ellipse at 72% 78%,#7cae7d25,transparent 58%);transform:rotate(calc(var(--voice-turn)*.2 + var(--voice-drift)*-.5)) scale(calc(.76 + var(--voice-energy)*.18))}
.voice-transcript{position:relative;flex:none;text-align:center;width:100%;max-width:303px;height:88px;margin:0;padding:0;overflow:hidden}
.voice-transcript-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:400 21px/28px Geist,Inter,sans-serif;letter-spacing:-.4px;color:#173a25;margin:0;padding:0 2px;text-wrap:balance;transform-origin:center;will-change:transform,opacity}
.voice-transcript[data-speaker="you"] .voice-transcript-text{color:#657266;font-size:20px}
.voice-caption-departing{pointer-events:none}
.voice-spacer{flex:0 1 38px;min-height:16px;max-height:38px}
.voice-actions{display:flex;align-items:center;gap:28px;margin:0;flex:none}
.voice-actions .circle-button{position:relative;width:52px;height:52px;flex:none;background:#ffffffc9;transition:background 170ms ease,border-color 170ms ease,box-shadow 170ms ease;border:1px solid #d2d2d2;box-shadow:0 2px 3px #0929120a}
.voice-actions .circle-button:hover{background:#fff}.voice-actions .circle-button:active{transform:scale(.96)}
.voice-actions .voice-mic{background:#ffffffdf}
.voice-mic-slash{position:absolute;z-index:2;left:50%;top:50%;width:26px;height:2px;background:white;border-radius:3px;transform:translate(-50%,-50%) rotate(45deg) scaleX(0);pointer-events:none;transition:transform 170ms ease;box-shadow:0 -1px 0 #c33737}
.voice-view[data-muted="true"] .voice-mic-slash{transform:translate(-50%,-50%) rotate(45deg) scaleX(1)}
.voice-view[data-muted="true"] .voice-mic{background:#c33737;border-color:#b42c2c;box-shadow:0 2px 8px #9132321f}
.voice-view[data-muted="true"] .voice-mic .figma-icon{filter:brightness(0) invert(1)}
.voice-view[data-muted="true"][data-phase="listening"] .voice-presence{filter:saturate(.6)}
.voice-view[data-reduced="true"] .voice-transcript-text{font-size:17px;line-height:23px;letter-spacing:-.2px}
.voice-view[data-reading="true"] .voice-transcript{height:136px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c3cfbf transparent}
.voice-view[data-reading="true"] .voice-transcript-text{position:relative;min-height:100%;display:block;padding:10px 8px;font-size:17px;line-height:24px;letter-spacing:-.2px;text-wrap:pretty}
.voice-view[data-reading="true"] .voice-caption-departing{position:absolute}
.voice-view[data-reading="true"] .voice-transcript:focus-visible{outline:2px solid #537455;outline-offset:2px;border-radius:8px}
.voice-view[data-reduced="true"] .voice-color,.voice-view[data-reduced="true"] .voice-ribbon,.voice-view[data-motion-paused="true"] .voice-color,.voice-view[data-motion-paused="true"] .voice-ribbon{will-change:auto}
button:focus-visible,a:focus-visible,textarea:focus-visible{outline:2px solid #003012;outline-offset:4px}
.gator-guide-pointer{position:fixed;z-index:100;width:30px;height:30px;left:0;top:0;border-radius:50%;border:1px solid #ffffffb0;background:#ffffff57;box-shadow:0 0 0 1px #1d382b20,0 3px 12px #0c291729;backdrop-filter:blur(2px);pointer-events:none;opacity:0;transform:translate(-100px,-100px);transform-origin:center;will-change:transform,opacity}
.gator-guide-pointer:after{content:"";position:absolute;inset:10px;border-radius:50%;background:#193d2857}
@media(max-height:700px){.voice-view{padding-bottom:26px}.voice-stage{min-height:180px}.voice-presence{width:270px;height:270px}.voice-transcript{height:80px}.voice-transcript-text{font-size:19px;line-height:26px}.voice-transcript[data-speaker="you"] .voice-transcript-text{font-size:18px}.voice-spacer{flex-basis:24px}.voice-actions{gap:24px}}
@media(max-height:600px){.voice-view{padding-bottom:14px}.voice-stage{min-height:150px}.voice-presence{width:230px;height:230px}.voice-orb{width:176px;height:176px}.voice-ribbon{width:295px;height:295px}.voice-ribbon-two{width:286px;height:286px}.voice-ribbon-three{width:250px;height:250px}.voice-orb .mascot{width:145px;height:110px}.voice-transcript{height:74px}.voice-transcript-text{font-size:17px;line-height:23px}.voice-spacer{flex-basis:14px;min-height:8px}.voice-actions .circle-button{width:48px;height:48px}}
@media(max-width:340px){.status-bar{padding-left:30px;padding-right:20px}.status-signals{gap:5px}.island{width:108px;height:32.4px;top:12px}.voice-actions{gap:22px}.voice-presence{max-width:280px}.voice-transcript-text{font-size:19px;line-height:25px}}
@media(max-height:480px){html[data-view="voice"] .status-bar{display:none}html[data-view="voice"] .app-header{height:60px;min-height:60px;padding:8px 16px}.voice-view{padding-bottom:8px}.voice-stage{min-height:100px}.voice-presence{width:170px;height:170px}.voice-orb{width:140px;height:140px}.voice-orb .mascot{width:110px;height:83px}.voice-ribbon{width:238px;height:238px}.voice-ribbon-two{width:230px;height:230px}.voice-ribbon-three{width:195px;height:195px}.voice-transcript{height:64px}.voice-transcript-text,.voice-transcript[data-speaker="you"] .voice-transcript-text,.voice-view[data-reduced="true"] .voice-transcript-text{font-size:15px;line-height:20px}.voice-spacer{flex-basis:8px;min-height:8px}.voice-actions .circle-button{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.gator-guide-pointer{display:none}.voice-color,.voice-ribbon{transform:none!important}.voice-orb{transform:none!important}.voice-actions .circle-button:active{transform:none}}
