#ceu .rpg-book.sm-integrated{display:block;max-width:960px}
#ceu .sm-integrated>.rpg-scenery{display:none}
#ceu .sm-integrated>.rpg-page{padding:18px 24px 22px}
#ceu .sm-integrated .rpg-game-panel>.rpg-narrative,#ceu .sm-integrated .rpg-game-panel>.rpg-puzzle-prompt,#ceu .sm-integrated .rpg-game-panel>.rpg-scene-title{display:none}
#ceu .sm-integrated .rpg-page-top{margin-bottom:8px;padding-bottom:8px}
#ceu .sm-integrated .rpg-minigame{background:none;border:0;padding:0;margin:0}
.sm-world [hidden]{display:none!important}
.sm-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:3px 3px 12px}
.sm-round{font-size:13px;color:#79648c}
.sm-sound.magic-button{min-height:40px;font-size:11px;padding:8px 13px;box-shadow:0 3px 0 #ded1e5}
#ceu .sm-sky.starscape{margin:0;height:305px;border:5px solid #fffdf8;border-radius:17px 8px 19px 9px;box-shadow:0 5px 0 #e0d6e9,0 12px 28px #78617c16;background:radial-gradient(ellipse at 45% 80%,#8985b280,transparent 65%),linear-gradient(160deg,#494774,#74709e);overflow:clip}
.sm-sky .night-hill{pointer-events:none}
.sm-sky-count{position:absolute;top:14px;left:17px;color:#f4edff;font-size:12px;z-index:2}
.sm-star{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);font-size:clamp(25px,4vw,36px);line-height:1;color:#bdb9d9;text-shadow:0 0 12px #d0c8f455;transition:color .5s,text-shadow .5s;z-index:2}
.sm-star.sm-earned{color:#fff0b6;text-shadow:0 0 13px #fff4b9,0 0 28px #fff2b6aa}
.sm-path{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.sm-path polyline{stroke:#f6eac6;stroke-width:.38;stroke-dasharray:1 1.4;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-width:2}
.sm-echo{position:absolute;bottom:15px;left:50%;transform:translateX(-50%) translateY(5px);font-size:20px;line-height:1;color:#fff5d9;opacity:0;transition:opacity .16s,transform .2s;text-shadow:0 0 16px #fff6cb;z-index:3}
.sm-echo.sm-echo-on{opacity:1;transform:translateX(-50%)}
.sm-message{text-align:center;min-height:24px;font-size:14px;font-weight:700;line-height:1.6;color:#7b618a;margin:22px 0 7px;text-wrap:pretty}
.sm-trail{display:flex;gap:8px;justify-content:center;min-height:25px;margin:0 0 13px}
.sm-trail span{font-size:16px;color:#d5c7df;transition:color .2s}
.sm-trail .sm-hit{color:#9573a6}
.sm-pads{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;max-width:540px;margin:auto}
.sm-pad.magic-button{position:relative;min-width:0;min-height:82px;padding:12px 6px;display:flex;flex-direction:column;gap:5px;border-radius:23px 28px 21px 26px;font-size:12px;color:#615078;box-shadow:inset 0 3px 5px #fff,0 5px 0 #d2c5df,0 8px 13px #9885a61c;transition:transform .18s,box-shadow .18s;overflow:visible;opacity:1}
.sm-pad:disabled{filter:none;color:#615078}
.sm-pad-0.magic-button{background:linear-gradient(#fff2f8,#f3d5e4)}
.sm-pad-1.magic-button{background:linear-gradient(#fffcf0,#f6ecc9)}
.sm-pad-2.magic-button{background:linear-gradient(#f0fcff,#d5eaf0)}
.sm-pad-3.magic-button{background:linear-gradient(#f9f4ff,#e5d9f2)}
.sm-pad-symbol{font-family:Georgia,serif;font-size:31px;line-height:1}
.sm-pad.sm-lit{transform:translateY(-3px);box-shadow:inset 0 0 18px #fff,0 0 0 4px #fff7dc,0 0 23px #ead5a5,0 5px 0 #c9b4d3;z-index:1}
.sm-pad.sm-lit:after{content:'✧';position:absolute;right:8px;top:-8px;color:#ae8ab8;font-size:20px;animation:sm-spark .5s ease-out both}
.sm-actions{display:flex;gap:15px;align-items:center;justify-content:center;flex-wrap:wrap;margin:22px 0 10px}
.sm-start.magic-button,.sm-repeat.magic-button{font-size:12px;min-height:46px;padding:11px 19px}
.sm-repeat.magic-button{background:#fffafc}
.sm-help{text-align:center;color:#92809e;font-size:11px;line-height:1.6;margin:12px 0 0}
.sm-victory{position:absolute;inset:52px 10% 25px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;padding:14px 19px;border-radius:11px;background:#fffaf2f5;box-shadow:5px 6px 0 #c5b9d066;z-index:5;color:#695177;transform:rotate(-1deg)}
.sm-victory-symbol{font-size:40px;line-height:1;color:#b58d49}
.sm-victory strong{font-size:clamp(23px,4vw,32px);line-height:1.2}
.sm-victory>span:not(.sm-victory-symbol){font-size:13px;line-height:1.5;max-width:310px}
.sm-victory small{font-size:9px;letter-spacing:.07em;color:#937da1;margin-top:4px}
.sm-celebrating .sm-victory{animation:sm-reward .8s ease-out both}
.sm-new-star{animation:sm-star-bloom .85s ease-out both}
@keyframes sm-star-bloom{0%{transform:translate(-50%,-50%) scale(.7)}45%{transform:translate(-50%,-50%) scale(1.35);filter:brightness(1.3)}100%{transform:translate(-50%,-50%) scale(1)}}
@keyframes sm-spark{from{opacity:0;transform:translateY(7px) scale(.6)}40%{opacity:1}to{opacity:0;transform:translateY(-7px) scale(1.2)}}
@keyframes sm-reward{from{opacity:0;transform:translateY(8px) rotate(-1deg) scale(.97)}to{opacity:1;transform:rotate(-1deg)}}
@media(max-width:600px){#ceu .sm-integrated>.rpg-page{padding:15px 12px 18px}#ceu .sm-sky.starscape{height:250px}.sm-pads{gap:9px}.sm-pad.magic-button{min-height:75px;border-radius:19px 23px 17px 21px}.sm-pad-symbol{font-size:27px}.sm-message{font-size:13px;min-height:42px}.sm-victory{inset:47px 5% 18px;gap:7px}.sm-victory small{font-size:8px}.sm-sky-count{font-size:11px;left:11px}.sm-actions{gap:10px}.sm-help{font-size:10px}.sm-round{font-size:12px}}
@media(prefers-reduced-motion:reduce){.sm-world *,.sm-world *:after{animation:none!important;transition:none!important}.sm-pad.sm-lit{transform:none}}
