*{margin:0;padding:0;box-sizing:border-box}html,body{width:100vw;height:100vh;overflow:hidden;font-family:Segoe UI,Microsoft YaHei,Arial,sans-serif;background:#0d0d1a;color:#e0e0e0}#vue-app{width:100%;height:100%}.top-nav{position:absolute;top:0;left:0;right:0;z-index:200;display:flex;gap:8px;padding:8px 16px;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.nav-link{padding:6px 16px;border-radius:6px;background:#2a2a4a;color:#ccc;text-decoration:none;font-size:.85rem;font-weight:600;transition:background .15s}.nav-link:hover{background:#3a3a5a}.nav-link.router-link-active{background:#4c6ef5;color:#fff}.home-page[data-v-b3fb5ed6]{height:100%;padding:24px;overflow-y:auto}.page-title[data-v-b3fb5ed6]{font-size:1.2rem;color:#aac;margin-bottom:16px;letter-spacing:.5px}.video-list[data-v-b3fb5ed6]{display:flex;flex-direction:column;gap:32px}.video-item[data-v-b3fb5ed6]{display:flex;align-items:center;justify-content:space-between;gap:32px;background:#15152a;border:1px solid #2a2a4a;border-radius:8px;padding:12px 16px;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}.video-item[data-v-b3fb5ed6]:hover{background:#1a1a35;border-color:#3a3a6a;transform:translateY(-1px)}.video-info .user[data-v-b3fb5ed6]{font-size:.95rem;font-weight:700;color:#e0e0e0;margin-bottom:4px}.video-info .meta[data-v-b3fb5ed6]{font-size:.72rem;color:#778}.item-actions[data-v-b3fb5ed6]{display:flex;align-items:center;gap:32px;flex-shrink:0}.upload-icon[data-v-b3fb5ed6]{width:36px;height:36px;border-radius:50%;background:#2a7d32;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.9rem;cursor:pointer;transition:filter .15s}.upload-icon[data-v-b3fb5ed6]:hover{filter:brightness(1.2)}.play-icon[data-v-b3fb5ed6]{width:36px;height:36px;border-radius:50%;background:#4c6ef5;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0}.empty[data-v-b3fb5ed6]{color:#778;font-size:.9rem;text-align:center;margin-top:60px}.uploading-overlay[data-v-b3fb5ed6]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center}.uploading-box[data-v-b3fb5ed6]{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 44px;background:#15152a;border:1px solid #2a2a4a;border-radius:12px;box-shadow:0 8px 32px #00000080}.spinner[data-v-b3fb5ed6]{width:44px;height:44px;border:4px solid #2a2a4a;border-top-color:#4c6ef5;border-radius:50%;animation:spin-b3fb5ed6 .8s linear infinite}@keyframes spin-b3fb5ed6{to{transform:rotate(360deg)}}.uploading-text[data-v-b3fb5ed6]{color:#ccd;font-size:.95rem;font-weight:600}.uploading-user[data-v-b3fb5ed6]{color:#778;font-size:.8rem}.toast[data-v-b3fb5ed6]{position:fixed;top:24px;left:50%;transform:translate(-50%);z-index:500;padding:12px 24px;border-radius:8px;font-size:.9rem;font-weight:600;color:#fff;box-shadow:0 4px 16px #0006}.toast-success[data-v-b3fb5ed6]{background:#2a7d32;border:1px solid #3a9d42}.toast-error[data-v-b3fb5ed6]{background:#c0392b;border:1px solid #e05545}.toast-enter-active[data-v-b3fb5ed6],.toast-leave-active[data-v-b3fb5ed6]{transition:opacity .25s,transform .25s}.toast-enter-from[data-v-b3fb5ed6],.toast-leave-to[data-v-b3fb5ed6]{opacity:0;transform:translate(-50%) translateY(-12px)}.player-overlay[data-v-b3fb5ed6]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center}.player-box[data-v-b3fb5ed6]{max-width:80vw;max-height:80vh;background:#0d0d1a;border:1px solid #2a2a4a;border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.player-box video[data-v-b3fb5ed6]{width:100%;max-height:70vh;background:#000;display:block}.player-bar[data-v-b3fb5ed6]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;color:#aac;font-size:.85rem;font-weight:600}.player-bar button[data-v-b3fb5ed6]{padding:6px 14px;border:none;border-radius:6px;background:#f44336;color:#fff;cursor:pointer;font-size:.8rem;font-weight:600}.player-bar button[data-v-b3fb5ed6]:hover{filter:brightness(1.15)}.gaze-container[data-v-8b51a3d9]{position:fixed;top:0;left:0;width:100vw;height:100vh;overflow:hidden;pointer-events:none;z-index:998}.cloud-canvas[data-v-8b51a3d9]{position:absolute;top:0;left:0;pointer-events:none;z-index:999}.controls[data-v-8b51a3d9]{position:fixed;bottom:20px;right:20px;z-index:1000;background:rgba(0,0,0,.7);color:#fff;padding:10px 16px;border-radius:8px;display:flex;gap:12px;align-items:center;pointer-events:auto}.calibration-page[data-v-951b216a]{width:100%;height:100%}.app-container[data-v-951b216a]{display:flex;width:100vw;height:100vh;gap:10px;padding:8px}.preview-col[data-v-951b216a]{flex:1 1 auto;min-width:0;position:relative;display:flex;align-items:center;justify-content:center;background:#0a1208;border-radius:8px;border:2px solid #2a2a4a;overflow:hidden;transition:all .3s ease}.preview-col video[data-v-951b216a]{width:100%;height:100%;object-fit:contain;display:block}.preview-col canvas[data-v-951b216a]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.preview-col .three-container[data-v-951b216a]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:#0d0d1a;z-index:6;overflow:hidden}#calibTarget[data-v-951b216a]{display:none;position:absolute;width:36px;height:36px;border-radius:50%;background:radial-gradient(circle,#ff4444 20%,#cc0000 100%);box-shadow:0 0 24px #ff3c3ce6,0 0 60px #ff000080;transform:translate(-50%,-50%);z-index:10;transition:left .35s ease,top .35s ease;pointer-events:none}#calibTarget.active[data-v-951b216a]{display:block;animation:targetPulse-951b216a .6s ease-in-out infinite alternate}@keyframes targetPulse-951b216a{0%{box-shadow:0 0 24px #ff3c3ce6,0 0 60px #ff000080}to{box-shadow:0 0 40px #ff3c3c,0 0 90px #f00c;transform:translate(-50%,-50%) scale(1.15)}}.target-label[data-v-951b216a]{display:none;position:absolute;color:#f66;font-size:.7rem;font-weight:700;letter-spacing:1px;text-shadow:0 0 8px rgba(255,0,0,.6);white-space:nowrap;z-index:11;pointer-events:none}.target-label.show[data-v-951b216a]{display:block}.calib-progress[data-v-951b216a]{position:absolute;bottom:14px;left:50%;transform:translate(-50%);width:70%;height:6px;background:rgba(255,255,255,.12);border-radius:3px;z-index:12;overflow:hidden}.calib-progress .fill[data-v-951b216a]{height:100%;background:linear-gradient(90deg,#ff4444,#ff8c00);border-radius:3px;transition:width .3s ease}.calib-progress .step-text[data-v-951b216a]{position:absolute;top:-20px;width:100%;text-align:center;font-size:.75rem;color:#ff8c00;font-weight:600}.speak-caption[data-v-951b216a]{position:absolute;bottom:42px;left:50%;transform:translate(-50%);max-width:80%;padding:10px 22px;background:rgba(0,0,0,.65);border:1px solid rgba(41,182,246,.4);border-radius:999px;color:#e0f4ff;font-size:1rem;font-weight:600;text-align:center;letter-spacing:.5px;z-index:15;text-shadow:0 0 8px rgba(41,182,246,.5);pointer-events:none;animation:fadeInCard-951b216a .3s ease}.model-loading-overlay[data-v-951b216a]{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(8,8,18,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:8;gap:16px}.loading-spinner[data-v-951b216a]{width:40px;height:40px;border:3px solid rgba(255,255,255,.15);border-top-color:#4fc3f7;border-radius:50%;animation:spin-951b216a .8s linear infinite}@keyframes spin-951b216a{to{transform:rotate(360deg)}}.loading-text[data-v-951b216a]{font-size:.85rem;color:#fffc;letter-spacing:.5px;text-shadow:0 0 8px rgba(100,180,255,.3)}.preview-title[data-v-951b216a]{position:absolute;top:8px;left:16px;font-size:.9rem;font-weight:700;color:#ffffffd9;z-index:5;letter-spacing:1px;text-shadow:0 0 12px rgba(100,180,255,.5);pointer-events:none}.control-col[data-v-951b216a]{flex:0 0 380px;width:380px;display:flex;flex-direction:column;gap:8px;height:100%;overflow-y:auto;overflow-x:hidden;padding-right:2px}.control-col[data-v-951b216a]::-webkit-scrollbar{width:4px}.control-col[data-v-951b216a]::-webkit-scrollbar-track{background:transparent}.control-col[data-v-951b216a]::-webkit-scrollbar-thumb{background:#2a2a4a;border-radius:2px}.card[data-v-951b216a]{background:#15152a;border:1px solid #2a2a4a;border-radius:8px;padding:10px 12px;flex-shrink:0}.card h3[data-v-951b216a]{font-size:.8rem;color:#aac;margin-bottom:8px;letter-spacing:.4px;border-bottom:1px solid #252540;padding-bottom:6px}.btn-row[data-v-951b216a]{display:flex;gap:6px;flex-wrap:wrap}button[data-v-951b216a]{padding:7px 14px;border:none;border-radius:6px;cursor:pointer;font-size:.78rem;font-weight:600;letter-spacing:.3px;transition:all .15s ease;color:#fff;white-space:nowrap}button[data-v-951b216a]:hover:not(:disabled){filter:brightness(1.18);transform:translateY(-1px)}button[data-v-951b216a]:disabled{opacity:.3;cursor:not-allowed}#startCamBtn[data-v-951b216a]{background:#4caf50}#stopCamBtn[data-v-951b216a]{background:#f44336}#startCalibBtn[data-v-951b216a]{background:#ff6d00}#toggle3dBtn[data-v-951b216a]{background:#3f51b5}#resetCalibBtn[data-v-951b216a]{background:#546e7a}#exportBtn[data-v-951b216a]{background:#1976d2}#loadBtn[data-v-951b216a]{background:#455a64}.btn-row select[data-v-951b216a]{padding:7px 10px;border-radius:6px;border:1px solid #333;background:#1a1a30;color:#ddd;font-size:.75rem;min-width:140px}.status-bar[data-v-951b216a]{font-size:.75rem;padding:6px 8px;border-radius:5px;background:#1a1a30;color:#999;min-height:30px;line-height:1.3;margin-top:6px}.status-bar.ok[data-v-951b216a]{color:#81c784}.status-bar.warn[data-v-951b216a]{color:#ffb74d}.status-bar.error[data-v-951b216a]{color:#ef5350}.data-table[data-v-951b216a]{width:100%;border-collapse:collapse;font-size:.72rem}.data-table th[data-v-951b216a],.data-table td[data-v-951b216a]{padding:4px 8px;text-align:center;border-bottom:1px solid #202040}.data-table th[data-v-951b216a]{color:#99a;font-weight:600;font-size:.65rem}.data-table .val[data-v-951b216a]{font-family:Consolas,monospace;font-weight:600}.result-grid[data-v-951b216a]{display:grid;grid-template-columns:90px 1fr;gap:3px 8px;font-size:.7rem}.result-grid .label[data-v-951b216a]{color:#778;text-align:right}.result-grid .value[data-v-951b216a]{font-family:Consolas,monospace;color:#4fc3f7;font-weight:600}.result-grid .value.changed[data-v-951b216a]{color:#ffb74d;animation:highlightNew-951b216a .8s ease-out}@keyframes highlightNew-951b216a{0%{color:#fff;text-shadow:0 0 10px #ffb74d}to{color:#ffb74d;text-shadow:none}}.log-box[data-v-951b216a]{max-height:120px;overflow-y:auto;font-size:.65rem;font-family:Consolas,monospace;color:#7a8;line-height:1.4}.log-box .log-line[data-v-951b216a]{padding:1px 0;border-bottom:1px solid #1a1a2e}.log-box .log-line.info[data-v-951b216a]{color:#7a8}.log-box .log-line.success[data-v-951b216a]{color:#81c784}.log-box .log-line.warn[data-v-951b216a]{color:#ffb74d}.log-box .log-line.error[data-v-951b216a]{color:#ef5350}.test-result-card[data-v-951b216a]{border:1px solid #3a3a6a;animation:fadeInCard-951b216a .3s ease}@keyframes fadeInCard-951b216a{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.test-status-line[data-v-951b216a]{font-size:.72rem;color:#ccc;margin-bottom:10px;display:flex;align-items:center;gap:4px}.test-status-line .status-CLOSING_EYES[data-v-951b216a]{color:#ef5350;font-weight:700}.test-status-line .status-FOCUSED[data-v-951b216a]{color:#81c784;font-weight:700}.test-status-line .status-DISTRACTED[data-v-951b216a]{color:#ffb74d;font-weight:700}.test-status-line .status---[data-v-951b216a]{color:#999}.test-running-dot[data-v-951b216a]{color:#4caf50;animation:blink-951b216a .8s ease-in-out infinite;margin-left:4px}@keyframes blink-951b216a{0%,to{opacity:1}50%{opacity:.2}}.test-counts[data-v-951b216a]{display:flex;gap:8px}.test-count-item[data-v-951b216a]{flex:1;background:#1a1a30;border-radius:8px;padding:8px 4px;text-align:center;border:1px solid #2a2a4a}.test-count-item.closing[data-v-951b216a]{border-color:#5a3030}.test-count-item.focused[data-v-951b216a]{border-color:#2a5a30}.test-count-item.distracted[data-v-951b216a]{border-color:#5a4a20}.count-num[data-v-951b216a]{font-size:1.4rem;font-weight:700;font-family:Consolas,monospace}.test-count-item.closing .count-num[data-v-951b216a]{color:#ef5350}.test-count-item.focused .count-num[data-v-951b216a]{color:#81c784}.test-count-item.distracted .count-num[data-v-951b216a]{color:#ffb74d}.count-label[data-v-951b216a]{font-size:.62rem;color:#999;margin-top:2px}@media (max-width: 860px){.app-container[data-v-951b216a]{flex-direction:column;gap:6px;padding:4px}.preview-col[data-v-951b216a]{flex:0 0 50vh;min-height:280px}.control-col[data-v-951b216a]{flex:1 1 auto;width:100%;max-width:100%}.card[data-v-951b216a]{padding:8px 10px}.log-box[data-v-951b216a]{max-height:80px}.btn-row[data-v-951b216a]{gap:4px}button[data-v-951b216a]{padding:5px 10px;font-size:.7rem}}
