:root{--gf-bg:#111;--gf-panel:#171717;--gf-panel2:#1d1d1d;--gf-line:rgba(255,255,255,.08);--gf-text:#f5f5f5;--gf-muted:#bdbdbd;--gf-accent:#c99a6b;--gf-ok:#62c07a;--gf-warn:#e5d49a;--gf-shadow:0 16px 42px rgba(0,0,0,.28)}
#gfgoai-dialogue-root{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'PingFang TC','Microsoft JhengHei',sans-serif;color:var(--gf-text)}
#gfgoai-dialogue-root *{box-sizing:border-box}
#gfgoai-dialogue-root .gf-wrap{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;max-width:1220px;margin:0 auto;padding:12px;background:linear-gradient(180deg,#201912,#121212 40%,#0b0b0b);border-radius:28px}
.gf-sidebar{background:rgba(255,255,255,.03);border:1px solid var(--gf-line);border-radius:24px;padding:12px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--gf-shadow)}
.gf-brand{font-size:13px;font-weight:700;text-align:center;padding:6px 0 4px}
.scene-btn{appearance:none;border:1px solid var(--gf-line);background:rgba(255,255,255,.03);color:#fff;border-radius:18px;min-height:80px;padding:10px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-size:12px}
.scene-btn.active{background:linear-gradient(180deg,rgba(201,154,107,.24),rgba(201,154,107,.10));border-color:rgba(201,154,107,.33)}
.scene-btn .icon{font-size:20px}
.gf-main{display:grid;gap:12px;min-width:0}
.gf-stage-card,.gf-chat,.gf-bottom-bar,.gf-modal{background:rgba(255,255,255,.03);border:1px solid var(--gf-line);box-shadow:var(--gf-shadow)}
.gf-stage-card{border-radius:24px;padding:12px}
.gf-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.gf-title{font-size:18px;font-weight:700}
.gf-top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.chip{border:1px solid var(--gf-line);background:rgba(255,255,255,.04);color:#fff;border-radius:999px;min-height:38px;padding:0 14px;font-size:13px;display:inline-flex;align-items:center;gap:8px}
.chip.ghost,.chip.login{cursor:pointer}
.chip.login.is-on{opacity:.75;cursor:default}
.chip.state .dot{width:8px;height:8px;border-radius:50%;background:#777}
.chip.state.listening .dot{background:var(--gf-ok);box-shadow:0 0 0 6px rgba(98,192,122,.12)}
.chip.state.thinking .dot{background:var(--gf-warn);box-shadow:0 0 0 6px rgba(229,212,154,.12)}
.chip.state.speaking .dot{background:var(--gf-accent);box-shadow:0 0 0 6px rgba(201,154,107,.12)}
.gf-stage-wrap{background:radial-gradient(circle at 20% 15%, rgba(255,226,163,.35), transparent 7%),radial-gradient(circle at 84% 15%, rgba(255,226,163,.32), transparent 7%),linear-gradient(180deg, rgba(85,50,28,.55), rgba(28,18,12,.78) 60%, rgba(10,10,10,.96));border-radius:22px;min-height:58svh;display:grid;place-items:center;border:1px solid rgba(255,255,255,.05)}
.gf-screen{width:min(100%,420px);aspect-ratio:3/4;border-radius:22px;overflow:hidden;background:#000;position:relative;border:1px solid rgba(255,255,255,.06)}
#gfgoai-dialogue-root video{width:100%;height:100%;object-fit:contain;background:#000;display:block}
.gf-fallback{position:absolute;inset:0;display:none;place-items:center;background:#0d0d0d;color:#fff;padding:20px;text-align:center}
.gf-fallback.show{display:grid}
.gf-chat{border-radius:22px;padding:14px;min-height:132px;max-height:220px;overflow:auto}
.gf-chat .line{display:flex;gap:10px;margin-bottom:10px;align-items:flex-start}
.gf-chat .line b{display:inline-block;min-width:36px;color:#fff}
.gf-chat .line span{flex:1;color:#ececec;line-height:1.5;word-break:break-word}
.gf-chat .line.me span{color:#d8ecff}
.gf-bottom-bar{border-radius:22px;padding:10px;display:grid;grid-template-columns:58px 1fr 88px 58px;gap:10px;position:sticky;bottom:8px;background:rgba(19,19,19,.96);backdrop-filter:none}
.gf-bottom-bar input{width:100%;min-height:56px;border-radius:18px;border:1px solid var(--gf-line);background:#101010;color:#fff;padding:0 16px;font-size:15px;outline:none}
.round-btn,.send-btn,.mini-btn,.close-btn{appearance:none;border:1px solid var(--gf-line);color:#fff;background:rgba(255,255,255,.05);cursor:pointer}
.round-btn{border-radius:18px;min-height:56px;font-size:22px}
.send-btn{border-radius:18px;min-height:56px;font-size:15px;font-weight:700}
.round-btn.active{background:linear-gradient(180deg,rgba(98,192,122,.25),rgba(98,192,122,.12));border-color:rgba(98,192,122,.35)}
.gf-modal-mask{position:fixed;inset:0;background:rgba(0,0,0,.28);z-index:9998}
.gf-modal{position:fixed;left:50%;top:90px;transform:translateX(-50%);width:min(560px,calc(100vw - 24px));border-radius:22px;z-index:9999;overflow:hidden;background:rgba(22,22,22,.98)}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--gf-line);cursor:move}
.modal-body{padding:14px 16px 16px;display:grid;gap:12px}
.soft-note{font-size:13px;line-height:1.6;color:#e9e9e9;background:rgba(255,255,255,.04);border:1px solid var(--gf-line);border-radius:16px;padding:10px 12px}
.checkline{display:flex;align-items:center;gap:8px;font-size:14px}
.checkline input{width:auto;min-height:auto}
.gf-modal textarea,.gf-modal select{width:100%;border-radius:16px;border:1px solid var(--gf-line);background:#0f0f0f;color:#fff;padding:12px 14px;font-size:14px;outline:none}
.gf-modal textarea{min-height:150px;resize:vertical}
.row.compact{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.row.compact label{display:grid;gap:6px;font-size:13px;color:#ddd}
.mini-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.mini-btn{border-radius:14px;min-height:40px;padding:0 14px;font-size:13px}
.close-btn{border-radius:12px;min-height:34px;min-width:34px}
.tiny{font-size:12px;color:var(--gf-muted);min-height:18px}
@media (max-width:760px){
  #gfgoai-dialogue-root .gf-wrap{grid-template-columns:1fr;padding:10px}
  .gf-sidebar{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
  .gf-brand{grid-column:1/-1;text-align:left;padding-left:2px}
  .scene-btn{min-height:62px;border-radius:15px}
  .gf-topbar{align-items:flex-start;flex-direction:column}
  .gf-top-actions{width:100%;justify-content:flex-start}
  .gf-stage-wrap{min-height:44svh}
  .gf-screen{width:min(100%,320px)}
  .gf-bottom-bar{grid-template-columns:52px 1fr 76px 52px;gap:8px;padding:8px}
  .gf-bottom-bar input,.round-btn,.send-btn{min-height:52px}
  .gf-modal{top:12px;width:calc(100vw - 16px)}
  .row.compact{grid-template-columns:1fr}
}
