:root{--bg: #101014;--bg-panel: #17171c;--bg-raised: #1e1e25;--border: #2c2c35;--text: #e9e7e4;--text-dim: #a29f9a;--coral: #ff6b4a;--coral-soft: rgba(255, 107, 74, .14);--lime: #a3e635;--lime-soft: rgba(163, 230, 53, .12);--amber: #e2a654;--amber-soft: rgba(226, 166, 84, .14);--mono: "Space Grotesk", ui-monospace, SFMono-Regular, "Cascadia Code", Consolas, "JetBrains Mono", monospace;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;color:var(--text);background:var(--bg);font-family:var(--sans);-webkit-font-smoothing:antialiased}::selection{background:#ffffff2e;color:#fff}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='140'%20height='140'%3E%3Cfilter%20id='n'%3E%3CfeTurbulence%20type='fractalNoise'%20baseFrequency='0.9'%20numOctaves='2'/%3E%3CfeColorMatrix%20type='saturate'%20values='0'/%3E%3C/filter%3E%3Crect%20width='140'%20height='140'%20filter='url(%23n)'/%3E%3C/svg%3E")}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;pointer-events:none;background:radial-gradient(120% 90% at 50% 45%,transparent 62%,rgba(0,0,0,.24) 100%)}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.accent-coral{--accent: var(--coral);--accent-soft: var(--coral-soft)}.accent-lime{--accent: var(--lime);--accent-soft: var(--lime-soft)}.accent-amber{--accent: var(--amber);--accent-soft: var(--amber-soft)}::-webkit-scrollbar{width:0;height:0}*{scrollbar-width:none;-ms-overflow-style:none}.home{position:relative;z-index:1;min-height:100%;display:flex;flex-direction:column;align-items:center;padding:8vh 24px 48px;overflow:hidden;user-select:none;-webkit-user-select:none;background:radial-gradient(ellipse 90% 55% at 50% -12%,rgba(255,255,255,.04),transparent 62%),radial-gradient(ellipse 70% 60% at 50% 118%,rgba(0,0,0,.85),transparent 70%),linear-gradient(180deg,#07070b,#0c0d14 46%,#05060a)}.home:before{content:"";position:fixed;top:-220px;left:50%;width:720px;height:440px;transform:translate(-50%);background:radial-gradient(ellipse 50% 60% at 30% 40%,var(--coral-soft),transparent 70%),radial-gradient(ellipse 50% 60% at 70% 60%,var(--lime-soft),transparent 70%);filter:blur(8px);pointer-events:none}.home:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:radial-gradient(circle at 12% 22%,rgba(255,255,255,.7) 0 1px,transparent 1.3px),radial-gradient(circle at 78% 16%,rgba(255,255,255,.5) 0 1px,transparent 1.2px),radial-gradient(circle at 33% 68%,rgba(180,210,255,.5) 0 1px,transparent 1.3px),radial-gradient(circle at 88% 74%,rgba(255,220,180,.45) 0 1px,transparent 1.2px),radial-gradient(circle at 55% 38%,rgba(255,255,255,.4) 0 1px,transparent 1.2px);background-size:260px 260px,340px 340px,420px 420px,300px 300px,520px 520px;background-position:0 0,40px 80px,120px 40px,200px 120px,60px 200px;opacity:.35;mix-blend-mode:screen;animation:star-drift 90s linear infinite}@keyframes star-drift{0%{transform:translateZ(0)}to{transform:translate3d(-180px,-120px,0)}}.home-header{position:relative;text-align:center;margin-bottom:56px}.brand{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:22px;letter-spacing:.18em}.brand-mark{color:var(--lime);text-shadow:0 0 18px var(--lime-soft)}.brand-sub{margin:14px 0 0;color:var(--text-dim);font-size:15px;letter-spacing:.08em}.app-grid{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,380px));gap:28px;justify-content:center;width:100%;max-width:860px}.app-grid:before{content:"";position:absolute;left:50%;top:50%;width:min(900px,92vw);height:380px;transform:translate(-50%,-50%);z-index:-1;pointer-events:none;background:radial-gradient(ellipse 42% 55% at 18% 50%,rgba(255,107,107,.1),transparent 70%),radial-gradient(ellipse 42% 55% at 82% 50%,rgba(0,255,157,.08),transparent 70%),radial-gradient(ellipse 52% 58% at 50% 55%,rgba(120,140,220,.08),transparent 72%);filter:blur(46px)}.app-card{position:relative;display:flex;flex-direction:column;gap:14px;padding:30px 28px;background:linear-gradient(180deg,var(--bg-panel),rgba(23,23,28,.7));border:1px solid var(--border);border-radius:18px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.app-card:hover{transform:translateY(-6px);border-color:var(--card-accent);box-shadow:0 18px 48px -18px var(--card-glow),inset 0 1px #ffffff0f}.app-card.coral{--card-accent: var(--coral);--card-glow: var(--coral-soft)}.app-card.lime{--card-accent: var(--lime);--card-glow: var(--lime-soft)}.app-card.amber{--card-accent: var(--amber);--card-glow: var(--amber-soft)}.card-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;font-size:24px;color:#101014;background:linear-gradient(135deg,var(--card-accent),color-mix(in srgb,var(--card-accent) 55%,#ffffff));box-shadow:0 8px 24px -8px var(--card-accent)}.app-card h2{margin:0;font-size:20px;letter-spacing:.04em}.app-card p{margin:0;color:var(--text-dim);font-size:14px;line-height:1.7}.enter{margin-top:6px;font-family:var(--mono);font-size:13px;letter-spacing:.06em;color:var(--card-accent)}.home-footer{position:relative;margin-top:64px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--text-dim);opacity:.7}.chat-page{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;min-height:100vh;background:radial-gradient(ellipse 70% 36% at 50% 0%,var(--accent-soft),transparent 70%),var(--bg)}.chat-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:14px;height:60px;padding:0 20px;background:#101014e0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.back-btn{font-size:13px;color:var(--text-dim);padding:7px 12px;border:1px solid var(--border);border-radius:999px;transition:color .2s,border-color .2s}.back-btn:hover{color:var(--text);border-color:var(--accent)}.header-title{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:600;letter-spacing:.04em}.title-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent)}.chat-id{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--text-dim);border:1px dashed var(--border);padding:5px 10px;border-radius:8px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-session-btn{padding:7px 14px;font-size:13px;color:var(--accent);background:transparent;border:1px solid var(--accent);border-radius:999px;transition:background .2s,color .2s,box-shadow .2s}.new-session-btn:hover{background:var(--accent);color:#101014;box-shadow:0 0 18px var(--accent-soft)}.chat-body{flex:1;overflow-y:auto;padding:28px 20px 20px}.chat-body-inner{max-width:820px;margin:0 auto;min-height:100%;display:flex;flex-direction:column;justify-content:flex-start;gap:18px}.empty-state{margin:auto;padding:80px 0;text-align:center;color:var(--text-dim)}.empty-glyph{font-size:42px;margin-bottom:14px;color:var(--accent);opacity:.85;text-shadow:0 0 24px var(--accent-soft)}.empty-state p{margin:0;font-size:14px;letter-spacing:.04em;line-height:1.8}.msg-row{display:flex;gap:12px;align-items:flex-start}.msg-row.user{flex-direction:row-reverse}.avatar{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.04em;-webkit-user-select:none;user-select:none}.msg-row.ai .avatar{color:#101014;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 60%,#ffffff));box-shadow:0 0 14px var(--accent-soft)}.msg-row.user .avatar{color:var(--text-dim);background:var(--bg-raised);border:1px solid var(--border)}.bubble{max-width:74%;padding:12px 16px;border-radius:14px;font-size:14.5px;line-height:1.75;white-space:pre-wrap;word-break:break-word}.msg-row.ai .bubble{white-space:normal}.bubble-text p{margin:0 0 8px}.bubble-text p:last-child{margin-bottom:0}.bubble-text ul,.bubble-text ol{margin:4px 0 8px;padding-left:22px}.bubble-text li{margin:2px 0}.bubble-text code{padding:1px 6px;font-family:var(--mono);font-size:13px;color:var(--accent);background:var(--accent-soft);border-radius:6px}.bubble-text pre{margin:8px 0;padding:10px 12px;overflow-x:auto;background:var(--bg);border:1px solid var(--border);border-radius:10px}.bubble-text pre code{padding:0;background:transparent}.bubble-text blockquote{margin:6px 0;padding-left:12px;border-left:3px solid var(--accent);color:var(--text-dim)}.msg-row.ai .bubble{border-top-left-radius:4px;background:#ffffff0a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.07);border-left:2px solid var(--accent);box-shadow:0 12px 32px -24px #000000e6}.msg-row.user .bubble{border-top-right-radius:4px;background:#ffffff12;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);box-shadow:0 12px 32px -24px #000000e6}.stream-cursor{color:var(--accent);animation:blink 1.05s steps(1) infinite}@keyframes blink{50%{opacity:0}}.error-banner{max-width:820px;margin:0 auto 14px;padding:10px 14px;border:1px solid rgba(255,107,74,.45);background:#ff6b4a14;border-radius:10px;color:#ffb4a0;font-size:13px;font-family:var(--mono)}.chat-input-bar{position:sticky;bottom:0;z-index:5;padding:14px 20px 18px;background:#101014eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border)}.input-row{max-width:820px;margin:0 auto;display:flex;gap:12px;align-items:flex-end}.chat-input-bar textarea{flex:1;resize:none;min-height:46px;max-height:140px;padding:12px 16px;color:var(--text);font:14.5px/1.6 var(--sans);background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;outline:none;transition:border-color .2s,box-shadow .2s}.chat-input-bar textarea::placeholder{color:var(--text-dim)}.chat-input-bar textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.send-btn,.stop-btn{flex:none;height:46px;min-width:92px;padding:0 20px;border-radius:12px;font-size:14px;font-weight:600;letter-spacing:.06em;transition:filter .2s,box-shadow .2s,opacity .2s}.send-btn{color:#101014;background:var(--accent);border:none;box-shadow:0 8px 22px -8px var(--accent)}.send-btn:hover:not(:disabled){filter:brightness(1.1)}.send-btn:disabled{opacity:.38;cursor:not-allowed;box-shadow:none}.stop-btn{color:var(--text);background:transparent;border:1px solid var(--accent)}.stop-btn:hover{background:var(--accent-soft);box-shadow:0 0 16px var(--accent-soft)}@media(max-width:640px){.chat-id{display:none}.bubble{max-width:86%}.app-grid{grid-template-columns:1fr}}.particle-field{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.home-header,.app-grid,.home-footer{position:relative;z-index:1}.aurora{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.aurora-blob{position:absolute;width:58vmax;height:58vmax;border-radius:50%;filter:blur(42px);mix-blend-mode:screen;will-change:transform,opacity}.blob-a{top:-28%;left:-24%;background:radial-gradient(circle at 35% 35%,var(--coral-soft),transparent 68%);animation:drift-a 13s ease-in-out infinite}.blob-b{top:-16%;right:-26%;background:radial-gradient(circle at 60% 60%,var(--lime-soft),transparent 68%);animation:drift-b 16s ease-in-out infinite}.blob-c{bottom:-30%;left:16%;background:radial-gradient(circle at 45% 45%,rgba(255,255,255,.05),transparent 68%);animation:drift-a 19s ease-in-out infinite reverse}@keyframes drift-a{0%{transform:translate(0) scale(1) rotate(0);opacity:.45}25%{transform:translate(22vw,-10vh) scale(1.28) rotate(14deg);opacity:.75}50%{transform:translate(42vw,16vh) scale(1.4) rotate(28deg);opacity:.85}75%{transform:translate(24vw,30vh) scale(1.2) rotate(12deg);opacity:.6}to{transform:translate(0) scale(1) rotate(0);opacity:.45}}@keyframes drift-b{0%{transform:translate(0) scale(1) rotate(0);opacity:.45}30%{transform:translate(-26vw,6vh) scale(1.3) rotate(-16deg);opacity:.7}55%{transform:translate(-44vw,22vh) scale(1.45) rotate(-30deg);opacity:.85}80%{transform:translate(-22vw,34vh) scale(1.18) rotate(-12deg);opacity:.6}to{transform:translate(0) scale(1) rotate(0);opacity:.45}}.brand-type{overflow:hidden;white-space:nowrap;width:0;animation:type-in 1.3s steps(11,end) .25s forwards}@keyframes type-in{to{width:calc(11ch + 2.2em)}}.brand-cursor{width:3px;height:1.05em;border-radius:2px;background:var(--lime);box-shadow:0 0 10px var(--lime);animation:blink 1s steps(1) infinite}.home-header{animation:rise-in .8s ease both}.app-grid{animation:rise-in .9s ease .15s both}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}}.app-card{transform:perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(var(--lift, 0px));transition:transform .18s ease-out,box-shadow .3s ease,border-color .3s ease;will-change:transform,box-shadow;transform-style:preserve-3d;animation:card-in .55s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:calc(var(--i, 0) * .12s)}.app-card:hover{--lift: -8px}@keyframes card-in{0%{opacity:0;transform:translateY(26px) scale(.96)}}.app-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(420px circle at var(--gx, 50%) var(--gy, 50%),rgba(255,255,255,.09),transparent 60%);opacity:0;transition:opacity .25s;pointer-events:none}.app-card:hover:after{opacity:1}.card-icon{transition:transform .3s ease}.app-card:hover .card-icon{transform:scale(1.08) rotate(-4deg)}.enter{transition:transform .25s ease,letter-spacing .25s ease}.app-card:hover .enter{transform:translate(5px);letter-spacing:.12em}.chat-body{position:relative;z-index:1}.msg-enter-active{transition:opacity .35s ease,transform .35s ease}.msg-enter-from{opacity:0;transform:translateY(14px) scale(.98)}.msg-leave-active{transition:opacity .2s ease,transform .2s ease}.msg-leave-to{opacity:0;transform:translateY(-8px) scale(.98)}.msg-row.ai .bubble.is-streaming{border-color:var(--accent);animation:bubble-glow 1.6s ease-in-out infinite}@keyframes bubble-glow{0%,to{box-shadow:0 6px 24px -14px var(--accent-soft)}50%{box-shadow:0 6px 30px -8px var(--accent-soft),0 0 0 1px var(--accent-soft)}}.msg-row.ai .avatar{animation:avatar-float 4.5s ease-in-out infinite}@keyframes avatar-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.chat-id{cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .2s,color .2s,background .2s}.chat-id:hover{border-color:var(--accent);color:var(--text)}.chat-id.copied{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.send-btn:active:not(:disabled){transform:scale(.95)}.stop-btn{animation:stop-pulse 1.5s ease-out infinite}@keyframes stop-pulse{0%{box-shadow:0 0 0 0 var(--accent-soft)}70%{box-shadow:0 0 0 12px #0000}to{box-shadow:0 0 #0000}}.ripple-host{position:relative;overflow:hidden}.ripple{position:absolute;border-radius:50%;background:#ffffff59;transform:scale(0);animation:ripple .55s ease-out forwards;pointer-events:none}@keyframes ripple{to{transform:scale(1);opacity:0}}.click-burst-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999}.click-burst{position:absolute;width:6px;height:6px;border-radius:50%;box-shadow:0 0 8px #ffffff8c;animation:click-burst .6s ease-out forwards}@keyframes click-burst{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.2)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--bg: #0a0a0f;--bg-panel: #12121a;--bg-raised: #1a1a2e;--border: #262638;--text: #f2f0ea;--text-dim: #a5a2b8;--rose: #ff6b6b;--rose-soft: rgba(255, 107, 107, .16);--neon: #00ff9d;--neon-soft: rgba(0, 255, 157, .13);--amber: #ffa500;--amber-soft: rgba(255, 165, 0, .15);--coral: #ff6b6b;--coral-soft: rgba(255, 107, 107, .16);--lime: #00ff9d;--lime-soft: rgba(0, 255, 157, .13);--font-serif: "Playfair Display", "Noto Serif SC", Georgia, "Times New Roman", "Songti SC", "STSong", "SimSun", serif;--font-hand: "Kaiti SC", "STKaiti", "KaiTi", "Segoe Script", "Comic Sans MS", cursive;--ease-pop: cubic-bezier(.175, .885, .32, 1.275)}body{background:radial-gradient(ellipse 90% 55% at 50% -12%,rgba(255,255,255,.03),transparent 60%),radial-gradient(ellipse 60% 45% at 85% 105%,rgba(0,255,157,.025),transparent 65%),var(--bg)}.depth-objects{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden;perspective:1100px;transform:translate3d(calc((var(--lx, 50vw) - 50vw) * -.045),calc((var(--ly, 50vh) - 50vh) * -.045),0)}.orbit{position:absolute;border-radius:50%;border-width:1px;border-style:solid;transform-style:preserve-3d;animation-timing-function:ease-in-out}.orbit-a{left:5%;top:18%;width:230px;height:230px;border-color:#ff6b6b57;box-shadow:0 0 26px #ff6b6b24;animation:orbit-a 10s infinite}.orbit-b{right:8%;top:34%;width:160px;height:160px;border-color:#00ff9d4d;box-shadow:0 0 22px #00ff9d1f;animation:orbit-b 12s infinite}.orbit-c{left:44%;bottom:12%;width:120px;height:120px;border-color:#ffa5004d;box-shadow:0 0 20px #ffa5001f;animation:orbit-c 8s infinite}@keyframes orbit-a{0%,to{transform:translateZ(0) rotateX(66deg) rotateY(0) rotate(0)}25%{transform:translate3d(28px,-42px,0) rotateX(62deg) rotateY(18deg) rotate(24deg)}50%{transform:translate3d(-20px,-12px,0) rotateX(70deg) rotateY(-14deg) rotate(52deg)}75%{transform:translate3d(-32px,20px,0) rotateX(64deg) rotateY(10deg) rotate(30deg)}}@keyframes orbit-b{0%,to{transform:translateZ(0) rotateX(56deg) rotateY(0) rotate(0)}25%{transform:translate3d(-30px,-28px,0) rotateX(52deg) rotateY(-20deg) rotate(-24deg)}50%{transform:translate3d(18px,12px,0) rotateX(62deg) rotateY(16deg) rotate(-52deg)}75%{transform:translate3d(34px,-20px,0) rotateX(54deg) rotateY(-10deg) rotate(-32deg)}}@keyframes orbit-c{0%,to{transform:translateZ(0) rotateX(70deg) rotateY(0) rotate(0)}25%{transform:translate3d(24px,26px,0) rotateX(66deg) rotateY(22deg) rotate(30deg)}50%{transform:translate3d(-28px,-18px,0) rotateX(74deg) rotateY(-16deg) rotate(64deg)}75%{transform:translate3d(-20px,32px,0) rotateX(68deg) rotateY(12deg) rotate(38deg)}}.lens-flare{position:absolute;left:0;top:0;width:400px;height:400px;margin:-200px 0 0 -200px;z-index:0;pointer-events:none;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.045),rgba(255,255,255,.015) 38%,transparent 65%);filter:blur(14px);mix-blend-mode:screen;transform:translate(var(--lx, 60vw),var(--ly, 30vh));transition:transform .6s var(--ease-pop)}.home:before{opacity:.8}.app-card{background:linear-gradient(180deg,#ffffff09,#ffffff02);backdrop-filter:blur(10px) saturate(1.15);-webkit-backdrop-filter:blur(10px) saturate(1.15);border:1px solid rgba(255,255,255,.07);border-radius:22px;box-shadow:0 24px 60px -38px #000c,inset 0 1px #ffffff0f}.app-card:hover{--lift: -10px;border-color:var(--card-accent);box-shadow:0 42px 90px -40px #000000eb,0 0 0 1px var(--card-accent),0 0 42px -10px var(--card-glow),inset 0 1px #ffffff1a}.app-card:before{content:"";position:absolute;top:0;left:0;right:0;height:180px;border-radius:22px 22px 0 0;opacity:0;transition:opacity .5s ease;pointer-events:none;background:radial-gradient(ellipse 62% 70% at 50% -20%,var(--card-glow),transparent 72%),radial-gradient(ellipse 42% 34% at 50% 0%,var(--card-accent),transparent 74%);filter:blur(10px)}.app-card:hover:before{opacity:.85}.app-card h2{position:relative}.app-card h2:after{content:"";display:block;height:2px;width:100%;margin-top:10px;border-radius:2px;background:linear-gradient(90deg,var(--card-accent),transparent);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease-pop)}.app-card:hover h2:after{transform:scaleX(1)}.app-card:hover .card-icon.heart{animation:heart-beat 1.1s ease-in-out infinite}@keyframes heart-beat{0%,to{transform:scale(1)}30%{transform:scale(1.16)}55%{transform:scale(.96)}}.app-card:hover .card-icon.diamond{animation:diamond-shimmer 1.6s ease-in-out infinite}@keyframes diamond-shimmer{0%,to{filter:brightness(1)}50%{filter:brightness(1.35);transform:scale(1.06) rotate(8deg)}}.card-icon.soup{position:relative}.steam{position:absolute;top:-6px;width:3px;height:12px;border-radius:3px;background:#ffffff8c;opacity:0;pointer-events:none}.steam.s1{left:34%}.steam.s2{left:56%;animation-delay:.45s}.app-card:hover .steam{animation:steam-rise 1.4s ease-out infinite}@keyframes steam-rise{0%{opacity:0;transform:translateY(6px) scaleX(1)}35%{opacity:.75}to{opacity:0;transform:translateY(-16px) scaleX(1.8)}}.brand-type{letter-spacing:2px;text-shadow:0 0 14px rgba(0,255,157,.5),0 0 40px rgba(0,255,157,.22),0 2px 4px rgba(0,0,0,.6)}.brand-sub{display:inline-block;overflow:hidden;white-space:nowrap;width:0;font-family:var(--font-serif);font-style:italic;font-weight:300;font-size:14px;letter-spacing:.22em;color:#f2f0ea9e;animation:sub-type 1.7s steps(10,end) 1.15s forwards,sub-fade 1.7s ease 1.15s both}@keyframes sub-type{to{width:13em}}@keyframes sub-fade{0%{opacity:0}to{opacity:1}}.chat-page:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(120% 85% at 50% -12%,var(--accent-soft),transparent 58%);animation:breathe 9s ease-in-out infinite}@keyframes breathe{0%,to{opacity:.18}50%{opacity:.42}}.chat-input-bar textarea{border-radius:24px;background:#ffffff0a;box-shadow:inset 0 2px 8px #0003;transition:border-color .25s,box-shadow .25s}.chat-input-bar textarea:focus{border-color:var(--accent);box-shadow:inset 0 2px 8px #0003,0 0 16px -8px var(--accent)}.chat-input-bar textarea::placeholder{color:#f2f0ea52}.send-btn{width:52px;min-width:52px;height:52px;padding:0;border-radius:50%;display:grid;place-items:center;font-size:20px;line-height:1}.send-btn:not(:disabled):hover{animation:send-pulse 1.8s ease-out infinite}@keyframes send-pulse{0%{box-shadow:0 8px 22px -8px var(--accent),0 0 0 0 var(--accent-soft)}70%{box-shadow:0 8px 22px -8px var(--accent),0 0 0 14px #0000}to{box-shadow:0 8px 22px -8px var(--accent),0 0 #0000}}.screen-flash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;background:#000;pointer-events:none;animation:screen-flash .55s ease-out forwards}@keyframes screen-flash{0%{opacity:0}18%{opacity:1}to{opacity:0}}.empty-state{position:relative}.empty-state:before{content:"";position:absolute;top:-40px;right:-80px;bottom:-40px;left:-80px;z-index:-1;background:radial-gradient(ellipse 70% 60% at 50% 50%,var(--accent-soft),transparent 70%);filter:blur(22px)}.empty-state .monologue{font-family:var(--font-serif);font-size:16px;letter-spacing:.14em;line-height:2.1;color:#f2f0ead1}.monologue-char{display:inline-block;opacity:0;animation:char-in .5s var(--ease-pop) forwards}@keyframes char-in{0%{opacity:0}to{opacity:1}}.turtle-page:before{content:"";position:fixed;top:-28%;left:50%;width:62vw;height:150vh;z-index:0;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(var(--beam-rgb, 255, 214, 140),.06),rgba(var(--beam-rgb, 255, 214, 140),.13),rgba(var(--beam-rgb, 255, 214, 140),.06),transparent);filter:blur(30px);animation:beam-sway 13s ease-in-out infinite alternate}.turtle-page:after{display:none}@keyframes beam-sway{0%{transform:translate(-56%) rotate(13deg)}to{transform:translate(-44%) rotate(17deg)}}.mode-classic{--mode-accent: var(--amber);--mode-soft: var(--amber-soft)}.mode-detective{--mode-accent: #9db4d0;--mode-soft: rgba(157, 180, 208, .16)}.mode-infinite{--mode-accent: #ff5fa2;--mode-soft: rgba(255, 95, 162, .16)}.mode-pill{position:relative;color:var(--text-dim);background:#ffffff08;border:1px solid var(--border);transition:color .3s,border-color .3s,box-shadow .3s,background .3s}.mode-pill:hover{color:var(--mode-accent);border-color:var(--mode-accent)}.mode-pill.active{color:#0a0a0f;background:var(--mode-accent);border-color:var(--mode-accent);box-shadow:0 0 22px -4px var(--mode-accent)}.mode-stage{animation:mode-in .3s var(--ease-pop)}@keyframes mode-in{0%{opacity:0;transform:translateY(18px) scale(.985)}}.turtle-empty{position:relative}.turtle-empty:before{content:"";position:absolute;top:-30px;right:-70px;bottom:-30px;left:-70px;z-index:-1;background:radial-gradient(ellipse 60% 55% at 50% 45%,rgba(255,200,110,.16),transparent 70%);filter:blur(18px)}.session-item{background:linear-gradient(180deg,#f2e6c8,#dfcca0);color:#3b2f17;border:1px solid rgba(90,70,30,.35);border-radius:10px;box-shadow:inset 0 1px #ffffff80,0 5px 12px -7px #000000a6;transition:transform .3s var(--ease-pop),box-shadow .3s,border-color .3s}.session-item:hover{border-color:#8c692899;box-shadow:inset 0 1px #ffffff80,0 12px 22px -12px #000000bf}.session-item.active{border-color:#a0782dbf;box-shadow:inset 0 1px #ffffff80,0 0 0 1px #a0782d59}.session-name{font-family:var(--font-serif);color:#3b2f17}.session-meta{color:#3b2f179e}.clear-btn.danger{background:#c8463729;border-color:#c86450;color:#e8b4a8}.session-list.shredding .session-item{animation:shred .5s var(--ease-pop) forwards;animation-delay:calc(var(--i, 0) * 55ms)}@keyframes shred{to{opacity:0;transform:translateY(46px) rotate(var(--rot, 6deg)) scale(.72);filter:blur(2px)}}.turtle-page .msg-row.user .bubble{background:linear-gradient(180deg,#f7f1e2,#ece0c2);color:#2c2418;border:1px solid rgba(90,70,30,.28);box-shadow:inset 0 1px #ffffffa6,0 12px 26px -20px #000c}.turtle-page .msg-row.ai .bubble{background:linear-gradient(180deg,#211b13,#15100a);color:#ece3cf;border:1px solid rgba(255,210,130,.18);box-shadow:0 10px 26px -20px #000000e6,inset 0 1px #ffdc960d}.turtle-page .msg-row.user .avatar{background:#e6d9b8;color:#3b2f17;border:1px solid rgba(90,70,30,.3)}.turtle-page .msg-row.ai .avatar{background:linear-gradient(135deg,orange,#7a4b00)}.turtle-page{overflow:hidden}.turtle-header{gap:10px}.mode-pills{display:flex;align-items:center;gap:6px;margin-left:auto;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.mode-pills::-webkit-scrollbar{display:none}.mode-pill{flex:none;padding:6px 12px;font-size:12.5px;color:var(--text-dim);background:transparent;border:1px solid var(--border);border-radius:999px;white-space:nowrap;transition:color .2s,border-color .2s,background .2s}.mode-pill:hover{color:var(--text);border-color:var(--accent)}.mode-pill.active{color:#101014;background:var(--accent);border-color:var(--accent);box-shadow:0 0 14px var(--accent-soft)}.sidebar-toggle{display:block;width:36px;height:36px;font-size:16px;color:var(--text);background:transparent;border:1px solid var(--border);border-radius:10px;transition:color .2s,border-color .2s,box-shadow .2s}.turtle-main{position:relative;flex:1;min-height:0;display:flex;align-items:stretch}.session-sidebar{flex:none;width:250px;display:flex;flex-direction:column;background:#17171cb8;border-right:1px solid var(--border);overflow:hidden}.sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 10px;font-size:13px;font-weight:600;color:var(--text-dim);letter-spacing:.05em}.clear-btn{padding:4px 10px;font-size:12px;color:var(--text-dim);background:transparent;border:1px solid var(--border);border-radius:8px;transition:color .2s,border-color .2s}.clear-btn:hover{color:var(--accent);border-color:var(--accent)}.session-list{flex:1;overflow-y:auto;padding:0 10px 12px;display:flex;flex-direction:column;gap:6px}.session-item{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:background .2s,border-color .2s}.session-item:hover{border-color:var(--accent)}.session-item.active{background:var(--accent-soft);border-color:var(--accent)}.session-name{flex:1;min-width:0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-meta{flex:none;font-size:11px;font-family:var(--mono);color:var(--text-dim)}.session-meta.finished{color:var(--accent)}.session-del{flex:none;width:20px;height:20px;line-height:1;font-size:14px;color:var(--text-dim);background:transparent;border:none;border-radius:6px;opacity:0;transition:opacity .2s,color .2s,background .2s}.session-item:hover .session-del{opacity:1}.session-del:hover{color:var(--coral);background:var(--coral-soft)}.sidebar-empty{padding:26px 10px;text-align:center;font-size:12.5px;color:var(--text-dim);line-height:1.8}.sidebar-mask{display:none}.finish-btn{flex:none;height:46px;min-width:72px;padding:0 18px;font-size:14px;font-weight:600;color:var(--accent);background:transparent;border:1px solid var(--accent);border-radius:12px;transition:background .2s,color .2s,box-shadow .2s}.finish-btn:hover{color:#101014;background:var(--accent);box-shadow:0 0 16px var(--accent-soft)}@media(max-width:768px){.turtle-header .new-session-btn{display:none}.sidebar-toggle{display:block}.mode-pills{margin-left:0}.session-sidebar{position:fixed;top:60px;bottom:0;left:0;z-index:30;width:78vw;max-width:300px;background:var(--bg-panel);border-right:1px solid var(--border);transform:translate(-105%);transition:transform .25s ease;box-shadow:0 0 40px #00000080}.session-sidebar.open{transform:translate(0)}.sidebar-mask{display:block;position:fixed;top:60px;right:0;bottom:0;left:0;z-index:25;background:#0000008c}.session-del{opacity:1}}@media(max-width:480px){.turtle-header{padding:0 10px;gap:8px}.turtle-header .back-btn{padding:6px 8px;font-size:12px}.mode-pill{padding:5px 9px;font-size:11.5px}.finish-btn{min-width:56px;padding:0 12px;font-size:13px}}.chat-header,.chat-input-bar{background:#0a0a0f80}.chat-page:not(.turtle-page):before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 62% 44% at 88% 110%,var(--accent-soft),transparent 66%),radial-gradient(ellipse 48% 36% at 8% 100%,rgba(255,255,255,.025),transparent 72%);animation:drift-depth 15s ease-in-out infinite alternate}@keyframes drift-depth{0%{opacity:.55;transform:translate3d(-1.1%,.3%,0) scale(1)}to{opacity:1;transform:translate3d(1.1%,-.6%,0) scale(1.045)}}.chat-header{position:sticky}.chat-header:after,.chat-input-bar:before{content:"";position:absolute;left:0;right:0;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--accent-soft),transparent);filter:blur(.4px)}.chat-header:after{bottom:-1px}.chat-input-bar:before{top:-1px}.chat-header{animation:header-in .35s var(--ease-pop) both}@keyframes header-in{0%{opacity:0;transform:translateY(-8px)}}.msg-row.ai .bubble{background:linear-gradient(170deg,rgba(255,255,255,.055),rgba(255,255,255,.018) 60%,var(--accent-soft) 135%);border-top:1px solid rgba(255,255,255,.07);border-right:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05);box-shadow:0 12px 32px -24px #000000e6,0 0 30px -20px var(--accent)}.msg-row.user .bubble{background:linear-gradient(135deg,var(--accent-soft),rgba(255,255,255,.04));border:1px solid var(--accent-soft);box-shadow:0 12px 32px -24px #000000e6}.msg-row.user .avatar{background:#ffffff0e;border:1px solid rgba(255,255,255,.14)}.empty-state:after{content:"";position:absolute;top:6px;left:50%;width:2px;height:44px;transform:translate(-50%);background:linear-gradient(180deg,transparent,var(--accent),transparent);box-shadow:0 0 20px var(--accent);opacity:.65;animation:beam-pulse 2.6s ease-in-out infinite}@keyframes beam-pulse{0%,to{opacity:.4;transform:translate(-50%) scaleY(.86)}50%{opacity:.95;transform:translate(-50%) scaleY(1.08)}}.bubble-text h1,.bubble-text h2,.bubble-text h3,.bubble-text h4{margin:12px 0 6px;font-family:var(--font-serif);font-weight:600;letter-spacing:.03em;line-height:1.5}.bubble-text h1{font-size:19px}.bubble-text h2{font-size:17px}.bubble-text h3,.bubble-text h4{font-size:15px}.bubble-text hr{border:none;height:1px;margin:12px 0;background:linear-gradient(90deg,transparent,var(--accent-soft),transparent)}.bubble-text strong{color:var(--text);font-weight:600}.bubble-text a{color:var(--accent);border-bottom:1px dashed var(--accent-soft)}.bubble-text table{border-collapse:collapse;width:100%;margin:8px 0;font-size:13px;line-height:1.6}.bubble-text th,.bubble-text td{border:1px solid rgba(255,255,255,.12);padding:6px 10px;text-align:left}.bubble-text th{background:var(--accent-soft);font-weight:600;white-space:nowrap}.bubble-text tr:nth-child(2n) td{background:#ffffff06}.send-btn{background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 72%,#ffffff))}.send-btn:hover:not(:disabled){box-shadow:0 8px 22px -8px var(--accent),0 0 0 5px var(--accent-soft)}.view-enter-active,.view-leave-active{transition:opacity .28s ease,transform .28s var(--ease-pop),filter .28s ease}.view-enter-from{opacity:0;transform:scale(1.008);filter:blur(6px)}.view-leave-to{opacity:0;transform:scale(.992);filter:blur(6px)}.turtle-page .chat-header:after{background:linear-gradient(90deg,transparent,var(--mode-accent, var(--accent-soft)),transparent)}.soup-atmosphere{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse 72% 50% at 50% -8%,rgba(var(--at-c1, 255, 180, 90),var(--at-a1, .1)),transparent 66%),radial-gradient(ellipse 55% 40% at 14% 106%,rgba(var(--at-c2, 255, 214, 140),var(--at-a2, .08)),transparent 70%),radial-gradient(ellipse 45% 34% at 86% 104%,rgba(var(--at-c3, 255, 160, 70),var(--at-a3, .06)),transparent 72%)}.soup-pattern{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.pattern-enter-active,.pattern-leave-active{transition:opacity .4s ease}.pattern-enter-from,.pattern-leave-to{opacity:0}.pattern-enter-active{transition-delay:.18s}.turtle-page .empty-state:after{background:linear-gradient(180deg,transparent,var(--mode-accent, var(--accent)),transparent);box-shadow:0 0 20px var(--mode-accent, var(--accent))}.soup-pattern.mode-classic:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='180'%20height='180'%3E%3Cfilter%20id='n'%3E%3CfeTurbulence%20type='fractalNoise'%20baseFrequency='0.8'%20numOctaves='3'%20stitchTiles='stitch'/%3E%3CfeColorMatrix%20type='saturate'%20values='0'/%3E%3C/filter%3E%3Crect%20width='180'%20height='180'%20filter='url(%23n)'%20opacity='0.55'/%3E%3C/svg%3E");background-size:180px 180px}.soup-pattern.mode-detective:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.16;background-image:repeating-linear-gradient(0deg,rgba(157,180,208,.18) 0 1px,transparent 1px 72px),repeating-linear-gradient(90deg,rgba(157,180,208,.12) 0 1px,transparent 1px 72px);-webkit-mask-image:radial-gradient(ellipse 90% 80% at 50% 40%,#000,transparent 78%);mask-image:radial-gradient(ellipse 90% 80% at 50% 40%,#000,transparent 78%)}.mode-detective .turtle-empty:before{background:radial-gradient(ellipse 60% 55% at 50% 45%,rgba(157,180,208,.18),transparent 70%)}.mode-detective .session-item{background:linear-gradient(180deg,#182232e6,#0e1420d9);color:#c8d6e8;border:1px solid rgba(157,180,208,.22);box-shadow:inset 0 1px #ffffff0a,0 5px 12px -7px #0009}.mode-detective .session-item:hover{border-color:#9db4d073;box-shadow:inset 0 1px #ffffff0a,0 12px 22px -12px #000000bf}.mode-detective .session-item.active{background:#1e2d42e6;border-color:#9db4d08c;box-shadow:inset 0 1px #ffffff0a,0 0 0 1px #9db4d04d}.mode-detective .session-name{font-family:var(--font-serif);color:#dbe6f2}.mode-detective .session-meta{color:#c8d6e88c}.mode-detective .msg-row.ai .bubble{background:linear-gradient(170deg,#9db4d01a,#141e2eb8);color:#dfe9f5;border:1px solid rgba(157,180,208,.24);box-shadow:0 10px 26px -20px #000000d9,0 0 24px -18px #9db4d080}.mode-detective .msg-row.user .bubble{background:linear-gradient(180deg,#1a263aeb,#101826e6);color:#d5e2f2;border:1px solid rgba(157,180,208,.18);box-shadow:0 12px 26px -20px #000c}.mode-detective .msg-row.ai .avatar{background:linear-gradient(135deg,#9db4d0,#51627a)}.mode-detective .msg-row.user .avatar{background:#141e2ee6;color:#b8cbe2;border:1px solid rgba(157,180,208,.25)}.mode-infinite .soup-atmosphere{animation:infinity-breathe 6s ease-in-out infinite alternate}@keyframes infinity-breathe{0%{opacity:.65}to{opacity:1}}.soup-pattern.mode-infinite:before,.soup-pattern.mode-infinite:after{content:"";position:absolute;left:50%;top:50%;width:44vmin;height:44vmin;border-radius:50%;border:1px solid rgba(255,95,162,.22);transform:translate(-50%,-50%);animation:ring-pulse 7s ease-out infinite}.soup-pattern.mode-infinite:after{border-color:#c77dff2e;animation-delay:3.5s}@keyframes ring-pulse{0%{opacity:0;transform:translate(-50%,-50%) scale(.45)}30%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(1.5)}}.mode-infinite .turtle-empty:before{background:radial-gradient(ellipse 60% 55% at 50% 45%,rgba(255,95,162,.2),transparent 70%)}.mode-infinite .session-item{background:linear-gradient(180deg,#281434b8,#170a1ecc);color:#f3d9ec;border:1px solid rgba(255,95,162,.22);box-shadow:0 0 18px -10px #ff5fa259,inset 0 1px #ffffff0a}.mode-infinite .session-item:hover{border-color:#ff5fa280;box-shadow:0 0 22px -8px #ff5fa266,inset 0 1px #ffffff0a}.mode-infinite .session-item.active{background:#3c194bbf;border-color:#ff5fa2;box-shadow:0 0 24px -8px #ff5fa273}.mode-infinite .session-name{color:#ffd6ea}.mode-infinite .session-meta{color:#f0c8eb8c}.mode-infinite .msg-row.ai .bubble{background:linear-gradient(170deg,#ff5fa21f,#1e0c2ab8);color:#ffdff0;border:1px solid rgba(255,95,162,.32);box-shadow:0 0 26px -10px #ff5fa273,0 10px 26px -20px #000000d9}.mode-infinite .msg-row.user .bubble{background:linear-gradient(135deg,#c77dff29,#240e32d1);color:#f1e2ff;border:1px solid rgba(199,125,255,.35);box-shadow:0 12px 26px -20px #000000d9}.mode-infinite .msg-row.ai .avatar{background:linear-gradient(135deg,#ff5fa2,#a64dff)}.mode-infinite .msg-row.user .avatar{background:#321446d9;color:#e8c9ff;border:1px solid rgba(199,125,255,.3)}.turtle-page .mode-pill:hover:not(.active){color:var(--mode-accent, var(--accent));border-color:var(--mode-accent, var(--accent))}.turtle-page .mode-pill.active{color:#101014;background:var(--mode-accent, var(--accent));border-color:var(--mode-accent, var(--accent));box-shadow:0 0 22px -4px var(--mode-accent, var(--accent))}.turtle-page .msg-row.ai .bubble.is-streaming{border-color:var(--mode-accent, var(--accent));animation:bubble-glow-mode 1.6s ease-in-out infinite}@keyframes bubble-glow-mode{0%,to{box-shadow:0 6px 24px -14px var(--mode-soft, var(--accent-soft))}50%{box-shadow:0 6px 30px -8px var(--mode-soft, var(--accent-soft)),0 0 0 1px var(--mode-soft, var(--accent-soft))}}@media(min-width:769px){.session-sidebar{transition:width .3s var(--ease-pop),border-color .3s ease,transform .3s ease}.session-sidebar.collapsed{width:0;border-right-color:transparent}.session-sidebar .sidebar-head,.session-sidebar .session-list{transition:opacity .22s ease;white-space:nowrap}.session-sidebar.collapsed .sidebar-head,.session-sidebar.collapsed .session-list{opacity:0}}.turtle-page .sidebar-toggle:hover{color:var(--mode-accent, var(--accent));border-color:var(--mode-accent, var(--accent));box-shadow:0 0 14px -4px var(--mode-soft, var(--accent-soft))}.turtle-page .back-btn:hover{color:var(--mode-accent, var(--accent));border-color:var(--mode-accent, var(--accent))}.turtle-page .clear-btn:hover:not(.danger){color:var(--mode-accent, var(--accent));border-color:var(--mode-accent, var(--accent))}.chat-header{background:#0a0a0f6b;backdrop-filter:blur(14px) saturate(1.5);-webkit-backdrop-filter:blur(14px) saturate(1.5);box-shadow:inset 0 1px #ffffff0f}.chat-input-bar{background:#0a0a0f6b;backdrop-filter:blur(14px) saturate(1.5);-webkit-backdrop-filter:blur(14px) saturate(1.5);box-shadow:inset 0 1px #ffffff0a}.session-sidebar{background:#10101680;backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-right:1px solid rgba(255,255,255,.07);box-shadow:inset 1px 0 #ffffff08}@media(max-width:768px){.session-sidebar{background:#0e0e14b8;backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4)}}.app-card{background:linear-gradient(135deg,#ffffff14,#ffffff02 45%,#ffffff0a),#ffffff03;backdrop-filter:blur(1.5px) saturate(150%) brightness(1.05);-webkit-backdrop-filter:blur(1.5px) saturate(150%) brightness(1.05);border:1px solid rgba(255,255,255,.34);box-shadow:inset 0 2px #ffffff42,inset 0 -2px #ffffff0a,inset 0 0 0 2px #ffffff08,0 24px 60px -34px #000000c7}.app-card:hover{border-color:#ffffff94;box-shadow:inset 0 2px #ffffff57,inset 0 -2px #ffffff14,inset 0 0 0 2px #ffffff0d,0 30px 70px -38px #000000e0,0 0 0 1px color-mix(in srgb,var(--card-accent) 20%,transparent)}.app-card:before,.app-card:hover:before{opacity:0}.msg-row.ai .bubble,.msg-row.user .bubble{backdrop-filter:blur(10px) saturate(1.35);-webkit-backdrop-filter:blur(10px) saturate(1.35)}.turtle-page .msg-row.ai .bubble,.turtle-page .msg-row.user .bubble{backdrop-filter:blur(8px) saturate(1.2);-webkit-backdrop-filter:blur(8px) saturate(1.2)}.overlay-scroll{position:absolute;top:0;right:2px;width:4px;border-radius:4px;background:#ffffff38;box-shadow:0 0 6px #00000059;opacity:0;transition:opacity .2s ease;pointer-events:none;z-index:6}.overlay-scroll.for-body{position:fixed;top:10px;bottom:10px;right:4px}.session-list{position:relative}.turtle-empty .monologue{user-select:none;-webkit-user-select:none;animation:monologue-fade 6s ease .2s forwards}@keyframes monologue-fade{0%,83%{opacity:1}to{opacity:0}}.content-enter-active,.content-leave-active{transition:opacity .25s ease}.content-enter-from,.content-leave-to{opacity:0}.pattern-leave-active{transition:opacity .25s ease}.pattern-enter-active{transition:opacity .5s ease;transition-delay:.2s}.turtle-page .chat-header:after{background:linear-gradient(90deg,transparent,rgba(var(--beam-rgb, 255, 214, 140),.35),transparent)}.turtle-page .chat-input-bar:before{background:linear-gradient(90deg,transparent,rgba(var(--beam-rgb, 255, 214, 140),.25),transparent)}.turtle-page .chat-input-bar textarea:focus{border-color:rgba(var(--beam-rgb, 255, 214, 140),.55);box-shadow:inset 0 2px 8px #00000040,0 0 0 3px var(--mode-soft, var(--accent-soft)),0 0 16px -8px rgba(var(--beam-rgb, 255, 214, 140),.55)}.turtle-page .mode-pill{transition:color .35s ease,border-color .35s ease,background .35s ease,box-shadow .35s ease,transform .25s var(--ease-pop)}.turtle-page .mode-pill:hover:not(.active){transform:translateY(-1px)}.turtle-page .mode-pill.active{transform:translateY(0)}.turtle-page .send-btn{background:linear-gradient(135deg,rgb(var(--beam-rgb, 255, 165, 0)),rgba(var(--beam-rgb, 255, 165, 0),.72));box-shadow:0 8px 22px -8px rgba(var(--beam-rgb, 255, 165, 0),.7)}.turtle-page .send-btn:hover:not(:disabled){box-shadow:0 8px 22px -8px rgba(var(--beam-rgb, 255, 165, 0),.7),0 0 0 5px var(--mode-soft, var(--accent-soft))}.turtle-page .stop-btn{color:rgb(var(--beam-rgb, 255, 214, 140));border-color:rgba(var(--beam-rgb, 255, 214, 140),.7)}.turtle-page .stop-btn:hover{background:var(--mode-soft, var(--accent-soft));box-shadow:0 0 16px var(--mode-soft, var(--accent-soft))}.turtle-page .finish-btn{color:rgb(var(--beam-rgb, 255, 214, 140));border-color:rgba(var(--beam-rgb, 255, 214, 140),.7)}.turtle-page .finish-btn:hover{background:rgb(var(--beam-rgb, 255, 214, 140));color:#101014;box-shadow:0 0 16px var(--mode-soft, var(--accent-soft))}.turtle-page .start-finish-btn{flex:none;height:52px;min-width:78px;padding:0 18px;border-radius:999px;font-size:14px;font-weight:600;color:#101014;background:rgb(var(--beam-rgb, 255, 214, 140));border:1px solid rgba(var(--beam-rgb, 255, 214, 140),.8);box-shadow:0 8px 22px -10px rgba(var(--beam-rgb, 255, 214, 140),.65);transition:background .25s,color .25s,border-color .25s,box-shadow .25s}.turtle-page .start-finish-btn.is-start{color:rgb(var(--beam-rgb, 255, 214, 140));background:transparent;border-color:rgba(var(--beam-rgb, 255, 214, 140),.7);box-shadow:none}.turtle-page .start-finish-btn:hover{box-shadow:0 10px 24px -10px rgba(var(--beam-rgb, 255, 214, 140),.75),0 0 0 4px var(--mode-soft, var(--accent-soft))}.turtle-page .start-finish-btn.is-start:hover{background:rgb(var(--beam-rgb, 255, 214, 140));color:#101014}.turtle-page .new-session-btn{color:rgb(var(--beam-rgb, 255, 214, 140));border-color:rgba(var(--beam-rgb, 255, 214, 140),.7)}.turtle-page .new-session-btn:hover{background:rgb(var(--beam-rgb, 255, 214, 140));color:#101014;box-shadow:0 0 18px var(--mode-soft, var(--accent-soft))}@media(max-width:768px){.turtle-page .start-finish-btn{height:46px;min-width:64px;padding:0 12px;font-size:13px}}@media(max-width:480px){.turtle-page .start-finish-btn{min-width:56px;padding:0 10px;font-size:12px}}.session-item{position:relative}.session-face{display:flex;align-items:center;gap:8px;min-width:0;transition:opacity .25s ease,transform .25s ease}.session-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--mode-accent, var(--accent));box-shadow:0 0 8px var(--mode-accent, var(--accent));transition:background .25s,box-shadow .25s,opacity .25s}.session-dot.finished{background:var(--text-dim);box-shadow:none;opacity:.78}.mode-detective .session-dot{background:#d8eaff;box-shadow:0 0 10px #d8eafff2}.mode-detective .session-dot.finished{background:var(--text-dim);box-shadow:none;opacity:.78}.session-front{flex:1 1 0;min-width:0}.session-back{position:absolute;left:10px;right:30px;top:50%;transform:translateY(6px);opacity:0;pointer-events:none;flex-direction:row;align-items:center;flex-wrap:nowrap;gap:8px}.session-item:hover .session-front{opacity:0;transform:translateY(-4px)}.session-item:hover .session-back{opacity:1;transform:translateY(-50%)}.session-back-meta{font-size:11px;font-family:var(--mono);color:inherit;letter-spacing:.02em}.session-back-content{display:flex;flex-direction:column;gap:2px;min-width:0}.session-back-desc{font-size:11px;color:inherit;opacity:.78}.session-back-tokens{font-size:11px;font-family:var(--mono);color:inherit;opacity:.72}.session-item.active{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.mode-classic .session-item.active{background:linear-gradient(180deg,#b9863b,#8f6729);border-color:#e2a654;box-shadow:inset 3px 0 #ffd58a,0 0 12px -6px #e2a65499;color:#fff6df}.mode-classic .session-item.active .session-name,.mode-classic .session-item.active .session-meta{color:#fff6df}.mode-detective .session-item.active{background:#405c82f2;border-color:#9db4d0;box-shadow:inset 3px 0 #9db4d0,0 0 14px -6px #9db4d099}.mode-detective .session-item.active .session-name,.mode-detective .session-item.active .session-meta{color:#f2f7ff}.mode-infinite .session-item.active{background:#692882eb;border-color:#ff5fa2;box-shadow:inset 3px 0 #ff5fa2,0 0 14px -6px #ff5fa299}.mode-infinite .session-item.active .session-name,.mode-infinite .session-item.active .session-meta{color:#ffe1f2}.turtle-page .session-name,.turtle-page .session-back-meta,.turtle-page .session-back-tokens,.turtle-page .chat-input-bar textarea,.turtle-page .msg-row .bubble{font-family:var(--font-serif)}
