:root{--bg-color:#050505;--accent-color:#00a3e0}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:#fff;width:100vw;height:100dvh;padding-bottom:env(safe-area-inset-bottom,0px);font-family:Inter,system-ui,sans-serif;overflow:hidden}.app{background-color:var(--bg-color);width:100vw;height:100dvh;position:relative;overflow:hidden}#avatar-container{z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}#ui-layer{z-index:10;pointer-events:none;box-sizing:border-box;background:linear-gradient(#0000 70%,#000c 100%);flex-direction:column;justify-content:flex-end;width:100%;height:100%;padding:40px;display:flex;position:absolute;top:0;left:0}.status-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:1px;text-transform:uppercase;pointer-events:auto;background:#ffffff1a;border-radius:20px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex;position:absolute;top:90px;right:50px}.status-dot{background-color:#555;border-radius:50%;width:8px;height:8px;transition:background-color .3s}.status-dot.active{background-color:#0f8;box-shadow:0 0 10px #0f8}.status-dot.listening{background-color:#f36;animation:1s infinite pulse}.status-dot.thinking{background-color:#00a3e0;animation:.5s infinite blink}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.3)}to{opacity:1;transform:scale(1)}}@keyframes blink{0%{opacity:.3}50%{opacity:1}to{opacity:.3}}.mic-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;cursor:pointer;pointer-events:auto;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-self:center;align-items:center;width:64px;height:64px;margin-bottom:20px;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex}#captions{text-align:center;color:#ffffffe6;text-shadow:0 2px 4px #00000080;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;align-self:center;max-width:800px;min-height:24px;margin-bottom:30px;font-size:18px;display:-webkit-box;overflow:hidden}#start-overlay{z-index:100;cursor:pointer;background:#000000d9;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .5s;display:flex;position:fixed;top:0;left:0}#start-overlay.hidden{opacity:0;pointer-events:none}.start-text{letter-spacing:2px;margin-bottom:10px;font-size:24px;font-weight:300}.start-sub{color:#888;font-size:14px}.bearing-container{z-index:5;pointer-events:none;filter:drop-shadow(0 0 15px #00a3e080);justify-content:center;align-items:center;width:220px;height:220px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.reactor-ring{border:4px solid #00a3e01a;border-radius:50%;width:100%;height:100%;position:absolute;box-shadow:0 0 20px #00a3e033,inset 0 0 20px #00a3e033}.reactor-segments{border:4px solid #00a3e0;border-left:2px solid #0000;border-right:2px solid #0000;border-radius:50%;width:90%;height:90%;animation:10s linear infinite spin-slow;position:absolute}.reactor-segments:before{content:"";border:2px solid #0000;border-left:4px solid #fffc;border-right:4px solid #fffc;border-radius:50%;animation:6s linear infinite spin-reverse;position:absolute;inset:10px}.reactor-core{background:radial-gradient(circle,#fff,#00a3e0,#005a8d);border:2px solid #ffffff80;border-radius:50%;justify-content:center;align-items:center;width:40%;height:40%;animation:3s ease-in-out infinite pulse-core;display:flex;position:absolute;box-shadow:0 0 30px #00a3e0,0 0 60px #00a3e0}.reactor-core:after{content:"";border:1px solid #ffffff4d;border-radius:50%;width:70%;height:70%;position:absolute}.status-label-floating{color:#00a3e0;letter-spacing:4px;text-transform:uppercase;text-align:center;opacity:.8;text-shadow:0 0 10px #00a3e080;width:100%;font-family:Inter,sans-serif;font-size:14px;font-weight:500;position:absolute;bottom:-60px}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin-reverse{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes pulse-core{0%,to{opacity:.8;transform:scale(.95);box-shadow:0 0 30px #00a3e0}50%{opacity:1;transform:scale(1.05);box-shadow:0 0 50px #00a3e0,0 0 80px #00a3e099}}.active-speaker .reactor-core{background:radial-gradient(circle,#fff,#0fa,#008f5d);border-color:#0fa;animation:.5s ease-in-out infinite pulse-fast,.2s linear infinite shake;box-shadow:0 0 50px #0fa,0 0 100px #0fa}.active-speaker .reactor-segments{border-top-color:#0fa;border-bottom-color:#0fa;animation-duration:1s}.active-speaker .status-label-floating{color:#0fa;text-shadow:0 0 10px #0fa}@keyframes pulse-fast{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.thinking .reactor-core{background:radial-gradient(circle,#fff,#fa0,#b35900);animation-duration:1s;box-shadow:0 0 30px #fa0}.thinking .status-label-floating{color:#fa0;text-shadow:0 0 10px #fa0}.bearing-fab{width:70px;height:70px;bottom:calc(80px + env(safe-area-inset-bottom,0px));cursor:pointer;pointer-events:auto;z-index:100;background:#0a2540cc;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s,box-shadow .2s;display:flex;position:absolute;left:50%;right:auto;overflow:hidden;transform:translate(-50%);box-shadow:0 4px 15px #0000004d}.inital_logo{object-fit:contain;filter:drop-shadow(0 0 10px #00a3e080);width:120px;margin-left:10px}.fab-ring{border:3px solid #00a3e04d;border-top-color:#00a3e0;border-radius:50%;width:100%;height:100%;animation:8s linear infinite spin-slow;position:absolute}.fab-core{background:#00a3e0;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:inset 0 0 10px #0003}.logo-container{pointer-events:auto;background-color:#fff;flex-wrap:nowrap;justify-content:space-evenly;align-items:center;gap:10px;min-height:60px;padding:5px 10px;display:flex;position:absolute;top:0;left:0;right:0}.logo-container img{object-fit:contain}.mic-icon-fab{fill:#fff;width:20px;height:20px}.bearing-fab.active{background:linear-gradient(135deg,#00a3e0,#0fa);animation:1.5s infinite pulse-fab;box-shadow:0 0 20px #0fa}.bearing-fab.active .fab-core{background:#fff}.bearing-fab.active .mic-icon-fab{fill:#00a3e0}@keyframes pulse-fab{0%{box-shadow:0 0 #00ffaab3}70%{box-shadow:0 0 0 15px #0fa0}to{box-shadow:0 0 #0fa0}}@media (width<=600px){.bearing-container{width:160px;height:160px;top:42%}.status-label-floating{letter-spacing:2px;font-size:11px;bottom:-40px}#ui-layer{padding:16px}.status-badge{width:fit-content;padding:5px 10px;font-size:10px;top:70px;right:10px}.mic-button{width:56px;height:56px;margin-bottom:15px}#captions{max-width:90%;margin-bottom:20px;font-size:14px}.read_more{color:#00a3e0;background-color:#0000;border:none;outline:none}img[alt=NSK\ Logo]{width:60px!important;top:20px!important;right:20px!important}.bearing-fab{left:50%;right:auto;bottom:calc(110px + env(safe-area-inset-bottom,0px));width:62px;height:62px;transform:translate(-50%)!important}.logo-container{gap:6px;min-height:52px;padding:4px 8px}.logo-container img{max-width:60px;width:60px!important}}@media (height<=700px){.bearing-container{width:140px;height:140px}.connection-status{top:70px!important;left:10px!important}.bearing-fab{bottom:calc(90px + env(safe-area-inset-bottom,0px))}}@media (width<=500px){.inital_logo{width:80px!important}.start-text{font-size:14px}}@media (width<=320px){.inital_logo{width:60px!important}.start-text{font-size:14px}.start-sub{font-size:10px}}.stop-audio-btn{color:#fff;cursor:pointer;pointer-events:auto;z-index:20;white-space:nowrap;background:#f44;border:none;border-radius:30px;padding:10px 20px;font-size:13px;font-weight:700;position:absolute;bottom:200px;right:30px}@media (width<=600px){.stop-audio-btn{bottom:calc(185px + env(safe-area-inset-bottom,0px));padding:8px 16px;font-size:12px;right:50%;transform:translate(50%)}}.footer-credits{bottom:calc(10px + env(safe-area-inset-bottom,0px));text-align:center;opacity:.65;color:#fff;pointer-events:auto;z-index:20;width:92%;max-width:600px;font-size:11px;line-height:1.6;position:absolute;left:50%;transform:translate(-50%)}.footer-readmore-btn{color:#a0d4ff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto;vertical-align:middle;white-space:nowrap;background:0 0;border:1px solid #ffffff80;border-radius:10px;margin-left:6px;padding:2px 8px;font-size:10px;transition:all .2s}.terms-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:9999;background:#000000b8;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.terms-modal{color:#cce4ff;background:#081224f7;border:1px solid #00a3e038;border-radius:14px;width:100%;max-width:560px;max-height:88vh;padding:28px 24px 22px;font-family:Inter,system-ui,sans-serif;position:relative;overflow-y:auto;box-shadow:0 20px 50px #0000008c}.terms-modal::-webkit-scrollbar{width:4px}.terms-modal::-webkit-scrollbar-track{background:0 0}.terms-modal::-webkit-scrollbar-thumb{background:#00a3e04d;border-radius:4px}.terms-close{color:#c8e6ffcc;cursor:pointer;background:#ffffff12;border:1px solid #ffffff1f;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;line-height:1;transition:background .2s;display:flex;position:absolute;top:14px;right:14px}.terms-close:hover{background:#ffffff26}.terms-header{margin-bottom:14px;padding-right:36px}.terms-title{color:#fff;letter-spacing:.4px;margin-bottom:3px;font-size:16px;font-weight:700}.terms-subtitle{color:#a0d4ff8c;font-size:11px;font-style:italic}.terms-attribution{color:#a0d4ffa6;border-left:2px solid #00a3e073;margin-bottom:0;padding-left:10px;font-size:12px;line-height:1.65}.terms-attribution strong{color:#7ecfff;font-weight:600}.terms-divider{background:#00a3e026;height:1px;margin:16px 0}.terms-list{flex-direction:column;gap:0;display:flex}.terms-item{border-bottom:1px solid #ffffff0d;padding:13px 0}.terms-item:last-child{border-bottom:none;padding-bottom:0}.terms-item-label{color:#00a3e0;text-transform:uppercase;letter-spacing:.6px;margin-bottom:4px;font-size:12px;font-weight:600;display:block}.terms-item-text{color:#bedcffc7;margin:0;font-size:13px;line-height:1.65}.terms-footer{text-align:center;color:#8cc8ff59;letter-spacing:.3px;margin-top:18px;font-size:10px}@media (width<=480px){.terms-modal{border-radius:12px;max-height:90vh;padding:22px 16px 18px}.terms-title{font-size:15px}.terms-item-text{font-size:12px}.terms-attribution{font-size:11px}}
