:root{--ink:#242321;--muted:#79736a;--paper:#fbfaf7;--line:#2c29251a;--glass:#ffffff9e;--dark-glass:#2b2a28a3}*{box-sizing:border-box}html,body{width:100%;min-height:100%;margin:0;overflow-x:hidden}body{color:var(--ink);background:radial-gradient(circle at 50% 15%,#ffffffeb,#0000 34%),linear-gradient(#f4f1eb 0%,#e8e3da 100%);font-family:Avenir Next,Helvetica Neue,PingFang SC,Microsoft YaHei,sans-serif}button,input{font:inherit}button{color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:0}button:disabled{cursor:not-allowed;opacity:.58}.shell{background:radial-gradient(circle at 50% 12%,#ffffffdb,#0000 32%),radial-gradient(circle at 15% 70%,#d3ccc147,#0000 28%),#ede8df;place-items:center;width:100%;min-height:100svh;display:grid;overflow:hidden}.phone{contain:paint;background:var(--paper);width:100%;max-width:460px;min-height:100svh;display:block;position:relative;overflow:hidden}.stage{min-height:100svh;padding:max(24px, env(safe-area-inset-top)) 22px max(168px, env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 31%,#68645e1f,#0000 16%),radial-gradient(circle at 50% 28%,#fffffff5,#0000 30%),radial-gradient(circle at 18% 15%,#ced5d347,#0000 24%),radial-gradient(circle at 82% 16%,#dcd0c152,#0000 25%),radial-gradient(circle at 50% 85%,#d6cdbe5c,#0000 30%),linear-gradient(#fbfaf7 0%,#f0ece5 58%,#faf8f3 100%);position:relative;overflow:hidden}.stage:before{content:"";pointer-events:none;filter:blur(18px);background:linear-gradient(90deg,#ffffff75,#0000 18% 82%,#ffffff70),radial-gradient(circle at 50% 48%,#ffffffd1,#0000 36%);position:absolute;inset:-16%}.stage:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#302d291c,#0000);height:1px;position:absolute;bottom:124px;left:18px;right:18px}.topBar{z-index:4;justify-content:space-between;align-items:center;gap:12px;display:flex;position:relative}.badge{color:#fff;background:var(--dark-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);letter-spacing:0;border:1px solid #ffffff24;border-radius:7px;justify-content:center;align-items:center;gap:7px;height:38px;padding:0 13px;font-size:15px;font-weight:700;display:inline-flex;box-shadow:0 12px 28px #2a282621}.readyDot{background:#ffffff52;border-radius:999px;width:7px;height:7px;display:inline-block}.readyDot.ready{background:#deecdaeb;box-shadow:0 0 10px #ffffff6b}.historyButton{color:#ffffffe6;background:var(--dark-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #ffffff24;border-radius:7px;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 12px 28px #2a282621}.voiceMenu{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffb8;border:1px solid #312f2c14;border-radius:8px;gap:5px;width:136px;padding:7px;display:grid;position:absolute;top:48px;left:0;box-shadow:0 18px 54px #38353024}.voiceMenu button{color:#3634319e;text-align:left;background:0 0;border-radius:6px;height:32px;padding:0 10px;font-size:13px;font-weight:560}.voiceMenu button.active{color:#242320db;background:#ffffffdb}.captionBlock{z-index:3;text-align:center;flex-direction:column;justify-content:flex-start;min-height:238px;display:flex;position:absolute;top:26%;left:26px;right:26px}.stateLine{color:#4e4b46a3;letter-spacing:.14em;text-transform:uppercase;background:#dedbd494;border:1px solid #433f3a0f;border-radius:999px;width:fit-content;min-height:28px;margin:0 auto 14px;padding:5px 13px;font-size:12px;font-weight:750}.captionPrimary{scrollbar-width:thin;color:#3634318f;letter-spacing:0;text-wrap:balance;overflow-wrap:break-word;max-width:min(360px,100%);max-height:138px;margin:0 auto 10px;font-size:26px;font-weight:360;line-height:1.28;overflow-y:auto}.captionSubtitle{color:#36343175;letter-spacing:0;text-wrap:balance;overflow-wrap:break-word;max-width:min(360px,100%);max-height:104px;margin:4px auto 0;font-size:16px;font-weight:340;line-height:1.32;overflow-y:auto}.captionBlock.assistantCaption .captionPrimary{color:#36343194;font-weight:430}.captionBlock.welcomeCaption .captionPrimary,.captionBlock.userCaption .captionPrimary{color:#3634317a;font-weight:340}.captionBlock.mediumText .captionPrimary{max-width:min(372px,100%);font-size:22px;line-height:1.32}.captionBlock.longText{min-height:258px;top:22.5%}.captionBlock.longText .captionPrimary{text-align:center;max-width:min(382px,100%);max-height:140px;padding:0 4px;font-size:19px;font-weight:380;line-height:1.34}.captionBlock.longText.assistantCaption .captionPrimary{font-weight:410}.captionBlock.longText .captionSubtitle{max-width:min(372px,100%);max-height:124px;font-size:15px;line-height:1.34}.captionBlock.veryLongText{min-height:282px;top:21.5%}.captionBlock.veryLongText .captionPrimary{text-align:center;text-wrap:pretty;max-width:min(386px,100%);max-height:122px;padding:0 6px;font-size:16px;font-weight:360;line-height:1.36}.captionBlock.veryLongText.assistantCaption .captionPrimary{font-weight:390}.captionBlock.veryLongText .captionSubtitle{text-align:center;text-wrap:pretty;max-width:min(386px,100%);max-height:126px;padding:0 8px;font-size:14px;line-height:1.36}.voiceDock{z-index:4;place-items:center;gap:16px;display:grid;position:absolute;top:58%;left:50%;transform:translate(-50%,-50%)}.orbButton{aspect-ratio:1;color:#ffffffe6;background:0 0;border-radius:50%;place-items:center;width:clamp(174px,52vw,238px);display:grid;position:relative}.voiceAura{filter:blur(23px);background:radial-gradient(circle,#32312e80,#8b88804a 36%,#0000 68%),radial-gradient(circle at 48% 46%,#ffffff94,#0000 56%);border-radius:50%;animation:5.2s ease-in-out infinite breathe;position:absolute;inset:6%;box-shadow:0 0 58px #ffffffdb,0 0 112px #4a484433}.orbButton svg{z-index:2;filter:drop-shadow(0 3px 12px #00000057);position:relative}.waveBars{z-index:2;align-items:center;gap:5px;height:28px;display:flex;position:absolute;inset:auto auto 29%}.waveBars i{transform-origin:bottom;background:#ffffffe0;border-radius:999px;width:3px;height:10px;animation:1.1s ease-in-out infinite paused wave;display:block}.waveBars i:nth-child(2){animation-delay:.12s}.waveBars i:nth-child(3){animation-delay:.24s}.waveBars i:nth-child(4){animation-delay:.36s}.orbButton.listening .voiceAura,.orbButton.speaking .voiceAura,.orbButton.thinking .voiceAura{animation-duration:2.1s}.orbButton.listening .waveBars i,.orbButton.speaking .waveBars i,.orbButton.thinking .waveBars i{animation-play-state:running}.textFallback{z-index:5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffad;border:1px solid #312f2c14;border-radius:8px;grid-template-columns:1fr 42px;gap:8px;width:min(344px,100% - 44px);height:50px;padding:5px;display:grid;position:absolute;bottom:92px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 20px 64px #3835301c}.textFallback input{color:#24231f;background:0 0;border:0;outline:0;min-width:0;height:100%;padding:0 12px;font-size:13px}.textFallback input::placeholder{color:#44403a80}.textFallback button{color:#fff;background:#1e1e1e;border-radius:6px;place-items:center;width:40px;height:40px;display:grid}.debugStatus{z-index:6;color:#4d494280;text-align:center;pointer-events:none;margin:0;font-size:12px;line-height:1.3;position:absolute;bottom:58px;left:22px;right:22px}.errorText{z-index:6;color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#1f1f1fbd;border-radius:8px;margin:0;padding:12px 14px;font-size:13px;line-height:1.4;position:absolute;bottom:160px;left:22px;right:22px}.playVoiceButton{z-index:7;color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#1f1f1fd6;border:1px solid #ffffff1f;border-radius:7px;height:34px;padding:0 18px;font-size:13px;font-weight:700;position:absolute;bottom:116px;left:50%;transform:translate(-50%)}.historyPanel{z-index:20;color:#f8f8f8;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#111111f0;border:1px solid #ffffff17;border-radius:8px;grid-template-rows:auto 1fr;max-height:62%;display:grid;position:absolute;bottom:18px;left:16px;right:16px;overflow:hidden;box-shadow:0 26px 82px #00000061}.historyHeader{color:#ffffffb8;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;height:52px;padding:0 16px;font-size:15px;display:flex}.historyHeader button{color:#fff;background:#ffffff14;border-radius:6px;place-items:center;width:34px;height:34px;display:grid}.historyList{min-height:0;padding:14px;overflow-y:auto}.message{background:#ffffff12;border-radius:8px;margin-bottom:12px;padding:12px 13px}.message.user{background:#ffffff1f}.message span{color:#ffffff8c;margin-bottom:5px;font-size:12px;display:block}.message p,.emptyHistory p{margin:0;font-size:14px;line-height:1.45}.messageSubtitle{color:#ffffff94;margin-top:7px!important}.emptyHistory{color:#ffffff8f;text-align:center;align-content:center;place-items:center;gap:10px;min-height:150px;display:grid}.clearHistoryButton{color:#8f2b25;text-underline-offset:4px;background:0 0;border-radius:0;width:fit-content;margin:18px auto 4px;padding:0;font-size:14px;font-weight:800;line-height:1.4;text-decoration:underline;display:block}@keyframes breathe{0%,to{opacity:.78;transform:scale(.95)}50%{opacity:1;transform:scale(1.08)}}@keyframes wave{0%,to{transform:scaleY(.55)}50%{transform:scaleY(1.75)}}@media (min-width:680px){.shell{min-height:100svh;padding:16px}.phone{border-inline:1px solid #24211d14;border-radius:10px;width:min(460px,56.25svh - 18px);min-width:360px;height:min(900px,100svh - 32px);min-height:0;max-height:none;box-shadow:0 24px 80px #36322c29}.stage{height:100%;min-height:0}.historyPanel{max-height:min(62%,560px)}}@media (min-width:680px) and (max-height:780px){.stage{padding:20px 22px 132px}.captionBlock{min-height:204px;top:23%}.captionPrimary{max-height:108px;font-size:23px}.captionSubtitle{max-height:78px;font-size:15px}.captionBlock.mediumText .captionPrimary{font-size:20px}.captionBlock.longText{min-height:220px;top:20%}.captionBlock.longText .captionPrimary{max-height:104px;font-size:17px}.captionBlock.longText .captionSubtitle{max-height:92px;font-size:14px}.captionBlock.veryLongText{min-height:232px;top:18%}.captionBlock.veryLongText .captionPrimary{max-height:96px;font-size:15px}.captionBlock.veryLongText .captionSubtitle{max-height:104px;font-size:13px}.voiceDock{top:57%}.orbButton{width:clamp(156px,28vh,202px)}.textFallback{bottom:72px}.debugStatus{bottom:38px}.errorText{bottom:136px}.playVoiceButton{bottom:102px}}@media (max-width:390px){.captionBlock{top:28%;left:22px;right:22px}.voiceDock{top:59%}}
