.dealer-editorial.dealer-actor{display:block;width:100%;height:auto;aspect-ratio:320/360;overflow:visible;isolation:isolate}
.dealer-editorial .editorial-head{transform-origin:160px 167px;animation:host-watch 10.8s ease-in-out infinite}
.dealer-editorial .editorial-cards{transform-origin:56px 220px;animation:host-square-cards 7.4s -2.1s ease-in-out infinite}
.dealer-editorial .editorial-fingers{transform-origin:267px 237px;animation:host-drum 5.9s -1s ease-in-out infinite}
.dealer-painted.dealer-actor{aspect-ratio:1122/1402}
.dealer-painted .editorial-head{transform-origin:550px 535px}
.dealer-painted .editorial-cards{transform-origin:205px 870px}
.dealer-painted .editorial-fingers{transform-origin:874px 1090px}
@keyframes host-watch{0%,16%,100%{transform:rotate(0)}24%,34%{transform:rotate(-1.5deg) translateY(3px)}43%,66%{transform:rotate(.5deg)}76%,84%{transform:rotate(1.6deg) translateY(-2px)}}
@keyframes host-square-cards{0%,48%,100%{transform:rotate(0)}55%{transform:rotate(-1.8deg) translateY(-6px)}60%{transform:rotate(.6deg)}64%,72%{transform:rotate(-.7deg) translateY(-2px)}}
@keyframes host-drum{0%,15%,45%,100%{transform:rotate(0)}18%,29%,40%{transform:rotate(-1.1deg) translateY(-3px)}22%,33%{transform:rotate(.35deg)}62%,78%{transform:rotate(-.6deg) translateX(-3px)}85%{transform:rotate(.3deg)}}
.host-portrait.dealer-editorial{width:100%;height:100%;object-fit:contain}.tutorial-portrait .dealer-editorial{max-height:100%}.event-host:has(.dealer-editorial){height:auto;overflow:hidden;max-width:310px}
@media(min-width:900px){.learning .lesson .stranger-seal{display:grid;width:76px;height:95px;flex:none;overflow:visible;background:transparent}.learning .lesson .stranger-seal .host-portrait{width:76px;height:95px;transform:none}}
.world-scene{margin:0;position:relative;overflow:hidden;isolation:isolate;background:transparent;aspect-ratio:1/1;max-height:340px}.world-scene>img{width:100%;height:100%;display:block;object-fit:contain;animation:scene-arrive .6s ease-out both}.world-scene.scene-dealer{aspect-ratio:1/1;max-width:410px;margin-inline:auto}.world-scene.scene-dealer>.dealer-editorial{height:100%;width:100%;object-fit:cover}.scene-lamp{position:absolute;top:8%;right:9%;width:5px;height:5px;pointer-events:none;background:#efc675;opacity:0;box-shadow:0 0 25px 12px #edbd3820;animation:lamp-glimmer 8.2s -1.8s ease-in-out infinite}.scene-workshop .scene-lamp{top:17%;right:16%}.scene-tea-room .scene-lamp{top:20%;right:38%}
@keyframes scene-arrive{from{opacity:0;transform:scale(1.025)}to{opacity:1;transform:none}}@keyframes lamp-glimmer{0%,40%,52%,100%{opacity:0}44%,49%{opacity:.35}47%{opacity:.05}}
.illustrated-encounter{max-width:1160px;padding:28px 28px 80px;display:block}.event-intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(270px,.9fr);gap:30px;align-items:center;margin-bottom:24px}.event-intro .event-heading{border:0;padding:0;text-align:left}.event-intro .event-heading p{margin:12px 0}.event-intro .event-heading h1{font-size:clamp(26px,3.5vw,38px)}.event-narrative{white-space:pre-line;color:var(--paper);font-size:14px;line-height:1.8;padding-left:15px;border-left:3px solid var(--gold)}.event-intro .world-scene{box-shadow:none}.illustrated-encounter .event-body{border-top:2px solid var(--violet)}
.route-vignette{display:flex;justify-content:center;max-width:780px;margin:0 auto 20px;align-items:center}.route-vignette .world-scene{width:150px;aspect-ratio:320/360;max-height:170px}.route-vignette .world-scene>.flat-character{max-height:170px}.stored-shortcut{display:flex;align-items:center;gap:7px;background:var(--violet);color:var(--paper);font-size:11px;padding:5px 10px}.stored-shortcut>.art{width:30px;height:34px}.stored-shortcut span{white-space:nowrap}
.pan-danger-card>.art,.pan-return-card>.art{width:100px;height:130px}
.route-card>.route-art{width:96px;height:96px;margin:0 auto 15px;display:grid;place-items:center}.route-card>.route-art>.art{width:100%;height:100%}.route-card>.route-art .world-scene{width:100%;height:170px;max-width:none;aspect-ratio:auto}.route-card>.route-art .dealer-editorial{height:100%;width:100%;object-fit:contain}.route-card>.route-art .scene-pan img{object-position:50% 25%}.closing-prize{display:grid;grid-template-columns:85px 1fr;column-gap:18px;align-items:center;padding:20px;max-width:520px;margin:20px auto;background:var(--violet);color:var(--paper)}.closing-prize>.art{width:80px;height:80px;grid-row:span 2}.closing-prize p{font-size:13px;line-height:1.6;margin:8px 0}
@media(max-width:700px){.illustrated-encounter{padding:18px 18px 65px}.event-intro{grid-template-columns:1fr;gap:18px}.event-intro>.world-scene{max-height:265px;width:100%;aspect-ratio:3/2}.event-intro>.scene-dealer{max-width:260px;max-height:325px;aspect-ratio:320/360}.event-intro .event-heading h1{font-size:29px}.event-narrative{font-size:13px}.route-vignette{margin-bottom:16px}.route-vignette .world-scene{width:86px;max-height:105px}.stored-shortcut{font-size:10px;padding:3px 6px}.stored-shortcut>.art{width:23px;height:27px}}
@media(prefers-reduced-motion:reduce){html:not([data-motion=full]) .dealer-editorial g,html:not([data-motion=full]) .world-scene>img,html:not([data-motion=full]) .scene-lamp{animation:none!important}}html[data-motion=reduced] .dealer-editorial g,html[data-motion=reduced] .world-scene>img,html[data-motion=reduced] .scene-lamp{animation:none!important}


.world-scene>.flat-character{display:block;width:100%;height:100%;max-height:300px;overflow:visible}.flat-character .portrait-head{transform-origin:160px 162px;animation:portrait-listen 9s ease-in-out infinite}.flat-character .portrait-glass{transform-origin:259px 242px;animation:portrait-toast 7.8s -2s ease-in-out infinite}
@keyframes portrait-listen{0%,35%,100%{transform:rotate(0)}50%,67%{transform:rotate(-1.2deg)}82%{transform:rotate(.6deg)}}@keyframes portrait-toast{0%,45%,100%{transform:rotate(0)}58%,70%{transform:rotate(-3deg)}80%{transform:rotate(1deg)}}
html[data-motion=reduced] .flat-character g{animation:none!important}@media(prefers-reduced-motion:reduce){html:not([data-motion=full]) .flat-character g{animation:none!important}}
