/* 官網 v19（2026-10-22）：資料驅動的首頁、主線、副本、NPC、更新日誌、規則區。沿用 Ember-Plume tokens。 */
.v19-muted{color:var(--ash-dim)}
.v19-meta{display:inline-block;margin-left:6px;color:var(--ash);font-size:.92rem}
.v19-tag{display:inline-block;padding:0 8px;border:1px solid var(--line-strong);border-radius:999px;color:var(--ash);font-size:.8rem}
.v19-tbd-note{margin-left:8px;color:var(--ash-dim)}
.v19-section{padding:clamp(56px,8vw,104px) 0}
.v19-alt{background:linear-gradient(180deg,rgba(28,24,48,.55),rgba(13,11,23,0))}
.v19-head{max-width:760px;margin-bottom:26px}
.v19-head h2{margin:6px 0 10px;font:700 clamp(1.8rem,4vw,2.6rem)/1.2 var(--font-display)}
.v19-head p{margin:0;color:var(--ash)}
.v19-actions{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}
.v19-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,4vw,48px);align-items:center}
.v19-split-rev>:first-child{order:0}
.v19-figure{margin:0}
.v19-figure img{width:100%;height:auto;border-radius:var(--radius-l);border:1px solid var(--line-strong);box-shadow:0 24px 60px rgba(0,0,0,.45)}
.v19-figure figcaption{margin-top:8px;color:var(--ash-dim);font-size:.85rem;text-align:right}
code{font-family:var(--font-mono)}
.v19-home code,.v19-page code{color:var(--gold)}

/* hero */
.v19-hero{position:relative;min-height:min(86svh,820px);display:grid;align-items:end;overflow:clip;isolation:isolate;background:#0b0918;padding:140px 0 72px}
.v19-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.v19-hero-veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,6,14,.9) 0%,rgba(7,6,14,.62) 38%,rgba(7,6,14,.08) 70%),linear-gradient(0deg,var(--night-1) 0%,rgba(13,11,23,0) 30%)}
.v19-hero-copy{position:relative}
.v19-kicker{margin:0 0 10px;color:var(--gold);font:700 .82rem/1.5 var(--font-body);letter-spacing:.14em}
.v19-hero h1{margin:0;font:800 clamp(3rem,9vw,6rem)/1 var(--font-display);background:linear-gradient(180deg,#fff3d6,#f2c46d 60%,#ff9a4a);-webkit-background-clip:text;background-clip:text;color:transparent}
.v19-hero h1 span{display:block;margin-top:10px;font:600 clamp(.9rem,2vw,1.15rem)/1 var(--font-latin);letter-spacing:.5em;color:var(--parchment);-webkit-text-fill-color:var(--parchment)}
.v19-lede{max-width:660px;margin:22px 0 6px;font:700 clamp(1.2rem,2.6vw,1.6rem)/1.6 var(--font-display)}
.v19-sub{max-width:560px;margin:0;color:var(--ash)}
.v19-hero-status{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-width:640px}
.v19-hero-status li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-s);background:rgba(13,11,23,.62);backdrop-filter:blur(4px)}
.v19-art-note{margin:14px 0 0;color:var(--ash-dim);font-size:.8rem}

/* 現在能玩什麼 */
.v19-now-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;align-items:start}
.v19-now{padding:22px;border:1px solid var(--line-strong);border-radius:var(--radius-m);background:var(--night-2)}
.v19-now-live{border-color:color-mix(in srgb,var(--st-live) 45%,transparent)}
.v19-now-next{border-color:color-mix(in srgb,var(--st-dev) 40%,transparent)}
.v19-now h3{margin:0 0 12px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font:700 1.15rem/1.4 var(--font-display)}
.v19-now ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.v19-now-next ul{grid-template-columns:1fr}
.v19-now li{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-s);background:rgba(13,11,23,.45)}
.v19-now li b{color:var(--parchment)}
.v19-now li span{color:var(--ash);font-size:.93rem}

/* 職業 */
.v19-classes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.v19-class{overflow:hidden;border:1px solid var(--line-strong);border-radius:var(--radius-m);background:var(--night-2)}
.v19-class img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}
.v19-class-body{padding:16px 18px 18px}
.v19-class-role{margin:0;color:var(--gold);font-size:.85rem;font-weight:700;letter-spacing:.06em}
.v19-class h3{margin:4px 0 6px;font:700 1.5rem/1.2 var(--font-display)}
.v19-class p{color:var(--ash)}
.v19-chips{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.v19-chips li,.v19-chiplist span{padding:2px 10px;border:1px solid var(--line-strong);border-radius:999px;font-size:.85rem;color:var(--parchment)}
.v19-chiplist{display:flex;flex-wrap:wrap;gap:6px}

/* 主線時間軸（首頁） */
.v19-chapters{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.v19-chapter{display:grid;grid-template-columns:46px 1fr;gap:12px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-m);background:rgba(20,17,34,.75)}
.v19-chapter h3{margin:0 0 4px;font:700 1.15rem/1.3 var(--font-display)}
.v19-chapter p{margin:6px 0 0;color:var(--ash);font-size:.93rem}
.v19-chapter-n{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--night-4);color:var(--gold);font:800 1.1rem/1 var(--font-latin)}
.v19-st-live .v19-chapter-n{background:linear-gradient(140deg,var(--gold),var(--ember));color:var(--night-0)}
.v19-st-planned{opacity:.82}
.v19-room-mini{list-style:none;margin:12px 0 18px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.v19-room-mini li{padding:6px 10px;border:1px solid var(--line);border-radius:var(--radius-s);color:var(--ash)}
.v19-room-mini b{color:var(--gold);margin-right:4px}
.v19-npc-mini{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.v19-npc-mini li{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-s);background:rgba(20,17,34,.7)}
.v19-npc-mini b{font:700 1.05rem/1.3 var(--font-display)}
.v19-npc-mini span{color:var(--ash);font-size:.85rem}
.v19-npc-mini .badge{justify-self:start;margin-top:2px}
.v19-log-mini{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px}
.v19-log-mini li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.v19-log-mini small{color:var(--ash-dim)}
.v19-home .eh-join-card{max-width:860px;margin-inline:auto;padding:clamp(26px,5vw,48px);border:1px solid var(--line-strong);border-radius:32px;background:linear-gradient(160deg,rgba(48,30,48,.92),rgba(14,12,26,.95))}
.v19-home .eh-join-card h2{margin:6px 0 10px;font:700 clamp(1.6rem,4vw,2.3rem)/1.2 var(--font-display)}
.v19-faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px;align-items:start}

/* 內頁 */
.v19-page{padding-top:clamp(28px,5vw,56px);padding-bottom:56px}
.v19-page-head{max-width:820px;margin-bottom:24px}
.v19-page-head h1{margin:6px 0 10px;font:800 clamp(2.2rem,6vw,3.4rem)/1.15 var(--font-display)}
.v19-page-head p{color:var(--ash)}
.v19-toc{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.v19-toc a{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--line-strong);border-radius:999px;color:var(--parchment);text-decoration:none;font-size:.92rem}
.v19-toc a:hover{border-color:var(--gold)}
.v19-card{margin:0 0 18px;padding:clamp(18px,3vw,28px);border:1px solid var(--line-strong);border-radius:var(--radius-m);background:var(--night-2);scroll-margin-top:100px}
.v19-card h2{margin:0;font:700 clamp(1.35rem,3vw,1.8rem)/1.3 var(--font-display)}
.v19-card-head{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;margin-bottom:10px}
.v19-card-head:not(:has(.v19-chapter-n)){grid-template-columns:1fr}
.v19-card-head p{margin:6px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px}
.v19-story-sum{font-size:1.05rem}
.v19-steps{margin:14px 0;padding:0;list-style:none;display:grid;gap:6px;counter-reset:s}
.v19-steps li{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:baseline;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-s);background:rgba(13,11,23,.45);counter-increment:s}
.v19-steps li::before{content:counter(s);display:none}
.v19-step-type{display:inline-block;min-width:3.6em;padding:1px 8px;border-radius:999px;background:var(--night-4);color:var(--gold);font-size:.8rem;font-weight:700;text-align:center}
.v19-steps small{color:var(--ash-dim)}
.v19-reward{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin:12px 0 0}
.v19-reward>div{padding:10px 12px;border:1px solid color-mix(in srgb,var(--gold) 30%,transparent);border-radius:var(--radius-s);background:rgba(242,196,109,.06)}
.v19-reward dt{color:var(--ash-dim);font-size:.82rem}
.v19-reward dd{margin:2px 0 0;color:var(--gold);font-weight:700}
.v19-foot-note{margin-top:22px;color:var(--ash-dim)}
.v19-rooms{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.v19-rooms li{display:grid;grid-template-columns:44px 1fr;gap:2px 12px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-s);background:rgba(13,11,23,.45)}
.v19-rooms b{grid-row:span 2;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--night-4);color:var(--gold)}
.v19-room-name{font-weight:700}
.v19-rooms li span:last-child{color:var(--ash)}
.v19-bosses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
.v19-boss{padding:16px;border:1px solid color-mix(in srgb,#ff6b5a 45%,transparent);border-radius:var(--radius-m);background:linear-gradient(160deg,rgba(255,107,90,.08),var(--night-2) 60%)}
.v19-boss h4{margin:0 0 8px;font:700 1.15rem/1.3 var(--font-display)}
.v19-boss p{color:var(--ash);margin:8px 0 0}
.v19-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0}
.v19-stats div{padding:6px;border-radius:var(--radius-s);background:rgba(13,11,23,.55);text-align:center}
.v19-stats dt{color:var(--ash-dim);font-size:.75rem}
.v19-stats dd{margin:0;font:800 1.05rem/1.2 var(--font-latin);color:var(--parchment)}
.v19-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-s)}
.v19-table{width:100%;border-collapse:collapse;min-width:560px}
.v19-table th,.v19-table td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:.93rem}
.v19-table thead th{color:var(--ash-dim);font-weight:600}
.v19-table tbody th{color:var(--parchment)}
.v19-plain{list-style:none;margin:10px 0;padding:0;display:grid;gap:6px}
.v19-npc-group h2{margin:28px 0 12px;font:700 1.35rem/1.3 var(--font-display)}
.v19-npcs{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.v19-npc{display:grid;gap:8px;padding:16px;border:1px solid var(--line-strong);border-radius:var(--radius-m);background:var(--night-2)}
.v19-npc header{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 8px}
.v19-npc h3{margin:0;font:700 1.3rem/1.2 var(--font-display)}
.v19-npc header p{grid-column:1;margin:0;color:var(--gold);font-size:.88rem}
.v19-npc header .badge{grid-row:1/span 2;grid-column:2}
.v19-npc blockquote{margin:0;padding:8px 12px;border-left:3px solid var(--gold);background:rgba(242,196,109,.06);border-radius:0 var(--radius-s) var(--radius-s) 0}
.v19-npc blockquote p{margin:0;color:var(--parchment)}
.v19-npc footer{display:flex;flex-wrap:wrap;gap:6px;align-items:center;color:var(--ash-dim);font-size:.82rem;font-family:var(--font-mono)}
.v19-log{list-style:none;margin:0;padding:0}
.v19-log-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 14px;margin-bottom:8px}
.v19-log-head p{margin:0;display:flex;gap:8px;align-items:center;color:var(--ash)}

/* 玩法手冊：規則 */
.v19-rules{margin:36px 0;scroll-margin-top:100px}
.v19-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.v19-rule{padding:18px 20px;border:1px solid var(--line-strong);border-radius:var(--radius-m);background:var(--night-2)}
.v19-rule h3{margin:0 0 8px;font:700 1.2rem/1.3 var(--font-display)}
.v19-rule-k{margin:10px 0 4px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;color:var(--ash);font-size:.9rem;font-weight:700}
.v19-rule ul{margin:0;padding-left:1.1em;display:grid;gap:4px;color:var(--ash)}
.v19-rule-next{color:var(--parchment)}
.w6-section .v19-rule{margin-top:8px}

@media (max-width:900px){
  .v19-split,.v19-now-grid,.v19-faq{grid-template-columns:1fr}
  .v19-classes,.v19-chapters,.v19-bosses{grid-template-columns:1fr 1fr}
  .v19-rule-grid,.v19-rooms{grid-template-columns:1fr}
}
@media (max-width:600px){
  .v19-classes,.v19-chapters,.v19-bosses,.v19-now ul,.v19-room-mini{grid-template-columns:1fr}
  .v19-hero{padding:110px 0 48px;min-height:auto}
  .v19-hero-img{object-position:72% 40%}
  .v19-hero-veil{background:linear-gradient(180deg,rgba(7,6,14,.2) 0%,rgba(7,6,14,.55) 35%,rgba(7,6,14,.82) 70%,var(--night-1) 100%)}
  .v19-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* 從零開始 /start（v19-w2） */
.v19-start-toc{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.v19-start-toc a{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 6px;border:1px solid var(--line-strong);border-radius:999px;color:var(--parchment);text-decoration:none}
.v19-start-toc b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:linear-gradient(140deg,var(--gold),var(--ember));color:var(--night-0)}
.v19-pf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.v19-pf{padding:16px;border:1px solid var(--line);border-radius:var(--radius-m);background:rgba(13,11,23,.5)}
.v19-pf h3{margin:0 0 6px;font:700 1.25rem/1.3 var(--font-display)}
.v19-pf p{margin:6px 0 0;color:var(--ash)}
.v19-pf-muted{opacity:.75}
.v19-step-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(18px,3vw,36px);align-items:start}
.v19-step-n{margin:0;color:var(--gold);font:800 .85rem/1.4 var(--font-body);letter-spacing:.18em}
.v19-step h3,.v19-card>h3{margin:18px 0 6px;font:700 1.15rem/1.4 var(--font-display);display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.v19-buy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
.v19-buy article{padding:14px 16px;border:1px solid var(--line-strong);border-radius:var(--radius-m);background:rgba(13,11,23,.5)}
.v19-buy h3{margin:0 0 4px}
.v19-buy p{margin:6px 0 0;color:var(--ash)}
.v19-buy b,.v19-numbered b,.v19-pf b{color:var(--parchment)}
.v19-price{padding:10px 14px;border-left:3px solid var(--gold);background:rgba(242,196,109,.07);border-radius:0 var(--radius-s) var(--radius-s) 0}
.v19-numbered{margin:6px 0 0;padding-left:1.4em;display:grid;gap:6px;color:var(--ash)}
.v19-numbered li::marker{color:var(--gold);font-weight:800}
.v19-ctrl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:10px}
.v19-ctrl-grid article{padding:16px;border:1px solid var(--line);border-radius:var(--radius-m);background:rgba(13,11,23,.45)}
.v19-ctrl-grid h3{margin:0 0 10px}
.v19-keys{margin:0;display:grid;gap:6px}
.v19-keys>div{display:grid;grid-template-columns:minmax(120px,auto) 1fr;gap:10px;align-items:center}
.v19-keys dt{display:flex;flex-wrap:wrap;gap:4px;align-items:center;color:var(--ash-dim)}
.v19-keys dd{margin:0;color:var(--ash)}
kbd{display:inline-block;min-width:1.9em;padding:2px 7px;border:1px solid var(--line-strong);border-bottom-width:3px;border-radius:6px;background:var(--night-3);color:var(--parchment);font:700 .85rem/1.4 var(--font-body);text-align:center;white-space:nowrap}
@media (max-width:900px){.v19-step-grid,.v19-ctrl-grid{grid-template-columns:1fr}.v19-pf-grid{grid-template-columns:1fr}}
@media (max-width:600px){.v19-buy{grid-template-columns:1fr}.v19-keys>div{grid-template-columns:1fr;gap:2px}}

/* 連線卡（v19-w2） */
.v19-connect{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
.v19-connect-card{padding:16px 18px;border:1px solid var(--line-strong);border-radius:var(--radius-m);background:rgba(13,11,23,.55)}
.v19-connect-card h3{margin:0 0 10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;font:700 1.15rem/1.3 var(--font-display)}
.v19-connect-card dl{margin:0;display:grid;gap:8px}
.v19-connect-card dl>div{display:grid;grid-template-columns:6.5em 1fr;gap:10px;align-items:center}
.v19-connect-card dt{color:var(--ash-dim)}
.v19-connect-card dd{margin:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.v19-addr{padding:4px 10px;border:1px solid color-mix(in srgb,var(--gold) 40%,transparent);border-radius:8px;background:rgba(242,196,109,.08);color:var(--gold);font:700 1.05rem/1.4 var(--font-mono)}
.v19-copy{padding:3px 10px;border:1px solid var(--line-strong);border-radius:999px;background:var(--night-3);color:var(--parchment);font-size:.85rem;cursor:pointer}
.v19-copy:hover{border-color:var(--gold)}
.v19-limits{margin:10px 0 0;padding-left:1.1em;color:var(--ash);font-size:.92rem;display:grid;gap:4px}
@media (max-width:700px){.v19-connect{grid-template-columns:1fr}}
.v19-inline-addr{padding:1px 6px;border-radius:6px;background:rgba(242,196,109,.1);color:var(--gold);font-family:var(--font-mono)}
