*{box-sizing:border-box}:root{--bg:#0b0e14;--surface:#161b26;--surface-2:#1e2533;--line:#2a3340;--text:#e9edf5;--muted:#96a1b5;--accent:#3b82f6;--accent-strong:#2563eb}html,body{min-height:100dvh;padding:0;padding-bottom:env(safe-area-inset-bottom);background:var(--bg);color:var(--text);background-image:radial-gradient(120% 60% at 50% 0%, #131a2a 0%, var(--bg) 62%);overscroll-behavior:none;background-attachment:fixed;margin:0;font:16px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}button{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--line);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border-radius:14px;min-height:52px;padding:14px 18px;font-weight:500;transition:transform .12s,background .2s,box-shadow .2s}button:active{transform:scale(.985)}button:disabled{opacity:.4}.push-to-talk>button:first-of-type{letter-spacing:.2px;color:#fff;background:linear-gradient(180deg, var(--accent) 0%, var(--accent-strong) 100%);border:none;min-height:112px;font-size:19px;font-weight:600;box-shadow:0 10px 28px #2563eb52,inset 0 1px #ffffff2e}.push-to-talk>button:first-of-type:active{box-shadow:0 4px 14px #2563eb4d,inset 0 1px #ffffff1f}.push-to-talk>button:not(:first-of-type){border:1px solid var(--line);color:var(--muted);background:0 0;min-height:46px;font-size:15px}.push-to-talk{flex-direction:column;gap:10px;max-width:560px;margin:0 auto;padding:0 20px 24px;display:flex}.status{min-height:22px;color:var(--muted);text-align:center;margin:2px 0 14px;font-size:15px}#hero{flex-direction:column;align-items:center;padding:4px 0 0;display:flex}.hero-caption{color:var(--muted);text-align:center;min-height:20px;margin:10px 0 18px;font-size:15px;transition:color .3s}.speaking .hero-caption,.listening .hero-caption{color:var(--text)}#avatarWrap{width:min(30vw,116px);height:min(30vw,116px);position:relative}#orb{background:radial-gradient(circle at 36% 30%,#ffffff8c 0%,#fff0 38%),radial-gradient(circle,#4d8dff 0%,#2d6cff 46%,#17356e 76%,#0e1f3d 100%);border-radius:50%;width:100%;height:100%;transition:box-shadow .35s,background .35s,transform .35s;animation:7s ease-in-out infinite drift;box-shadow:0 0 40px #2d6cff59,inset 0 -14px 34px #00000073}@keyframes drift{0%,to{transform:scale(1)translateY(0)}50%{transform:scale(1.012)translateY(-2px)}}#ring{opacity:0;pointer-events:none;border:3px solid #4da3ff8c;border-radius:50%;position:absolute;inset:-14px}.speaking #ring{animation:1.5s ease-out infinite ripple}@keyframes ripple{0%{opacity:.75;transform:scale(.94)}to{opacity:0;transform:scale(1.22)}}.speaking #orb{animation:none;transform:scale(1.03);box-shadow:0 0 52px #4da3ffb3,inset 0 -14px 34px #0006}.listening #orb{background:radial-gradient(circle at 36% 30%,#ffffff8c 0%,#fff0 38%),radial-gradient(circle,#5ce8a0 0%,#26b96c 46%,#12603a 76%,#0b3122 100%);box-shadow:0 0 40px #3ddc8480,inset 0 -14px 34px #0006}.listening #ring{border-color:#3ddc8480}.thinking #orb{background:radial-gradient(circle at 36% 30%,#ffffff80 0%,#fff0 38%),radial-gradient(circle,#b9aaff 0%,#7a6cff 46%,#3b2f8c 76%,#1d1745 100%);animation:1.9s ease-in-out infinite breathe;box-shadow:0 0 46px #7a6cff8c,inset 0 -14px 34px #0006}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}@media (prefers-reduced-motion:reduce){#orb,.thinking #orb{animation:none}.speaking #ring{opacity:.5;animation:none}}#wave{opacity:0;justify-content:center;align-items:flex-end;gap:7px;height:30px;margin-top:6px;transition:opacity .3s;display:flex}.speaking #wave,.thinking #wave,.listening #wave{opacity:1}#wave i{opacity:.35;transform-origin:bottom;will-change:transform;background:linear-gradient(#7ab8ff,#2d6cff);border-radius:4px;width:8px;height:10px;transition:opacity .25s}.speaking #wave i{opacity:1;animation:.9s ease-in-out infinite bar}.speaking #wave i:first-child,.speaking #wave i:nth-child(9){animation-delay:0s}.speaking #wave i:nth-child(2),.speaking #wave i:nth-child(8){animation-delay:90ms}.speaking #wave i:nth-child(3),.speaking #wave i:nth-child(7){animation-delay:.18s}.speaking #wave i:nth-child(4),.speaking #wave i:nth-child(6){animation-delay:.27s}.speaking #wave i:nth-child(5){animation-delay:.36s}@keyframes bar{0%,to{transform:scaleY(1)}50%{transform:scaleY(4.2)}}.thinking #wave i{opacity:.8;background:linear-gradient(#b9aaff,#7a6cff);animation:1.6s ease-in-out infinite think}.thinking #wave i:nth-child(2){animation-delay:.12s}.thinking #wave i:nth-child(3){animation-delay:.24s}.thinking #wave i:nth-child(4){animation-delay:.36s}.thinking #wave i:nth-child(5){animation-delay:.48s}.thinking #wave i:nth-child(6){animation-delay:.6s}.thinking #wave i:nth-child(7){animation-delay:.72s}.thinking #wave i:nth-child(8){animation-delay:.84s}.thinking #wave i:nth-child(9){animation-delay:.96s}@keyframes think{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.9)}}.topbar{justify-content:space-between;align-items:baseline;padding:16px 20px 10px;display:flex}.topbar h1{letter-spacing:.2px;margin:0;font-size:17px;font-weight:600}.topbar span{color:var(--muted);font-size:12.5px}details.brief{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin:4px 20px 24px;overflow:hidden}details.brief>summary{cursor:pointer;color:var(--text);justify-content:space-between;align-items:center;padding:14px 16px;font-size:14.5px;font-weight:600;list-style:none;display:flex}details.brief>summary::-webkit-details-marker{display:none}details.brief>summary:after{content:"＋";color:var(--muted);font-weight:400}details.brief[open]>summary:after{content:"－"}.brief-body{color:var(--muted);padding:0 16px 16px;font-size:14px;line-height:1.62}.brief-body strong{color:var(--text);font-weight:600}.brief-body h3{text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin:14px 0 4px;font-size:13px;font-weight:600}.brief-body ul{margin:4px 0 0;padding-left:18px}.brief-body li{margin-bottom:5px}.brief-foot{border-top:1px solid var(--line);color:var(--muted);margin-top:14px;padding-top:12px;font-size:12.5px}.shell{width:100%;max-width:560px;margin:0 auto}@media (min-width:700px){main{min-height:100dvh;display:flex}.shell{margin:auto}.push-to-talk>button:first-of-type{min-height:88px;font-size:18px}#avatarWrap{width:132px;height:132px}.topbar{padding-top:28px}}
