/* Landscapes use the same coordinate system for the route and its level buttons. */
.hskduel-ui .world-chapter{position:relative;padding:0;border:1px solid #ffffff20;border-radius:32px;overflow:clip;margin:0 0 28px;background:#14222b;color:#fff;box-shadow:0 24px 70px #0004;isolation:isolate}
.world-chapter .chapter-title{position:absolute;top:24px;left:50%;transform:translateX(-50%);z-index:3;width:max-content;max-width:90%;padding:14px 28px;border:1px solid #ffffff38;border-radius:22px;background:#10191de0;box-shadow:0 8px 30px #0005;text-align:center;margin:0;backdrop-filter:blur(12px)}
.world-chapter .chapter-title h2{font-size:clamp(20px,3vw,30px);margin:5px 0 0;color:#fff}.world-chapter .chapter-title span{color:#e2d6bc;font-size:10px}
.world-landscape{position:relative;height:3200px;width:100%;overflow:clip}.world-background{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;filter:brightness(.78) saturate(.93);pointer-events:none;user-select:none}.world-landscape:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(#050d1430,transparent 15%,transparent 85%,#05071170);z-index:0}
.world-route{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:1;pointer-events:none;filter:drop-shadow(0 5px 3px #0007)}.world-route path{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}.world-road-bed{stroke:#282b25b8;stroke-width:19}.world-road{stroke:#e2d2a788;stroke-width:6;stroke-dasharray:2 14}.world-road.is-open{stroke:#fff0ae;stroke-dasharray:none;stroke-width:7;filter:drop-shadow(0 0 5px #ffee8d)}
.hskduel-ui .world-chapter .story-path{position:absolute;inset:0;display:block;z-index:2}.hskduel-ui .world-chapter .story-node:nth-child(n){position:absolute;left:var(--map-x);top:var(--map-y);transform:translate(-50%,-50%);display:flex;grid-row:auto;grid-column:auto;width:150px;min-height:0;padding:0;gap:8px;border:0;background:none;box-shadow:none;filter:none;opacity:1;overflow:visible;animation:none;color:white;scroll-margin-top:160px}
.hskduel-ui .world-chapter .story-node:after{display:none}.world-chapter .path-number{position:absolute;top:0;left:12px;z-index:5;width:28px;height:28px;font-size:12px;font-weight:700;background:#101e2b;color:white;border:1px solid #fff9;box-shadow:0 3px 10px #0008}.world-chapter .stage-name{max-width:150px;padding:5px 12px;font-size:12px;font-weight:600;line-height:1.3;color:#fff;background:#101c28ed;border:1px solid #ffffff26;border-radius:12px;box-shadow:0 3px 12px #0006}.world-chapter .stage-lock,.world-chapter .stage-cost,.world-chapter .stage-stars{padding:2px 7px;border-radius:8px;background:#101c28dd;color:#e8d9b7;font-size:10px}.world-chapter .stage-stars{color:#ffd76b}
.encounter-portrait{position:relative;display:inline-grid;place-items:center;isolation:isolate;width:78px;height:78px;flex:none;border-radius:50%;border:3px solid #afcadb;background:#132637;box-shadow:0 5px 0 #173244,0 10px 20px #0008,inset 0 0 0 3px #142536;color:#c7e7ff;overflow:visible}.encounter-portrait.chapter-2{border-color:#a6d6ad;color:#b8f5b7;background:#11251e}.encounter-portrait.chapter-3{border-color:#f3b18d;color:#ffc885;background:#341416}.encounter-portrait>.atlas-cell{width:100%;height:100%;border-radius:50%;border:0;overflow:hidden;box-shadow:none;isolation:isolate}.encounter-portrait .atlas-cell{--crop:min(var(--w),var(--h))}.encounter-portrait .atlas-cell img{width:calc(var(--sheet,887) / var(--crop) * 100%)!important;height:calc(var(--sheet-h,1774) / var(--crop) * 100%)!important;left:calc((var(--x) + (var(--w) - var(--crop)) / 2) / var(--crop) * -100%)!important;top:calc((var(--y) + (var(--h) - var(--crop)) / 2) / var(--crop) * -100%)!important;object-fit:fill}
.encounter-portrait.is-boss{width:112px;height:112px;border:4px double #f0d391;outline:1px solid #8a7045;outline-offset:5px;box-shadow:0 0 0 8px #171b24d9,0 12px 32px #0009,0 0 36px #d6ad4845;color:#f5d991}.encounter-portrait.is-chapter-boss{width:134px;height:134px;border-width:5px;box-shadow:0 0 0 8px #171b24e6,0 0 0 11px #d5b06a80,0 0 50px #d6ad4870,0 16px 32px #0008}.world-chapter .story-node.current .encounter-portrait{outline:3px solid #fff2b5;outline-offset:7px;box-shadow:0 0 0 12px #d8b9555c,0 0 42px #fff7b3a6,0 10px 20px #0008}.world-chapter .story-node.complete .encounter-portrait{border-color:#f9e3a0}.world-chapter .story-node.locked .encounter-portrait{filter:saturate(.8)}.world-chapter .story-node:hover .encounter-portrait,.world-chapter .story-node:focus-visible .encounter-portrait{transform:translateY(-4px);filter:brightness(1.15);transition:transform .2s,filter .2s}.world-chapter .story-node:focus-visible{outline:none}.world-chapter .story-node:focus-visible .stage-name{outline:3px solid #fff;outline-offset:3px}
.encounter-halo{position:absolute;inset:-13px;border:1px solid currentColor;border-radius:35%;transform:rotate(45deg);opacity:.65;pointer-events:none;z-index:-1}.boss-crown{position:absolute;top:-22px;left:50%;transform:translateX(-50%);font-size:22px;text-shadow:0 0 16px currentColor;z-index:4}.encounter-sparks{position:absolute;inset:-22px;pointer-events:none;overflow:visible;z-index:3}.encounter-sparks i{position:absolute;left:var(--spark-x);top:var(--spark-y);height:3px;width:3px;border-radius:50%;background:currentColor;box-shadow:0 0 7px 1px currentColor;opacity:0;animation:encounter-ember var(--spark-time) var(--spark-delay) ease-in-out infinite;animation-play-state:paused}.encounter-portrait.is-visible .encounter-sparks i{animation-play-state:running}
.encounter-portrait.is-the-one{width:176px;height:176px;background:radial-gradient(circle,#6b3770 0,#211323 48%,#05050b 73%);color:#ffe4a8;border:2px solid #ffe4a8;outline:2px solid #b178c9;outline-offset:13px;box-shadow:0 0 0 8px #100915,0 0 0 16px #ad7ccb55,0 0 90px #ba6deb99,0 0 130px #e6b75366}.is-the-one .story-one-mask{width:74%;height:74%;object-fit:contain;filter:drop-shadow(0 0 10px #ffe7b7a6)}.is-the-one .encounter-halo{inset:-25px;border:2px dashed #e6c99b;border-radius:50%;animation:encounter-orbit 35s linear infinite;animation-play-state:paused}.is-the-one.is-visible .encounter-halo{animation-play-state:running}.is-the-one .encounter-sparks{inset:-65px}.is-the-one .encounter-sparks i{width:4px;height:4px}.world-chapter .story-node.is-the-one{width:230px}.world-chapter .story-node.is-the-one .stage-name{font-size:22px;letter-spacing:.08em;padding:10px 24px;max-width:230px;border-color:#eac993;background:#100b19}.world-chapter .story-node.is-the-one .path-number{left:12px;top:0;background:#20112b;border-color:#f9d78e}
.story-confirm .encounter-portrait{margin:22px auto 30px}.the-one-sanctum{position:relative;padding:28px 10px 8px;border-radius:24px;background:radial-gradient(ellipse at 50% 20%,#834fb638,transparent 65%)}.the-one-sanctum h2{font-size:38px;letter-spacing:.05em}.the-one-sanctum .one-challenge-rule{color:#eccb87;font-weight:650}.story-duel-identity .encounter-portrait{width:76px;height:76px}.duel-page.is-the-one .story-duel-identity{min-height:180px;gap:36px;background:radial-gradient(ellipse at 50% 0,#9460ab38,transparent 72%),#140f1c;border:1px solid #c79bd270}.duel-page.is-the-one .story-duel-identity .encounter-portrait{width:124px;height:124px}.duel-page.is-the-one .story-duel-identity h2{font-size:36px;letter-spacing:.06em}.duel-page.is-the-one #duel-stage{border-color:#b797cf80;background:radial-gradient(ellipse at 50% 0,#80449725,transparent 65%)}.one-phase{display:inline-block;color:#e9c895;font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-top:8px}.duel-page.is-the-one #duel-countdown{color:#ffe7b7;border-color:#d4add4;box-shadow:0 0 0 16px #9460ab24,0 0 0 34px #e5c57f12,0 0 90px #9853c14d}
/* Clip the artwork's soft backdrop and every selection layer to the rounded card. */
.hskduel-ui .practice-home .practice-level-chooser button{position:relative;border-radius:24px!important;overflow:hidden;isolation:isolate;clip-path:inset(0 round 24px);border:1px solid var(--line)!important;background:var(--soft)!important;padding:18px 26px;min-width:0;box-shadow:inset 0 0 0 1px transparent!important}.hskduel-ui .practice-home .practice-level-chooser button.selected{border-color:var(--accent)!important;background:color-mix(in srgb,var(--accent) 10%,var(--bg))!important;box-shadow:inset 0 0 0 1px var(--accent),0 8px 24px var(--aura)!important}.hskduel-ui .practice-level-chooser button:before,.hskduel-ui .practice-level-chooser button:after{content:none!important}.hskduel-ui .practice-level-chooser .stone-cell{mask-image:radial-gradient(ellipse 48% 49% at 50% 50%,#000 64%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 48% 49% at 50% 50%,#000 64%,transparent 100%)}.hskduel-ui .practice-level-chooser button>b{border:1px solid var(--line);background:var(--bg);color:var(--fg);width:32px;height:32px;right:12px;top:12px;font-size:15px;font-weight:600}.hskduel-ui .practice-level-chooser button:focus-visible{outline:3px solid var(--accent);outline-offset:-5px}.hskduel-gem>.stone-cell{mask-image:radial-gradient(ellipse 49% 50% at 50% 50%,#000 70%,transparent 100%)}
@keyframes encounter-ember{0%,100%{opacity:0;transform:translate(0,14px) scale(.7)}30%{opacity:.9}80%{opacity:.35}95%{transform:translate(var(--spark-drift),-26px) scale(1.1)}}@keyframes encounter-orbit{to{transform:rotate(405deg)}}
.world-paused .encounter-sparks i,.world-paused .encounter-halo{animation-play-state:paused!important}
@media(max-width:720px){.hskduel-ui .world-chapter{border-radius:24px}.world-chapter .chapter-title{padding:12px 18px;top:18px}.world-chapter .chapter-title h2{font-size:20px}.world-landscape{height:3200px}.world-background{object-fit:cover;object-position:center}.hskduel-ui .world-chapter .story-node:nth-child(n){width:100px;gap:6px}.encounter-portrait{width:58px;height:58px;border-width:2px}.encounter-portrait.is-boss{width:76px;height:76px}.encounter-portrait.is-chapter-boss{width:92px;height:92px}.encounter-portrait.is-the-one{width:124px;height:124px}.world-chapter .stage-name{font-size:10px;padding:4px 7px;max-width:108px}.world-chapter .path-number{left:3px;width:22px;height:22px;font-size:10px}.world-chapter .story-node.is-the-one .stage-name{font-size:17px}.world-chapter .story-node.is-the-one .path-number{left:0}.world-road-bed{stroke-width:11}.world-road{stroke-width:3}.world-road.is-open{stroke-width:4}.duel-page.is-the-one .story-duel-identity{gap:22px;min-height:170px;padding:18px}.duel-page.is-the-one .story-duel-identity .encounter-portrait{width:82px;height:82px}.duel-page.is-the-one .story-duel-identity h2{font-size:24px}.hskduel-ui .practice-home .practice-level-chooser button{padding:16px 6px}.hskduel-ui .practice-level-chooser button>b{right:7px;top:7px;width:24px;height:24px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.encounter-sparks{display:none}.encounter-halo{animation:none!important}.world-chapter .story-node .encounter-portrait{transition:none!important;transform:none!important}}
/* Generated interface trim: scalable decoration behind native controls. */
/* Calm controls keep decorative artwork on characters and collectables. */
.hskduel-ui .fantasy-trim,.hskduel-ui .number-trim{display:none!important}
.hskduel-ui .level-menu .level-card{border:1px solid var(--line)!important;border-radius:22px!important;background:var(--soft)!important;color:var(--fg)!important;padding:26px 30px!important;box-shadow:0 8px 24px #00000008!important}
.hskduel-ui .level-menu .level-card:hover,.hskduel-ui .level-menu .level-card:focus-visible{border-color:var(--accent)!important;background:color-mix(in srgb,var(--accent) 7%,var(--bg))!important}
.hskduel-ui .practice-options>button,.hskduel-ui .practice-options>button.selected{border:1px solid var(--line)!important;border-radius:18px!important;background:var(--soft)!important;color:var(--fg)!important;padding:24px 18px!important;min-height:110px;box-shadow:none!important;filter:none!important}
.hskduel-ui .practice-options>button.selected{border-color:var(--accent)!important;box-shadow:inset 0 0 0 1px var(--accent)!important;background:color-mix(in srgb,var(--accent) 7%,var(--bg))!important}
.hskduel-ui .practice-options>button .mode-example,.hskduel-ui .practice-options>button .mode-label{color:var(--fg)!important}
.hskduel-ui .practice-level-chooser button>b{position:absolute!important;right:12px;top:12px;margin:0!important}
.hskduel-ui .story-energy{display:flex;align-items:center;gap:12px;padding:12px 18px;border:1px solid var(--line);border-radius:16px;background:var(--soft);color:var(--fg)}
.energy-gems{display:flex;gap:5px}.energy-gems i{display:block;width:12px;height:18px;border-radius:50% 50% 35% 35%;background:linear-gradient(135deg,#c3efcf,#51a56b);box-shadow:inset 0 0 0 1px #276a4455}.energy-gems i.empty{background:var(--line);box-shadow:none}.story-energy small{font-size:11px}
.hskduel-ui .story-head{display:grid;grid-template-columns:1fr auto;gap:14px 24px;background:var(--bg);color:var(--fg);border:0;box-shadow:none;padding:4px 0 18px}.story-head h1{align-self:center}.story-head .story-energy{margin:0}.story-head-actions{align-items:center}.story-head .story-chapters{margin:0;justify-content:flex-end}
.story-confirm>.encounter-portrait{display:block;margin:0 auto 22px;width:140px;height:140px}.story-confirm>.encounter-portrait.is-boss{width:180px;height:180px}.story-confirm>.encounter-portrait.is-the-one{width:200px;height:200px}
/* Route and encounter positions share the same chapter height. */
.hskduel-ui .story-map{max-width:1024px;margin:auto}.world-landscape{height:6700px}
.hskduel-ui .world-chapter .story-node:nth-child(n){width:170px;gap:8px;scroll-margin-top:80px}
.hskduel-ui .world-chapter .story-node .path-number{position:static!important;order:2;display:grid;place-items:center;min-width:32px;width:auto;height:25px;padding:0 8px;border:1px solid #e5d6b970;border-radius:12px;font-size:12px;background:#101c28;color:white;box-shadow:none;margin:4px 0 0}
.world-chapter .story-node .encounter-portrait{order:1}.world-chapter .story-node .stage-name{order:3}.world-chapter .story-node .stage-stars,.world-chapter .story-node .stage-lock,.world-chapter .story-node .stage-cost{order:4}.world-chapter .encounter-portrait{width:100px;height:100px}.world-chapter .encounter-portrait.is-boss{width:126px;height:126px}.world-chapter .encounter-portrait.is-chapter-boss{width:146px;height:146px}.world-chapter .encounter-portrait.is-the-one{width:176px;height:176px}
@media(max-width:720px){.hskduel-ui .story-head{grid-template-columns:1fr;gap:12px}.story-head .story-chapters{justify-content:flex-start}.story-head h1{font-size:28px}.hskduel-ui .world-chapter .story-node:nth-child(n){width:124px;gap:7px}.world-chapter .encounter-portrait{width:84px;height:84px}.world-chapter .encounter-portrait.is-boss{width:100px;height:100px}.world-chapter .encounter-portrait.is-chapter-boss{width:114px;height:114px}.world-chapter .encounter-portrait.is-the-one{width:142px;height:142px}.world-chapter .stage-name{font-size:11px;max-width:124px}.hskduel-ui .story-page{padding-inline:6px}.world-chapter .chapter-title{width:80%;box-sizing:border-box}.world-chapter .chapter-title h2{font-size:22px}.world-chapter .story-node.is-the-one .stage-name{font-size:17px}.story-energy{flex-wrap:wrap}.story-confirm>.encounter-portrait.is-the-one{width:170px;height:170px}}

.hskduel-ui .practice-level-chooser button,.hskduel-ui .practice-level-chooser button.selected{color:var(--fg)!important}

.hsk-learn-links{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 24px;padding:28px 20px;font-size:12px;color:var(--muted)}

/* The One is an open silhouette: effects remain inside its own encounter. */
.encounter-portrait.is-the-one{background:transparent!important;border:0!important;outline:0!important;box-shadow:none!important;isolation:isolate}
.is-the-one .story-one-mask{position:absolute;inset:9%;width:82%;height:82%;object-fit:contain;filter:none;z-index:1;pointer-events:none}
.is-the-one .one-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:2;pointer-events:none}
.is-the-one .encounter-sparks{inset:-6px!important;z-index:3;pointer-events:none}
.is-the-one .encounter-sparks i{width:20px!important;height:20px!important;border:0;border-radius:0;background:transparent url('/hskduel/the-one-particle.png') center/contain no-repeat;box-shadow:none;mix-blend-mode:screen;opacity:.8}
.is-the-one>.boss-crown{display:none}
.hskduel-ui[data-auth=signed-in] .hsk-public-intro{display:none}.hsk-public-intro{max-width:850px;margin:24px auto;padding:24px;line-height:1.7}.hsk-public-intro h2{font-size:24px}.hskduel-ui:has(.duel-page) .hsk-learn-links{display:none}

/* One document scroll: terrain, roads and encounters travel together. */
html.hskduel-ui[data-screen="story"] #app{max-width:none;width:100%;padding-inline:0}
html.hskduel-ui[data-screen="story"] #main{width:100%;max-width:none;padding:0;overflow:visible}
.hskduel-ui .story-page{width:100%;max-width:none;padding:0 0 48px}
.hskduel-ui .story-map{width:100%;max-width:none;padding-top:0;margin:0}
.hskduel-ui .world-chapter{width:100%;border:0;border-radius:0;margin:0;box-shadow:none;overflow:visible;isolation:isolate}
.world-landscape{height:6700px;overflow:hidden;isolation:isolate}
.world-terrain{position:absolute;inset:0;z-index:0;display:grid;grid-template-rows:repeat(var(--terrain-sections,4),1fr);pointer-events:none}
.world-terrain-tile{position:relative;min-height:0;margin-block:-100px;overflow:hidden}
.world-terrain-tile>.world-background{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:none;object-fit:cover!important;object-position:center;filter:brightness(.78);mask-image:linear-gradient(transparent,#000 200px)}
.world-landscape:after{z-index:1}
.world-landscape>.world-route{z-index:2}
.hskduel-ui .world-chapter .story-path{z-index:3;isolation:isolate}
.hskduel-ui .world-chapter .story-node:nth-child(n){z-index:1;transform:translate(-50%,-50%);scroll-margin-top:100px}
.hskduel-ui .world-chapter .story-node:hover,.hskduel-ui .world-chapter .story-node:focus-within{z-index:2}
.hskduel-ui .story-head{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 22px;border:0;border-radius:0;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(16px);box-shadow:0 4px 18px #0002}
.story-head h1{font-size:20px;margin:0;white-space:nowrap}.story-tools{display:flex;align-items:center;gap:8px}
.hskduel-ui .story-head .story-energy{display:flex;flex-wrap:nowrap;gap:7px;min-height:44px;margin:0;padding:6px 12px;border-radius:16px;background:var(--soft);font-size:16px;color:var(--fg)}
.energy-gem{display:block;height:32px;width:32px;object-fit:contain;border-radius:9px}
.story-tools>button{min-width:44px;min-height:44px;padding:8px;border-radius:16px;display:grid;place-items:center}
.story-jump{position:relative}.story-jump>summary{display:flex;align-items:center;gap:7px;min-height:44px;padding:8px 12px;box-sizing:border-box;cursor:pointer;border:1px solid var(--line);border-radius:16px;background:var(--soft);list-style:none;font-size:14px}.story-jump>summary::-webkit-details-marker{display:none}
.hskduel-ui .story-jump .story-chapters{position:absolute;right:0;top:calc(100% + 8px);display:flex;flex-direction:column;align-items:stretch;gap:5px;min-width:210px;padding:10px;background:var(--bg);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 40px #0004}
.hskduel-ui .story-jump:not([open]) .story-chapters{display:none}.hskduel-ui .story-jump .story-chapters button{text-align:left;font-size:14px;min-height:44px;padding:10px 14px}
.energy-details>strong{font-size:36px;color:var(--accent)}.energy-details ul{padding-left:20px;line-height:1.8;font-size:15px}
@media(max-width:720px){.hskduel-ui .story-head{padding:8px 10px;gap:6px}.story-head h1{font-size:16px}.story-tools{gap:5px}.story-jump>summary{padding:8px}.story-jump>summary span{display:none}.world-chapter .chapter-title{top:30px}.hskduel-ui .world-chapter .story-node:nth-child(n){width:124px}.hskduel-ui .story-page{padding-inline:0}}

html.hskduel-ui[data-screen="story"] #app>header{min-height:64px;height:auto;padding:10px 14px}
html.hskduel-ui[data-screen="story"] #app>header .exam-date{display:none!important}
.hskduel-ui .story-head{min-height:64px;height:auto}
.world-terrain-tile:first-child{margin-top:0}.world-terrain-tile:last-child{margin-bottom:0}
.world-terrain-tile:first-child>.world-background{object-position:center top;mask-image:none}
.world-terrain-tile:last-child>.world-background{object-position:center bottom}

/* Chapter jumps keep the heading below the map toolbar. */
.hskduel-ui .world-chapter{scroll-margin-top:84px}
#story-collection .atlas-cell,#story-collection .mythical-stone-art{display:block;width:32px;height:32px;position:relative;overflow:hidden}
#story-collection .atlas-cell img{position:absolute;width:calc(887 / var(--w) * 100%);height:calc(1774 / var(--h) * 100%);left:calc(var(--x) / var(--w) * -100%);top:calc(var(--y) / var(--h) * -100%);max-width:none;object-fit:fill}
.collection-empty-icon{width:32px;height:32px;object-fit:contain}

.story-heading{display:flex;align-items:center;gap:10px;min-width:0}.story-heading .story-back{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;border-radius:14px}.story-back svg{display:block}.story-back:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:600px){.story-heading{gap:6px}.story-heading h1{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.hskduel-ui .story-head{gap:6px}}

/* Terrain continues beyond the playable path on wide displays. */
.story-ambience{display:none}
@media(min-width:1000px){.story-ambience{position:absolute;top:0;bottom:0;left:calc(50% - 50vw);width:100vw;display:grid;grid-template-rows:repeat(var(--terrain-sections,4),1fr);pointer-events:none;z-index:-1;overflow:clip;opacity:.78}.story-ambience .world-background{filter:blur(14px) brightness(.7) saturate(.8);transform:scale(1.04)}.story-ambience::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0a161c38,transparent 30%,transparent 70%,#0a161c38)}}
.chapter-rewards{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:10px;font-size:12px}.chapter-rewards>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.chapter-rewards img{width:22px;height:22px;object-fit:contain}.chapter-next-reward{opacity:.85}.chapter-rewards button{font-size:12px;padding:6px 10px;border-radius:10px;background:#fff1;color:#fff;border:1px solid #fff4}
.story-unlocks{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:14px 0}.story-unlocks>span{padding:8px 12px;border-radius:12px;background:var(--soft);font-size:13px}
#story-rematch{display:inline-flex;align-items:center;justify-content:center;gap:6px}
