/* AI 导游实战 · 科二剧情（独立 --ag-* 变量，与 guide-rpg 视觉同源）*/
:root{
  --ag-ink:#0d1424;--ag-panel:#121d33;--ag-panel2:#1a2944;--ag-line:#38506f;
  --ag-gold:#ffd34f;--ag-cyan:#75dcff;--ag-red:#ff615c;--ag-green:#72e2a8;
  --ag-paper:#f6e5af;--ag-warn:#ffb454;
}
body[data-view="aiguide"] #view{height:100vh;overflow:hidden;padding:0!important}
body[data-view="aiguide"] .workspace-bar{display:none}
.ag-app{position:fixed;left:0;top:0;right:0;bottom:0;z-index:2;overflow:hidden;color:#f8fbff;background:var(--ag-ink);font-family:"PingFang SC","Microsoft YaHei",sans-serif}

/* 顶栏 */
.ag-topbar{height:62px;display:grid;grid-template-columns:200px 1fr auto;align-items:center;gap:18px;padding:0 22px;border-bottom:3px solid #263b5a;background:linear-gradient(180deg,#152440,#0d172b);position:relative;z-index:4}
.ag-exit{justify-self:start;color:#aab9cc;font-size:12px;border:1px solid var(--ag-line);padding:8px 12px;background:#111c30;cursor:pointer}
.ag-title{text-align:center}
.ag-title span{display:block;color:var(--ag-cyan);font:700 10px/1.2 ui-monospace,monospace;letter-spacing:.14em}
.ag-title b{display:block;margin-top:3px;font:700 16px "Songti SC","STSong",serif}
.ag-vitals{display:flex;gap:16px;font:600 10px ui-monospace,monospace;color:#9fb0c4}
.ag-vitals b{display:block;color:var(--ag-gold);font-size:13px;margin-top:2px}
.ag-vitals[hidden]{display:none}

/* 主舞台 */
.ag-stage{position:absolute;inset:62px 0 24px;margin:0!important;padding:0!important;min-height:0!important;overflow:auto;background:radial-gradient(circle at 70% 15%,rgba(117,220,255,.08),transparent 26%),linear-gradient(145deg,#0d1728,#15233a)}

/* 进度条 */
.ag-rail{position:absolute;z-index:5;left:50%;bottom:8px;transform:translateX(-50%);display:flex;background:#080e1a;border:3px solid #fff;box-shadow:5px 5px 0 #000;max-width:96vw;overflow-x:auto}
.ag-rail[hidden]{display:none}
.ag-rail span{display:flex;align-items:center;gap:5px;color:#64768e;font-size:10px;padding:7px 10px;border-right:1px solid #263852;white-space:nowrap}
.ag-rail span:last-child{border:0}
.ag-rail i{font:700 9px ui-monospace,monospace}
.ag-rail .on{color:#101728;background:var(--ag-gold)}
.ag-rail .done{color:var(--ag-green)}
.ag-rail .done i{color:var(--ag-green)}

.ag-enter{animation:agEnter .34s cubic-bezier(.2,.8,.2,1)}
@keyframes agEnter{from{opacity:0;transform:translateY(8px)}}
.ag-empty{padding:60px 30px;text-align:center;color:#8fa2b8;font-size:14px}
.ag-empty small{display:block;margin-top:10px;color:#5f7180}
.ag-kicker{display:block;color:var(--ag-cyan);font:700 10px ui-monospace,monospace;letter-spacing:.14em}
.ag-kicker-emergency{color:var(--ag-red)}
.ag-hint{color:#8fa2b8;font-size:12px;line-height:1.7;margin:6px 0 18px}

/* 主按钮 */
.ag-primary{background:var(--ag-gold);color:#111827;border:0;padding:13px 22px;font-weight:800;box-shadow:0 5px 0 #9c6e08;transition:.15s;cursor:pointer;font-size:14px}
.ag-primary:hover{transform:translateY(-2px);filter:brightness(1.06)}
.ag-primary:active{transform:translateY(3px);box-shadow:0 2px 0 #9c6e08}
.ag-primary:disabled{background:#3a4a5e;color:#7d8da0;box-shadow:0 5px 0 #2a3a4e;cursor:not-allowed;transform:none}

/* 选角色 */
.ag-career{min-height:100%;max-width:1180px;margin:0 auto;padding:44px 30px}
.ag-career>header{max-width:780px}
.ag-career h1{font:900 clamp(32px,5vw,58px)/1.08 "Songti SC","STSong",serif;margin:12px 0}
.ag-career>header p{color:#9eafc3;line-height:1.8}
.ag-career .ag-scope{margin-top:14px;padding:14px 18px;background:#0e1a2e;border-left:4px solid var(--ag-gold);font-size:13px}
.ag-career-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:32px 0}
.ag-career-cards>button{position:relative;min-height:360px;padding:26px;text-align:left;overflow:hidden;color:#edf5ff;background:linear-gradient(155deg,#172742,#0d1627);border:3px solid #334c6d;transition:.22s;cursor:pointer}
.ag-career-cards>button:hover:not(:disabled){transform:translateY(-7px);border-color:var(--ag-gold);box-shadow:10px 12px 0 #050a12}
.ag-career-cards>button:disabled{opacity:.6;cursor:not-allowed}
.ag-career-cards>button>i{position:absolute;right:10px;top:-27px;font:900 110px/1 ui-monospace;color:rgba(117,220,255,.07)}
.ag-career-cards small{color:var(--ag-cyan);font:700 10px ui-monospace;letter-spacing:.14em}
.ag-career-cards h2{font:900 42px "Songti SC","STSong",serif;margin:18px 0 4px}
.ag-career-cards em{font-size:13px;color:var(--ag-warn);font-style:normal}
.ag-career-cards b{color:var(--ag-gold);font-size:13px}
.ag-career-cards ul{list-style:none;margin:80px 0 30px}
.ag-career-cards li{padding:9px 0;border-bottom:1px solid #2b405c;color:#aebdd0;font-size:12px}
.ag-career-cards>button>span{position:absolute;left:26px;bottom:22px;font-weight:800;color:#fff}
.ag-career-cards .ag-locked{color:#6b7d94}
.ag-career>footer{color:#8295ad;font-size:12px}

/* 主线地图 */
.ag-journey{max-width:1180px;margin:0 auto;padding:34px}
.ag-journey>header{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:26px}
.ag-journey h1{font:800 clamp(28px,4vw,42px)/1.1 "Songti SC","STSong",serif;margin:8px 0}
.ag-journey header p{color:#8fa2b8;font-size:13px;line-height:1.7}
.ag-journey>header button{padding:9px 13px;border:1px solid #3a5271;color:#9fb1c7;background:#111c30;cursor:pointer}
.ag-route{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.ag-route article{position:relative;min-height:180px;padding:18px;background:#111d31;border:2px solid #2c425f}
.ag-route article>i{display:grid;place-items:center;width:38px;height:38px;background:#243753;border:3px solid #4b6381;color:#8fa4bd;font:800 12px ui-monospace}
.ag-route article.ready{border-color:#546f92}
.ag-route article.ready>i{background:var(--ag-gold);border-color:#fff;color:#151d2a}
.ag-route article.done{border-color:var(--ag-green)}
.ag-route article.done>i{background:var(--ag-green)}
.ag-route article.current{box-shadow:0 0 0 3px var(--ag-cyan)}
.ag-route small{display:block;color:var(--ag-cyan);font:700 9px ui-monospace;margin-top:14px}
.ag-route h2{font:800 24px "Songti SC","STSong",serif;margin:2px 0}
.ag-route p{min-height:42px;color:#8fa2b8;font-size:11px;line-height:1.6}
.ag-route button{position:absolute;left:16px;bottom:14px;color:#101827;background:var(--ag-gold);padding:8px 12px;font-size:11px;font-weight:800;border:0;cursor:pointer}
.ag-route .ag-tag-done{position:absolute;left:16px;bottom:18px;color:var(--ag-green);font-size:11px;font-weight:700}
.ag-route .ag-locked{position:absolute;left:16px;bottom:18px;color:#60758f;font-size:10px}
.ag-journey-end{margin-top:26px;text-align:center}
.ag-journey-end button{margin:0 auto}

/* 环节/关卡通用 */
.ag-act{min-height:100%;max-width:1100px;margin:0 auto;padding:30px}
.ag-act-scene{padding:24px 26px;background:linear-gradient(160deg,#172742,#0d1627);border:3px solid #334c6d;border-bottom:0}
.ag-act-scene h1{font:800 clamp(24px,3vw,38px)/1.15 "Songti SC","STSong",serif;margin:12px 0}
.ag-act-scene p{color:#b7c4d4;line-height:1.8;font-size:14px}
.ag-act-state{display:flex;flex-wrap:wrap;gap:14px;margin-top:16px;padding-top:14px;border-top:1px solid #2c425f;font:600 10px ui-monospace;color:#9fb0c4}
.ag-act-state b{color:var(--ag-gold);font-size:13px;margin-left:4px}

.ag-act-console{padding:26px;background:#111d31;border:3px solid #334c6d}
.ag-act-console h2{font:700 19px "Songti SC","STSong",serif;margin:10px 0}
.ag-act-console .ag-q{font:700 18px/1.6 "PingFang SC",sans-serif;margin:10px 0 18px}

/* 清单 */
.ag-checklist{display:grid;gap:8px;margin:18px 0}
.ag-checklist button{display:flex;align-items:center;gap:12px;text-align:left;padding:13px;background:#182945;border:2px solid #38516f;color:#a8b8ca;cursor:pointer;transition:.15s}
.ag-checklist button:hover:not(:disabled){border-color:var(--ag-gold)}
.ag-checklist button.on{border-color:var(--ag-green);color:#fff;background:rgba(114,226,168,.1)}
.ag-checklist button.bad{border-color:var(--ag-red);background:rgba(255,97,92,.12)}
.ag-checklist button.miss{border-color:var(--ag-warn);background:rgba(255,180,84,.1)}
.ag-checklist button:disabled{cursor:default}
.ag-checklist i{font:800 15px ui-monospace;color:var(--ag-gold);min-width:18px}

/* 选项 */
.ag-opts{display:grid;gap:8px;margin:18px 0}
.ag-opts button{display:flex;gap:12px;text-align:left;align-items:center;padding:13px;background:#172741;border:2px solid #3a526f;color:#dfe8f2;cursor:pointer;transition:.15s}
.ag-opts button:hover:not(:disabled){border-color:var(--ag-gold)}
.ag-opts button.on{border-color:var(--ag-gold);background:#293345}
.ag-opts button.ok{border-color:var(--ag-green);background:rgba(114,226,168,.14)}
.ag-opts button.bad{border-color:var(--ag-red);background:rgba(255,97,92,.14)}
.ag-opts button:disabled{cursor:default}
.ag-opts i{width:28px;height:28px;display:grid;place-items:center;background:#0b1425;color:var(--ag-gold);font:800 12px ui-monospace;flex-shrink:0}

/* 结果反馈 */
.ag-result{margin-top:20px;padding:18px;border-left:5px solid}
.ag-result.ok{border-color:var(--ag-green);background:rgba(114,226,168,.08)}
.ag-result.bad{border-color:var(--ag-red);background:rgba(255,97,92,.08)}
.ag-result b{display:block;font-size:15px;margin-bottom:8px}
.ag-result p{color:#acbdd0;font-size:13px;line-height:1.8}
.ag-result .ag-ans{color:var(--ag-gold);margin-top:6px;font-weight:600}
.ag-result .ag-primary{margin-top:14px}

/* 讲解关 */
.ag-guide-cps{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.ag-guide-cps small{width:100%;color:var(--ag-cyan);font:700 10px ui-monospace}
.ag-cp{padding:6px 12px;background:#182945;border:1px solid #38516f;color:#a8b8ca;font-size:12px}
.ag-cp.hit{border-color:var(--ag-green);color:var(--ag-green);background:rgba(114,226,168,.1)}
.ag-textarea{width:100%;min-height:160px;margin:14px 0;padding:14px;background:#0c1729;border:2px solid #3a526f;color:#e8f0fa;font:14px/1.7 "PingFang SC",sans-serif;resize:vertical;box-sizing:border-box}
.ag-textarea:focus{outline:none;border-color:var(--ag-gold)}
.ag-textarea:disabled{opacity:.8}

/* 支线（突发事件/个别要求）特殊样式 */
.ag-branch .ag-act-scene{border-left:5px solid var(--ag-red)}
.ag-branch-scene{background:linear-gradient(160deg,#2a1620,#16101a)!important;border-color:#5a2630!important}

/* 复盘报告 */
.ag-summary{max-width:900px;margin:0 auto;padding:40px 30px;text-align:center}
.ag-summary-mark{font:900 64px ui-monospace;color:var(--ag-gold);margin-bottom:6px}
.ag-summary h1{font:900 clamp(28px,4vw,46px)/1.1 "Songti SC","STSong",serif;margin:12px 0}
.ag-summary>p{color:#9eafc3;line-height:1.8;max-width:640px;margin:0 auto}
.ag-summary-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:30px 0}
.ag-summary-stats div{padding:18px 10px;background:#111d31;border:2px solid #2c425f}
.ag-summary-stats b{display:block;font:900 28px ui-monospace;color:var(--ag-gold)}
.ag-summary-stats small{display:block;color:#8fa2b8;font-size:11px;margin-top:4px}
.ag-chapters,.ag-wrongs{text-align:left;margin:22px 0;padding:20px;background:#0e1a2e;border:1px solid #2c425f}
.ag-chapters h3,.ag-wrongs h3{font:700 15px "Songti SC",serif;color:var(--ag-cyan);margin-bottom:12px}
.ag-chapters div{display:flex;flex-wrap:wrap;gap:8px}
.ag-chapters span{padding:6px 12px;background:#182945;font-size:12px}
.ag-chapters i{color:var(--ag-gold);font-style:normal;margin-left:4px}
.ag-wrongs p{color:#8fa2b8;font-size:12px;margin-bottom:10px}
.ag-wrongs ul{list-style:none;display:grid;gap:6px}
.ag-wrongs li{padding:8px 12px;background:#1a1018;border-left:3px solid var(--ag-red);color:#d8c0c8;font-size:12px;line-height:1.5}
.ag-clean{color:var(--ag-green);font-weight:700;font-size:15px;margin:24px 0}
.ag-summary-actions{display:flex;gap:14px;justify-content:center;margin-top:30px;flex-wrap:wrap}
.ag-summary-actions button{padding:12px 20px}
.ag-summary-actions button:last-child{border:1px solid #3a5271;color:#9fb1c7;background:#111c30;cursor:pointer}

/* 响应式 */
@media(max-width:900px){
  .ag-topbar{grid-template-columns:auto 1fr;padding:0 12px}
  .ag-vitals{display:none}
  .ag-career-cards,.ag-route,.ag-summary-stats{grid-template-columns:1fr}
  .ag-route{grid-template-columns:repeat(2,1fr)}
  .ag-rail{width:calc(100% - 16px)}
  .ag-rail span{flex:1;justify-content:center;min-width:54px}
}
@media(max-width:768px){
  .ag-app{left:0}
  .ag-topbar{padding-left:60px}
  .ag-exit{font-size:0}
  .ag-exit::after{content:"退出";font-size:11px}
  .ag-career,.ag-journey,.ag-act,.ag-summary{padding:20px 16px}
  .ag-career h1,.ag-journey h1{font-size:30px}
  .ag-journey>header{align-items:start;flex-direction:column}
  .ag-act-scene,.ag-act-console{padding:18px}
}
@media(prefers-reduced-motion:reduce){
  .ag-enter{animation:none}
  .ag-primary{transition:none}
}
