:root{color-scheme:light;font-family:Inter,ui-rounded,SF Pro Rounded,Segoe UI,system-ui,sans-serif;background:#07121f;color:#102026}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-height:100svh;min-height:100dvh;overflow-x:hidden;background:radial-gradient(circle at 15% 8%,rgb(45 212 191 / .68),transparent 34rem),radial-gradient(circle at 92% 14%,rgb(251 191 36 / .62),transparent 28rem),linear-gradient(140deg,#cffafe,#ecfeff 42%,#fdf4ff)}button{border:0;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{width:min(100%,980px);min-height:100svh;min-height:100dvh;margin:0 auto;padding:max(10px,env(safe-area-inset-top)) 14px max(18px,env(safe-area-inset-bottom))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.center{display:grid;place-items:center}.top-bar{display:flex;gap:16px;position:fixed;top:max(8px,env(safe-area-inset-top));right:12px;z-index:5;align-items:center;justify-content:flex-end;padding:0}.eyebrow{margin:0 0 8px;color:#0f766e;font-size:.78rem;font-weight:1000;letter-spacing:.14em;text-transform:uppercase}h1{margin:0;color:#0f172a;font-size:clamp(1.75rem,7vw,3rem);line-height:1;letter-spacing:-.04em}h2,p{margin-top:0}.hidden-capture{position:fixed;width:1px;height:1px;opacity:0;pointer-events:none;transform:translate(-200vw)}.capture-stage{display:grid;min-height:calc(100svh - max(10px,env(safe-area-inset-top)) - max(18px,env(safe-area-inset-bottom)) - 28px);min-height:calc(100dvh - max(10px,env(safe-area-inset-top)) - max(18px,env(safe-area-inset-bottom)) - 28px);place-items:center;padding:6px 0}.mega-button{display:grid;place-items:center;min-width:clamp(190px,64svmin,360px);min-height:clamp(190px,64svmin,360px);padding:24px;border-radius:999px;background:radial-gradient(circle at 34% 28%,#fff 0 8%,#22c55e 9% 20%,#15803d 58%,#14532d);color:#fff;box-shadow:0 32px 78px #15803d57,inset 0 -16px 40px #00000038;font-size:clamp(2rem,9vw,4.1rem);font-weight:1000;letter-spacing:-.06em;text-align:center;touch-action:manipulation;transition:transform .16s ease,filter .16s ease}.mega-button:active{transform:scale(.96)}.capture-button{animation:breathe 1.9s ease-in-out infinite}.camera-preview{display:block;width:min(100%,760px);height:calc(100svh - 190px - env(safe-area-inset-bottom));height:calc(100dvh - 190px - env(safe-area-inset-bottom));max-height:68svh;max-height:68dvh;margin:10px auto 0;border:10px solid #fff;border-radius:28px;object-fit:cover;background:#020617;box-shadow:0 30px 90px #0f172a59}.preview-wrap{display:grid;justify-items:center;gap:10px;width:100%}.snap-button{min-width:clamp(118px,36svmin,190px);min-height:clamp(118px,36svmin,190px);font-size:clamp(1.5rem,7vw,2.7rem)}.snap-button small{font-size:clamp(1rem,4vw,1.3rem);letter-spacing:0}.cancel-button{background:#475569}.camera-dot{width:26%;aspect-ratio:1;border:clamp(8px,2.5vw,14px) solid rgb(255 255 255 / .9);border-radius:999px;background:#0f172a47;box-shadow:inset 0 0 0 14px #ffffff29}.snapshot-wrap{position:relative;display:grid;place-items:center;width:100%;min-height:55svh;min-height:55dvh;perspective:900px}.snapshot-image{display:block;width:min(80vw,520px);max-height:58vh;border:14px solid #fff;border-radius:30px;object-fit:cover;box-shadow:0 30px 90px #0f172a59}.fly-away{animation:snapshot-fly .98s cubic-bezier(.2,.9,.2,1) forwards}.snapshot-caption{position:absolute;bottom:1rem;margin:0;padding:12px 18px;border-radius:999px;background:#0f172adb;color:#ecfeff;font-weight:1000}.flash{position:fixed;inset:0;z-index:1;pointer-events:none;background:#fff;animation:flash .42s ease-out forwards}.mic-button{gap:10px;background:radial-gradient(circle at 50% 36%,#67e8f9 0 18%,#0891b2 48%,#155e75);box-shadow:0 34px 90px #0891b257,inset 0 -18px 42px #0003;animation:pulse-ring 1.35s ease-in-out infinite}.mic-button small{font-size:clamp(1rem,4vw,1.3rem);letter-spacing:0}.mic-orb{display:grid;width:34%;aspect-ratio:1;place-items:center;border-radius:999px;background:#ffffff38;box-shadow:0 0 0 16px #ffffff1a}.mic-icon{font-size:clamp(3rem,14vw,6rem)}.loading-card,.auth-card,.history-panel,.history-detail-card,.markdown-display{border:1px solid rgb(15 118 110 / .17);border-radius:32px;background:#ffffffe0;box-shadow:0 24px 80px #0f172a21;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.loading-card{width:min(90vw,520px);padding:34px;text-align:center}.spinner{width:90px;height:90px;margin:0 auto 20px;border:10px solid #cffafe;border-top-color:#0f766e;border-radius:999px;animation:spin .84s linear infinite}.status,.error{margin:10px auto 0;padding:13px 16px;border-radius:18px;font-weight:900;text-align:center}.status{width:fit-content;max-width:100%;background:#ecfeffd9;color:#155e75}.error{background:#fff1f2;color:#9f1239}.answer-screen{display:grid;gap:18px;padding-top:18px}.history-detail-card{display:grid;gap:18px;padding:clamp(16px,4vw,26px)}.detail-photo{display:block;width:100%;max-height:min(58vh,520px);border-radius:24px;object-fit:contain;background:#020617}.transcript-text{margin-bottom:0;padding:14px 16px;border-radius:18px;background:#ecfeff;color:#134e4a;font-weight:800}.markdown-display{min-height:42svh;min-height:42dvh;padding:clamp(22px,5vw,52px);background:#fffffff0;font-size:clamp(1.14rem,3.6vw,1.5rem);line-height:1.58}.markdown-display h1,.markdown-display h2,.markdown-display h3{margin:.2em 0 .45em;color:#0f172a;line-height:1.04;letter-spacing:-.04em}.markdown-display h1{font-size:clamp(2.1rem,8vw,4.6rem)}.markdown-display h2{font-size:clamp(1.8rem,6vw,3.2rem)}.markdown-display h3{font-size:clamp(1.4rem,4.5vw,2.2rem)}.markdown-display li{margin:.35em 0}.markdown-display code{padding:.1em .32em;border-radius:.35em;background:#ccfbf1}.small-repeat{justify-self:center;min-width:clamp(148px,44svmin,240px);min-height:clamp(148px,44svmin,240px);font-size:clamp(1.3rem,6vw,2.4rem)}.history-panel{margin-top:20px;padding:18px}.history-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.history-heading h2{margin:0}.text-button{padding:10px 14px;border-radius:999px;background:#0f766e;color:#fff;font-weight:900}.history-list{display:grid;gap:10px;margin-top:14px}.history-item{display:grid;gap:4px;width:100%;padding:14px;border-radius:18px;background:#f0fdfa;color:#134e4a;text-align:left}.history-item span{color:#475569;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.muted{color:#64748b}.unauthorized-card{border-color:#be123c52;background:#fff1f2;color:#881337}@keyframes breathe{0%,to{transform:scale(1);filter:saturate(1)}50%{transform:scale(1.035);filter:saturate(1.08)}}@keyframes flash{0%{opacity:0}15%{opacity:.96}to{opacity:0}}@keyframes snapshot-fly{0%{opacity:0;transform:scale(.92) rotate(0) translateZ(0)}18%{opacity:1;transform:scale(1.03) rotate(-1deg) translateZ(0)}58%{opacity:1;transform:scale(.88) rotate(7deg) translate3d(13vw,-2vh,0)}to{opacity:0;transform:scale(.52) rotate(17deg) translate3d(74vw,-8vh,-260px)}}@keyframes pulse-ring{0%,to{transform:scale(1);box-shadow:0 34px 90px #0891b257,0 0 #0891b238,inset 0 -18px 42px #0003}50%{transform:scale(1.025);box-shadow:0 34px 90px #0891b257,0 0 0 26px #0891b200,inset 0 -18px 42px #0003}}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:760px){.stage-answer .answer-screen{grid-template-columns:minmax(0,1fr) 220px;align-items:start}.stage-answer .markdown-display{grid-column:1 / -1}.stage-answer .small-repeat{position:sticky;top:24px}}.stage-preview .capture-stage{min-height:0;padding:0}.stage-preview .preview-wrap{position:fixed;left:0;right:0;bottom:max(14px,calc(env(safe-area-inset-bottom) + 14px));z-index:4;pointer-events:none}.stage-preview .preview-wrap>*{pointer-events:auto}.stage-preview .cancel-button{background:#0f172ab8;box-shadow:0 12px 30px #0f172a38}@media(max-width:759px){.answer-screen{padding-top:4px}.history-detail-card,.markdown-display,.history-panel{border-radius:24px}}
