.tori-fox{--tone:32,227,217;bottom:auto;font-family:inherit;left:50%;position:fixed;right:auto;top:74px;transform:translateX(-50%);z-index:2147482000}.tori-fox--positive{--tone:31,224,135}.tori-fox--danger,.tori-fox--negative{--tone:255,65,91}.tori-fox--warning{--tone:255,184,77}.tori-fox--neutral{--tone:32,227,217}.tori-fox__avatar-btn{background:#030a0eeb;border:1px solid rgba(var(--tone),.82);border-radius:50%;box-shadow:0 0 14px rgba(var(--tone),.6),0 0 36px rgba(var(--tone),.28);cursor:pointer;display:grid;height:84px;padding:0;place-items:center;position:relative;transition:.18s;width:84px}.tori-fox__avatar-btn:hover{transform:translateY(-3px) scale(1.03)}.tori-fox__avatar-btn img{animation:foxIdle 3.2s ease-in-out infinite;border-radius:50%;height:74px;object-fit:cover;width:74px}.tori-fox__pulse{animation:foxPulse 2s ease-out infinite;border:1px solid rgba(var(--tone),.58);border-radius:50%;inset:-7px;pointer-events:none;position:absolute}.tori-fox__hint{background:#030a0ef5;border:1px solid rgba(var(--tone),.5);border-radius:10px;color:#eaffff;font-size:12px;max-width:190px;padding:8px 11px;text-align:center;top:92px;width:-webkit-max-content;width:max-content}.tori-fox__hint,.tori-fox__panel{bottom:auto;left:50%;position:absolute;right:auto;transform:translateX(-50%)}.tori-fox__panel{animation:foxInTop .18s ease-out;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:radial-gradient(circle at 100% 0,rgba(var(--tone),.14),#0000 42%),#040c11f7;border:1px solid rgba(var(--tone),.56);border-radius:18px;box-shadow:0 18px 60px #00000094,0 0 28px rgba(var(--tone),.18);color:#edfafa;overflow:hidden;top:102px;width:min(390px,calc(100vw - 24px))}.tori-fox__panel header{border-bottom:1px solid #ffffff14;display:flex;gap:14px;justify-content:space-between;padding:16px}.tori-fox__panel header small{color:rgba(var(--tone),.95);display:block;font-size:10px;font-weight:800;letter-spacing:.1em}.tori-fox__panel header strong{display:block;font-size:16px;margin-top:5px}.tori-fox__panel header button{background:#ffffff0f;border:0;border-radius:8px;color:#dceeee;cursor:pointer;font-size:20px;height:30px;width:30px}.tori-fox__status{align-items:center;display:flex;font-size:12px;font-weight:700;gap:8px;padding:13px 16px 0}.tori-fox__status i{background:rgb(var(--tone));border-radius:50%;box-shadow:0 0 12px rgba(var(--tone),.95);height:9px;width:9px}.tori-fox__panel p{font-size:14px;line-height:1.55;margin:12px 16px 10px}.tori-fox__advice{background:rgba(var(--tone),.08);border-left:3px solid rgb(var(--tone));border-radius:8px;font-size:13px;line-height:1.45;margin:0 16px 14px;padding:11px 12px}.tori-fox__metrics{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr;padding:0 16px 14px}.tori-fox__metrics span{background:hsla(0,0%,100%,.025);border:1px solid #ffffff12;border-radius:9px;color:#91aaaa;font-size:11px;padding:8px 9px}.tori-fox__metrics b{color:#f2ffff}.tori-fox__panel footer{border-top:1px solid #ffffff12;display:flex;gap:8px;padding:12px 16px}.tori-fox__panel footer button{background:rgba(var(--tone),.09);border:1px solid rgba(var(--tone),.34);border-radius:9px;color:#eaffff;cursor:pointer;flex:1 1;font-size:11px;font-weight:700;min-height:36px}.tori-fox__panel em{color:#718888;display:block;font-size:9px;font-style:normal;padding:0 16px 14px}@keyframes foxIdle{0%,to{transform:translateY(0) rotate(-.8deg)}50%{transform:translateY(-3px) rotate(.8deg)}}@keyframes foxPulse{0%{opacity:.9;transform:scale(.92)}to{opacity:0;transform:scale(1.16)}}@keyframes foxIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes foxInTop{0%{opacity:0;transform:translate(-50%,-8px) scale(.98)}to{opacity:1;transform:translate(-50%) scale(1)}}@media(max-width:900px){.tori-fox{bottom:auto;left:50%;right:auto;top:62px;transform:translateX(-50%)}.tori-fox__avatar-btn{height:68px;width:68px}.tori-fox__avatar-btn img{height:60px;width:60px}.tori-fox__panel{top:82px;width:min(360px,calc(100vw - 20px))}.tori-fox__hint,.tori-fox__panel{bottom:auto;left:50%;right:auto;transform:translateX(-50%)}.tori-fox__hint{top:74px}}@media(prefers-reduced-motion:reduce){.tori-fox__avatar-btn img,.tori-fox__panel,.tori-fox__pulse{animation:none}}.tori-fox__actions{grid-gap:6px;display:grid;gap:6px;margin:0 16px 14px}.tori-fox__actions span{background:hsla(0,0%,100%,.025);border:1px solid rgba(var(--tone),.22);border-radius:8px;color:#dceeee;font-size:11px;padding:8px 10px}.tori-fox__chat-panel{display:flex;flex-direction:column;max-height:min(720px,78vh);overflow:hidden;width:min(430px,calc(100vw - 24px))}.tori-fox__quick{border-bottom:1px solid #ffffff14;display:flex;gap:6px;overflow-x:auto;padding:10px 12px}.tori-fox__quick button{background:#20e3d912;border:1px solid #20e3d93d;border-radius:999px;color:#dff;cursor:pointer;font-size:11px;padding:7px 9px;white-space:nowrap}.tori-fox__messages{display:flex;flex-direction:column;gap:9px;max-height:390px;min-height:220px;overflow:auto;padding:12px}.tori-fox__msg{border-radius:14px;font-size:13px;line-height:1.45;max-width:88%;padding:10px 12px;white-space:pre-wrap}.tori-fox__msg--assistant{align-self:flex-start;background:#ffffff12;border:1px solid #ffffff17;color:#eef}.tori-fox__msg--user{align-self:flex-end;background:#20e3d924;border:1px solid #20e3d940;color:#eff}.tori-fox__composer{grid-gap:7px;border-top:1px solid #ffffff14;display:grid;gap:7px;grid-template-columns:38px 1fr 38px;padding:10px 12px}.tori-fox__composer textarea{background:#00000040;border:1px solid #ffffff1f;border-radius:12px;color:#fff;max-height:90px;min-height:42px;outline:none;padding:10px;resize:none}.tori-fox__composer button{background:#20e3d91a;border:1px solid #20e3d93d;border-radius:12px;color:#fff;cursor:pointer}.tori-fox__composer button.is-listening{border-color:#f55;box-shadow:0 0 18px #ff4646b3}.tori-fox__error{background:#ff46461a;border-radius:10px;color:#ffb0b0;font-size:12px;margin:0 12px 8px;padding:8px 10px}.tori-fox__chat-panel footer{align-items:center;display:flex;gap:10px;justify-content:space-between}.tori-fox__chat-panel footer span{color:#9fb0ba;font-size:11px}@media(max-width:600px){.tori-fox__chat-panel{bottom:auto!important;left:8px!important;max-height:calc(100vh - 154px);position:fixed;right:8px!important;top:142px!important;transform:none!important;width:auto}.tori-fox__messages{max-height:42vh}}.tori-fox__msg.is-auto{background:rgba(var(--tone),.07);border-left:2px solid rgba(var(--tone),.75)}.tori-fox__msg.is-auto small{color:rgba(var(--tone),.9);display:block;font-size:8px;font-weight:800;letter-spacing:.12em;margin-bottom:5px}.tori-fox__chat-panel footer{flex-wrap:wrap}.tori-fox__chat-panel footer button{min-width:145px}.tori-fox__msg--assistant{white-space:pre-line}.tori-fox--long,.tori-fox--positive{--tone:31,224,135}.tori-fox--negative,.tori-fox--short{--tone:255,76,94}.tori-fox--wait{--tone:255,184,77}:root{--bg-0:#06080c;--bg-1:#0a0f14;--bg-2:#0f151c;--bg-3:#131b23;--panel:#0f151c94;--panel-strong:#0a0f15c2;--line:#ffffff14;--line-strong:#ffffff24;--text-1:#eef6fb;--text-2:#adc0cf;--text-3:#72869a;--accent:#20e3d9;--accent-glow:#20e3d93d}*{box-sizing:border-box}#root,body,html{background:#05080c;color:#eef6fb;font-family:Inter,Arial,sans-serif;margin:0;min-height:100%}body{overflow-x:hidden}body:before{background:linear-gradient(hsla(0,0%,100%,.015) 1px,#0000 0),linear-gradient(90deg,hsla(0,0%,100%,.015) 1px,#0000 0);background-size:36px 36px;content:"";inset:0;-webkit-mask-image:radial-gradient(circle at center,#000 42%,#0000 100%);mask-image:radial-gradient(circle at center,#000 42%,#0000 100%);opacity:.28;pointer-events:none;position:fixed}.app{background:radial-gradient(circle at 12% 8%,#20e3d91f,#0000 24%),radial-gradient(circle at 88% 8%,#00b2ff1a,#0000 22%),radial-gradient(circle at 50% 100%,#20e3d912,#0000 34%),linear-gradient(180deg,#05070a,#0b1016 46%,#070a0e);min-height:100vh}.topbar{align-items:center;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);background:linear-gradient(180deg,#0e141cc7,#080c12db);border-bottom:1px solid #ffffff14;display:flex;gap:20px;justify-content:space-between;padding:18px 22px}.brand{font-size:20px;font-weight:800;letter-spacing:1.4px}.sub{color:#adc0cf;font-size:13px;margin-top:5px}.controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.searchInput,select{background:#0e141c9e;border:1px solid #ffffff14;border-radius:10px;color:#f2f6ff;height:40px;min-width:130px;outline:none;padding:0 12px}.searchInput{min-width:170px}.status{align-items:center;border:1px solid #ffffff14;border-radius:999px;display:inline-flex;font-size:13px;font-weight:700;height:40px;letter-spacing:.6px;padding:0 12px;text-transform:uppercase}.status.live{background:#00d2961f;color:#8dffd5}.status.loading{background:#ffc4001a;color:#ffe28d}.status.disconnected,.status.error{background:#ff465a1f;color:#ff9cad}.error{background:#ff465a1a;border:1px solid #ff465a40;border-radius:12px;color:#ffc5ce;margin:16px 22px 0;padding:12px 14px}.content{grid-gap:18px;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 390px;padding:18px 22px 22px}.chartCard,.sideCard{background:linear-gradient(180deg,#131c26c7,#080c12b8);border:1px solid #ffffff12;border-radius:22px;box-shadow:0 16px 40px #00000061,inset 0 1px 0 #ffffff1a,inset 0 -1px 0 #ffffff08}.chartCard{padding:14px 14px 10px}.sideCard{padding:16px}.chartHeader{align-items:flex-end;display:flex;gap:12px;justify-content:space-between;padding:6px 6px 14px}.chartTitle{font-size:24px;font-weight:800}.chartMeta{color:#adc0cf;font-size:13px}.chartWrap{border-radius:14px;min-height:720px;overflow:hidden;width:100%}.panelTitle{font-size:16px;font-weight:800;margin-bottom:10px;margin-top:18px}.panelTitle:first-child{margin-top:0}.miniList{display:flex;flex-direction:column;gap:10px}.miniRow{grid-gap:10px;background:#0f151c8a;border:1px solid #ffffff0f;border-radius:12px;display:grid;gap:10px;grid-template-columns:1fr auto;padding:11px 12px}@media (max-width:1200px){.content{grid-template-columns:1fr}.chartWrap{min-height:620px}}@media (max-width:760px){.topbar{align-items:stretch;flex-direction:column}.controls{justify-content:space-between}.chartWrap{min-height:520px}}#root,body,html{height:100%}.main-content{display:flex;height:calc(100vh - 80px);min-height:0}.chart-area,.chart-panel,.chart-root,.chart-section,.chart-wrapper{flex:1 1 auto;height:calc(100vh - 140px);min-height:600px;position:relative}.chart,.chart-container,.chart-content,.heatmap-chart,.tv-chart-container{height:100%!important;min-height:600px;width:100%}.chart canvas,.chart-container canvas,.chart-content canvas,.heatmap-chart canvas,.tv-chart-container canvas{height:100%!important;width:100%!important}.right-sidebar,.side-panel,.sidebar{flex:0 0 320px;min-width:320px;width:320px}