/* Chapter content: HTML/CSS versions of the former poster images. Photos live in assets/img. */
:root{--card:linear-gradient(180deg,#26181b,#1b1113);--card-line:rgba(224,189,132,.18);--wine:linear-gradient(180deg,#5e1e24,#3b1116);--pad:40px}

.panel{position:relative;padding:var(--pad);border:1px solid rgba(224,189,132,.12);border-radius:22px;background:radial-gradient(ellipse 90% 55% at 50% 0%,#4a1a2055,transparent 70%),linear-gradient(180deg,#1f1013,#150c0e);box-shadow:inset 0 1px 0 rgba(255,225,180,.06),0 24px 60px -20px #000c;overflow:hidden}
.panel>:not(:first-child){margin-top:34px}
.panel h4{margin:0 0 18px;font:400 26px/1.25 var(--serif);color:#f4dfbd;text-align:center}
.panel h4:after{content:'';display:block;width:56px;height:1px;margin:12px auto 0;background:linear-gradient(90deg,transparent,#d6ad70,transparent)}
.kicker{margin:0 0 6px;text-align:center;color:#c9a57a;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:2.4px}

/* Photos */
.shot{margin:0 auto;text-align:center}
.shot img{display:inline-block;max-width:100%;height:auto;vertical-align:top;filter:drop-shadow(0 16px 30px #000b)}
.shot-full{margin:calc(var(--pad) * -1) calc(var(--pad) * -1) 0}
.shot-full img{display:block;width:100%;filter:none;-webkit-mask-image:linear-gradient(180deg,#000 93%,transparent);mask-image:linear-gradient(180deg,#000 93%,transparent)}
.duo{display:flex;justify-content:center;align-items:flex-start;gap:24px;flex-wrap:wrap}
.duo .shot{margin:0}

/* Soft highlight badges */
.badges{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.badges li{flex:1 1 220px;max-width:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 22px;border:1px solid rgba(214,160,120,.35);border-radius:18px;background:radial-gradient(ellipse at 50% -20%,#7d2a2f,#3e1217 70%);box-shadow:inset 0 1px 0 rgba(255,210,170,.14),0 14px 30px -12px #000c;text-align:center}
.badges strong{font:400 21px/1.25 var(--serif);color:#fbeedb;letter-spacing:.3px}
.badges span{margin-top:4px;font-size:13px;font-weight:600;color:#e3bb90;letter-spacing:.4px}

/* Bullet list */
.points{list-style:none;margin:0;padding:6px 0}
.points li{position:relative;padding:11px 8px 11px 36px;font-size:15px;line-height:1.65;color:#e8dbce}
.points li+li{border-top:1px solid rgba(224,189,132,.08)}
.points li:before{content:'';position:absolute;left:10px;top:19px;width:8px;height:8px;border-radius:2px;transform:rotate(45deg);background:linear-gradient(135deg,#f5d59f,#b98348);box-shadow:0 0 0 4px rgba(214,173,112,.12),0 0 12px rgba(245,213,159,.35)}
.lead{margin:0 auto;max-width:560px;text-align:center;font:400 20px/1.5 var(--serif);color:#f1dcbc}
.prose p{margin:0 0 14px;font-size:15px;line-height:1.85;color:#d8cabe;text-align:center}
.prose p:last-child{margin-bottom:0}
.box{padding:28px 30px;border:1px solid var(--card-line);border-radius:18px;background:rgba(26,13,16,.7);box-shadow:inset 0 1px 0 rgba(255,225,180,.05)}

/* Split: list + standing character */
.split{display:grid;grid-template-columns:minmax(0,1fr) 38%;gap:18px;align-items:end}
.split .shot img{max-height:560px}

/* Label/value stat cells (dungeons, requirements, classes) */
.stat-cells{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}
.stat-cells.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:520px;margin-left:auto;margin-right:auto}
.stat-cells>div{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--card-line);border-radius:12px;background:var(--card)}
.stat-cells dt,.stat-cells dd{margin:0;padding:8px 10px;text-align:center;line-height:1.35}
.stat-cells dt{font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#bfa488}
.stat-cells dd{flex:1;display:flex;align-items:center;justify-content:center;border-top:1px solid rgba(224,189,132,.12);background:linear-gradient(180deg,#4d171c,#34100f00);font:400 16px/1.3 var(--serif);color:#fbeedb}

/* Dungeon floors */
.dungeon{margin:0}
.dungeon+.dungeon{margin-top:34px}
.dungeon .shot{overflow:hidden;border-radius:16px;border:1px solid rgba(224,189,132,.14);box-shadow:0 18px 40px -16px #000d}
.dungeon .shot img{display:block;width:100%;filter:none}
.dungeon h4{margin:18px 0 14px}
.dungeon h4:after{display:none}

/* Welcome chapter */
.classes{list-style:none;margin:0;padding:20px 12px;display:flex;justify-content:center;flex-wrap:wrap;gap:16px;border:1px solid var(--card-line);border-radius:18px;background:rgba(26,13,16,.7)}
.classes li{display:flex;flex-direction:column;align-items:center;gap:9px;width:96px;font-size:13px;font-weight:600;color:#e9d2ae}
.classes img{width:96px;height:auto;border-radius:16px;box-shadow:0 0 0 1px rgba(224,189,132,.35),0 10px 20px -6px #000c}
.flags{display:flex;justify-content:center;gap:10px;margin-top:18px}
.flags .flag{width:30px;height:21px;border-radius:4px}
.flags .flag-tr:before{top:-9px;left:3px;font-size:27px}
.flags .flag-tr:after{left:17px;top:3px;font-size:9px}
.features{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.features li{display:flex;flex-direction:column;justify-content:center;min-height:74px;padding:12px 20px 12px 22px;border:1px solid var(--card-line);border-radius:16px;background:var(--card);box-shadow:inset 3px 0 0 #c99b5e;font:400 18px/1.25 var(--serif);color:#f4dfbd}
.features li span{display:block;margin-top:3px;font:600 13px/1.4 var(--sans);color:#b9a595}

/* Inventories, equipment sets */
.gallery{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px;align-items:end}
.gallery figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px}
.gallery img{max-width:100%;height:auto;filter:drop-shadow(0 12px 22px #000b)}
.gallery figcaption{min-width:70%;padding:9px 16px;border:1px solid var(--card-line);border-radius:12px;background:var(--card);text-align:center;font:400 17px/1.3 var(--serif);color:#f4dfbd}
.gallery figcaption span{display:block;margin-bottom:2px;font:700 11px/1.4 var(--sans);letter-spacing:1.4px;text-transform:uppercase;color:#bfa488}

/* Alchemy stones */
.stones{list-style:none;margin:0;padding:52px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 18px}
.stones li{position:relative;padding:60px 16px 22px;border-radius:20px;background:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--c) 55%,transparent),transparent 75%),linear-gradient(180deg,color-mix(in srgb,var(--c) 35%,#170c0e),#150b0d);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 55%,transparent),0 18px 40px -18px #000d;text-align:center}
.stones li:last-child:nth-child(odd){grid-column:1/-1;width:calc(50% - 9px);justify-self:center}
.stones img{position:absolute;left:50%;top:-50px;width:96px;height:96px;transform:translateX(-50%);filter:drop-shadow(0 8px 16px #000a)}
.stones h5{margin:0 0 10px;font:400 26px/1.2 var(--serif);color:#fbeedb}
.stones p{margin:0;font-size:13px;line-height:1.8;color:#eadfd3}

/* Set bonus tiers */
.tiers{display:grid;gap:18px}
.tier{padding:20px 22px;border:1px solid color-mix(in srgb,var(--c) 30%,transparent);border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 10%,#1d1114),#170d0f)}
.tier img{display:block;max-width:100%;height:auto;margin:0 auto 14px}
.tier h5{margin:0 0 8px;display:flex;align-items:center;gap:12px;font:400 21px/1.3 var(--serif);color:var(--c)}
.tier h5:before{content:'';width:10px;height:10px;border-radius:2px;transform:rotate(45deg);background:var(--c);box-shadow:0 0 12px var(--c)}
.tier p{margin:0;padding-left:22px;font-size:15px;line-height:1.75;color:#eadfd3}

/* Weekly rewards */
.prizes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:column;grid-template-rows:repeat(5,auto);gap:10px 16px}
.prizes li{display:flex;align-items:center;gap:14px;padding:12px 18px;border:1px solid var(--card-line);border-radius:14px;background:var(--card);font:400 19px/1.3 var(--serif);color:#fbeedb}
.prizes li:nth-child(-n+3){border-color:rgba(236,196,130,.55);background:linear-gradient(180deg,#3d2618,#221512);box-shadow:0 10px 26px -14px #d6a45f88}
.prizes b{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:50%;background:#3a1a1c;font:700 13px/1 var(--sans);color:#e8c48d}
.prizes li:nth-child(-n+3) b{background:linear-gradient(135deg,#f5d59f,#b98348);color:#2a170f}
.note{margin:0;padding:14px 22px;border:1px dashed rgba(224,189,132,.45);border-radius:14px;text-align:center;font:400 17px/1.4 var(--serif);color:#f1dcc0}

/* FAQ */
.faq{margin:0;display:grid;gap:8px}
.faq>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border:1px solid rgba(224,189,132,.1);border-radius:12px;background:rgba(30,17,20,.8)}
.faq dt{font-size:15px;line-height:1.5;color:#eadfd3}
.faq dd{margin:0;flex-shrink:0;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.3px}
.faq dd.yes{background:rgba(92,170,96,.16);color:#a9e2a2;box-shadow:inset 0 0 0 1px rgba(122,196,118,.45)}
.faq dd.no{background:rgba(214,92,86,.14);color:#f3aaa3;box-shadow:inset 0 0 0 1px rgba(224,110,102,.45)}

/* Partners */
.partners{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.partners li{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:11px 14px;border:1px solid var(--card-line);border-radius:12px;background:var(--card);color:#f1e3cf;font-weight:700;font-size:14px}
.partners li span{flex-shrink:0;padding:2px 8px;border-radius:999px;background:rgba(214,173,112,.14);color:#e0bd84;font-size:10px;font-weight:800;letter-spacing:.6px}
.partners li b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}

/* Multi-farm clients */
.clients{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:560px}
.clients li{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px;border-radius:16px;text-align:center}
.clients strong{font:400 20px/1.3 var(--serif)}
.clients span{font-size:13px;font-weight:700}
.clients .ok{background:linear-gradient(180deg,rgba(92,170,96,.18),rgba(92,170,96,.06));box-shadow:inset 0 0 0 1px rgba(122,196,118,.4);color:#c4ecbd}
.clients .no{background:linear-gradient(180deg,rgba(214,92,86,.18),rgba(214,92,86,.06));box-shadow:inset 0 0 0 1px rgba(224,110,102,.4);color:#f5c1bb}

/* Shaman buffs */
.buffs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.buffs li{overflow:hidden;border:1px solid var(--card-line);border-radius:16px;background:var(--card);box-shadow:0 14px 30px -16px #000d;text-align:center}
.buffs h5{margin:0;padding:12px 6px;background:var(--wine);font:400 20px/1.2 var(--serif);color:#fbeedb}
.buffs p{margin:0;padding:12px 6px 0;font:400 18px/1.2 var(--serif);color:#f4dfbd}
.buffs p+p{padding:4px 6px 14px;font:600 13px/1.4 var(--sans);color:#bfa488}

/* Mobile & PC: device mockups + platform cards */
.devices{position:relative;max-width:640px;margin:6px auto 0;padding:0 0 26px 0}
.monitor{width:84%;margin-left:auto}
.monitor-screen{overflow:hidden;aspect-ratio:16/10;border:10px solid #0c0809;border-bottom-width:22px;border-radius:14px;background:#000;box-shadow:0 0 0 1px rgba(224,189,132,.22),0 30px 60px -20px #000e}
.monitor-screen img,.phone img{display:block;width:100%;height:100%;object-fit:cover}
.monitor-stand{display:block;width:26%;height:30px;margin:0 auto;background:linear-gradient(180deg,#0c0809,#1d1315);clip-path:polygon(22% 0,78% 0,100% 100%,0 100%);border-radius:0 0 6px 6px}
.phone{position:absolute;left:0;bottom:0;width:50%;aspect-ratio:19.5/9;overflow:hidden;border:7px solid #0b0708;border-left-width:12px;border-radius:24px;background:#000;box-shadow:0 0 0 1px rgba(224,189,132,.3),0 24px 44px -12px #000,0 0 50px -10px #c0392b55}
.phone:before{content:'';position:absolute;z-index:1;left:4px;top:50%;width:5px;height:34px;transform:translateY(-50%);border-radius:4px;background:#0b0708}
.platforms{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.platforms li{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 14px 18px;border:1px solid var(--card-line);border-radius:18px;background:var(--card);text-align:center}
.platform-icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:4px;border-radius:50%;background:radial-gradient(circle at 50% 30%,#4a2c24,#24161a);box-shadow:0 0 0 1px rgba(224,189,132,.3),0 0 22px -4px #d6ad7055;color:#f1d29e}
.platform-icon svg{fill:currentColor}
.platforms h5{margin:0;font:400 21px/1.2 var(--serif);color:#fbeedb}
.platforms p{margin:0;font-size:13px;line-height:1.5;color:#bfae9f}

@media(max-width:800px){:root{--pad:28px}}
@media(max-width:600px){
:root{--pad:16px}
.panel{border-radius:18px}.panel>:not(:first-child){margin-top:26px}.panel h4{font-size:21px}
.badges{gap:10px}.badges li{flex-basis:140px;padding:12px 12px;border-radius:14px}.badges strong{font-size:17px}.badges span{font-size:12px}
.lead{font-size:17px}.points li{font-size:14px;padding:10px 4px 10px 30px}.points li:before{left:7px;top:17px}
.box{padding:20px 16px}
.split{grid-template-columns:1fr;gap:14px}.split .shot img{max-height:380px}
.stat-cells{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat-cells dt{font-size:10px;letter-spacing:.8px;padding:7px 6px}.stat-cells dd{font-size:14px;padding:7px 6px}
.dungeon .shot{border-radius:12px}
.features{grid-template-columns:1fr 1fr;gap:8px}.features li{padding:10px 10px 10px 14px;font-size:15px;min-height:66px;border-radius:12px}.features li span{font-size:11px}
.classes{gap:6px;padding:14px 6px}.classes li{width:calc(20% - 5px);max-width:60px;font-size:10px}.classes img{width:100%;border-radius:10px}
.gallery{gap:22px 10px}.gallery figcaption{font-size:14px;padding:7px 8px}.gallery figcaption span{font-size:10px}
.stones{grid-template-columns:1fr;gap:62px}.stones li:last-child:nth-child(odd){width:auto}
.tier{padding:16px 14px}.tier p{font-size:13px;padding-left:22px}.tier h5{font-size:18px}
.prizes{grid-template-columns:1fr;grid-auto-flow:row;grid-template-rows:none}.prizes li{font-size:17px}
.faq>div{align-items:flex-start;padding:10px 12px}.faq dt{font-size:14px}
.partners{grid-template-columns:repeat(2,minmax(0,1fr))}.partners li{font-size:13px;padding:9px 10px}
.buffs{grid-template-columns:repeat(2,minmax(0,1fr))}.buffs h5{font-size:17px}.buffs p{font-size:16px}
.devices{padding-bottom:18px}.monitor-screen{border-width:6px;border-bottom-width:14px;border-radius:10px}.monitor-stand{height:18px}.phone{border-width:4px;border-left-width:8px;border-radius:14px}.phone:before{left:2px;width:3px;height:20px}
.platforms{grid-template-columns:1fr;gap:8px}.platforms li{display:grid;grid-template-columns:auto 1fr;column-gap:14px;row-gap:2px;align-items:center;padding:12px 16px;text-align:left}.platform-icon{grid-row:span 2;width:44px;height:44px;margin:0}.platforms h5{font-size:18px}.platforms p{grid-column:2;font-size:12px}
}
