/* game.css - game container, phases, shuffle, cut, orbit, drawn cards, flip, action tasks */
/* ─── GAME ─── */
.game-container{max-width:960px;margin:0 auto;padding:36px 20px 60px;}

/* ─── 5-PHASE INDICATOR ─── */
.phases-bar{display:flex;align-items:center;justify-content:center;margin-bottom:38px;gap:0;}
.phase-item{display:flex;flex-direction:column;align-items:center;gap:5px;position:relative;z-index:1;}
.phase-circle{width:38px;height:38px;border-radius:50%;border:2px solid rgba(201,168,76,.18);display:flex;align-items:center;justify-content:center;font-family:'Cinzel Decorative',serif;font-size:.62rem;color:rgba(212,200,232,.25);background:var(--deep-black);transition:all .5s;}
.phase-item.active .phase-circle{border-color:var(--accent-gold);color:var(--accent-gold);background:rgba(201,168,76,.09);box-shadow:0 0 16px var(--card-glow);}
.phase-item.done .phase-circle{border-color:rgba(201,168,76,.55);color:rgba(201,168,76,.7);background:rgba(201,168,76,.05);}
.phase-label{font-size:.55rem;color:rgba(212,200,232,.25);text-align:center;transition:color .5s;white-space:nowrap;margin-top:2px;}
.phase-item.active .phase-label{color:var(--accent-gold);}
.phase-item.done .phase-label{color:rgba(201,168,76,.6);}
.phase-connector{width:28px;height:1px;background:rgba(201,168,76,.12);margin-bottom:16px;flex-shrink:0;}

/* ─── PHASE TRANSITION OVERLAY ─── */
.phase-transition-overlay{position:fixed;inset:0;z-index:2000;background:radial-gradient(ellipse at 50% 50%,rgba(45,20,88,.97),rgba(5,5,8,.99));display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .4s;}
.phase-transition-overlay.show{opacity:1;pointer-events:all;}
.phase-transition-content{text-align:center;animation:phaseContentIn .5s ease both;}
.phase-transition-roman{font-family:'Cinzel Decorative',serif;font-size:3.5rem;color:rgba(201,168,76,.2);letter-spacing:6px;margin-bottom:4px;}
.phase-transition-name{font-family:'Cinzel Decorative',serif;font-size:2rem;color:var(--accent-gold);text-shadow:0 0 40px rgba(201,168,76,.5);margin-bottom:10px;letter-spacing:4px;}
.phase-transition-sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1rem;color:rgba(212,200,232,.45);letter-spacing:3px;}
@keyframes phaseContentIn{from{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}

/* ─── FLIP CARDS (Phase III) ─── */
.flip-cards-area{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;margin:24px 0;}
.flip-card{width:90px;height:140px;perspective:600px;cursor:pointer;}
.flip-card-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.5,.1,.3,1);}
.flip-card.is-flipped .flip-card-inner{transform:rotateY(180deg);}
.flip-card-back,.flip-card-front{position:absolute;inset:0;border-radius:10px;backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;}
.flip-card-back{background:linear-gradient(135deg,var(--mystic-purple),var(--royal-purple));border:1.5px solid rgba(201,168,76,.35);box-shadow:0 4px 18px rgba(100,50,200,.4);}
.fc-back-glyph{font-size:1.6rem;color:rgba(201,168,76,.5);animation:pulse 2.5s ease-in-out infinite;}
.fc-back-label{font-size:.5rem;color:rgba(212,200,232,.4);letter-spacing:1px;}
.flip-card-front{background:linear-gradient(135deg,rgba(25,10,50,.95),rgba(10,5,22,.98));border:1.5px solid rgba(201,168,76,.5);box-shadow:0 4px 18px rgba(201,168,76,.2);transform:rotateY(180deg);}
.flip-card-front.reversed-flip{transform:rotateY(180deg) rotate(180deg);}
.fc-art{width:58px;height:58px;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 0 8px rgba(201,168,76,.4));}
.fc-art svg{width:100%;height:100%;}
.fc-name{font-family:'Cinzel Decorative',serif;font-size:.42rem;color:var(--accent-gold);text-align:center;padding:0 4px;line-height:1.4;}
.fc-rev-tag{font-size:.44rem;color:rgba(255,100,100,.7);border:1px solid rgba(255,100,100,.3);padding:1px 4px;border-radius:3px;}

/* ─── ACTION TASKS (Phase V) ─── */
.action-tasks-area{display:flex;flex-direction:column;gap:16px;margin:24px 0;}
.action-task-item{background:linear-gradient(135deg,rgba(26,10,46,.75),rgba(13,13,31,.88));border:1px solid rgba(201,168,76,.18);border-radius:14px;padding:20px 22px;display:flex;gap:18px;align-items:flex-start;animation:taskSlideIn .5s ease both;}
.action-task-item.at-done{border-color:rgba(201,168,76,.45);background:rgba(201,168,76,.04);}
@keyframes taskSlideIn{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}
.at-num{font-family:'Cinzel Decorative',serif;font-size:1.3rem;color:rgba(201,168,76,.35);flex-shrink:0;width:28px;text-align:center;padding-top:2px;}
.at-body{flex:1;}
.at-label{font-size:.6rem;color:rgba(201,168,76,.5);letter-spacing:2px;margin-bottom:6px;}
.at-text{font-family:'Cormorant Garamond',serif;font-size:1rem;color:var(--pale-lavender);line-height:1.75;margin-bottom:12px;}
.at-check-wrap{display:flex;align-items:center;gap:7px;cursor:pointer;}
.at-checkbox{width:16px;height:16px;accent-color:var(--accent-gold);cursor:pointer;}
.at-check-label{font-size:.72rem;color:rgba(212,200,232,.5);}
.action-task-item.at-done .at-text{text-decoration:line-through;opacity:.55;}
.action-task-item.at-done .at-check-label{color:var(--accent-gold);}

.game-step{display:none;}.game-step.active{display:block;}
.question-box{background:linear-gradient(135deg,rgba(26,10,46,.68),rgba(13,13,31,.8));border:1px solid rgba(201,168,76,.18);border-radius:17px;padding:30px;text-align:center;margin-bottom:20px;}
.question-box h3{font-family:'Cinzel Decorative',serif;color:var(--accent-gold);font-size:1.1rem;margin-bottom:9px;}
.question-box p{color:rgba(212,200,232,.68);font-size:.84rem;margin-bottom:24px;line-height:1.72;}
.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:24px;}
.category-btn{background:linear-gradient(135deg,rgba(26,10,46,.8),rgba(13,13,31,.9));border:1px solid rgba(201,168,76,.18);border-radius:10px;padding:14px 6px;cursor:pointer;color:var(--pale-lavender);font-family:'Noto Sans SC',sans-serif;font-size:.78rem;transition:all .3s;text-align:center;}
.category-btn .cat-icon{font-size:1.55rem;margin-bottom:5px;display:block;}
.category-btn:hover,.category-btn.selected{border-color:var(--accent-gold);color:var(--accent-gold);background:rgba(201,168,76,.09);box-shadow:0 0 14px rgba(201,168,76,.13);transform:translateY(-3px);}
.question-input{width:100%;background:rgba(5,5,20,.8);border:1px solid rgba(201,168,76,.26);border-radius:10px;padding:12px 16px;color:var(--star-white);font-family:'Noto Sans SC',sans-serif;font-size:.88rem;resize:none;min-height:82px;outline:none;transition:border-color .3s,box-shadow .3s;margin-bottom:16px;}
.question-input:focus{border-color:var(--accent-gold);box-shadow:0 0 14px rgba(201,168,76,.12);}
.question-input::placeholder{color:rgba(212,200,232,.26);}
.spread-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:15px;margin-bottom:24px;}
.spread-option{background:linear-gradient(135deg,rgba(26,10,46,.8),rgba(13,13,31,.9));border:1px solid rgba(201,168,76,.18);border-radius:13px;padding:18px 15px;cursor:pointer;text-align:center;transition:all .3s;}
.spread-option:hover,.spread-option.selected{border-color:var(--accent-gold);box-shadow:0 0 18px rgba(201,168,76,.17);background:rgba(201,168,76,.04);}
.spread-visual{display:flex;justify-content:center;gap:4px;margin-bottom:11px;height:44px;align-items:flex-end;}
.mini-card{width:13px;border-radius:3px;background:linear-gradient(to bottom,var(--mystic-purple),var(--royal-purple));border:1px solid rgba(201,168,76,.45);}
.spread-option h4{font-size:.88rem;color:var(--light-gold);margin-bottom:4px;}
.spread-option p{font-size:.72rem;color:rgba(212,200,232,.68);line-height:1.5;}
.spread-option .card-count{margin-top:6px;font-size:.68rem;color:var(--accent-gold);opacity:.7;}

/* ─── RITUAL STEPS: SHUFFLE / CUT ─── */
.ritual-stage{background:linear-gradient(135deg,rgba(20,8,40,.88),rgba(10,5,25,.95));border:1px solid rgba(201,168,76,.22);border-radius:20px;padding:36px 28px;text-align:center;margin-bottom:22px;position:relative;overflow:hidden;}
.ritual-stage::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(201,168,76,.06),transparent 55%);pointer-events:none;}
.ritual-stage h3{font-family:'Cinzel Decorative',serif;color:var(--accent-gold);font-size:1.1rem;margin-bottom:8px;}
.ritual-stage .ritual-sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1rem;color:var(--pale-lavender);opacity:.8;margin-bottom:28px;}
/* Shuffle deck visual */
#shuffleDeck{position:relative;height:160px;margin-bottom:28px;display:flex;align-items:center;justify-content:center;}
.s-card{position:absolute;width:74px;height:120px;border-radius:8px;background:linear-gradient(135deg,var(--mystic-purple),var(--royal-purple));border:1.5px solid rgba(201,168,76,.45);box-shadow:0 6px 20px rgba(100,50,200,.45);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.5rem;transition:transform .4s cubic-bezier(.175,.885,.32,1.275),box-shadow .4s;}
.s-card:hover{box-shadow:0 10px 30px rgba(201,168,76,.4);}
.s-card.shuffling{animation:cardShuffle .5s ease forwards;}
@keyframes cardShuffle{0%{transform:var(--base-t)}30%{transform:var(--fly-t)}100%{transform:var(--base-t)}}
.shuffle-ripple{position:absolute;inset:0;border-radius:10px;background:radial-gradient(circle at 50% 50%,rgba(201,168,76,.15),transparent 70%);}

/* CUT piles */
#cutArea{display:flex;justify-content:center;gap:30px;margin-bottom:28px;flex-wrap:wrap;}
.cut-pile{width:76px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;transition:transform .3s;}
.cut-pile:hover{transform:translateY(-8px);}
.cut-pile .pile-stack{position:relative;width:76px;height:110px;}
.cut-pile .pile-stack .pc{position:absolute;width:72px;height:108px;border-radius:7px;background:linear-gradient(135deg,var(--mystic-purple),var(--royal-purple));border:1.5px solid rgba(201,168,76,.4);display:flex;align-items:center;justify-content:center;font-size:.8rem;color:rgba(201,168,76,.6);}
.cut-pile .pile-stack .pc:nth-child(1){top:4px;left:2px;transform:rotate(-3deg);}
.cut-pile .pile-stack .pc:nth-child(2){top:2px;left:1px;transform:rotate(-1deg);}
.cut-pile .pile-stack .pc:nth-child(3){top:0;left:0;}
.cut-pile .pile-label{font-size:.65rem;color:rgba(212,200,232,.55);letter-spacing:.5px;}
.cut-pile.selected .pile-stack .pc{border-color:var(--accent-gold);box-shadow:0 0 14px rgba(201,168,76,.35);}
.cut-pile.selected .pile-label{color:var(--accent-gold);}
/* Cut recombine animation */
@keyframes pileJoin{0%{transform:translateX(var(--jx)) translateY(var(--jy))}100%{transform:translateX(0) translateY(0)}}
.pile-joining{animation:pileJoin .6s cubic-bezier(.175,.885,.32,1.275) forwards;}

/* Progress bar for shuffle */
.ritual-progress{display:flex;gap:8px;justify-content:center;margin-bottom:20px;}
.rp-dot{width:8px;height:8px;border-radius:50%;background:rgba(201,168,76,.2);border:1px solid rgba(201,168,76,.3);transition:all .4s;}
.rp-dot.done{background:var(--accent-gold);box-shadow:0 0 8px var(--card-glow);}
.rp-dot.active{background:rgba(201,168,76,.6);animation:rpPulse 1s ease-in-out infinite;}
@keyframes rpPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.4)}}

/* ─── ORBIT CARD SYSTEM ─── */
#orbitStage{position:relative;width:100%;height:440px;display:flex;align-items:center;justify-content:center;margin-bottom:10px;perspective:900px;cursor:grab;user-select:none;touch-action:none;}
#orbitStage:active{cursor:grabbing;}
.orbit-ring{position:absolute;border-radius:50%;border:1px solid rgba(201,168,76,.1);animation:orbitRingSpin 22s linear infinite;pointer-events:none;}
.orbit-ring:nth-child(1){width:300px;height:170px;border-color:rgba(201,168,76,.07);}
.orbit-ring:nth-child(2){width:460px;height:250px;border-color:rgba(100,50,200,.09);animation-duration:32s;animation-direction:reverse;}
@keyframes orbitRingSpin{from{transform:rotateX(68deg) rotateZ(0)}to{transform:rotateX(68deg) rotateZ(360deg)}}
.orbit-card{position:absolute;left:0;top:0;width:82px;height:138px;transform-style:preserve-3d;cursor:pointer;will-change:transform,opacity;}

/* ── CARD BACK: rich multilayer gold lace ── */
.orbit-card .c-back,.orbit-card .c-face{position:absolute;inset:0;border-radius:10px;backface-visibility:hidden;}
.orbit-card .c-back{
  background:
    radial-gradient(circle at 35% 35%, rgba(60,30,110,.9) 0%, rgba(20,8,45,.97) 55%),
    repeating-linear-gradient(45deg, rgba(201,168,76,.025) 0, rgba(201,168,76,.025) 1px, transparent 1px, transparent 8px),
    repeating-linear-gradient(-45deg, rgba(100,50,200,.02) 0, rgba(100,50,200,.02) 1px, transparent 1px, transparent 8px);
  /* Outermost gold glow border */
  box-shadow:
    0 0 0 2px rgba(201,168,76,.8),
    0 0 0 4px rgba(20,8,45,.9),
    0 0 0 5.5px rgba(201,168,76,.45),
    0 8px 28px rgba(100,50,200,.55),
    inset 0 0 22px rgba(45,20,88,.5),
    inset 0 0 6px rgba(201,168,76,.08);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
/* First inner lace border */
.orbit-card .c-back::before{
  content:'';position:absolute;inset:5px;
  border:1px solid rgba(201,168,76,.6);
  border-radius:7px;
  background:
    radial-gradient(circle at 50% 50%, rgba(201,168,76,.04) 0%, transparent 55%),
    repeating-conic-gradient(rgba(201,168,76,.07) 0deg 10deg, transparent 10deg 20deg);
  box-shadow:inset 0 0 14px rgba(201,168,76,.1);
}
/* Second inner lace — tighter */
.orbit-card .c-back::after{
  content:'';position:absolute;inset:9px;
  border:0.5px solid rgba(201,168,76,.35);
  border-radius:5px;
  background:
    repeating-conic-gradient(rgba(201,168,76,.04) 0deg 6deg, transparent 6deg 12deg);
  pointer-events:none;z-index:0;
}
.orbit-card .c-back .back-symbol{
  font-size:1.55rem;position:relative;z-index:2;
  filter:drop-shadow(0 0 10px rgba(201,168,76,.9));
  animation:backGlow 3s ease-in-out infinite alternate;
}
/* Corner filigree marks on back */
.orbit-card .c-back .bc{
  position:absolute;font-size:.7rem;color:rgba(201,168,76,.6);z-index:3;
  text-shadow:0 0 6px rgba(201,168,76,.5);line-height:1;
}
.orbit-card .c-back .bc.tl{top:7px;left:7px;}
.orbit-card .c-back .bc.tr{top:7px;right:7px;}
.orbit-card .c-back .bc.bl{bottom:7px;left:7px;transform:rotate(180deg);}
.orbit-card .c-back .bc.br{bottom:7px;right:7px;transform:rotate(180deg);}
@keyframes backGlow{0%{filter:drop-shadow(0 0 4px rgba(201,168,76,.4))}100%{filter:drop-shadow(0 0 20px rgba(201,168,76,1))}}

/* ── CARD FACE: rich multilayer lace + art ── */
.orbit-card .c-face{
  background:
    radial-gradient(circle at 50% 15%, rgba(201,168,76,.12) 0%, transparent 50%),
    radial-gradient(circle at 50% 85%, rgba(100,50,200,.1) 0%, transparent 50%),
    linear-gradient(160deg,#1c1130 0%,#0a0618 50%,#140e28 100%);
  /* Multi-ring gold lace border */
  box-shadow:
    0 0 0 2px rgba(201,168,76,.85),
    0 0 0 3.5px rgba(10,5,25,.95),
    0 0 0 5px rgba(201,168,76,.5),
    0 0 0 6.5px rgba(10,5,25,.9),
    0 0 0 7.5px rgba(201,168,76,.25),
    0 8px 26px rgba(201,168,76,.38),
    inset 0 0 20px rgba(45,20,88,.6),
    inset 0 0 8px rgba(201,168,76,.06);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  padding:14px 6px 8px;
  transform:rotateY(180deg);
  overflow:hidden;
  border-radius:10px;
}
/* Inner lace frame 1 */
.orbit-card .c-face::before{
  content:'';position:absolute;inset:9px;
  border:1px solid rgba(201,168,76,.55);
  border-radius:5px;
  background:
    radial-gradient(circle at 50% 20%, rgba(201,168,76,.1) 0%, transparent 50%),
    repeating-conic-gradient(rgba(201,168,76,.05) 0deg 8deg, transparent 8deg 16deg),
    repeating-linear-gradient(45deg,rgba(201,168,76,.025) 0,rgba(201,168,76,.025) 1px,transparent 1px,transparent 6px);
  box-shadow:inset 0 0 10px rgba(201,168,76,.06);
  pointer-events:none;z-index:0;
}
/* Inner lace frame 2 — thin inner ring */
.orbit-card .c-face::after{
  content:'';position:absolute;inset:13px;
  border:0.5px solid rgba(201,168,76,.3);
  border-radius:3px;
  pointer-events:none;z-index:0;
}
/* Corner flourishes — ornate */
.orbit-card .c-face .f-corner{
  position:absolute;font-size:.62rem;color:rgba(201,168,76,.8);line-height:1;z-index:2;
  text-shadow:0 0 8px rgba(201,168,76,.6);
}
.orbit-card .c-face .f-corner.tl{top:5px;left:5px;}
.orbit-card .c-face .f-corner.tr{top:5px;right:5px;}
.orbit-card .c-face .f-corner.bl{bottom:5px;left:5px;transform:rotate(180deg);}
.orbit-card .c-face .f-corner.br{bottom:5px;right:5px;transform:rotate(180deg);}

/* SVG art container */
.orbit-card .c-face .f-art-wrap{
  position:relative;z-index:3;width:52px;height:52px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  background:radial-gradient(circle,rgba(201,168,76,.12) 0%,transparent 70%);
  animation:artPulse 4s ease-in-out infinite;
}
@keyframes artPulse{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.04)}}
.orbit-card .c-face .f-svg{width:46px;height:46px;filter:drop-shadow(0 0 10px rgba(201,168,76,.8));}
.orbit-card .c-face .f-name{
  font-family:'Cinzel Decorative',serif;font-size:.38rem;
  color:var(--accent-gold);text-align:center;line-height:1.3;
  z-index:3;letter-spacing:.3px;
  text-shadow:0 0 8px rgba(201,168,76,.6);
  max-width:70px;
}
.orbit-card .c-face .f-num{
  font-size:.48rem;color:rgba(201,168,76,.7);z-index:3;
  font-family:'Cormorant Garamond',serif;font-style:italic;
  text-shadow:0 0 5px rgba(201,168,76,.5);
}

/* Light sweep on face */
.orbit-card .c-face::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.22) 50%,transparent 65%);
  border-radius:10px;transform:translateX(-120%);pointer-events:none;z-index:10;
}
.orbit-card.swept .c-face::after{animation:lightSweep .7s ease forwards;}
@keyframes lightSweep{0%{transform:translateX(-120%)}100%{transform:translateX(120%)}}

/* Hover ring */
.orbit-card::before{content:'';position:absolute;inset:-5px;border-radius:14px;background:transparent;border:2px solid transparent;transition:all .3s;pointer-events:none;}
.orbit-card:hover:not(.drawn)::before{border-color:rgba(201,168,76,.6);box-shadow:0 0 20px rgba(201,168,76,.36),inset 0 0 14px rgba(201,168,76,.1);}
.orbit-card.drawn{cursor:default;}
.orbit-card.drawn::before{border-color:rgba(201,168,76,.8);box-shadow:0 0 30px rgba(201,168,76,.5),0 0 60px rgba(201,168,76,.2);animation:drawnPulse 2s ease-in-out infinite;}
@keyframes drawnPulse{0%,100%{box-shadow:0 0 20px rgba(201,168,76,.4)}50%{box-shadow:0 0 42px rgba(201,168,76,.72),0 0 80px rgba(201,168,76,.26)}}
#drawnCardsRow{display:flex;justify-content:center;gap:13px;flex-wrap:wrap;min-height:48px;margin-bottom:18px;}
.drawn-mini{display:flex;flex-direction:column;align-items:center;gap:3px;}
.drawn-mini .dm-card{width:42px;height:68px;border-radius:6px;background:linear-gradient(160deg,#1a1232,#0a0820);border:1.5px solid rgba(201,168,76,.58);display:flex;align-items:center;justify-content:center;font-size:1.15rem;box-shadow:0 4px 14px rgba(201,168,76,.28);animation:dmAppear .5s cubic-bezier(.175,.885,.32,1.275) forwards;}
@keyframes dmAppear{from{transform:scale(0) rotate(-10deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}
.drawn-mini .dm-label{font-size:.55rem;color:rgba(201,168,76,.68);letter-spacing:.5px;}
.draw-progress{font-size:.8rem;color:rgba(212,200,232,.58);margin-bottom:13px;text-align:center;}
.draw-progress span{color:var(--accent-gold);font-weight:600;}
#revealBtn{display:none;margin:0 auto;min-width:190px;}

/* ─── Q&A 行动问卷 (Phase V) ─── */
.qa-intro{text-align:center;padding:22px 16px 18px;margin-bottom:20px;border-bottom:1px solid rgba(201,168,76,.1);}
.qa-intro-icon{font-size:1.3rem;color:rgba(201,168,76,.4);margin-bottom:10px;animation:pulse 3s ease-in-out infinite;}
.qa-intro-text{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:.96rem;color:rgba(212,200,232,.72);line-height:1.95;max-width:480px;margin:0 auto;}
.qa-form{padding:0 4px;}
.qa-item{display:flex;gap:16px;align-items:flex-start;margin-bottom:22px;animation:taskSlideIn .5s ease both;}
.qa-num{flex-shrink:0;width:30px;height:30px;border-radius:50%;border:1px solid rgba(201,168,76,.38);display:flex;align-items:center;justify-content:center;font-family:'Cinzel Decorative',serif;font-size:.55rem;color:var(--accent-gold);margin-top:4px;}
.qa-body{flex:1;}
.qa-label{display:block;font-family:'Cormorant Garamond',serif;font-size:1.02rem;color:rgba(212,200,232,.88);margin-bottom:9px;line-height:1.55;}
.qa-input{width:100%;background:rgba(18,7,40,.65);border:1px solid rgba(201,168,76,.18);border-radius:10px;padding:11px 14px;font-family:'Noto Sans SC',sans-serif;font-size:.82rem;color:rgba(212,200,232,.92);resize:vertical;min-height:58px;outline:none;transition:border-color .3s;box-sizing:border-box;}
.qa-input:focus{border-color:rgba(201,168,76,.5);}
.qa-input::placeholder{color:rgba(212,200,232,.28);}
/* Tasks output */
.tasks-output{padding-top:6px;}
.tasks-output-header{text-align:center;margin-bottom:22px;}
.tasks-output-title{font-family:'Cinzel Decorative',serif;font-size:.75rem;color:var(--accent-gold);letter-spacing:2px;margin-bottom:6px;}
.tasks-output-sub{font-size:.7rem;color:rgba(212,200,232,.45);font-style:italic;}

/* ─── 自动行动建议 (Action Plan Box) ─── */
.action-plan-box {
  display: none;
  opacity: 0;
  margin-top: 8px;
}
.ap-section {
  background: linear-gradient(135deg, rgba(20,8,42,.72), rgba(10,5,24,.82));
  border: 1px solid rgba(201,168,76,.2);
  border-radius: 16px;
  padding: 22px 22px 18px;
}
.ap-title {
  font-family: 'Cinzel Decorative', serif;
  font-size: .7rem;
  color: var(--accent-gold);
  letter-spacing: 2px;
  text-align: center;
  margin-bottom: 4px;
}
.ap-sub {
  text-align: center;
  font-size: .65rem;
  color: rgba(212,200,232,.35);
  font-style: italic;
  margin-bottom: 16px;
}
/* 加载动画 */
.ap-loading { text-align: center; padding: 14px 0 8px; }
.ap-dots { display:flex; justify-content:center; gap:8px; margin-bottom:10px; }
.ap-dots span {
  width:7px; height:7px; border-radius:50%;
  background: rgba(201,168,76,.55);
  animation: dotBounce 1.2s ease-in-out infinite;
}
.ap-dots span:nth-child(2) { animation-delay:.2s; }
.ap-dots span:nth-child(3) { animation-delay:.4s; }
.ap-loading-text { font-size:.7rem; color:rgba(212,200,232,.38); font-style:italic; }
/* 行动列表 */
.ap-list { display:flex; flex-direction:column; gap:9px; }
.ap-item {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 12px 15px;
  background: rgba(40,12,75,.45);
  border: 1px solid rgba(201,168,76,.13);
  border-radius: 10px;
  cursor: pointer;
  transition: border-color .25s, background .25s;
  animation: apSlideIn .45s ease both;
  animation-delay: calc(var(--i) * 0.14s);
}
.ap-item:hover { border-color:rgba(201,168,76,.32); background:rgba(40,12,75,.65); }
.ap-item.ap-done { border-color:rgba(201,168,76,.38); background:rgba(201,168,76,.04); }
.ap-item-num {
  font-family: 'Cinzel Decorative', serif;
  font-size: .95rem;
  color: rgba(201,168,76,.35);
  flex-shrink: 0;
  width: 22px;
  text-align: center;
}
.ap-item-text {
  flex: 1;
  font-size: .88rem;
  color: rgba(212,200,232,.88);
  line-height: 1.55;
}
.ap-item.ap-done .ap-item-text { text-decoration:line-through; opacity:.5; }
.ap-item-check {
  font-size: .95rem;
  color: rgba(212,200,232,.28);
  flex-shrink: 0;
  transition: color .2s, transform .2s;
}
.ap-item-check.checked { color:var(--accent-gold); transform:scale(1.15); }

/* ─── AI 流式输出 ─── */
.ai-stream-box {
  background: rgba(20, 8, 48, 0.6);
  border: 1px solid rgba(201, 168, 76, 0.15);
  border-radius: 14px;
  padding: 22px 24px;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1rem;
  color: rgba(212, 200, 232, 0.88);
  line-height: 1.9;
  min-height: 80px;
}

.ai-cursor {
  display: inline-block;
  color: var(--accent-gold);
  animation: aiCursorBlink 0.9s step-end infinite;
  margin-left: 2px;
  font-weight: bold;
}

@keyframes aiCursorBlink {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0; }
}

.ai-thinking-hint {
  font-family: 'Cinzel Decorative', serif;
  font-size: 0.7rem;
  color: rgba(201, 168, 76, 0.5);
  letter-spacing: 2px;
  text-align: center;
  padding: 24px 0;
  animation: pulse 2s ease-in-out infinite;
}

.reading-text-box .ai-cursor { font-size: 1rem; }

.reading-text-box strong {
  color: var(--accent-gold);
  font-weight: 600;
}

.ai-error {
  color: rgba(212, 100, 100, 0.7);
  font-size: 0.82rem;
  font-style: italic;
}

/* ─── AI 思考区（推演中） ─── */
.ai-think-wrap {
  margin-bottom: 14px;
  padding: 10px 16px 12px;
  background: rgba(201, 168, 76, 0.04);
  border: 1px solid rgba(201, 168, 76, 0.1);
  border-radius: 10px;
  overflow: hidden;
  max-height: 300px;
  transition: max-height 0.7s ease, opacity 0.7s ease, margin 0.5s ease;
}
.ai-think-wrap.ai-think-done {
  max-height: 32px;
  opacity: 0.28;
  margin-bottom: 8px;
}
.ai-think-label {
  font-family: 'Cinzel Decorative', serif;
  font-size: 0.58rem;
  color: rgba(201, 168, 76, 0.45);
  letter-spacing: 1.5px;
  display: block;
  margin-bottom: 5px;
}
.ai-think-body {
  font-size: 0.78rem;
  color: rgba(212, 200, 232, 0.45);
  font-style: italic;
  line-height: 1.7;
  max-height: 200px;
  overflow-y: auto;
  scroll-behavior: smooth;
  padding-right: 4px;
}
.ai-answer-wrap {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1rem;
  color: rgba(212, 200, 232, 0.9);
  line-height: 1.9;
}
.ai-answer-wrap strong { color: var(--accent-gold); font-weight: 600; }

/* ─── Q&A 示例答案短语 ─── */
.qa-eg-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 6px 0 8px;
}
.qa-eg-chip {
  font-size: 0.66rem;
  color: rgba(201, 168, 76, 0.6);
  border: 1px solid rgba(201, 168, 76, 0.2);
  border-radius: 20px;
  padding: 3px 10px;
  cursor: pointer;
  transition: all 0.2s;
  background: rgba(201, 168, 76, 0.04);
  user-select: none;
}
.qa-eg-chip:hover {
  color: var(--accent-gold);
  border-color: rgba(201, 168, 76, 0.5);
  background: rgba(201, 168, 76, 0.1);
}
.qa-eg-chip.qa-eg-applied {
  color: var(--accent-gold);
  border-color: var(--accent-gold);
  background: rgba(201, 168, 76, 0.12);
}
.qa-eg-loading {
  font-size: 0.64rem;
  color: rgba(201, 168, 76, 0.4);
  font-style: italic;
  animation: pulse 1.6s ease-in-out infinite;
}

