/* ---------- COVER ---------- */
  .cover{background:var(--ink);color:var(--paper)}
  .cover canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.5;
    transform:perspective(1000px) rotateX(46deg) scale(1.28);transform-origin:70% 42%;
    animation:dolly 26s ease-in-out infinite alternate}
  @keyframes dolly{
    from{transform:perspective(1000px) rotateX(46deg) scale(1.28)}
    to{transform:perspective(1000px) rotateX(42deg) scale(1.42)}
  }
  .cover .inner{position:relative;z-index:2;display:flex;flex-direction:column;
    justify-content:center;height:100%}
  .cover h1{font-family:var(--serif);font-weight:600;font-size:76px;line-height:1.18;
    color:#F4F1E8;margin:26px 0 8px;max-width:14em}
  .cover .slash{color:var(--brass-lite);font-style:italic;font-weight:400}
  .cover .lede{font-size:29px;color:#CBD4D2;margin-top:16px;max-width:26em}
  .cover .meta{margin-top:44px;display:flex;gap:34px;font-family:var(--mono);font-size:17px;
    color:#8FA0A4}
  .cover .meta b{color:var(--brass-lite)}

  

/* ---------- YEAR CARDS / INSIGHT CARDS ---------- */
  .duo{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px}
  .year{background:var(--panel-hi);border:1px solid var(--line);border-radius:4px;padding:30px 32px}
  .year .tag{font-family:var(--mono);font-size:16px;letter-spacing:.12em;color:var(--brass);font-weight:600}
  .year h3{font-family:var(--serif);font-size:31px;margin:12px 0 12px;font-weight:600}
  .year p{color:var(--ink-soft);font-size:22px}
  .year.now{background:var(--ink);color:var(--paper);border-color:var(--ink)}
  .year.now .tag{color:var(--brass-lite)}
  .year.now p{color:#C6CFCD}
  .year.now b{color:#F4F1E8}

  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px}
  .card{background:var(--panel-hi);border:1px solid var(--line);border-radius:4px;padding:26px 24px}
  .card .n{font-family:var(--mono);font-size:15px;color:var(--brass);letter-spacing:.1em;font-weight:600}
  .card h3{font-size:24.5px;margin:14px 0 12px;line-height:1.35}
  .card p{font-size:19px;color:var(--ink-soft)}

  

/* ---------- CHIPS ---------- */
  .chips{display:flex;flex-wrap:wrap;gap:16px;margin-top:52px}
  .chip{font-family:var(--mono);font-size:22px;color:var(--ink-soft);background:var(--panel-hi);
    border:1px solid var(--line-mid);border-radius:999px;padding:14px 28px}
  .chip.hl{color:#fff;border-color:transparent;font-weight:600}
  .chip.stop{background:var(--stop)}
  .chip.go{background:var(--go)}
  .wallnote{margin-top:40px;font-size:24px;color:var(--ink-faint);font-style:italic}

  

/* ---------- QUADRANT ---------- */
  .quad{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;
    background:var(--line-mid);border:1px solid var(--line-mid);border-radius:4px;overflow:hidden;
    margin-top:0;height:380px}
  .cell{background:var(--panel-hi);padding:18px 20px;position:relative;display:flex;
    flex-direction:column;justify-content:flex-end}
  .cell .qh{font-family:var(--mono);font-size:15px;color:var(--ink-faint);
    position:absolute;top:14px;left:20px}
  .cell.stopzone{background:rgba(158,64,40,.07)}
  .cell.gozone{background:rgba(44,107,93,.12)}
  .cell .pin{font-family:var(--mono);font-size:15px;font-weight:700;color:#fff;display:inline-block;
    padding:3px 12px;border-radius:999px;margin-bottom:8px;width:fit-content}
  .pin.s{background:var(--stop)}
  .pin.g{background:var(--go)}
  .verdict{font-family:var(--serif);font-size:27px;font-weight:600}
  .verdict.s{color:var(--stop)}
  .verdict.g{color:var(--go)}
  .cell .case{font-size:17px;color:var(--ink-soft);line-height:1.45;margin-top:4px}
  .quad-frame{display:grid;grid-template-columns:130px 1fr 130px;grid-template-rows:auto auto auto;
    grid-template-areas:"top top top" "left box right" "bottom bottom bottom";
    align-items:center;justify-items:center;gap:14px 18px;margin-top:26px}
  .qf-top,.qf-bottom,.qf-left,.qf-right{font-family:var(--mono);font-size:15px;
    color:var(--ink-faint);line-height:1.4}
  .qf-top{grid-area:top}
  .qf-bottom{grid-area:bottom}
  .qf-left{grid-area:left;text-align:right}
  .qf-right{grid-area:right;text-align:left}
  .quad-frame .quad-wrap{grid-area:box;width:100%;margin-top:0}

  

/* ---------- QUESTIONS ---------- */
  .qs{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:48px}
  .q{border-left:3px solid var(--brass);padding-left:24px}
  .q b{display:block;font-size:28px;margin-bottom:12px}
  .q p{font-size:22px;color:var(--ink-soft)}

  

/* ---------- DIVIDERS(章節字卡:2.0:1 letterbox)---------- */
  .divider{display:flex;flex-direction:column;justify-content:center;color:#fff;
    border-top:40px solid #000;border-bottom:40px solid #000}
  .divider .kicker{letter-spacing:.3em}
  .divider.stopbg{background:var(--stop)}
  .divider.gobg{background:var(--go)}
  .divider .kicker{font-family:var(--mono);font-size:18px;letter-spacing:.18em;text-transform:uppercase;
    opacity:.85}
  .divider h2{font-family:var(--serif);font-size:66px;font-weight:600;margin:20px 0 14px;line-height:1.2}
  .divider p{font-size:28px;opacity:.92;max-width:26em}

  

/* ---------- CASE CONTENT ---------- */
  .split{display:grid;grid-template-columns:1fr 420px;gap:40px;margin-top:36px;flex:1;min-height:0}
  .imgslot{border:2px dashed var(--brass);border-radius:6px;display:flex;align-items:center;
    justify-content:center;text-align:center;color:var(--brass);font-family:var(--mono);
    font-size:18px;line-height:1.6;padding:20px;background:rgba(150,112,26,.05)}
  .imgcol{display:flex;flex-direction:column;gap:8px;min-height:0}
  .imgslot.small{height:110px;flex:none}
  .imgcap{font-family:var(--mono);font-size:12.5px;color:var(--ink-faint);text-align:center}
  .bigline{font-size:32px;line-height:1.55;max-width:24em;margin-top:34px}
  .bigline b{color:var(--stop)}
  .bigline.g b{color:var(--go)}
  .list{margin-top:36px;display:flex;flex-direction:column;gap:18px;font-size:27px}
  .list .li{display:flex;gap:16px;align-items:baseline}
  .list .li::before{content:"·";color:var(--brass);font-weight:700;font-size:30px}

  .statline{margin-top:30px;display:flex;flex-wrap:nowrap;gap:34px;font-family:var(--mono);
    font-size:18px;color:var(--ink-soft);white-space:nowrap}
  .statline b{font-family:var(--serif);font-size:23px;font-weight:600;color:var(--ink);margin-right:6px}
  .statline .hero b{color:var(--brass)}

  .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px}
  .stat{background:var(--panel-hi);border:1px solid var(--line);border-radius:4px;
    padding:22px 18px;text-align:center}
  .stat b{display:block;font-family:var(--serif);font-size:44px;font-weight:600;color:var(--ink);
    font-variant-numeric:tabular-nums;line-height:1.1}
  .stat b i{font-style:normal;font-size:26px}
  .stat span{display:block;margin-top:8px;font-family:var(--mono);font-size:15.5px;color:var(--ink-faint)}
  .stat.hero b{color:var(--brass)}

  

/* ---------- QUOTE ---------- */
  .quote{display:flex;flex-direction:column;justify-content:center}
  .quote blockquote{font-family:var(--serif);font-weight:600;font-size:52px;line-height:1.45;
    color:#F4F1E8;margin:0;max-width:19em;text-wrap:balance}
  .quote blockquote .em{color:var(--brass-lite)}
  .quote .attr{margin-top:36px;font-size:24px;color:#8FA0A4}

  

/* ---------- VERDICT SLIDES ---------- */
  .verdict-slide{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
  .verdict-slide .word{font-family:var(--serif);font-weight:600;font-size:120px;line-height:1}
  .verdict-slide.sv{background:linear-gradient(160deg,#F3E7E2,var(--paper))}
  .verdict-slide.gv{background:linear-gradient(160deg,#E2EDE9,var(--paper))}
  .verdict-slide.sv .word{color:var(--stop)}
  .verdict-slide.gv .word{color:var(--go)}
  .verdict-slide .because{font-size:30px;color:var(--ink-soft);margin-top:34px;max-width:34em;text-wrap:balance}
  .verdict-slide .bearing,.verdict-slide .word,.verdict-slide .because{position:relative;z-index:1}
  .verdict-compass{position:absolute;right:-70px;bottom:-70px;width:560px;height:560px;opacity:.16;
    pointer-events:none;z-index:0}

  

/* ---------- TABLE ---------- */
  table{border-collapse:collapse;width:100%;margin-top:36px;font-size:24px;
    background:var(--panel-hi);border:1px solid var(--line-mid);border-radius:4px;overflow:hidden}
  th,td{text-align:left;padding:20px 26px;border-bottom:1px solid var(--line);vertical-align:top}
  thead th{font-family:var(--mono);font-size:18px;letter-spacing:.08em;text-transform:uppercase;
    color:var(--paper);font-weight:600}
  thead th.c-stop{background:var(--stop)}
  thead th.c-go{background:var(--go)}
  thead th:first-child{background:var(--ink)}
  tbody th{font-family:var(--mono);font-size:16.5px;letter-spacing:.03em;color:var(--ink-faint);
    text-transform:uppercase;font-weight:600;background:var(--panel);width:190px}
  tbody tr:last-child td,tbody tr:last-child th{border-bottom:none}
  td.s{color:var(--stop);font-weight:500}
  td.g{color:var(--go);font-weight:600}

  

/* ---------- TAKEAWAY ---------- */
  .takeaway blockquote{font-family:var(--serif);font-weight:600;font-size:58px;line-height:1.35;
    color:#F4F1E8;margin:30px 0 0;max-width:16em;text-wrap:balance}
  .takeaway .em{color:var(--brass-lite)}
  .takeaway .foot{margin-top:44px;font-size:24px;color:#B7C1BF;max-width:30em}
  .takeaway .bgart{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
    animation:coverdrift 26s ease-in-out infinite alternate}
  .takeaway .eyebrow,.takeaway blockquote,.takeaway .tk-qs,.takeaway .foot{position:relative;z-index:1}
  .tk-qs{display:flex;flex-direction:column;gap:20px;margin-top:36px}
  .tk-q{display:flex;align-items:baseline;gap:16px;font-family:var(--serif);font-size:30px;
    font-weight:600;color:#F4F1E8}
  .tk-q b{font-family:var(--mono);font-size:16px;font-weight:700;color:var(--brass-lite);
    border:1.5px solid var(--brass-lite);border-radius:50%;width:26px;height:26px;
    display:inline-flex;align-items:center;justify-content:center;flex:none}

  

/* ---------- PROMPT PAGE ---------- */
  .promptbox{margin-top:14px;border-radius:6px;overflow:hidden;background:var(--ink);flex:1;min-height:0;
    display:flex;flex-direction:column}
  .promptbar{display:flex;justify-content:space-between;background:rgba(255,255,255,.05);
    color:var(--brass-lite);font-family:var(--mono);font-size:15px;letter-spacing:.1em;
    padding:12px 20px;border-bottom:1px solid rgba(255,255,255,.1)}
  .promptbox pre{margin:0;padding:15px 22px;color:#DCE3E1;font-family:var(--mono);font-size:15px;
    line-height:1.62;white-space:pre-wrap;overflow:hidden}
  .promptbox pre b{color:#F4E3B8}
  .promptbody{display:flex;flex:1;min-height:0}
  .promptbody pre{flex:1;min-width:0}
  .promptbody img{width:460px;flex:none;object-fit:contain;display:block;align-self:center}


  

/* ---------- END ---------- */
  .end .bgart{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
    animation:coverdrift 26s ease-in-out infinite alternate}
  .end .eyebrow,.end h2{position:relative;z-index:1}
  .end h2{font-family:var(--serif);font-size:86px;font-weight:600;color:#F4F1E8}

  

/* ---------- STEPS(從零四步)---------- */
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}
  .step-card{background:var(--panel-hi);border:1px solid var(--line);border-radius:4px;padding:22px 20px}
  .step-card .sn{font-family:var(--mono);font-size:15px;color:var(--brass);font-weight:700;letter-spacing:.1em}
  .step-card h3{font-size:23px;margin:10px 0 10px}
  .step-card p{font-size:17px;color:var(--ink-soft)}

  

/* ---------- RESOURCE TABLE(緊湊版)---------- */
  table.res{font-size:19px;margin-top:30px}
  table.res th,table.res td{padding:12px 18px}
  table.res thead th{background:var(--ink)}
  table.res tbody th{width:130px;font-size:15px}
  .slide a{color:inherit;text-decoration:underline;text-decoration-color:var(--line-mid);text-underline-offset:3px}
  .slide a:hover{text-decoration-color:var(--brass)}

  

/* ---------- FILLED IMGSLOT ---------- */
  .imgslot.filled{border:none;background:none;padding:0;overflow:hidden}
  .imgslot.filled img{width:100%;height:100%;object-fit:contain;border-radius:6px;display:block;
    filter:saturate(.85) contrast(1.06) brightness(.97)}
  .slide.cur .imgslot.filled img{animation:kenburns 14s cubic-bezier(.16,1,.3,1) both}
  @keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.045)}}

  

/* ---------- 七個 PoC 小卡 ---------- */
.seven{display:grid;grid-template-columns:1fr 1fr;gap:13px 18px;margin-top:32px}
.p7{background:var(--panel-hi);border:1px solid var(--line);border-radius:4px;padding:13px 18px}
.p7 b{display:flex;align-items:baseline;font-family:var(--mono);font-size:17px;letter-spacing:.02em}
.p7 .tt{margin-left:auto;display:flex;gap:6px;font-style:normal}
.p7 .tt em{font-style:normal;font-weight:600;font-size:11px;letter-spacing:.04em;color:var(--brass);
  border:1px solid rgba(150,112,26,.4);border-radius:3px;padding:1px 7px;white-space:nowrap}
.p7 span{display:block;margin-top:3px;font-size:15.5px;color:var(--ink-soft)}
.p7.stop{border-left:4px solid var(--stop)}
.p7.stop b{color:var(--stop)}
.p7.go{border-left:4px solid var(--go)}
.p7.go b{color:var(--go)}

/* ---------- 曼陀號說明圖頁 ---------- */
.voyage{padding:0}
.voyage .bgart{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.voyage-top{position:relative;z-index:3;padding:56px 84px 46px;
  background:linear-gradient(180deg,rgba(14,23,30,.78) 0%,rgba(14,23,30,0) 100%)}
.voyage h2.t{color:#F4F1E8}
.anno{position:absolute;z-index:3;max-width:350px;background:rgba(10,16,20,.66);
  border:1px solid rgba(192,151,58,.5);border-radius:4px;padding:11px 15px;
  backdrop-filter:blur(2px)}
.anno .n{display:block;font-family:var(--mono);font-style:normal;font-size:12px;
  letter-spacing:.12em;color:var(--brass-lite);margin-bottom:5px}
.anno b{display:block;font-size:18.5px;color:#F4F1E8;margin-bottom:4px;line-height:1.4}
.anno span{display:block;font-size:15px;color:#CBD4D2;line-height:1.55}
.voyage-cap{position:absolute;z-index:3;left:84px;right:84px;bottom:40px;
  font-size:20px;color:#DCE3E1;font-style:italic;text-align:center;
  text-shadow:0 1px 8px rgba(10,16,20,.9)}

/* ---------- 封面主視覺(取代羅盤 canvas)---------- */
.cover .bgart{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  animation:coverdrift 26s ease-in-out infinite alternate}
@keyframes coverdrift{from{transform:scale(1.02)}to{transform:scale(1.08)}}

/* ---------- 象限海圖版 ---------- */
.quad-wrap{position:relative;margin-top:30px;border-radius:4px;overflow:hidden;
  border:1px solid var(--line-mid)}
.quadart{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  animation:coverdrift 30s ease-in-out infinite alternate}
.quad-wrap .quad{position:relative;margin-top:0;border:none;background:rgba(192,151,58,.35)}
.quad-wrap .cell{background:rgba(14,23,30,.42)}
.quad-wrap .cell.stopzone{background:rgba(110,36,20,.52)}
.quad-wrap .cell.gozone{background:rgba(22,78,64,.5)}
.quad-wrap .cell .qh{color:#D8E0DD}
.quad-wrap .cell .case{color:#E9EEEA}
.quad-wrap .verdict.s{color:#F0A088}
.quad-wrap .verdict.g{color:#9FD8C6}

/* ---------- 兩個問題的判斷訊號 ---------- */
.qlist{margin-top:18px;display:flex;flex-direction:column;gap:12px}
.qlist .qi{display:flex;gap:12px;align-items:baseline;font-size:20px;color:var(--ink)}
.qlist .qi::before{content:"？";font-family:var(--mono);font-weight:700;
  color:var(--brass);font-size:17px}
