.overlay[data-v-9afb2b0c]{z-index:100;background:#0009;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.panel.sheet[data-v-9afb2b0c]{background:var(--panel-solid);width:100%;max-width:380px}.social[data-v-9afb2b0c]{justify-content:center;width:100%;margin-bottom:8px}.gsi-slot[data-v-9afb2b0c]{color-scheme:normal;justify-content:center;min-height:44px;display:flex}.divider[data-v-9afb2b0c]{color:var(--muted,#888);align-items:center;gap:10px;margin:12px 0;font-size:.8rem;display:flex}.divider[data-v-9afb2b0c]:before,.divider[data-v-9afb2b0c]:after{content:"";border-top:1px solid var(--line,#ddd);flex:1}.mode-links[data-v-9afb2b0c]{justify-content:space-between;gap:8px;margin-top:14px;display:flex}.linky[data-v-9afb2b0c]{cursor:pointer;color:var(--accent,#4a7dff);background:0 0;border:none;margin:-.55rem 0;padding:.55rem 0;font-size:.85rem}.badges[data-v-2b3d5273]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.store-badge[data-v-2b3d5273]{border-radius:10px;display:inline-flex}.store-badge[data-v-2b3d5273]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.store-badge img[data-v-2b3d5273]{width:auto;height:44px;display:block}.apk[data-v-2b3d5273]{color:var(--muted);margin:8px 0 0;font-size:.8rem}.apk a[data-v-2b3d5273]{font-weight:650}.overlay[data-v-174d9dea]{z-index:100;background:#040810a8;justify-content:center;align-items:flex-end;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.overlay.desktop[data-v-174d9dea]{align-items:center;padding:18px}.panel.sheet[data-v-174d9dea]{background:var(--panel-solid);width:100%;max-width:480px;padding:20px 18px calc(22px + env(safe-area-inset-bottom,0px));border-radius:22px 22px 0 0;max-height:92vh;position:relative;overflow-y:auto}.desktop .panel.sheet[data-v-174d9dea]{border-radius:18px;max-width:600px;padding:24px}.x[data-v-174d9dea]{padding:.4rem .6rem;position:absolute;top:8px;right:8px}.title[data-v-174d9dea]{margin:0 32px 4px 0;font-size:1.1rem}.lead[data-v-174d9dea]{margin:0 0 12px;font-size:.88rem;line-height:1.5}.ben[data-v-174d9dea]{gap:9px;margin:0 0 14px;padding:0;list-style:none;display:grid}.ben li[data-v-174d9dea]{gap:10px;font-size:.88rem;line-height:1.45;display:flex}.ico[data-v-174d9dea]{background:#00ffcc1f;border-radius:7px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8rem;display:flex}.fine[data-v-174d9dea]{margin:6px 0 0;font-size:.78rem}.cols[data-v-174d9dea]{align-items:flex-start;gap:22px;display:flex}.qr[data-v-174d9dea]{background:#fffdf8;border-radius:12px;flex:none;width:160px;height:160px;padding:8px}.divider[data-v-174d9dea]{color:var(--muted);align-items:center;gap:10px;margin:14px 0 6px;font-size:.78rem;display:flex}.divider[data-v-174d9dea]:before,.divider[data-v-174d9dea]:after{content:"";border-top:1px solid var(--line);flex:1}.short[data-v-174d9dea]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 10px;display:flex}.here[data-v-174d9dea]{color:var(--text);border:none;padding:.4rem 0}.overlay[data-v-6e0fec48]{z-index:120;background:#0009;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.sheet[data-v-6e0fec48]{width:100%;max-width:380px}.update-banner[data-v-6e0fec48]{left:50%;bottom:calc(env(safe-area-inset-bottom,0) + 72px);z-index:90;background:var(--panel,#1b2130);color:var(--text,#eee);border-radius:12px;align-items:center;gap:12px;max-width:calc(100vw - 24px);padding:10px 14px;font-size:.88rem;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 6px 24px #00000059}.update-banner.failed[data-v-6e0fec48]{color:var(--danger,#f66)}.btn.sm[data-v-6e0fec48]{padding:.3rem .7rem;font-size:.82rem}:root{--bg:#070b14;--panel:#94b2ff0e;--panel-solid:#101728;--line:#94b2ff29;--text:#eaf0fb;--muted:#8aa0c6;--accent:#0fc;--accent-2:#7c5cff;--danger:#ff6b6b;--grad:linear-gradient(120deg, #0fc, #4dc9ff 55%, #7c5cff);--radius:18px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}*{box-sizing:border-box}html,body{height:100%}#app{min-height:100%}body{color:var(--text);-webkit-font-smoothing:antialiased;background:radial-gradient(60% 42% at 18% -8%, #00ffcc21, transparent 62%), radial-gradient(52% 38% at 88% -4%, #7c5cff29, transparent 60%), radial-gradient(70% 55% at 50% 115%, #4dc9ff12, transparent 65%), var(--bg);background-attachment:fixed;margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:none}h1{letter-spacing:-.02em;font-size:max(1.35rem,min(2.6vw + .7rem,1.9rem))}h2{letter-spacing:-.01em;font-size:max(1.15rem,min(1.8vw + .6rem,1.4rem))}h3{font-size:1.02rem}.container{max-width:1040px;margin:0 auto;padding:0 16px}.app-header{padding:calc(10px + env(safe-area-inset-top,0px)) 16px 10px;border-bottom:1px solid var(--line);z-index:10;-webkit-backdrop-filter:blur(14px)saturate(1.3);background:#070b14b8;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.app-header nav{align-items:center;gap:4px;font-size:.92rem;display:flex}.app-header nav a{color:var(--muted);border-radius:999px;padding:.38rem .9rem;font-weight:600}.app-header nav a.router-link-active{color:var(--text);box-shadow:inset 0 0 0 1px var(--line);background:#94b2ff1a}.brand{color:var(--text);letter-spacing:-.02em;align-items:center;gap:8px;margin:-10px 0;padding:10px 0;font-size:1.06rem;font-weight:800;display:inline-flex}.brand-logo{filter:drop-shadow(0 0 8px #00ffcc59);width:24px;height:24px}.head-l,.head-r{flex-wrap:nowrap;align-items:center;min-width:0;display:flex}.head-l{gap:12px}.head-r{flex:none;gap:8px}.acct-name{text-overflow:ellipsis;white-space:nowrap;max-width:32vw;font-size:.85rem;overflow:hidden}.acct-initial{background:var(--grad);color:#04121a;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;font-weight:800;display:none}.brand{white-space:nowrap}.brand b{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.tabbar{z-index:20;padding:6px 10px calc(6px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(16px)saturate(1.3);border-top:1px solid var(--line);background:#070b14d1;display:none;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:var(--muted);letter-spacing:.02em;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 0 4px;font-size:.68rem;font-weight:600;display:flex}.tabbar .ico{flex:none;display:block}.tabbar button{cursor:pointer;color:var(--muted);font:inherit;letter-spacing:.02em;background:0 0;border:0;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 0 4px;font-size:.68rem;font-weight:600;display:flex}.tabbar a.router-link-active{color:var(--accent)}main{padding:22px 0 64px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);padding:18px;box-shadow:0 18px 40px -28px #000c,inset 0 1px #ffffff0a}.btn{cursor:pointer;border:1px solid var(--line);color:var(--text);background:#94b2ff0f;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:.58rem 1.15rem;font-size:.92rem;font-weight:650;transition:border-color .15s,box-shadow .15s,transform 50ms;display:inline-flex}.btn:hover{border-color:#00ffcc80}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--grad);color:#04121a;border:none;box-shadow:0 6px 22px -8px #00ffcc8c}.btn.primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn.ghost{color:var(--muted);background:0 0}.btn.get-app{white-space:nowrap;color:var(--accent);background:#00ffcc0f;border-color:#0fc6;padding:.38rem .85rem;font-size:.85rem}.lang-wrap{position:relative}.lang-btn{gap:3px;padding:.38rem .55rem}.lang-caret{opacity:.7;transition:transform .15s}.lang-btn[aria-expanded=true] .lang-caret{transform:rotate(180deg)}.lang-menu{z-index:30;background:var(--panel-solid);border:1px solid var(--line);border-radius:12px;min-width:9.5rem;padding:6px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 32px -8px #0009}.lang-menu button{cursor:pointer;width:100%;color:var(--muted);font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:.5rem .7rem;font-size:.92rem;font-weight:600;display:flex}.lang-menu button:hover{color:var(--text);background:#94b2ff1a}.lang-menu button[aria-current=true]{color:var(--text)}.lang-menu button svg{color:var(--accent);flex:none}.lang-menu button.version-btn{white-space:nowrap;font-family:monospace;font-size:.72rem;font-weight:500}.btn.recording{background:var(--danger);border-color:var(--danger);color:#fff;animation:1.6s ease-out infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #ff6b6b73}70%{box-shadow:0 0 0 14px #ff6b6b00}to{box-shadow:0 0 #ff6b6b00}}.metrics{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.metric{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 14px 12px;position:relative;overflow:hidden}.metric:before{content:"";background:var(--grad);opacity:.55;height:2px;position:absolute;top:0;bottom:auto;left:0;right:0}.metric .value{letter-spacing:-.02em;background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:max(1.35rem,min(4.5vw,1.7rem));font-weight:800}.metric .label{color:var(--muted);margin-top:3px;font-size:.78rem}.metric .ico{opacity:.5;font-size:1rem;position:absolute;top:8px;right:10px}.bar{border:1px solid var(--line);background:#070b14b3;border-radius:999px;height:10px;overflow:hidden}.bar>div{background:var(--grad);background-size:200% 100%;border-radius:999px;height:100%;transition:width .25s;animation:1.6s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.muted{color:var(--muted)}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;display:grid}.card-link{color:inherit;display:block}input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=tel],textarea,select{width:100%;color:var(--text);border:1px solid var(--line);font:inherit;background:#070b14a6;border-radius:12px;padding:.62rem .85rem}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=number]:focus,input[type=search]:focus,input[type=tel]:focus,textarea:focus,select:focus{border-color:#00ffcc8c;outline:none;box-shadow:0 0 0 3px #00ffcc1f}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%238aa0c6' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right .85rem center;background-repeat:no-repeat;padding-right:2.2rem}label{color:var(--muted);margin:12px 0 6px;font-size:.86rem;display:block}input[type=file]{width:100%;color:var(--muted);font-size:.85rem}input[type=file]::-webkit-file-upload-button{cursor:pointer;border:1px solid var(--line);color:var(--text);font:inherit;background:#94b2ff14;border-radius:999px;margin-right:12px;padding:.5rem 1rem;font-size:.88rem;font-weight:650}input[type=file]::file-selector-button{cursor:pointer;border:1px solid var(--line);color:var(--text);font:inherit;background:#94b2ff14;border-radius:999px;margin-right:12px;padding:.5rem 1rem;font-size:.88rem;font-weight:650}input[type=file]::-webkit-file-upload-button:hover{border-color:#00ffcc80}input[type=file]::file-selector-button:hover{border-color:#00ffcc80}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;width:100%;height:26px}input[type=range]::-webkit-slider-runnable-track{background:#94b2ff2e;border-radius:999px;height:5px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--grad);border:2px solid #04121a;border-radius:50%;width:18px;height:18px;margin-top:-6.5px;box-shadow:0 2px 10px -2px #0fc9}input[type=range]::-moz-range-track{background:#94b2ff2e;border-radius:999px;height:5px}input[type=range]::-moz-range-thumb{background:#00e0c0;border:2px solid #04121a;border-radius:50%;width:16px;height:16px}input[type=checkbox]{accent-color:#00d9b6;width:1.05rem;height:1.05rem}@media (max-width:820px){input,input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=tel],input[type=file],textarea,select{font-size:16px}}details>summary{list-style:none}details>summary::-webkit-details-marker{display:none}details>summary:before{content:"▸ ";color:var(--accent)}details[open]>summary:before{content:"▾ "}.plotly-pinch .nsewdrag,.plotly-pinch .drag{touch-action:pan-y!important}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}@property --hplab-spin{syntax:"<angle>";inherits:false;initial-value:0deg}.hplab-chip{letter-spacing:.08em;-webkit-user-select:none;user-select:none;background:linear-gradient(#0a101eeb, #0a101eeb) padding-box, conic-gradient(from var(--hplab-spin), #0fc, #4dc9ff 30%, #7c5cff 55%, #7c5cff26 70%, #00ffcc26 85%, #0fc) border-box;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:.34rem .85rem .34rem .62rem;font-size:.72rem;font-weight:800;text-decoration:none;transition:box-shadow .25s,transform .12s;animation:5s linear infinite hplab-spin;display:inline-flex;position:relative}@keyframes hplab-spin{to{--hplab-spin:360deg}}.hplab-chip:hover{transform:translateY(-1px);box-shadow:0 0 16px -3px #00ffcc80,0 0 26px -6px #7c5cff8c}.hplab-chip:active{transform:translateY(0)}.hplab-chip .word{background:linear-gradient(90deg,#0fc,#4dc9ff 55%,#7c5cff);color:#0000;-webkit-background-clip:text;background-clip:text}.hplab-chip svg,.hplab-chip img{width:14px;height:14px;display:block}.hplab-chip:after{content:"";position:absolute;top:-9px;bottom:-9px;left:0;right:0}@media (prefers-reduced-motion:reduce){.hplab-chip{animation:none}}@media (max-width:760px){body{font-size:.92rem}.container{padding:0 12px}main{padding:16px 0 calc(84px + env(safe-area-inset-bottom,0px))}.app-header{padding-left:12px;padding-right:12px}.app-header nav.top-nav{display:none}.tabbar{display:flex}.app-header,.head-l{gap:10px}.head-r{gap:6px}.hplab-chip{padding:.34rem .5rem}.hplab-chip .word{display:none}.brand{gap:7px;font-size:1rem}.brand-logo{width:22px;height:22px}.lang-btn{padding:.4rem .5rem}.lang-btn .lang-caret,.btn.get-app{display:none}.btn.sign-in{padding:.45rem .9rem;font-size:.85rem}.acct-name{display:none}.acct-initial{display:inline-flex}.head-r .lang-btn.acct-btn{padding:2px}.head-r .lang-btn{padding:.4rem .5rem}.panel{border-radius:15px;padding:14px}.metrics{grid-template-columns:repeat(2,1fr);gap:9px}.metric{padding:11px 11px 10px}.btn{padding:.52rem 1rem;font-size:.88rem}h1{margin-top:0}.grid-cards{grid-template-columns:1fr}}.toast{z-index:70;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));background:#0f2a26;border:1px solid #0fc6;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;width:min(440px,100% - 32px);padding:11px 14px;font-size:.9rem;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px -10px #0009}.toast a{white-space:nowrap;font-weight:700}@media (max-width:760px){.toast{bottom:calc(76px + env(safe-area-inset-bottom,0px))}}.app-foot{text-align:center;margin:36px 0 8px;font-size:.82rem}.app-foot a{color:var(--muted)}.app-foot a:hover{color:var(--accent)}@media (max-width:350px){.hplab-chip{display:none}.brand{font-size:.95rem}}
