@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&family=Space+Grotesk:wght@500;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Space+Grotesk:wght@400;500;700&display=swap";.emotion-page{position:relative;display:flex;flex-direction:column;align-items:center;min-height:100dvh;height:100dvh;padding:20px;padding-bottom:max(20px,env(safe-area-inset-bottom));background-color:#fff;font-family:Montserrat,sans-serif;overflow:auto;animation:emotion-page-enter .52s cubic-bezier(.22,.61,.36,1) both}.emotion-page:before,.emotion-page:after{content:"";position:absolute;border-radius:999px;pointer-events:none;z-index:0}.emotion-page:before{width:18rem;height:18rem;top:-7rem;right:-6rem;background:radial-gradient(circle at 35% 35%,#667eea2e,#667eea00);animation:float-orb 8s ease-in-out infinite alternate}.emotion-page:after{width:20rem;height:20rem;bottom:-10rem;left:-8rem;background:radial-gradient(circle at 50% 50%,#f5576c24,#f5576c00);animation:float-orb 11s ease-in-out infinite alternate-reverse}.emotion-page>*{position:relative;z-index:1}.emotion-page-top-nav{width:100%;display:flex;align-items:flex-start;justify-content:flex-start;gap:.8rem;margin-bottom:10px;animation:slide-down .5s ease both}.emotion-page-nav-left{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.emotion-page-home-button{min-height:42px;padding:.55rem .95rem;border-radius:999px;display:inline-flex;align-items:center;font-size:.92rem;font-weight:600;color:#30507a;text-decoration:none;border:1px solid rgba(72,110,160,.24);background:#ffffffd9;transition:color .2s ease,border-color .2s ease,background-color .2s ease,transform .2s ease}.emotion-page-home-button:hover{color:#2e3f5e;border-color:#8ea5d6;background:#fff;transform:translateY(-1px)}.emotion-page-nav-hint{font-size:.84rem;color:#627796;text-align:left}.emotion-page-welcome-text{font-size:1.15rem;margin-bottom:20px;color:#2d3e58;text-align:center;max-width:980px;line-height:1.5;animation:reveal-up .65s ease both}.emotion-display{font-size:clamp(2rem,8vw,6rem);font-weight:700;height:min(58dvh,460px);display:flex;align-items:center;justify-content:center;text-align:center;transition:color .42s ease,opacity .42s ease,transform .42s ease;text-shadow:0 8px 18px rgba(40,75,119,.15)}.fade-in{animation:fade-in-scale .56s cubic-bezier(.22,.61,.36,1);opacity:1}.fade-out{opacity:.3}.emotion-page-model-selector{text-align:center;margin:24px 0;animation:reveal-up .7s ease both}.emotion-page-model-selector-title{color:#2c3e50;margin:0 0 16px;font-size:1.16em;font-weight:600;font-family:Space Grotesk,sans-serif}.emotion-page-model-toggle{border:none;border-radius:16px;padding:15px 35px;font-size:1.18em;font-weight:700;color:#fff;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,filter .3s ease;box-shadow:0 8px 20px #33466d3d;min-width:180px}.emotion-page-model-toggle:hover{transform:translateY(-2px);filter:brightness(1.03)}.emotion-page-model-toggle:active{transform:translateY(0)}.emotion-page-model-toggle.normal{background:linear-gradient(135deg,#4caf50,#45a049)}.emotion-page-model-toggle.incremental{background:linear-gradient(135deg,#0d7eff,#11b5ff)}.emotion-page-listening-controls{display:flex;justify-content:center;margin:14px 0 20px;animation:reveal-up .82s ease both}.emotion-page-listen-toggle{padding:15px 30px;font-size:18px;font-weight:700;border:none;border-radius:25px;cursor:pointer;transition:transform .32s ease,box-shadow .32s ease;color:#fff}.emotion-page-listen-toggle.stopped{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 8px 20px #667eea5c}.emotion-page-listen-toggle.stopped:hover{transform:translateY(-2px)}.emotion-page-listen-toggle.listening{background:linear-gradient(135deg,#f093fb,#f5576c);box-shadow:0 8px 22px #f5576c5c;animation:pulse-button 1.9s ease-in-out infinite}.emotion-page-listen-toggle.listening:hover{transform:translateY(-2px)}@keyframes pulse-button{0%{box-shadow:0 8px 20px #f5576c4d}50%{box-shadow:0 10px 28px #f5576c85}to{box-shadow:0 8px 20px #f5576c4d}}@keyframes fade-in-scale{0%{opacity:0;transform:translateY(12px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes emotion-page-enter{0%{opacity:0;transform:translateY(10px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes reveal-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes float-orb{0%{transform:translateY(-8px) translate(0)}to{transform:translateY(10px) translate(10px)}}@media (max-width: 768px){.emotion-page{padding:14px;padding-bottom:max(14px,env(safe-area-inset-bottom))}.emotion-page-top-nav{flex-direction:column;align-items:flex-start}.emotion-page-nav-hint{text-align:left}.emotion-page-model-toggle{padding:12px 26px;font-size:1.04em;min-width:150px}.emotion-page-listen-toggle{font-size:16px;padding:12px 24px}.emotion-display{height:min(50dvh,340px)}}@media (max-width: 520px){.emotion-page-welcome-text{font-size:1rem;margin-bottom:12px}.emotion-page-model-selector{margin:16px 0}.emotion-page-model-toggle,.emotion-page-listen-toggle{width:min(300px,92vw)}.emotion-display{font-size:clamp(1.7rem,10vw,2.7rem);height:min(45dvh,290px)}}@media (prefers-reduced-motion: reduce){.emotion-page,.emotion-page-top-nav,.emotion-page-welcome-text,.emotion-page-model-selector,.emotion-page-listening-controls,.emotion-display,.emotion-page-listen-toggle.listening{animation:none!important;transition:none!important}}:root{--font-display: "Space Grotesk", "Segoe UI", sans-serif;--font-ui: "Outfit", "Segoe UI", sans-serif;--bg-0: #f4f7fb;--bg-1: #eef3ff;--ink-0: #142235;--ink-1: #30445e;--ink-soft: #5e728f;--brand-blue: #0d7eff;--brand-cyan: #11b5ff;--brand-emerald: #0bb288;--brand-orange: #ff8a3d;--brand-red: #ff5a63;--surface: rgba(255, 255, 255, .74);--surface-strong: #ffffff;--surface-dark: #172536;--stroke: rgba(41, 74, 112, .15);--radius-lg: 22px;--radius-md: 14px;--shadow-soft: 0 14px 34px rgba(21, 48, 90, .14);--shadow-hover: 0 20px 45px rgba(16, 46, 92, .22)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;min-height:100%}#root{overflow-x:hidden;overflow-y:auto}.route-shell{width:100%;height:100%;animation-duration:.44s;animation-timing-function:cubic-bezier(.22,.61,.36,1);animation-fill-mode:both;will-change:opacity,transform}.route-fade-in{animation-name:route-enter}.route-fade-out{animation-name:route-exit;pointer-events:none}body{position:relative;font-family:var(--font-ui);color:var(--ink-0);background:radial-gradient(45rem 26rem at 12% 8%,rgba(17,181,255,.2),transparent 62%),radial-gradient(50rem 30rem at 88% 12%,rgba(255,138,61,.18),transparent 65%),linear-gradient(145deg,var(--bg-0),var(--bg-1));overflow-x:hidden;overflow-y:auto}body:before,body:after{content:"";position:fixed;border-radius:999px;pointer-events:none;z-index:-1;filter:blur(6px);animation:drift 12s ease-in-out infinite alternate}body:before{width:22rem;height:22rem;top:-5rem;right:-4rem;background:radial-gradient(circle at 30% 30%,#11b5ff61,#11b5ff00)}body:after{width:28rem;height:28rem;bottom:-10rem;left:-8rem;animation-duration:15s;background:radial-gradient(circle at 40% 40%,#ff8a3d52,#ff8a3d00)}@keyframes drift{0%{transform:translateY(-6px) translate(0) scale(1)}to{transform:translateY(8px) translate(12px) scale(1.04)}}.landing-container{width:100%;min-height:100dvh;display:flex;justify-content:center;align-items:center;padding:clamp(1rem,3vw,2.2rem);padding-bottom:max(clamp(1rem,3vw,2.2rem),env(safe-area-inset-bottom))}.landing-content{width:min(1100px,100%);text-align:center;animation:reveal-up .7s ease both}.landing-content h1{font-family:var(--font-display);font-size:clamp(2rem,4.8vw,4.2rem);letter-spacing:-.04em;line-height:1.05;margin-bottom:2rem;color:var(--ink-0);text-shadow:0 8px 22px rgba(43,79,126,.18)}.options-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem}.option-card{position:relative;overflow:hidden;text-decoration:none;color:inherit;background:linear-gradient(150deg,#ffffffe0,#fbfeff99);border:1px solid var(--stroke);border-radius:var(--radius-lg);padding:1.7rem 1.4rem;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transform-style:preserve-3d;transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease;animation:stagger-in .58s ease both}.option-card:nth-child(1){animation-delay:80ms}.option-card:nth-child(2){animation-delay:.17s}.option-card:nth-child(3){animation-delay:.25s}.option-card:after{content:"";position:absolute;inset:auto -35% -55% auto;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(13,126,255,.24),transparent 65%);transform:scale(.8);transition:transform .3s ease}.option-card:hover{transform:translateY(-8px) rotateX(4deg);box-shadow:var(--shadow-hover);border-color:#0d7eff66}.option-card:hover:after{transform:scale(1.07)}.option-icon{font-size:2.5rem;margin-bottom:.9rem}.option-card h2{font-family:var(--font-display);color:#0f223d;margin-bottom:.35rem;font-size:1.32rem}.option-card p{color:#4f6683;font-size:.98rem;line-height:1.45}.contributors-section{margin-top:2.25rem;text-align:left;animation:reveal-up .62s ease both;animation-delay:.28s}.contributors-section h2{font-family:var(--font-display);font-size:clamp(1.25rem,2.25vw,1.85rem);letter-spacing:-.03em;color:#0e2241;margin-bottom:1rem}.contributors-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.contributor-card{--hero-a: #95cbff;--hero-b: #5ca6ff;--hero-c: #8899ff;--badge-bg: rgba(10, 22, 39, .85);--stats-bg: rgba(7, 17, 31, .95);--chip-bg: rgba(255, 255, 255, .46);--chip-border: rgba(15, 46, 82, .25);--link-color: #123f73;position:relative;overflow:hidden;text-decoration:none;border:1px solid rgba(16,47,85,.14);border-radius:22px;background:linear-gradient(165deg,#ffffffeb,#f6fbffdb);box-shadow:0 18px 36px #13386033;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;isolation:isolate;min-height:380px}.contributor-card:hover,.contributor-card:focus-visible{transform:translateY(-8px) rotateX(4deg);box-shadow:0 24px 44px #0f2d4f45;border-color:#115fb759;outline:none}.contributor-hero{position:relative;height:140px;border-radius:18px 18px 14px 14px;margin:.58rem .58rem 0;padding:.8rem;display:flex;align-items:flex-end;background:radial-gradient(95% 85% at 15% 12%,rgba(255,255,255,.5),transparent 58%),linear-gradient(130deg,var(--hero-a),var(--hero-b) 56%,var(--hero-c));overflow:hidden}.contributor-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(120deg,rgba(255,255,255,.18) 0 12%,transparent 12% 100%),radial-gradient(circle at 10% 20%,rgba(255,255,255,.14) 0 5%,transparent 6%);background-size:24px 24px,18px 18px;opacity:.55}.contributor-pulse{position:absolute;right:12px;top:12px;z-index:2;padding:.28rem .62rem;border-radius:999px;background:var(--badge-bg);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.contributor-avatar-frame{--avatar-zoom: 1.28;position:relative;left:0;bottom:0;width:96px;height:96px;border-radius:24px;overflow:hidden;border:5px solid #f4fbff;box-shadow:0 16px 26px #0d284a4d;transition:transform .28s ease;z-index:2}.contributor-avatar{position:absolute;top:50%;left:50%;width:100%;height:100%;min-width:100%;min-height:100%;display:block;object-fit:cover;object-position:center;transform:translate(-50%,-50%) scale(var(--avatar-zoom));transform-origin:center center;transition:transform .28s ease}.contributor-card:hover .contributor-avatar-frame,.contributor-card:focus-visible .contributor-avatar-frame{transform:translateY(-3px) rotate(-1.2deg)}.contributor-card:hover .contributor-avatar,.contributor-card:focus-visible .contributor-avatar{transform:translate(-50%,-50%) scale(1.36)}.contributor-stats{margin:.52rem .58rem .58rem;border-radius:14px;background:var(--stats-bg);color:#e7efff;display:grid;grid-template-columns:1fr 1fr;gap:.3rem;padding:.58rem .72rem;box-shadow:0 10px 16px #08122238}.contributor-stats strong{display:block;font-size:.95rem;font-weight:700;line-height:1.2}.contributor-stats span{font-size:.72rem;color:#a9bddb}.contributor-body{padding:.2rem 1rem 1rem}.contributor-card h3{margin:.45rem 0 .12rem;color:#0f223d;font-size:1.2rem;font-weight:800;letter-spacing:-.02em}.contributor-handle{margin:0;color:#496588;font-size:.88rem}.contributor-role{margin:.16rem 0 0;color:#1a3f6d;font-size:.9rem;font-weight:700}.contributor-summary{margin:.5rem 0 0;color:#4b6787;font-size:.9rem;line-height:1.42}.contributor-joined{margin:.45rem 0 0;color:#5a7390;font-size:.8rem}.contributor-link{margin-top:.8rem;display:inline-block;font-size:.82rem;font-weight:700;letter-spacing:.03em;color:var(--link-color);transition:transform .24s ease}.contributor-card:hover .contributor-link,.contributor-card:focus-visible .contributor-link{transform:translate(4px)}.theme-cobalt{--hero-a: #81d2ff;--hero-b: #4d97ff;--hero-c: #7f77ff;--badge-bg: rgba(15, 34, 61, .86);--stats-bg: linear-gradient(120deg, #09192f, #0f2747);--chip-bg: rgba(209, 231, 255, .6);--chip-border: rgba(37, 120, 201, .34);--link-color: #0d4a85}.theme-sunset{--hero-a: #ffd18f;--hero-b: #ff8b87;--hero-c: #db67c8;--badge-bg: rgba(63, 23, 30, .84);--stats-bg: linear-gradient(120deg, #261322, #3a1b30);--chip-bg: rgba(255, 228, 221, .72);--chip-border: rgba(187, 84, 61, .34);--link-color: #8d2f23}.theme-aurora{--hero-a: #8ee9d5;--hero-b: #54c1b8;--hero-c: #45a0de;--badge-bg: rgba(8, 43, 47, .84);--stats-bg: linear-gradient(120deg, #07262a, #0d3d45);--chip-bg: rgba(219, 246, 242, .72);--chip-border: rgba(36, 148, 132, .34);--link-color: #0a685b}.learning-container{display:flex;flex-direction:column;width:100%;min-height:100dvh;height:100dvh;background:transparent;overflow:hidden}.learning-header{margin:1rem 1rem 0;border:1px solid rgba(29,63,104,.15);border-radius:16px;padding:.75rem 1rem;background:linear-gradient(130deg,#0d7effeb,#0bb288eb);color:#fff;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 12px 28px #124f8842;animation:reveal-up .5s ease both}.back-button{position:absolute;left:1rem;top:50%;transform:translateY(-50%);min-height:42px;padding:0 .9rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;font-weight:600;font-size:.92rem;color:#fff;text-decoration:none;background:#fff3;transition:transform .22s ease,background-color .22s ease}.back-button:hover{transform:translateY(-50%) translate(-2px);background:#ffffff4d}.learning-header h1{text-align:center;font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(1.25rem,3.5vw,1.7rem)}.learning-content{flex:1;display:grid;place-items:center;padding:1.2rem;overflow:auto}.learning-card{width:min(560px,100%);border-radius:24px;border:1px solid rgba(29,63,104,.14);background:linear-gradient(155deg,#ffffffe0,#f6fcffc7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-soft);padding:clamp(1.3rem,2.8vw,2.2rem);animation:reveal-up .68s ease both}.learning-card h1{margin-bottom:1.25rem;color:var(--ink-0);font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(1.45rem,4vw,2.1rem)}.learning-form{display:flex;flex-direction:column;gap:1rem}.learning-form label{font-size:.94rem;font-weight:600;color:var(--ink-1)}.input-field{width:100%;border-radius:12px;border:1px solid rgba(31,69,113,.2);padding:.82rem .95rem;font-size:1rem;font-family:var(--font-ui);color:var(--ink-0);background:#ffffffe6;transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}.input-field:focus{outline:none;border-color:#0d7eff99;box-shadow:0 0 0 4px #0d7eff26}.recording-controls{margin-top:.2rem}.record-button,.play-button,.send-button,.retake-button,.retry-button{border:none;border-radius:12px;cursor:pointer;font-family:var(--font-ui);font-weight:650;transition:transform .22s ease,box-shadow .22s ease,filter .22s ease}.record-button{width:100%;color:#fff;padding:.95rem 1.2rem;background:linear-gradient(135deg,#0d7eff,#11b5ff);box-shadow:0 10px 22px #0d7eff52}.record-button.stop-button{background:linear-gradient(135deg,#f94857,#ff7752);box-shadow:0 10px 22px #ff5a634d}.record-button:hover,.play-button:hover,.send-button:hover,.retake-button:hover,.retry-button:hover{transform:translateY(-2px);filter:brightness(1.03)}.playback-controls{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}.play-button,.send-button,.retake-button{color:#fff;padding:.78rem .92rem;min-width:130px}.send-button{background:linear-gradient(135deg,#0bb288,#24c998)}.retake-button,.retry-button{background:linear-gradient(135deg,#ff8a3d,#ffb43d)}.recording-progress{margin-top:1rem;display:flex;flex-direction:column;align-items:center;gap:.8rem;color:var(--ink-1);animation:soft-rise .42s ease both}.countdown-number{display:inline-flex;width:72px;height:72px;align-items:center;justify-content:center;border-radius:50%;font-size:2rem;font-weight:800;color:#fff;background:radial-gradient(circle at 40% 35%,#ff7f64,#ff5a63);box-shadow:0 12px 24px #ff5a6357;animation:pulse-countdown 1s ease-in-out infinite}.waveform-container{width:min(420px,92%);height:16px;border-radius:999px;overflow:hidden;background:#1d3f681f;border:1px solid rgba(24,53,90,.12)}.waveform-bar{height:100%;border-radius:inherit;width:0;transition:width .1s linear;background:linear-gradient(90deg,#0d7eff,#11b5ff 42%,#0bb288)}.timer{font-size:1.7rem;font-weight:700;color:var(--brand-blue)}.upload-status{margin-top:.4rem;border-radius:12px;padding:.9rem 1rem;font-size:.95rem;animation:soft-rise .42s ease both}.upload-status.success{background:#0bb2881f;border:1px solid rgba(11,178,136,.35);color:#0c6f57}.upload-status.error{background:#ff5a631f;border:1px solid rgba(255,90,99,.35);color:#a82d36}.upload-status .details{margin-top:.25rem;opacity:.88;font-size:.86rem}.app{width:100%;min-height:100dvh;height:100dvh;display:grid;grid-template-columns:280px 1fr;gap:.8rem;padding:.8rem}.sidebar{height:calc(100dvh - 1.6rem);border-radius:20px;padding:.8rem;border:1px solid rgba(11,48,93,.2);background:radial-gradient(22rem 14rem at 15% 0%,rgba(17,181,255,.21),transparent 70%),linear-gradient(175deg,#12263d,#0f1d31);color:#f0f4fb;box-shadow:var(--shadow-soft);display:flex;flex-direction:column}.sidebar-header{border-radius:12px;padding:.8rem .7rem;margin-bottom:.2rem}.sidebar-header:hover{background:transparent}.sidebar-title{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.52rem}.new-chat-btn{margin:.65rem .2rem .9rem;border:none;border-radius:12px;color:#fff;background:linear-gradient(130deg,#0d7eff,#11b5ff);padding:.72rem .95rem;display:flex;align-items:center;justify-content:center;gap:.45rem;font-weight:650;cursor:pointer;box-shadow:0 10px 22px #0d7eff52;transition:transform .22s ease,box-shadow .22s ease}.home-btn{margin:0 .2rem .7rem;border:1px solid rgba(180,209,243,.28);border-radius:10px;color:#eaf2ff;background:#ffffff14;padding:.58rem .75rem;font-size:.86rem;font-weight:600;cursor:pointer;transition:background-color .22s ease,transform .22s ease,border-color .22s ease}.home-btn:hover{background:#ffffff29;border-color:#b4d1f375;transform:translateY(-1px)}.new-chat-btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px #0d7eff66}.chat-history{flex:1;overflow:auto;padding-right:.15rem}.chat-history-item{display:flex;align-items:center;gap:.55rem;margin-bottom:.48rem;border-radius:10px;border:1px solid rgba(145,182,223,.14);background:#ffffff14;padding:.56rem .58rem;cursor:pointer;transition:transform .2s ease,background-color .2s ease,border-color .2s ease}.chat-history-item:hover{transform:translate(2px);background:#ffffff29}.chat-history-item.active{border-color:#11b5ff73;background:linear-gradient(145deg,#0d7eff52,#11b5ff2e)}.chat-icon{color:#d9e7f7}.chat-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.9rem}.delete-chat-btn{width:28px;height:28px;border-radius:8px;border:none;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#e8f0fd;cursor:pointer;opacity:.72;transition:opacity .18s ease,background-color .18s ease}.delete-chat-btn:hover{opacity:1;background:#ff5a6340}.chat-container{height:calc(100dvh - 1.6rem);border-radius:20px;border:1px solid rgba(38,71,110,.14);background:linear-gradient(165deg,#ffffffd1,#f8fcffb8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-soft)}.chat-box{flex:1;overflow:auto;padding:1.15rem 1rem .8rem;display:flex;flex-direction:column;gap:.9rem}.welcome-message{flex:1;display:grid;place-items:center;padding:1rem}.welcome-content{max-width:640px;text-align:center;background:#ffffffb3;border:1px solid rgba(31,69,113,.12);border-radius:18px;padding:1.4rem 1.2rem;animation:reveal-up .66s ease both}.welcome-content h2{font-family:var(--font-display);font-size:clamp(1.45rem,3.8vw,2.2rem);color:var(--ink-0);margin-bottom:.55rem}.welcome-content p{color:var(--ink-soft);line-height:1.6}.message{width:min(900px,100%);display:flex;align-items:flex-start;gap:.72rem;border-radius:14px;padding:.82rem .9rem;border:1px solid rgba(33,67,110,.13);box-shadow:0 8px 18px #142d5317;animation:message-in .42s cubic-bezier(.22,.61,.36,1) both}.message.user{align-self:flex-end;flex-direction:row-reverse;background:linear-gradient(145deg,#0bb28833,#24c9981f)}.message.bot{align-self:flex-start;background:linear-gradient(145deg,#0d7eff24,#11b5ff14)}.message.bot.thinking{border-style:dashed}.message .avatar{width:38px;height:38px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;background:#ffffffe6;border:1px solid rgba(48,88,140,.2);color:#1b3356}.message .content{flex:1;line-height:1.55;color:#173050;font-size:.97rem;white-space:pre-wrap}.thinking-wrap{display:inline-flex;align-items:center;gap:.5rem}.thinking-text{color:#203a60}.thinking-dots{display:inline-flex;align-items:center;gap:.3rem}.thinking-dots .dot{width:6px;height:6px;border-radius:50%;background:#203a60cc;animation:thinking-bounce 1.1s infinite ease-in-out}.thinking-dots .dot:nth-child(2){animation-delay:.12s}.thinking-dots .dot:nth-child(3){animation-delay:.24s}.input-area{margin:.72rem;padding:.74rem;border-radius:16px;border:1px solid rgba(28,60,98,.16);background:#ffffffe0;display:flex;flex-direction:column;gap:.6rem;box-shadow:0 10px 24px #1c3e661f}.input-area input{width:100%;border:1px solid rgba(27,61,102,.22);border-radius:11px;padding:.8rem .9rem;background:#fff;font-family:var(--font-ui);font-size:.98rem;color:var(--ink-0);transition:border-color .18s ease,box-shadow .18s ease}.input-area input:focus{outline:none;border-color:#0d7eff8c;box-shadow:0 0 0 3px #0d7eff1f}.input-controls{display:flex;align-items:center;justify-content:flex-end;gap:.6rem}.input-area button{border:none;cursor:pointer}.input-area button.mic{width:48px;height:48px;border-radius:50%;color:#fff;background:linear-gradient(135deg,#0d7eff,#11b5ff);box-shadow:0 10px 20px #0d7eff4d;display:grid;place-items:center;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.input-area button.mic:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.03)}.input-area button.mic.listening{background:linear-gradient(135deg,#ff5a63,#ff8a3d);animation:pulse-soft 1.1s ease-in-out infinite}.input-area button.mic.send{background:linear-gradient(135deg,#0bb288,#24c998)}.input-area button.mic.processing{background:linear-gradient(135deg,#687b93,#7f90a6)}.input-area button.mic.processing svg{animation:spin 1.4s linear infinite}.input-area button:disabled{opacity:.65;cursor:not-allowed}.recording-timer{border-radius:999px;font-weight:700;font-size:.85rem;color:#fff;padding:.38rem .74rem;background:linear-gradient(135deg,#ff5a63,#ff8a3d);animation:pulse-soft 1.2s ease-in-out infinite}.preview-container{border-radius:11px;border:1px solid rgba(36,70,109,.16);padding:.54rem .62rem;background:#ffffffd1;animation:soft-rise .38s ease both}.preview-audio{display:flex;align-items:center;gap:.48rem}.preview-text{color:var(--ink-soft);font-size:.86rem}.play-button,.retry-button{width:34px;height:34px;border-radius:50%;padding:0;min-width:auto;display:grid;place-items:center;color:#fff}.play-button{background:linear-gradient(135deg,#0d7eff,#11b5ff)}.retry-button{background:linear-gradient(135deg,#ff8a3d,#ffb43d)}.play-button:disabled,.retry-button:disabled,.home-btn:disabled,.new-chat-btn:disabled,.delete-chat-btn:disabled{opacity:.55;cursor:not-allowed}.sidebar.blocked{opacity:.9}.chat-history::-webkit-scrollbar,.chat-box::-webkit-scrollbar{width:8px}.chat-history::-webkit-scrollbar-thumb,.chat-box::-webkit-scrollbar-thumb{border-radius:999px;background:#5c7ba08c}.chat-history::-webkit-scrollbar-thumb:hover,.chat-box::-webkit-scrollbar-thumb:hover{background:#406289d9}@keyframes reveal-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes soft-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes route-enter{0%{opacity:0;transform:translateY(12px) scale(.995);filter:blur(2px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes route-exit{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}to{opacity:0;transform:translateY(-8px) scale(.996);filter:blur(1px)}}@keyframes stagger-in{0%{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes message-in{0%{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulse-soft{0%{box-shadow:0 0 #ff5a6347}70%{box-shadow:0 0 0 10px #ff5a6300}to{box-shadow:0 0 #ff5a6300}}@keyframes pulse-countdown{0%{transform:scale(1)}50%{transform:scale(1.07)}to{transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes thinking-bounce{0%,80%,to{transform:translateY(0);opacity:.5}40%{transform:translateY(-3px);opacity:1}}@media (max-width: 980px){.app{grid-template-columns:1fr;padding:.6rem;gap:.6rem}.sidebar{height:auto;max-height:36dvh}.chat-container{height:calc(62dvh - 2rem)}}@media (max-width: 768px){.landing-container{padding:1rem;align-items:flex-start}.contributors-grid{grid-template-columns:1fr}.contributor-card{min-height:0}.contributor-hero{height:124px}.contributor-avatar-frame{width:88px;height:88px}.learning-header{margin:.7rem .7rem 0;justify-content:flex-start;padding-top:.8rem;padding-bottom:.8rem;min-height:58px}.back-button{position:static;transform:none;margin-right:.75rem}.back-button:hover{transform:translate(-2px)}.learning-header h1{flex:1;text-align:center;padding-right:0}.learning-content{padding:.8rem}.playback-controls{flex-direction:column}.play-button,.send-button,.retake-button{width:100%}.message{width:100%;padding:.72rem;gap:.58rem}.input-area{margin:.55rem;padding:.62rem}.input-controls{flex-wrap:wrap;justify-content:space-between}.input-area input{font-size:16px}.input-area button.mic{width:44px;height:44px}.recording-timer{font-size:.8rem;padding:.32rem .62rem}}@media (prefers-reduced-motion: reduce){.route-shell,.landing-content,.option-card,.learning-header,.learning-card,.message,.preview-container,.recording-progress,.upload-status,.welcome-content{animation:none!important;transition:none!important}}@media (max-width: 520px){.app{padding:.45rem;gap:.45rem}.sidebar{padding:.65rem;max-height:42dvh}.chat-container{height:calc(56dvh - 1.6rem)}.landing-content h1{font-size:2rem}.option-card{padding:1.25rem 1rem}.contributor-card{padding:.9rem .85rem}.contributor-hero{margin:.35rem;padding:.7rem}.contributor-stats{margin:.15rem .35rem 0;padding:.52rem .6rem}.contributor-body{padding:.85rem .78rem}.chat-box{padding:.8rem .68rem .55rem}.message .content{font-size:.93rem}.chat-container,.sidebar{border-radius:16px}}
