/* ===== EVA 浮动聊天挂件（全局，所有页面） ===== */
#eva-root{position:fixed;z-index:45;}
#eva-launch{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:72px;width:54px;height:54px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,rgba(40,70,110,.95),rgba(8,16,30,.96));
  border:1px solid var(--gold);color:var(--gold-bright);font:700 13px/1 var(--serif);letter-spacing:.06em;
  cursor:pointer;box-shadow:0 0 22px rgba(120,170,230,.35),0 8px 24px rgba(0,0,0,.4);
  display:flex;align-items:center;justify-content:center;transition:.25s;}
#eva-launch:hover{transform:scale(1.07);box-shadow:0 0 30px rgba(216,181,117,.5);}
#eva-panel{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:72px;width:min(370px,92vw);height:min(560px,76vh);
  background:linear-gradient(180deg,rgba(8,16,30,.98),rgba(5,11,20,.99));border:1px solid var(--line-strong);border-radius:14px;
  box-shadow:0 20px 60px rgba(0,0,0,.55);display:flex;flex-direction:column;overflow:hidden;backdrop-filter:blur(14px);}
#eva-panel.hidden,#eva-launch.hidden{display:none;}
#eva-head{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,rgba(20,38,60,.6),transparent);}
.eva-id{color:var(--gold-bright);font:600 13px/1 var(--serif);letter-spacing:.14em;display:flex;align-items:center;gap:8px;}
.eva-dot{width:8px;height:8px;border-radius:50%;background:#56d6a0;box-shadow:0 0 8px #56d6a0;animation:floaty 2.4s ease-in-out infinite;}
#eva-close{background:transparent;border:none;color:var(--ink-dim);font-size:20px;line-height:1;cursor:pointer;width:28px;height:28px;border-radius:50%;transition:.2s;}
#eva-close:hover{color:var(--gold-bright);background:rgba(216,181,117,.12);}
#eva-msgs{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px;}
.eva-msg{display:flex;gap:9px;max-width:88%;}
.eva-msg.eva{align-self:flex-start;}
.eva-msg.user{align-self:flex-end;flex-direction:row-reverse;}
.eva-av{flex:none;width:30px;height:30px;border-radius:8px;background:linear-gradient(145deg,#1c3a5c,#0c1b30);border:1px solid var(--gold-soft);
  color:var(--gold-bright);font:700 10px/30px var(--serif);text-align:center;}
.eva-ut{background:rgba(216,181,117,.14);border:1px solid var(--line-strong);color:var(--ink-bright);padding:9px 12px;border-radius:12px;font-size:13px;line-height:1.65;white-space:pre-wrap;}
.eva-msg.eva>span:last-child{background:rgba(12,24,40,.7);border:1px solid var(--line);color:var(--ink);padding:9px 12px;border-radius:12px;font-size:13px;line-height:1.7;white-space:pre-wrap;}
#eva-chips{display:flex;gap:6px;padding:8px 12px;border-top:1px solid var(--line);flex-wrap:wrap;}
#eva-chips button{background:rgba(216,181,117,.08);border:1px solid var(--line-strong);color:var(--gold);font:600 11.5px/1 var(--serif);
  letter-spacing:.1em;padding:7px 11px;border-radius:999px;cursor:pointer;transition:.2s;}
#eva-chips button:hover{background:rgba(216,181,117,.18);color:var(--gold-bright);}
#eva-input-row{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line);}
#eva-input{flex:1;background:rgba(8,14,24,.7);border:1px solid var(--line-strong);color:var(--ink);font-family:var(--sans);font-size:13px;
  padding:9px 12px;border-radius:10px;outline:none;}
#eva-input:focus{border-color:var(--gold);}
#eva-send{background:linear-gradient(145deg,rgba(40,18,24,.9),rgba(14,7,10,.9));border:1px solid var(--line-strong);color:var(--gold-bright);
  font:600 12px/1 var(--serif);letter-spacing:.12em;padding:0 16px;border-radius:10px;cursor:pointer;transition:.2s;}
#eva-send:hover{border-color:var(--blood);}
.eva-btn{display:inline-block;margin-top:8px;background:linear-gradient(145deg,rgba(40,18,24,.9),rgba(14,7,10,.9));border:1px solid var(--line-strong);
  color:var(--gold-bright);font:600 12px/1 var(--serif);letter-spacing:.12em;padding:9px 16px;border-radius:8px;cursor:pointer;transition:.2s;}
.eva-btn:hover{border-color:var(--blood);box-shadow:0 0 14px rgba(178,58,72,.3);}

/* ===== EVA 终端仪表盘 ===== */
.eva-tabs{display:flex;gap:10px;justify-content:center;margin-bottom:26px;flex-wrap:wrap;}
.eva-tab{background:transparent;border:1px solid var(--line-strong);color:var(--ink-dim);font:600 13px/1 var(--serif);letter-spacing:.16em;
  padding:11px 22px;border-radius:2px;cursor:pointer;transition:.25s;}
.eva-tab:hover{color:var(--gold-bright);border-color:var(--gold);}
.eva-tab.active{color:var(--gold-bright);border-color:var(--gold);background:rgba(216,181,117,.08);box-shadow:0 0 16px rgba(216,181,117,.16);}
.eva-panel-box{display:block;} .eva-panel-box.hidden{display:none;}
.eva-counter{text-align:center;color:var(--gold-soft);font:600 12px/1 var(--serif);letter-spacing:.18em;margin-bottom:18px;font-style:italic;}
.eva-list{display:flex;flex-direction:column;gap:10px;max-width:760px;margin:0 auto;}
.eva-row{display:flex;align-items:flex-start;gap:13px;padding:16px 18px;border:1px solid var(--line);background:var(--panel);border-radius:8px;cursor:pointer;transition:.25s;}
.eva-row:hover{border-color:var(--gold);transform:translateY(-2px);}
.eva-row.read{opacity:.62;}
.eva-row-dot{flex:none;width:9px;height:9px;border-radius:50%;margin-top:6px;background:var(--blood);box-shadow:0 0 8px var(--blood);}
.eva-row.read .eva-row-dot{background:var(--ink-dim);box-shadow:none;}
.eva-row-body{flex:1;}
.eva-row-text{color:var(--ink);font-size:13.5px;line-height:1.75;}
.eva-row.read .eva-row-text{color:var(--ink-dim);}
.mail-from{color:var(--gold);font:600 13px/1.4 var(--serif);letter-spacing:.06em;margin-bottom:4px;}
.eva-row-flag{flex:none;font:600 10px/1 var(--serif);letter-spacing:.16em;color:var(--gold-soft);border:1px solid var(--line-strong);padding:4px 9px;border-radius:999px;align-self:center;}
.eva-row.read .eva-row-flag{color:var(--ink-dim);}
.task-chain{display:flex;align-items:flex-start;justify-content:center;gap:0;flex-wrap:wrap;margin-bottom:26px;}
.tc-node{width:130px;text-align:center;padding:14px 8px;border:1px solid var(--line);border-radius:10px;background:var(--panel);cursor:pointer;transition:.25s;}
.tc-node:hover{border-color:var(--gold);transform:translateY(-3px);}
.tc-node.done{border-color:rgba(86,214,160,.4);}
.tc-node.accepted{border-color:var(--gold);box-shadow:0 0 16px rgba(216,181,117,.18);}
.tc-node.locked{opacity:.45;}
.tc-no{width:24px;height:24px;border-radius:50%;margin:0 auto 8px;background:rgba(216,181,117,.1);border:1px solid var(--gold-soft);color:var(--gold-bright);font:700 12px/24px var(--serif);}
.tc-name{color:var(--ink-bright);font:600 13px/1.3 var(--serif);letter-spacing:.04em;margin-bottom:6px;}
.tc-state{color:var(--gold-soft);font-size:10.5px;letter-spacing:.14em;font-family:var(--serif);}
.tc-line{width:34px;height:1px;background:var(--line-strong);margin-top:26px;}
.tc-line.done{background:rgba(86,214,160,.5);}
.task-detail{max-width:620px;margin:0 auto;}
.td-card{border:1px solid var(--line-strong);background:var(--panel);padding:28px;border-radius:12px;}
.td-card.done{border-color:rgba(86,214,160,.4);}
.td-title{color:var(--gold-bright);font:700 20px/1.3 var(--serif);letter-spacing:.1em;text-align:center;margin-bottom:16px;}
.td-brief{color:var(--ink);font-size:14px;line-height:1.85;text-align:center;margin-bottom:18px;}
.td-row{display:flex;gap:12px;padding:10px 0;border-top:1px dashed var(--line-strong);font-size:13.5px;}
.td-k{flex:none;width:60px;color:var(--gold-soft);font:600 12px/1.6 var(--serif);letter-spacing:.1em;}
.td-lock{margin-top:16px;text-align:center;color:var(--ink-dim);font:600 12px/1 var(--serif);letter-spacing:.12em;font-style:italic;}
.td-done-badge{margin-top:16px;text-align:center;color:#56d6a0;font:700 14px/1 var(--serif);letter-spacing:.1em;}
.mail-read{max-width:680px;margin:20px auto 0;border:1px solid var(--line-strong);background:rgba(8,14,24,.6);border-radius:12px;padding:26px;}
.mail-read.hidden{display:none;}
.mail-back{background:transparent;border:1px solid var(--line-strong);color:var(--gold);font:600 12px/1 var(--serif);letter-spacing:.1em;padding:8px 14px;border-radius:8px;cursor:pointer;margin-bottom:18px;transition:.2s;}
.mail-back:hover{color:var(--gold-bright);border-color:var(--gold);}
.mail-head{border-bottom:1px dashed var(--line-strong);padding-bottom:16px;margin-bottom:18px;}
.mail-from-big{color:var(--gold);font:700 15px/1.4 var(--serif);letter-spacing:.06em;}
.mail-subject{color:var(--ink-bright);font:600 18px/1.5 var(--serif);margin:8px 0;}
.mail-tag{display:inline-block;color:var(--gold-soft);font-size:10.5px;letter-spacing:.18em;font-family:var(--serif);border:1px solid var(--line-strong);border-radius:999px;padding:3px 10px;}
.mail-body{color:var(--ink);font-size:14.5px;line-height:2;}

/* ===== 七宗罪 ===== */
.sins-origin{max-width:780px;margin:0 auto 40px;padding:26px 30px;border:1px solid var(--gold-soft);border-radius:12px;background:linear-gradient(165deg,rgba(20,38,60,.4),rgba(8,16,28,.5));position:relative;}
.sins-origin::before,.sins-origin::after{content:"";position:absolute;width:18px;height:18px;border:1px solid var(--gold);}
.sins-origin::before{top:-1px;left:-1px;border-right:none;border-bottom:none;}
.sins-origin::after{bottom:-1px;right:-1px;border-left:none;border-top:none;}
.so-title{color:var(--gold-bright);font:700 14px/1 var(--serif);letter-spacing:.3em;margin-bottom:14px;text-align:center;}
.so-body{color:var(--ink);font-size:14px;line-height:2;}
.sins-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-bottom:30px;}
.sin-card{border:1px solid var(--line);background:var(--panel);padding:22px 16px;text-align:center;cursor:pointer;transition:.28s;position:relative;overflow:hidden;}
.sin-card::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(178,58,72,.12),transparent 70%);opacity:0;transition:.3s;}
.sin-card:hover{transform:translateY(-4px);border-color:var(--gold);}
.sin-card:hover::after{opacity:1;}
.sin-card.used{border-color:rgba(178,58,72,.4);}
.sin-card.sel{border-color:var(--gold);box-shadow:0 0 20px rgba(216,181,117,.2);background:rgba(216,181,117,.06);}
.sin-no{color:var(--gold-soft);font:700 11px/1 var(--serif);letter-spacing:.2em;margin-bottom:10px;}
.sin-name{color:var(--ink-bright);font:700 22px/1.2 var(--serif);letter-spacing:.18em;}
.sin-en{color:var(--gold);font:600 10px/1.4 var(--serif);letter-spacing:.22em;margin:6px 0 10px;}
.sin-tp{color:var(--ink-dim);font-size:12px;letter-spacing:.06em;}
.sin-badge{position:absolute;top:10px;right:10px;font:600 9px/1 var(--serif);letter-spacing:.16em;color:var(--blood);border:1px solid rgba(178,58,72,.4);padding:2px 7px;border-radius:999px;}
.sin-badge.spare{color:var(--ink-dim);border-color:var(--line-strong);}
.sins-detail{max-width:720px;margin:0 auto;}
.sins-detail.hidden{display:none;}
.sd-card{border:1px solid var(--line-strong);background:var(--panel);border-radius:12px;padding:28px;}
.sd-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px dashed var(--line-strong);margin-bottom:18px;}
.sd-name{color:var(--gold-bright);font:700 24px/1 var(--serif);letter-spacing:.16em;}
.sd-en{color:var(--gold);font:600 12px/1 var(--serif);letter-spacing:.22em;}
.sd-used{color:var(--blood);font:600 11px/1 var(--serif);letter-spacing:.14em;border:1px solid rgba(178,58,72,.4);padding:4px 10px;border-radius:999px;}
.sd-spare{color:var(--ink-dim);font:600 11px/1 var(--serif);letter-spacing:.14em;border:1px solid var(--line-strong);padding:4px 10px;border-radius:999px;}
.sd-rows{display:flex;flex-direction:column;gap:0;margin-bottom:18px;}
.sd-row{display:flex;gap:14px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13.5px;}
.sd-k{flex:none;width:78px;color:var(--gold-soft);font:600 12px/1.6 var(--serif);letter-spacing:.1em;}
.sd-scene{color:var(--ink);font-size:14px;line-height:2;}

/* ===== 人物交织 ===== */
.ch-wrap{display:grid;grid-template-columns:260px 1fr;gap:22px;align-items:start;margin-bottom:46px;}
.ch-roster{display:flex;flex-direction:column;gap:10px;}
.ch-ava{border:1px solid var(--line);background:var(--panel);padding:16px 18px;border-radius:10px;cursor:pointer;transition:.25s;}
.ch-ava:hover{border-color:var(--gold);transform:translateX(3px);}
.ch-ava.sel{border-color:var(--gold);background:rgba(216,181,117,.07);box-shadow:0 0 16px rgba(216,181,117,.16);}
.ch-ava-n{color:var(--ink-bright);font:700 16px/1.3 var(--serif);letter-spacing:.08em;}
.ch-ava-e{color:var(--gold-soft);font:600 10.5px/1.4 var(--serif);letter-spacing:.18em;}
.ch-dossier{border:1px solid var(--line-strong);background:var(--panel);border-radius:12px;padding:30px;}
.ch-d-name{color:var(--gold-bright);font:700 26px/1.2 var(--serif);letter-spacing:.12em;}
.ch-d-en{color:var(--gold);font:600 13px/1 var(--serif);letter-spacing:.2em;margin-left:12px;}
.ch-d-role{color:var(--blood);font:600 13px/1.6 var(--serif);letter-spacing:.08em;margin:10px 0 16px;}
.ch-d-row{display:flex;gap:14px;padding:9px 0;border-top:1px dashed var(--line-strong);font-size:13.5px;}
.ch-d-k{flex:none;width:60px;color:var(--gold-soft);font:600 12px/1.6 var(--serif);letter-spacing:.1em;}
.ch-d-arc{color:var(--ink);font-size:14px;line-height:2;margin:18px 0;}
.ch-rel-title{color:var(--gold);font:700 13px/1 var(--serif);letter-spacing:.2em;margin:22px 0 14px;padding-top:16px;border-top:1px solid var(--line);}
.ch-rels{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.ch-rel{border:1px solid var(--line);background:rgba(8,14,24,.5);border-radius:10px;padding:15px;cursor:pointer;transition:.25s;}
.ch-rel:hover{border-color:var(--gold);transform:translateY(-2px);}
.ch-rel-head{display:flex;align-items:baseline;gap:8px;margin-bottom:8px;}
.ch-rel-to{color:var(--gold-bright);font:700 14px/1.2 var(--serif);letter-spacing:.06em;}
.ch-rel-en{color:var(--gold-soft);font:600 10px/1 var(--serif);letter-spacing:.16em;}
.ch-rel-text{color:var(--ink-dim);font-size:12.5px;line-height:1.8;}
.ch-events{margin-top:20px;border-top:1px solid var(--line);padding-top:40px;}
.ch-events-title{text-align:center;color:var(--gold);font:700 14px/1 var(--serif);letter-spacing:.28em;margin-bottom:22px;}
.ch-event-tabs{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:22px;}
.ch-ev-tab{background:transparent;border:1px solid var(--line-strong);color:var(--ink-dim);font:600 12.5px/1 var(--serif);letter-spacing:.1em;padding:10px 18px;border-radius:999px;cursor:pointer;transition:.22s;}
.ch-ev-tab:hover{color:var(--gold-bright);border-color:var(--gold);}
.ch-ev-tab.active{color:var(--gold-bright);border-color:var(--gold);background:rgba(216,181,117,.08);}
.ch-event-view{max-width:720px;margin:0 auto;}
.ch-ev-pickers{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:18px;}
.ch-ev-pick{background:rgba(216,181,117,.08);border:1px solid var(--line-strong);color:var(--gold);font:600 12px/1 var(--serif);letter-spacing:.08em;padding:8px 16px;border-radius:999px;cursor:pointer;transition:.2s;}
.ch-ev-pick:hover{color:var(--gold-bright);}
.ch-ev-pick.active{color:var(--gold-bright);border-color:var(--gold);background:rgba(216,181,117,.16);}
.ch-ev-text{border:1px solid var(--line-strong);background:var(--panel);border-radius:12px;padding:26px;}
.ch-ev-char{color:var(--gold);font:700 13px/1 var(--serif);letter-spacing:.16em;margin-bottom:14px;}
.ch-ev-line{color:var(--ink);font-size:15px;line-height:2.1;white-space:pre-wrap;}
.ch-ev-media{margin-bottom:18px;}
.ch-ev-media-wrap{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line-strong);box-shadow:0 10px 30px rgba(0,0,0,.45);}
.ch-ev-media-wrap img{display:block;width:100%;max-height:360px;object-fit:cover;filter:contrast(1.05) brightness(.9);}
.ch-ev-media-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,12,16,0) 45%,rgba(10,12,16,.72) 100%);pointer-events:none;}
.ch-ev-cap{position:absolute;left:16px;bottom:12px;right:16px;color:var(--gold-bright);font:700 13px/1.4 var(--serif);letter-spacing:.1em;text-shadow:0 2px 8px rgba(0,0,0,.85);}

/* ===== 人物交织网 ===== */
.ch-net-sec{margin-top:20px;border-top:1px solid var(--line);padding-top:40px;}
.ch-net-wrap{display:flex;justify-content:center;margin:18px 0 10px;}
#ch-net{width:100%;max-width:720px;height:auto;background:radial-gradient(ellipse at center,rgba(10,18,32,.55),rgba(4,8,16,.25));border:1px solid var(--line);border-radius:12px;}
#ch-net .edge{stroke:rgba(216,181,117,.26);stroke-width:1.4;transition:.3s;}
#ch-net .edge.hot{stroke:var(--gold);stroke-width:2.4;filter:drop-shadow(0 0 6px rgba(216,181,117,.6));}
#ch-net .edge.dim{stroke:rgba(216,181,117,.07);}
#ch-net .node{cursor:pointer;}
#ch-net .node circle{fill:#0c1626;stroke:var(--gold);stroke-width:1.7;transition:.3s;}
#ch-net .node.primary circle{fill:#13233c;}
#ch-net .node.sec circle{fill:#0c1626;stroke:var(--gold-soft);}
#ch-net .node.hot circle{fill:var(--gold);stroke:var(--gold-bright);filter:drop-shadow(0 0 9px rgba(216,181,117,.75));}
#ch-net .node.dim circle{opacity:.28;}
#ch-net .node text{fill:var(--ink);font-size:12px;font-family:var(--serif);text-anchor:middle;pointer-events:none;transition:.3s;}
#ch-net .node.sec text{fill:var(--ink-dim);font-size:10.5px;}
#ch-net .node.hot text{fill:var(--gold-bright);font-weight:600;}
#ch-net .node.dim text{opacity:.32;}
.ch-net-legend{display:flex;gap:18px;justify-content:center;margin-bottom:10px;color:var(--ink-dim);font-family:var(--serif);font-size:12px;letter-spacing:.12em;}
.ch-net-legend .lg-pri{color:var(--gold);}
.ch-net-legend .lg-sec{color:var(--gold-soft);}
.ch-net-cap{max-width:720px;margin:6px auto 0;min-height:54px;border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:14px 18px;font-size:13px;line-height:1.8;color:var(--ink-dim);}
.ch-net-cap .cap-name{color:var(--gold-bright);font:700 16px/1.3 var(--serif);letter-spacing:.08em;}
.ch-net-cap .cap-en{color:var(--gold);font:600 11px/1 var(--serif);letter-spacing:.18em;margin-left:10px;}
.ch-net-cap .cap-role{color:var(--blood);font:600 12px/1.6 var(--serif);letter-spacing:.06em;margin:6px 0 8px;}
.ch-net-cap .cap-rels{display:flex;flex-direction:column;gap:7px;}
.ch-net-cap .cap-rel{color:var(--ink);font-size:12.5px;line-height:1.7;}
.ch-net-cap .cap-rel b{color:var(--gold);font-weight:700;margin-right:4px;}

/* ===== 绘梨衣挽歌（人物页内） ===== */
.ch-elegy-sec{margin-top:20px;border-top:1px solid var(--line);padding-top:40px;}
.ch-elegy-sec .elegy{max-width:700px;margin:0 auto;text-align:center;}
.ch-elegy-sec .badge{display:inline-block;font-size:10px;letter-spacing:.35em;color:var(--gold-soft);border:1px solid var(--line-strong);border-radius:999px;padding:4px 14px;font-family:var(--serif);}
.ch-elegy-sec .sub-title{margin-top:16px;color:var(--ink-dim);font-size:12.5px;letter-spacing:.3em;font-family:var(--serif);}
.ch-elegy-sec .quote-block{margin:38px auto 0;padding:42px 34px;position:relative;background:var(--panel);border:1px solid var(--line);box-shadow:0 0 50px rgba(8,18,30,.55) inset;}
.ch-elegy-sec .quote-block::before,.ch-elegy-sec .quote-block::after{content:"";position:absolute;left:50%;width:70px;height:1px;background:var(--gold);transform:translateX(-50%);opacity:.55;}
.ch-elegy-sec .quote-block::before{top:0;}.ch-elegy-sec .quote-block::after{bottom:0;}
.ch-elegy-sec .quote-text{font-family:var(--serif);color:var(--ink-bright);font-size:16.5px;line-height:2.15;text-align:left;white-space:pre-line;letter-spacing:.04em;}
.ch-elegy-sec .quote-text .line-emph{color:var(--gold);font-weight:600;}
.ch-elegy-sec .quote-text .line-sakura{color:var(--blood);font-weight:600;font-style:italic;}
.ch-elegy-sec .signoff{margin-top:32px;color:var(--gold-soft);font-family:var(--serif);font-size:13.5px;letter-spacing:.15em;font-style:italic;}

@media(max-width:760px){
  .ch-wrap{grid-template-columns:1fr;}
  .ch-rels{grid-template-columns:1fr;}
  .sin-card{padding:18px 12px;}
}

/* ===== 章节混剪视频（index 开场 / story 卷首） ===== */
/* 首页 Hero：风暴龙图为底（无视频，回到原画面） */
.hero{position:relative;overflow:hidden;background:#04070e url(img/opening.jpg?v=20260804-1553) center/cover no-repeat;}

/* 情节页卷首：框内正式引子视频（暗角 + 缓慢推镜 + 精致标题条） */
.story-video-wrap{position:relative;max-width:860px;margin:10px auto 4px;aspect-ratio:16/9;overflow:hidden;border:1px solid var(--line-strong);box-shadow:0 24px 70px rgba(0,0,0,.6);background:#05070d;}
.story-video-wrap .story-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:contrast(1.04) brightness(.78) saturate(1.05);animation:heroZoom 20s ease-in-out infinite alternate;}
.story-video-wrap::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(125% 100% at 50% 50%,rgba(0,0,0,0) 54%,rgba(3,7,14,.55) 100%);}
.story-video-kick{position:absolute;left:0;right:0;top:13px;text-align:center;font:600 11px/1 var(--serif);letter-spacing:.5em;color:rgba(244,207,104,.9);text-shadow:0 1px 6px rgba(0,0,0,.85);z-index:2;}
.story-video-cap{position:absolute;left:0;right:0;bottom:0;padding:18px 18px 16px;font:700 12.5px/1.5 var(--serif);letter-spacing:.3em;color:var(--gold-bright);text-align:center;background:linear-gradient(transparent,rgba(5,7,13,.86));text-shadow:0 2px 10px rgba(0,0,0,.85);z-index:2;}
@keyframes heroZoom{0%{transform:scale(1.02)}100%{transform:scale(1.12)}}
@media(max-width:760px){
  .story-video-wrap{margin:8px auto 2px;}
}

/* ===== 账号区（导航栏，全站共用） ===== */
.account-area{display:inline-flex;align-items:center;gap:10px;font-family:var(--serif);font-size:12px;letter-spacing:.06em;color:var(--gold);}
.account-area .acc-name{color:var(--gold-soft);}
.account-area .acc-badge{color:#3e2f22;background:rgba(216,181,117,.22);border:1px solid var(--line-strong);border-radius:999px;padding:2px 10px;font-size:11px;letter-spacing:.04em;white-space:nowrap;}
.account-area .acc-out,.account-area .acc-login{background:none;border:1px solid var(--line-strong);color:var(--ink-dim);font-family:var(--serif);font-size:11px;letter-spacing:.1em;padding:4px 11px;border-radius:2px;cursor:pointer;transition:.3s;white-space:nowrap;}
.account-area .acc-out:hover,.account-area .acc-login:hover{border-color:var(--gold);color:var(--gold-bright);}

/* ===== 学员档案卡（EVA 终端页） ===== */
#accProfileBox{margin:0 auto 30px;max-width:760px;}
.acc-profile-box.guest .apb-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:30px;border:1px dashed var(--line-strong);background:var(--panel);border-radius:12px;text-align:center;}
.acc-profile-box.guest .apb-icon{font-size:30px;color:var(--gold);}
.acc-profile-box.guest .apb-title{font:700 14px/1 var(--serif);letter-spacing:.28em;color:var(--gold-bright);}
.acc-profile-box.guest .apb-cta{color:var(--ink-dim);font-size:13px;line-height:1.8;max-width:460px;}
.acc-profile-box.guest .apb-login{background:transparent;border:1px solid var(--gold);color:var(--gold);font:600 13px/1 var(--serif);letter-spacing:.16em;padding:11px 30px;border-radius:2px;cursor:pointer;transition:.3s;}
.acc-profile-box.guest .apb-login:hover{background:rgba(216,181,117,.14);box-shadow:0 0 22px rgba(216,181,117,.25);}
.acc-profile-box.member .apb-card{border:1px solid var(--gold-soft);background:linear-gradient(165deg,rgba(20,38,60,.42),rgba(8,16,28,.5));border-radius:12px;padding:24px 26px;}
.apb-head{display:flex;align-items:center;gap:14px;padding-bottom:16px;border-bottom:1px dashed var(--line-strong);margin-bottom:16px;}
.apb-crest{width:46px;height:46px;flex:none;border-radius:50%;box-shadow:0 0 0 2px var(--gold-soft);}
.apb-crest img{width:100%;height:100%;border-radius:50%;}
.apb-id{flex:1;}
.apb-title{font:700 12px/1 var(--serif);letter-spacing:.28em;color:var(--gold);}
.apb-name{font:700 18px/1.4 var(--serif);color:var(--ink-bright);margin-top:4px;letter-spacing:.04em;}
.apb-row{display:flex;gap:14px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px;}
.apb-row:last-child{border-bottom:none;}
.apb-k{flex:none;width:96px;color:var(--gold-soft);font:600 12px/1.6 var(--serif);letter-spacing:.08em;}
.apb-v{color:var(--ink);}
.apb-v.dim{color:var(--ink-dim);font-style:italic;}

/* ===== Toast ===== */
.acc-toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%) translateY(12px);z-index:12000;max-width:88vw;background:rgba(8,16,28,.96);border:1px solid var(--gold);color:var(--gold-bright);font:600 13px/1.5 var(--serif);letter-spacing:.06em;padding:12px 20px;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:.35s;}
.acc-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ===== EVA 智能终端增强（2026-07） ===== */
.eva-msg.eva>.eva-bubble{display:block;background:rgba(12,24,40,.7);border:1px solid var(--line);color:var(--ink);padding:9px 12px;border-radius:12px;font-size:13px;line-height:1.7;white-space:pre-wrap;max-width:100%;}
.eva-typing{display:flex;align-items:center;gap:5px;min-height:20px;}
.eva-typing i{width:5px;height:5px;border-radius:50%;background:var(--gold-soft);animation:evaBlink 1.1s ease-in-out infinite;}
.eva-typing i:nth-child(2){animation-delay:.18s;}
.eva-typing i:nth-child(3){animation-delay:.36s;}
@keyframes evaBlink{0%,100%{opacity:.25;transform:translateY(0);}50%{opacity:1;transform:translateY(-3px);}}
.eva-nav-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px;}
.eva-nav{display:inline-block;background:linear-gradient(145deg,rgba(40,18,24,.9),rgba(14,7,10,.9));border:1px solid var(--line-strong);color:var(--gold-bright);font:600 11.5px/1 var(--serif);letter-spacing:.08em;padding:7px 11px;border-radius:4px;text-decoration:none;transition:.25s;}
.eva-nav:hover{border-color:var(--blood);box-shadow:0 0 14px rgba(178,58,72,.3);}
.eva-ask-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px;}
.eva-ask{background:rgba(216,181,117,.08);border:1px solid var(--line-strong);color:var(--gold);font:600 11.5px/1 var(--serif);letter-spacing:.06em;padding:6px 10px;border-radius:999px;cursor:pointer;transition:.25s;}
.eva-ask:hover{background:rgba(216,181,117,.18);color:var(--gold-bright);border-color:var(--gold);}