/* V51 Playhouse adventures — visual system intentionally scoped to new games. */
.em51-root{color:#26485c;font-family:'Andika',sans-serif;--em-ink:#25475a;--em-gold:#f1c47b;--em-paper:#fffcf5;--em-soft:#e8f3f1}
.em51-root *{box-sizing:border-box}
.em51-root h3{font-family:'Fredoka',sans-serif;font-size:clamp(24px,2.9vw,37px);line-height:1.16;color:#23445a;letter-spacing:-.025em;margin:0 0 13px}
.em51-root p{font-size:15px;line-height:1.72;color:#516775;margin:0 0 13px}
.em51-root button{cursor:pointer;touch-action:manipulation;font-family:'Fredoka',sans-serif;font-weight:600;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s}
.em51-root button:focus-visible{outline:4px solid #b56a3d;outline-offset:3px}
.em51-root button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 7px 18px #193e5822}
.em51-root button:disabled{opacity:.55;cursor:default}
.em51-game{background:#fffcf4;border:1px solid #e7ded0;border-radius:25px;overflow:hidden;min-height:530px;box-shadow:0 14px 40px #264b5d10}
.em51-topline{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#23485e;color:#fff8e9;padding:15px 24px;font:700 12px 'Fredoka',sans-serif;letter-spacing:.11em}
.em51-topline b{font-weight:500;color:#f7d499}
.em51-grid{display:grid;grid-template-columns:minmax(270px,.94fr) minmax(0,1.06fr);min-height:515px;align-items:stretch}
.em51-character-world{background:radial-gradient(ellipse at 50% 34%,#fffaf3 0%,#d8e8e5 63%,#b7d2d7 100%);min-height:475px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:15px 19px 0;text-align:center}
.em51-character-world:before{content:'✧  ✦    ✧  ✨     ✧  ✦';color:#e5b56f;position:absolute;left:5%;right:5%;top:15%;font-size:27px;letter-spacing:9px;pointer-events:none}
.em51-character-world:after{content:'';position:absolute;bottom:68px;left:-15%;width:130%;height:90px;border-radius:50% 50% 0 0;background:#99b8b37c;pointer-events:none}
.em51-scene-stamps{background:#fff9e8c9;border:1px solid #efce9a;box-shadow:0 5px 22px #2b4e5818;border-radius:999px;padding:10px 22px;position:relative;z-index:2;margin:10px 0;font-size:24px}
.em51-portrait{width:100%;height:310px;max-width:450px;object-fit:contain;object-position:center bottom;position:relative;z-index:1;filter:drop-shadow(0 17px 14px #29495a29);animation:em51-float 5.4s ease-in-out infinite}
.em51-world-caption{background:#fff9ebee;position:relative;z-index:3;box-shadow:0 0 22px #ffffffbd;border-radius:20px 20px 0 0;padding:17px 20px;width:100%;max-width:480px}
.em51-world-caption>span{font:700 12px 'Fredoka';color:#9a633e;letter-spacing:.055em}
.em51-world-caption h3{font-size:clamp(22px,2.5vw,32px);margin:7px 0}
.em51-world-caption p{font-size:13px;line-height:1.5;margin:0}
.em51-panel{padding:26px clamp(20px,3.4vw,38px);display:flex;flex-direction:column;align-items:stretch;justify-content:center;min-width:0}
.em51-lead{font-size:14px!important}
.em51-progress{display:flex;gap:12px;align-items:center;margin-bottom:24px;color:#987044;font:700 12px 'Fredoka';letter-spacing:.015em}
.em51-progress-track{height:8px;background:#eadfce;border-radius:99px;flex:1;min-width:20px;overflow:hidden}
.em51-progress-track>i{display:block;height:100%;background:linear-gradient(90deg,#f4c56c,#73b8a5);border-radius:99px;transition:width .35s ease}
.em51-progress strong{color:#375a6d;white-space:nowrap}
.em51-root .em51-main,.em51-collect-message button{border:1px solid #b77d3d;border-bottom:3px solid #a96a33;color:#244052;background:linear-gradient(135deg,#ffe1a1,#f2b763);padding:14px 19px;border-radius:99px;font-size:15px;min-height:50px;text-align:center}
.em51-root .em51-outline,.em51-root .em51-read{border:1px solid #bad0d3;border-radius:99px;background:#fffef8;color:#345d6e;min-height:46px;padding:10px 17px;font-size:13px}
.em51-root .em51-read{margin-top:12px;align-self:flex-start}
.em51-cta-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:11px;margin:21px 0 0}
.em51-clue-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:17px 0}
.em51-clue{min-height:108px;border:1px solid #decba9;background:#f6eee0;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:12px;color:#31566c;padding:9px 5px}
.em51-clue span{font-size:43px;filter:drop-shadow(0 3px 3px #91755e2a)}
.em51-clue.found{background:#dceee5;border-color:#6aa48d;box-shadow:inset 0 0 0 2px #b3d6c9}
.em51-clue-note{font-size:13px;color:#73838a;text-align:center;margin-bottom:15px;min-height:25px}
.em51-found-clue{background:#f2e3c8;color:#6e543b;padding:15px;border-radius:17px;font-size:14px;line-height:1.7;margin-bottom:18px}
.em51-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.em51-answer{min-height:74px;text-transform:capitalize;background:#f0f7f5;border:1px solid #b7d9d1;border-radius:16px;display:flex;gap:10px;align-items:center;text-align:left;padding:12px;color:#315367;font-size:16px}
.em51-answer span{font-size:29px}
.em51-story-reaction{border-radius:20px;padding:18px;border:1px solid #ead6b5;background:#fff2d8}
.em51-story-reaction strong{font:700 20px 'Fredoka';color:#936036}
.em51-story-reaction p{margin-top:10px;color:#425d69}
.em51-collect-message{background:#e8f1dc;border:1px solid #a7c78c;border-radius:17px;padding:13px 17px;margin:14px 0;color:#42614a;text-align:center}
.em51-collect-message strong{font:700 18px 'Fredoka'}
.em51-collect-message p{font-size:13px;margin:7px 0;color:#496b58}
.em51-collect-message button{font-size:13px;min-height:40px;padding:9px 13px;margin-top:6px}
.em51-finale{padding:50px 24px;text-align:center;max-width:780px;margin:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:530px}
.em51-finale .em51-starburst{font-size:60px;display:block;margin-bottom:18px}
.em51-finale h3{font-size:clamp(30px,5vw,48px)}
.em51-finale .em51-progress{width:100%;max-width:530px}
.em51-mirror-head{background:linear-gradient(110deg,#e4f0ed,#fdf0d8,#f4dfe6);display:grid;grid-template-columns:175px 1fr;gap:24px;align-items:center;padding:24px clamp(15px,3vw,35px)}
.em51-magical-mirror{width:150px;height:190px;border:13px ridge #d5ac62;border-radius:50% 50% 44% 44%;box-shadow:0 8px 24px #a5815838,inset 0 0 20px #b9d8e0;background:radial-gradient(circle,#fffcf4,#c7dfe5);display:flex;justify-content:center;align-items:center;flex-direction:column;gap:3px;text-align:center;color:#52738a;transform:rotate(-4deg)}
.em51-magical-mirror span{color:#d6a34b;font-size:29px}
.em51-magical-mirror b{font:600 18px/1.2 'Fredoka'}
.em51-mirror-head h3{font-size:clamp(29px,3.8vw,45px)}
.em51-mirror-head p{margin:0}
.em51-mood-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:12px 24px 22px}
.em51-mood{background:var(--m);border:2px solid #ffffff;border-radius:20px;min-height:112px;color:#29475d;font-size:14px;padding:12px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;box-shadow:0 4px 12px #294c5d1a}
.em51-mood span{font-size:43px;line-height:1.15}
.em51-game.mirror>.em51-progress{margin:14px 25px}
.em51-safety{border:0;background:transparent;color:#916746;display:block;text-decoration:underline;text-underline-offset:4px;margin:17px auto 25px;padding:11px;font-size:13px}
.em51-summary-banner{background:linear-gradient(100deg,var(--m),#fffaf1);display:flex;gap:25px;align-items:center;padding:25px 35px}
.em51-summary-banner>span{font-size:72px}
.em51-summary-banner p{margin:0}
.em51-intensity{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 25px}
.em51-intensity button{border-radius:15px;min-height:95px;border:2px solid #ebdfcf;background:#fff8ef;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;font-size:13px;color:#395668}
.em51-intensity button.selected,.em51-why button.selected,.em51-word-cards button.selected{background:#d9eee9;border-color:#5baf98}
.em51-why{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:13px 0}
.em51-why button{min-height:55px;padding:12px;border-radius:14px;border:1px solid #e5d9c9;background:#fff;color:#36556a;font-size:13px}
.em51-safety-panel{max-width:680px;padding:40px 24px 55px;margin:auto;text-align:center}
.em51-safety-panel>span{font-size:72px}
.em51-safety-panel p{text-align:left;font-size:17px}
.em51-guide-intro{display:grid;grid-template-columns:205px 1fr;gap:21px;align-items:center;background:linear-gradient(125deg,#d5e8e5,#fff5df);padding:20px 29px}
.em51-guide-pic{width:100%;height:235px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 9px 15px #3245552e)}
.em51-guide-intro h3{font-size:clamp(29px,3.7vw,43px)}
.em51-guide-intro small{color:#7a6045;font-size:12px}
.em51-label{font:700 12px 'Fredoka';letter-spacing:.12em;color:#a3653d;display:block;margin-bottom:11px}
.em51-help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}
.em51-help-grid button{background:#eaf4f2;border:1px solid #b9d7d4;border-radius:20px;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px;color:#254c64}
.em51-help-grid button span{font-size:46px}
.em51-help-grid button b{font-size:17px}
.em51-help-grid button small{font:400 12px 'Andika';line-height:1.4}
.em51-bubbles{display:flex;justify-content:center;gap:16px;margin:23px 0}
.em51-bubble{border-radius:50%;height:90px;width:90px;border:2px solid #9ccbc9;background:radial-gradient(circle at 30% 26%,#fff,#bde5e7 57%,#83bec4);box-shadow:inset 0 0 12px #fff,0 9px 17px #517d8d1b;font-size:46px;animation:em51-float 3.6s ease-in-out infinite}
.em51-bubble:nth-child(2){animation-delay:.35s}.em51-bubble:nth-child(3){animation-delay:.7s}
.em51-bubble.popped{background:#f9edc7;opacity:.64}
.em51-calm-line{text-align:center;font-size:20px!important;font-weight:700}
.em51-tiny{font-size:12px!important;text-align:center;color:#84919a!important}
.em51-word-cards{display:flex;flex-direction:column;gap:9px;margin:13px 0}
.em51-word-cards button{border:2px solid #e2e6e2;border-radius:13px;background:#fff;padding:13px;text-align:left;color:#32566c;font-size:15px}
.em51-phrase{border-radius:15px;padding:17px;background:#fff0cf;color:#825b34;font-weight:700;margin:11px 0;line-height:1.7}
.em51-story-hero{background:linear-gradient(110deg,#e6d7e7,#fbebd9);display:flex;align-items:center;gap:24px;padding:30px}
.em51-story-hero>span{font-size:67px;white-space:nowrap}
.em51-story-hero p{margin:0}
.em51-story-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;padding:0 21px 28px}
.em51-game.stories>.em51-progress{margin:19px 25px}
.em51-story-tile{background:#fffbf0;border:1px solid #e4d3b8;border-radius:17px;min-height:208px;padding:8px 9px 14px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;gap:7px;color:#274a5e}
.em51-story-tile img{height:128px;width:100%;object-fit:contain;object-position:center bottom}
.em51-story-tile span{font-size:14px;line-height:1.25}
.em51-story-tile small{font:400 11px 'Andika';color:#96704a}
.em51-scenes{display:flex;gap:8px;justify-content:center;margin:14px 0 26px}
.em51-scenes i{width:34px;height:8px;background:#ddd9d2;border-radius:99px}
.em51-scenes i.on{background:#ddad64}
.em51-branch-options{display:flex;flex-direction:column;gap:12px;margin:20px 0}
.em51-branch-options button{min-height:75px;border:1px solid #d9dfd7;background:#f5f8f1;border-radius:17px;padding:13px;display:flex;align-items:center;gap:12px;text-align:left;color:#34576b;font-size:15px}
.em51-branch-options button span{font-size:30px;color:#b58e55}
.em51-branch-options button b{margin-left:auto;font-size:27px}
.em51-story-end{max-width:760px;margin:auto;padding:28px 25px 47px;text-align:center}
.em51-story-end>img{height:250px;width:min(390px,100%);object-fit:contain;object-position:center bottom;margin:auto}
.em51-story-end h3{font-size:clamp(28px,4vw,43px)}
.em51-story-end .em51-progress{width:100%}
.em51-card-mirror .card-art img,.em51-card-detective .card-art img,.em51-card-story .card-art img{width:90%;height:100%;object-fit:cover}
.em51-card-mirror .card-art{background:#e4dee9}
.em51-card-detective .card-art{background:#d6e8e7}
.em51-card-story .card-art{background:#e9d7cc}
.em51-hero-shortcut{margin-top:14px;display:inline-flex;gap:9px;align-items:center;padding:12px 18px;border:1px solid #afc5cc;background:#fffaeb;color:#244b60;border-radius:99px;font:700 14px 'Fredoka',sans-serif}
@keyframes em51-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(max-width:800px){.em51-grid{grid-template-columns:1fr}.em51-character-world{min-height:300px;padding-top:10px}.em51-portrait{height:240px}.em51-panel{padding:24px 20px}.em51-mood-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.em51-story-picker{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:540px){.em51-topline{padding:13px 12px;font-size:10px;letter-spacing:.055em}.em51-game{border-radius:16px}.em51-character-world{min-height:280px}.em51-portrait{height:196px}.em51-world-caption{padding:13px 12px}.em51-world-caption h3{font-size:24px}.em51-world-caption p{font-size:12px}.em51-scene-stamps{font-size:18px;margin:5px}.em51-panel{padding:19px 14px}.em51-panel h3{font-size:27px}.em51-clue{min-height:85px}.em51-clue span{font-size:30px}.em51-answer{min-height:65px;font-size:14px}.em51-answer span{font-size:23px}.em51-mirror-head{grid-template-columns:90px 1fr;gap:9px;padding:15px}.em51-magical-mirror{width:80px;height:115px;border-width:7px}.em51-magical-mirror b{font-size:11px}.em51-magical-mirror span{font-size:14px}.em51-mirror-head h3{font-size:26px}.em51-mirror-head p{font-size:12px}.em51-mood-grid{grid-template-columns:repeat(3,1fr);gap:7px;margin:8px 8px 15px}.em51-mood{min-height:87px;font-size:11px;padding:7px}.em51-mood span{font-size:31px}.em51-progress{gap:6px;font-size:10px;flex-wrap:wrap;margin-bottom:16px}.em51-summary-banner{padding:15px;gap:10px}.em51-summary-banner>span{font-size:45px}.em51-intensity{gap:5px}.em51-intensity button{min-height:84px;font-size:11px}.em51-why button{min-height:51px;font-size:12px}.em51-guide-intro{grid-template-columns:100px 1fr;padding:14px;gap:8px}.em51-guide-pic{height:140px}.em51-guide-intro h3{font-size:25px}.em51-guide-intro p{font-size:12px}.em51-help-grid{gap:6px}.em51-help-grid button{min-height:115px;padding:7px 4px}.em51-help-grid button span{font-size:31px}.em51-help-grid button b{font-size:12px}.em51-help-grid button small{font-size:10px}.em51-bubbles{gap:8px}.em51-bubble{width:72px;height:72px;font-size:34px}.em51-story-hero{padding:19px;gap:10px}.em51-story-hero>span{font-size:34px}.em51-story-hero h3{font-size:27px}.em51-story-hero p{font-size:12px}.em51-story-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 11px 16px}.em51-story-tile img{height:109px}.em51-story-tile span{font-size:13px}.em51-story-tile{min-height:175px}.em51-root p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.em51-root *,.em51-root *:before,.em51-root *:after{animation:none!important;transition:none!important}}

.em51-story-recap{margin:21px auto;padding:17px;background:#f7efe0;border:1px solid #e2caab;border-radius:17px;text-align:left;max-width:560px}.em51-story-recap strong{font:700 17px Fredoka;color:#9a6543}.em51-story-recap p{margin:9px 0 0;font-size:13px}
