#trials{min-height:100svh;padding-bottom:40px;overflow-x:hidden}.trial-map-header{position:relative;z-index:5;margin-bottom:8px}.trial-stars-total{color:var(--eb-ink-quiet);white-space:nowrap}
.trial-map{position:relative;width:390px;height:1180px;overflow:hidden;background:transparent}
#trials::after{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 120% 60% at 50% 50%,transparent 55%,rgba(4,6,14,.55))}
.river-under{fill:none;stroke:#05070d;stroke-opacity:.75;stroke-width:12;stroke-linecap:round}
.river-lit{fill:none;stroke:#c9a26a;stroke-width:5;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(201,162,106,.55))}
.river-shine{fill:none;stroke:#f6e6c0;stroke-opacity:.6;stroke-width:1.4;stroke-linecap:round;stroke-dasharray:14 22;animation:flow 2.4s linear infinite}
.river-dim{fill:none;stroke:#8a7250;stroke-opacity:.6;stroke-width:3;stroke-dasharray:1 9;stroke-linecap:round}
.branch-under{fill:none;stroke:#05070d;stroke-opacity:.75;stroke-width:8;stroke-linecap:round}
.branch-lit{fill:none;stroke:#c9a26a;stroke-width:3;stroke-linecap:round}
.branch-dim{fill:none;stroke-width:2.4}
@keyframes flow{to{stroke-dashoffset:-36}}
.bolt{opacity:.14;animation:flash 8s ease-in-out infinite}
.bolt-glow{fill:none;stroke:#8fc8ff;stroke-width:6;filter:url(#boltBlur);opacity:.6}
.bolt-core{fill:none;stroke:#e3f2ff;stroke-width:1.5;stroke-linejoin:round}
@keyframes flash{0%,86%,100%{opacity:.14}88%{opacity:.85}89%{opacity:.25}90.5%{opacity:.7}93%{opacity:.14}}
.ember{position:absolute;border-radius:50%;background:#ffb066;box-shadow:0 0 6px 2px rgba(255,120,60,.7);opacity:0;animation:ember 4s linear infinite}
@keyframes ember{0%{transform:translate(0,0);opacity:0}15%{opacity:.9}100%{transform:translate(10px,-110px);opacity:0}}
.firefly{position:absolute;width:3px;height:3px;border-radius:50%;background:#b9ffb0;box-shadow:0 0 8px 3px rgba(103,215,122,.6);animation:fly 6s ease-in-out infinite}
@keyframes fly{0%,100%{transform:translate(0,0);opacity:.15}50%{transform:translate(12px,-14px);opacity:.9}}
.ripple{position:absolute;width:150px;height:46px;margin:-23px 0 0 -75px;border-radius:50%;border:1px solid rgba(85,199,255,.45);transform:translateY(48px) scale(.4);opacity:0;animation:ripple 4s ease-out infinite}
@keyframes ripple{0%{transform:translateY(48px) scale(.4);opacity:.7}100%{transform:translateY(48px) scale(1.3);opacity:0}}
.wind{position:absolute;height:1.5px;border-radius:2px;background:linear-gradient(90deg,transparent,rgba(189,234,255,.55),transparent);animation:wind 5s ease-in-out infinite}
@keyframes wind{0%{transform:translateX(-30px);opacity:0}40%{opacity:.8}100%{transform:translateX(60px);opacity:0}}
.node{position:absolute;width:calc(var(--r)*2);height:calc(var(--r)*2)}
.ring{position:absolute;left:-6px;top:-6px;width:calc(var(--r)*2 + 12px);height:calc(var(--r)*2 + 12px);border-radius:50%;background:radial-gradient(circle,rgba(5,7,13,.0) 58%,rgba(5,7,13,.65) 60%,rgba(5,7,13,0) 72%)}
.med{position:absolute;left:0;top:0;width:calc(var(--r)*2);height:calc(var(--r)*2);border-radius:50%;filter:drop-shadow(0 6px 10px rgba(0,0,0,.65))}
.cur .med{box-shadow:0 0 0 2px #05070d,0 0 26px var(--c);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{50%{box-shadow:0 0 0 2px #05070d,0 0 40px var(--c)}}
.locked .med{filter:saturate(.25) brightness(.55) drop-shadow(0 6px 10px rgba(0,0,0,.65))}
.plate{position:absolute;top:calc(var(--r)*2 + 7px);left:50%;transform:translateX(-50%);padding:3px 11px 4px;border-radius:9px;background:rgba(7,11,26,.84);box-shadow:inset 0 0 0 1px rgba(201,162,106,.45),0 4px 10px rgba(0,0,0,.45);text-align:center;white-space:nowrap}
.plate b{display:block;font:700 13px/1.2 Cinzel,serif;color:var(--c);letter-spacing:.5px;text-shadow:0 1px 2px rgba(0,0,0,.8)}
.stars{font-size:11px;letter-spacing:2px;color:#4b4f5c}.s.on{color:#f0c674;text-shadow:0 0 6px rgba(240,198,116,.6)}

.callout{position:absolute;box-sizing:border-box;padding:4px 8px;border-radius:9px;background:rgba(10,14,28,.94);box-shadow:inset 0 0 0 1px rgba(240,198,116,.55),0 6px 14px rgba(0,0,0,.55);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;animation:calloutIn .4s cubic-bezier(.22,.61,.36,1) both}
.callout::after{content:"";position:absolute;left:var(--ptr);bottom:-6px;width:10px;height:10px;margin-left:-5px;background:rgba(10,14,28,.94);box-shadow:1px 1px 0 0 rgba(240,198,116,.55);transform:rotate(45deg)}
.ctitle{display:flex;align-items:center;gap:4px;font:700 9px/1 'Nunito Sans',sans-serif;letter-spacing:1px;text-transform:uppercase;color:#f0c674}
.crow{display:flex;align-items:center;gap:4px;white-space:nowrap}
.crow i{font-style:normal;font-size:10px;color:#9aa4ba}
.cchip{display:inline-flex;align-items:center;gap:3px;font:700 11px/1 Cinzel,serif;color:var(--c)}
.cchip img{width:16px;height:16px}.cchip.done{opacity:.6}.ccheck{margin-left:1px}
@keyframes calloutIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.callout.is-unlocking{animation:calloutOut .4s cubic-bezier(.22,.61,.36,1) both}@keyframes calloutOut{from{opacity:1;transform:none}to{opacity:0;transform:translateY(-4px)}}
@media (prefers-reduced-motion: reduce){.bolt,.ember,.firefly,.ripple,.wind,.river-shine,.cur .med,.callout{animation:none}.ember,.ripple,.wind{display:none}}
.trial-map{width:calc(100% + 24px);height:auto;aspect-ratio:390/1180;margin:8px -12px 0;background-size:cover}
.trial-map-scene{position:absolute;inset:0;z-index:0;width:100%;height:100%}.trial-map-scene,.trial-map>.fx{mask-image:linear-gradient(to bottom,#000 0 calc(100% - 72px),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0 calc(100% - 72px),transparent 100%)}
.trial-map-fx{position:absolute;inset:0;z-index:1;pointer-events:none}
.trial-river path{fill:none}.trial-river-segment,.trial-river-branch{vector-effect:non-scaling-stroke}.trial-river-segment.is-new{stroke-dasharray:420;animation:trialRiverLight 900ms var(--eb-ease) both}@keyframes trialRiverLight{from{stroke-dashoffset:420}to{stroke-dashoffset:0}}
.bolt--a{animation-duration:7.5s;animation-delay:0s}.bolt--b{animation-duration:9.5s;animation-delay:3.2s}.bolt--c{animation-duration:11s;animation-delay:6.1s}.bolt-core--thin{stroke-width:1}
.trial-map-node{left:var(--trial-x);top:var(--trial-y);z-index:2;margin:0;padding:0;color:var(--eb-ink);background:transparent;border:0;transform:translate(-50%,-50%)}
.trial-map-node .trial-node-art{position:absolute;inset:0}
.trial-map-node .trial-star-pips{display:inline-flex;gap:2px;color:#4b4f5c}.trial-map-node .trial-star-pips .is-earned{color:#f0c674;text-shadow:0 0 6px rgba(240,198,116,.6)}
.callout{--callout-left:clamp(8px,calc(var(--callout-x) - 64px),calc(100% - 136px));--ptr:calc(var(--callout-x) - var(--callout-left));left:var(--callout-left);top:calc(var(--callout-y) - 76px);z-index:3;width:128px;height:40px}
.trial-node-plate .trial-star-pips{font-size:11px;letter-spacing:2px}.ctitle .eb-icon{width:10px;height:10px}.cchip.done{opacity:.6}
.trial-chapter-backdrop{position:fixed;inset:0;z-index:var(--eb-z-sheet);display:flex;align-items:flex-end;padding:0;background:rgba(4,6,12,.8);opacity:0;transition:opacity 300ms var(--eb-ease-soft)}.trial-chapter-backdrop.is-opening,.trial-chapter-backdrop.is-closing{pointer-events:none}.trial-chapter-backdrop.is-open{opacity:1}.trial-chapter-backdrop.is-closing{opacity:0;transition-duration:260ms;transition-timing-function:var(--eb-ease-in)}.trial-chapter-sheet{max-width:520px;margin:0 auto;padding-bottom:calc(20px + env(safe-area-inset-bottom));transform:translateY(100%);transition:transform 340ms var(--eb-ease-soft)}.trial-chapter-backdrop.is-open .trial-chapter-sheet{transform:none}.trial-chapter-backdrop.is-closing .trial-chapter-sheet{transform:translateY(100%);transition-duration:260ms;transition-timing-function:var(--eb-ease-in)}.trial-chapter-head{display:flex;align-items:center;gap:12px}.trial-chapter-head img{width:56px;height:56px}.trial-chapter-head h2{margin:0;font:800 22px/1.1 var(--eb-font-display)}.trial-chapter-deck{margin:4px 0 12px 68px;font:700 12px var(--eb-font-display)}.trial-chapter-steps{display:grid;gap:7px}.trial-chapter-step{display:grid;min-height:62px;padding:9px 12px;grid-template-columns:1fr auto;align-items:center;gap:5px;color:var(--eb-ink);background:#101725;border:1px solid var(--eb-bronze-lo);border-radius:var(--eb-radius-md);text-align:left}.trial-chapter-step strong{font-family:var(--eb-font-display)}.trial-chapter-step>span:last-of-type{font-size:11px}.trial-chapter-step.is-coming{opacity:.48}.trial-mini-strip{display:flex;max-width:245px;grid-column:1/-1;align-items:center;gap:4px;overflow:hidden;color:var(--eb-ink-quiet);font-size:9px;white-space:nowrap}.trial-mini-strip .eb-icon{width:11px;height:11px}.trial-chapter-step .trial-star-pips{justify-self:end}
.trialObjective{display:none!important}.trial-guide{display:none;margin:7px 0 9px}.trial-guide.on{display:block}.trial-strip{display:flex;padding:5px;align-items:stretch;gap:3px;overflow-x:auto;border-radius:var(--eb-radius-md);box-shadow:inset 0 0 0 1px var(--eb-bronze-hi),inset 0 0 0 3px var(--eb-plate-edge),inset 0 0 0 4px var(--eb-bronze-lo)}.trial-token{position:relative;display:grid;min-width:64px;min-height:46px;padding:5px;place-items:center;gap:2px;border:1px solid transparent;border-radius:6px;background:#111827;font:700 9px/1.05 var(--eb-font-display);text-align:center}.trial-token img{width:22px;height:22px}.trial-token .eb-icon{width:19px;height:19px}.trial-token.is-done::after{content:"✓";position:absolute;right:2px;top:1px;color:var(--eb-bronze-hi);font-size:12px}.trial-token.is-next{box-shadow:inset 0 0 0 2px var(--eb-bronze-hi),0 0 10px #e4cfa355}.trial-token.is-later{opacity:.55}.trial-token.is-missed{border-color:var(--eb-danger);box-shadow:0 0 0 1px var(--eb-danger)}.trial-token.is-missed::after{content:"✕";position:absolute;right:2px;top:1px;color:var(--eb-danger)}.trial-arrow{display:grid;place-items:center;color:var(--eb-bronze-hi)}.trial-rewind{position:absolute;right:12px;top:58px;z-index:7;width:44px;height:44px}.trial-rewind .eb-icon{width:20px;height:20px}
[data-eb-anchor="hand-card"].trial-hint-card{animation:trialHintBob 1.6s ease-in-out infinite;box-shadow:0 0 0 2px var(--eb-bronze-hi),0 0 14px #e4cfa377}.trial-hint-badge{position:absolute;right:-4px;top:-8px;z-index:5;display:grid;width:24px;height:24px;place-items:center;border-radius:50%;color:#111;background:var(--eb-bronze-hi);font-weight:900}.trial-hint-arrow{position:fixed;z-index:80;height:0;border-top:3px dashed var(--eb-bronze-hi);transform-origin:left center;pointer-events:none;animation:trialArrow 1s linear infinite}@keyframes trialHintBob{50%{transform:translateY(-6px)}}@keyframes trialArrow{to{filter:brightness(1.5)}}
.trial-recap{padding:14px;border-radius:var(--eb-radius-lg);background:var(--eb-card-plate);box-shadow:inset 0 0 0 1px var(--eb-bronze-hi),inset 0 0 0 3px var(--eb-plate-edge),var(--eb-shadow-lift);text-align:center}.trial-recap h2{margin:0 0 8px;font:800 22px var(--eb-font-display)}.trial-recap-stars{display:flex;justify-content:center;gap:7px;margin:8px}.trial-recap-stars .eb-icon{width:28px;height:28px;color:#5e5548}.trial-recap-stars .is-earned{color:var(--eb-bronze-hi);animation:trialStarPop 300ms var(--eb-ease) both}.trial-recap-stars .is-earned:nth-child(2){animation-delay:180ms}.trial-recap-stars .is-earned:nth-child(3){animation-delay:360ms}.trial-recap-strip .trial-token{animation:trialTokenReplay 300ms var(--eb-ease) both}.trial-recap-strip .trial-token:nth-child(3){animation-delay:180ms}.trial-recap-strip .trial-token:nth-child(5){animation-delay:360ms}.trial-recap-strip .trial-token:nth-child(7){animation-delay:540ms}.trial-recap-strip .trial-token:nth-child(9){animation-delay:720ms}.trial-recap .primary{margin-top:7px}@keyframes trialStarPop{from{opacity:0;transform:scale(.3)}to{opacity:1;transform:none}}@keyframes trialTokenReplay{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.trial-soaked-preview{display:inline-flex;align-items:center;gap:3px;color:var(--eb-el-water);font-weight:900}.trial-soaked-preview s{color:var(--eb-ink-quiet)}.trial-soaked-preview .eb-icon,.trial-impact-chip .eb-icon{width:15px;height:15px}.trial-impact-chip{display:inline-flex;margin:3px;padding:4px 8px;align-items:center;gap:4px;border:1px solid var(--eb-el-water);border-radius:999px;color:var(--eb-el-water);background:#081524;font-weight:900}
@media(max-width:390px){.trial-token{min-width:60px}.trial-strip{gap:2px}}
@media(prefers-reduced-motion:reduce){.trial-chapter-backdrop,.trial-chapter-backdrop.is-closing{transition-duration:150ms}.trial-chapter-sheet,.trial-chapter-backdrop.is-closing .trial-chapter-sheet{transform:none;transition-duration:150ms}.trial-map-node.is-current .trial-node-art,.trial-river-segment.is-new,[data-eb-anchor="hand-card"].trial-hint-card,.trial-hint-arrow,.trial-recap-stars .is-earned,.trial-recap-strip .trial-token{animation:none!important}.trial-hint-arrow{border-top-style:solid}}
