:root{--gv-bg:#0b0c0e;--gv-surface:#121417;--gv-surface-2:#171b20;--gv-line:#1e2228;--gv-text:#f5f7fb;--gv-muted:#b5bcc7;--gv-brand:#ff7a00}
.gv-wrap{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--gv-text);background:var(--gv-bg);border:1px solid var(--gv-line);border-radius:18px;overflow:hidden;max-width:980px;margin:0 auto}
.gv-wrap.is-panic{box-shadow:0 0 0 3px rgba(255,74,74,.35),0 0 38px rgba(255,74,74,.22)}
.gv-top{display:flex;gap:14px;justify-content:space-between;align-items:center;padding:14px;border-bottom:1px solid var(--gv-line);background:linear-gradient(180deg,#0f1115,rgba(15,17,21,.1))}
.gv-brand{display:flex;gap:10px;align-items:center}
.gv-dot{width:12px;height:12px;border-radius:999px;background:var(--gv-brand);box-shadow:0 0 18px rgba(255,122,0,.45)}
.gv-title{font-weight:800;letter-spacing:.2px}
.gv-sub{color:var(--gv-muted);font-size:12px;margin-top:2px}
.gv-controls{display:flex;gap:8px;flex-wrap:wrap}
.gv-btn{appearance:none;border:1px solid var(--gv-line);background:rgba(255,255,255,.03);color:var(--gv-text);padding:10px 12px;border-radius:12px;font-weight:650;cursor:pointer}
.gv-btn:disabled{opacity:.45;cursor:not-allowed}
.gv-primary{background:linear-gradient(135deg,var(--gv-brand),#ffb36a);border-color:transparent;color:#0b0c0e}
.gv-ghost{background:transparent}
.gv-mic.is-on{border-color:rgba(255,122,0,.6);box-shadow:0 0 0 3px rgba(255,122,0,.15)}
.gv-panic-btn{background:linear-gradient(135deg,#ff4747,#ff8c6b);border-color:transparent;color:#fff}
.gv-panic-btn.is-active{box-shadow:0 0 0 3px rgba(255,71,71,.25)}
.gv-warning{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:12px 14px;border-top:1px solid var(--gv-line);border-bottom:1px solid var(--gv-line);background:linear-gradient(135deg,rgba(255,122,0,.16),rgba(255,176,74,.08))}
.gv-warning.is-hidden{display:none}
.gv-warning-title{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.gv-warning-text{flex:1 1 auto;font-size:13px;line-height:1.45;color:var(--gv-text)}
.gv-warning-btn{white-space:nowrap}
.gv-context{padding:10px 14px;border-bottom:1px solid var(--gv-line);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01));font-size:12px;color:var(--gv-muted)}
.gv-context.is-offline{color:#ffd2a8;background:linear-gradient(180deg,rgba(255,122,0,.15),rgba(255,122,0,.05))}
.gv-stage{position:relative;background:#000}
.gv-stage.is-panic::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,70,70,.22),rgba(255,70,70,.06));animation:gvPulse .9s ease-in-out infinite}
#gvVideo{width:100%;height:auto;display:block;max-height:70vh;object-fit:cover}
.gv-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:14px}
.gv-card{width:min(920px,92vw);background:rgba(18,20,23,.78);backdrop-filter:blur(8px);border:1px solid var(--gv-line);border-radius:18px;padding:14px}
.gv-status{color:var(--gv-muted);font-size:12px}
.gv-output{font-size:22px;font-weight:800;margin-top:6px}
.gv-hint{color:var(--gv-muted);font-size:12px;margin-top:6px}
.gv-ptt{margin-top:10px}
.gv-ptt-btn{width:100%;padding:12px;border-radius:14px;border:1px solid var(--gv-line);background:rgba(255,255,255,.04);color:var(--gv-text);font-weight:750}
.gv-ptt-btn.is-holding{border-color:rgba(255,122,0,.8)}
.gv-nav{padding:14px;border-top:1px solid var(--gv-line);background:linear-gradient(180deg,var(--gv-surface),var(--gv-surface-2))}
.gv-nav.is-disabled{opacity:.72}
.gv-nav-title{font-size:13px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:var(--gv-muted)}
.gv-nav-row{margin-top:10px}
.gv-nav-label{display:block;font-size:12px;color:var(--gv-muted);margin-bottom:8px}
.gv-nav-form{display:flex;gap:8px;flex-wrap:wrap}
.gv-shortcuts{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}
.gv-chip{padding:8px 10px;border-radius:999px;background:rgba(255,122,0,.08);border-color:rgba(255,122,0,.28)}
.gv-memory-text{font-size:12px;color:var(--gv-muted);line-height:1.4}
.gv-input{flex:1 1 260px;min-width:220px;padding:11px 12px;border-radius:12px;border:1px solid var(--gv-line);background:rgba(255,255,255,.04);color:var(--gv-text)}
.gv-input::placeholder{color:#98a2af}
.gv-input:focus{outline:none;border-color:rgba(255,122,0,.7);box-shadow:0 0 0 3px rgba(255,122,0,.12)}
.gv-nav-status{margin-top:12px;color:var(--gv-muted);font-size:12px}
.gv-nav-next{margin-top:6px;font-size:18px;font-weight:750;line-height:1.35}
.gv-nav-meta{margin-top:6px;color:var(--gv-muted);font-size:12px;line-height:1.45}
.gv-shop{padding:14px;border-top:1px solid var(--gv-line);background:linear-gradient(180deg,#14181d,#111418)}
.gv-shop.is-disabled{opacity:.72}
.gv-shop-title{font-size:13px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:var(--gv-muted)}
.gv-shop-row{margin-top:10px}
.gv-shop-label{display:block;font-size:12px;color:var(--gv-muted);margin-bottom:8px}
.gv-shop-form{display:flex;gap:8px;flex-wrap:wrap}
.gv-shop-status{margin-top:12px;color:var(--gv-muted);font-size:12px}
.gv-shop-result{margin-top:6px;font-size:18px;font-weight:750;line-height:1.35}
.gv-shop-meta{margin-top:6px;color:var(--gv-muted);font-size:12px;line-height:1.45}
.gv-footer{padding:12px 14px;border-top:1px solid var(--gv-line);color:var(--gv-muted);font-size:12px}
@keyframes gvPulse{
  0%{opacity:.35}
  50%{opacity:.9}
  100%{opacity:.35}
}
@media (max-width:720px){
  .gv-top{align-items:flex-start;flex-direction:column}
  .gv-controls{width:100%}
  .gv-controls .gv-btn{flex:1 1 120px}
  .gv-warning{flex-direction:column;align-items:flex-start}
  .gv-shortcuts{align-items:flex-start;flex-direction:column}
  .gv-nav-form{flex-direction:column}
  .gv-shop-form{flex-direction:column}
  .gv-nav-form .gv-btn,.gv-input{width:100%}
  .gv-shop-form .gv-btn{width:100%}
  .gv-output{font-size:20px}
}
