:root{--cream:#f3e4bf;--gold:#d7a757;--olive:#536b43;--olive2:#314329;--wood:#6a3f22;--ink:#21180f;--panel:rgba(35,25,15,.72);--line:rgba(241,210,154,.32);--shadow:0 24px 70px rgba(17,10,5,.42)}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;overflow-x:hidden;color:var(--cream);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:#24190f}button{font:inherit}.is-hidden{opacity:0;pointer-events:none;transform:scale(1.025)}
.atelier-scene{position:fixed;inset:0;overflow:hidden;background:linear-gradient(90deg,rgba(255,228,176,.16),transparent 35%),radial-gradient(circle at 70% 10%,#80603d 0,#3a291c 38%,#21160f 100%);z-index:-2}.window{position:absolute;left:-2vw;top:2vh;width:min(34vw,420px);height:60vh;border:18px solid #5a351d;border-radius:4px;background:rgba(210,225,230,.08);backdrop-filter:blur(1px);box-shadow:inset 0 0 0 5px rgba(255,238,194,.3),18px 20px 45px rgba(0,0,0,.35)}.window:before,.window:after{content:"";position:absolute;background:#5a351d}.window:before{left:48%;top:0;width:14px;height:100%}.window:after{top:48%;left:0;width:100%;height:14px}.mountains{position:absolute;inset:auto 0 0;height:52%;
background:
radial-gradient(circle at 70% 15%,rgba(255,255,255,.12),transparent 40%),
linear-gradient(#b8d8e8 0,#8fc4dd 40%,#6db6cf 41%,#5ea9c4 65%,#4e8d63 66%,#6e8b67 100%);
filter:saturate(.85) blur(.3px);
animation:lakePan 40s ease-in-out infinite alternate}
.mountains:before{content:'';position:absolute;left:0;right:0;top:18%;height:28%;
background:linear-gradient(140deg,transparent 18%,#6f7778 19% 38%,transparent 39%),linear-gradient(220deg,transparent 22%,#879092 23% 46%,transparent 47%);
opacity:.9}
.mountains:after{content:'';position:absolute;left:0;right:0;bottom:8%;height:18%;
background:repeating-linear-gradient(180deg,rgba(255,255,255,.08) 0 2px,transparent 2px 10px);
opacity:.35;animation:water 12s linear infinite}
.sunbeam{position:absolute;left:12vw;top:-10vh;width:42vw;height:150vh;background:radial-gradient(ellipse at center,rgba(255,236,180,.10) 0%,rgba(255,236,180,.05) 35%,transparent 75%);transform:rotate(-18deg);filter:blur(34px);animation:breathe 7s ease-in-out infinite alternate}.beam-two{left:32vw;width:18vw;opacity:.6;animation-delay:-3s}.back-shelf{position:absolute;right:0;left:26vw;height:26px;background:linear-gradient(#9b6639,#553018);box-shadow:0 10px 20px rgba(0,0,0,.5),inset 0 3px rgba(255,216,150,.18)}.shelf-a{top:25vh}.shelf-b{top:54vh}.pot,.jar,.books{position:absolute;bottom:25px;display:block}.pot{width:72px;height:60px;border-radius:10px 10px 25px 25px;background:radial-gradient(circle at 30% 20%,#b99a71,#69513b);box-shadow:inset -10px -10px 20px rgba(0,0,0,.25)}.p1{right:12%}.p2{left:24%}.jar{width:38px;height:88px;border:2px solid rgba(255,255,255,.18);border-radius:8px 8px 14px 14px;background:linear-gradient(90deg,rgba(255,255,255,.1),rgba(100,78,59,.3));}.j1{right:30%}.j2{left:9%}.books{right:42%;width:90px;height:55px;background:repeating-linear-gradient(#49402f 0 14px,#7f5b38 15px 28px);transform:skewY(-2deg)}.vine{position:absolute;width:90px;height:55vh;top:-5vh;background:radial-gradient(ellipse at 50% 10%,#799457 0 14%,transparent 15%) 0 0/45px 62px,radial-gradient(ellipse at 50% 60%,#405b33 0 15%,transparent 16%) 22px 12px/50px 65px;filter:drop-shadow(0 8px 7px rgba(0,0,0,.3));animation:sway 8s ease-in-out infinite alternate;transform-origin:top}.vine-left{left:20vw}.vine-right{right:2vw;height:38vh;animation-delay:-3s}.dust-field{position:absolute;inset:0}.dust{position:absolute;width:3px;height:3px;border-radius:50%;background:rgba(255,226,170,.75);box-shadow:0 0 7px rgba(255,222,150,.8);animation:floatDust linear infinite}.vignette{position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,transparent 40%,rgba(15,8,3,.62) 110%);pointer-events:none}
.home-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;transition:opacity .65s ease,transform .85s cubic-bezier(.2,.8,.2,1)}.brand-lockup{text-align:center;text-shadow:0 4px 30px rgba(0,0,0,.55)}.leaf-mark{font-size:2rem;color:var(--gold)}.brand-lockup h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(4rem,12vw,8rem);letter-spacing:.13em;margin:.05em 0 0}.brand-lockup p{letter-spacing:.38em;color:#e3c78f;margin:0 0 42px}.home-menu{width:min(92vw,360px);display:grid;gap:13px}.menu-button{border:1px solid var(--line);border-radius:24px;color:var(--cream);background:linear-gradient(180deg,rgba(50,37,24,.84),rgba(31,23,16,.84));box-shadow:var(--shadow);backdrop-filter:blur(14px);padding:15px 20px;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer;transition:.18s}.menu-button:hover{transform:translateY(-2px);border-color:rgba(255,218,151,.7)}.menu-button span{font-family:Georgia,serif;text-transform:uppercase;letter-spacing:.06em}.menu-button small{display:block;font-family:Inter,sans-serif;text-transform:none;letter-spacing:0;font-size:.72rem;opacity:.65;margin-top:4px}.menu-button strong{font-size:1.7rem;color:var(--gold)}.primary-menu{background:linear-gradient(180deg,rgba(83,107,67,.94),rgba(48,68,40,.94));border-color:#cfae69}.home-note{margin-top:32px;color:rgba(243,228,191,.62);letter-spacing:.16em;font-size:.72rem;text-transform:uppercase}
.app-shell{width:min(100%,1000px);min-height:100vh;margin:auto;padding:calc(18px + env(safe-area-inset-top)) 18px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;transition:opacity .55s ease,transform .8s cubic-bezier(.2,.8,.2,1)}.topbar{display:grid;grid-template-columns:54px 1fr 54px;align-items:center}.level-title{text-align:center}.level-title p{margin:0;color:#d5b97d;font-size:.68rem;letter-spacing:.24em}.level-title h2{font-family:Georgia,serif;font-weight:400;margin:4px 0;font-size:1.5rem}.round-button{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:rgba(35,25,15,.72);color:var(--cream);font-size:1.5rem;cursor:pointer;box-shadow:var(--shadow)}.game-area{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:8px 0}.canvas-board{position:relative;width:100%;height:clamp(430px,67vh,700px);min-height:430px;border-radius:28px;overflow:hidden;touch-action:none;user-select:none}#gameCanvas{display:block;width:100%;height:100%;touch-action:none}.message{min-height:22px;margin:8px 0;color:rgba(243,228,191,.78);text-align:center;font-size:.84rem;text-shadow:0 2px 8px #000}.hud-panel{display:grid;grid-template-columns:1fr 1fr 1.2fr 1fr 1fr;gap:8px;padding:10px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,rgba(49,35,22,.86),rgba(28,20,14,.9));box-shadow:var(--shadow);backdrop-filter:blur(18px)}.hud-panel button{border:0;background:transparent;color:var(--cream);border-radius:16px;padding:8px;cursor:pointer;display:grid;place-items:center;gap:2px}.hud-panel button:hover:not(:disabled){background:rgba(255,255,255,.07)}.hud-panel button:disabled{opacity:.3}.control-icon{font-size:1.45rem;color:var(--gold)}.hud-panel button span:not(.control-icon){font-size:.72rem}.hud-panel button small{position:absolute}.move-orb{border-left:1px solid var(--line);border-right:1px solid var(--line);display:grid;place-items:center;align-content:center}.move-orb span,.move-orb small{font-size:.66rem;color:rgba(243,228,191,.65)}.move-orb strong{font-family:Georgia,serif;font-size:1.6rem;color:#fff}.accent{background:rgba(83,107,67,.42)!important}
.modal{position:fixed;inset:0;display:grid;place-items:center;padding:22px;background:rgba(20,12,7,.72);backdrop-filter:blur(16px);z-index:50}.modal.hidden{display:none}.modal-card{width:min(100%,420px);padding:30px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(180deg,rgba(60,42,26,.98),rgba(28,20,14,.98));box-shadow:var(--shadow);text-align:center}.modal-card h2{font-family:Georgia,serif;font-weight:400;font-size:2rem;margin:8px}.eyebrow{font-size:.68rem;letter-spacing:.22em;color:#d5b97d}.wide,.primary-action{width:100%;padding:14px;border-radius:16px;border:1px solid var(--line);background:var(--olive);color:white;cursor:pointer}.win-orb{width:66px;height:66px;margin:auto;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,#ffe5a6,#b1782f);color:#4a2c12;font-size:1.8rem;box-shadow:0 0 35px rgba(255,194,95,.35)}.world-list{display:grid;gap:10px;margin:22px 0}.world-list article{display:grid;grid-template-columns:38px 1fr auto;text-align:left;align-items:center;gap:10px;padding:13px;border:1px solid rgba(255,255,255,.08);border-radius:14px;opacity:.55}.world-list article.unlocked{opacity:1;border-color:var(--line)}.world-list small{display:block;opacity:.55;margin-top:3px}.world-list em{font-style:normal;font-size:.7rem;color:var(--gold)}.setting-row{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.08)}
@keyframes sway{to{transform:rotate(3deg) translateX(5px)}}@keyframes breathe{to{opacity:.55}}@keyframes floatDust{from{transform:translate3d(0,30px,0);opacity:0}15%{opacity:.75}85%{opacity:.4}to{transform:translate3d(45px,-180px,0);opacity:0}}
@media(max-width:620px){.window{width:48vw}.vine-left{left:28vw}.back-shelf{left:18vw}.canvas-board{height:clamp(440px,64vh,610px)}.hud-panel{grid-template-columns:1fr 1fr 1.15fr 1fr}.hud-panel .accent{display:none}.brand-lockup h1{font-size:4rem}.home-screen{justify-content:center}.hud-panel{border-radius:20px}.level-title h2{font-size:1.25rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.reduce-motion .vine,.reduce-motion .sunbeam,.reduce-motion .dust{animation-play-state:paused!important}

/* Sprint V0.2B: phone-first fixed gameplay composition */
html,body{height:100%;overflow:hidden}.app-shell{height:100dvh;min-height:0;max-width:760px;padding:calc(10px + env(safe-area-inset-top)) 12px calc(10px + env(safe-area-inset-bottom));gap:4px}.topbar{flex:0 0 auto}.game-area{min-height:0;flex:1;justify-content:stretch;padding:2px 0}.canvas-board{flex:1;min-height:0;height:auto;max-height:none;border-radius:22px}.message{flex:0 0 auto;margin:4px 0 3px;min-height:18px;font-size:clamp(.72rem,2.8vw,.86rem)}.hud-panel{flex:0 0 auto;min-height:76px;padding:7px;gap:3px;border-radius:20px}.hud-panel button{min-height:58px;padding:5px}.round-button{width:44px;height:44px}.level-title h2{font-size:clamp(1.12rem,4vw,1.45rem)}
@media(max-width:430px){.app-shell{padding-left:8px;padding-right:8px}.topbar{grid-template-columns:46px 1fr 46px}.round-button{width:42px;height:42px}.hud-panel{grid-template-columns:1fr 1fr 1.08fr 1fr}.hud-panel .accent{display:none}.hud-panel button span:not(.control-icon){font-size:.66rem}.control-icon{font-size:1.3rem}.move-orb strong{font-size:1.45rem}.canvas-board{border-radius:18px}}
@media(max-height:700px){.app-shell{padding-top:calc(6px + env(safe-area-inset-top));padding-bottom:calc(6px + env(safe-area-inset-bottom))}.round-button{width:38px;height:38px}.level-title p{font-size:.58rem}.level-title h2{margin:1px 0}.hud-panel{min-height:64px}.hud-panel button{min-height:48px}.message{font-size:.7rem}}
@media(min-width:700px){.app-shell{max-width:860px}.hud-panel{max-width:720px;width:100%;align-self:center}.canvas-board{max-width:820px;align-self:center}}

/* Sprint V0.2C — World journey */
.journey-card{width:min(94vw,620px);max-height:min(90vh,820px);overflow:auto;padding:28px}.journey-copy{margin:-6px 0 18px;color:rgba(243,228,191,.72);line-height:1.5}.journey-progress{display:flex;align-items:center;gap:14px;margin-bottom:18px;font-size:.82rem;color:#e8cf9a}.journey-progress>div{height:8px;flex:1;border-radius:999px;background:rgba(255,255,255,.09);overflow:hidden;border:1px solid rgba(255,224,166,.14)}.journey-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#70885c,#d7a757);border-radius:inherit;transition:width .35s ease}.level-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:14px 0 18px}.level-node{position:relative;aspect-ratio:1;border:1px solid rgba(241,210,154,.24);border-radius:16px;background:linear-gradient(180deg,rgba(82,57,34,.8),rgba(36,25,16,.9));color:var(--cream);display:grid;place-items:center;cursor:pointer;box-shadow:inset 0 1px rgba(255,255,255,.06),0 7px 18px rgba(0,0,0,.2);transition:transform .16s,border-color .16s,background .16s}.level-node:hover:not(:disabled){transform:translateY(-2px);border-color:#d7a757}.level-node strong{font-family:Georgia,serif;font-size:1.18rem}.level-node small{position:absolute;bottom:5px;font-size:.54rem;opacity:.58}.level-node.completed{background:linear-gradient(180deg,rgba(83,107,67,.92),rgba(43,62,35,.95));border-color:rgba(215,167,87,.72)}.level-node.completed:after{content:'✦';position:absolute;right:5px;top:3px;color:#f0c469;font-size:.66rem}.level-node.current{outline:2px solid rgba(215,167,87,.82);outline-offset:2px}.level-node:disabled{opacity:.36;cursor:not-allowed;filter:saturate(.45)}.journey-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.journey-actions button{min-height:48px;border-radius:15px;border:1px solid var(--line);background:rgba(38,27,17,.86);color:var(--cream)}.journey-actions .primary-action{background:linear-gradient(180deg,#667f52,#3f5835);border-color:#c9a75f}.next-world-preview{margin-top:16px;padding:14px 16px;border-radius:15px;background:rgba(10,7,4,.24);border:1px solid rgba(255,255,255,.07);display:grid;grid-template-columns:auto 1fr;gap:2px 12px;color:rgba(243,228,191,.55)}.next-world-preview b{grid-row:1/3;color:#d6b575}.next-world-preview span{font-family:Georgia,serif;color:rgba(243,228,191,.78)}.next-world-preview em{font-size:.68rem;font-style:normal}.liquid-quality-note{display:none}@media(max-width:430px){.journey-card{padding:22px 16px}.level-grid{gap:8px}.level-node{border-radius:13px}.journey-actions{grid-template-columns:1fr}.next-world-preview{font-size:.82rem}}

/* V0.6A — VALES BRAND IDENTITY SYSTEM */
:root{
  --v-ink-950:#17110c;
  --v-ink-900:#21170f;
  --v-walnut-800:#3b2618;
  --v-walnut-700:#54331f;
  --v-walnut-500:#8b5835;
  --v-ivory-100:#f4ead7;
  --v-ivory-300:#dcc9a4;
  --v-brass-300:#d8b067;
  --v-brass-500:#b27a32;
  --v-moss-500:#637451;
  --v-line:rgba(231,207,163,.26);
  --v-line-strong:rgba(231,207,163,.48);
  --v-display:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --v-ui:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;
  --v-ease:cubic-bezier(.22,.78,.18,1);
  --v-fast:120ms;
  --v-medium:240ms;
  --v-slow:420ms;
  --v-radius-s:12px;
  --v-radius-m:18px;
  --v-shadow-soft:0 12px 32px rgba(13,7,3,.24);
}
body{font-family:var(--v-ui);letter-spacing:.005em}
.vales-symbols{position:absolute;width:0;height:0;overflow:hidden}
.ui-icon,.control-icon,.menu-glyph{display:block;width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.menu-glyph{width:1.15rem;height:1.15rem;color:var(--v-brass-300)}

/* Brand lockup: editorial, restrained, custom leaf mark */
.brand-lockup{transform:translateY(-1.2vh)}
.leaf-mark{height:28px;display:flex;align-items:center;justify-content:center;gap:3px;margin-bottom:8px}
.leaf-mark:before,.leaf-mark:after{content:"";display:block;width:42px;height:1px;background:linear-gradient(90deg,transparent,var(--v-brass-300))}
.leaf-mark:after{transform:scaleX(-1)}
.leaf-mark span{display:block;width:6px;height:15px;border:1px solid var(--v-brass-300);border-radius:0;clip-path:polygon(50% 0%,82% 10%,100% 38%,90% 72%,62% 96%,34% 100%,10% 80%,0 48%,12% 16%);transform:rotate(-38deg);opacity:.9}
.leaf-mark span+span{transform:rotate(142deg)}
.brand-lockup h1{font-family:var(--v-display);font-size:clamp(3.8rem,11vw,7.6rem);letter-spacing:.19em;margin-right:-.19em;line-height:.92;text-rendering:optimizeLegibility}
.brand-lockup p{font-family:var(--v-ui);font-size:.68rem;font-weight:520;letter-spacing:.42em;margin-right:-.42em;color:var(--v-ivory-300)}

/* Home navigation: no generic pill cards */
.home-menu{gap:0;border-top:1px solid var(--v-line);border-bottom:1px solid var(--v-line);width:min(88vw,390px)}
.menu-button,.primary-menu{border:0;border-bottom:1px solid rgba(231,207,163,.14);border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;padding:18px 2px;color:var(--v-ivory-100);transition:opacity var(--v-fast),transform var(--v-medium) var(--v-ease)}
.menu-button:last-child{border-bottom:0}.menu-button:hover{transform:translateX(4px);border-color:rgba(231,207,163,.14)}
.menu-button:active{transform:translateX(7px);opacity:.68}
.menu-button span{font-family:var(--v-display);text-transform:none;letter-spacing:.02em;font-size:1.15rem}
.menu-button small{font-family:var(--v-ui);font-size:.66rem;letter-spacing:.02em;margin-top:3px;color:rgba(244,234,215,.55)}
.menu-button strong{font-size:inherit}.home-note{font-size:.62rem;letter-spacing:.24em}

/* Top controls: small crafted brass/ink controls, not generic circles */
.topbar{grid-template-columns:48px 1fr 48px;padding-inline:2px}
.round-button{width:42px;height:42px;border-radius:14px;border:1px solid var(--v-line);display:grid;place-items:center;background:linear-gradient(145deg,rgba(76,48,28,.76),rgba(29,20,13,.82));box-shadow:inset 0 1px rgba(255,255,255,.07),0 8px 20px rgba(14,8,4,.2);color:var(--v-ivory-100);transition:transform var(--v-fast),border-color var(--v-fast),background var(--v-fast)}
.round-button:active{transform:translateY(2px) scale(.97);background:rgba(31,22,14,.9)}
.level-title p{font-size:.61rem;font-weight:560;letter-spacing:.3em;color:var(--v-brass-300)}
.level-title h2{font-family:var(--v-display);font-size:1.62rem;letter-spacing:-.025em;color:var(--v-ivory-100)}

/* HUD: remove the AI-card silhouette; use a calm instrument rail */
.hud-panel{position:relative;grid-template-columns:1fr 1fr 1.05fr 1fr 1fr;gap:0;min-height:74px;padding:0 4px;border:0;border-top:1px solid var(--v-line-strong);border-bottom:1px solid rgba(231,207,163,.12);border-radius:0;background:linear-gradient(180deg,rgba(31,22,14,.3),rgba(20,14,9,.16));box-shadow:none;backdrop-filter:blur(9px)}
.hud-panel:before{content:"";position:absolute;left:50%;top:-1px;width:42px;height:1px;transform:translateX(-50%);background:var(--v-brass-300);opacity:.72}
.hud-panel button{position:relative;min-height:70px;border-radius:0;padding:8px 3px;color:rgba(244,234,215,.82);transition:transform var(--v-fast),color var(--v-fast),background var(--v-fast)}
.hud-panel button+button:before,.move-orb:before{content:"";position:absolute;left:0;top:20%;height:60%;width:1px;background:rgba(231,207,163,.12)}
.hud-panel button:hover:not(:disabled){background:rgba(255,255,255,.025);color:#fff}
.hud-panel button:active:not(:disabled){transform:translateY(2px) scale(.97)}
.control-icon{width:1.28rem;height:1.28rem;color:var(--v-brass-300);stroke-width:1.55}
.hud-panel button span:not(.control-icon){font-size:.59rem;letter-spacing:.08em;text-transform:uppercase;margin-top:2px}
.hud-panel button small{font-size:.55rem;right:12%;top:13%;color:var(--v-brass-300)}
.move-orb{position:relative;border:0;display:grid;place-items:center;align-content:center;gap:0}
.move-orb:after{content:"";position:absolute;right:0;top:20%;height:60%;width:1px;background:rgba(231,207,163,.12)}
.move-orb span{font-size:.55rem;letter-spacing:.14em;text-transform:uppercase}.move-orb strong{font-family:var(--v-display);font-size:1.75rem;line-height:.96}.move-orb small{font-size:.56rem;margin-top:3px}
.hud-panel .accent{background:transparent!important}.hud-panel .accent:not(:disabled){color:var(--v-brass-300)}
.message{font-family:var(--v-display);font-size:.84rem;letter-spacing:.015em;color:rgba(244,234,215,.68)}

/* Modals and journey: editorial panels rather than generic rounded cards */
.modal{background:rgba(18,11,7,.78);backdrop-filter:blur(20px) saturate(.86)}
.modal-card{border:1px solid var(--v-line);border-radius:20px;background:linear-gradient(160deg,rgba(66,42,25,.97),rgba(27,18,12,.985));box-shadow:0 26px 90px rgba(9,5,2,.55);padding:32px}
.modal-card:before{content:"";display:block;width:38px;height:1px;background:var(--v-brass-300);margin:0 auto 18px;opacity:.8}
.modal-card h2{font-family:var(--v-display);font-size:2.15rem;letter-spacing:-.035em}.eyebrow{font-size:.59rem;letter-spacing:.28em}
.wide,.primary-action,.journey-actions button{border-radius:10px;min-height:46px;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;background:rgba(255,255,255,.025);border:1px solid var(--v-line);transition:transform var(--v-fast),background var(--v-fast),border-color var(--v-fast)}
.wide:active,.primary-action:active,.journey-actions button:active{transform:translateY(2px)}
.journey-actions .primary-action,.primary-action{background:linear-gradient(180deg,var(--v-moss-500),#46563a);border-color:rgba(216,176,103,.5)}
.level-node{border-radius:10px;background:rgba(29,20,13,.56);box-shadow:none}.level-node strong{font-family:var(--v-display)}
.win-orb{border-radius:18px;background:linear-gradient(145deg,#efd08d,#9c642b);box-shadow:0 14px 38px rgba(10,6,2,.32)}

/* Responsive refinement */
@media(max-width:430px){
  .app-shell{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
  .hud-panel{grid-template-columns:1fr 1fr 1.08fr 1fr;min-height:70px}
  .hud-panel button{min-height:66px}.hud-panel .accent{display:none}
  .round-button{width:40px;height:40px;border-radius:13px}
  .level-title h2{font-size:1.44rem}.message{font-size:.78rem}
}


/* V0.6B — Clear HUD system. This block intentionally overrides all earlier HUD experiments. */
.hud-panel{
  width:min(100%,680px)!important;
  align-self:center!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:clamp(6px,1.8vw,12px)!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  overflow:visible!important;
}
.hud-panel>.hud-control{
  position:relative!important;
  min-width:0!important;
  min-height:82px!important;
  padding:10px 6px 8px!important;
  border:1px solid rgba(238,211,164,.23)!important;
  border-radius:16px!important;
  background:linear-gradient(160deg,rgba(255,244,218,.115),rgba(255,238,204,.035))!important;
  color:#fff7e8!important;
  box-shadow:0 10px 28px rgba(20,10,4,.16),inset 0 1px 0 rgba(255,255,255,.10)!important;
  backdrop-filter:blur(16px) saturate(1.05)!important;
  -webkit-backdrop-filter:blur(16px) saturate(1.05)!important;
  display:grid!important;
  grid-template-rows:22px 14px 1fr!important;
  place-items:center!important;
  align-content:center!important;
  gap:2px!important;
  overflow:hidden!important;
}
.hud-panel>.hud-control::before{
  content:""!important;position:absolute!important;inset:0!important;pointer-events:none!important;
  background:linear-gradient(120deg,rgba(255,255,255,.065),transparent 42%)!important;
  opacity:1!important;
}
.hud-panel>.hud-control::after{
  content:"";position:absolute;left:20%;right:20%;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(231,188,110,.52),transparent);
}
.hud-panel>.hud-control:active:not(:disabled){
  transform:translateY(2px) scale(.98)!important;
  background:linear-gradient(160deg,rgba(255,244,218,.16),rgba(255,238,204,.055))!important;
  box-shadow:0 4px 12px rgba(20,10,4,.14),inset 0 2px 8px rgba(20,10,4,.12)!important;
}
.hud-panel .control-icon{width:22px!important;height:22px!important;color:#edc779!important;stroke-width:1.55!important;z-index:1}
.hud-panel .hud-label{font-family:system-ui,-apple-system,sans-serif!important;font-size:.56rem!important;line-height:1!important;font-weight:650!important;letter-spacing:.15em!important;text-transform:uppercase!important;color:rgba(255,244,220,.62)!important;z-index:1}
.hud-panel .hud-value{font-family:system-ui,-apple-system,'SF Pro Display',sans-serif!important;font-size:1.55rem!important;line-height:1!important;font-weight:760!important;letter-spacing:-.04em!important;color:#fffaf0!important;z-index:1;font-variant-numeric:tabular-nums}
.hud-panel .hud-value-word{font-size:.8rem!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:rgba(255,244,220,.82)!important}
.hud-panel .hud-best{position:absolute!important;right:7px!important;bottom:5px!important;font-size:.48rem!important;line-height:1!important;letter-spacing:.04em!important;color:rgba(255,244,220,.38)!important;z-index:1}
.hud-panel>.move-orb{order:2!important;border-left:1px solid rgba(238,211,164,.23)!important;border-right:1px solid rgba(238,211,164,.23)!important}
#undoButton{order:0!important}#restartButton{order:1!important}#hintButton{order:3!important}#nextButton{display:none!important}
@media(max-width:430px){
  .hud-panel{gap:6px!important}.hud-panel>.hud-control{min-height:78px!important;padding:8px 3px 7px!important;border-radius:14px!important}
  .hud-panel .control-icon{width:20px!important;height:20px!important}.hud-panel .hud-label{font-size:.5rem!important}.hud-panel .hud-value{font-size:1.38rem!important}.hud-panel .hud-value-word{font-size:.68rem!important}
}

/* =========================================================
   V0.7A — Gameplay HUD Rewrite
   One instrument rail, one visual hierarchy, no card grid.
   ========================================================= */
.hud-panel.hud-v07{
  --hud-ivory:#fff5df;
  --hud-muted:rgba(255,245,223,.54);
  --hud-brass:#e2b65e;
  --hud-line:rgba(240,207,145,.20);
  width:min(100%,620px)!important;
  min-height:76px!important;
  margin:2px auto 0!important;
  padding:7px 9px!important;
  display:grid!important;
  grid-template-columns:minmax(58px,.9fr) minmax(104px,1.45fr) minmax(58px,.9fr) minmax(68px,1fr)!important;
  align-items:stretch!important;
  gap:0!important;
  border:1px solid rgba(240,207,145,.22)!important;
  border-radius:24px!important;
  background:
    linear-gradient(180deg,rgba(255,248,229,.085),rgba(255,248,229,.018)),
    rgba(25,17,11,.48)!important;
  box-shadow:0 16px 40px rgba(12,7,3,.24),inset 0 1px 0 rgba(255,255,255,.08)!important;
  backdrop-filter:blur(20px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(20px) saturate(1.08)!important;
  overflow:hidden!important;
}
.hud-panel.hud-v07::before,
.hud-panel.hud-v07::after{content:none!important}
.hud-v07 .hud-action,
.hud-v07 .hud-next{
  appearance:none;
  position:relative!important;
  min-width:0!important;
  min-height:60px!important;
  padding:7px 4px 5px!important;
  border:0!important;
  border-radius:15px!important;
  background:transparent!important;
  color:var(--hud-ivory)!important;
  box-shadow:none!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  overflow:visible!important;
  transition:transform 140ms cubic-bezier(.2,.8,.2,1),background 140ms ease,color 140ms ease!important;
}
.hud-v07 .hud-action::before,
.hud-v07 .hud-action::after,
.hud-v07 .hud-next::before,
.hud-v07 .hud-next::after{content:none!important}
.hud-v07 .hud-action:hover:not(:disabled){background:rgba(255,255,255,.035)!important}
.hud-v07 .hud-action:active:not(:disabled){
  transform:translateY(2px) scale(.965)!important;
  background:rgba(255,244,216,.075)!important;
}
.hud-v07 .hud-action+.hud-action,
.hud-v07 .hud-status+.hud-action,
.hud-v07 .hud-action+.hud-status{border-left:1px solid var(--hud-line)!important}
.hud-v07 .control-icon{
  width:21px!important;height:21px!important;
  color:var(--hud-brass)!important;
  stroke-width:1.65!important;
  filter:drop-shadow(0 2px 7px rgba(226,182,94,.12));
}
.hud-v07 .hud-label{
  font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif!important;
  font-size:.54rem!important;
  line-height:1!important;
  font-weight:650!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  color:var(--hud-muted)!important;
}
.hud-v07 .hud-count{
  position:absolute;
  right:10px;top:8px;
  min-width:17px;height:17px;padding:0 4px;
  display:grid;place-items:center;
  border-radius:999px;
  background:rgba(226,182,94,.14);
  border:1px solid rgba(226,182,94,.22);
  font:700 .56rem/1 ui-sans-serif,-apple-system,sans-serif;
  color:var(--hud-brass);
  font-variant-numeric:tabular-nums;
}
.hud-v07 .hud-status{
  position:relative;
  min-width:0;
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-rows:auto 1fr auto;
  align-items:center;
  padding:6px 18px 5px;
  border-left:1px solid var(--hud-line);
  border-right:1px solid var(--hud-line);
  text-align:left;
}
.hud-v07 .hud-status::before{
  content:"";
  position:absolute;left:50%;top:0;
  width:34px;height:1px;transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,var(--hud-brass),transparent);
  opacity:.8;
}
.hud-v07 .hud-status-kicker{
  grid-column:1/-1;
  font:650 .54rem/1 ui-sans-serif,-apple-system,sans-serif;
  letter-spacing:.17em;text-transform:uppercase;
  color:var(--hud-muted);
}
.hud-v07 .hud-status>strong{
  grid-column:1;
  grid-row:2;
  align-self:end;
  font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;
  font-size:2rem;
  line-height:.92;
  font-weight:760;
  letter-spacing:-.055em;
  color:var(--hud-ivory);
  font-variant-numeric:tabular-nums;
  text-shadow:0 5px 18px rgba(0,0,0,.22);
}
.hud-v07 .hud-best{
  grid-column:2;
  grid-row:2/4;
  align-self:center;
  white-space:nowrap;
  font:560 .57rem/1.35 ui-sans-serif,-apple-system,sans-serif;
  letter-spacing:.04em;
  color:var(--hud-muted);
}
.hud-v07 .hud-best b{font-weight:760;color:rgba(255,245,223,.78);font-variant-numeric:tabular-nums}
.hud-v07 .hud-next{display:none!important}

/* Header belongs to the same instrument family. */
.topbar{
  grid-template-columns:44px 1fr 44px!important;
  min-height:48px;
  padding-inline:2px!important;
}
.topbar .round-button{
  width:40px!important;height:40px!important;
  border-radius:14px!important;
  border:1px solid rgba(240,207,145,.22)!important;
  background:rgba(28,19,12,.45)!important;
  box-shadow:0 9px 25px rgba(10,6,3,.18),inset 0 1px rgba(255,255,255,.075)!important;
  backdrop-filter:blur(15px)!important;
  -webkit-backdrop-filter:blur(15px)!important;
}
.topbar .round-button:active{transform:translateY(2px) scale(.96)!important;background:rgba(255,244,216,.065)!important}
.topbar .ui-icon{width:21px;height:21px;stroke-width:1.55}
.level-title p{font-family:ui-sans-serif,-apple-system,sans-serif!important;font-size:.55rem!important;font-weight:650!important;letter-spacing:.27em!important}
.level-title h2{font-size:1.48rem!important;margin-top:3px!important}

/* Give gameplay the visual priority; keep the message quiet. */
.message{margin:6px 0 8px!important;font-size:.78rem!important;color:rgba(255,245,223,.62)!important}

@media(max-width:430px){
  .app-shell{padding-left:max(10px,env(safe-area-inset-left))!important;padding-right:max(10px,env(safe-area-inset-right))!important;padding-bottom:calc(10px + env(safe-area-inset-bottom))!important}
  .hud-panel.hud-v07{
    grid-template-columns:62px minmax(104px,1.45fr) 62px 72px!important;
    min-height:70px!important;
    padding:5px 6px!important;
    border-radius:21px!important;
  }
  .hud-v07 .hud-action{min-height:58px!important;padding-inline:2px!important}
  .hud-v07 .control-icon{width:20px!important;height:20px!important}
  .hud-v07 .hud-label{font-size:.48rem!important;letter-spacing:.11em!important}
  .hud-v07 .hud-status{padding:5px 11px 4px!important}
  .hud-v07 .hud-status>strong{font-size:1.85rem!important}
  .hud-v07 .hud-best{font-size:.51rem!important}
  .hud-v07 .hud-count{right:6px;top:6px}
  .canvas-board{height:clamp(400px,65vh,680px)!important}
}
@media(max-width:365px){
  .hud-panel.hud-v07{grid-template-columns:56px minmax(92px,1.4fr) 56px 64px!important}
  .hud-v07 .hud-status{padding-inline:8px!important}
  .hud-v07 .hud-best{display:none}
}

/* =========================================================
   V0.7A.1 — Unified Instrument Rail
   One continuous rail, invisible touch zones, animated brass edge.
   ========================================================= */
.hud-panel.hud-v07{
  position:relative!important;
  isolation:isolate;
  overflow:hidden!important;
  padding:6px 8px!important;
  border:1px solid rgba(240,207,145,.19)!important;
  border-radius:23px!important;
  background:
    linear-gradient(180deg,rgba(255,248,229,.07),rgba(255,248,229,.012)),
    rgba(23,16,10,.44)!important;
  box-shadow:0 14px 36px rgba(10,6,3,.20),inset 0 1px 0 rgba(255,255,255,.065)!important;
}
.hud-panel.hud-v07::before{
  content:""!important;
  position:absolute!important;
  inset:-1px!important;
  z-index:0!important;
  border-radius:inherit!important;
  padding:1px!important;
  background:conic-gradient(
    from 0deg,
    transparent 0deg,
    transparent 258deg,
    rgba(255,232,176,.08) 282deg,
    rgba(239,190,91,.82) 310deg,
    rgba(255,244,213,.38) 326deg,
    transparent 350deg,
    transparent 360deg
  )!important;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)!important;
  -webkit-mask-composite:xor!important;
  mask-composite:exclude!important;
  pointer-events:none!important;
  animation:hudBrassOrbit 11s linear infinite!important;
  opacity:.72!important;
}
.hud-panel.hud-v07::after{
  content:""!important;
  position:absolute!important;
  inset:1px!important;
  z-index:0!important;
  border-radius:21px!important;
  pointer-events:none!important;
  background:linear-gradient(105deg,transparent 18%,rgba(255,244,215,.025) 46%,transparent 72%)!important;
  transform:translateX(-80%)!important;
  animation:hudSoftSweep 9s ease-in-out infinite!important;
}
@keyframes hudBrassOrbit{to{transform:rotate(360deg)}}
@keyframes hudSoftSweep{0%,30%{transform:translateX(-90%)}62%,100%{transform:translateX(90%)}}

.hud-v07 .hud-action,
.hud-v07 .hud-next,
.hud-v07 .hud-status{
  z-index:1!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:0!important;
}
.hud-v07 .hud-action{
  min-height:62px!important;
  padding:7px 3px 6px!important;
  gap:5px!important;
}
.hud-v07 .hud-action:hover:not(:disabled),
.hud-v07 .hud-action:focus-visible:not(:disabled){
  background:transparent!important;
  color:#fff9e9!important;
}
.hud-v07 .hud-action:active:not(:disabled){
  transform:translateY(1.5px)!important;
  background:transparent!important;
}
.hud-v07 .hud-action:active:not(:disabled) .control-icon{
  color:#f4c96f!important;
  filter:drop-shadow(0 2px 9px rgba(226,182,94,.24))!important;
}
.hud-v07 .hud-action:active:not(:disabled) .hud-label{color:rgba(255,248,229,.88)!important}

/* Equal, invisible interaction zones. Only separators remain visible. */
.hud-v07 .hud-action+.hud-action,
.hud-v07 .hud-status+.hud-action,
.hud-v07 .hud-action+.hud-status{
  border-left:1px solid rgba(240,207,145,.15)!important;
}
.hud-v07 .hud-status{
  border-left:1px solid rgba(240,207,145,.15)!important;
  border-right:1px solid rgba(240,207,145,.15)!important;
  padding:6px 16px 5px!important;
}
.hud-v07 .hud-status::before{
  width:30px!important;
  opacity:.6!important;
}
.hud-v07 .hud-count{
  right:8px!important;
  top:7px!important;
  background:rgba(226,182,94,.10)!important;
  border-color:rgba(226,182,94,.18)!important;
  box-shadow:none!important;
}

@media (prefers-reduced-motion:reduce){
  .hud-panel.hud-v07::before,
  .hud-panel.hud-v07::after{animation:none!important}
}
@media(max-width:430px){
  .hud-panel.hud-v07{padding:5px 7px!important;border-radius:21px!important}
  .hud-panel.hud-v07::after{border-radius:19px!important}
  .hud-v07 .hud-action{min-height:59px!important}
}

/* =========================================================
   V0.7A.2 — Precision Rail
   Four aligned cells, no inner shapes, visible snake-light border.
   ========================================================= */
.hud-panel.hud-v07.hud-v072{
  --rail-gold:#e6b95e;
  --rail-ivory:#fff5df;
  --rail-muted:rgba(255,245,223,.58);
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  width:min(100%,620px)!important;
  min-height:88px!important;
  display:grid!important;
  grid-template-columns:1fr 1.18fr 1fr 1fr!important;
  gap:0!important;
  padding:7px 9px!important;
  border:1px solid rgba(230,185,94,.26)!important;
  border-radius:24px!important;
  background:linear-gradient(180deg,rgba(255,247,226,.065),rgba(255,247,226,.012)),rgba(24,17,11,.50)!important;
  box-shadow:0 16px 42px rgba(9,5,2,.25),inset 0 1px rgba(255,255,255,.055)!important;
  backdrop-filter:blur(18px) saturate(1.05)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.05)!important;
}
/* The animated segment is the only decorative border. */
.hud-panel.hud-v07.hud-v072::before{
  content:""!important;
  position:absolute!important;
  inset:-1px!important;
  border-radius:inherit!important;
  padding:1.5px!important;
  z-index:3!important;
  pointer-events:none!important;
  background:conic-gradient(from 0deg,
    transparent 0deg 270deg,
    rgba(230,185,94,.05) 284deg,
    rgba(255,226,158,.42) 300deg,
    #f3c96f 314deg,
    #fff0bd 322deg,
    rgba(230,185,94,.20) 334deg,
    transparent 350deg 360deg)!important;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)!important;
  -webkit-mask-composite:xor!important;
  mask-composite:exclude!important;
  animation:valesSnakeBorder 8.5s linear infinite!important;
  opacity:.95!important;
  filter:drop-shadow(0 0 5px rgba(230,185,94,.16));
}
.hud-panel.hud-v07.hud-v072::after{
  content:""!important;
  position:absolute!important;
  inset:1px!important;
  border-radius:22px!important;
  z-index:0!important;
  pointer-events:none!important;
  background:radial-gradient(85% 95% at 50% -30%,rgba(255,238,196,.06),transparent 68%)!important;
  animation:none!important;
  transform:none!important;
}
@keyframes valesSnakeBorder{to{transform:rotate(360deg)}}

/* Hard reset: absolutely no inner cards, pills, glows or button plates. */
.hud-v072>.hud-cell,
.hud-v072>.hud-action,
.hud-v072>.hud-status,
.hud-v072>.hud-next{
  position:relative!important;
  z-index:1!important;
  min-width:0!important;
  min-height:74px!important;
  margin:0!important;
  padding:7px 6px 6px!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:none!important;
  background-color:transparent!important;
  box-shadow:none!important;
  filter:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  display:grid!important;
  grid-template-rows:22px 13px 28px 11px!important;
  align-items:center!important;
  justify-items:center!important;
  align-content:center!important;
  gap:2px!important;
  color:var(--rail-ivory)!important;
  overflow:visible!important;
}
.hud-v072>.hud-cell::before,
.hud-v072>.hud-cell::after{content:none!important;display:none!important}
.hud-v072>.hud-cell+.hud-cell{border-left:1px solid rgba(240,207,145,.15)!important}
.hud-v072>.hud-action:hover:not(:disabled),
.hud-v072>.hud-action:focus-visible:not(:disabled){background:none!important;box-shadow:none!important}
.hud-v072>.hud-action:active:not(:disabled){transform:translateY(1.5px)!important;background:none!important}
.hud-v072>.hud-action:disabled{opacity:.34!important}

.hud-v072 .control-icon{
  grid-row:1!important;
  width:21px!important;height:21px!important;
  color:var(--rail-gold)!important;
  stroke-width:1.55!important;
  filter:drop-shadow(0 2px 7px rgba(230,185,94,.12))!important;
}
.hud-v072 .hud-label{
  grid-row:2!important;
  font:680 .50rem/1 ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  color:var(--rail-muted)!important;
  white-space:nowrap!important;
}
.hud-v072 .hud-metric{
  grid-row:3!important;
  position:static!important;
  min-width:0!important;height:auto!important;padding:0!important;
  border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;
  font:780 1.72rem/.96 ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif!important;
  letter-spacing:-.055em!important;
  color:var(--rail-ivory)!important;
  font-variant-numeric:tabular-nums!important;
  text-shadow:0 4px 15px rgba(0,0,0,.20)!important;
}
.hud-v072 .hud-quiet-value{
  grid-row:3!important;
  align-self:center!important;
  font:650 .59rem/1 ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  color:rgba(255,245,223,.34)!important;
}
.hud-v072 .hud-best{
  grid-row:4!important;
  position:static!important;
  display:block!important;
  align-self:end!important;
  white-space:nowrap!important;
  font:590 .48rem/1 ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:rgba(255,245,223,.44)!important;
}
.hud-v072 .hud-best b{font-weight:760!important;color:rgba(255,245,223,.80)!important}
.hud-v072 .hud-next{display:none!important}

@media(max-width:430px){
  .hud-panel.hud-v07.hud-v072{
    grid-template-columns:1fr 1.14fr 1fr 1fr!important;
    min-height:84px!important;
    padding:6px 7px!important;
    border-radius:21px!important;
  }
  .hud-panel.hud-v07.hud-v072::after{border-radius:19px!important}
  .hud-v072>.hud-cell{min-height:70px!important;padding-inline:3px!important;grid-template-rows:21px 12px 27px 10px!important}
  .hud-v072 .control-icon{width:20px!important;height:20px!important}
  .hud-v072 .hud-label{font-size:.46rem!important;letter-spacing:.12em!important}
  .hud-v072 .hud-metric{font-size:1.58rem!important}
  .hud-v072 .hud-quiet-value{font-size:.52rem!important}
  .hud-v072 .hud-best{font-size:.44rem!important}
}
@media(max-width:365px){
  .hud-v072 .hud-quiet-value{font-size:0!important}
  .hud-v072 .hud-quiet-value::after{content:"—";font-size:.72rem;color:rgba(255,245,223,.30)}
}
@media(prefers-reduced-motion:reduce){.hud-panel.hud-v07.hud-v072::before{animation:none!important}}


/* V0.7A.5 preflight */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.hud-panel.hud-final{margin-inline:auto}


/* V0.7A.7 — viewport lock + true outer HUD trace */
:root{
  --vales-safe-inline:max(12px, env(safe-area-inset-left), env(safe-area-inset-right));
}
html,body{
  width:100%;
  max-width:100%;
  margin:0;
  padding:0;
  overflow-x:clip!important;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{position:relative}
.app-shell{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:760px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:var(--vales-safe-inline)!important;
  padding-right:var(--vales-safe-inline)!important;
  min-width:0!important;
}
.topbar,.game-area,.canvas-board,.message,.hud-panel{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.hud-panel.hud-final{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  width:min(100%,620px)!important;
  margin-inline:auto!important;
  align-self:center!important;
}
.hud-panel.hud-final>.hud-cell,
.hud-panel.hud-final>.hud-next{
  position:relative!important;
  z-index:2!important;
  min-width:0!important;
}
.hud-snake{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  max-width:none!important;
  pointer-events:none!important;
  overflow:visible!important;
  z-index:4!important;
}
.hud-snake-track{
  fill:none!important;
  stroke:rgba(216,182,106,.22)!important;
  stroke-width:.72!important;
  vector-effect:non-scaling-stroke;
}
.hud-snake-line{
  fill:none!important;
  stroke:#d8b66a!important;
  stroke-width:.82!important;
  stroke-linecap:round!important;
  vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 0 1.25px rgba(216,182,106,.34));
  animation:valesHudSnake 24s linear infinite!important;
}
@keyframes valesHudSnake{
  from{stroke-dashoffset:0}
  to{stroke-dashoffset:-100}
}
@media(max-width:430px){
  :root{--vales-safe-inline:max(10px, env(safe-area-inset-left), env(safe-area-inset-right))}
  .hud-panel.hud-final{width:100%!important;margin-inline:auto!important}
}
@media(prefers-reduced-motion:reduce){
  .hud-snake-line{animation:none!important;stroke-dashoffset:0!important}
}


/* V0.7A.8 — visual-viewport centering + slow luxury perimeter trace */
html,body{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
body{position:fixed!important;inset:0!important}
.app-shell{
  position:fixed!important;
  inset:0!important;
  width:min(760px,100%)!important;
  max-width:760px!important;
  height:100dvh!important;
  margin:0 auto!important;
  transform:none!important;
  left:0!important;
  right:0!important;
  box-sizing:border-box!important;
  padding-left:max(12px,env(safe-area-inset-left))!important;
  padding-right:max(12px,env(safe-area-inset-right))!important;
}
@supports(width:100svw){
  .app-shell{width:min(760px,100svw)!important}
}
.topbar,.game-area,.canvas-board,.message,.hud-panel{
  margin-left:auto!important;
  margin-right:auto!important;
}
.hud-panel.hud-final{
  width:min(620px,100%)!important;
  max-width:620px!important;
  justify-self:center!important;
  transform:none!important;
}
.hud-snake{inset:0!important;overflow:visible!important}
.hud-snake-track{
  stroke:rgba(222,188,116,.18)!important;
  stroke-width:.58!important;
}
.hud-snake-halo,.hud-snake-tail,.hud-snake-line{
  fill:none!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  vector-effect:non-scaling-stroke!important;
  animation:none!important;
}
.hud-snake-halo{
  stroke:#e5bd70!important;
  stroke-width:2.15!important;
  opacity:.12!important;
  filter:url(#hudTraceGlow);
}
.hud-snake-tail{
  stroke:#e0b86a!important;
  stroke-width:1.05!important;
  opacity:.25!important;
}
.hud-snake-line{
  stroke:#f0cf8c!important;
  stroke-width:.62!important;
  opacity:.82!important;
  filter:drop-shadow(0 0 .8px rgba(231,190,108,.28));
}
/* Keep the slow decorative trace alive even when OS Reduce Motion is enabled. */
@media(prefers-reduced-motion:reduce){
  .hud-snake-halo,.hud-snake-tail,.hud-snake-line{animation:none!important}
}
@media(max-width:430px){
  .app-shell{
    padding-left:max(10px,env(safe-area-inset-left))!important;
    padding-right:max(10px,env(safe-area-inset-right))!important;
  }
  .hud-panel.hud-final{width:100%!important}
}


/* V0.7A.10 — one centered coordinate system on Safari, Chrome and desktop. */
:root{
  --vales-shell-max:760px;
  --vales-safe-inline:max(12px, env(safe-area-inset-left), env(safe-area-inset-right));
}
html,body{
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
  min-height:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  -webkit-text-size-adjust:100%!important;
  text-size-adjust:100%!important;
}
body{
  position:relative!important;
  inset:auto!important;
  display:block!important;
}
.home-screen,.app-shell{
  position:absolute!important;
  inset:0!important;
  left:0!important;
  right:0!important;
  top:0!important;
  bottom:0!important;
  width:100%!important;
  max-width:var(--vales-shell-max)!important;
  height:var(--vales-vh,100dvh)!important;
  min-height:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  transform:none!important;
  transform-origin:center!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.home-screen.is-hidden,.app-shell.is-hidden{
  transform:scale(1.012)!important;
}
.home-screen{
  padding-top:max(22px,env(safe-area-inset-top))!important;
  padding-bottom:max(24px,env(safe-area-inset-bottom))!important;
  padding-left:var(--vales-safe-inline)!important;
  padding-right:var(--vales-safe-inline)!important;
}
.app-shell{
  padding-top:max(10px,env(safe-area-inset-top))!important;
  padding-bottom:max(10px,env(safe-area-inset-bottom))!important;
  padding-left:var(--vales-safe-inline)!important;
  padding-right:var(--vales-safe-inline)!important;
}
.topbar,.game-area,.canvas-board,.message,.hud-panel{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
  transform:none!important;
}
.hud-panel.hud-final{
  width:min(620px,100%)!important;
  max-width:620px!important;
  margin-inline:auto!important;
  left:auto!important;
  right:auto!important;
  overflow:hidden!important;
}
.hud-panel.hud-final .hud-snake{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  overflow:visible!important;
  pointer-events:none!important;
}
.hud-snake-track,.hud-snake-halo,.hud-snake-tail,.hud-snake-line{
  fill:none!important;
  vector-effect:non-scaling-stroke!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.hud-snake-track{stroke-width:.55!important}
.hud-snake-halo{stroke-width:1.1!important;opacity:.075!important}
.hud-snake-tail{stroke-width:.68!important;opacity:.18!important}
.hud-snake-line{stroke-width:.42!important;opacity:.72!important}
@media(max-width:430px){
  :root{--vales-safe-inline:max(10px, env(safe-area-inset-left), env(safe-area-inset-right))}
}

/* V0.7A.11 — authoritative responsive shell and HUD.
   This final block intentionally owns all viewport, stage and HUD geometry. */
:root{
  --vales-safe-x:max(14px, env(safe-area-inset-left), env(safe-area-inset-right));
  --vales-safe-top:max(10px, env(safe-area-inset-top));
  --vales-safe-bottom:max(10px, env(safe-area-inset-bottom));
}
html{
  width:100%;
  min-width:0;
  overflow-x:clip;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  width:100%;
  min-width:0;
  max-width:100%;
  margin:0;
  overflow-x:clip;
}
body>*{min-width:0}
.atelier-scene{inset:0;width:100%;max-width:100%;overflow:hidden}
.home-screen,
.app-shell{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:760px!important;
  margin-inline:auto!important;
  left:auto!important;
  right:auto!important;
  transform:none;
  padding-left:var(--vales-safe-x)!important;
  padding-right:var(--vales-safe-x)!important;
}
.home-screen{
  min-height:100svh;
  padding-top:calc(24px + env(safe-area-inset-top))!important;
  padding-bottom:calc(24px + env(safe-area-inset-bottom))!important;
}
.app-shell{
  height:100svh!important;
  min-height:0!important;
  padding-top:var(--vales-safe-top)!important;
  padding-bottom:var(--vales-safe-bottom)!important;
  overflow:hidden!important;
}
.topbar,.game-area,.canvas-board,.message,.hud-panel{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
}
.topbar{grid-template-columns:46px minmax(0,1fr) 46px!important}
.level-title{min-width:0}
.game-area{overflow:hidden!important}
.canvas-board{overflow:hidden!important}
#gameCanvas{display:block!important;width:100%!important;max-width:100%!important;height:100%!important}

.hud-panel.hud-final{
  --hud-radius:22px;
  position:relative!important;
  isolation:isolate!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:0!important;
  width:100%!important;
  max-width:620px!important;
  min-width:0!important;
  min-height:82px!important;
  margin:4px auto 0!important;
  padding:6px!important;
  overflow:visible!important;
  border:0!important;
  border-radius:var(--hud-radius)!important;
  background:linear-gradient(180deg,rgba(255,249,232,.045),rgba(255,249,232,.012)),rgba(25,17,11,.62)!important;
  box-shadow:0 14px 34px rgba(7,4,2,.24),inset 0 1px 0 rgba(255,255,255,.035)!important;
  backdrop-filter:blur(17px) saturate(1.03)!important;
  -webkit-backdrop-filter:blur(17px) saturate(1.03)!important;
}
.hud-panel.hud-final::before,.hud-panel.hud-final::after{content:none!important;display:none!important}
.hud-panel.hud-final{isolation:isolate!important}
.hud-panel.hud-final .hud-snake{filter:none!important}
.hud-panel.hud-final .hud-snake{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  z-index:5!important;
  pointer-events:none!important;
  overflow:visible!important;
}
.hud-panel.hud-final .hud-snake rect{
  fill:none!important;
  vector-effect:non-scaling-stroke!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.hud-snake-track{stroke:rgba(216,173,92,.15)!important;stroke-width:1!important}
.hud-snake-halo{stroke:rgba(226,180,90,.16)!important;stroke-width:1.15!important;filter:url(#hudTraceGlow)!important}
.hud-snake-tail{stroke:rgba(236,195,115,.30)!important;stroke-width:.62!important}
.hud-snake-line{stroke:rgba(255,224,158,.82)!important;stroke-width:.42!important}

.hud-panel.hud-final>button.hud-cell,
.hud-panel.hud-final>.hud-status.hud-cell{
  all:unset!important;
  box-sizing:border-box!important;
  position:relative!important;
  z-index:2!important;
  min-width:0!important;
  min-height:70px!important;
  padding:4px 2px!important;
  display:grid!important;
  grid-template-rows:20px 12px 27px 10px!important;
  align-content:center!important;
  justify-items:center!important;
  align-items:center!important;
  gap:2px!important;
  color:#fff7e8!important;
  font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Arial,sans-serif!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:none!important;
  overflow:visible!important;
  -webkit-appearance:none!important;
  appearance:none!important;
  -webkit-tap-highlight-color:transparent!important;
  touch-action:manipulation!important;
}
.hud-panel.hud-final>.hud-cell+.hud-cell{border-left:1px solid rgba(236,204,146,.10)!important}
.hud-panel.hud-final>button.hud-cell::before,
.hud-panel.hud-final>button.hud-cell::after,
.hud-panel.hud-final>.hud-status.hud-cell::before,
.hud-panel.hud-final>.hud-status.hud-cell::after{content:none!important;display:none!important}
.hud-panel.hud-final .control-icon{grid-row:1!important;width:19px!important;height:19px!important;color:#d8ad5c!important;stroke-width:1.45!important}
.hud-panel.hud-final .hud-label{grid-row:2!important;margin:0!important;font:670 .47rem/12px ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Arial,sans-serif!important;letter-spacing:.13em!important;text-transform:uppercase!important;color:rgba(255,247,232,.58)!important;white-space:nowrap!important}
.hud-panel.hud-final .hud-metric{grid-row:3!important;margin:0!important;width:100%!important;height:27px!important;display:flex!important;align-items:center!important;justify-content:center!important;font:760 clamp(1.28rem,5vw,1.48rem)/27px ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,Arial,sans-serif!important;letter-spacing:-.035em!important;color:#fff7e8!important;font-variant-numeric:tabular-nums!important}
.hud-panel.hud-final .hud-symbol{font-size:.88rem!important;font-weight:500!important;color:rgba(255,247,232,.25)!important}
.hud-panel.hud-final .hud-meta{grid-row:4!important;min-height:10px!important;margin:0!important;font:580 .41rem/10px ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Arial,sans-serif!important;letter-spacing:.075em!important;text-transform:uppercase!important;color:rgba(255,247,232,.40)!important;white-space:nowrap!important}
.hud-panel.hud-final .hud-meta b{font-weight:740!important;color:rgba(255,247,232,.72)!important}
.hud-panel.hud-final .hud-next{display:none!important}

.hud-panel.hud-final>button.hud-static-action{
  grid-template-rows:28px 14px!important;
  align-content:center!important;
  gap:7px!important;
}
.hud-panel.hud-final>button.hud-static-action .control-icon{
  grid-row:1!important;
  width:23px!important;
  height:23px!important;
}
.hud-panel.hud-final>button.hud-static-action .hud-label{
  grid-row:2!important;
  font-size:.50rem!important;
  line-height:14px!important;
  color:rgba(255,247,232,.68)!important;
}

@media(max-width:430px){
  :root{--vales-safe-x:max(12px, env(safe-area-inset-left), env(safe-area-inset-right))}
  .app-shell{padding-top:max(8px,env(safe-area-inset-top))!important}
  .hud-panel.hud-final{--hud-radius:20px;min-height:78px!important;padding:5px!important}
  .hud-panel.hud-final>button.hud-cell,.hud-panel.hud-final>.hud-status.hud-cell{min-height:66px!important;grid-template-rows:19px 11px 26px 9px!important}
  .hud-panel.hud-final .control-icon{width:18px!important;height:18px!important}
  .hud-panel.hud-final>button.hud-static-action{grid-template-rows:24px 13px!important;gap:5px!important}
  .hud-panel.hud-final>button.hud-static-action .control-icon{width:21px!important;height:21px!important}
}
@media(orientation:landscape) and (max-height:520px){
  .hud-panel.hud-final{--hud-radius:18px;min-height:68px!important;padding:4px!important}
  .hud-panel.hud-final>button.hud-cell,.hud-panel.hud-final>.hud-status.hud-cell{min-height:58px!important;grid-template-rows:17px 10px 22px 8px!important}
  .hud-panel.hud-final .control-icon{width:16px!important;height:16px!important}
  .hud-panel.hud-final .hud-metric{height:22px!important;line-height:22px!important;font-size:1.16rem!important}
  .hud-panel.hud-final>button.hud-static-action{grid-template-rows:21px 12px!important;gap:4px!important}
  .hud-panel.hud-final>button.hud-static-action .control-icon{width:18px!important;height:18px!important}
}

/* V0.9.7 — Identity */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* One centered coordinate system for every modal. */
.modal{left:0!important;right:0!important;width:100%!important;max-width:none!important;padding-left:max(18px,env(safe-area-inset-left))!important;padding-right:max(18px,env(safe-area-inset-right))!important;justify-items:center!important;overflow-x:hidden!important}
.modal-card{margin-inline:auto!important;min-width:0!important;transform:none!important}.journey-card{width:min(100%,620px)!important;max-width:620px!important}

/* Heirloom rank plaque. */
.garden-rank-banner{width:min(92vw,430px);min-height:94px;margin:-20px auto 22px;padding:12px 15px;display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;align-items:center;position:relative;isolation:isolate;border-radius:24px;background:radial-gradient(circle at 10% 42%,rgba(108,132,83,.26),transparent 33%),linear-gradient(145deg,rgba(62,72,49,.92),rgba(46,33,21,.97) 48%,rgba(25,18,12,.99));box-shadow:0 18px 48px rgba(13,7,3,.34),inset 0 1px rgba(255,247,221,.13),inset 0 0 34px rgba(218,186,113,.035);border:1px solid rgba(231,193,111,.34);overflow:visible;backdrop-filter:blur(16px) saturate(1.08);-webkit-backdrop-filter:blur(16px) saturate(1.08)}
.garden-rank-banner:before{content:'';position:absolute;inset:1px;border-radius:23px;pointer-events:none;background:radial-gradient(ellipse at 24% 18%,rgba(245,219,156,.10),transparent 38%),linear-gradient(105deg,transparent 0 32%,rgba(255,235,181,.035) 44%,transparent 58%);opacity:.9}

.rank-main{min-width:0;position:relative;z-index:2}.rank-line,.rank-next{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.rank-line>span{font-size:.55rem;letter-spacing:.19em;text-transform:uppercase;color:#d8b978}.rank-line strong{font-family:Georgia,serif;font-size:.92rem;font-weight:400;color:#f2deb4}.rank-count{display:flex;align-items:center;gap:7px;margin:2px 0 3px}.rank-count svg{width:21px;height:21px;color:#e9c56c;filter:drop-shadow(0 0 7px rgba(232,190,96,.32))}.rank-count b{font-family:Georgia,serif;font-size:1.7rem;line-height:1;font-weight:400;color:#f4ddb0}
.rank-track{height:6px;border-radius:99px;background:rgba(0,0,0,.27);box-shadow:inset 0 1px 2px rgba(0,0,0,.42);overflow:hidden}.rank-track i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#78935f,#d9b65e 72%,#f7dfa0);box-shadow:0 0 12px rgba(231,188,92,.38);transition:width .7s cubic-bezier(.2,.8,.2,1)}.rank-next{margin-top:5px;font-size:.56rem;color:rgba(238,220,183,.65)}.rank-next b{color:#eac976}.rank-main>small{display:block;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.51rem;color:rgba(228,209,171,.42)}

/* Evolving badge family: same leaf, richer craftsmanship at every rank. */
.rank-medallion{width:68px;height:72px;position:relative;display:grid;place-items:center;z-index:3;filter:drop-shadow(0 10px 16px rgba(0,0,0,.32));transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .6s ease}
.rank-badge-aura,.rank-badge-crown,.rank-badge-core,.rank-badge-vine{position:absolute;display:block}.rank-badge-aura{inset:2px;border-radius:50%;background:radial-gradient(circle,rgba(232,193,105,.14),transparent 68%);animation:badgeBreathe 4.8s ease-in-out infinite}.rank-badge-core{width:55px;height:62px;display:grid;place-items:center;clip-path:polygon(50% 0,92% 22%,92% 72%,50% 100%,8% 72%,8% 22%);background:linear-gradient(155deg,#d8b15a,#7b5d2c 54%,#e3bd68);box-shadow:inset 0 1px rgba(255,255,255,.26)}.rank-badge-core:after{content:'';position:absolute;inset:4px;clip-path:inherit;background:linear-gradient(155deg,#30452e,#172419 72%);box-shadow:inset 0 1px rgba(255,255,255,.12)}.rank-badge-core svg{position:relative;z-index:2;width:27px;height:27px;color:#e9c96f;filter:drop-shadow(0 0 7px rgba(232,191,94,.48));animation:badgeLeafPulse 3.8s ease-in-out infinite}.rank-badge-crown,.rank-badge-vine{opacity:0;transform:scale(.65);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.8,.2,1)}
.rank-tier-2 .rank-badge-core{width:58px;height:65px}.rank-tier-2 .rank-badge-aura{box-shadow:0 0 0 1px rgba(199,207,177,.22)}
.rank-tier-3{transform:scale(1.04)}.rank-tier-3 .rank-badge-vine{opacity:.78;transform:scale(1)}.rank-tier-3 .vine-a{width:14px;height:34px;left:0;top:19px;border-left:2px solid #81956d;border-radius:50%;transform:rotate(-24deg)}.rank-tier-3 .vine-b{width:14px;height:34px;right:0;top:19px;border-right:2px solid #81956d;border-radius:50%;transform:rotate(24deg)}
.rank-tier-4{transform:scale(1.07)}.rank-tier-4 .rank-badge-vine{opacity:1;transform:scale(1)}.rank-tier-4 .vine-a,.rank-tier-4 .vine-b{width:17px;height:42px;top:14px;border-radius:50%}.rank-tier-4 .vine-a{left:-2px;border-left:3px double #b7a366;transform:rotate(-26deg)}.rank-tier-4 .vine-b{right:-2px;border-right:3px double #b7a366;transform:rotate(26deg)}
.rank-tier-5{transform:scale(1.10);filter:drop-shadow(0 10px 18px rgba(0,0,0,.34)) drop-shadow(0 0 10px rgba(222,182,90,.22))}.rank-tier-5 .rank-badge-crown{opacity:1;transform:scale(1);width:34px;height:12px;top:-2px;border-top:3px solid #e2bd67;border-radius:50%}.rank-tier-5 .rank-badge-vine{opacity:1;transform:scale(1)}
.rank-tier-6{transform:scale(1.13);filter:drop-shadow(0 10px 18px rgba(0,0,0,.34)) drop-shadow(0 0 16px rgba(236,196,100,.34))}.rank-tier-6 .rank-badge-crown{opacity:1;transform:scale(1);width:42px;height:16px;top:-5px;border-top:4px double #f0cf7d;border-radius:50%}.rank-tier-6 .rank-badge-vine{opacity:1;transform:scale(1)}.rank-tier-6 .rank-badge-core{background:linear-gradient(155deg,#f0d17e,#9b7333 52%,#f5dc94)}
@keyframes badgeBreathe{0%,100%{transform:scale(.96);opacity:.55}50%{transform:scale(1.08);opacity:.9}}@keyframes badgeLeafPulse{0%,100%{transform:scale(.96);filter:drop-shadow(0 0 5px rgba(232,191,94,.34))}50%{transform:scale(1.06);filter:drop-shadow(0 0 11px rgba(238,201,111,.72))}}

.level-mastery{margin-top:4px;display:grid;grid-template-columns:auto auto;justify-content:center;align-items:center;column-gap:6px;row-gap:1px}.mastery-leaves{display:flex;gap:2px}.mastery-leaf{width:13px;height:13px;opacity:.18;filter:grayscale(1);transition:transform .4s cubic-bezier(.17,.89,.32,1.3),opacity .3s,filter .3s}.mastery-leaf.earned{opacity:1;filter:drop-shadow(0 0 4px rgba(232,190,96,.42));animation:masteryLeafWake .55s cubic-bezier(.17,.89,.32,1.3)}.level-mastery strong{font-size:.64rem;color:#e5c77e;font-variant-numeric:tabular-nums}.level-mastery small{grid-column:1/3;color:rgba(239,222,187,.5);font-size:.54rem;letter-spacing:.05em}@keyframes masteryLeafWake{0%{transform:scale(.45) rotate(-16deg)}65%{transform:scale(1.2) rotate(5deg)}100%{transform:none}}

.world-rank-strip{margin:10px 0 15px;padding:11px 14px;display:grid;grid-template-columns:68px minmax(0,1fr) auto;gap:0 12px;align-items:center;border-radius:15px;background:linear-gradient(135deg,rgba(78,99,63,.18),rgba(31,22,15,.34));border:1px solid rgba(224,188,111,.15)}
.world-rank-strip>.rank-medallion{grid-row:1;width:60px;height:64px;justify-self:center;transform:scale(.88)}
.world-rank-copy{min-width:0}.world-rank-copy>span{display:block;color:#d8b979;font-size:.52rem;letter-spacing:.15em;text-transform:uppercase}.world-rank-copy>strong{display:block;font-family:Georgia,serif;font-size:.94rem;font-weight:400;color:#f0d8a7;margin-top:2px}
.world-rank-count{display:flex!important;align-items:center;gap:5px;font-family:Georgia,serif;font-size:.86rem;font-weight:400;color:#e8c778;white-space:nowrap}.world-rank-count svg{width:15px;height:15px;color:#e8c46b}

/* Level state language: tile color = progression; leaves = mastery. */
.level-grid{align-items:stretch}.level-node{isolation:isolate;overflow:hidden;display:grid!important;grid-template-rows:1fr auto!important;align-items:center!important;justify-items:center!important;padding:13px 5px 9px!important;border-radius:15px!important;background:linear-gradient(160deg,rgba(31,23,17,.94),rgba(18,13,10,.98))!important;border:1px solid rgba(230,199,139,.10)!important;box-shadow:inset 0 1px rgba(255,255,255,.025),0 8px 18px rgba(0,0,0,.18)!important;color:rgba(239,223,188,.34)!important}.level-node strong{align-self:center;font-size:1.22rem!important;line-height:1!important}.level-node .node-leaves{align-self:end;display:flex;gap:3px;height:14px;margin:0!important}.node-leaf{display:grid!important;place-items:center;width:12px;height:12px;color:rgba(225,204,158,.10)!important;opacity:.72}.node-leaf svg{width:100%;height:100%}.node-leaf.earned{color:#e6bd63!important;opacity:1;filter:drop-shadow(0 0 4px rgba(231,186,91,.3))}
.level-node.completed{color:#f3e1b8!important;background:linear-gradient(160deg,rgba(82,108,67,.90),rgba(38,61,35,.97))!important;border-color:rgba(202,175,105,.38)!important;box-shadow:inset 0 1px rgba(255,255,255,.08),0 8px 18px rgba(0,0,0,.18)!important}.level-node.completed:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(18deg,rgba(255,255,255,.015) 0 1px,transparent 1px 5px),radial-gradient(circle at 32% 18%,rgba(255,255,255,.07),transparent 44%);mix-blend-mode:screen;opacity:.58;pointer-events:none}.level-node.completed.leaf-3 strong:after{content:'✦';position:absolute;right:7px;top:5px;color:#efc96e;font-size:.52rem;animation:masteredSpark 8.5s ease-in-out infinite}
.level-node.current{color:#f3dfb5!important;border-color:transparent!important;background:linear-gradient(160deg,#5a3e24,#2a1b11)!important;--tile-angle:0deg;animation:currentTileBreath 4.8s ease-in-out infinite}.level-node.current:before{content:'';position:absolute;inset:-2px;border-radius:17px;padding:1.5px;background:conic-gradient(from var(--tile-angle),transparent 0 64%,rgba(241,204,119,.18) 72%,#efc873 78%,rgba(241,204,119,.18) 84%,transparent 92%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:tileGoldTravel 9s linear infinite;z-index:-1}.level-node.current:after{content:'✦';position:absolute;left:9px;top:7px;color:#f2ce75;font-size:.46rem;animation:currentSpark 7.5s ease-in-out infinite}.level-node.future{opacity:.30;filter:saturate(.25) brightness(.67);background:linear-gradient(160deg,rgba(27,21,17,.90),rgba(14,11,9,.98))!important}.level-node.entwined-level .node-leaves:before{content:'';position:absolute;left:7px;top:7px;width:8px;height:8px;border-radius:70% 30% 70% 30%;background:#789061;transform:rotate(-35deg);box-shadow:0 0 6px rgba(124,150,96,.35)}
@property --tile-angle{syntax:'<angle>';inherits:false;initial-value:0deg}@keyframes tileGoldTravel{to{--tile-angle:360deg}}@keyframes currentTileBreath{50%{box-shadow:inset 0 1px rgba(255,255,255,.08),0 0 20px rgba(227,185,96,.13)!important}}@keyframes masteredSpark{0%,90%,100%{opacity:0;transform:scale(.72)}94%{opacity:1;transform:scale(1.16)}}@keyframes currentSpark{0%,76%,100%{opacity:0;transform:translate(0,4px) scale(.7)}82%{opacity:1}91%{opacity:0;transform:translate(38px,-9px) scale(1.2)}}

/* Completion hierarchy preserved; organic leaf reveal retained from V0.9.6. */
.premium-win{width:min(100%,440px)!important;padding:28px 30px 30px!important}.premium-win .win-orb{width:62px;height:62px;border-radius:20px;background:linear-gradient(145deg,#f0cf84,#aa7137);box-shadow:0 10px 28px rgba(0,0,0,.25),0 0 28px rgba(237,190,94,.22)}.premium-win h2{font-size:2.35rem!important;margin-top:14px!important}.premium-win #winSummary{margin:14px 0 3px;font-size:1rem;color:rgba(248,230,192,.86)}.win-leaves{display:flex;justify-content:center;gap:20px;margin:17px 0 9px;min-height:58px;isolation:isolate}.award-leaf{position:relative;display:inline-grid;place-items:center;width:52px;height:52px;opacity:0;visibility:hidden;filter:none;transform:translate3d(0,13px,0) rotate(-11deg) scale(.32);will-change:transform,opacity;isolation:isolate}.award-leaf:before{content:'';position:absolute;z-index:-1;inset:-18px;border-radius:50%;pointer-events:none;opacity:0;transform:translateZ(0) scale(.58);background:radial-gradient(circle,rgba(255,222,133,.55) 0%,rgba(238,188,78,.26) 34%,rgba(238,188,78,.08) 56%,transparent 74%);filter:blur(10px);will-change:transform,opacity}.award-leaf svg{position:relative;z-index:1;width:50px;height:50px;display:block;filter:none}.award-leaf.earned{visibility:visible;animation:awardRealLeafBloom .82s cubic-bezier(.17,.89,.32,1.35) var(--leaf-delay) both}.award-leaf.earned:before{animation:awardLeafSoftGlow 1.08s ease-out var(--leaf-delay) both}.award-leaf.new:after{content:'';position:absolute;z-index:0;width:44px;height:44px;border-radius:50%;border:1px solid rgba(242,206,121,.55);opacity:0;transform:translateZ(0) scale(.3);animation:leafRing 1.1s ease-out var(--leaf-delay) both}.win-leaf-headline{margin:7px 0 8px;color:#f1d48a;font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.win-leaf-detail{min-height:25px;margin:0 auto 15px;max-width:340px;color:rgba(249,232,195,.72);font-size:.72rem;line-height:1.45}.win-rank-panel{margin:3px auto 18px;padding:12px 14px;border-radius:16px;text-align:left;background:linear-gradient(135deg,rgba(86,104,68,.22),rgba(27,19,13,.38));border:1px solid rgba(226,190,108,.18)}.win-rank-row{display:grid;grid-template-columns:1fr auto;align-items:end;gap:1px 10px}.win-rank-row>span{font-size:.53rem;letter-spacing:.16em;text-transform:uppercase;color:#d8b979}.win-rank-row strong{grid-column:1;font-family:Georgia,serif;font-weight:400;color:#f1d9a7}.win-rank-row b{grid-column:2;grid-row:1/3;font-family:Georgia,serif;font-size:1rem;font-weight:400;color:#e9c870}.win-rank-count{display:flex;align-items:center;gap:5px}.win-rank-count svg{width:16px;height:16px;color:#e8c46b}.win-rank-track{height:5px;margin:8px 0 5px;border-radius:99px;background:rgba(0,0,0,.25);overflow:hidden}.win-rank-track i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#7f9b65,#f1c76b);box-shadow:0 0 10px rgba(234,191,94,.4);transition:width 1s cubic-bezier(.2,.8,.2,1)}.win-rank-panel small{font-size:.56rem;color:rgba(237,219,180,.5)}.win-continue{opacity:.45;transform:translateY(5px);transition:opacity .45s ease,transform .45s cubic-bezier(.2,.8,.2,1),filter .22s!important}.win-continue.is-ready{opacity:1;transform:none}
@keyframes awardRealLeafBloom{0%{opacity:0;transform:translate3d(0,13px,0) rotate(-11deg) scale(.32)}48%{opacity:1;transform:translate3d(0,-4px,0) rotate(4deg) scale(1.14)}76%{opacity:1;transform:translate3d(0,1px,0) rotate(-1deg) scale(.97)}100%{opacity:1;transform:translate3d(0,0,0) rotate(0) scale(1)}}@keyframes awardLeafSoftGlow{0%{opacity:0;transform:translateZ(0) scale(.58)}28%{opacity:.18}52%{opacity:.92;transform:translateZ(0) scale(1.08)}100%{opacity:.38;transform:translateZ(0) scale(.92)}}@keyframes leafRing{0%{opacity:0;transform:translateZ(0) scale(.3)}35%{opacity:.8}100%{opacity:0;transform:translateZ(0) scale(1.8)}}
.leaf-pulse{animation:leafCollectionPulse .9s cubic-bezier(.17,.89,.32,1.28)}@keyframes leafCollectionPulse{0%,100%{transform:scale(1);filter:none}35%{transform:scale(1.045);filter:drop-shadow(0 0 13px rgba(239,193,93,.5))}}.flying-golden-leaf{position:fixed;z-index:9999;pointer-events:none;width:24px;height:24px;transform:translate(-50%,-50%);animation:flyGoldenLeaf .95s cubic-bezier(.2,.72,.2,1) forwards}.flying-golden-leaf svg{width:24px;height:24px;display:block;filter:drop-shadow(0 0 9px rgba(241,197,91,.85))}@keyframes flyGoldenLeaf{0%{opacity:0;transform:translate(-50%,-50%) rotate(-20deg) scale(.45)}18%{opacity:1}55%{transform:translate(calc(-50% + var(--fly-x)*.55),calc(-50% + var(--fly-y)*.35 - 36px)) rotate(170deg) scale(1.12)}100%{opacity:0;transform:translate(calc(-50% + var(--fly-x)),calc(-50% + var(--fly-y))) rotate(340deg) scale(.42)}}

@media(max-width:620px){.garden-rank-banner{margin-top:-12px;margin-bottom:17px;grid-template-columns:64px minmax(0,1fr);padding:10px 12px;min-height:84px}.rank-medallion{width:60px;height:64px}.rank-badge-core{width:50px;height:57px}.rank-badge-core svg{width:24px;height:24px}.rank-count b{font-size:1.45rem}.rank-main>small{display:none}.journey-card{padding:24px 16px!important}.world-rank-strip{padding:9px 11px}.premium-win{padding:25px 22px 26px!important}.premium-win h2{font-size:2rem!important}.win-leaves{gap:13px}.award-leaf{width:45px;height:45px}.award-leaf svg{width:43px;height:43px}}
@media(prefers-reduced-motion:reduce){.level-node.current:before,.level-node.current,.award-leaf.earned,.leaf-pulse,.flying-golden-leaf,.rank-badge-aura,.rank-badge-core svg,.mastery-leaf.earned{animation-duration:.01ms!important}}

html,body,button,a,[role="button"],canvas{-webkit-tap-highlight-color:transparent;tap-highlight-color:transparent;}
button,a,canvas,.hud-action,.level-node{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;}
button:focus{outline:none}
button:focus-visible{outline:2px solid rgba(231,191,103,.65);outline-offset:3px;}

/* V0.9.8 — one shared rank badge component and one plaque boundary. */


/* V1.1 — Mobile UX Overhaul */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;width:100%;overflow-x:hidden}
body{width:100%;max-width:100%;overflow-x:hidden;touch-action:manipulation}
button,a,[role="button"]{touch-action:manipulation}
.mobile-home-v11{position:relative;min-height:100svh!important;height:100svh;justify-content:flex-start!important;align-items:center!important;padding:calc(env(safe-area-inset-top) + 18px) max(18px,env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + 82px) max(18px,env(safe-area-inset-left))!important;overflow:hidden!important}
.home-resource-bar{width:min(100%,430px);display:flex;justify-content:flex-end;gap:8px;position:relative;z-index:8;margin:0 auto}
.wallet-chip{height:36px;min-width:64px;padding:0 11px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(227,190,112,.27);border-radius:999px;background:rgba(29,21,15,.78);box-shadow:0 8px 22px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.06);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.wallet-chip svg{width:20px;height:20px;color:#e8c368}.wallet-chip b{font-family:Georgia,serif;font-size:1rem;font-weight:400;color:#f2dcae;font-variant-numeric:tabular-nums}.coin-wallet svg{color:#ddb257}
.home-rank-crest{width:min(82vw,330px);display:grid;grid-template-columns:74px minmax(0,1fr);align-items:center;gap:12px;margin:clamp(18px,4.2vh,40px) auto 0;position:relative;z-index:6;padding:8px 10px 10px;border-radius:22px;background:linear-gradient(145deg,rgba(37,29,21,.72),rgba(24,17,12,.74));border:1px solid rgba(228,190,109,.20);box-shadow:0 16px 40px rgba(12,7,3,.22),inset 0 1px rgba(255,244,212,.07);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.home-rank-crest .rank-medallion{width:68px;height:72px}.home-rank-copy{min-width:0}.home-rank-copy>span{display:block;color:#d8b979;font-size:.54rem;letter-spacing:.18em;text-transform:uppercase}.home-rank-copy>strong{display:block;margin:2px 0 7px;font:400 1.15rem Georgia,serif;color:#f2deb4}.home-rank-copy .rank-track{height:5px}.home-rank-copy .rank-next{font-size:.53rem}
.home-actions-v11{width:min(100%,430px);margin:250px auto 0;position:relative;z-index:7;display:grid;gap:12px}
.continue-card-v11{width:100%;min-height:76px;padding:12px 15px;display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:12px;border:1px solid rgba(226,193,122,.46);border-radius:24px;background:linear-gradient(145deg,rgba(102,128,81,.94),rgba(57,77,48,.95));color:#f7ead0;box-shadow:0 18px 42px rgba(14,8,3,.31),inset 0 1px rgba(255,255,255,.13);text-align:left}
.action-icon{width:45px;height:45px;display:grid;place-items:center;border-radius:16px;background:rgba(21,33,19,.26);border:1px solid rgba(244,218,160,.20)}.action-icon svg{width:22px;height:22px;color:#f1cf7a}.action-copy strong{display:block;font:400 1.23rem Georgia,serif}.action-copy small{display:block;margin-top:3px;font-size:.66rem;color:rgba(249,235,205,.66)}.action-chevron{width:22px;height:22px;color:#edc56c}
.secondary-actions-v11{display:grid;grid-template-columns:1fr 1fr;gap:12px}.visual-action-card{min-height:112px;padding:14px 12px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:22px;border:1px solid rgba(224,189,112,.22);background:linear-gradient(155deg,rgba(47,35,25,.82),rgba(27,19,14,.88));color:#f3dfb7;box-shadow:0 13px 34px rgba(12,7,3,.24),inset 0 1px rgba(255,255,255,.055);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.visual-icon{width:48px;height:48px;display:grid;place-items:center;margin-bottom:7px;border-radius:17px;background:radial-gradient(circle at 35% 25%,rgba(239,207,133,.16),rgba(48,65,39,.34));border:1px solid rgba(226,189,103,.24)}.visual-icon svg{width:28px;height:28px;color:#e3bd63}.visual-action-card strong{font:400 1rem Georgia,serif}.visual-action-card small{margin-top:3px;font-size:.59rem;color:rgba(242,223,185,.50)}
.continue-card-v11:active,.visual-action-card:active{transform:scale(.975);filter:brightness(1.06)}
.floating-settings{position:fixed;z-index:20;right:max(18px,env(safe-area-inset-right));bottom:calc(env(safe-area-inset-bottom) + 20px);width:54px;height:54px;padding:0;display:grid;place-items:center;border:0;border-radius:0;background:transparent;color:#e6c273;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;overflow:visible}.floating-settings svg{width:21px;height:21px}
.home-ambient-leaves{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}.home-ambient-leaves i{position:absolute;left:var(--x);top:-8%;width:12px;height:18px;border-radius:0;clip-path:polygon(50% 0%,82% 10%,100% 38%,90% 72%,62% 96%,34% 100%,10% 80%,0 48%,12% 16%);background:linear-gradient(145deg,#a7bd84 0%,#6f8959 52%,#455f3c 100%);opacity:0;transform-origin:50% 50%;transform:rotate(35deg) scale(var(--scale));animation:homeLeafFall var(--duration) linear var(--delay) infinite;filter:drop-shadow(0 2px 3px rgba(0,0,0,.25))}@keyframes homeLeafFall{0%{opacity:0;transform:translate3d(0,-12vh,0) rotate(20deg) scale(var(--scale))}8%{opacity:.42}75%{opacity:.3}100%{opacity:0;transform:translate3d(var(--drift),112vh,0) rotate(520deg) scale(var(--scale))}}
.cabinet-card{text-align:center}.cabinet-emblem{width:48px;height:48px;color:#deb75f;margin:0 auto 8px}.cabinet-card>p:not(.eyebrow){max-width:360px;margin:12px auto 22px;line-height:1.6;color:rgba(243,227,192,.68)}.cabinet-balance{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 auto 24px;padding:12px 16px;width:max-content;border-radius:999px;background:rgba(20,14,10,.36);border:1px solid rgba(224,184,96,.2)}.cabinet-balance svg{width:24px;height:24px;color:#dfb556}.cabinet-balance b{font:400 1.25rem Georgia,serif;color:#f1d695}.cabinet-balance span{font-size:.72rem;color:rgba(242,225,187,.58)}
.win-coin-award{display:flex;align-items:center;justify-content:center;gap:7px;margin:-2px auto 12px;color:#e8c46d}.win-coin-award svg{width:22px;height:22px}.win-coin-award span{font:400 1rem Georgia,serif}.win-coin-award.hidden{display:none}
@media(max-width:620px){.mobile-home-v11{padding-top:calc(env(safe-area-inset-top) + 14px)!important}.home-rank-crest{margin-top:clamp(14px,3vh,25px);grid-template-columns:64px minmax(0,1fr);width:min(88vw,330px)}.home-rank-crest .rank-medallion{width:60px;height:64px}.home-rank-copy>strong{font-size:1.05rem}.home-actions-v11{width:min(92vw,400px)}.continue-card-v11{min-height:72px}.secondary-actions-v11{gap:10px}.visual-action-card{min-height:104px}.floating-settings{width:44px;height:44px}}
@media(max-height:720px){.home-rank-crest{margin-top:10px;transform:scale(.92)}.home-actions-v11{gap:9px}.continue-card-v11{min-height:66px}.visual-action-card{min-height:92px}.mobile-home-v11{padding-bottom:calc(env(safe-area-inset-bottom) + 68px)!important}}

/* V1.0 — The Living Atelier */
.living-atelier-v1 .atelier-scene:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 74% 22%,rgba(246,213,148,.055),transparent 27%);animation:atelierLightDrift 18s ease-in-out infinite alternate}@keyframes atelierLightDrift{from{transform:translateX(-2%);opacity:.55}to{transform:translateX(3%);opacity:1}}
.living-atelier-v1 .home-rank-crest{animation:identityBreath 7s ease-in-out infinite}@keyframes identityBreath{0%,100%{box-shadow:0 20px 54px rgba(14,8,4,.37),inset 0 1px rgba(255,246,217,.11)}50%{box-shadow:0 22px 60px rgba(14,8,4,.4),0 0 24px rgba(205,173,98,.055),inset 0 1px rgba(255,246,217,.14)}}


/* V1.1.1 Premium Iconography scaffolding */
.icon-3d{
  border-radius:18px;
  background:linear-gradient(145deg,#6b5a3b,#3d2b1d);
  box-shadow:0 6px 18px rgba(0,0,0,.25), inset 0 1px 1px rgba(255,255,255,.08);
}
.wallet-pill{
 backdrop-filter: blur(8px);
}


/* V1.1.2 — Animated Atelier UI: coded living components */
.living-nav .living-svg{display:block;width:100%;height:100%;overflow:visible}
.living-continue{grid-template-columns:92px minmax(0,1fr)!important;position:relative;overflow:hidden;isolation:isolate}
.living-continue:before{content:none!important;display:none!important}
.continue-vine{width:64px;height:64px;display:block;position:relative;z-index:1}
.continue-emblem{filter:drop-shadow(0 8px 10px rgba(0,0,0,.22))}
.continue-leaves{transform-box:fill-box;transform-origin:center;animation:continueLeafSway 3.8s ease-in-out infinite}
.leaf-cluster-b{animation-delay:-1.7s}.continue-play{transform-box:fill-box;transform-origin:center;animation:continuePlayBreath 3s ease-in-out infinite}.continue-glint{stroke-dasharray:18 30;animation:continueGlint 6s linear infinite}
.living-continue:active .continue-emblem{transform:translateY(2px) scale(.95)}
@keyframes continueLeafSway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(5deg)}}
@keyframes continuePlayBreath{0%,100%{transform:scale(.96)}50%{transform:scale(1.05)}}
@keyframes continueGlint{from{stroke-dashoffset:48;opacity:.15}35%{opacity:.8}to{stroke-dashoffset:-48;opacity:.15}}
@keyframes continueSunGlint{0%,70%{transform:translateX(-70%);opacity:0}78%{opacity:1}100%{transform:translateX(70%);opacity:0}}

.living-card{overflow:hidden;position:relative}.living-card:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 22%,rgba(244,215,145,.08),transparent 45%);pointer-events:none}.living-icon-stage{width:104px;height:80px;display:block;margin:0 auto 4px;filter:none}.visual-action-card.living-card{min-height:132px;padding-top:8px}.visual-action-card.living-card strong{font-size:1.04rem}.visual-action-card.living-card small{font-size:.58rem}
.floating-island{transform-origin:60px 62px;animation:islandFloat 5.8s ease-in-out infinite}.world-shadow{animation:worldShadowPulse 5.8s ease-in-out infinite}.tree-crown{transform-box:fill-box;transform-origin:50% 100%;animation:treeSway 4.4s ease-in-out infinite}.world-window{animation:windowWarmth 4.8s ease-in-out infinite}.cloud-one{animation:cloudDriftA 10s ease-in-out infinite}.cloud-two{animation:cloudDriftB 12s ease-in-out infinite}.world-bird{animation:birdPass 11s ease-in-out infinite}
@keyframes islandFloat{0%,100%{transform:translateY(1px) rotate(-.6deg)}50%{transform:translateY(-4px) rotate(.8deg)}}
@keyframes worldShadowPulse{0%,100%{transform:scaleX(.92);opacity:.26}50%{transform:scaleX(1.08);opacity:.36}}
@keyframes treeSway{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(3deg)}}
@keyframes windowWarmth{0%,100%{filter:drop-shadow(0 0 2px rgba(242,207,114,.45));opacity:.72}50%{filter:drop-shadow(0 0 7px rgba(255,217,118,.95));opacity:1}}
@keyframes cloudDriftA{0%,100%{transform:translateX(-3px);opacity:.3}50%{transform:translateX(5px);opacity:.56}}
@keyframes cloudDriftB{0%,100%{transform:translateX(4px);opacity:.24}50%{transform:translateX(-4px);opacity:.46}}
@keyframes birdPass{0%,72%{transform:translateX(12px);opacity:0}78%{opacity:.8}100%{transform:translateX(-34px);opacity:0}}

.cabinet-bottle{animation:bottleHover 5.4s ease-in-out infinite}.cabinet-glow{animation:cabinetGlow 4.2s ease-in-out infinite}.bottle-shine{stroke-dasharray:8 16;animation:bottleShine 4.4s linear infinite}.cabinet-vine{animation:cabinetVineSway 5s ease-in-out infinite;transform-origin:center}.cabinet-card-nav:active .cabinet-bottle{transform:translateY(-2px) scale(1.04)}
@keyframes bottleHover{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.5px)}}
@keyframes cabinetGlow{0%,100%{opacity:.34;transform:scale(.92)}50%{opacity:.72;transform:scale(1.08)}}
@keyframes bottleShine{from{stroke-dashoffset:24}to{stroke-dashoffset:-24}}
@keyframes cabinetVineSway{0%,100%{transform:rotate(-1deg)}50%{transform:rotate(2deg)}}

.living-settings{overflow:visible}.settings-mechanism{width:30px!important;height:30px!important}.settings-gear{transform-origin:32px 32px;animation:settingsGearTurn 18s linear infinite}.settings-leaf{transform-origin:47px 20px;animation:settingsLeafLag 4.6s ease-in-out infinite}.living-settings:active .settings-gear{animation-duration:1s}
@keyframes settingsGearTurn{to{transform:rotate(360deg)}}
@keyframes settingsLeafLag{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(8deg)}}

.wallet-chip{position:relative;overflow:hidden}.wallet-chip:after{content:'';position:absolute;inset:-30% auto -30% -35%;width:34%;background:linear-gradient(90deg,transparent,rgba(255,240,184,.22),transparent);transform:skewX(-18deg);animation:walletGlint 7s ease-in-out infinite}.wallet-chip svg{animation:walletIconWobble 4.6s ease-in-out infinite}.coin-wallet svg{animation-delay:-2.1s}
@keyframes walletGlint{0%,72%{left:-35%;opacity:0}80%{opacity:1}100%{left:125%;opacity:0}}
@keyframes walletIconWobble{0%,100%{transform:rotate(-3deg) scale(.98)}50%{transform:rotate(4deg) scale(1.04)}}

@media(max-width:620px){.living-continue{grid-template-columns:86px minmax(0,1fr)!important}.continue-vine{width:82px;height:96px}.living-icon-stage{width:92px;height:72px}.visual-action-card.living-card{min-height:122px}}
@media(max-height:720px){.visual-action-card.living-card{min-height:105px}.living-icon-stage{width:80px;height:60px}.continue-vine{width:72px;height:84px}.living-continue{grid-template-columns:76px minmax(0,1fr)!important}}
@media(prefers-reduced-motion:reduce){.continue-leaves,.continue-play,.continue-glint,.living-continue:before,.floating-island,.world-shadow,.tree-crown,.world-window,.cloud-one,.cloud-two,.world-bird,.cabinet-bottle,.cabinet-glow,.bottle-shine,.cabinet-vine,.settings-gear,.settings-leaf,.wallet-chip:after,.wallet-chip svg{animation:none!important}}


/* V1.1.3 — Diorama Icon Rebuild */
.diorama-continue,.diorama-world,.diorama-cabinet{overflow:visible}
.continue-medallion{transform-origin:42px 39px;animation:v113MedallionBreathe 5.2s ease-in-out infinite}
.continue-aura{animation:v113ContinueAura 4.2s ease-in-out infinite}
.continue-vine-art{transform-box:fill-box;transform-origin:center bottom}
.vine-left-art{animation:v113VineLeft 4.8s ease-in-out infinite}
.vine-right-art{animation:v113VineRight 5.3s ease-in-out infinite}
.continue-leaf{transform-box:fill-box;transform-origin:50% 90%;animation:v113LeafWhisper 3.6s ease-in-out infinite}
.leaf-a2,.leaf-b2{animation-delay:-1.2s}.leaf-a3,.leaf-b1{animation-delay:-2.1s}
.continue-bud{animation:v113BudGlow 3.8s ease-in-out infinite}
.living-continue:active .continue-medallion{transform:translateY(2px) scale(.94)}
@keyframes v113MedallionBreathe{0%,100%{transform:translateY(0) scale(.99)}50%{transform:translateY(-1px) scale(1.018)}}
@keyframes v113ContinueAura{0%,100%{opacity:.42;transform:scale(.9)}50%{opacity:.82;transform:scale(1.08)}}
@keyframes v113VineLeft{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(3deg)}}
@keyframes v113VineRight{0%,100%{transform:rotate(2deg)}50%{transform:rotate(-3deg)}}
@keyframes v113LeafWhisper{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(6deg)}}
@keyframes v113BudGlow{0%,100%{opacity:.55;filter:drop-shadow(0 0 2px #e3bd62)}50%{opacity:1;filter:drop-shadow(0 0 7px #f3d681)}}

.world-sky-orb{animation:v113SkyBreathe 8s ease-in-out infinite}
.world-butterflies path{transform-box:fill-box;transform-origin:center;animation:v113Butterfly 5.8s ease-in-out infinite}
.world-butterflies .butterfly-b{animation-delay:-2.6s}
.world-window-halo{animation:v113WindowHalo 4.5s ease-in-out infinite}
.diorama-world .floating-island{animation:v113IslandFloat 6.2s ease-in-out infinite}
.diorama-world .tree-crown{animation:v113TreeCanopy 5s ease-in-out infinite}
.diorama-world .world-shadow{transform-origin:70px 101px;animation:v113WorldShadow 6.2s ease-in-out infinite}
@keyframes v113SkyBreathe{0%,100%{opacity:.7;transform:scale(.98)}50%{opacity:.9;transform:scale(1.02)}}
@keyframes v113IslandFloat{0%,100%{transform:translateY(1px) rotate(-.45deg)}50%{transform:translateY(-5px) rotate(.65deg)}}
@keyframes v113TreeCanopy{0%,100%{transform:rotate(-1.5deg)}50%{transform:rotate(2.8deg)}}
@keyframes v113WorldShadow{0%,100%{transform:scaleX(.9);opacity:.31}50%{transform:scaleX(1.08);opacity:.43}}
@keyframes v113Butterfly{0%,65%,100%{opacity:.2;transform:translate(0,0) rotate(-7deg) scale(.88)}75%{opacity:1;transform:translate(4px,-5px) rotate(8deg) scale(1.06)}88%{opacity:.7;transform:translate(-3px,-10px) rotate(-4deg) scale(.96)}}
@keyframes v113WindowHalo{0%,100%{opacity:.08;transform:scale(.85)}50%{opacity:.35;transform:scale(1.15)}}

.cabinet-body{transform-origin:62px 95px;animation:v113CabinetBreathe 7s ease-in-out infinite}
.cabinet-interior{animation:v113CabinetWarmth 5.2s ease-in-out infinite}
.cabinet-spark{animation:v113CabinetSpark 4.6s ease-in-out infinite}
.cabinet-leaf{transform-box:fill-box;transform-origin:50% 100%;animation:v113CabLeaf 4.5s ease-in-out infinite}
.cab-leaf-b{animation-delay:-2.1s}
.diorama-cabinet .cabinet-bottle{animation:v113BottleHover 5.4s ease-in-out infinite}
.diorama-cabinet .cabinet-glow{animation:v113CabGlow 4.4s ease-in-out infinite}
@keyframes v113CabinetBreathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-1px)}}
@keyframes v113CabinetWarmth{0%,100%{filter:brightness(.92)}50%{filter:brightness(1.08)}}
@keyframes v113CabinetSpark{0%,72%,100%{opacity:0;transform:scale(.4)}80%{opacity:1;transform:scale(1.35)}88%{opacity:.5;transform:scale(.8)}}
@keyframes v113CabLeaf{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(7deg)}}
@keyframes v113BottleHover{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes v113CabGlow{0%,100%{opacity:.28;transform:scale(.88)}50%{opacity:.78;transform:scale(1.1)}}

.living-icon-stage{width:116px;height:88px}
.visual-action-card.living-card{min-height:142px}
@media(max-width:620px){.living-icon-stage{width:104px;height:82px}.visual-action-card.living-card{min-height:132px}}
@media(max-height:720px){.living-icon-stage{width:88px;height:68px}.visual-action-card.living-card{min-height:112px}}
@media(prefers-reduced-motion:reduce){
  .continue-medallion,.continue-aura,.continue-vine-art,.continue-leaf,.continue-bud,
  .world-sky-orb,.world-butterflies path,.world-window-halo,.diorama-world .floating-island,
  .diorama-world .tree-crown,.diorama-world .world-shadow,.cabinet-body,.cabinet-interior,
  .cabinet-spark,.cabinet-leaf,.diorama-cabinet .cabinet-bottle,.diorama-cabinet .cabinet-glow{animation:none!important}
}


/* V1.2 — Living Dioramas */
.world-life-layer,.cabinet-life-layer,.continue-pollen{pointer-events:none}
.chimney-smoke{transform-origin:78px 30px;animation:v12Smoke 7s ease-in-out infinite}
.world-fence{opacity:.78}.world-stones{animation:v12StoneGlint 8s ease-in-out infinite}.world-grass path{transform-box:fill-box;transform-origin:50% 100%;animation:v12GrassSway 4.2s ease-in-out infinite}.world-grass path:nth-child(even){animation-delay:-2s}
.world-fireflies circle{animation:v12Firefly 5.6s ease-in-out infinite}.world-fireflies circle:nth-child(2){animation-delay:-2.1s}.world-fireflies circle:nth-child(3){animation-delay:-3.7s}
@keyframes v12Smoke{0%{transform:translate(0,3px) scale(.8);opacity:0}15%{opacity:.38}55%{transform:translate(5px,-8px) scale(1.05);opacity:.28}100%{transform:translate(11px,-18px) scale(1.28);opacity:0}}
@keyframes v12GrassSway{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(7deg)}}
@keyframes v12Firefly{0%,100%{opacity:.1;filter:drop-shadow(0 0 0 #ffe58e)}45%{opacity:1;filter:drop-shadow(0 0 5px #ffe58e)}70%{opacity:.22}}
@keyframes v12StoneGlint{0%,82%,100%{filter:none}88%{filter:brightness(1.3)}}
.cabinet-bubbles circle{transform-box:fill-box;transform-origin:center;animation:v12Bubble 3.8s ease-in-out infinite}.cabinet-bubbles circle:nth-child(2){animation-delay:-1.2s}.cabinet-bubbles circle:nth-child(3){animation-delay:-2.4s}
.cabinet-dust{stroke-dasharray:8 18;animation:v12CabDust 7.5s linear infinite}.cabinet-motes circle{animation:v12Mote 5s ease-in-out infinite}.cabinet-motes circle:nth-child(2){animation-delay:-1.8s}.cabinet-motes circle:nth-child(3){animation-delay:-3.1s}
.cabinet-body{transition:transform .35s cubic-bezier(.2,.8,.2,1)}.cabinet-card-nav:active .cabinet-body{transform:translateY(1px) scale(.985)}
@keyframes v12Bubble{0%{transform:translateY(6px) scale(.7);opacity:0}30%{opacity:.8}100%{transform:translateY(-12px) scale(1.1);opacity:0}}
@keyframes v12CabDust{from{stroke-dashoffset:26}to{stroke-dashoffset:-26}}
@keyframes v12Mote{0%,100%{opacity:.08;transform:translateY(0)}50%{opacity:.7;transform:translateY(-4px)}}
.continue-pollen circle{animation:v12Pollen 6.2s ease-in-out infinite}.continue-pollen circle:nth-child(2){animation-delay:-2.2s}.continue-pollen circle:nth-child(3){animation-delay:-4s}
@keyframes v12Pollen{0%,100%{opacity:.05;transform:translate(0,0) scale(.7)}40%{opacity:.8;transform:translate(3px,-5px) scale(1)}70%{opacity:.25;transform:translate(-2px,-9px) scale(.85)}}
.worlds-card,.cabinet-card-nav{transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,filter .28s ease}
.worlds-card:active,.cabinet-card-nav:active{transform:translateY(2px) scale(.985);filter:brightness(1.05)}
.worlds-card::after,.cabinet-card-nav::after{content:none!important;display:none!important}
@media(prefers-reduced-motion:reduce){.chimney-smoke,.world-stones,.world-grass path,.world-fireflies circle,.cabinet-bubbles circle,.cabinet-dust,.cabinet-motes circle,.continue-pollen circle{animation:none!important}}


/* V1.3 — Handcrafted Atelier */
.handcrafted-continue,.handcrafted-world,.handcrafted-cabinet{overflow:visible}
.handcrafted-continue .handcrafted-wood{transform-origin:46px 44px;animation:v13WoodIdle 5.6s ease-in-out infinite}
.handcrafted-continue .continue-vines-left{transform-origin:17px 68px;animation:v13VineLeft 4.7s ease-in-out infinite}
.handcrafted-continue .continue-vines-right{transform-origin:74px 39px;animation:v13VineRight 5.1s ease-in-out infinite}
.handcrafted-continue .hc-leaf{transform-box:fill-box;transform-origin:50% 100%;animation:v13Leaf 3.8s ease-in-out infinite}
.handcrafted-continue .l2,.handcrafted-continue .r2{animation-delay:-1.4s}
.handcrafted-continue .l3,.handcrafted-continue .r1{animation-delay:-2.3s}
@keyframes v13WoodIdle{0%,100%{transform:translateY(0) rotate(-.25deg)}50%{transform:translateY(-1px) rotate(.3deg)}}
@keyframes v13VineLeft{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(3.5deg)}}
@keyframes v13VineRight{0%,100%{transform:rotate(2deg)}50%{transform:rotate(-3deg)}}
@keyframes v13Leaf{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(7deg)}}

.handcrafted-world .floating-island{animation:v13WorldFloat 6.4s ease-in-out infinite;transform-origin:78px 88px}
.handcrafted-world .tree-crown{animation:v13Canopy 5.2s ease-in-out infinite;transform-origin:116px 58px}
.handcrafted-world .atelier-house{animation:v13HouseBreathe 8s ease-in-out infinite;transform-origin:77px 88px}
.handcrafted-world .world-shadow{animation:v13WorldShadow 6.4s ease-in-out infinite;transform-origin:78px 110px}
.handcrafted-world .chimney-smoke{animation:v13Smoke 7.2s ease-in-out infinite;transform-origin:100px 32px}
@keyframes v13WorldFloat{0%,100%{transform:translateY(1px) rotate(-.35deg)}50%{transform:translateY(-5px) rotate(.55deg)}}
@keyframes v13Canopy{0%,100%{transform:rotate(-1.6deg)}50%{transform:rotate(2.6deg)}}
@keyframes v13HouseBreathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-.6px)}}
@keyframes v13WorldShadow{0%,100%{transform:scaleX(.9);opacity:.32}50%{transform:scaleX(1.08);opacity:.44}}
@keyframes v13Smoke{0%{transform:translate(0,2px) scale(.82);opacity:0}18%{opacity:.4}55%{transform:translate(5px,-8px) scale(1.06);opacity:.28}100%{transform:translate(11px,-18px) scale(1.3);opacity:0}}

.handcrafted-cabinet .cabinet-body{animation:v13CabinetIdle 7.4s ease-in-out infinite;transform-origin:68px 108px}
.handcrafted-cabinet .cabinet-interior{animation:v13InteriorWarmth 5.5s ease-in-out infinite}
.handcrafted-cabinet .cabinet-bottle{animation:v13BottleFloat 5.4s ease-in-out infinite}
.handcrafted-cabinet .cabinet-leaf{transform-box:fill-box;transform-origin:50% 100%;animation:v13CabLeaf 4.8s ease-in-out infinite}
.handcrafted-cabinet .cab-leaf-b{animation-delay:-2.2s}
@keyframes v13CabinetIdle{0%,100%{transform:translateY(0)}50%{transform:translateY(-1px)}}
@keyframes v13InteriorWarmth{0%,100%{filter:brightness(.92)}50%{filter:brightness(1.09)}}
@keyframes v13BottleFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes v13CabLeaf{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(7deg)}}

.living-icon-stage{width:122px;height:94px}
.visual-action-card.living-card{min-height:148px}
@media(max-width:620px){.living-icon-stage{width:110px;height:86px}.visual-action-card.living-card{min-height:136px}}
@media(max-height:720px){.living-icon-stage{width:92px;height:72px}.visual-action-card.living-card{min-height:114px}}
@media(prefers-reduced-motion:reduce){
  .handcrafted-continue .handcrafted-wood,.handcrafted-continue .continue-vines-left,.handcrafted-continue .continue-vines-right,.handcrafted-continue .hc-leaf,
  .handcrafted-world .floating-island,.handcrafted-world .tree-crown,.handcrafted-world .atelier-house,.handcrafted-world .world-shadow,.handcrafted-world .chimney-smoke,
  .handcrafted-cabinet .cabinet-body,.handcrafted-cabinet .cabinet-interior,.handcrafted-cabinet .cabinet-bottle,.handcrafted-cabinet .cabinet-leaf{animation:none!important}
}


/* V1.3.1 — Painted Navigation Illustrations
   Approved painterly assets replace assembled SVG hero objects.
   Motion remains code-driven through independent overlays. */
.painted-object{position:relative;display:block;width:100%;height:100%;isolation:isolate}
.painted-object>img,.painted-settings-object>img{
  width:100%;height:100%;object-fit:contain;display:block;pointer-events:none;
  user-select:none;-webkit-user-drag:none;
  filter:none;
}
.painted-continue-object{width:76px;height:76px;transform-origin:50% 82%;animation:paintedContinueBreathe 5.8s ease-in-out infinite}
.continue-vine{width:76px;height:76px}
.painted-glint{position:absolute;left:18%;top:16%;width:55%;height:14%;border-radius:50%;border-top:2px solid rgba(255,248,210,.75);filter:blur(.2px);transform:rotate(-16deg);opacity:0;animation:paintedContinueGlint 7.5s ease-in-out infinite}
.painted-pollen{position:absolute;width:3px;height:3px;border-radius:50%;background:#f6d57c;box-shadow:0 0 6px #efc65b;opacity:0}
.pollen-one{left:12%;top:24%;animation:paintedPollen 6.2s ease-in-out infinite}
.pollen-two{right:9%;top:42%;animation:paintedPollen 7s ease-in-out -2.4s infinite}
.pollen-three{left:30%;bottom:8%;animation:paintedPollen 6.8s ease-in-out -4.1s infinite}
@keyframes paintedContinueBreathe{0%,100%{transform:translateY(0) rotate(-.25deg) scale(.99)}50%{transform:translateY(-2px) rotate(.35deg) scale(1.018)}}
@keyframes paintedContinueGlint{0%,69%,100%{opacity:0;transform:translateX(-8px) rotate(-16deg)}76%{opacity:.9}87%{opacity:0;transform:translateX(16px) rotate(-16deg)}}
@keyframes paintedPollen{0%,100%{opacity:0;transform:translate(0,4px) scale(.7)}25%{opacity:.8}70%{opacity:.25;transform:translate(6px,-11px) scale(1)}}

.living-icon-stage{width:126px;height:99px;overflow:visible}
.painted-world-object{animation:paintedWorldFloat 6.4s ease-in-out infinite;transform-origin:50% 82%}
.painted-world-object img{filter:none}
.painted-world-light{position:absolute;left:43%;top:42%;width:21%;height:22%;border-radius:50%;background:radial-gradient(circle,rgba(255,226,129,.56),transparent 70%);mix-blend-mode:screen;animation:paintedWindowPulse 4.8s ease-in-out infinite}
.painted-butterfly{position:absolute;width:8px;height:5px;opacity:0}
.painted-butterfly:before,.painted-butterfly:after{content:'';position:absolute;top:0;width:5px;height:4px;border-radius:80% 20% 80% 20%;background:#e8bd54;box-shadow:0 0 4px rgba(239,194,80,.55)}
.painted-butterfly:before{left:0;transform:rotate(25deg)}.painted-butterfly:after{right:0;transform:scaleX(-1) rotate(25deg)}
.butterfly-one{left:8%;top:17%;animation:paintedButterflyA 9s ease-in-out infinite}
.butterfly-two{right:6%;top:33%;transform:scale(.75);animation:paintedButterflyB 11s ease-in-out -4s infinite}
.painted-smoke{position:absolute;left:59%;top:19%;width:10px;height:17px;border-radius:50%;background:radial-gradient(ellipse,rgba(239,241,222,.33),transparent 72%);filter:blur(1.5px);opacity:0}
.smoke-one{animation:paintedSmoke 6.8s ease-out infinite}.smoke-two{animation:paintedSmoke 6.8s ease-out -3.4s infinite}
@keyframes paintedWorldFloat{0%,100%{transform:translateY(2px) rotate(-.35deg)}50%{transform:translateY(-4px) rotate(.5deg)}}
@keyframes paintedWindowPulse{0%,100%{opacity:.22;transform:scale(.86)}50%{opacity:.75;transform:scale(1.15)}}
@keyframes paintedButterflyA{0%,66%,100%{opacity:0;transform:translate(0,7px) rotate(-8deg)}72%{opacity:1}84%{opacity:.75;transform:translate(14px,-8px) rotate(9deg)}94%{opacity:0;transform:translate(25px,-15px) rotate(-4deg)}}
@keyframes paintedButterflyB{0%,62%,100%{opacity:0;transform:translate(0,4px) scale(.75)}70%{opacity:.9}89%{opacity:.35;transform:translate(-16px,-12px) scale(.75)}}
@keyframes paintedSmoke{0%{opacity:0;transform:translate(0,5px) scale(.65)}20%{opacity:.32}100%{opacity:0;transform:translate(8px,-23px) scale(1.5)}}

.painted-cabinet-object{animation:paintedCabinetIdle 7.2s ease-in-out infinite;transform-origin:50% 90%}
.painted-cabinet-glow{position:absolute;left:46%;top:36%;width:36%;height:47%;border-radius:45%;background:radial-gradient(circle,rgba(255,229,124,.48),rgba(231,173,54,.14) 45%,transparent 72%);mix-blend-mode:screen;animation:paintedCabinetGlow 4.5s ease-in-out infinite}
.painted-cabinet-shine{position:absolute;left:59%;top:26%;width:7%;height:46%;border-radius:50%;background:linear-gradient(180deg,transparent,rgba(255,255,236,.62),transparent);filter:blur(.4px);transform:rotate(10deg);opacity:0;animation:paintedBottleShine 5.4s ease-in-out infinite}
.painted-cabinet-mote{position:absolute;width:3px;height:3px;border-radius:50%;background:#f3d47f;box-shadow:0 0 5px #e5b952;opacity:0}
.mote-one{left:27%;top:31%;animation:paintedMote 5.3s ease-in-out infinite}
.mote-two{right:17%;top:50%;animation:paintedMote 6.1s ease-in-out -2.2s infinite}
.mote-three{left:42%;bottom:17%;animation:paintedMote 5.8s ease-in-out -3.9s infinite}
@keyframes paintedCabinetIdle{0%,100%{transform:translateY(1px)}50%{transform:translateY(-2px)}}
@keyframes paintedCabinetGlow{0%,100%{opacity:.25;transform:scale(.88)}50%{opacity:.82;transform:scale(1.12)}}
@keyframes paintedBottleShine{0%,68%,100%{opacity:0;transform:translateX(-6px) rotate(10deg)}76%{opacity:.85}88%{opacity:0;transform:translateX(10px) rotate(10deg)}}
@keyframes paintedMote{0%,100%{opacity:0;transform:translateY(5px) scale(.7)}36%{opacity:.8}75%{opacity:.2;transform:translateY(-8px) scale(1)}}

.painted-settings-object{position:relative;display:block;width:43px;height:43px;animation:paintedSettingsIdle 12s ease-in-out infinite}
.painted-settings-object img{filter:none}
.painted-settings-glint{position:absolute;left:20%;top:12%;width:48%;height:14%;border-radius:50%;border-top:1.5px solid rgba(255,244,196,.72);transform:rotate(-15deg);opacity:0;animation:paintedSettingsGlint 8s ease-in-out infinite}
.living-settings{width:54px;height:54px}
@keyframes paintedSettingsIdle{0%,82%,100%{transform:rotate(0)}88%{transform:rotate(5deg)}94%{transform:rotate(-3deg)}}
@keyframes paintedSettingsGlint{0%,74%,100%{opacity:0;transform:translateX(-4px) rotate(-15deg)}82%{opacity:.9}91%{opacity:0;transform:translateX(8px) rotate(-15deg)}}

.worlds-card:active .painted-world-object{transform:translateY(2px) rotate(2deg) scale(.97)}
.cabinet-card-nav:active .painted-cabinet-object{transform:translateY(2px) scale(.97)}
.living-continue:active .painted-continue-object{transform:translateY(3px) scale(.94)}

@media(max-width:620px){
  .living-icon-stage{width:114px;height:91px}
  .painted-continue-object,.continue-vine{width:70px;height:70px}
}
@media(max-height:720px){
  .living-icon-stage{width:96px;height:76px}
  .painted-continue-object,.continue-vine{width:58px;height:58px}
}
@media(prefers-reduced-motion:reduce){
  .painted-continue-object,.painted-glint,.painted-pollen,.painted-world-object,.painted-world-light,
  .painted-butterfly,.painted-smoke,.painted-cabinet-object,.painted-cabinet-glow,
  .painted-cabinet-shine,.painted-cabinet-mote,.painted-settings-object,.painted-settings-glint{animation:none!important}
}


/* V1.3.2 — Atelier Asset Pass */
.continue-vine{width:86px!important;height:102px!important;overflow:visible!important;margin-left:-2px}
.painted-continue-object{width:84px!important;height:100px!important;overflow:visible!important}
.living-continue{overflow:visible!important}
.living-continue:before{border-radius:inherit;overflow:hidden}

.painted-wallet{gap:8px;overflow:visible!important;padding-left:7px}
.wallet-art{position:relative;width:29px;height:29px;display:block;flex:0 0 auto;transform-origin:center;animation:assetWalletFloat 4.8s ease-in-out infinite}
.wallet-art img{width:100%;height:100%;object-fit:contain;display:block;filter:none}
.wallet-art i{position:absolute;inset:8% 12% auto 18%;height:18%;border-top:1.5px solid rgba(255,250,218,.78);border-radius:50%;transform:rotate(-17deg);opacity:0;animation:assetWalletShine 6.5s ease-in-out infinite}
.coin-art{width:30px;height:30px;animation-delay:-2.1s}
@keyframes assetWalletFloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-1.5px) rotate(3deg)}}
@keyframes assetWalletShine{0%,70%,100%{opacity:0;transform:translateX(-4px) rotate(-17deg)}80%{opacity:.9}92%{opacity:0;transform:translateX(8px) rotate(-17deg)}}

.painted-rank-badge{display:grid!important;place-items:center!important;background:none!important;filter:none!important;overflow:visible}
.painted-rank-badge:before,.painted-rank-badge:after,.painted-rank-badge .rank-badge-aura,.painted-rank-badge .rank-badge-crown,.painted-rank-badge .rank-badge-core,.painted-rank-badge .rank-badge-vine{display:none!important}
.rank-art{width:100%;height:100%;object-fit:contain;display:block;filter:none;animation:rankArtBreathe 6.2s ease-in-out infinite}
.rank-art-glow{position:absolute;inset:17%;border-radius:50%;background:radial-gradient(circle,rgba(247,211,112,.25),transparent 70%);mix-blend-mode:screen;animation:rankArtGlow 5s ease-in-out infinite;pointer-events:none}
@keyframes rankArtBreathe{0%,100%{transform:translateY(0) scale(.98)}50%{transform:translateY(-1px) scale(1.025)}}
@keyframes rankArtGlow{0%,100%{opacity:.2;transform:scale(.9)}50%{opacity:.72;transform:scale(1.12)}}
.home-rank-crest .painted-rank-badge{width:78px!important;height:82px!important;margin-left:-4px}
.world-rank-strip>.painted-rank-badge{width:68px!important;height:72px!important;transform:none!important}

.control-art{position:relative;width:38px;height:38px;display:grid;place-items:center;margin:0 auto 2px;transform-origin:center}
.control-art img{width:100%;height:100%;object-fit:contain;display:block;filter:none}
.undo-art{animation:toolUndoIdle 5.4s ease-in-out infinite}.restart-art{animation:toolRestartIdle 8s ease-in-out infinite}.hint-art{animation:toolHintIdle 4.8s ease-in-out infinite}
.hint-glow{position:absolute;inset:24%;border-radius:50%;background:radial-gradient(circle,rgba(255,229,119,.7),transparent 70%);mix-blend-mode:screen;animation:toolHintGlow 3.7s ease-in-out infinite}
#undoButton:active .undo-art{animation:toolUndoPress .45s ease-out}
#restartButton:active .restart-art{animation:toolRestartPress .55s ease-out}
#hintButton:active .hint-art{transform:translateY(-2px) scale(1.08)}
@keyframes toolUndoIdle{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(3deg)}}
@keyframes toolRestartIdle{0%,80%,100%{transform:rotate(0)}88%{transform:rotate(8deg)}94%{transform:rotate(-3deg)}}
@keyframes toolHintIdle{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.5px)}}
@keyframes toolHintGlow{0%,100%{opacity:.3;transform:scale(.9)}50%{opacity:.9;transform:scale(1.18)}}
@keyframes toolUndoPress{to{transform:rotate(-24deg) scale(.92)}}
@keyframes toolRestartPress{to{transform:rotate(190deg) scale(.94)}}
.hud-final .hud-action .control-art{width:34px;height:34px}

.painted-inline-coin{width:30px;height:30px;object-fit:contain;filter:none;animation:assetCoinWobble 4.8s ease-in-out infinite}
@keyframes assetCoinWobble{0%,100%{transform:rotateY(-8deg) rotate(-2deg)}50%{transform:rotateY(8deg) rotate(2deg)}}

.primary-action{background:linear-gradient(180deg,#4c7440,#31502d)!important;border:1px solid rgba(239,205,123,.8)!important;box-shadow:inset 0 2px rgba(255,255,255,.12),inset 0 -5px rgba(24,44,22,.3),0 8px 18px rgba(0,0,0,.24)!important}
.modal-card{background:linear-gradient(145deg,rgba(74,43,26,.96),rgba(34,23,17,.98))!important;border-color:rgba(215,176,96,.45)!important;box-shadow:inset 0 1px rgba(255,244,208,.08),0 24px 70px rgba(0,0,0,.42)!important}
.world-rank-strip,.win-rank-panel{background:linear-gradient(145deg,rgba(36,56,39,.42),rgba(29,20,15,.55))!important;border-color:rgba(213,176,91,.28)!important;box-shadow:inset 0 1px rgba(255,255,255,.05)!important}

@media(max-width:620px){.home-rank-crest .painted-rank-badge{width:70px!important;height:74px!important}.control-art{width:35px;height:35px}.continue-vine{width:82px!important;height:96px!important}.painted-continue-object{width:80px!important;height:94px!important}}
@media(prefers-reduced-motion:reduce){.wallet-art,.wallet-art i,.rank-art,.rank-art-glow,.control-art,.hint-glow,.painted-inline-coin{animation:none!important}}

/* V1.3.2a — Painted Asset Shadow Correction
   Painted PNGs already contain their own contact shading.
   Only CSS drop-shadows on production artwork were removed; asset paths, sizes,
   wrappers, animations, gameplay and layout remain unchanged. */

/* V1.3.4 — Home Composition Cleanup
   Surgical home-only cleanup: centered Continue artwork, no redundant card
   subtitles/outlines, artwork-only Settings target, corrected wallet numerals,
   and no oversized Continue sweep. */
.continue-card-v11.living-continue{
  min-height:76px!important;
  height:76px!important;
  max-height:76px!important;
  padding:8px 15px!important;
  grid-template-columns:78px minmax(0,1fr)!important;
  gap:12px!important;
  overflow:visible!important;
}
.continue-card-v11 .continue-vine{
  width:76px!important;
  height:76px!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  align-self:center!important;
  justify-self:center!important;
  overflow:visible!important;
}
.continue-card-v11 .painted-continue-object{
  width:76px!important;
  height:76px!important;
  margin:0!important;
  overflow:visible!important;
  transform-origin:center!important;
}
.continue-card-v11 .painted-continue-object>img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
.living-continue:before{content:none!important;display:none!important;animation:none!important}
.worlds-card::after,.cabinet-card-nav::after{content:none!important;display:none!important}
.visual-action-card>small{display:none!important}
.visual-action-card{padding-bottom:14px!important}
.floating-settings.living-settings{
  width:54px!important;
  height:54px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  overflow:visible!important;
}
.floating-settings .painted-settings-object{width:48px!important;height:48px!important}
.wallet-chip b{
  min-width:18px;
  height:100%;
  display:grid;
  place-items:center;
  line-height:1;
  text-align:center;
  padding:0;
  margin:0;
}
.coin-wallet{padding-right:10px!important}
@media(max-width:620px){
  .continue-card-v11.living-continue{
    min-height:72px!important;
    height:72px!important;
    max-height:72px!important;
    grid-template-columns:74px minmax(0,1fr)!important;
    padding:7px 14px!important;
  }
  .continue-card-v11 .continue-vine,
  .continue-card-v11 .painted-continue-object{width:72px!important;height:72px!important}
  .floating-settings.living-settings{width:52px!important;height:52px!important}
  .floating-settings .painted-settings-object{width:46px!important;height:46px!important}
}
@media(max-height:720px){
  .continue-card-v11.living-continue{
    min-height:66px!important;
    height:66px!important;
    max-height:66px!important;
    grid-template-columns:68px minmax(0,1fr)!important;
    padding:5px 13px!important;
  }
  .continue-card-v11 .continue-vine,
  .continue-card-v11 .painted-continue-object{width:66px!important;height:66px!important}
}

/* V1.3.4a — Continue Artwork Optical Centering
   The portrait-format artwork has heavier visual weight at its lower vines.
   Move only the PNG upward; keep the card, grid and all other assets unchanged. */
.continue-card-v11 .painted-continue-object>img{
  transform:translateY(-5px)!important;
}
@media(max-width:620px){
  .continue-card-v11 .painted-continue-object>img{transform:translateY(-5px)!important}
}
@media(max-height:720px){
  .continue-card-v11 .painted-continue-object>img{transform:translateY(-4px)!important}
}

/* V1.3.4b — Continue copy inline alignment */
.continue-card-v11 .action-copy{
  min-width:0;
  display:flex;
  align-items:baseline;
  gap:10px;
  transform:translateY(-2px);
  white-space:nowrap;
}
.continue-card-v11 .action-copy strong{
  display:block;
  flex:0 0 auto;
  margin:0;
  line-height:1;
}
.continue-card-v11 .action-copy small{
  display:block;
  min-width:0;
  margin:0;
  line-height:1;
  font-size:.64rem;
}
@media(max-width:360px){
  .continue-card-v11 .action-copy{gap:7px}
  .continue-card-v11 .action-copy strong{font-size:1.12rem}
  .continue-card-v11 .action-copy small{font-size:.58rem}
}

/* V1.3.5 — Home Composition Pass
   Centered progression flow: Rank -> wallet -> primary navigation.
   Settings remains an independent utility in the bottom-right corner. */
.mobile-home-v11{
  justify-content:flex-start!important;
}
.home-rank-crest{
  flex:0 0 auto;
  margin:clamp(42px,7vh,82px) auto 0!important;
}
.home-resource-bar{
  width:auto!important;
  flex:0 0 auto;
  justify-content:center!important;
  align-items:center!important;
  margin:12px auto 0!important;
  gap:10px!important;
}
.home-actions-v11{
  flex:0 0 auto;
  width:min(100%,430px)!important;
  margin:18px auto 0!important;
  gap:12px!important;
}
.floating-settings.living-settings{
  position:fixed!important;
  right:max(18px,env(safe-area-inset-right))!important;
  bottom:calc(env(safe-area-inset-bottom) + 20px)!important;
}
@media(max-width:620px){
  .home-rank-crest{
    margin-top:clamp(34px,5.5vh,58px)!important;
  }
  .home-resource-bar{margin-top:10px!important}
  .home-actions-v11{
    width:min(92vw,400px)!important;
    margin-top:15px!important;
  }
}
@media(max-height:760px){
  .home-rank-crest{
    margin-top:18px!important;
    transform:scale(.92)!important;
    transform-origin:top center!important;
  }
  .home-resource-bar{margin-top:2px!important}
  .home-actions-v11{margin-top:9px!important;gap:9px!important}
}

/* V1.3.6 — Home Navigation Balance
   Keep Rank and Wallet fixed. Move the complete primary navigation group lower
   as one unit, and optically center the Continue copy inside its unchanged card. */
.home-actions-v11{
  margin-top:210px!important;
}
.continue-card-v11 .action-copy{
  transform:translateY(-7px)!important;
}
@media(max-width:620px){
  .home-actions-v11{margin-top:190px!important}
  .continue-card-v11 .action-copy{transform:translateY(-6px)!important}
}
@media(max-height:760px){.home-actions-v11{margin-top:170px!important}.continue-card-v11 .action-copy{transform:translateY(-5px)!important}}


/* =========================================================
   VALES v1.4 — Gameplay HUD Reborn
   Authoritative gameplay HUD layout. Earlier HUD experiments
   remain inert beneath this final scoped block.
   ========================================================= */
.top-restart-button{
  display:grid!important;
  place-items:center!important;
  padding:5px!important;
  overflow:visible!important;
}
.top-restart-button img{
  display:block!important;
  width:36px!important;
  height:36px!important;
  object-fit:contain!important;
  filter:none!important;
  transform-origin:center!important;
  transition:transform 150ms cubic-bezier(.2,.8,.2,1)!important;
}
.top-restart-button:active img{transform:rotate(-18deg) scale(.92)!important}
.level-mastery{
  display:grid!important;
  grid-template-columns:auto auto!important;
  grid-template-areas:
    "leaves score"
    "moves moves"
    "target target"!important;
  justify-content:center!important;
  align-items:center!important;
  column-gap:8px!important;
  row-gap:1px!important;
}
.level-mastery .mastery-leaves{grid-area:leaves!important}
.level-mastery #gameMasteryCount{grid-area:score!important}
.level-mastery .game-move-count{
  grid-area:moves!important;
  display:block!important;
  color:rgba(244,228,194,.78)!important;
  font:650 .56rem/1.2 ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
}
.level-mastery #gameMasteryTarget{
  grid-area:target!important;
  display:block!important;
  color:rgba(226,202,158,.50)!important;
}
.hud-panel.hud-final.hud-reborn{
  position:relative!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:center!important;
  justify-items:center!important;
  gap:clamp(36px,12vw,92px)!important;
  width:min(100%,390px)!important;
  max-width:390px!important;
  min-height:92px!important;
  margin:5px auto 0!important;
  padding:8px 28px!important;
  border:1px solid rgba(226,184,101,.22)!important;
  border-radius:28px!important;
  background:linear-gradient(180deg,rgba(255,249,232,.045),rgba(255,249,232,.012)),rgba(25,17,11,.65)!important;
  box-shadow:0 14px 34px rgba(7,4,2,.22),inset 0 1px 0 rgba(255,255,255,.035)!important;
  backdrop-filter:blur(17px) saturate(1.03)!important;
  -webkit-backdrop-filter:blur(17px) saturate(1.03)!important;
  overflow:visible!important;
}
.hud-panel.hud-final.hud-reborn::before,
.hud-panel.hud-final.hud-reborn::after{content:none!important;display:none!important}
.hud-reborn .hud-tool-button{
  all:unset!important;
  box-sizing:border-box!important;
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:104px!important;
  height:76px!important;
  cursor:pointer!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
}
.hud-reborn .hud-tool-button::before,
.hud-reborn .hud-tool-button::after{content:none!important;display:none!important}
.hud-reborn .hud-tool-button:active{transform:translateY(2px) scale(.96)!important}
.hud-reborn .control-art{
  position:relative!important;
  display:block!important;
  width:72px!important;
  height:72px!important;
  margin:0!important;
  overflow:visible!important;
  transform-origin:center!important;
}
.hud-reborn .control-art>img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  filter:none!important;
}
.hud-reborn .tool-quantity{
  position:absolute!important;
  top:-4px!important;
  right:-8px!important;
  z-index:5!important;
  display:grid!important;
  place-items:center!important;
  min-width:25px!important;
  height:25px!important;
  padding:0 6px!important;
  border:1.5px solid #d9b45e!important;
  border-radius:999px!important;
  background:linear-gradient(145deg,#617144,#344127)!important;
  box-shadow:0 4px 9px rgba(8,5,2,.38),inset 0 1px 0 rgba(255,255,255,.18)!important;
  color:#fff1cf!important;
  font:800 .70rem/1 ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif!important;
  font-variant-numeric:tabular-nums!important;
  letter-spacing:-.02em!important;
}
.hud-reborn .hint-glow{pointer-events:none!important}
.hud-reborn .hud-next{display:none!important}
@media(max-width:430px){
  .top-restart-button img{width:32px!important;height:32px!important}
  .hud-panel.hud-final.hud-reborn{
    width:min(100%,330px)!important;
    min-height:82px!important;
    gap:42px!important;
    padding:5px 24px!important;
    border-radius:24px!important;
  }
  .hud-reborn .hud-tool-button{width:88px!important;height:68px!important}
  .hud-reborn .control-art{width:62px!important;height:62px!important}
  .hud-reborn .tool-quantity{top:-3px!important;right:-7px!important;min-width:23px!important;height:23px!important;font-size:.66rem!important}
}
@media(orientation:landscape) and (max-height:520px){
  .hud-panel.hud-final.hud-reborn{min-height:68px!important;padding:2px 22px!important}
  .hud-reborn .hud-tool-button{height:60px!important}
  .hud-reborn .control-art{width:54px!important;height:54px!important}
}


/* =========================================================
   VALES v1.4.1 — Gameplay Header Readability Polish
   Single authoritative header/status treatment.
   ========================================================= */
.gameplay-title{
  position:relative!important;
  isolation:isolate!important;
  padding:2px 16px 5px!important;
}
.gameplay-title::before{
  content:""!important;
  position:absolute!important;
  z-index:-1!important;
  left:50%!important;
  top:50%!important;
  width:clamp(230px,48vw,360px)!important;
  height:clamp(105px,17vw,150px)!important;
  transform:translate(-50%,-48%)!important;
  border-radius:50%!important;
  background:radial-gradient(ellipse at center,rgba(40,26,18,.54) 0%,rgba(40,26,18,.38) 38%,rgba(40,26,18,.15) 66%,transparent 82%)!important;
  filter:blur(18px)!important;
  pointer-events:none!important;
}
.gameplay-title>p,
.gameplay-title>h2,
.gameplay-title>.level-mastery{
  position:relative!important;
  z-index:1!important;
  text-shadow:0 2px 12px rgba(8,4,2,.56)!important;
}
.level-mastery{
  margin-top:5px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  white-space:nowrap!important;
}
.level-mastery .mastery-leaves{display:none!important}
.level-mastery #gameMasteryCount,
.level-mastery .game-move-count,
.level-mastery #gameMasteryTarget,
.level-mastery .status-divider{
  display:inline!important;
  grid-area:auto!important;
  margin:0!important;
  line-height:1.15!important;
}
.level-mastery #gameMasteryCount{
  color:#e9cc83!important;
  font:700 .65rem/1.15 ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif!important;
  letter-spacing:.02em!important;
  font-variant-numeric:tabular-nums!important;
}
.level-mastery .game-move-count,
.level-mastery #gameMasteryTarget{
  color:rgba(242,224,190,.72)!important;
  font:600 .57rem/1.15 ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif!important;
  letter-spacing:.035em!important;
  text-transform:none!important;
}
.level-mastery .status-divider{
  color:rgba(218,183,112,.62)!important;
  font-size:.58rem!important;
  transform:translateY(-1px)!important;
}
.top-restart-button{
  padding:0!important;
  overflow:hidden!important;
}
.top-restart-button .ui-icon{
  width:25px!important;
  height:25px!important;
  color:var(--cream)!important;
  transition:transform 160ms cubic-bezier(.2,.8,.2,1)!important;
}
.top-restart-button:active .ui-icon{transform:rotate(-22deg) scale(.92)!important}
.top-restart-button img{display:none!important}
.hud-panel.hud-final.hud-reborn{
  min-height:80px!important;
  padding-top:3px!important;
  padding-bottom:3px!important;
}
.hud-reborn .hud-tool-button{
  height:68px!important;
  transform:translateY(-5px)!important;
}
.hud-reborn .hud-tool-button:active{transform:translateY(-3px) scale(.96)!important}
@media(max-width:430px){
  .gameplay-title{padding-left:8px!important;padding-right:8px!important}
  .gameplay-title::before{width:250px!important;height:112px!important;filter:blur(16px)!important}
  .level-mastery{gap:5px!important}
  .level-mastery #gameMasteryCount{font-size:.61rem!important}
  .level-mastery .game-move-count,
  .level-mastery #gameMasteryTarget{font-size:.53rem!important}
  .top-restart-button .ui-icon{width:22px!important;height:22px!important}
  .hud-panel.hud-final.hud-reborn{min-height:74px!important;padding-top:2px!important;padding-bottom:2px!important}
  .hud-reborn .hud-tool-button{height:62px!important;transform:translateY(-4px)!important}
}


/* =========================================================
   VALES v1.4.2 — HUD Minimalism
   Remove the board card and bottom HUD shell, center the two
   consumable tools, deepen header readability, and replace the
   flat landscape beyond the existing window with a living lake.
   ========================================================= */

/* Preserve the exact wooden window frame while replacing only
   the exterior view with a calm animated lake. */
.window{
  overflow:hidden!important;
  background:
    linear-gradient(180deg,#c9e4e3 0 38%,#a8c8c7 39% 50%,#6d9692 51% 100%)!important;
}
.window .mountains{
  inset:0!important;
  height:100%!important;
  background:
    radial-gradient(ellipse at 74% 31%,rgba(255,244,199,.34) 0 8%,transparent 9%),
    linear-gradient(180deg,transparent 0 48%,rgba(79,119,116,.30) 49% 52%,transparent 53%),
    repeating-linear-gradient(176deg,rgba(231,244,232,.14) 0 2px,transparent 3px 14px),
    linear-gradient(180deg,transparent 0 51%,rgba(67,111,111,.28) 52%,rgba(44,78,76,.58) 100%)!important;
  transform:translate3d(0,0,0)!important;
  animation:atelierLakeDrift 14s ease-in-out infinite alternate!important;
}
.window .mountains::before,
.window .mountains::after{
  content:"";
  position:absolute;
  left:-12%;
  width:124%;
  pointer-events:none;
}
.window .mountains::before{
  top:52%;
  height:32%;
  background:
    repeating-radial-gradient(ellipse at 50% 100%,rgba(235,244,222,.18) 0 1px,transparent 2px 13px),
    linear-gradient(180deg,rgba(150,193,187,.18),rgba(39,74,72,.22));
  filter:blur(.45px);
  animation:atelierLakeWaveA 8.5s linear infinite;
}
.window .mountains::after{
  top:63%;
  height:24%;
  background:repeating-linear-gradient(174deg,transparent 0 9px,rgba(238,235,187,.13) 10px 11px,transparent 12px 22px);
  opacity:.75;
  animation:atelierLakeWaveB 11s linear infinite reverse;
}
@keyframes atelierLakeDrift{from{transform:translateX(-2.2%)}to{transform:translateX(2.2%)}}
@keyframes atelierLakeWaveA{from{transform:translateX(-2.5%)}to{transform:translateX(2.5%)}}
@keyframes atelierLakeWaveB{from{transform:translateX(-3%)}to{transform:translateX(3%)}}

/* Remove the perceived inner gameplay card. */
.canvas-board{
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Stronger warm cinematic readability at the top only. */
#gameScreen::before{
  content:"";
  position:fixed;
  z-index:-1;
  top:0;
  left:0;
  right:0;
  height:min(34vh,330px);
  pointer-events:none;
  background:linear-gradient(180deg,rgba(28,18,12,.72) 0%,rgba(28,18,12,.48) 38%,rgba(28,18,12,.17) 72%,transparent 100%);
}
.gameplay-title::before{
  background:radial-gradient(ellipse at center,rgba(40,26,18,.66) 0%,rgba(40,26,18,.44) 40%,rgba(40,26,18,.17) 66%,transparent 83%)!important;
}
.gameplay-title>p{margin-bottom:3px!important}
.gameplay-title>h2{margin-top:5px!important;margin-bottom:7px!important}
.level-mastery{margin-top:0!important}

/* Standalone consumable tools: no panel, no border, no backdrop. */
.hud-panel.hud-final.hud-reborn{
  display:grid!important;
  grid-template-columns:repeat(2,96px)!important;
  justify-content:center!important;
  align-items:center!important;
  gap:clamp(34px,11vw,68px)!important;
  width:auto!important;
  max-width:none!important;
  min-height:76px!important;
  margin:0 auto 2px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  overflow:visible!important;
}
.hud-reborn .hud-tool-button{
  width:96px!important;
  height:72px!important;
  transform:none!important;
}
.hud-reborn .hud-tool-button:active{transform:scale(.95)!important}
.hud-reborn .control-art{
  width:72px!important;
  height:72px!important;
  filter:drop-shadow(0 9px 9px rgba(8,4,2,.28))!important;
}
.hud-reborn .tool-quantity{
  top:-2px!important;
  right:-5px!important;
}
@media(max-width:430px){
  .hud-panel.hud-final.hud-reborn{
    grid-template-columns:repeat(2,84px)!important;
    gap:42px!important;
    min-height:68px!important;
  }
  .hud-reborn .hud-tool-button{width:84px!important;height:64px!important}
  .hud-reborn .control-art{width:62px!important;height:62px!important}
}
@media(orientation:landscape) and (max-height:520px){
  .hud-panel.hud-final.hud-reborn{min-height:58px!important;gap:36px!important}
  .hud-reborn .hud-tool-button{height:56px!important}
  .hud-reborn .control-art{width:52px!important;height:52px!important}
}
@media(prefers-reduced-motion:reduce){
  .window .mountains,.window .mountains::before,.window .mountains::after{animation:none!important}
}

/* =========================================================
   VALES v1.4.3 — Living Atelier
   Scenic lake window, true board transparency, and a compact
   centered consumable tool pair.
   ========================================================= */

/* The existing wood frame remains untouched; only its outdoor view changes. */
.window{
  background-image:
    linear-gradient(180deg,rgba(244,232,198,.08),rgba(34,62,57,.10)),
    url('assets/scene/atelier-lake.jpg')!important;
  background-size:cover!important;
  background-position:50% 40%!important;
  filter:saturate(.82) contrast(.94) brightness(.88) sepia(.08) blur(.4px)!important;
  background-repeat:no-repeat!important;
}
.window .mountains{
  inset:0!important;
  height:100%!important;
  background:
    repeating-linear-gradient(177deg,transparent 0 15px,rgba(238,242,219,.11) 16px 17px,transparent 18px 31px)!important;
  opacity:0!important;
  mix-blend-mode:screen!important;
  animation:atelierLakeReflection 12s ease-in-out infinite alternate!important;
}
.window .mountains::before{
  top:52%!important;
  height:44%!important;
  background:linear-gradient(100deg,transparent 0 18%,rgba(255,237,190,.14) 31%,transparent 48% 62%,rgba(223,238,225,.10) 74%,transparent 88%)!important;
  filter:blur(3px)!important;
  animation:atelierLakeShimmer 16s linear infinite!important;
}
.window .mountains::after{
  top:58%!important;
  height:38%!important;
  background:repeating-linear-gradient(177deg,transparent 0 10px,rgba(244,236,192,.10) 11px 12px,transparent 13px 25px)!important;
  opacity:.65!important;
  animation:atelierLakeRipple 10s ease-in-out infinite alternate!important;
}
@keyframes atelierLakeReflection{from{transform:translate3d(-1.2%,0,0)}to{transform:translate3d(1.2%,0,0)}}
@keyframes atelierLakeShimmer{from{transform:translateX(-14%)}to{transform:translateX(14%)}}
@keyframes atelierLakeRipple{from{transform:translateX(-2%) scaleY(.98)}to{transform:translateX(2%) scaleY(1.02)}}

/* The board is only a transparent canvas now—no inner card or veil. */
.game-area,.canvas-board,#gameCanvas{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
.canvas-board{border-radius:0!important;overflow:visible!important}

/* Treat Undo + Hint as one compact centered tool cluster. */
.hud-panel.hud-final.hud-reborn{
  grid-template-columns:repeat(2,82px)!important;
  gap:14px!important;
  min-height:66px!important;
}
.hud-reborn .hud-tool-button{width:82px!important;height:64px!important}
.hud-reborn .control-art{width:62px!important;height:62px!important}
.hud-reborn .tool-quantity{top:-1px!important;right:-2px!important}

@media(max-width:430px){
  .hud-panel.hud-final.hud-reborn{grid-template-columns:repeat(2,78px)!important;gap:12px!important}
  .hud-reborn .hud-tool-button{width:78px!important;height:62px!important}
  .hud-reborn .control-art{width:60px!important;height:60px!important}
}
@media(prefers-reduced-motion:reduce){
  .window .mountains,.window .mountains::before,.window .mountains::after{animation:none!important}
}

/* =========================================================
   VALES v1.4.5 — Living Light
   Smooth room-scale sunlight and a gently animated world
   beyond the existing Atelier window.
   ========================================================= */

/* Keep the scenic illustration alive without moving the wood frame. */
.window{
  background-size:112% auto!important;
  background-position:50% 42%!important;
  animation:valesScenicBreath 32s ease-in-out infinite alternate!important;
  isolation:isolate;
}
@keyframes valesScenicBreath{
  0%{background-size:112% auto;background-position:48.5% 42%}
  50%{background-size:113.5% auto;background-position:50.5% 41.5%}
  100%{background-size:112.5% auto;background-position:52% 42.5%}
}

/* Atmospheric lake life: mist, water shimmer and reflected daylight. */
.window .mountains{
  opacity:.58!important;
  mix-blend-mode:screen!important;
  filter:blur(.25px) saturate(.92)!important;
  animation:valesLakeLife 22s ease-in-out infinite alternate!important;
}
.window .mountains::before{
  top:44%!important;
  height:51%!important;
  background:
    radial-gradient(ellipse at 24% 54%,rgba(255,245,209,.17),transparent 34%),
    radial-gradient(ellipse at 72% 61%,rgba(220,238,229,.12),transparent 36%),
    linear-gradient(96deg,transparent 0 15%,rgba(255,240,203,.12) 31%,transparent 49% 63%,rgba(223,240,230,.10) 76%,transparent 91%)!important;
  filter:blur(5px)!important;
  animation:valesLakeMist 26s ease-in-out infinite alternate!important;
}
.window .mountains::after{
  top:56%!important;
  height:40%!important;
  background:
    repeating-linear-gradient(178deg,transparent 0 9px,rgba(255,245,210,.09) 10px 11px,transparent 12px 24px),
    linear-gradient(92deg,transparent,rgba(255,227,168,.10),transparent)!important;
  opacity:.62!important;
  filter:blur(1.4px)!important;
  animation:valesLakeWater 14s ease-in-out infinite alternate!important;
}
@keyframes valesLakeLife{
  from{transform:translate3d(-.8%,0,0) scale(1.015)}
  to{transform:translate3d(.8%,.2%,0) scale(1.025)}
}
@keyframes valesLakeMist{
  from{transform:translate3d(-4%,0,0);opacity:.48}
  to{transform:translate3d(4%,-1%,0);opacity:.78}
}
@keyframes valesLakeWater{
  from{transform:translate3d(-2.5%,0,0) scaleY(.985);opacity:.48}
  to{transform:translate3d(2.5%,.4%,0) scaleY(1.015);opacity:.72}
}

/* Room-scale sunbeams: fully feathered, never ending in a hard edge. */
.sunbeam{
  top:-34vh!important;
  height:185vh!important;
  border-radius:50%!important;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(255,232,184,.025) 17%,
    rgba(255,222,157,.17) 44%,
    rgba(255,239,202,.10) 58%,
    rgba(255,222,157,.025) 82%,
    transparent 100%)!important;
  filter:blur(14px)!important;
  opacity:.68!important;
  transform-origin:50% 18%!important;
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 10%,#000 82%,transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0%,#000 10%,#000 82%,transparent 100%);
  animation:valesBeamWander 19s ease-in-out infinite alternate!important;
  will-change:transform,opacity;
}
.beam-one{
  left:5vw!important;
  width:34vw!important;
  animation-duration:21s!important;
}
.beam-two{
  left:29vw!important;
  width:24vw!important;
  opacity:.42!important;
  animation-duration:27s!important;
  animation-delay:-9s!important;
}
@keyframes valesBeamWander{
  0%{transform:translate3d(-4vw,-1vh,0) rotate(-23deg) scaleX(.92);opacity:.42}
  38%{transform:translate3d(1vw,1vh,0) rotate(-18deg) scaleX(1.04);opacity:.72}
  72%{transform:translate3d(5vw,0,0) rotate(-15deg) scaleX(.97);opacity:.58}
  100%{transform:translate3d(8vw,2vh,0) rotate(-12deg) scaleX(1.08);opacity:.76}
}

/* A soft reflected pool of light makes the movement feel physical. */
.atelier-scene::before{
  content:"";
  position:absolute;
  left:-8%;
  bottom:-9%;
  width:72%;
  height:48%;
  pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(255,219,154,.12),rgba(255,219,154,.035) 43%,transparent 72%);
  filter:blur(30px);
  transform:rotate(-9deg);
  animation:valesFloorLight 24s ease-in-out infinite alternate;
}
@keyframes valesFloorLight{
  from{transform:translate3d(-4%,1%,0) rotate(-11deg) scale(.94);opacity:.35}
  to{transform:translate3d(9%,-2%,0) rotate(-5deg) scale(1.08);opacity:.72}
}

@media(max-width:430px){
  .sunbeam{filter:blur(11px)!important}
  .beam-one{left:0!important;width:42vw!important}
  .beam-two{left:31vw!important;width:30vw!important}
}
@media(prefers-reduced-motion:reduce){
  .window,.window .mountains,.window .mountains::before,.window .mountains::after,
  .sunbeam,.atelier-scene::before{animation:none!important}
}


/* =========================================================
   VALES v1.4.6 — Clean Completion & Living Sunlight
   Removes the legacy static FX PNG layer and replaces the
   room light with soft, continuous, animation-safe beams.
   ========================================================= */

/* The entire scene becomes the light canvas, so beams can drift
   naturally without hard rectangular endings. */
.atelier-scene{
  overflow:hidden!important;
  isolation:isolate;
}

.sunbeam{
  position:absolute!important;
  top:-58vh!important;
  height:235vh!important;
  border-radius:50%!important;
  pointer-events:none!important;
  opacity:.48!important;
  filter:blur(26px)!important;
  background:
    radial-gradient(ellipse at 50% 18%,
      rgba(255,247,220,.17) 0%,
      rgba(255,232,180,.11) 24%,
      rgba(255,220,150,.055) 48%,
      rgba(255,210,135,.018) 68%,
      transparent 82%)!important;
  -webkit-mask-image:radial-gradient(ellipse at 50% 42%,#000 0 52%,rgba(0,0,0,.72) 67%,transparent 89%)!important;
  mask-image:radial-gradient(ellipse at 50% 42%,#000 0 52%,rgba(0,0,0,.72) 67%,transparent 89%)!important;
  transform-origin:50% 10%!important;
  mix-blend-mode:screen!important;
  will-change:transform,opacity,filter;
  animation:valesSunDrift 34s cubic-bezier(.45,.02,.55,.98) infinite alternate!important;
}
.beam-one{
  left:-10vw!important;
  width:54vw!important;
  animation-duration:38s!important;
}
.beam-two{
  left:19vw!important;
  width:42vw!important;
  opacity:.30!important;
  filter:blur(32px)!important;
  animation-duration:47s!important;
  animation-delay:-18s!important;
}
.sunbeam::after{
  content:"";
  position:absolute;
  inset:13% 21% 11%;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(255,239,198,.10),transparent 69%);
  filter:blur(22px);
}
@keyframes valesSunDrift{
  0%{
    transform:translate3d(-7vw,-2vh,0) rotate(-20deg) scale(.94,1.03);
    opacity:.28;
  }
  32%{
    transform:translate3d(-1vw,1vh,0) rotate(-17deg) scale(1.02,1.08);
    opacity:.52;
  }
  67%{
    transform:translate3d(6vw,-1vh,0) rotate(-13deg) scale(.98,1.02);
    opacity:.40;
  }
  100%{
    transform:translate3d(12vw,2vh,0) rotate(-9deg) scale(1.07,1.10);
    opacity:.58;
  }
}

/* Reflected daylight follows the beams across the floor and lower wall. */
.atelier-scene::before{
  left:-18%!important;
  bottom:-18%!important;
  width:92%!important;
  height:66%!important;
  background:radial-gradient(ellipse at center,
    rgba(255,229,176,.09) 0%,
    rgba(255,217,153,.035) 43%,
    transparent 75%)!important;
  filter:blur(46px)!important;
  animation:valesReflectedLight 39s cubic-bezier(.45,.02,.55,.98) infinite alternate!important;
}
@keyframes valesReflectedLight{
  from{transform:translate3d(-5%,2%,0) rotate(-10deg) scale(.90);opacity:.22}
  to{transform:translate3d(18%,-4%,0) rotate(-3deg) scale(1.12);opacity:.50}
}

@media(max-width:430px){
  .sunbeam{filter:blur(22px)!important}
  .beam-one{left:-17vw!important;width:68vw!important}
  .beam-two{left:22vw!important;width:50vw!important}
}
@media(prefers-reduced-motion:reduce){
  .sunbeam,.atelier-scene::before{animation:none!important}
}

@keyframes water{from{background-position:0 0}to{background-position:0 80px}}
@keyframes lakePan{0%{transform:translateX(0)}100%{transform:translateX(-2%)}}

/* =========================================================
   VALES v1.5.4 — Window Fill + Rank Badge Fit
   Surgical overrides only: fill the complete window opening
   and keep painted rank badges comfortably inside their slots.
   ========================================================= */

/* Fill the full height of the existing wood frame. The previous
   width-driven sizing left uncovered bands above and below. */
.window{
  background-size:auto 112%!important;
  background-position:50% 44%!important;
}
@keyframes valesScenicBreath{
  0%{background-size:auto 112%;background-position:49% 44%}
  50%{background-size:auto 113%;background-position:50% 43.5%}
  100%{background-size:auto 112.5%;background-position:51% 44.5%}
}

/* One production rule for painted rank artwork: the complete crest
   stays visible and centered inside both Home and Worlds components. */
.painted-rank-badge{
  overflow:visible!important;
  place-items:center!important;
}
.rank-art{
  width:90%!important;
  height:90%!important;
  max-width:90%!important;
  max-height:90%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform-origin:center!important;
}
.home-rank-crest .painted-rank-badge{
  width:66px!important;
  height:72px!important;
  margin-left:0!important;
  justify-self:center!important;
}
.world-rank-strip>.painted-rank-badge{
  width:58px!important;
  height:64px!important;
  transform:none!important;
  justify-self:center!important;
}
@keyframes rankArtBreathe{
  0%,100%{transform:translateY(0) scale(.94)}
  50%{transform:translateY(-1px) scale(.97)}
}
@media(max-width:620px){
  .home-rank-crest .painted-rank-badge{
    width:60px!important;
    height:66px!important;
  }
  .world-rank-strip>.painted-rank-badge{
    width:54px!important;
    height:60px!important;
  }
}


/* VALES v1.8 — Progression Foundation */
.next-world-preview{position:relative;overflow:hidden}
.next-world-preview .next-world-progress{grid-column:1/-1;height:5px;margin-top:9px;border-radius:99px;background:rgba(0,0,0,.28);overflow:hidden;border:1px solid rgba(237,204,126,.1)}
.next-world-preview .next-world-progress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6f8958,#e1bd65);box-shadow:0 0 10px rgba(218,178,82,.28);transition:width .8s cubic-bezier(.2,.8,.2,1)}
.next-world-preview.is-unlocked{background:linear-gradient(135deg,rgba(67,94,56,.34),rgba(24,18,12,.42));border-color:rgba(220,183,94,.35);box-shadow:inset 0 1px rgba(255,255,255,.05),0 0 22px rgba(167,134,63,.08)}
.next-world-preview.is-unlocked b,.next-world-preview.is-unlocked span{color:#f0d392}
.next-world-preview.is-unlocked em{color:rgba(221,238,194,.7)}
.win-rank-up{margin:-5px auto 14px;padding:11px 14px;border-radius:15px;display:grid;gap:3px;text-align:center;background:radial-gradient(circle at 50% 0,rgba(216,176,83,.25),transparent 62%),linear-gradient(145deg,rgba(75,100,59,.52),rgba(35,24,15,.74));border:1px solid rgba(235,199,111,.42);box-shadow:0 9px 26px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.08);animation:rankUpArrival .72s cubic-bezier(.2,.9,.3,1.18) both}
.win-rank-up.hidden{display:none}
.win-rank-up strong{font-family:Georgia,serif;font-size:1.05rem;font-weight:400;color:#f4d993}
.win-rank-up span{font-size:.65rem;letter-spacing:.04em;color:rgba(238,225,190,.72)}
@keyframes rankUpArrival{from{opacity:0;transform:translateY(10px) scale(.92)}to{opacity:1;transform:none}}
.level-node.future:disabled{opacity:.3;filter:saturate(.35) brightness(.72);cursor:not-allowed}
.level-node.future:disabled:before{content:'•';position:absolute;top:5px;right:7px;color:rgba(225,198,139,.36);font-size:.8rem}


/* VALES v1.8.1 — Complete three-slot mastery result */
.win-leaves .award-leaf{
  visibility:visible;
  opacity:.28;
  transform:translate3d(0,0,0) rotate(-4deg) scale(.92);
  filter:grayscale(1) saturate(.15) brightness(.72);
}
.win-leaves .award-leaf svg{opacity:.72}
.win-leaves .award-leaf:not(.earned):after{
  content:'';
  position:absolute;
  inset:5px;
  border-radius:50%;
  box-shadow:inset 0 0 0 1px rgba(214,205,188,.10);
  pointer-events:none;
}
.win-leaves .award-leaf.earned{
  filter:none;
  opacity:1;
}
.win-leaves .award-leaf.earned svg{opacity:1}


/* VALES v1.9 — The Cabinet */
.cabinet-shop{width:min(100%,470px)!important;max-height:min(90vh,760px);overflow:auto}
.cabinet-shop .cabinet-intro{margin:10px auto 16px!important;max-width:390px!important}
.cabinet-shop-grid{display:grid;gap:12px;margin:6px 0 14px}
.cabinet-shop-item{display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:13px;padding:12px;border-radius:18px;text-align:left;background:linear-gradient(145deg,rgba(110,85,55,.20),rgba(18,13,9,.36));border:1px solid rgba(224,190,113,.18);box-shadow:inset 0 1px rgba(255,245,216,.05)}
.cabinet-tool-art{position:relative;display:grid;place-items:center;width:72px;height:72px}
.cabinet-tool-art>img{width:68px;height:68px;object-fit:contain;display:block;filter:none}
.cabinet-tool-art>b{position:absolute;right:-2px;top:-2px;display:grid;place-items:center;min-width:25px;height:25px;padding:0 6px;border-radius:999px;background:linear-gradient(180deg,#6f7d50,#445134);border:1px solid rgba(239,207,129,.82);box-shadow:0 4px 10px rgba(0,0,0,.35),inset 0 1px rgba(255,255,255,.14);color:#fff1ca;font:700 .68rem/1 system-ui,sans-serif}
.cabinet-tool-copy{min-width:0}.cabinet-tool-copy strong{display:block;color:#f2d99f;font:400 1.18rem/1.1 Georgia,serif}.cabinet-tool-copy span{display:block;margin-top:5px;color:rgba(244,229,197,.58);font-size:.69rem;line-height:1.35}
.cabinet-buy{min-width:78px;min-height:58px;padding:6px 10px;border-radius:14px;border:1px solid rgba(231,197,119,.52);background:linear-gradient(180deg,#60774d,#3e5536);color:#fff4d2;cursor:pointer;box-shadow:inset 0 1px rgba(255,255,255,.11),0 6px 14px rgba(0,0,0,.25)}
.cabinet-buy>span{display:block;font:700 .82rem/1 system-ui,sans-serif}.cabinet-buy>em{display:flex;align-items:center;justify-content:center;gap:3px;margin-top:5px;font-style:normal;font-size:.68rem;color:#f3d78e}.cabinet-buy>em img{width:18px;height:18px;object-fit:contain}.cabinet-buy:active:not(:disabled){transform:translateY(2px)}.cabinet-buy:disabled{opacity:.34;filter:saturate(.4);cursor:not-allowed}
.cabinet-status{min-height:20px!important;margin:0 auto 13px!important;color:#d9c28d!important;font-size:.68rem!important;letter-spacing:.02em}
.hud-tool-button:disabled{opacity:.46;filter:saturate(.55);cursor:not-allowed}
@media(max-width:430px){.cabinet-shop-item{grid-template-columns:64px minmax(0,1fr) auto;gap:9px;padding:10px}.cabinet-tool-art{width:60px;height:60px}.cabinet-tool-art>img{width:58px;height:58px}.cabinet-buy{min-width:68px;padding-inline:7px}}


/* VALES v2.0 — The Journey Begins */
.world-whispering-grove .atelier-lake-view,
.world-whispering-grove .lake-scene,
.world-whispering-grove .window-landscape{
  filter:saturate(.88) hue-rotate(28deg) brightness(.78) contrast(.96)!important;
}
.world-whispering-grove #gameScreen::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:radial-gradient(circle at 18% 36%,rgba(112,160,100,.13),transparent 34%),linear-gradient(180deg,rgba(30,67,47,.12),transparent 42%,rgba(22,52,36,.08));
  mix-blend-mode:soft-light;
}
.world-whispering-grove .gameplay-title p{color:#dce6bb;text-shadow:0 2px 18px rgba(13,38,23,.75)}
.world-whispering-grove .level-mastery{border-color:rgba(142,178,103,.25)}
.world-divider{grid-column:1/-1;display:flex;align-items:baseline;gap:10px;padding:14px 6px 4px;color:#e8d6a9;border-top:1px solid rgba(219,190,121,.23);margin-top:6px}
.world-divider span{font-size:10px;letter-spacing:.18em;color:#94ac75}.world-divider strong{font-family:Georgia,serif;font-size:18px}
.level-node{position:relative;min-height:86px;padding-top:8px}
.level-node .difficulty-tag{position:absolute;top:5px;right:6px;font-style:normal;font-size:7px;letter-spacing:.08em;padding:2px 5px;border-radius:999px;background:rgba(225,210,168,.10);color:#c9b98c;border:1px solid rgba(225,210,168,.16)}
.level-node .difficulty-new{background:rgba(73,126,75,.32);color:#d9efb8;border-color:rgba(144,194,112,.38)}
.level-node .difficulty-hard{background:rgba(135,82,34,.34);color:#f0c777;border-color:rgba(232,177,82,.42)}
.level-node .level-name{display:block;font-family:Georgia,serif;font-size:9px;line-height:1.05;color:rgba(242,225,185,.78);max-width:72px;margin:2px auto 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.level-node.grove-level{background:linear-gradient(155deg,rgba(55,85,56,.52),rgba(29,47,33,.72));border-color:rgba(143,169,101,.34)}
.level-node.sprite-level{box-shadow:inset 0 0 18px rgba(111,173,103,.10),0 7px 18px rgba(8,22,12,.20)}
.sprite-mark{position:absolute;left:7px;top:5px;color:#b8e38e;font-style:normal;text-shadow:0 0 8px rgba(139,232,111,.55);animation:spriteMarkPulse 2.8s ease-in-out infinite}
@keyframes spriteMarkPulse{0%,100%{opacity:.45;transform:scale(.88)}50%{opacity:1;transform:scale(1.12)}}
@media(max-width:520px){.level-node{min-height:80px}.level-node .level-name{font-size:8px;max-width:62px}.level-node .difficulty-tag{font-size:6px}}

/* VALES v2.0.4 — Level Select & Challenge Intro */
.journey-card{width:min(96vw,680px)!important}
.level-grid{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  column-gap:14px!important;
  row-gap:18px!important;
  padding:16px 2px 24px!important;
}
.world-divider{
  grid-column:1/-1!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin:12px 0 0!important;
  padding:16px 4px 8px!important;
  border-top:1px solid rgba(219,190,121,.24)!important;
}
.world-divider:first-child{margin-top:0!important;border-top:0!important;padding-top:2px!important}
.world-divider>div{display:flex;align-items:baseline;gap:10px;min-width:0}
.world-divider span{white-space:nowrap}
.world-divider strong{font-size:20px!important;line-height:1.1}
.world-divider>em{font-style:normal;font-size:10px;letter-spacing:.05em;color:rgba(232,214,169,.62);white-space:nowrap}
.level-node{
  aspect-ratio:auto!important;
  min-width:0!important;
  min-height:116px!important;
  padding:25px 8px 11px!important;
  grid-template-rows:auto minmax(28px,auto) auto!important;
  align-content:center!important;
  overflow:visible!important;
}
.level-node strong{font-size:1.34rem!important;margin-top:1px}
.level-node .difficulty-tag{
  top:7px!important;
  right:7px!important;
  left:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:40px!important;
  max-width:calc(100% - 14px)!important;
  height:18px!important;
  padding:0 7px!important;
  font-size:6.5px!important;
  line-height:1!important;
  letter-spacing:.11em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  box-sizing:border-box!important;
  z-index:3!important;
}
.level-node .difficulty-master{background:rgba(92,60,112,.43);color:#e9d3ff;border-color:rgba(190,146,222,.46);box-shadow:0 0 12px rgba(133,78,171,.14)}
.level-node .difficulty-trial{background:rgba(107,75,37,.34);color:#e9cf96;border-color:rgba(209,170,97,.34)}
.level-node .level-name{
  display:-webkit-box!important;
  width:100%!important;
  max-width:100%!important;
  min-height:24px!important;
  margin:4px auto 6px!important;
  padding:0 1px!important;
  font-size:8.5px!important;
  line-height:1.25!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  box-sizing:border-box!important;
}
.level-node .level-name-empty{visibility:hidden}
.level-node .node-leaves{position:relative!important;margin-top:1px!important}
.level-node .sprite-mark{left:8px!important;top:8px!important}
.challenge-intro{
  position:fixed;inset:0;z-index:12000;display:flex;flex-direction:column;align-items:center;justify-content:center;
  pointer-events:auto;background:radial-gradient(circle at 50% 46%,rgba(45,29,18,.30),rgba(17,10,6,.78));
  opacity:0;visibility:hidden;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
}
.challenge-intro.hidden{display:flex!important;opacity:0;visibility:hidden}
.challenge-intro.is-playing{visibility:visible;animation:challengeVeil 2.7s ease both}
.challenge-intro strong{font-family:Georgia,serif;font-weight:400;font-size:clamp(54px,14vw,112px);letter-spacing:.18em;padding-left:.18em;color:#f1cf82;text-shadow:0 0 18px rgba(240,189,91,.24),0 4px 32px rgba(0,0,0,.52);opacity:0;transform:scale(.82) translateY(12px)}
.challenge-intro.is-playing strong{animation:challengeTitle 2.45s .16s cubic-bezier(.18,.88,.25,1) both}
.challenge-intro.is-master strong{color:#ead8ff;text-shadow:0 0 22px rgba(176,116,219,.30),0 4px 32px rgba(0,0,0,.55)}
.challenge-intro small{margin-top:9px;font-family:Georgia,serif;font-size:13px;letter-spacing:.12em;color:rgba(245,228,190,.72);opacity:0;transform:translateY(6px)}
.challenge-intro.is-playing small{animation:challengeSubtitle 2.0s .62s ease both}
.challenge-ornament{display:flex;align-items:center;gap:11px;margin-bottom:18px;color:#dfb65f;opacity:0;transform:scaleX(.7)}
.challenge-intro.is-master .challenge-ornament{color:#c69ae4}
.challenge-intro.is-playing .challenge-ornament{animation:challengeOrnament 2.25s .10s ease both}
.challenge-ornament i{display:block;width:72px;height:1px;background:linear-gradient(90deg,transparent,currentColor)}
.challenge-ornament i:last-child{transform:scaleX(-1)}
.challenge-ornament span{font-size:10px}
@keyframes challengeVeil{0%{opacity:0}12%,82%{opacity:1}100%{opacity:0;visibility:hidden}}
@keyframes challengeTitle{0%{opacity:0;transform:scale(.82) translateY(12px);filter:blur(5px)}22%{opacity:1;transform:scale(1) translateY(0);filter:blur(0)}22%,78%{opacity:1;transform:scale(1) translateY(0);filter:blur(0)}100%{opacity:0;transform:scale(1.04) translateY(-8px);filter:blur(3px)}}
@keyframes challengeSubtitle{0%{opacity:0;transform:translateY(6px)}24%{opacity:.86;transform:none}24%,76%{opacity:.86;transform:none}100%{opacity:0;transform:translateY(-4px)}}
@keyframes challengeOrnament{0%{opacity:0;transform:scaleX(.7)}24%{opacity:.8;transform:scaleX(1)}24%,80%{opacity:.8;transform:scaleX(1)}100%{opacity:0;transform:scaleX(1.08)}}
@media(max-width:600px){
  .level-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;column-gap:11px!important;row-gap:15px!important}
  .level-node{min-height:110px!important;padding:24px 6px 10px!important}
  .level-node .level-name{font-size:8px!important}
  .world-divider strong{font-size:18px!important}
}
@media(max-width:390px){
  .level-grid{column-gap:9px!important;row-gap:13px!important}
  .level-node{min-height:106px!important;padding-inline:5px!important}
  .level-node .difficulty-tag{font-size:6px!important;min-width:36px!important;padding-inline:5px!important}
}
body.reduce-motion .challenge-intro.is-playing{animation-duration:.45s!important}
body.reduce-motion .challenge-intro.is-playing strong,body.reduce-motion .challenge-intro.is-playing small,body.reduce-motion .challenge-intro.is-playing .challenge-ornament{animation-duration:.4s!important}

/* VALES v2.0.5 — Trial Ceremony */
.challenge-intro{
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 46%,rgba(210,163,86,.13),transparent 27%),
    radial-gradient(circle at 50% 50%,rgba(20,11,8,.26),rgba(17,9,7,.89) 72%);
  backdrop-filter:blur(2px) saturate(.88);
}
.challenge-intro.is-hard{background:
  radial-gradient(circle at 50% 46%,rgba(166,73,42,.18),transparent 29%),
  radial-gradient(circle at 50% 50%,rgba(42,12,10,.38),rgba(18,8,7,.92) 72%)}
.challenge-intro.is-master{background:
  radial-gradient(circle at 50% 44%,rgba(151,105,202,.21),transparent 29%),
  radial-gradient(circle at 50% 50%,rgba(31,16,42,.42),rgba(13,8,17,.94) 73%)}
.challenge-aura{position:absolute;left:50%;top:50%;width:min(88vw,620px);aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%) scale(.65);opacity:0;background:radial-gradient(circle,rgba(233,189,99,.20),rgba(233,189,99,.05) 36%,transparent 68%);filter:blur(24px)}
.challenge-intro.is-master .challenge-aura{background:radial-gradient(circle,rgba(197,151,236,.24),rgba(133,84,174,.06) 38%,transparent 69%)}
.challenge-ring{position:absolute;left:50%;top:50%;width:min(62vw,430px);aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%) rotate(-90deg);opacity:0}
.challenge-ring:before,.challenge-ring:after{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid rgba(225,181,92,.22);box-shadow:0 0 22px rgba(230,182,89,.12),inset 0 0 22px rgba(230,182,89,.08)}
.challenge-ring:after{inset:14px;border-color:rgba(225,181,92,.09)}
.challenge-intro.is-master .challenge-ring:before,.challenge-intro.is-master .challenge-ring:after{border-color:rgba(205,166,235,.27);box-shadow:0 0 28px rgba(174,117,215,.17),inset 0 0 24px rgba(174,117,215,.09)}
.challenge-ring span{position:absolute;inset:-8px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 14%,rgba(246,212,137,.75) 18%,transparent 22% 48%,rgba(246,212,137,.36) 51%,transparent 55% 100%);filter:blur(.3px)}
.challenge-vines{position:absolute;top:50%;width:42vw;max-width:330px;height:130px;opacity:0;filter:drop-shadow(0 0 10px rgba(189,151,74,.13))}
.challenge-vines-left{right:50%;transform:translate(-48px,-50%) scaleX(.2);transform-origin:right center}
.challenge-vines-right{left:50%;transform:translate(48px,-50%) scaleX(.2) rotate(180deg);transform-origin:left center}
.challenge-vines i{position:absolute;right:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(221,183,102,.7));transform-origin:right center;border-radius:50%}
.challenge-vines i:nth-child(1){top:50%;transform:rotate(-8deg)}
.challenge-vines i:nth-child(2){top:35%;width:72%;transform:rotate(14deg)}
.challenge-vines i:nth-child(3){top:67%;width:58%;transform:rotate(-25deg)}
.challenge-intro.is-master .challenge-vines i{background:linear-gradient(90deg,transparent,rgba(199,157,228,.74))}
.challenge-intro em{position:relative;margin-bottom:10px;font:normal 600 10px/1 system-ui,sans-serif;letter-spacing:.38em;padding-left:.38em;color:rgba(245,220,163,.62);opacity:0;transform:translateY(8px)}
.challenge-intro strong{position:relative;z-index:2}
.challenge-intro small{position:relative;z-index:2;font-size:14px;letter-spacing:.15em;text-transform:none}
.challenge-intro.is-playing .challenge-aura{animation:trialAura 2.65s ease both}
.challenge-intro.is-playing .challenge-ring{animation:trialRing 3.15s cubic-bezier(.19,.8,.22,1) both}
.challenge-intro.is-playing .challenge-vines-left{animation:trialVineLeft 2.75s .20s cubic-bezier(.18,.84,.25,1) both}
.challenge-intro.is-playing .challenge-vines-right{animation:trialVineRight 2.75s .20s cubic-bezier(.18,.84,.25,1) both}
.challenge-intro.is-playing em{animation:trialEyebrow 2.35s .26s ease both}
.challenge-intro.is-hard.is-playing strong{animation:hardImpact 2.45s .14s cubic-bezier(.16,.9,.26,1) both}
.challenge-intro.is-master.is-playing strong{animation:masterLetters 3.2s .18s cubic-bezier(.16,.9,.23,1) both}
.challenge-intro.is-replay.is-playing{animation-duration:1.5s!important}
.challenge-intro.is-replay.is-playing strong,.challenge-intro.is-replay.is-playing small,.challenge-intro.is-replay.is-playing em,.challenge-intro.is-replay.is-playing .challenge-ornament,.challenge-intro.is-replay.is-playing .challenge-aura,.challenge-intro.is-replay.is-playing .challenge-ring,.challenge-intro.is-replay.is-playing .challenge-vines{animation-duration:1.32s!important;animation-delay:0s!important}
body.challenge-camera-push #gameScreen{animation:trialCameraPush 3.25s ease both;transform-origin:50% 44%}
body.challenge-ceremony-pause #gameScreen *{animation-play-state:paused!important}
@keyframes trialAura{0%{opacity:0;transform:translate(-50%,-50%) scale(.55)}22%{opacity:1;transform:translate(-50%,-50%) scale(1)}22%,82%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.12)}}
@keyframes trialRing{0%{opacity:0;transform:translate(-50%,-50%) rotate(-100deg) scale(.72)}24%{opacity:.9;transform:translate(-50%,-50%) rotate(6deg) scale(1)}24%,84%{opacity:.9;transform:translate(-50%,-50%) rotate(10deg) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) rotate(18deg) scale(1.06)}}
@keyframes trialVineLeft{0%{opacity:0;transform:translate(-48px,-50%) scaleX(.2)}24%{opacity:.75;transform:translate(-48px,-50%) scaleX(1)}24%,84%{opacity:.75;transform:translate(-48px,-50%) scaleX(1)}100%{opacity:0;transform:translate(-48px,-50%) scaleX(1.08)}}
@keyframes trialVineRight{0%{opacity:0;transform:translate(48px,-50%) scaleX(.2) rotate(180deg)}24%{opacity:.75;transform:translate(48px,-50%) scaleX(1) rotate(180deg)}24%,84%{opacity:.75;transform:translate(48px,-50%) scaleX(1) rotate(180deg)}100%{opacity:0;transform:translate(48px,-50%) scaleX(1.08) rotate(180deg)}}
@keyframes trialEyebrow{0%{opacity:0;transform:translateY(8px)}24%{opacity:.72;transform:none}24%,82%{opacity:.72;transform:none}100%{opacity:0;transform:translateY(-5px)}}
@keyframes hardImpact{0%{opacity:0;transform:scale(1.34) translateY(8px);filter:blur(9px)}16%{opacity:1;transform:scale(.96) translateY(0);filter:blur(0)}25%{transform:scale(1.025)}34%,82%{opacity:1;transform:scale(1);filter:blur(0)}100%{opacity:0;transform:scale(1.075) translateY(-8px);filter:blur(4px)}}
@keyframes masterLetters{0%{opacity:0;letter-spacing:.42em;transform:scale(.88) translateY(13px);filter:blur(10px)}24%{opacity:1;letter-spacing:.23em;transform:scale(1.02);filter:blur(0)}36%,84%{opacity:1;letter-spacing:.18em;transform:scale(1);filter:blur(0)}100%{opacity:0;letter-spacing:.24em;transform:scale(1.055) translateY(-9px);filter:blur(4px)}}
@keyframes trialCameraPush{0%{transform:scale(1)}28%,84%{transform:scale(1.022)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){body.challenge-camera-push #gameScreen{animation:none!important}.challenge-intro.is-playing *{animation-duration:.35s!important}}


/* VALES v2.0.7 — Performance Foundation */
html.perf-low .atelier-scene,
html.perf-low .home-rank-crest,
html.perf-low .garden-rank-banner,
html.perf-low .visual-action-card,
html.perf-low .wallet-chip,
html.perf-low .hud-panel,
html.perf-low .modal {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
html.perf-low .atelier-scene * { animation-timing-function: linear; }
html.perf-low .dust-mote:nth-child(n+7),
html.perf-low .ambient-leaf:nth-child(n+8) { display:none !important; }
html.perf-low .award-leaf:before { filter:blur(6px) !important; }
@media (prefers-reduced-motion: reduce){
  .atelier-scene *{animation-duration:.001ms!important;animation-iteration-count:1!important}
}


/* VALES v2.1 — Seven Vales world theming */
body.world-atelier{--world-accent:#d8b269;--world-wash:rgba(128,83,42,.10)}
body.world-grove{--world-accent:#9dbb77;--world-wash:rgba(50,104,57,.16)}
body.world-marsh{--world-accent:#71d5dd;--world-wash:rgba(37,112,128,.22)}
body.world-conservatory{--world-accent:#bda5ff;--world-wash:rgba(74,54,126,.22)}
body.world-orchard{--world-accent:#efad55;--world-wash:rgba(155,77,29,.20)}
body.world-vale{--world-accent:#bce7ff;--world-wash:rgba(74,126,164,.22)}
body.world-sanctuary{--world-accent:#f1d37e;--world-wash:rgba(109,78,143,.18)}
body[class*="world-"] #gameScreen::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,var(--world-wash,transparent),transparent 54%);mix-blend-mode:screen;z-index:1}
body.world-grove .atelier-lake-view,body.world-grove .lake-scene,body.world-grove .window-landscape{filter:saturate(.78) hue-rotate(34deg) brightness(.72)!important}
body.world-marsh .atelier-lake-view,body.world-marsh .lake-scene,body.world-marsh .window-landscape{filter:saturate(1.05) hue-rotate(105deg) brightness(.68) contrast(1.08)!important}
body.world-conservatory .atelier-lake-view,body.world-conservatory .lake-scene,body.world-conservatory .window-landscape{filter:saturate(.88) hue-rotate(176deg) brightness(.46) contrast(1.14)!important}
body.world-orchard .atelier-lake-view,body.world-orchard .lake-scene,body.world-orchard .window-landscape{filter:saturate(1.18) hue-rotate(-24deg) sepia(.25) brightness(.78)!important}
body.world-vale .atelier-lake-view,body.world-vale .lake-scene,body.world-vale .window-landscape{filter:saturate(.62) hue-rotate(142deg) brightness(.82) contrast(.92)!important}
body.world-sanctuary .atelier-lake-view,body.world-sanctuary .lake-scene,body.world-sanctuary .window-landscape{filter:saturate(1.08) hue-rotate(205deg) brightness(.72) contrast(1.08)!important}
body[class*="world-"] .gameplay-title p{color:var(--world-accent,#d8b269)!important}
.world-divider-marsh strong{color:#9be8e6}.world-divider-conservatory strong{color:#c7b2ff}.world-divider-orchard strong{color:#efb76d}.world-divider-vale strong{color:#caedff}.world-divider-sanctuary strong{color:#f2d88b}
.mechanic-mark{position:absolute;left:8px;top:8px;width:10px;height:10px;border-radius:50%;box-shadow:0 0 10px currentColor;z-index:3}.mechanic-sprite{color:#a8d77f;background:currentColor}.mechanic-ancient{color:#77d7df;border:2px solid currentColor;background:transparent}.mechanic-bloom{color:#e7a7d0;background:radial-gradient(circle,#f4d174 0 25%,currentColor 28% 100%)}.mechanic-moon{color:#c7b2ff;background:currentColor;clip-path:circle(50% at 50% 50%)}.mechanic-frozen{color:#c8efff;background:linear-gradient(135deg,transparent 34%,currentColor 36% 62%,transparent 64%)}
.world-node-marsh{border-color:rgba(113,213,221,.22)}.world-node-conservatory{border-color:rgba(189,165,255,.22)}.world-node-orchard{border-color:rgba(239,173,85,.22)}.world-node-vale{border-color:rgba(188,231,255,.22)}.world-node-sanctuary{border-color:rgba(241,211,126,.30)}

/* VALES v2.1.3 — Journey Accordion */
#worldModal .journey-card{display:flex;flex-direction:column;max-height:min(92vh,880px)!important;overflow:hidden!important;padding-top:0!important}
.journey-sticky-head{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 -16px;padding:18px 16px 12px;background:linear-gradient(180deg,rgba(42,24,15,.99),rgba(42,24,15,.93) 78%,rgba(42,24,15,0));backdrop-filter:none!important}
.journey-sticky-head .eyebrow{margin:0 0 3px}.journey-sticky-head h2{margin:0}
.journey-close{width:42px;height:42px;min-height:42px!important;border-radius:50%!important;font-size:1.55rem!important;line-height:1;padding:0!important;flex:0 0 auto;background:rgba(18,12,8,.72)!important;border:1px solid rgba(229,194,128,.35)!important;color:#f1dfb7!important}
.journey-copy,.journey-progress,.world-rank-strip,.next-world-preview,.journey-actions{flex:0 0 auto}
#levelGrid.journey-accordion{display:block!important;overflow-y:auto;overscroll-behavior:contain;padding:4px 2px 16px;scrollbar-width:thin;scrollbar-color:rgba(219,180,105,.35) transparent}
.journey-world-section{border-top:1px solid rgba(225,189,119,.16)}
.journey-world-section:first-child{border-top:0}
.journey-world-header{position:sticky;top:0;z-index:5;width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto 18px;align-items:center;gap:10px;min-height:64px;padding:12px 10px;border:0!important;border-radius:0!important;background:linear-gradient(180deg,rgba(52,30,18,.98),rgba(42,24,15,.96))!important;box-shadow:none!important;text-align:left;color:#f2dfb8}
.journey-world-header:hover:not(:disabled){transform:none!important;filter:brightness(1.03);box-shadow:none!important}
.journey-world-header .world-kicker{font:600 .58rem/1 system-ui,sans-serif;letter-spacing:.22em;color:#a9c783;white-space:nowrap}
.journey-world-header strong{font-family:Georgia,serif;font-size:clamp(1.1rem,3.3vw,1.5rem);line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.journey-world-header em{font:500 .64rem/1 system-ui,sans-serif;letter-spacing:.08em;color:rgba(244,225,183,.62);font-style:normal;white-space:nowrap}
.journey-world-header i{width:8px;height:8px;border-right:1px solid #d6b678;border-bottom:1px solid #d6b678;transform:rotate(45deg);transition:transform .18s ease}
.journey-world-section.is-open .journey-world-header i{transform:rotate(225deg)}
.journey-world-panel{padding:14px 4px 22px;background:rgba(18,11,7,.12)}
.journey-world-panel[hidden]{display:none!important}
.journey-world-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.journey-world-grid .level-node{aspect-ratio:.82;min-width:0;border-radius:18px;padding:29px 7px 12px;display:flex!important;flex-direction:column;align-items:center;justify-content:flex-start;overflow:hidden}
.journey-world-grid .level-node .difficulty-badge{position:absolute;top:9px;right:8px;left:auto;max-width:calc(100% - 26px);height:20px;padding:0 8px;display:flex;align-items:center;justify-content:center;border-radius:999px;font:600 .48rem/1 system-ui,sans-serif!important;letter-spacing:.13em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.journey-world-grid .level-node strong{font-family:Georgia,serif;font-size:1.55rem!important;line-height:1;margin-top:4px}
.journey-world-grid .level-node small{position:static!important;margin-top:9px;min-height:2.25em;width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.58rem!important;line-height:1.15;text-align:center;opacity:.7}
.journey-world-grid .level-leaves{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);display:flex!important;flex-direction:row!important;align-items:center;justify-content:center;gap:4px;white-space:nowrap}
.journey-world-grid .node-leaf{display:inline-flex!important;width:13px!important;height:13px!important;margin:0!important;flex:0 0 13px}
.journey-world-grid .node-leaf svg{width:13px!important;height:13px!important;display:block}
.journey-world-grid .mechanic-mark{left:8px;top:10px}
.journey-actions{position:sticky;bottom:0;z-index:15;margin:0 -16px -24px;padding:12px 16px 18px;background:linear-gradient(0deg,rgba(42,24,15,.99),rgba(42,24,15,.93) 75%,rgba(42,24,15,0))}
@media(max-width:520px){.journey-world-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.journey-world-grid .level-node{border-radius:15px}.journey-world-header{grid-template-columns:auto minmax(0,1fr) auto 14px;gap:7px}.journey-world-header strong{font-size:1.05rem}.journey-world-header em{font-size:.55rem}}
@media(max-width:370px){.journey-world-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* VALES v2.2 — The Journey Book */
#worldModal .journey-card{
  width:min(94vw,680px)!important;
  max-height:min(92vh,900px)!important;
  overflow:hidden!important;
  padding:0 16px 18px!important;
  background:linear-gradient(180deg,rgba(55,31,19,.98),rgba(31,18,12,.99))!important;
}
.journey-sticky-head{
  position:sticky!important;top:0!important;z-index:30!important;
  margin:0 -16px!important;padding:20px 16px 14px!important;
  background:linear-gradient(180deg,rgba(43,24,15,1),rgba(43,24,15,.96) 84%,rgba(43,24,15,0))!important;
}
.journey-sticky-head h2{font-size:clamp(2.05rem,8vw,3.2rem)!important;line-height:.95!important}
.journey-copy{margin:0 0 14px!important;text-align:center;font-size:.84rem!important;line-height:1.42!important}
.journey-progress{margin-bottom:14px!important}
.world-rank-strip{margin-bottom:14px!important}
#levelGrid.journey-book{
  display:flex!important;flex-direction:column;gap:14px;
  overflow-y:auto;overscroll-behavior:contain;
  padding:4px 2px 14px!important;
  scrollbar-width:thin;scrollbar-color:rgba(219,180,105,.35) transparent;
}
.journey-actions-hidden,.journey-preview-hidden{display:none!important}
.journey-chapter{
  --chapter-accent:#98b873;
  --chapter-accent-soft:rgba(152,184,115,.18);
  --chapter-bg-a:#3b2619;
  --chapter-bg-b:#24160f;
  border:1px solid color-mix(in srgb,var(--chapter-accent) 34%,transparent);
  border-radius:22px;overflow:hidden;
  box-shadow:0 12px 30px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.05);
  background:linear-gradient(135deg,var(--chapter-bg-a),var(--chapter-bg-b));
  flex:0 0 auto;
}
.journey-chapter.chapter-atelier{--chapter-accent:#b7cf7a;--chapter-bg-a:#3b341f;--chapter-bg-b:#251d13}
.journey-chapter.chapter-grove{--chapter-accent:#79b67a;--chapter-bg-a:#263b2b;--chapter-bg-b:#17251b}
.journey-chapter.chapter-marsh{--chapter-accent:#72c6c4;--chapter-bg-a:#1f3d41;--chapter-bg-b:#13272d}
.journey-chapter.chapter-conservatory{--chapter-accent:#b79ad9;--chapter-bg-a:#302640;--chapter-bg-b:#1d1728}
.journey-chapter.chapter-orchard{--chapter-accent:#d5a55f;--chapter-bg-a:#49301d;--chapter-bg-b:#2c1c11}
.journey-chapter.chapter-vale{--chapter-accent:#9bc9de;--chapter-bg-a:#263a46;--chapter-bg-b:#17252d}
.journey-chapter.chapter-sanctuary{--chapter-accent:#d8bf73;--chapter-bg-a:#46361f;--chapter-bg-b:#281f13}
.journey-chapter.is-locked{filter:saturate(.62);opacity:.78}
.journey-chapter-cover{
  position:relative!important;top:auto!important;z-index:1!important;
  width:100%;min-height:92px!important;padding:15px 16px!important;
  display:grid!important;grid-template-columns:46px minmax(0,1fr) auto!important;gap:13px!important;align-items:center!important;
  border:0!important;border-radius:0!important;text-align:left!important;
  color:#f1dfb7!important;background:
    radial-gradient(circle at 12% 18%,var(--chapter-accent-soft),transparent 34%),
    linear-gradient(135deg,var(--chapter-bg-a),var(--chapter-bg-b))!important;
  box-shadow:none!important;overflow:hidden;
}
.journey-chapter-cover:hover:not(:disabled){transform:none!important;filter:brightness(1.04)!important;box-shadow:none!important}
.chapter-symbol{
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  color:var(--chapter-accent);font-size:1.2rem;
  border:1px solid color-mix(in srgb,var(--chapter-accent) 50%,transparent);
  background:rgba(8,8,8,.18);box-shadow:0 0 18px var(--chapter-accent-soft);
}
.chapter-copy{min-width:0;display:flex;flex-direction:column;gap:3px}
.chapter-copy small{font:700 .55rem/1 system-ui,sans-serif;letter-spacing:.23em;color:var(--chapter-accent)}
.chapter-copy strong{font-family:Georgia,serif;font-size:clamp(1.12rem,4.2vw,1.58rem);line-height:1.05;color:#f2dfb8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chapter-copy em{font:500 .62rem/1.25 system-ui,sans-serif;color:rgba(243,225,188,.6);font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chapter-status{display:flex;align-items:center;gap:10px;font:600 .62rem/1 system-ui,sans-serif;letter-spacing:.08em;color:rgba(243,225,188,.66);white-space:nowrap}
.chapter-status i{width:8px;height:8px;border-right:1px solid var(--chapter-accent);border-bottom:1px solid var(--chapter-accent);transform:rotate(45deg);transition:transform .18s ease}
.journey-chapter.is-open .chapter-status i{transform:rotate(225deg)}
.journey-chapter-pages{padding:14px;background:rgba(8,6,4,.2);border-top:1px solid rgba(255,255,255,.055)}
.journey-chapter-pages[hidden]{display:none!important}
.journey-level-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.journey-level-card{
  position:relative;aspect-ratio:.92;min-width:0;border-radius:15px!important;
  border:1px solid rgba(231,199,137,.16)!important;
  background:linear-gradient(180deg,rgba(50,34,23,.88),rgba(24,17,12,.96))!important;
  color:#ead9b5!important;padding:24px 5px 9px!important;
  display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:9px;
  box-shadow:inset 0 1px rgba(255,255,255,.035),0 5px 14px rgba(0,0,0,.18)!important;overflow:hidden;
}
.journey-level-card.completed{background:linear-gradient(180deg,rgba(76,103,61,.93),rgba(43,63,35,.97))!important;border-color:rgba(205,181,107,.55)!important}
.journey-level-card.current{outline:2px solid var(--chapter-accent);outline-offset:2px}
.journey-level-card:disabled{opacity:.36;filter:saturate(.5);cursor:not-allowed}
.journey-level-card strong{font-family:Georgia,serif;font-size:1.42rem!important;line-height:1!important;margin:0!important}
.journey-level-card .difficulty-badge{
  position:absolute;top:7px;left:50%;right:auto;transform:translateX(-50%);
  max-width:calc(100% - 12px);height:17px;padding:0 7px;border-radius:999px;
  display:flex;align-items:center;justify-content:center;
  font:700 .43rem/1 system-ui,sans-serif!important;letter-spacing:.12em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  border:1px solid currentColor;background:rgba(255,255,255,.035)
}
.difficulty-gentle{color:#bcd48b!important}.difficulty-easy{color:#9fc47a!important}.difficulty-focused{color:#c7a36b!important}.difficulty-entwined,.difficulty-trial{color:#7fb28b!important}.difficulty-hard{color:#d58b78!important}.difficulty-master{color:#d7b85c!important}.difficulty-new{color:#9fd77c!important}.difficulty-normal{color:#b7aa92!important}.difficulty-intricate{color:#b697cb!important}.difficulty-mastery{color:#d3b35b!important}
.journey-level-card .level-leaves{position:static!important;transform:none!important;display:flex!important;flex-direction:row!important;gap:3px!important;margin-top:1px!important}
.journey-level-card .node-leaf{width:11px!important;height:11px!important;flex:0 0 11px!important;margin:0!important}
.journey-level-card .node-leaf svg{width:11px!important;height:11px!important}
.journey-level-card .mechanic-mark,.journey-level-card small{display:none!important}
@media(max-width:560px){
  .journey-level-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
  .journey-chapter-cover{grid-template-columns:40px minmax(0,1fr) auto!important;padding:13px 12px!important;gap:10px!important}
  .chapter-symbol{width:36px;height:36px}
  .chapter-copy em{font-size:.55rem}
}
@media(max-width:430px){
  #worldModal .journey-card{padding-inline:12px!important}
  .journey-sticky-head{margin-inline:-12px!important;padding-inline:12px!important}
  .journey-level-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
  .journey-chapter-pages{padding:10px}
  .journey-level-card{border-radius:12px!important;padding-top:22px!important}
  .journey-level-card strong{font-size:1.22rem!important}
  .journey-level-card .difficulty-badge{font-size:.38rem!important;letter-spacing:.09em;height:15px}
  .chapter-copy strong{font-size:1rem}
  .chapter-copy em{display:none}
  .chapter-status{font-size:.55rem}
}
@media(max-width:350px){.journey-level-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}


/* VALES v2.3 — The Trial Director: plaque hierarchy + chapter-tinted trial cards */
#worldModal .world-rank-strip{
  position:relative!important;overflow:hidden!important;
  border-radius:12px!important;
  background:
    linear-gradient(90deg,rgba(255,228,171,.045),transparent 28%,transparent 72%,rgba(255,228,171,.035)),
    repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 7px),
    linear-gradient(145deg,#2a1c13,#17100b)!important;
  border:1px solid rgba(215,177,105,.35)!important;
  box-shadow:inset 0 1px rgba(255,246,218,.08),inset 0 -12px 28px rgba(0,0,0,.18),0 8px 20px rgba(0,0,0,.2)!important;
}
#worldModal .world-rank-strip::before,#worldModal .world-rank-strip::after{
  content:'';position:absolute;top:9px;bottom:9px;width:2px;border-radius:2px;
  background:linear-gradient(transparent,#b99050,transparent);opacity:.45
}
#worldModal .world-rank-strip::before{left:8px}#worldModal .world-rank-strip::after{right:8px}
#worldModal .world-rank-copy span{color:#d8b36f!important;letter-spacing:.2em!important}
#worldModal .world-rank-copy strong{color:#f0ddb7!important;text-shadow:0 1px 10px rgba(226,183,106,.12)}
#worldModal .world-rank-count{color:#e7c987!important}

.journey-chapter-pages{
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--chapter-accent) 10%,rgba(8,6,4,.9)),rgba(8,6,4,.42))!important;
}
.journey-level-card{
  border-color:color-mix(in srgb,var(--chapter-accent) 26%,rgba(231,199,137,.13))!important;
  background:
    radial-gradient(circle at 50% -15%,color-mix(in srgb,var(--chapter-accent) 16%,transparent),transparent 55%),
    linear-gradient(180deg,color-mix(in srgb,var(--chapter-bg-a) 34%,#2b1d14),color-mix(in srgb,var(--chapter-bg-b) 28%,#17100c))!important;
}
.journey-level-card.completed{
  background:
    radial-gradient(circle at 50% -10%,color-mix(in srgb,var(--chapter-accent) 28%,transparent),transparent 58%),
    linear-gradient(180deg,color-mix(in srgb,var(--chapter-accent) 34%,#3b5632),color-mix(in srgb,var(--chapter-bg-b) 35%,#24351f))!important;
  border-color:color-mix(in srgb,var(--chapter-accent) 62%,#cdb56b)!important;
}
.journey-level-card .difficulty-badge{background:rgba(15,10,7,.42)!important;text-shadow:0 1px 6px rgba(0,0,0,.42)}
.difficulty-gentle{color:#b9d589!important}.difficulty-easy{color:#91c780!important}.difficulty-normal{color:#d1c3a4!important}.difficulty-hard{color:#e18f79!important}.difficulty-master{color:#f0c75d!important;box-shadow:0 0 12px rgba(227,184,74,.14)}.difficulty-new{color:var(--chapter-accent)!important}


/* VALES v2.3.1 — Journey Polish */
#worldModal .journey-card{
  position:relative;
  background:
    linear-gradient(180deg,rgba(82,48,30,.34) 0,rgba(54,31,20,.20) 220px,rgba(34,20,14,0) 430px),
    linear-gradient(180deg,#321d13,#20130d)!important;
}
#worldModal .journey-polished-head{
  position:relative!important;top:auto!important;
  display:grid!important;
  grid-template-columns:72px minmax(0,1fr) 36px!important;
  align-items:start!important;
  gap:14px!important;
  margin:0 -12px 12px!important;
  padding:28px 20px 22px!important;
  min-height:250px;
  background:linear-gradient(180deg,rgba(58,31,20,.96) 0%,rgba(58,31,20,.84) 68%,rgba(58,31,20,0) 100%)!important;
  text-align:left!important;
}
.journey-rank-anchor{padding-top:9px;display:flex;justify-content:center}
.journey-rank-anchor .rank-medallion{width:64px!important;height:70px!important;filter:drop-shadow(0 8px 12px rgba(0,0,0,.25))}
.journey-rank-anchor .rank-art{object-fit:contain!important}
.journey-heading-copy{min-width:0;padding-right:2px}
.journey-heading-copy .eyebrow{margin:0 0 8px!important;text-align:left!important;letter-spacing:.28em!important;font-size:.64rem!important;color:#d8b46f!important}
.journey-heading-copy h2{margin:0 0 13px!important;text-align:left!important;font-size:clamp(2.1rem,7vw,3.15rem)!important;line-height:.94!important;white-space:normal}
#worldModal .journey-heading-copy .journey-copy{margin:0 0 13px!important;text-align:left!important;font-size:.79rem!important;line-height:1.48!important;max-width:34rem;color:rgba(239,220,183,.72)!important}
.journey-rank-inline{display:flex;align-items:baseline;gap:8px;margin-bottom:12px;min-height:23px;color:#d8b36f}
.journey-rank-inline>span{font:700 .52rem/1 system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase;opacity:.82}
.journey-rank-inline>strong{font:500 1.02rem/1 Georgia,serif;color:#f0ddb7}
.journey-rank-inline .world-rank-count{margin-left:auto;display:flex;align-items:center;gap:5px;font-size:.76rem;color:#e7c987}
.journey-rank-inline .world-rank-count svg{width:15px;height:15px}
#worldModal .journey-heading-copy .journey-progress{margin:0!important;display:grid!important;grid-template-columns:auto 1fr;gap:10px!important;align-items:center!important;font-size:.67rem!important}
#worldModal .journey-heading-copy .journey-progress>div{height:6px!important}
#worldModal .journey-close{
  position:absolute!important;top:18px!important;right:16px!important;
  width:34px!important;height:34px!important;min-height:34px!important;
  font-size:1.25rem!important;border-width:1px!important;
  background:rgba(17,11,8,.55)!important;border-color:rgba(229,194,128,.26)!important;
  box-shadow:0 4px 12px rgba(0,0,0,.16)!important;
}
#worldModal .journey-rank-legacy{display:none!important}
#worldModal #levelGrid.journey-book{padding-top:0!important}
.journey-chapter-cover{box-shadow:0 10px 22px rgba(0,0,0,.16),inset 0 1px rgba(255,255,255,.045)!important}
.chapter-symbol{filter:drop-shadow(0 0 8px color-mix(in srgb,var(--chapter-accent) 38%,transparent))}
.journey-chapter.is-open .chapter-symbol{animation:chapterIconWake .7s cubic-bezier(.2,.8,.2,1) both}
@keyframes chapterIconWake{0%{transform:scale(.84);filter:drop-shadow(0 0 0 transparent)}55%{transform:scale(1.08);filter:drop-shadow(0 0 13px var(--chapter-accent))}100%{transform:scale(1);filter:drop-shadow(0 0 8px color-mix(in srgb,var(--chapter-accent) 38%,transparent))}}
@media(max-width:520px){
  #worldModal .journey-polished-head{grid-template-columns:58px minmax(0,1fr) 30px!important;gap:10px!important;padding:24px 14px 18px!important;min-height:232px}
  .journey-rank-anchor .rank-medallion{width:52px!important;height:58px!important}
  .journey-heading-copy h2{font-size:clamp(1.92rem,8vw,2.7rem)!important}
  #worldModal .journey-heading-copy .journey-copy{font-size:.72rem!important;line-height:1.42!important}
  #worldModal .journey-close{top:14px!important;right:12px!important;width:31px!important;height:31px!important;min-height:31px!important;font-size:1.12rem!important}
}
@media(max-width:380px){
  #worldModal .journey-polished-head{grid-template-columns:48px minmax(0,1fr)!important}
  .journey-rank-anchor .rank-medallion{width:44px!important;height:50px!important}
  .journey-heading-copy h2{font-size:1.82rem!important}
  .journey-rank-inline>span{display:none}
}
body.reduce-motion .journey-chapter.is-open .chapter-symbol{animation:none!important}

/* VALES v2.3.2 — Book Edge */
#worldModal .journey-card{
  background:
    radial-gradient(ellipse at 28% 8%,rgba(118,65,38,.20),transparent 44%),
    linear-gradient(180deg,#3a2116 0%,#2b190f 42%,#20130d 100%)!important;
  isolation:isolate;
}
#worldModal .journey-polished-head{
  position:relative!important;
  z-index:12!important;
  background:transparent!important;
  min-height:226px!important;
  padding-top:22px!important;
  padding-bottom:20px!important;
  margin-bottom:0!important;
}
#worldModal .journey-polished-head::after{
  content:"";
  position:absolute;
  z-index:-1;
  left:-2px;right:-2px;bottom:-54px;
  height:112px;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(58,33,22,.98) 0%,rgba(58,33,22,.84) 32%,rgba(48,28,18,.48) 62%,rgba(38,22,14,0) 100%);
  filter:blur(10px);
  transform:translateZ(0);
}
#worldModal .journey-polished-head::before{
  content:"";
  position:absolute;
  left:18px;right:18px;bottom:-18px;height:40px;
  pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(15,8,4,.25),transparent 72%);
  filter:blur(14px);
  opacity:.75;
}
#worldModal #levelGrid.journey-book{
  position:relative;
  z-index:2;
  margin-top:20px!important;
}
#worldModal .journey-close{
  top:5px!important;right:8px!important;
  width:30px!important;height:30px!important;min-height:30px!important;
  padding:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;
  color:rgba(247,226,184,.84)!important;
  font:300 1.75rem/1 Georgia,serif!important;
  opacity:.82;
}
#worldModal .journey-close:active{transform:scale(.9)!important;opacity:1}
.journey-heading-copy .eyebrow{margin-bottom:5px!important}
.journey-heading-copy h2{margin-bottom:10px!important;font-size:clamp(2rem,6.6vw,3rem)!important}
#worldModal .journey-heading-copy .journey-copy{
  max-width:31rem!important;
  margin-bottom:11px!important;
  font-size:.80rem!important;
  line-height:1.42!important;
  color:rgba(242,222,184,.78)!important;
}
#worldModal .journey-heading-copy .journey-progress>span::before{
  content:"Journey Progress  ";
  color:rgba(217,180,108,.68);
}
@media(max-width:520px){
  #worldModal .journey-polished-head{min-height:214px!important;padding-top:18px!important;padding-bottom:16px!important}
  #worldModal .journey-close{top:3px!important;right:6px!important;width:27px!important;height:27px!important;min-height:27px!important;font-size:1.55rem!important}
  #worldModal .journey-polished-head::after{bottom:-48px;height:98px;filter:blur(9px)}
  #worldModal #levelGrid.journey-book{margin-top:18px!important}
}
@media(prefers-reduced-motion:reduce){#worldModal .journey-polished-head::after{filter:blur(7px)}}


/* VALES v2.3.3 — The First Page */
#worldModal .journey-card{
  background:
    radial-gradient(ellipse at 20% 3%,rgba(152,91,49,.16),transparent 34%),
    radial-gradient(ellipse at 86% 14%,rgba(210,168,94,.055),transparent 30%),
    repeating-linear-gradient(0deg,rgba(255,238,196,.011) 0 1px,transparent 1px 4px),
    linear-gradient(180deg,#3b2115 0%,#2d190f 38%,#20130d 100%)!important;
}
#worldModal .journey-first-page{
  grid-template-columns:86px minmax(0,1fr)!important;
  gap:18px!important;
  min-height:270px!important;
  padding:30px 26px 28px!important;
  overflow:visible;
}
#worldModal .journey-first-page::before{
  content:"";
  position:absolute;
  inset:0 0 -52px;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 14% 23%,rgba(224,184,110,.08),transparent 25%),
    linear-gradient(118deg,transparent 0 15%,rgba(222,179,101,.028) 15.5% 16%,transparent 16.5% 47%,rgba(222,179,101,.02) 47.5% 48%,transparent 48.5%),
    radial-gradient(ellipse at 62% 4%,rgba(246,209,139,.05),transparent 34%);
  opacity:.95;
  filter:none!important;
}
#worldModal .journey-first-page::after{
  bottom:-66px!important;
  height:136px!important;
  background:linear-gradient(180deg,rgba(59,33,21,.99) 0%,rgba(58,32,20,.86) 33%,rgba(45,25,16,.48) 66%,rgba(32,19,13,0) 100%)!important;
  filter:blur(12px)!important;
}
.journey-manuscript-crest{
  position:relative;
  width:76px;height:76px;
  margin-top:14px;
  display:grid;place-items:center;
  color:#e5c77f;
  filter:drop-shadow(0 10px 14px rgba(0,0,0,.32));
}
.journey-manuscript-crest::before,
.journey-manuscript-crest::after{
  content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(45deg);
  width:54px;height:54px;border:1px solid rgba(225,193,119,.58);border-radius:18px 4px 18px 4px;
  background:linear-gradient(145deg,rgba(104,75,31,.42),rgba(25,16,10,.88));
  box-shadow:inset 0 0 0 3px rgba(228,196,119,.06),0 0 24px rgba(190,151,72,.08);
}
.journey-manuscript-crest::after{width:42px;height:42px;border-color:rgba(202,233,142,.34);background:transparent;transform:translate(-50%,-50%) rotate(22.5deg)}
.journey-manuscript-crest .crest-ring{position:absolute;width:31px;height:31px;border:1px solid rgba(231,199,124,.65);border-radius:50%;box-shadow:0 0 16px rgba(216,181,100,.16)}
.journey-manuscript-crest .crest-compass{position:absolute;width:2px;height:38px;background:linear-gradient(transparent,#e2c17c,transparent);transform:rotate(45deg)}
.journey-manuscript-crest .crest-compass::after{content:"";position:absolute;inset:0;background:inherit;transform:rotate(90deg)}
.journey-manuscript-crest .crest-leaves{position:absolute;width:11px;height:20px;border-radius:0;clip-path:polygon(50% 0%,82% 10%,100% 38%,90% 72%,62% 96%,34% 100%,10% 80%,0 48%,12% 16%);background:linear-gradient(145deg,#a9ca6e,#46642f);transform:rotate(-35deg);box-shadow:15px 9px 0 -1px #6f9148,-15px 9px 0 -1px #6f9148}
.journey-manuscript-crest b{position:absolute;bottom:-4px;font:700 .48rem/1 system-ui,sans-serif;letter-spacing:.24em;color:rgba(235,205,132,.72)}
.journey-heading-copy{padding-right:34px!important}
.journey-heading-copy .eyebrow{font-size:.60rem!important;letter-spacing:.34em!important;color:#e0bd70!important;margin-bottom:7px!important}
.journey-heading-copy h2{font-size:clamp(2.15rem,6.8vw,3.2rem)!important;line-height:.92!important;margin-bottom:14px!important;text-shadow:0 4px 22px rgba(0,0,0,.20)}
#worldModal .journey-heading-copy .journey-copy{font-family:Georgia,serif!important;font-style:italic;font-size:.88rem!important;line-height:1.42!important;color:rgba(247,226,187,.82)!important;max-width:29rem!important;margin-bottom:16px!important}
.journey-player-line{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;margin:0 0 12px}
.journey-player-line .rank-medallion{width:32px!important;height:36px!important;filter:drop-shadow(0 4px 7px rgba(0,0,0,.22))}
.journey-player-line .journey-rank-inline{margin:0!important;min-height:0!important;align-items:center}
.journey-player-line .journey-rank-inline>strong{font-size:.96rem!important}
#worldModal .journey-close{top:10px!important;right:10px!important;color:rgba(247,226,184,.72)!important}
#worldModal .journey-close:hover{color:#f8e8c4!important;opacity:1}
@media(max-width:520px){
  #worldModal .journey-first-page{grid-template-columns:58px minmax(0,1fr)!important;gap:12px!important;min-height:244px!important;padding:24px 16px 24px!important}
  .journey-manuscript-crest{width:54px;height:54px;margin-top:18px}
  .journey-manuscript-crest::before{width:42px;height:42px;border-radius:14px 3px 14px 3px}
  .journey-manuscript-crest::after{width:32px;height:32px}
  .journey-manuscript-crest .crest-ring{width:24px;height:24px}
  .journey-manuscript-crest .crest-compass{height:30px}
  .journey-manuscript-crest .crest-leaves{transform:scale(.76) rotate(-35deg)}
  .journey-heading-copy{padding-right:16px!important}
  .journey-heading-copy h2{font-size:clamp(1.94rem,8vw,2.72rem)!important}
  #worldModal .journey-heading-copy .journey-copy{font-size:.77rem!important;margin-bottom:13px!important}
  #worldModal .journey-close{top:7px!important;right:7px!important}
}
@media(max-width:380px){
  #worldModal .journey-first-page{grid-template-columns:46px minmax(0,1fr)!important;gap:9px!important;padding-left:12px!important;padding-right:12px!important}
  .journey-manuscript-crest{width:44px;height:44px}
  .journey-manuscript-crest::before{width:35px;height:35px}
  .journey-manuscript-crest::after{width:27px;height:27px}
  .journey-heading-copy h2{font-size:1.82rem!important}
}


/* VALES v2.3.4 — Your Journey */
#worldModal .journey-first-page{
  display:flex!important;
  justify-content:center!important;
  min-height:0!important;
  padding:18px 56px 20px!important;
  background:transparent!important;
}
#worldModal .journey-first-page::before{opacity:.42!important}
#worldModal .journey-heading-copy.journey-personal-cover{
  width:min(100%,560px)!important;
  padding:0!important;
  text-align:center!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
}
#worldModal .journey-heading-copy .eyebrow{
  margin:0 0 2px!important;
  font-family:"Snell Roundhand","Segoe Script","Brush Script MT",cursive!important;
  font-size:1.05rem!important;
  line-height:1!important;
  letter-spacing:.08em!important;
  text-transform:none!important;
  color:#e6c27a!important;
}
#worldModal .journey-heading-copy h2{
  margin:0 0 8px!important;
  font-size:clamp(2.05rem,7.2vw,3.2rem)!important;
  line-height:1!important;
  text-align:center!important;
}
#worldModal .journey-heading-copy .journey-copy{
  max-width:28rem!important;
  margin:0 0 13px!important;
  font-size:.78rem!important;
  line-height:1.35!important;
  text-align:center!important;
}
#worldModal .journey-player-line{
  width:min(100%,360px)!important;
  display:grid!important;
  grid-template-columns:72px 1fr!important;
  gap:12px!important;
  align-items:center!important;
  margin:0 0 10px!important;
  padding:10px 16px!important;
  border:1px solid rgba(220,185,105,.24)!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,rgba(42,28,17,.72),rgba(25,17,11,.9))!important;
  box-shadow:inset 0 1px rgba(255,242,205,.06),0 10px 24px rgba(0,0,0,.15)!important;
}
#worldModal .journey-player-line .rank-medallion{
  width:64px!important;height:72px!important;
  filter:drop-shadow(0 8px 12px rgba(0,0,0,.32))!important;
  animation:journeyRankBreath 5.8s ease-in-out infinite!important;
}
#worldModal .journey-rank-inline{
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:1px!important;
  text-align:left!important;
}
#worldModal .journey-rank-inline>span{
  font-size:.52rem!important;letter-spacing:.22em!important;text-transform:uppercase!important;color:#d8b66e!important;
}
#worldModal .journey-rank-inline>strong{
  font-family:Georgia,serif!important;font-size:1.28rem!important;line-height:1.05!important;color:#f3dfb5!important;
}
#worldModal .world-rank-count{
  display:flex!important;align-items:center!important;gap:5px!important;margin-top:4px!important;
  font:600 .68rem/1 system-ui,sans-serif!important;color:#d9c08b!important;
}
#worldModal .world-rank-count svg{width:14px!important;height:14px!important}
#worldModal .world-rank-count em{font-style:normal!important;font-weight:450!important;opacity:.7!important;margin-left:2px!important}
#worldModal .journey-progress{
  width:min(100%,360px)!important;
  margin:0!important;
  display:grid!important;grid-template-columns:auto 1fr!important;gap:10px!important;align-items:center!important;
}
#worldModal .journey-progress>span{font-size:.64rem!important;white-space:nowrap!important;color:#d7bc85!important}
#worldModal .journey-progress>div{height:5px!important}
#worldModal .journey-close{top:12px!important;right:14px!important}
#worldModal .level-grid{margin-top:0!important}
#worldModal .journey-chapter:first-child{margin-top:4px!important}
@keyframes journeyRankBreath{
  0%,100%{transform:translateY(0) scale(1);filter:drop-shadow(0 8px 12px rgba(0,0,0,.32)) drop-shadow(0 0 0 rgba(198,225,116,0))}
  50%{transform:translateY(-2px) scale(1.025);filter:drop-shadow(0 9px 13px rgba(0,0,0,.35)) drop-shadow(0 0 10px rgba(198,225,116,.22))}
}
@media(max-width:520px){
  #worldModal .journey-first-page{padding:14px 36px 16px!important}
  #worldModal .journey-heading-copy h2{font-size:2rem!important}
  #worldModal .journey-player-line{grid-template-columns:60px 1fr!important;padding:8px 13px!important}
  #worldModal .journey-player-line .rank-medallion{width:54px!important;height:61px!important}
  #worldModal .journey-rank-inline>strong{font-size:1.12rem!important}
  #worldModal .journey-progress{width:min(100%,330px)!important}
  #worldModal .journey-progress>span{font-size:.58rem!important}
}
@media(prefers-reduced-motion:reduce){#worldModal .journey-player-line .rank-medallion{animation:none!important}}

/* VALES v2.3.5 — The Keeper's Journal */
#worldModal .journey-first-page{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  min-height:0!important;
  padding:22px 42px 14px!important;
  overflow:visible!important;
}
#worldModal .journey-heading-copy.journey-personal-cover{
  width:min(100%,560px)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  padding:0!important;
  text-align:center!important;
}
#worldModal .journey-heading-copy .eyebrow{
  margin:0 0 3px!important;
  font-family:"Snell Roundhand","Segoe Script","Brush Script MT",cursive!important;
  font-size:1.12rem!important;
  line-height:1!important;
  letter-spacing:.02em!important;
  text-transform:none!important;
  color:#e4be72!important;
}
#worldModal .journey-heading-copy h2{
  margin:0 0 8px!important;
  font-size:clamp(2rem,6.7vw,3rem)!important;
  line-height:.98!important;
  text-align:center!important;
}
#worldModal .journey-heading-copy .journey-copy{
  margin:0 0 14px!important;
  max-width:27rem!important;
  font-size:.73rem!important;
  line-height:1.35!important;
  opacity:.86!important;
  text-align:center!important;
}
#worldModal .journey-player-line{
  width:min(100%,420px)!important;
  min-height:98px!important;
  display:grid!important;
  grid-template-columns:92px minmax(0,1fr) 82px!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
  padding:10px 16px!important;
  border:1px solid rgba(222,184,96,.30)!important;
  border-radius:18px!important;
  background:
    linear-gradient(90deg,rgba(118,70,35,.11),transparent 22%,transparent 78%,rgba(118,70,35,.09)),
    repeating-linear-gradient(0deg,rgba(255,236,190,.018) 0 1px,transparent 1px 5px),
    linear-gradient(145deg,rgba(47,31,18,.92),rgba(24,16,10,.97))!important;
  box-shadow:inset 0 1px rgba(255,244,211,.06),inset 0 0 0 4px rgba(163,111,45,.035),0 12px 28px rgba(0,0,0,.22)!important;
}
#worldModal .journey-player-line .rank-medallion{
  justify-self:center!important;
  align-self:center!important;
  width:76px!important;
  height:86px!important;
  margin:0!important;
  animation:journeyRankBreath 6.4s ease-in-out infinite!important;
}
#worldModal .journey-rank-inline{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  gap:3px!important;
  margin:0!important;
  text-align:left!important;
}
#worldModal .journey-rank-inline>span{
  display:block!important;
  font-size:.48rem!important;
  line-height:1!important;
  letter-spacing:.22em!important;
  color:#d7b468!important;
}
#worldModal .journey-rank-inline>strong{
  font-size:1.34rem!important;
  line-height:1.05!important;
  color:#f2ddb2!important;
}
#worldModal .world-rank-count{
  justify-self:center!important;
  display:grid!important;
  grid-template-columns:20px auto!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  column-gap:4px!important;
  row-gap:1px!important;
  margin:0!important;
  color:#e6c878!important;
  text-align:left!important;
}
#worldModal .world-rank-count svg{grid-row:1 / 3;width:19px!important;height:19px!important}
#worldModal .world-rank-count span{font:700 1.05rem/1 Georgia,serif!important}
#worldModal .world-rank-count em{font:500 .48rem/1 system-ui,sans-serif!important;letter-spacing:.12em;text-transform:uppercase;opacity:.72!important;margin:0!important}
#worldModal .journey-progress-divider{
  position:relative!important;
  z-index:6!important;
  width:calc(100% - 64px)!important;
  max-width:720px!important;
  margin:12px auto 10px!important;
  padding:0 4px 12px!important;
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  gap:12px!important;
  align-items:center!important;
  border-bottom:1px solid rgba(218,177,93,.17)!important;
}
#worldModal .journey-progress-divider>span{
  white-space:nowrap!important;
  font-size:.62rem!important;
  color:#d7bc85!important;
}
#worldModal .journey-progress-divider>div{height:5px!important}
#worldModal #levelGrid.journey-book{margin-top:0!important;padding-top:0!important}
#worldModal .journey-chapter:first-child{margin-top:0!important}
#worldModal .journey-close{top:8px!important;right:10px!important}
.journal-dust{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:.55}
.journal-dust i{position:absolute;width:3px;height:3px;border-radius:50%;background:#e7c77b;box-shadow:0 0 8px rgba(231,199,123,.75);animation:journalDustFloat 13s ease-in-out infinite}
.journal-dust i:nth-child(1){left:17%;top:28%;animation-delay:-2s}
.journal-dust i:nth-child(2){left:31%;top:15%;animation-delay:-7s;transform:scale(.7)}
.journal-dust i:nth-child(3){left:67%;top:25%;animation-delay:-10s;transform:scale(.8)}
.journal-dust i:nth-child(4){left:78%;top:40%;animation-delay:-4s;transform:scale(.55)}
.journal-dust i:nth-child(5){left:53%;top:11%;animation-delay:-12s;transform:scale(.65)}
@keyframes journalDustFloat{0%,100%{opacity:.05;transform:translate3d(0,8px,0)}35%{opacity:.7}65%{opacity:.22;transform:translate3d(10px,-12px,0)}}
@media(max-width:520px){
  #worldModal .journey-first-page{padding:18px 24px 10px!important}
  #worldModal .journey-heading-copy h2{font-size:2rem!important}
  #worldModal .journey-player-line{width:100%!important;grid-template-columns:76px minmax(0,1fr) 68px!important;min-height:88px!important;padding:8px 11px!important;gap:7px!important}
  #worldModal .journey-player-line .rank-medallion{width:66px!important;height:75px!important}
  #worldModal .journey-rank-inline>strong{font-size:1.16rem!important}
  #worldModal .world-rank-count span{font-size:.92rem!important}
  #worldModal .journey-progress-divider{width:calc(100% - 36px)!important;margin-top:9px!important;margin-bottom:8px!important;gap:8px!important}
  #worldModal .journey-progress-divider>span{font-size:.54rem!important}
}
@media(max-width:380px){
  #worldModal .journey-player-line{grid-template-columns:68px minmax(0,1fr) 58px!important}
  #worldModal .journey-player-line .rank-medallion{width:58px!important;height:66px!important}
  #worldModal .journey-rank-inline>strong{font-size:1.04rem!important}
  #worldModal .world-rank-count em{font-size:.40rem!important}
}
@media(prefers-reduced-motion:reduce){.journal-dust{display:none!important}}

/* VALES v2.3.6 — Living Journal */
#worldModal .journey-heading-copy .eyebrow{
  text-transform:none!important;
  letter-spacing:.015em!important;
}
#worldModal .journey-player-line{
  width:calc(100% - 64px)!important;
  max-width:720px!important;
  min-height:104px!important;
  grid-template-columns:104px minmax(0,1fr) 104px!important;
  gap:16px!important;
  padding:11px 22px!important;
  margin-top:4px!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
#worldModal .journey-player-line::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  border-radius:inherit;
  padding:1px;
  background:conic-gradient(from 0deg,transparent 0 76%,rgba(255,213,117,0) 80%,rgba(255,223,139,.95) 86%,rgba(255,190,69,.36) 91%,transparent 97% 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  animation:journalBorderGlint 9s linear infinite;
  opacity:.72;
  pointer-events:none;
}
#worldModal .journey-player-line::after{
  content:"";
  position:absolute;
  inset:2px;
  border-radius:16px;
  box-shadow:inset 0 0 26px rgba(235,191,94,.055);
  pointer-events:none;
}
@keyframes journalBorderGlint{to{transform:rotate(360deg)}}
#worldModal .journey-player-line .rank-medallion{
  width:84px!important;
  height:95px!important;
}
#worldModal .journey-rank-inline{
  padding-top:5px!important;
}
#worldModal .journey-rank-inline>span{font-size:.5rem!important}
#worldModal .journey-rank-inline>strong{font-size:1.42rem!important}
#worldModal .world-rank-count{
  grid-template-columns:30px auto!important;
  column-gap:7px!important;
  justify-self:end!important;
}
#worldModal .world-rank-count svg{
  width:28px!important;
  height:28px!important;
  filter:drop-shadow(0 0 5px rgba(239,199,87,.35));
  animation:journalLeafGlint 5.8s ease-in-out infinite;
}
#worldModal .world-rank-count span{font-size:1.2rem!important}
#worldModal .world-rank-count em{font-size:.5rem!important}
@keyframes journalLeafGlint{
  0%,72%,100%{filter:drop-shadow(0 0 4px rgba(239,199,87,.25));transform:scale(1)}
  78%{filter:drop-shadow(0 0 11px rgba(255,225,133,.88));transform:scale(1.07)}
  85%{filter:drop-shadow(0 0 5px rgba(239,199,87,.35));transform:scale(1)}
}
#worldModal .journey-progress-divider{
  width:calc(100% - 64px)!important;
  max-width:720px!important;
  margin:20px auto 18px!important;
  padding-bottom:15px!important;
}
#worldModal #levelGrid.journey-book{
  padding-top:0!important;
}
#worldModal .journey-chapter:first-child{
  margin-top:0!important;
}
#worldModal .journey-chapter{
  margin-bottom:20px!important;
}
/* When a chapter is expanded, preserve the journal identity but compact it gently. */
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-first-page{
  padding-top:17px!important;
  padding-bottom:10px!important;
}
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-heading-copy .eyebrow{
  font-size:.96rem!important;
  margin-bottom:1px!important;
}
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-heading-copy h2{
  font-size:clamp(1.8rem,5.8vw,2.5rem)!important;
  margin-bottom:5px!important;
}
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-heading-copy .journey-copy{
  font-size:.66rem!important;
  margin-bottom:9px!important;
}
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-player-line{
  min-height:88px!important;
}
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-player-line .rank-medallion{
  width:70px!important;
  height:79px!important;
}
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-progress-divider{
  margin-top:14px!important;
  margin-bottom:14px!important;
}
@media(max-width:520px){
  #worldModal .journey-first-page{padding:20px 18px 12px!important}
  #worldModal .journey-player-line{
    width:100%!important;
    grid-template-columns:78px minmax(0,1fr) 76px!important;
    min-height:94px!important;
    gap:8px!important;
    padding:9px 12px!important;
  }
  #worldModal .journey-player-line .rank-medallion{width:70px!important;height:80px!important}
  #worldModal .journey-rank-inline{padding-top:4px!important}
  #worldModal .journey-rank-inline>strong{font-size:1.2rem!important}
  #worldModal .world-rank-count{grid-template-columns:25px auto!important;column-gap:5px!important}
  #worldModal .world-rank-count svg{width:24px!important;height:24px!important}
  #worldModal .world-rank-count span{font-size:1rem!important}
  #worldModal .journey-progress-divider{width:calc(100% - 28px)!important;margin:16px auto 15px!important}
  #worldModal .journey-chapter{margin-bottom:16px!important}
  #worldModal .journey-card:has(.journey-chapter.is-open) .journey-first-page{padding-top:14px!important}
  #worldModal .journey-card:has(.journey-chapter.is-open) .journey-player-line{min-height:78px!important}
  #worldModal .journey-card:has(.journey-chapter.is-open) .journey-player-line .rank-medallion{width:60px!important;height:68px!important}
}
@media(prefers-reduced-motion:reduce){
  #worldModal .journey-player-line::before,#worldModal .world-rank-count svg{animation:none!important}
}

/* VALES v2.3.7 — Anchored Chapters */
#worldModal .journey-first-page{
  padding-top:max(32px,calc(env(safe-area-inset-top,0px) + 22px))!important;
  padding-bottom:18px!important;
}
#worldModal .journey-heading-copy .eyebrow{
  font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive!important;
  font-style:italic!important;
  font-weight:500!important;
  text-transform:none!important;
  letter-spacing:.03em!important;
  font-size:1.02rem!important;
  line-height:1!important;
  margin-bottom:7px!important;
}
#worldModal .journey-player-line::before{display:none!important}
#worldModal .journey-player-line{
  width:calc(100% - 48px)!important;
  margin-top:18px!important;
}
#worldModal .world-rank-count svg{width:32px!important;height:32px!important}
#worldModal .world-rank-count span{font-size:1.3rem!important}
#worldModal .journey-progress-divider{margin-top:24px!important;margin-bottom:22px!important}
#worldModal .journey-chapter{scroll-margin-top:18px}
#worldModal .journey-chapter-pages{
  display:block!important;
  overflow:hidden!important;
  max-height:0;
  opacity:0;
  transform:translateY(-8px);
  transition:max-height .52s cubic-bezier(.22,.8,.28,1),opacity .28s ease,transform .42s cubic-bezier(.22,.8,.28,1)!important;
  will-change:max-height,opacity,transform;
}
#worldModal .journey-chapter.is-open>.journey-chapter-pages{
  opacity:1;
  transform:translateY(0);
}
#worldModal .journey-chapter-cover{
  position:relative!important;
  z-index:2!important;
}
/* The journal header remains visually stable when a chapter opens. */
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-first-page{
  padding-top:max(32px,calc(env(safe-area-inset-top,0px) + 22px))!important;
  padding-bottom:18px!important;
}
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-heading-copy .eyebrow{
  font-size:1.02rem!important;
  margin-bottom:7px!important;
}
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-heading-copy h2{
  font-size:clamp(2.15rem,6.8vw,3.2rem)!important;
  margin-bottom:10px!important;
}
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-heading-copy .journey-copy{
  font-size:.78rem!important;
  margin-bottom:0!important;
}
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-player-line{
  min-height:104px!important;
}
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-player-line .rank-medallion{
  width:84px!important;
  height:95px!important;
}
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-progress-divider{
  margin-top:24px!important;
  margin-bottom:22px!important;
}
@media(max-width:520px){
  #worldModal .journey-first-page{padding-top:max(28px,calc(env(safe-area-inset-top,0px) + 18px))!important;padding-bottom:14px!important}
  #worldModal .journey-heading-copy .eyebrow{font-size:.9rem!important}
  #worldModal .journey-player-line{width:100%!important;margin-top:14px!important}
  #worldModal .world-rank-count svg{width:28px!important;height:28px!important}
  #worldModal .world-rank-count span{font-size:1.12rem!important}
  #worldModal .journey-card:has(.journey-chapter.is-open) .journey-first-page{padding-top:max(28px,calc(env(safe-area-inset-top,0px) + 18px))!important;padding-bottom:14px!important}
  #worldModal .journey-card:has(.journey-chapter.is-open) .journey-heading-copy .eyebrow{font-size:.9rem!important}
  #worldModal .journey-card:has(.journey-chapter.is-open) .journey-heading-copy h2{font-size:2rem!important}
  #worldModal .journey-card:has(.journey-chapter.is-open) .journey-player-line{min-height:94px!important}
  #worldModal .journey-card:has(.journey-chapter.is-open) .journey-player-line .rank-medallion{width:70px!important;height:80px!important}
}
@media(prefers-reduced-motion:reduce){
  #worldModal .journey-chapter-pages{transition:none!important;transform:none!important}
}

/* VALES v2.3.8 — Stable Pages */
#worldModal{
  padding-top:max(12px,env(safe-area-inset-top,0px))!important;
  padding-bottom:max(12px,env(safe-area-inset-bottom,0px))!important;
}
#worldModal .journey-card{
  max-height:calc(100dvh - max(24px,env(safe-area-inset-top,0px) + env(safe-area-inset-bottom,0px)))!important;
}
#worldModal .journey-first-page,
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-first-page{
  padding-top:max(44px,calc(env(safe-area-inset-top,0px) + 30px))!important;
  padding-bottom:18px!important;
  transition:none!important;
}
#worldModal .journey-heading-copy .eyebrow,
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-heading-copy .eyebrow{
  font-family:"Segoe Script","Apple Chancery","URW Chancery L",cursive!important;
  font-style:normal!important;
  font-weight:500!important;
  text-transform:none!important;
  letter-spacing:.01em!important;
  font-size:1.08rem!important;
  line-height:1.2!important;
  margin:0 0 8px!important;
  color:#e3c27d!important;
}
#worldModal .journey-heading-copy h2,
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-heading-copy h2,
#worldModal .journey-heading-copy .journey-copy,
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-heading-copy .journey-copy,
#worldModal .journey-player-line,
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-player-line,
#worldModal .journey-progress-divider,
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-progress-divider{
  transition:none!important;
  transform:none!important;
}
#worldModal .journey-player-line::before{display:none!important;animation:none!important}
#worldModal .journey-progress-divider{
  width:calc(100% - 48px)!important;
  margin:24px auto 24px!important;
  padding-bottom:16px!important;
  flex:0 0 auto!important;
}
#worldModal #levelGrid.journey-book{
  gap:18px!important;
  padding-top:0!important;
  scroll-behavior:auto!important;
}
#worldModal .journey-chapter{
  margin:0 0 18px!important;
  scroll-margin-top:0!important;
}
#worldModal .journey-chapter-cover{
  position:relative!important;
  z-index:2!important;
  transition:filter .18s ease,background-color .18s ease!important;
  transform:none!important;
}
#worldModal .journey-chapter-cover:hover:not(:disabled),
#worldModal .journey-chapter-cover:active:not(:disabled){transform:none!important}
#worldModal .journey-chapter-pages{
  display:grid!important;
  grid-template-rows:0fr;
  max-height:none!important;
  opacity:0;
  overflow:hidden!important;
  transform:none!important;
  transition:grid-template-rows .34s cubic-bezier(.22,.8,.28,1),opacity .18s ease!important;
  will-change:auto!important;
}
#worldModal .journey-chapter-pages>.journey-level-grid{
  min-height:0;
  overflow:hidden;
  padding-top:0;
  padding-bottom:0;
  transition:padding .34s cubic-bezier(.22,.8,.28,1)!important;
}
#worldModal .journey-chapter.is-open>.journey-chapter-pages{
  grid-template-rows:1fr;
  opacity:1;
}
#worldModal .journey-chapter.is-open>.journey-chapter-pages>.journey-level-grid{
  padding-top:12px;
  padding-bottom:14px;
}
#worldModal .journey-level-card{
  transition:none!important;
  animation:none!important;
}
@media(max-width:520px){
  #worldModal .journey-first-page,
  #worldModal .journey-card:has(.journey-chapter.is-open) .journey-first-page{
    padding-top:max(42px,calc(env(safe-area-inset-top,0px) + 28px))!important;
    padding-bottom:16px!important;
  }
  #worldModal .journey-heading-copy .eyebrow,
  #worldModal .journey-card:has(.journey-chapter.is-open) .journey-heading-copy .eyebrow{
    font-size:1rem!important;
  }
  #worldModal .journey-progress-divider{width:calc(100% - 30px)!important;margin:20px auto 20px!important}
  #worldModal #levelGrid.journey-book{gap:16px!important}
  #worldModal .journey-chapter{margin-bottom:16px!important}
}
@media(prefers-reduced-motion:reduce){
  #worldModal .journey-chapter-pages,
  #worldModal .journey-chapter-pages>.journey-level-grid{transition:none!important}
}

/* VALES v2.3.9 — Final Stable Journal cleanup */
#worldModal{
  align-items:start!important;
  padding-top:max(30px,calc(env(safe-area-inset-top,0px) + 22px))!important;
  padding-bottom:max(14px,env(safe-area-inset-bottom,0px))!important;
}
#worldModal .journey-card{
  max-height:calc(100dvh - max(46px,calc(env(safe-area-inset-top,0px) + env(safe-area-inset-bottom,0px) + 36px)))!important;
  contain:layout paint style;
}
#worldModal .journey-first-page,
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-first-page{
  padding-top:58px!important;
  padding-bottom:18px!important;
  min-height:0!important;
  background:transparent!important;
}
#worldModal .journey-first-page::before,
#worldModal .journey-first-page::after,
#worldModal .journey-polished-head::before,
#worldModal .journey-polished-head::after{
  display:none!important;
  content:none!important;
  background:none!important;
  filter:none!important;
}
#worldModal .journey-heading-copy .eyebrow,
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-heading-copy .eyebrow{
  font-family:"Bradley Hand","Segoe Print","Comic Sans MS",cursive!important;
  font-style:normal!important;
  font-weight:500!important;
  text-transform:none!important;
  letter-spacing:.015em!important;
  font-size:1rem!important;
  line-height:1.05!important;
  margin:0 0 7px!important;
}
#worldModal .journey-heading-copy h2,
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-heading-copy h2,
#worldModal .journey-heading-copy .journey-copy,
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-heading-copy .journey-copy,
#worldModal .journey-player-line,
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-player-line,
#worldModal .journey-progress-divider,
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-progress-divider{
  transition:none!important;
  transform:none!important;
}
#worldModal .journey-progress-divider{
  width:calc(100% - 48px)!important;
  margin:24px auto 24px!important;
  padding-bottom:0!important;
  min-height:1px!important;
  flex:0 0 auto!important;
}
#worldModal #levelGrid.journey-book{
  gap:18px!important;
  padding-top:0!important;
  scroll-behavior:auto!important;
  overscroll-behavior:contain;
}
#worldModal .journey-chapter{
  margin:0 0 18px!important;
  contain:layout style;
}
#worldModal .journey-chapter-cover{
  transition:background-color .16s ease!important;
  transform:none!important;
  filter:none!important;
  will-change:auto!important;
}
#worldModal .journey-chapter-cover:hover:not(:disabled),
#worldModal .journey-chapter-cover:active:not(:disabled){
  transform:none!important;
  filter:none!important;
  box-shadow:none!important;
}
#worldModal .journey-chapter-pages{
  display:none!important;
  overflow:visible!important;
  opacity:1!important;
  transform:none!important;
  transition:none!important;
  max-height:none!important;
  grid-template-rows:none!important;
  will-change:auto!important;
}
#worldModal .journey-chapter.is-open>.journey-chapter-pages{
  display:block!important;
}
#worldModal .journey-chapter-pages>.journey-level-grid{
  overflow:visible!important;
  padding-top:12px!important;
  padding-bottom:14px!important;
  transition:none!important;
  transform:none!important;
}
#worldModal .journey-level-card{
  transition:none!important;
  animation:none!important;
  will-change:auto!important;
}
#worldModal .world-rank-count svg{width:34px!important;height:34px!important}
#worldModal .world-rank-count span{font-size:1.34rem!important}
@media(max-width:520px){
  #worldModal{padding-top:max(34px,calc(env(safe-area-inset-top,0px) + 24px))!important}
  #worldModal .journey-first-page,
  #worldModal .journey-card:has(.journey-chapter.is-open) .journey-first-page{
    padding-top:54px!important;
    padding-bottom:16px!important;
  }
  #worldModal .journey-heading-copy .eyebrow,
  #worldModal .journey-card:has(.journey-chapter.is-open) .journey-heading-copy .eyebrow{font-size:.96rem!important}
  #worldModal .journey-progress-divider{width:calc(100% - 30px)!important;margin:20px auto 20px!important}
  #worldModal .world-rank-count svg{width:30px!important;height:30px!important}
  #worldModal .world-rank-count span{font-size:1.16rem!important}
}

/* VALES v2.3.10 — Anchored Collapse */
#worldModal{
  align-items:start!important;
  padding-top:max(52px,calc(env(safe-area-inset-top,0px) + 38px))!important;
  padding-bottom:max(16px,calc(env(safe-area-inset-bottom,0px) + 10px))!important;
}
#worldModal .journey-card{
  max-height:calc(100dvh - max(70px,calc(env(safe-area-inset-top,0px) + env(safe-area-inset-bottom,0px) + 58px)))!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scroll-behavior:auto!important;
  contain:paint style!important;
}
#worldModal .journey-first-page,
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-first-page{
  padding-top:34px!important;
  padding-bottom:18px!important;
  flex:0 0 auto!important;
}
#worldModal .journey-heading-copy .eyebrow,
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-heading-copy .eyebrow{
  font-family:Georgia,"Times New Roman",serif!important;
  font-style:italic!important;
  font-weight:400!important;
  text-transform:none!important;
  letter-spacing:.035em!important;
  font-size:1.16rem!important;
  line-height:1.25!important;
  margin:0 0 9px!important;
  color:#e8c983!important;
  text-shadow:0 1px 10px rgba(0,0,0,.22)!important;
}
#worldModal .journey-close{
  top:20px!important;
  right:15px!important;
}
#worldModal .journey-progress-divider{
  width:calc(100% - 48px)!important;
  margin:24px auto 24px!important;
  transition:none!important;
  transform:none!important;
}
#worldModal #levelGrid.journey-book{
  overflow:visible!important;
  flex:0 0 auto!important;
  gap:18px!important;
}
#worldModal .journey-chapter{
  contain:layout style!important;
  margin:0 0 18px!important;
}
#worldModal .journey-chapter-cover{
  position:relative!important;
  top:auto!important;
  transform:none!important;
  filter:none!important;
  transition:background-color .14s ease!important;
}
#worldModal .journey-chapter-cover .chapter-status i{
  transition:transform .12s ease!important;
}
#worldModal .journey-chapter-pages,
#worldModal .journey-chapter.is-open>.journey-chapter-pages{
  transition:none!important;
  transform:none!important;
  filter:none!important;
  will-change:auto!important;
}
#worldModal .journey-chapter.is-open>.journey-chapter-pages{
  animation:valesChapterReveal .22s cubic-bezier(.22,.8,.28,1) both!important;
}
@keyframes valesChapterReveal{
  from{opacity:.35;transform:translateY(-3px)}
  to{opacity:1;transform:translateY(0)}
}
#worldModal .journey-level-card{
  transition:none!important;
  animation:none!important;
}
@media(max-width:520px){
  #worldModal{
    padding-top:max(58px,calc(env(safe-area-inset-top,0px) + 42px))!important;
  }
  #worldModal .journey-card{
    max-height:calc(100dvh - max(80px,calc(env(safe-area-inset-top,0px) + env(safe-area-inset-bottom,0px) + 66px)))!important;
  }
  #worldModal .journey-first-page,
  #worldModal .journey-card:has(.journey-chapter.is-open) .journey-first-page{
    padding-top:32px!important;
  }
  #worldModal .journey-heading-copy .eyebrow,
  #worldModal .journey-card:has(.journey-chapter.is-open) .journey-heading-copy .eyebrow{
    font-size:1.08rem!important;
  }
  #worldModal .journey-close{top:18px!important;right:12px!important}
}
@media(prefers-reduced-motion:reduce){
  #worldModal .journey-chapter.is-open>.journey-chapter-pages{animation:none!important}
}

/* VALES v2.3.13 — Frozen Header
   The journal identity is immutable while chapter bodies toggle. */
#worldModal .journey-first-page,
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-first-page{
  padding-top:32px!important;
  padding-bottom:18px!important;
  min-height:0!important;
  transition:none!important;
  transform:none!important;
  animation:none!important;
}
#worldModal .journey-heading-copy,
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-heading-copy{
  width:min(100%,560px)!important;
  padding:0!important;
  margin:0!important;
  gap:0!important;
  transition:none!important;
  transform:none!important;
  animation:none!important;
}
#worldModal .journey-heading-copy .eyebrow,
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-heading-copy .eyebrow{
  font-family:Georgia,"Times New Roman",serif!important;
  font-style:italic!important;
  font-weight:400!important;
  font-size:1.08rem!important;
  line-height:1.25!important;
  letter-spacing:.035em!important;
  margin:0 0 9px!important;
  padding:0!important;
  transition:none!important;
  transform:none!important;
  animation:none!important;
}
#worldModal .journey-heading-copy h2,
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-heading-copy h2{
  font-size:clamp(2.15rem,6.8vw,3.2rem)!important;
  line-height:.98!important;
  margin:0 0 10px!important;
  padding:0!important;
  transition:none!important;
  transform:none!important;
  animation:none!important;
}
#worldModal .journey-heading-copy .journey-copy,
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-heading-copy .journey-copy{
  max-width:27rem!important;
  font-size:.78rem!important;
  line-height:1.35!important;
  margin:0 0 14px!important;
  padding:0!important;
  transition:none!important;
  transform:none!important;
  animation:none!important;
}
#worldModal .journey-player-line,
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-player-line{
  width:calc(100% - 64px)!important;
  max-width:720px!important;
  min-height:104px!important;
  grid-template-columns:104px minmax(0,1fr) 104px!important;
  gap:16px!important;
  padding:11px 22px!important;
  margin:4px 0 0!important;
  transition:none!important;
  transform:none!important;
}
#worldModal .journey-player-line .rank-medallion,
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-player-line .rank-medallion{
  width:84px!important;
  height:95px!important;
  margin:0!important;
  transition:none!important;
  transform:none!important;
}
#worldModal .journey-progress-divider,
#worldModal .journey-card:has(.journey-chapter.is-open) .journey-progress-divider{
  width:calc(100% - 64px)!important;
  max-width:720px!important;
  margin:24px auto 24px!important;
  padding:0 4px 15px!important;
  min-height:1px!important;
  transition:none!important;
  transform:none!important;
  animation:none!important;
}
#worldModal .journal-dust,
#worldModal .journal-dust *{
  transition:none!important;
}
@media(max-width:520px){
  #worldModal .journey-first-page,
  #worldModal .journey-card:has(.journey-chapter.is-open) .journey-first-page{
    padding-top:32px!important;
    padding-bottom:16px!important;
  }
  #worldModal .journey-heading-copy .eyebrow,
  #worldModal .journey-card:has(.journey-chapter.is-open) .journey-heading-copy .eyebrow{
    font-size:1.08rem!important;
  }
  #worldModal .journey-heading-copy h2,
  #worldModal .journey-card:has(.journey-chapter.is-open) .journey-heading-copy h2{
    font-size:2rem!important;
  }
  #worldModal .journey-heading-copy .journey-copy,
  #worldModal .journey-card:has(.journey-chapter.is-open) .journey-heading-copy .journey-copy{
    font-size:.78rem!important;
  }
  #worldModal .journey-player-line,
  #worldModal .journey-card:has(.journey-chapter.is-open) .journey-player-line{
    width:100%!important;
    min-height:94px!important;
    grid-template-columns:78px minmax(0,1fr) 76px!important;
    gap:8px!important;
    padding:9px 12px!important;
    margin-top:14px!important;
  }
  #worldModal .journey-player-line .rank-medallion,
  #worldModal .journey-card:has(.journey-chapter.is-open) .journey-player-line .rank-medallion{
    width:70px!important;
    height:80px!important;
  }
  #worldModal .journey-progress-divider,
  #worldModal .journey-card:has(.journey-chapter.is-open) .journey-progress-divider{
    width:calc(100% - 30px)!important;
    margin:20px auto 20px!important;
  }
}


/* =========================================================
   VALES v2.4.0 — Whispering Grove Foundation
   Lightweight environment package for Chapter II.
   ========================================================= */
body.world-grove .window{
  background-image:linear-gradient(180deg,rgba(224,236,190,.05),rgba(15,43,30,.17)),url('assets/scene/whispering-grove.svg')!important;
  background-size:auto 116%!important;
  background-position:50% 48%!important;
  filter:saturate(.92) contrast(1.02) brightness(.82)!important;
  animation:groveWindowBreath 28s ease-in-out infinite alternate!important;
}
body.world-grove .window .mountains{opacity:.34!important;mix-blend-mode:screen!important;filter:blur(1px)!important;animation:groveMistDrift 18s ease-in-out infinite alternate!important}
body.world-grove .window .mountains::before{top:48%!important;height:38%!important;background:linear-gradient(92deg,transparent,rgba(218,232,199,.15),transparent 68%)!important;filter:blur(8px)!important;opacity:.62!important;animation:groveMistSweep 20s ease-in-out infinite alternate!important}
body.world-grove .window .mountains::after{top:4%!important;height:90%!important;background:radial-gradient(circle at 34% 31%,rgba(244,232,166,.14),transparent 28%),radial-gradient(circle at 71% 62%,rgba(175,211,145,.09),transparent 24%)!important;filter:blur(12px)!important;opacity:.7!important;animation:grovePollenBreath 9s ease-in-out infinite alternate!important}
body.world-grove .atelier-scene{background:linear-gradient(90deg,rgba(184,208,141,.12),transparent 38%),radial-gradient(circle at 70% 10%,#536d46 0,#2c3826 39%,#151b14 100%)!important}
body.world-grove .atelier-scene::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(112deg,rgba(191,221,145,.10),transparent 35%),radial-gradient(circle at 24% 26%,rgba(224,233,173,.08),transparent 32%);mix-blend-mode:screen;opacity:.85}
.grove-room-details{display:none;position:absolute;inset:0;pointer-events:none;z-index:8}
body.world-grove .grove-room-details{display:block}
.grove-fern{position:absolute;width:92px;height:118px;bottom:2vh;filter:drop-shadow(0 8px 8px rgba(0,0,0,.32));opacity:.82}
.grove-fern::before,.grove-fern::after{content:"";position:absolute;left:44px;bottom:0;width:5px;height:112px;border-radius:100%;background:linear-gradient(#739765,#304e37);transform-origin:50% 100%}
.grove-fern::after{transform:rotate(16deg)}
.grove-fern-a{left:2vw}.grove-fern-b{right:3vw;transform:scale(.82) rotate(-8deg)}
.grove-moss{position:absolute;left:0;right:0;bottom:0;height:24px;background:radial-gradient(ellipse at 20% 100%,rgba(75,110,61,.72),transparent 28%),radial-gradient(ellipse at 78% 100%,rgba(69,103,56,.62),transparent 25%);opacity:.8}
body.world-grove .back-shelf::after{content:"";position:absolute;left:7%;right:9%;bottom:-5px;height:10px;border-radius:50%;background:linear-gradient(90deg,transparent,rgba(76,110,61,.62),rgba(101,136,73,.55),transparent);filter:blur(1.2px)}
body.world-grove #gameScreen::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;background-image:radial-gradient(circle,rgba(205,231,163,.30) 0 1px,transparent 1.6px);background-size:76px 92px;opacity:.13;animation:grovePollenFloat 17s linear infinite}
@keyframes groveWindowBreath{0%{background-size:auto 116%;background-position:49% 48%}100%{background-size:auto 118%;background-position:51% 47%}}
@keyframes groveMistDrift{from{transform:translate3d(-2%,0,0)}to{transform:translate3d(2%,-1%,0)}}
@keyframes groveMistSweep{from{transform:translateX(-8%);opacity:.38}to{transform:translateX(8%);opacity:.72}}
@keyframes grovePollenBreath{from{opacity:.42}to{opacity:.74}}
@keyframes grovePollenFloat{from{background-position:0 0}to{background-position:22px -92px}}

.world-transition-overlay{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;pointer-events:none;visibility:hidden;opacity:0;overflow:hidden}
.world-transition-overlay.is-previewing{visibility:visible;animation:groveFoundationPreview 3.8s ease both}
.world-transition-wash{position:absolute;inset:0;background:radial-gradient(circle at 28% 38%,rgba(197,220,151,.32),transparent 38%),linear-gradient(135deg,rgba(20,55,35,.86),rgba(9,24,17,.95));opacity:0}
.world-transition-overlay.is-previewing .world-transition-wash{animation:groveWashPreview 3.8s ease both}
.world-transition-leaves{position:absolute;inset:-10%;background-image:radial-gradient(ellipse at center,#a8c87e 0 34%,#58764a 36% 58%,transparent 60%);background-size:18px 11px;opacity:0;transform:rotate(-13deg) translateX(-18%)}
.world-transition-overlay.is-previewing .world-transition-leaves{animation:groveLeafPreview 3.8s cubic-bezier(.2,.75,.25,1) both}
.world-transition-title{position:relative;display:grid;gap:8px;text-align:center;color:#f4e6be;text-shadow:0 4px 28px rgba(0,0,0,.55);opacity:0;transform:translateY(12px)}
.world-transition-title small{font:600 11px/1 system-ui,sans-serif;letter-spacing:.34em;color:#b9d091}.world-transition-title strong{font:400 clamp(2.2rem,8vw,4.8rem)/1.05 Georgia,serif;letter-spacing:.04em}
.world-transition-overlay.is-previewing .world-transition-title{animation:groveTitlePreview 3.8s ease both}
@keyframes groveFoundationPreview{0%{opacity:0}12%,82%{opacity:1}100%{opacity:0}}
@keyframes groveWashPreview{0%{opacity:0}22%,82%{opacity:1}100%{opacity:0}}
@keyframes groveLeafPreview{0%{opacity:0;transform:rotate(-13deg) translateX(-28%)}18%{opacity:.38}70%{opacity:.2;transform:rotate(-13deg) translateX(18%)}100%{opacity:0;transform:rotate(-13deg) translateX(32%)}}
@keyframes groveTitlePreview{0%,26%{opacity:0;transform:translateY(12px)}42%,72%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-8px)}}
html.perf-low body.world-grove #gameScreen::before{display:none!important}
@media(prefers-reduced-motion:reduce){body.world-grove .window,body.world-grove .window .mountains,body.world-grove .window .mountains::before,body.world-grove .window .mountains::after,body.world-grove #gameScreen::before{animation:none!important}.world-transition-overlay.is-previewing{animation-duration:.6s!important}.world-transition-overlay.is-previewing *{animation-duration:.6s!important}}


/* =========================================================
   VALES v2.4.1 — Chapter Ceremony + Reclaimed Grove Room
   ========================================================= */
body.world-grove .atelier-scene{
  background:
    linear-gradient(104deg,rgba(185,210,145,.10),transparent 34%),
    radial-gradient(circle at 76% 12%,#617854 0,#31402d 35%,#171e16 100%)!important;
}
body.world-grove .atelier-scene::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:
    linear-gradient(87deg,transparent 0 42%,rgba(15,25,17,.18) 43% 44%,transparent 45%),
    radial-gradient(ellipse at 84% 38%,rgba(12,20,14,.22),transparent 28%),
    repeating-linear-gradient(98deg,transparent 0 76px,rgba(18,28,20,.035) 78px 80px,transparent 82px 156px);
  opacity:.72;
}
.grove-wall-cracks{position:absolute;inset:7% 3% 19% 42%;opacity:.58;background:
  linear-gradient(116deg,transparent 0 30%,rgba(16,25,18,.56) 30.4% 31%,transparent 31.5% 100%),
  linear-gradient(68deg,transparent 0 47%,rgba(18,27,19,.48) 47.4% 48%,transparent 48.6% 100%),
  linear-gradient(137deg,transparent 0 63%,rgba(13,22,15,.42) 63.4% 64%,transparent 64.6% 100%);
  clip-path:polygon(0 0,100% 0,100% 100%,0 100%);filter:drop-shadow(0 1px rgba(139,164,107,.09))}
.grove-wall-cracks::before,.grove-wall-cracks::after{content:"";position:absolute;width:110px;height:155px;border-left:2px solid rgba(18,27,19,.45);border-bottom:1px solid rgba(18,27,19,.35);transform:skew(-13deg) rotate(12deg);border-radius:42% 0 0 0}
.grove-wall-cracks::before{right:12%;top:5%}.grove-wall-cracks::after{left:6%;bottom:3%;transform:scale(.72) skew(10deg) rotate(-19deg)}
.grove-wall-vine{position:absolute;width:9px;border-radius:999px;background:linear-gradient(90deg,#223b29,#66865c 46%,#2d4b34);box-shadow:0 0 10px rgba(31,55,36,.28);transform-origin:50% 0;opacity:.78}
.grove-wall-vine::before,.grove-wall-vine::after{content:"";position:absolute;width:20px;height:34px;border-radius:0;clip-path:polygon(50% 0%,82% 10%,100% 38%,90% 72%,62% 96%,34% 100%,10% 80%,0 48%,12% 16%);background:linear-gradient(145deg,#78945f,#385a3f);box-shadow:0 3px 7px rgba(0,0,0,.2)}
.grove-wall-vine-a{left:41%;top:5%;height:38%;transform:rotate(7deg)}
.grove-wall-vine-a::before{left:-17px;top:25%;transform:rotate(-38deg)}.grove-wall-vine-a::after{left:5px;top:61%;transform:scale(.82) rotate(27deg)}
.grove-wall-vine-b{right:4%;top:12%;height:46%;transform:rotate(-5deg) scale(.82)}
.grove-wall-vine-b::before{left:-18px;top:18%;transform:rotate(-44deg)}.grove-wall-vine-b::after{left:5px;top:54%;transform:rotate(24deg)}
.grove-shelf-leaves{position:absolute;left:19%;right:16%;top:50%;height:18px;background:
  radial-gradient(ellipse at 8% 50%,#718b5c 0 35%,transparent 38%),
  radial-gradient(ellipse at 27% 55%,#405d42 0 33%,transparent 36%),
  radial-gradient(ellipse at 72% 45%,#7b9564 0 32%,transparent 35%),
  radial-gradient(ellipse at 91% 55%,#3f6145 0 32%,transparent 35%);
  background-size:34px 15px;background-repeat:no-repeat;background-position:0 0,28% 2px,73% 0,100% 3px;opacity:.68;filter:drop-shadow(0 3px 3px rgba(0,0,0,.25))}
body.world-grove .back-shelf{filter:saturate(.82) brightness(.78)}
body.world-grove .back-shelf::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(92deg,rgba(46,76,50,.18),transparent 35%,rgba(37,66,43,.14));mix-blend-mode:multiply}

.world-transition-overlay{background:transparent}
.world-transition-overlay.is-running{visibility:visible;opacity:1;pointer-events:all}
.world-transition-overlay.is-running .world-transition-wash{animation:ceremonyWash 4.8s ease both}
.world-transition-overlay.is-running .world-transition-title{animation:ceremonyTitle 4.8s cubic-bezier(.2,.8,.2,1) both}
.world-transition-overlay.is-running .world-transition-leaves{animation:none;background:none;opacity:1;transform:none}
.world-transition-leaves i{position:absolute;left:var(--x);top:var(--y);width:18px;height:12px;border-radius:0;clip-path:polygon(50% 0%,82% 10%,100% 38%,90% 72%,62% 96%,34% 100%,10% 80%,0 48%,12% 16%);background:linear-gradient(145deg,#bfd892 0%,#6f955b 48%,#32533a 100%);box-shadow:0 2px 5px rgba(0,0,0,.25);opacity:0;transform-origin:50% 50%;transform:rotate(var(--r));animation:ceremonyLeaf 3.25s var(--d) cubic-bezier(.2,.75,.25,1) both}
.world-transition-overlay.is-running::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 24% 32%,rgba(213,230,166,.16),transparent 34%),linear-gradient(110deg,transparent 20%,rgba(170,210,134,.10) 46%,transparent 70%);mix-blend-mode:screen;animation:ceremonyLight 4.8s ease both}
@keyframes ceremonyWash{0%{opacity:0}12%{opacity:.34}32%,72%{opacity:.93}100%{opacity:0}}
@keyframes ceremonyTitle{0%,31%{opacity:0;transform:translateY(18px) scale(.98)}43%,72%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-10px)}}
@keyframes ceremonyLeaf{0%{opacity:0;transform:translate3d(-18vw,-9vh,0) rotate(var(--r)) scale(.75)}12%{opacity:.76}68%{opacity:.62}100%{opacity:0;transform:translate3d(118vw,38vh,0) rotate(calc(var(--r) + 540deg)) scale(1.08)}}
@keyframes ceremonyLight{0%,12%{opacity:0}34%,76%{opacity:1}100%{opacity:0}}
body.is-chapter-ceremony #gameScreen .game-hud,body.is-chapter-ceremony #gameScreen .game-stage,body.is-chapter-ceremony #gameScreen .game-actions{pointer-events:none}
html.perf-low .world-transition-leaves i:nth-child(n+10){display:none}
@media(prefers-reduced-motion:reduce){.world-transition-overlay.is-running,.world-transition-overlay.is-running *{animation-duration:.8s!important}}


/* =========================================================
   VALES v2.4.2 — Grove Refinement (corrected)
   Mature ivy replaces the decorative grass blades.
   ========================================================= */
body.world-grove .grove-fern{display:none!important}
body.world-grove .grove-moss{height:18px;opacity:.58}
.grove-ivy,.grove-window-ivy{position:absolute;display:none;pointer-events:none;z-index:2}
body.world-grove .grove-ivy,body.world-grove .grove-window-ivy{display:block}
.grove-ivy{bottom:0;width:148px;height:270px;opacity:.88;filter:drop-shadow(0 8px 8px rgba(0,0,0,.32))}
.grove-ivy::before{content:"";position:absolute;bottom:-14px;width:8px;height:252px;border-radius:80% 20% 80% 20%;background:linear-gradient(90deg,#263b29,#6d8060 48%,#304736);box-shadow:inset 1px 0 rgba(191,211,152,.15);transform-origin:50% 100%}
.grove-ivy::after{content:"";position:absolute;bottom:-6px;width:5px;height:214px;border-radius:80%;background:linear-gradient(90deg,#253828,#536c4d 55%,#263d2c);transform-origin:50% 100%}
.grove-ivy-left{left:-12px}.grove-ivy-left::before{left:38px;transform:rotate(13deg)}.grove-ivy-left::after{left:82px;transform:rotate(-11deg)}
.grove-ivy-right{right:-18px;transform:scale(.93)}.grove-ivy-right::before{right:38px;transform:rotate(-14deg)}.grove-ivy-right::after{right:82px;transform:rotate(12deg)}
.grove-ivy b,.grove-window-ivy b{position:absolute;display:block;width:31px;height:22px;border-radius:92% 8% 92% 8%;background:linear-gradient(145deg,#82986a 0%,#506d4d 54%,#2f4a36 100%);box-shadow:inset 3px 3px 5px rgba(231,242,195,.10),0 3px 5px rgba(0,0,0,.26);transform-origin:0 100%}
.grove-ivy-left b:nth-child(1){left:23px;bottom:40px;transform:rotate(-28deg) scale(1.1)}
.grove-ivy-left b:nth-child(2){left:55px;bottom:72px;transform:rotate(22deg)}
.grove-ivy-left b:nth-child(3){left:31px;bottom:110px;transform:rotate(-18deg) scale(.92)}
.grove-ivy-left b:nth-child(4){left:69px;bottom:142px;transform:rotate(29deg) scale(1.05)}
.grove-ivy-left b:nth-child(5){left:45px;bottom:178px;transform:rotate(-24deg) scale(.9)}
.grove-ivy-left b:nth-child(6){left:88px;bottom:204px;transform:rotate(20deg) scale(.86)}
.grove-ivy-left b:nth-child(7){left:18px;bottom:225px;transform:rotate(-34deg) scale(.75)}
.grove-ivy-left b:nth-child(8){left:63px;bottom:246px;transform:rotate(16deg) scale(.7)}
.grove-ivy-right b:nth-child(1){right:24px;bottom:34px;transform:rotate(204deg) scale(1.08)}
.grove-ivy-right b:nth-child(2){right:56px;bottom:73px;transform:rotate(158deg)}
.grove-ivy-right b:nth-child(3){right:29px;bottom:112px;transform:rotate(198deg) scale(.9)}
.grove-ivy-right b:nth-child(4){right:67px;bottom:151px;transform:rotate(148deg) scale(1.02)}
.grove-ivy-right b:nth-child(5){right:42px;bottom:194px;transform:rotate(204deg) scale(.84)}
.grove-ivy-right b:nth-child(6){right:79px;bottom:229px;transform:rotate(151deg) scale(.72)}
.grove-window-ivy{left:1.6vw;top:10.5vh;width:64px;height:360px;opacity:.72;filter:drop-shadow(0 6px 7px rgba(0,0,0,.24))}
.grove-window-ivy::before{content:"";position:absolute;left:25px;top:0;width:5px;height:360px;border-radius:80%;background:linear-gradient(90deg,#293f2f,#617655 52%,#304735);transform:rotate(3deg)}
.grove-window-ivy b:nth-child(1){left:5px;top:34px;transform:rotate(-36deg) scale(.84)}
.grove-window-ivy b:nth-child(2){left:29px;top:89px;transform:rotate(31deg) scale(.9)}
.grove-window-ivy b:nth-child(3){left:4px;top:151px;transform:rotate(-28deg) scale(.78)}
.grove-window-ivy b:nth-child(4){left:30px;top:218px;transform:rotate(26deg) scale(.72)}
.grove-window-ivy b:nth-child(5){left:7px;top:292px;transform:rotate(-31deg) scale(.65)}
@media(max-width:620px){
  .grove-ivy{width:124px;height:238px;opacity:.82}
  .grove-ivy::before{height:224px}.grove-ivy::after{height:188px}
  .grove-window-ivy{left:8px;top:12vh;height:310px;opacity:.62}
  .grove-window-ivy::before{height:310px}
}
@media(prefers-reduced-motion:reduce){.grove-ivy,.grove-window-ivy{animation:none!important}}

/* VALES v2.4.3 - Stability & Integrity */
.thermal-safe-mode .dust,
.thermal-safe-mode .home-ambient-leaves i,
.thermal-safe-mode .grove-seed,
.thermal-safe-mode .grove-leaf,
.perf-low .dust:nth-child(n+11),
.perf-low .home-ambient-leaves i:nth-child(n+5){display:none!important}
/* Never stretch gameplay/UI animation timing in thermal mode. The previous
   universal selector changed a 420ms victory modal into a ~24s fade whenever
   slow canvas frames triggered thermal protection. Only passive ambience is
   allowed to slow down. */
.thermal-safe-mode .sunbeam,
.thermal-safe-mode .vine,
.thermal-safe-mode .grove-room-vine,
.thermal-safe-mode .grove-ivy-cluster,
.thermal-safe-mode .grove-ivy,
.thermal-safe-mode .grove-window-ivy,
.thermal-safe-mode .atmo-cloud,
.thermal-safe-mode .atmo-shaft,
.thermal-safe-mode .atmo-front-mist,
.perf-low .world-grove .grove-room-vine,
.perf-low .world-grove .grove-ivy-cluster{animation-duration:24s!important}
.thermal-safe-mode .game-shell,
.thermal-safe-mode .hud-panel,
.thermal-safe-mode .modal-card{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

/* ================================================================
   VALES v2.5.1 — Performance Pass
   Mobile-first rendering budget. Keep the premium look while avoiding
   compositor-heavy full-screen blur/filter work on phones.
   ================================================================ */
@media (max-width:700px), (pointer:coarse) {
  .modal,
  .modal-card,
  .garden-rank-banner,
  .wallet-chip,
  .home-rank-crest,
  .visual-action-card,
  .hud-panel,
  .hud-panel > button,
  .hud-panel > .move-orb,
  .round-button {
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
  }

  /* Avoid filter/shadow interpolation on every tap. */
  button,
  .button,
  .icon-button,
  .level-node,
  .journey-level-card,
  .journey-chapter-cover {
    transition-property:transform,opacity,background-color,border-color !important;
    transition-duration:140ms !important;
    filter:none !important;
  }

  /* Fast native-feeling modal reveal — no blur animation. */
  .modal:not(.hidden) .modal-card,
  .modal:not(.hidden) > div {
    animation:valesFastModalIn 180ms cubic-bezier(.22,.8,.28,1) both !important;
  }

  .dust:nth-child(n+9),
  #homeAmbientLeaves > i:nth-child(n+5) {
    display:none !important;
  }

  /* Sprite remains alive without continuously animating decorative UI marks. */
  .sprite-mark,
  .mechanic-mark {
    animation:none !important;
  }
}

@keyframes valesFastModalIn {
  from { opacity:0; transform:translateY(5px); }
  to   { opacity:1; transform:none; }
}

/* VALES v2.5.3 — challenge language: only HARD / MASTER are surfaced. */
.journey-level-card .difficulty-hard{
  color:#ff8e91!important;
  border-color:rgba(206,54,66,.58)!important;
  background:rgba(66,10,18,.78)!important;
  box-shadow:0 0 10px rgba(214,42,62,.20),inset 0 0 8px rgba(255,95,109,.05)!important;
}
.journey-level-card .difficulty-master{
  color:#e6c6ff!important;
  border-color:rgba(174,102,222,.62)!important;
  background:rgba(42,17,62,.82)!important;
  box-shadow:0 0 12px rgba(170,92,224,.24),inset 0 0 8px rgba(224,188,255,.06)!important;
}
.challenge-intro.is-hard strong{color:#ff9a9d!important;text-shadow:0 0 20px rgba(222,55,72,.42),0 4px 32px rgba(0,0,0,.58)!important}
.challenge-intro.is-master strong{color:#e5c5ff!important;text-shadow:0 0 24px rgba(174,105,224,.40),0 4px 32px rgba(0,0,0,.60)!important}

/* =========================================================
   VALES v2.5.4 — Core Smoothness
   Mobile gameplay keeps the artwork, but freezes expensive full-scene
   blur/filter animation while bottles are interactive. The canvas carries
   the motion at 60fps; decorative room life resumes on non-mobile screens.
   ========================================================= */
@media (max-width:700px){
  /* v2.11.1.1: the room is a sibling of #gameScreen, so the historical descendant
     selectors above could never match. Do not revive their visual downgrades;
     the thermal rest system below pauses the authored frame without removing blur,
     changing opacity, or swapping room art. */
  body.perf-resting .atelier-scene,
  body.perf-resting .atelier-scene *,
  body.ui-modal-open .atelier-scene,
  body.ui-modal-open .atelier-scene *{will-change:auto!important}
}

/* Challenge language: Easy and Regular are deliberately silent. */
.level-node .difficulty-easy,
.level-node .difficulty-regular,
.level-node .difficulty-normal{display:none!important}
.level-node .difficulty-hard{
  background:rgba(87,18,28,.78)!important;
  color:#ffd7d7!important;
  border-color:rgba(255,79,98,.62)!important;
  box-shadow:0 0 9px rgba(182,31,48,.22)!important;
}
.level-node .difficulty-master{
  background:rgba(58,29,91,.82)!important;
  color:#efdfff!important;
  border-color:rgba(185,112,255,.62)!important;
  box-shadow:0 0 10px rgba(139,72,213,.24)!important;
}


/* =========================================================
   VALES v2.5.5 — Animation Pipeline
   Smooth bottle-first rendering on mobile. Decorative room filters stay static
   so the canvas budget is reserved for liquid, vines, reflections and Spirits.
   ========================================================= */
@media (max-width:700px), (pointer:coarse){
  #gameScreen:not(.is-hidden) .grove-ivy,
  #gameScreen:not(.is-hidden) .grove-window-ivy,
  #gameScreen:not(.is-hidden) .grove-room-vine,
  #gameScreen:not(.is-hidden) .grove-ivy-cluster{
    filter:none!important;
    -webkit-filter:none!important;
    will-change:auto!important;
  }
  #gameScreen:not(.is-hidden) .grove-ivy *,
  #gameScreen:not(.is-hidden) .grove-window-ivy *{
    animation:none!important;
  }
  .thermal-safe-mode #gameScreen canvas{image-rendering:auto}
}

/* =========================================================
   VALES v2.7.1d — Crystal Marsh world identity
   World 3 must read as a new place, not a colour-filtered Atelier.
   Procedural CSS only: no new heavyweight image/animation asset.
   ========================================================= */
body.world-marsh .atelier-scene{
  background:
    radial-gradient(ellipse at 18% 15%,rgba(151,237,244,.14),transparent 27%),
    radial-gradient(ellipse at 82% 26%,rgba(79,188,196,.10),transparent 31%),
    linear-gradient(180deg,#132b2d 0%,#132527 42%,#111c1e 72%,#0b1416 100%)!important;
}
body.world-marsh .window{
  border-color:#29494b!important;
  box-shadow:inset 0 0 0 5px rgba(193,246,248,.14),18px 20px 45px rgba(0,0,0,.48),0 0 30px rgba(86,191,200,.08)!important;
  background-image:
    linear-gradient(180deg,rgba(160,239,242,.11),rgba(15,50,55,.18)),
    radial-gradient(ellipse at 52% 72%,rgba(170,242,243,.32) 0 2%,transparent 3%),
    radial-gradient(ellipse at 30% 76%,rgba(93,189,194,.25) 0 1.5%,transparent 2.5%),
    linear-gradient(176deg,transparent 0 47%,rgba(86,151,157,.24) 48% 49%,transparent 50%),
    linear-gradient(180deg,#829da0 0%,#55767a 38%,#24494f 39%,#15383c 64%,#0e282c 100%)!important;
  background-size:auto!important;background-position:center!important;
  filter:saturate(1.02) contrast(1.08) brightness(.76)!important;
  animation:none!important;
}
body.world-marsh .window .mountains{opacity:.85!important;filter:none!important;animation:marshWaterDrift 16s ease-in-out infinite alternate!important;background:
  radial-gradient(ellipse at 18% 65%,rgba(186,244,244,.14),transparent 24%),
  radial-gradient(ellipse at 70% 73%,rgba(116,207,211,.12),transparent 31%),
  repeating-linear-gradient(178deg,transparent 0 16px,rgba(185,239,238,.08) 17px 18px,transparent 19px 32px)!important}
body.world-marsh .window .mountains::before{opacity:.9!important;top:12%!important;height:75%!important;background:
  linear-gradient(72deg,transparent 0 15%,rgba(182,239,240,.22) 16% 17%,transparent 18% 34%,rgba(104,182,188,.18) 35% 36%,transparent 37%),
  linear-gradient(-67deg,transparent 0 54%,rgba(153,225,228,.15) 55% 56%,transparent 57%)!important;filter:none!important;animation:none!important}
body.world-marsh .window .mountains::after{opacity:.78!important;top:54%!important;height:42%!important;background:repeating-linear-gradient(178deg,transparent 0 7px,rgba(196,248,247,.11) 8px 9px,transparent 10px 20px)!important;filter:none!important;animation:marshWaterDrift 9s ease-in-out infinite alternate-reverse!important}
@keyframes marshWaterDrift{from{transform:translateX(-1.2%)}to{transform:translateX(1.2%)}}
body.world-marsh .sunbeam{opacity:.07!important;filter:blur(48px)!important;background:radial-gradient(ellipse at center,rgba(128,236,238,.28),rgba(71,163,174,.07) 42%,transparent 76%)!important;animation:none!important}
body.world-marsh .vine{filter:hue-rotate(72deg) saturate(.72) brightness(.63) drop-shadow(0 8px 7px rgba(0,0,0,.42))!important;opacity:.48}
body.world-marsh .back-shelf{background:linear-gradient(#4d6562,#243d3d)!important;box-shadow:0 10px 25px rgba(0,0,0,.6),inset 0 2px rgba(186,240,233,.12)!important}
body.world-marsh .pot,body.world-marsh .jar,body.world-marsh .books{filter:saturate(.55) hue-rotate(76deg) brightness(.62)}
body.world-marsh .dust{background:rgba(180,246,247,.70)!important;box-shadow:0 0 8px rgba(119,224,232,.62)!important}
body.world-marsh .vignette{background:radial-gradient(circle at 50% 40%,transparent 30%,rgba(5,22,24,.44) 72%,rgba(3,12,14,.80) 112%)!important}
body.world-marsh .grove-room-details{display:none!important}
body.world-marsh .atelier-scene::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.72;background:
  linear-gradient(112deg,transparent 0 9%,rgba(139,227,229,.07) 10% 10.7%,transparent 11.5% 73%,rgba(105,206,213,.06) 74% 75%,transparent 76%),
  radial-gradient(ellipse at 10% 92%,rgba(95,186,178,.13),transparent 25%),
  radial-gradient(ellipse at 90% 95%,rgba(86,158,157,.12),transparent 25%);}
body.world-marsh .atelier-scene::after{content:"";position:absolute;left:0;right:0;bottom:-1vh;height:25vh;pointer-events:none;opacity:.68;background:
  radial-gradient(ellipse at 8% 100%,rgba(83,157,145,.24) 0 7%,transparent 8%),
  radial-gradient(ellipse at 25% 100%,rgba(53,128,122,.24) 0 8%,transparent 9%),
  radial-gradient(ellipse at 77% 100%,rgba(69,145,137,.20) 0 9%,transparent 10%),
  radial-gradient(ellipse at 96% 100%,rgba(97,175,158,.18) 0 8%,transparent 9%),
  linear-gradient(180deg,transparent,rgba(43,103,101,.13) 58%,rgba(12,45,47,.32));filter:blur(.2px)}
body.world-marsh .gameplay-title p{text-shadow:0 0 14px rgba(103,228,235,.34)}
@media(prefers-reduced-motion:reduce){body.world-marsh .window .mountains,body.world-marsh .window .mountains::after{animation:none!important}}

/* =========================================================
   VALES v2.7.1e — Crystal Marsh: frost invasion, not blue paint
   Keep Atelier architecture/materials warm. Cold is localized to
   exterior glass, condensation, ice deposits and selected shelf edges.
   ========================================================= */
body.world-marsh{--world-wash:transparent!important;background-color:inherit}
body.world-marsh #gameScreen::after{background:none!important;mix-blend-mode:normal!important}
body.world-marsh .atelier-scene{
  background:
    linear-gradient(90deg,rgba(255,228,176,.11),transparent 35%),
    radial-gradient(circle at 70% 10%,#695039 0,#34261b 40%,#20160f 100%)!important;
}
/* The original wood frame is intentionally untouched. Only the view inside changes. */
body.world-marsh .window{
  border-color:#5a351d!important;
  box-shadow:inset 0 0 0 5px rgba(255,238,194,.24),18px 20px 45px rgba(0,0,0,.38)!important;
  background-image:
    linear-gradient(180deg,rgba(245,249,246,.02),rgba(20,39,43,.06)),
    url('assets/scene/crystal-marsh.png')!important;
  background-size:auto 112%!important;
  background-position:50% 44%!important;
  background-repeat:no-repeat!important;
  filter:saturate(.82) contrast(1.02) brightness(.88)!important;
  animation:none!important;
}
/* Use the existing interior overlay layer only for physical frost/condensation. */
body.world-marsh .window .mountains{
  inset:0!important;height:100%!important;opacity:1!important;filter:none!important;animation:none!important;
  background:
    radial-gradient(ellipse at 3% 3%,rgba(239,252,253,.72) 0 2%,rgba(207,239,242,.28) 5%,transparent 17%),
    radial-gradient(ellipse at 97% 97%,rgba(236,251,252,.60) 0 2%,rgba(195,231,235,.24) 7%,transparent 20%),
    linear-gradient(115deg,rgba(234,250,250,.16),transparent 13% 84%,rgba(227,248,249,.13)),
    repeating-radial-gradient(ellipse at 18% 14%,rgba(246,255,255,.17) 0 1px,transparent 2px 10px)!important;
  mix-blend-mode:screen!important;
}
body.world-marsh .window .mountains::before{
  content:""!important;position:absolute!important;left:0!important;right:auto!important;top:0!important;width:100%!important;height:100%!important;
  opacity:.94!important;filter:none!important;animation:none!important;
  background:
    radial-gradient(ellipse at 0 0,rgba(244,255,255,.95) 0 1.5%,rgba(211,241,244,.54) 4%,transparent 14%),
    radial-gradient(ellipse at 100% 0,rgba(242,254,255,.83) 0 1.2%,rgba(205,237,241,.44) 4%,transparent 13%),
    radial-gradient(ellipse at 0 100%,rgba(239,253,254,.68) 0 1.2%,rgba(201,235,239,.34) 5%,transparent 16%),
    linear-gradient(90deg,rgba(241,254,255,.18),transparent 8% 92%,rgba(236,252,253,.15))!important;
}
body.world-marsh .window .mountains::after{
  content:""!important;position:absolute!important;left:2%!important;right:2%!important;bottom:0!important;top:auto!important;width:auto!important;height:11%!important;
  opacity:.88!important;filter:none!important;animation:none!important;
  background:
    linear-gradient(180deg,transparent,rgba(223,247,249,.34) 58%,rgba(240,254,255,.70)),
    repeating-linear-gradient(105deg,transparent 0 19px,rgba(245,255,255,.42) 20px 22px,transparent 23px 39px)!important;
  clip-path:polygon(0 58%,4% 43%,8% 66%,13% 36%,17% 61%,22% 49%,27% 70%,33% 39%,38% 63%,45% 45%,51% 66%,58% 36%,64% 61%,70% 48%,77% 68%,84% 42%,90% 61%,96% 39%,100% 55%,100% 100%,0 100%);
}
/* Warm room materials remain readable. */
body.world-marsh .back-shelf{
  background:linear-gradient(#9b6639,#553018)!important;
  box-shadow:0 10px 20px rgba(0,0,0,.52),inset 0 3px rgba(255,216,150,.16)!important;
  filter:none!important;
}
body.world-marsh .pot,body.world-marsh .jar,body.world-marsh .books{filter:none!important}
body.world-marsh .vine{filter:drop-shadow(0 8px 7px rgba(0,0,0,.32)) saturate(.82) brightness(.82)!important;opacity:.56}
/* Thin ice shelf lip and isolated crystal teeth: cold accumulated where moisture settles. */
body.world-marsh .back-shelf::before{
  content:"";position:absolute;left:5%;right:7%;top:-5px;height:9px;pointer-events:none;opacity:.78;
  background:linear-gradient(180deg,rgba(239,254,255,.78),rgba(174,222,228,.20));
  clip-path:polygon(0 46%,5% 25%,9% 55%,14% 18%,18% 52%,24% 31%,31% 63%,38% 27%,45% 56%,53% 22%,60% 62%,68% 33%,76% 59%,83% 24%,90% 54%,96% 31%,100% 49%,100% 100%,0 100%);
}
body.world-marsh .back-shelf::after{
  content:"";position:absolute;left:9%;right:13%;bottom:-8px;height:12px;pointer-events:none;opacity:.52;
  background:linear-gradient(180deg,rgba(226,249,251,.66),rgba(170,216,222,.06));filter:blur(.2px);
  clip-path:polygon(0 0,100% 0,100% 22%,94% 15%,91% 76%,88% 18%,73% 20%,69% 90%,66% 18%,48% 20%,44% 66%,41% 18%,24% 20%,20% 82%,17% 18%,0 22%);
}
body.world-marsh .dust{background:rgba(226,245,241,.66)!important;box-shadow:0 0 6px rgba(207,239,238,.42)!important}
body.world-marsh .vignette{background:radial-gradient(circle at 50% 40%,transparent 36%,rgba(15,10,7,.42) 80%,rgba(10,7,5,.68) 118%)!important}
body.world-marsh .sunbeam{opacity:.10!important;filter:blur(42px)!important;background:radial-gradient(ellipse at center,rgba(225,238,226,.18),rgba(205,231,232,.05) 42%,transparent 76%)!important}
body.world-marsh .atelier-scene::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.34;
  background:radial-gradient(ellipse at 7% 91%,rgba(211,240,239,.15),transparent 20%),radial-gradient(ellipse at 91% 94%,rgba(211,240,239,.11),transparent 19%)!important;
}
body.world-marsh .atelier-scene::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:13vh;pointer-events:none;opacity:.34;filter:none!important;
  background:linear-gradient(180deg,transparent,rgba(205,234,231,.08))!important;
}
body.world-marsh .gameplay-title p{text-shadow:0 0 10px rgba(190,237,238,.20)}

/* =========================================================
   VALES v2.7.1f — Crystal Marsh material invasion
   The room stays architecturally Atelier-warm; ice is a physical material
   with mass, seams, crystals, puddles and progression across Levels 41–60.
   ========================================================= */
body.world-marsh .window .mountains{
  /* Remove v2.7.1e's repeating radial rings completely. */
  background:
    linear-gradient(108deg,rgba(244,254,255,.16),transparent 10% 88%,rgba(234,251,253,.14)),
    radial-gradient(ellipse at 4% 6%,rgba(243,255,255,.58),rgba(205,237,241,.24) 8%,transparent 19%),
    radial-gradient(ellipse at 96% 94%,rgba(238,253,254,.46),rgba(198,232,237,.18) 9%,transparent 21%)!important;
}
.marsh-room-details{display:none;position:absolute;inset:0;pointer-events:none;z-index:7;overflow:hidden}
body.world-marsh .marsh-room-details{display:block}

/* Dendritic wall frost grows from cold boundaries, never as a full-screen tint. */
.marsh-wall-frost{position:absolute;display:block;opacity:calc(.42 + var(--marsh-progress,0)*.34);filter:drop-shadow(0 2px 3px rgba(102,164,172,.16));}
.marsh-wall-frost::before,.marsh-wall-frost::after{content:"";position:absolute;inset:0}
.marsh-wall-frost-left{left:0;top:12vh;width:min(18vw,210px);height:58vh;background:
  linear-gradient(92deg,rgba(229,249,251,.38),rgba(195,229,233,.10) 36%,transparent 72%);
  clip-path:polygon(0 0,42% 0,34% 7%,52% 12%,29% 18%,44% 25%,20% 31%,39% 38%,16% 44%,33% 53%,13% 61%,26% 70%,8% 78%,20% 88%,0 96%)}
.marsh-wall-frost-left::before{background:
  linear-gradient(56deg,transparent 0 46%,rgba(238,254,255,.62) 47% 48%,transparent 49%) 18px 34px/68px 92px,
  linear-gradient(118deg,transparent 0 48%,rgba(208,239,243,.46) 49% 50%,transparent 51%) 4px 86px/83px 108px;
  opacity:.76}
.marsh-wall-frost-right{right:0;bottom:3vh;width:min(20vw,230px);height:46vh;background:
  linear-gradient(268deg,rgba(221,246,248,.30),rgba(187,225,230,.08) 38%,transparent 73%);
  clip-path:polygon(100% 0,72% 7%,82% 16%,60% 24%,79% 33%,56% 42%,75% 51%,51% 61%,69% 70%,47% 79%,58% 88%,32% 100%,100% 100%)}
.marsh-wall-frost-right::before{background:
  linear-gradient(122deg,transparent 0 47%,rgba(237,253,254,.48) 48% 49%,transparent 50%) 8px 14px/76px 96px,
  linear-gradient(63deg,transparent 0 47%,rgba(198,234,239,.42) 48% 49%,transparent 50%) 26px 82px/92px 112px;opacity:.70}

/* Faceted crystal colonies: sparse at 41, visually stronger toward 60. */
.marsh-crystal-cluster{position:absolute;width:120px;height:105px;opacity:calc(.40 + var(--marsh-progress,0)*.46);filter:drop-shadow(0 7px 8px rgba(5,16,18,.32))}
.marsh-crystal-cluster b{position:absolute;display:block;bottom:0;left:50%;width:22px;height:72px;transform-origin:50% 100%;background:linear-gradient(105deg,rgba(245,255,255,.82),rgba(159,216,225,.40) 34%,rgba(90,159,177,.26) 70%,rgba(235,253,255,.64));clip-path:polygon(50% 0,100% 33%,82% 100%,18% 100%,0 33%);box-shadow:inset 4px 0 rgba(255,255,255,.22)}
.marsh-crystal-cluster b:nth-child(1){transform:translateX(-49px) rotate(-17deg) scale(.74,.72)}
.marsh-crystal-cluster b:nth-child(2){transform:translateX(-24px) rotate(-7deg) scale(.88,1.04)}
.marsh-crystal-cluster b:nth-child(3){transform:translateX(8px) rotate(9deg) scale(.70,.84)}
.marsh-crystal-cluster b:nth-child(4){transform:translateX(30px) rotate(18deg) scale(.55,.62)}
.marsh-crystal-a{left:29vw;bottom:1.5vh;transform:scale(calc(.72 + var(--marsh-progress,0)*.28))}
.marsh-crystal-b{right:2vw;top:49vh;transform:scale(calc(.62 + var(--marsh-progress,0)*.24))}

/* Frozen puddles ground the cold in the room instead of floating as overlays. */
.marsh-frozen-puddle{position:absolute;height:24px;border-radius:50%;background:radial-gradient(ellipse,rgba(224,249,251,.30),rgba(142,201,210,.16) 46%,transparent 72%);border-top:1px solid rgba(241,255,255,.35);opacity:calc(.26 + var(--marsh-progress,0)*.34)}
.marsh-puddle-a{left:17vw;bottom:5vh;width:31vw;transform:rotate(-2deg)}
.marsh-puddle-b{right:2vw;bottom:18vh;width:22vw;transform:rotate(3deg)}

/* Mineral veins imply ice spreading through cracks in the interior material. */
.marsh-ice-vein{position:absolute;width:145px;height:190px;opacity:calc(.28 + var(--marsh-progress,0)*.45);background:
  linear-gradient(71deg,transparent 0 48%,rgba(223,248,250,.52) 49% 50%,transparent 51%) 0 0/90px 95px,
  linear-gradient(128deg,transparent 0 48%,rgba(189,229,234,.34) 49% 50%,transparent 51%) 26px 55px/110px 116px;filter:drop-shadow(0 0 2px rgba(205,243,247,.24))}
.marsh-ice-vein-a{right:10vw;top:18vh;transform:rotate(8deg)}
.marsh-ice-vein-b{left:42vw;bottom:8vh;transform:rotate(-18deg) scale(.76)}

/* A little low cold atmosphere, not a cyan room wash. */
.marsh-haze{position:absolute;border-radius:50%;background:radial-gradient(ellipse,rgba(215,243,244,.12),rgba(207,239,241,.04) 45%,transparent 72%);filter:blur(5px);opacity:calc(.28 + var(--marsh-progress,0)*.18)}
.marsh-haze-a{left:-5vw;bottom:8vh;width:46vw;height:10vh;animation:marshHazeA 9s ease-in-out infinite alternate}
.marsh-haze-b{right:-4vw;bottom:24vh;width:38vw;height:9vh;animation:marshHazeB 11s ease-in-out infinite alternate}
@keyframes marshHazeA{from{transform:translate3d(-2%,0,0)}to{transform:translate3d(7%,2px,0)}}
@keyframes marshHazeB{from{transform:translate3d(4%,1px,0)}to{transform:translate3d(-6%,-2px,0)}}

/* Existing room props remain warm/neutral; ice is allowed to sit on them. */
body.world-marsh .back-shelf{background:linear-gradient(#9b6639,#553018)!important;box-shadow:0 10px 20px rgba(0,0,0,.52),inset 0 3px rgba(255,216,150,.16)!important}
body.world-marsh .vine{opacity:.22!important;filter:grayscale(.18) brightness(.72) drop-shadow(0 8px 7px rgba(0,0,0,.32))!important}
body.world-marsh .atelier-scene::before{opacity:.16!important;background:radial-gradient(ellipse at 8% 94%,rgba(215,242,242,.17),transparent 18%),radial-gradient(ellipse at 92% 95%,rgba(211,239,240,.13),transparent 18%)!important}
body.world-marsh .atelier-scene::after{opacity:.15!important}

@media(max-width:620px){
  .marsh-wall-frost-left{width:25vw;top:14vh;height:54vh}.marsh-wall-frost-right{width:24vw;height:37vh}
  .marsh-crystal-a{left:22vw;bottom:2vh;transform:scale(calc(.52 + var(--marsh-progress,0)*.18))}
  .marsh-crystal-b{right:-4vw;top:44vh;transform:scale(calc(.46 + var(--marsh-progress,0)*.16))}
  .marsh-puddle-a{left:10vw;width:43vw}.marsh-puddle-b{width:31vw}
  .marsh-ice-vein-a{right:-3vw;top:22vh;transform:rotate(8deg) scale(.72)}.marsh-ice-vein-b{display:none}
  .marsh-haze{filter:blur(3px)}
}
@media(prefers-reduced-motion:reduce){.marsh-haze{animation:none!important}}

/* =========================================================
   VALES v2.7.1g — authored Crystal Marsh art pass
   Retire primitive procedural room geometry. Major ice is illustrated SVG art;
   runtime CSS is reserved for atmosphere and chapter progression.
   ========================================================= */
body.world-marsh .marsh-wall-frost,
body.world-marsh .marsh-crystal-cluster,
body.world-marsh .marsh-frozen-puddle,
body.world-marsh .marsh-ice-vein{display:none!important}
.marsh-authored-ice{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none}
.marsh-authored-ice-base{opacity:calc(.58 + var(--marsh-progress,0)*.18);filter:drop-shadow(0 4px 7px rgba(17,49,54,.20))}
.marsh-authored-ice-deep{opacity:calc(.08 + var(--marsh-progress,0)*.68);filter:drop-shadow(0 5px 8px rgba(11,37,43,.22))}
body.world-marsh .window .mountains{background:linear-gradient(90deg,rgba(245,255,255,.10),transparent 7% 93%,rgba(240,254,255,.09))!important}
body.world-marsh .back-shelf::after{clip-path:none!important;background:none!important}
@media(max-width:620px){.marsh-authored-ice{object-position:center top}.marsh-authored-ice-base{opacity:calc(.64 + var(--marsh-progress,0)*.15)}}

/* =========================================================
   VALES v2.7.1h — Crystal Marsh frozen chamber
   Level 41 already belongs to a different world. No floating motifs.
   ========================================================= */
body.world-marsh .atelier-scene{
  background-color:#172f35!important;
  background-image:
    linear-gradient(90deg,rgba(9,28,33,.14),transparent 42%,rgba(5,19,24,.24)),
    url('assets/scene/crystal-marsh-wall.svg')!important;
  background-size:cover!important;background-position:center!important;
}
body.world-marsh .marsh-authored-ice-base{opacity:calc(.76 + var(--marsh-progress,0)*.08);filter:drop-shadow(0 5px 8px rgba(4,22,28,.28))}
body.world-marsh .marsh-authored-ice-deep{opacity:calc(.20 + var(--marsh-progress,0)*.58);filter:drop-shadow(0 5px 9px rgba(4,22,28,.24))}
body.world-marsh .marsh-haze{opacity:calc(.34 + var(--marsh-progress,0)*.16);background:radial-gradient(ellipse,rgba(218,244,245,.14),rgba(158,210,216,.045) 48%,transparent 74%)}
body.world-marsh .back-shelf{
  background:linear-gradient(180deg,#8b5a34 0%,#714324 45%,#4c2b18 100%)!important;
  box-shadow:0 11px 24px rgba(2,13,17,.58),inset 0 2px rgba(255,220,163,.15),0 -1px rgba(195,230,230,.14)!important;
}
body.world-marsh .vignette{background:radial-gradient(circle at 50% 38%,transparent 32%,rgba(4,18,22,.30) 72%,rgba(2,10,13,.70) 118%)!important}
body.world-marsh .atelier-scene::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.72!important;background:
 radial-gradient(ellipse at 72% 22%,rgba(173,222,226,.09),transparent 28%),
 linear-gradient(180deg,rgba(180,226,229,.035),transparent 42%,rgba(3,19,24,.10))!important;mix-blend-mode:screen}
body.world-marsh .atelier-scene::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:calc(.20 + var(--marsh-progress,0)*.16)!important;background:
 linear-gradient(106deg,transparent 0 57%,rgba(205,239,240,.055) 58%,transparent 59% 77%,rgba(170,218,224,.04) 78%,transparent 79%)!important}
@media(max-width:620px){body.world-marsh .atelier-scene{background-position:56% center!important}}

/* VALES v2.7.1i — attached ice only; no floating decorative crystal motifs */
body.world-marsh .marsh-authored-ice-deep{display:none!important}
body.world-marsh .marsh-authored-ice-base{opacity:calc(.82 + var(--marsh-progress,0)*.08)}

/* VALES v2.7.1j — Crystal Marsh cleanup: no inherited Atelier/Grove foliage silhouettes.
   The three-lobed 'ice flowers' were legacy vine/leaf geometry showing through the cold treatment. */
body.world-marsh .vine,
body.world-marsh .vine::before,
body.world-marsh .vine::after,
body.world-marsh .grove-room-details,
body.world-marsh .grove-room-details *{display:none!important;opacity:0!important}

/* v2.7.6.0 — persistent authored challenge atmosphere.
   Difficulty changes the room's emotional lighting without recolouring puzzle liquids. */
/* Reset the full-screen geometry here because an older top-readability pass gave #gameScreen::before a fixed top-only height. Without clearing that height, HARD/MASTER atmosphere gets clipped into a horizontal band. */
#gameScreen::before{content:"";position:absolute;inset:0;top:0;right:0;bottom:0;left:0;width:auto;height:auto;min-height:0;max-height:none;pointer-events:none;z-index:7;opacity:0;transition:opacity .7s ease;background:transparent}
body.difficulty-hard #gameScreen::before{opacity:1;background:
  radial-gradient(ellipse at center,transparent 38%,rgba(50,7,35,.18) 66%,rgba(37,4,24,.54) 100%),
  linear-gradient(135deg,rgba(101,20,49,.09),transparent 42%,rgba(54,18,81,.12));
  box-shadow:inset 0 0 92px rgba(92,13,48,.28);animation:hardRoomPulse 7.5s ease-in-out infinite}
body.difficulty-master #gameScreen::before{opacity:1;background:
  radial-gradient(ellipse at center,transparent 31%,rgba(40,8,52,.25) 61%,rgba(24,3,31,.70) 100%),
  linear-gradient(145deg,rgba(122,18,44,.13),transparent 40%,rgba(70,25,104,.17));
  box-shadow:inset 0 0 125px rgba(86,11,64,.42);animation:masterRoomPulse 5.4s ease-in-out infinite}
body.difficulty-hard .atelier-scene,body.difficulty-hard .game-stage{filter:saturate(.91) brightness(.92)}
body.difficulty-master .atelier-scene,body.difficulty-master .game-stage{filter:saturate(.86) brightness(.84) contrast(1.04)}
body.difficulty-hard .game-hud,body.difficulty-master .game-hud{position:relative;z-index:9}
body.difficulty-hard canvas,body.difficulty-master canvas{position:relative;z-index:8}
@keyframes hardRoomPulse{0%,100%{box-shadow:inset 0 0 86px rgba(92,13,48,.24)}50%{box-shadow:inset 0 0 108px rgba(107,16,62,.36)}}
@keyframes masterRoomPulse{0%,100%{box-shadow:inset 0 0 112px rgba(76,8,60,.38)}50%{box-shadow:inset 0 0 148px rgba(115,15,65,.52)}}
@media(prefers-reduced-motion:reduce){body.difficulty-hard #gameScreen::before,body.difficulty-master #gameScreen::before{animation:none!important}}


/* VALES v2.7.6.2 — Cinematic challenge atmosphere: moving volume, not a flat tint. */
#gameScreen{isolation:isolate;overflow:hidden}
.difficulty-atmosphere{position:absolute;inset:-8%;pointer-events:none;opacity:0;transition:opacity .8s ease;overflow:hidden}
.difficulty-atmosphere-back{z-index:6;mix-blend-mode:screen}
.difficulty-atmosphere-front{z-index:9;mix-blend-mode:screen}
body.difficulty-hard .difficulty-atmosphere,body.difficulty-master .difficulty-atmosphere{opacity:1}
body.difficulty-hard canvas,body.difficulty-master canvas{z-index:8!important}
body.difficulty-hard .game-hud,body.difficulty-master .game-hud{z-index:12!important}
.atmo-cloud,.atmo-front-mist,.atmo-shadow-sweep,.atmo-shaft{position:absolute;display:block;will-change:transform,opacity}
.atmo-cloud{width:78%;height:38%;border-radius:50%;filter:blur(30px);opacity:.26;background:radial-gradient(ellipse,rgba(137,28,68,.32),rgba(92,19,84,.18) 48%,transparent 74%)}
.atmo-cloud-a{left:-26%;top:10%;animation:challengeCloudA 12s ease-in-out infinite alternate}
.atmo-cloud-b{right:-34%;top:35%;width:92%;height:45%;animation:challengeCloudB 15s ease-in-out infinite alternate-reverse}
.atmo-cloud-c{left:5%;bottom:-18%;width:88%;height:40%;opacity:.19;animation:challengeCloudC 18s ease-in-out infinite alternate}
.atmo-shaft{left:18%;top:-22%;width:28%;height:120%;transform:rotate(13deg);opacity:.11;filter:blur(12px);background:linear-gradient(90deg,transparent,rgba(218,122,188,.28),transparent);animation:challengeShaft 10s ease-in-out infinite alternate}
.atmo-front-mist{width:54%;height:58%;bottom:-20%;filter:blur(24px);opacity:.22;background:radial-gradient(ellipse,rgba(121,29,85,.30),rgba(56,10,70,.14) 50%,transparent 76%)}
.atmo-front-left{left:-24%;animation:frontMistLeft 9s ease-in-out infinite alternate}
.atmo-front-right{right:-27%;animation:frontMistRight 11s ease-in-out infinite alternate-reverse}
.atmo-shadow-sweep{inset:-25%;opacity:.13;mix-blend-mode:multiply;background:linear-gradient(112deg,transparent 30%,rgba(8,0,12,.84) 46%,rgba(41,2,45,.28) 57%,transparent 70%);animation:shadowSweep 13s cubic-bezier(.45,0,.55,1) infinite}
body.difficulty-hard #gameScreen::before{z-index:10!important;background:radial-gradient(ellipse at 50% 46%,transparent 38%,rgba(54,7,37,.24) 67%,rgba(31,2,22,.72) 100%)!important;box-shadow:inset 0 0 118px rgba(111,14,48,.38)!important;animation:hardCinemaVignette 6.8s ease-in-out infinite!important}
body.difficulty-master #gameScreen::before{z-index:10!important;background:radial-gradient(ellipse at 50% 45%,transparent 26%,rgba(39,5,49,.30) 57%,rgba(18,0,26,.82) 100%),radial-gradient(circle at 50% 2%,rgba(133,55,160,.14),transparent 43%)!important;box-shadow:inset 0 0 160px rgba(78,5,67,.64),inset 0 0 42px rgba(162,30,61,.16)!important;animation:masterCinemaVignette 4.8s ease-in-out infinite!important}
body.difficulty-hard .atelier-scene,body.difficulty-hard .game-stage{filter:saturate(.88) brightness(.86) contrast(1.07)!important}
body.difficulty-master .atelier-scene,body.difficulty-master .game-stage{filter:saturate(.78) brightness(.72) contrast(1.14)!important}
body.difficulty-master .atmo-cloud{opacity:.38;background:radial-gradient(ellipse,rgba(128,31,135,.38),rgba(107,13,61,.24) 45%,rgba(49,5,68,.10) 65%,transparent 78%)}
body.difficulty-master .atmo-front-mist{opacity:.34;background:radial-gradient(ellipse,rgba(135,28,116,.36),rgba(61,6,74,.20) 48%,transparent 76%)}
body.difficulty-master .atmo-shadow-sweep{opacity:.22;animation-duration:9.5s}
body.difficulty-master .atmo-shaft{opacity:.18;animation-duration:7.5s}
@keyframes challengeCloudA{0%{transform:translate3d(-3%,0,0) scale(.96)}100%{transform:translate3d(22%,10%,0) scale(1.14)}}
@keyframes challengeCloudB{0%{transform:translate3d(0,-5%,0) scale(1)}100%{transform:translate3d(-24%,8%,0) scale(1.18)}}
@keyframes challengeCloudC{0%{transform:translate3d(-8%,0,0) scale(1)}100%{transform:translate3d(16%,-13%,0) scale(1.12)}}
@keyframes challengeShaft{0%{transform:translateX(-34%) rotate(13deg);opacity:.05}55%{opacity:.18}100%{transform:translateX(170%) rotate(13deg);opacity:.04}}
@keyframes frontMistLeft{0%{transform:translate(-8%,4%) scale(.94);opacity:.15}100%{transform:translate(24%,-12%) scale(1.18);opacity:.34}}
@keyframes frontMistRight{0%{transform:translate(7%,5%) scale(1);opacity:.14}100%{transform:translate(-28%,-8%) scale(1.2);opacity:.32}}
@keyframes shadowSweep{0%,18%{transform:translateX(-62%) rotate(-3deg);opacity:0}31%{opacity:.18}57%{opacity:.11}72%,100%{transform:translateX(62%) rotate(3deg);opacity:0}}
@keyframes hardCinemaVignette{0%,100%{box-shadow:inset 0 0 108px rgba(94,10,43,.34)}50%{box-shadow:inset 0 0 138px rgba(128,14,58,.49)}}
@keyframes masterCinemaVignette{0%,100%{box-shadow:inset 0 0 148px rgba(68,4,62,.58),inset 0 0 38px rgba(160,26,61,.13)}48%{box-shadow:inset 0 0 190px rgba(99,5,76,.72),inset 0 0 54px rgba(179,32,68,.22)}72%{box-shadow:inset 0 0 166px rgba(50,2,60,.72),inset 0 0 36px rgba(139,18,75,.14)}}
@media(prefers-reduced-motion:reduce){.atmo-cloud,.atmo-front-mist,.atmo-shadow-sweep,.atmo-shaft{animation:none!important}.difficulty-atmosphere{opacity:.55}}

/* v2.7.7.0 GPU Moon VFX */
#moonVfxCanvas{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;pointer-events:none!important;z-index:4!important;mix-blend-mode:screen;}
body.thermal-safe-mode #moonVfxCanvas{opacity:.72;}
body.reduce-motion #moonVfxCanvas{display:none!important;}


/* VALES v2.7.9.6 — Moonlit Conservatory authored environment
   Atmospheric layers only: no gameplay geometry, no decorative SVG overlays. */
.conservatory-room-details{display:none;position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;isolation:isolate}
body.world-conservatory .conservatory-room-details{display:block}
body.world-conservatory .grove-room-details,body.world-conservatory .marsh-room-details{display:none!important}
body.world-conservatory .atelier-scene{background:
  radial-gradient(ellipse at 74% 24%,rgba(87,55,109,.26),transparent 36%),
  linear-gradient(180deg,#24182e 0%,#17131f 48%,#100d15 100%)!important}
body.world-conservatory .atelier-scene::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:
  radial-gradient(ellipse at 50% 88%,rgba(93,57,105,.18),transparent 44%),
  linear-gradient(90deg,rgba(9,7,14,.34),transparent 20%,transparent 77%,rgba(10,7,14,.46));mix-blend-mode:screen}
body.world-conservatory .window{filter:none!important;box-shadow:inset 0 0 0 1px rgba(158,128,96,.18),0 0 50px rgba(71,48,103,.12)!important;background:#10101b!important}
body.world-conservatory .window .mountains{filter:saturate(.42) hue-rotate(178deg) brightness(.30) contrast(1.18)!important;transform:scale(1.025);transform-origin:center}
body.world-conservatory .sunbeam{opacity:0!important}
body.world-conservatory .vine{opacity:.12!important;filter:saturate(.35) brightness(.45) hue-rotate(55deg)}
body.world-conservatory .back-shelf{background:linear-gradient(180deg,#432b2c,#251923)!important;border-color:rgba(185,147,101,.13)!important;box-shadow:0 18px 36px rgba(0,0,0,.34),inset 0 1px rgba(222,190,144,.06)!important}
body.world-conservatory .back-shelf::after{content:"";position:absolute;left:6%;right:6%;bottom:2px;height:1px;background:linear-gradient(90deg,transparent,rgba(210,167,99,.26),transparent)}
body.world-conservatory .pot,body.world-conservatory .jar,body.world-conservatory .books{filter:brightness(.46) saturate(.52) hue-rotate(286deg);opacity:.66}

.conservatory-night-glass{position:absolute;inset:0;background:linear-gradient(180deg,rgba(34,18,44,.05),rgba(9,8,16,.22) 62%,rgba(10,7,14,.46));mix-blend-mode:multiply}
.conservatory-moon{position:absolute;left:6.5%;top:10%;width:clamp(96px,19vw,190px);aspect-ratio:1;border-radius:50%;opacity:.68;background:radial-gradient(circle at 38% 35%,#fffdf2 0 8%,#ebe5cf 31%,#bfc2cf 60%,#838598 76%,rgba(122,122,151,.12) 77%,transparent 79%);box-shadow:0 0 22px rgba(224,222,255,.34),0 0 62px rgba(176,146,228,.19),0 0 120px rgba(120,82,181,.12);filter:blur(.15px);animation:conservatoryMoonBreath 13s ease-in-out infinite}
.conservatory-moon::after{content:"";position:absolute;inset:11%;border-radius:50%;background:radial-gradient(circle at 62% 56%,rgba(96,100,119,.18) 0 7%,transparent 8%),radial-gradient(circle at 37% 68%,rgba(80,85,103,.14) 0 11%,transparent 12%),radial-gradient(circle at 57% 27%,rgba(88,91,107,.12) 0 8%,transparent 9%)}
.conservatory-cloud{position:absolute;left:-18%;width:68%;height:10%;border-radius:50%;background:radial-gradient(ellipse at 50% 50%,rgba(26,22,37,.78),rgba(29,24,41,.32) 56%,transparent 72%);filter:blur(15px);opacity:.58;mix-blend-mode:multiply}
.conservatory-cloud.cloud-a{top:15%;animation:conservatoryCloudA 32s linear infinite}
.conservatory-cloud.cloud-b{top:24%;left:36%;width:78%;opacity:.43;filter:blur(21px);animation:conservatoryCloudB 41s linear infinite}
.conservatory-moonbeam{position:absolute;left:-5%;top:5%;width:68%;height:75%;opacity:.20;transform:rotate(-11deg);transform-origin:top left;background:linear-gradient(90deg,transparent,rgba(202,202,255,.13) 42%,rgba(229,220,255,.30) 50%,rgba(168,148,232,.08) 64%,transparent);clip-path:polygon(36% 0,62% 0,100% 100%,0 100%);filter:blur(8px);mix-blend-mode:screen;animation:conservatoryBeam 17s ease-in-out infinite}
.conservatory-shadow{position:absolute;border-radius:50%;background:radial-gradient(ellipse,rgba(8,6,13,.50),rgba(14,8,18,.14) 54%,transparent 72%);filter:blur(16px);mix-blend-mode:multiply}
.conservatory-shadow.shadow-a{width:58%;height:24%;right:-22%;top:34%;transform:rotate(-20deg);animation:conservatoryShadowA 22s ease-in-out infinite}
.conservatory-shadow.shadow-b{width:46%;height:20%;left:-16%;top:61%;transform:rotate(14deg);opacity:.48;animation:conservatoryShadowB 28s ease-in-out infinite}
.conservatory-brass-glow{position:absolute;width:22%;height:9%;opacity:.18;background:radial-gradient(ellipse,rgba(218,166,87,.62),rgba(154,98,44,.16) 44%,transparent 72%);filter:blur(9px);mix-blend-mode:screen}
.conservatory-brass-glow.brass-a{right:8%;top:24%;animation:conservatoryBrass 11s ease-in-out infinite}
.conservatory-brass-glow.brass-b{left:20%;top:46%;width:15%;opacity:.10;animation:conservatoryBrass 14s 4s ease-in-out infinite}
.conservatory-mist{position:absolute;width:84%;height:18%;left:-20%;border-radius:50%;filter:blur(28px);background:radial-gradient(ellipse,rgba(100,69,131,.24),rgba(73,49,105,.10) 48%,transparent 72%);opacity:.33;mix-blend-mode:screen}
.conservatory-mist.mist-a{top:49%;animation:conservatoryMistA 26s ease-in-out infinite}
.conservatory-mist.mist-b{top:71%;left:35%;width:72%;opacity:.22;animation:conservatoryMistB 31s ease-in-out infinite}
.conservatory-mote{position:absolute;width:3px;height:3px;border-radius:50%;background:#eee8ff;box-shadow:0 0 5px #d8ceff,0 0 11px rgba(176,144,255,.68);opacity:0}
.conservatory-mote.mote-a{left:24%;top:38%;animation:conservatoryMote 13s 1s ease-in-out infinite}
.conservatory-mote.mote-b{left:72%;top:31%;animation:conservatoryMote 17s 6s ease-in-out infinite}
.conservatory-mote.mote-c{left:42%;top:58%;animation:conservatoryMote 15s 10s ease-in-out infinite}
.conservatory-mote.mote-d{left:84%;top:67%;animation:conservatoryMote 19s 4s ease-in-out infinite}
.conservatory-mote.mote-e{left:13%;top:76%;animation:conservatoryMote 21s 13s ease-in-out infinite}

/* Moon seal briefly wakes the room instead of adding another UI graphic. */
body.world-conservatory.moon-room-pulse .conservatory-moon{animation:conservatoryMoonSeal .82s cubic-bezier(.18,.75,.25,1) both}
body.world-conservatory.moon-room-pulse .conservatory-moonbeam{animation:conservatoryBeamSeal .9s ease-out both}
body.world-conservatory.moon-room-pulse .conservatory-mist{filter:blur(20px);opacity:.5}
body.world-conservatory.moon-room-pulse .conservatory-brass-glow{opacity:.42}

/* HARD/MASTER alter the environment itself: eclipse, cloud weight and moonlight — not a flat tint. */
body.world-conservatory.difficulty-hard .conservatory-moon{filter:brightness(.74) saturate(.7);box-shadow:0 0 24px rgba(230,204,243,.23),0 0 80px rgba(119,35,92,.22)}
body.world-conservatory.difficulty-hard .conservatory-cloud{opacity:.74}
body.world-conservatory.difficulty-hard .conservatory-mist{opacity:.42;background:radial-gradient(ellipse,rgba(113,44,89,.28),rgba(65,35,87,.13) 48%,transparent 72%)}
body.world-conservatory.difficulty-master .conservatory-moon{filter:brightness(.54) saturate(.55);box-shadow:0 0 8px rgba(255,217,229,.26),0 0 54px rgba(177,37,91,.24),0 0 120px rgba(75,30,94,.25)}
body.world-conservatory.difficulty-master .conservatory-moon::before{content:"";position:absolute;width:82%;height:82%;right:-10%;top:9%;border-radius:50%;background:#160f1d;box-shadow:-9px 0 15px rgba(240,153,189,.22);opacity:.92}
body.world-conservatory.difficulty-master .conservatory-cloud{opacity:.86;filter:blur(18px)}
body.world-conservatory.difficulty-master .conservatory-mist{opacity:.50;background:radial-gradient(ellipse,rgba(124,36,79,.31),rgba(58,30,83,.15) 48%,transparent 72%)}
body.world-conservatory.difficulty-master .conservatory-moonbeam{opacity:.11}

@keyframes conservatoryMoonBreath{0%,100%{transform:scale(1);opacity:.62}50%{transform:scale(1.018);opacity:.72}}
@keyframes conservatoryCloudA{from{transform:translateX(-8%)}to{transform:translateX(190%)}}
@keyframes conservatoryCloudB{from{transform:translateX(36%)}to{transform:translateX(-170%)}}
@keyframes conservatoryBeam{0%,100%{opacity:.14;transform:rotate(-11deg) translateX(-2%)}48%{opacity:.24;transform:rotate(-10deg) translateX(4%)}}
@keyframes conservatoryShadowA{0%,100%{transform:translateX(0) rotate(-20deg)}50%{transform:translateX(-18%) rotate(-16deg)}}
@keyframes conservatoryShadowB{0%,100%{transform:translateX(0) rotate(14deg)}50%{transform:translateX(22%) rotate(10deg)}}
@keyframes conservatoryBrass{0%,100%{opacity:.09;transform:scale(.95)}50%{opacity:.24;transform:scale(1.08)}}
@keyframes conservatoryMistA{0%,100%{transform:translateX(-8%) scaleX(1)}50%{transform:translateX(34%) scaleX(1.12)}}
@keyframes conservatoryMistB{0%,100%{transform:translateX(12%) scaleX(1.08)}50%{transform:translateX(-30%) scaleX(.94)}}
@keyframes conservatoryMote{0%,8%,100%{opacity:0;transform:translate(0,10px) scale(.6)}20%{opacity:.8}58%{opacity:.22;transform:translate(9px,-38px) scale(1.1)}72%{opacity:.72}88%{opacity:0;transform:translate(-5px,-66px) scale(.55)}}
@keyframes conservatoryMoonSeal{0%{transform:scale(1);filter:brightness(1)}22%{transform:scale(1.065);filter:brightness(1.8)}48%{transform:scale(1.025);filter:brightness(1.35)}100%{transform:scale(1);filter:brightness(1)}}
@keyframes conservatoryBeamSeal{0%{opacity:.16}24%{opacity:.62}100%{opacity:.18}}
@media(max-width:600px){.conservatory-moon{left:4%;top:11%;width:112px}.conservatory-moonbeam{left:-14%;width:86%;opacity:.15}.conservatory-cloud{filter:blur(12px)}.conservatory-shadow{filter:blur(12px)}.conservatory-mist{filter:blur(22px)}}
@media(prefers-reduced-motion:reduce){.conservatory-room-details *{animation:none!important}.conservatory-mote{display:none}.conservatory-cloud{opacity:.38}.conservatory-mist{opacity:.22}}

/* VALES v2.7.9.7 - Moonlit Conservatory depth + authored exterior pass. Environment only. */
body.world-conservatory .atelier-scene{background:radial-gradient(ellipse at 73% 18%,rgba(116,74,132,.18),transparent 34%),linear-gradient(90deg,rgba(21,12,27,.34),transparent 17%,transparent 82%,rgba(13,8,20,.44)),repeating-linear-gradient(90deg,transparent 0 23.5%,rgba(195,151,105,.045) 23.7% 23.9%,transparent 24.1% 49%),radial-gradient(ellipse at 54% 72%,rgba(78,39,83,.18),transparent 44%),linear-gradient(180deg,#352039 0%,#26192f 43%,#17121f 100%)!important}
body.world-conservatory .atelier-scene::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.72;background:radial-gradient(ellipse at 68% 21%,rgba(255,220,177,.055) 0 1px,transparent 2px),radial-gradient(ellipse at 42% 54%,rgba(255,255,255,.035) 0 1px,transparent 2px),repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0 1px,transparent 1px 5px),linear-gradient(90deg,transparent 28%,rgba(184,134,93,.07) 28.15% 28.35%,transparent 28.5% 72%,rgba(184,134,93,.055) 72.15% 72.35%,transparent 72.5%);mix-blend-mode:soft-light}
body.world-conservatory .window{z-index:2!important;overflow:hidden!important;border-color:#553523!important;background-image:linear-gradient(180deg,rgba(12,13,35,.46),rgba(21,12,37,.56)),url('assets/scene/atelier-lake.jpg')!important;background-size:cover!important;background-position:50% 42%!important;background-repeat:no-repeat!important;filter:saturate(.60) hue-rotate(166deg) brightness(.53) contrast(1.16)!important;box-shadow:inset 0 0 0 4px rgba(207,171,126,.18),18px 24px 48px rgba(0,0,0,.48),0 0 38px rgba(95,67,139,.11)!important}
body.world-conservatory .window .mountains{opacity:0!important}.conservatory-window-scene{display:none;position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}body.world-conservatory .conservatory-window-scene{display:block}
.conservatory-window-scene .window-moon{position:absolute;left:16%;top:10%;width:46%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 37% 33%,#fffdf1 0 7%,#ece7d5 29%,#c7c8d2 59%,#8e8fa1 75%,transparent 76%);box-shadow:0 0 18px rgba(239,235,255,.40),0 0 52px rgba(181,158,232,.24);opacity:.88;animation:windowMoonBreath 14s ease-in-out infinite}
.conservatory-window-scene .window-moon::after{content:"";position:absolute;inset:10%;border-radius:50%;background:radial-gradient(circle at 64% 57%,rgba(89,92,108,.18) 0 8%,transparent 9%),radial-gradient(circle at 38% 69%,rgba(82,85,102,.14) 0 11%,transparent 12%),radial-gradient(circle at 58% 28%,rgba(92,94,108,.12) 0 7%,transparent 8%)}
.window-cloud{position:absolute;width:72%;height:12%;left:-38%;border-radius:50%;filter:blur(11px);background:radial-gradient(ellipse,rgba(24,22,42,.78),rgba(32,27,50,.30) 58%,transparent 73%);opacity:.65}.window-cloud-a{top:21%;animation:windowCloudA 34s linear infinite}.window-cloud-b{top:31%;left:44%;width:82%;opacity:.46;filter:blur(15px);animation:windowCloudB 43s linear infinite}.window-lake-glow{position:absolute;left:4%;right:4%;bottom:7%;height:32%;opacity:.26;background:linear-gradient(102deg,transparent 10%,rgba(213,220,255,.20) 39%,rgba(241,232,255,.34) 49%,rgba(169,177,226,.10) 62%,transparent 82%);filter:blur(6px);mix-blend-mode:screen}
body.world-conservatory .window::before,body.world-conservatory .window::after{z-index:4!important;background:linear-gradient(90deg,#4b2d20,#68422a 46%,#45281e)!important;box-shadow:0 1px rgba(228,188,139,.10),4px 0 12px rgba(0,0,0,.28)}
body.world-conservatory .conservatory-room-details>.conservatory-moon,body.world-conservatory .conservatory-room-details>.conservatory-cloud{display:none!important}
body.world-conservatory .back-shelf{z-index:3!important;background:linear-gradient(180deg,#8b5630 0%,#684022 25%,#432719 72%,#2a1813 100%)!important;border-top:1px solid rgba(244,205,151,.23)!important;box-shadow:0 13px 22px rgba(0,0,0,.52),0 24px 42px rgba(0,0,0,.28),inset 0 3px rgba(255,218,165,.15),inset 0 -4px rgba(21,10,9,.48)!important;filter:none!important;opacity:1!important}
body.world-conservatory .back-shelf::after{left:2%!important;right:2%!important;bottom:3px!important;height:2px!important;background:linear-gradient(90deg,transparent,rgba(220,167,95,.42) 18%,rgba(240,194,118,.20) 62%,transparent)!important}
body.world-conservatory .conservatory-room-details::before{content:"";position:absolute;right:7%;top:10%;width:25%;height:20%;border:1px solid rgba(190,145,93,.15);box-shadow:inset 0 0 0 5px rgba(31,17,28,.28),0 10px 30px rgba(0,0,0,.20);background:linear-gradient(145deg,rgba(20,13,24,.36),rgba(72,39,68,.16)),repeating-linear-gradient(0deg,transparent 0 14px,rgba(211,169,113,.025) 15px 16px);opacity:.72}
body.world-conservatory .conservatory-room-details::after{content:"";position:absolute;right:10%;top:13%;width:19%;height:14%;border-top:1px solid rgba(215,171,104,.10);border-bottom:1px solid rgba(215,171,104,.08);background:radial-gradient(ellipse at 50% 50%,rgba(198,145,91,.055),transparent 62%);opacity:.75}
body.world-conservatory .conservatory-room-details{z-index:1!important}body.world-conservatory .conservatory-moonbeam{opacity:.12}body.world-conservatory .conservatory-shadow{opacity:.34}body.world-conservatory .conservatory-mist{opacity:.22}
@keyframes windowMoonBreath{0%,100%{transform:scale(1);filter:brightness(.94)}50%{transform:scale(1.012);filter:brightness(1.08)}}@keyframes windowCloudA{from{transform:translateX(-5%)}to{transform:translateX(205%)}}@keyframes windowCloudB{from{transform:translateX(30%)}to{transform:translateX(-185%)}}
body.world-conservatory.difficulty-hard .conservatory-window-scene .window-moon{filter:brightness(.76) saturate(.72)}body.world-conservatory.difficulty-master .conservatory-window-scene .window-moon{filter:brightness(.58) saturate(.55);box-shadow:0 0 15px rgba(255,210,230,.28),0 0 54px rgba(166,67,126,.20)}body.world-conservatory.difficulty-master .conservatory-window-scene .window-moon::before{content:"";position:absolute;width:82%;height:82%;right:-10%;top:9%;border-radius:50%;background:#17101e;box-shadow:-7px 0 13px rgba(238,153,190,.18);opacity:.93}
@media(max-width:600px){.conservatory-window-scene .window-moon{left:15%;top:11%;width:49%}}@media(prefers-reduced-motion:reduce){.conservatory-window-scene *{animation:none!important}}


/* VALES v2.7.9.8 — Moonlit Conservatory material + reactive moon pass
   Environment/VFX only. No level, solver, vessel-rule, economy or progression changes. */
body.world-conservatory{
  --moon-react-rgb:244,232,203;
  --moon-react-strength:.055;
  --moon-react-opacity:.035;
  --moon-react-blur:22px;
}

/* Physical wall construction: aged plaster, panel relief, worn pigment and slow moonlight. */
.conservatory-wall-relief,.conservatory-wall-patina,.conservatory-wall-reaction{position:absolute;inset:0;z-index:0;pointer-events:none}
body.world-conservatory .conservatory-wall-relief{
  opacity:.88;mix-blend-mode:soft-light;
  background:
    linear-gradient(90deg,transparent 0 23.7%,rgba(231,191,148,.055) 23.82%,rgba(25,12,28,.18) 24.02%,transparent 24.28% 49.3%,rgba(226,181,132,.045) 49.45%,rgba(22,12,27,.17) 49.67%,transparent 49.9% 75%,rgba(226,181,132,.04) 75.13%,rgba(20,11,25,.15) 75.35%,transparent 75.58%),
    linear-gradient(180deg,transparent 0 20%,rgba(218,169,125,.030) 20.15%,rgba(15,9,19,.16) 20.45%,transparent 20.72% 47%,rgba(212,161,118,.025) 47.15%,rgba(14,8,18,.15) 47.46%,transparent 47.72%),
    repeating-linear-gradient(0deg,rgba(255,255,255,.010) 0 1px,transparent 1px 4px);
  box-shadow:inset 0 0 90px rgba(5,3,9,.30)
}
body.world-conservatory .conservatory-wall-patina{
  inset:-7%;opacity:.62;mix-blend-mode:soft-light;filter:blur(.35px);
  background:
    radial-gradient(ellipse at 66% 19%,rgba(170,103,142,.20),transparent 31%),
    radial-gradient(ellipse at 79% 42%,rgba(39,18,45,.38),transparent 34%),
    radial-gradient(ellipse at 43% 61%,rgba(132,71,110,.13),transparent 31%),
    radial-gradient(ellipse at 88% 80%,rgba(20,11,27,.45),transparent 34%),
    radial-gradient(ellipse at 26% 72%,rgba(105,63,87,.13),transparent 28%);
  animation:conservatoryWallDrift 34s ease-in-out infinite alternate
}
body.world-conservatory .conservatory-wall-patina::after{
  content:"";position:absolute;inset:0;opacity:.36;
  background:repeating-linear-gradient(102deg,transparent 0 17px,rgba(245,218,193,.018) 18px,transparent 19px 41px),radial-gradient(ellipse at 73% 32%,rgba(230,200,165,.045),transparent 38%)
}
body.world-conservatory .conservatory-wall-reaction{display:none!important}

/* Top-shelf props live in front of the purple atmosphere and regain material/contact depth. */
body.world-conservatory .back-shelf{isolation:isolate!important}
body.world-conservatory .back-shelf .pot,body.world-conservatory .back-shelf .jar,body.world-conservatory .back-shelf .books{
  z-index:2!important;opacity:.94!important;filter:saturate(.74) brightness(.84) contrast(1.10)!important;
  transform-origin:bottom center;transition:filter .45s ease,box-shadow .45s ease
}
body.world-conservatory .back-shelf .pot{
  border:1px solid rgba(220,177,126,.20);
  background:radial-gradient(circle at 29% 18%,#aa8a72 0 5%,#685244 34%,#35272d 74%,#1c151d 100%)!important;
  box-shadow:inset 8px 5px 14px rgba(255,225,190,.07),inset -13px -12px 22px rgba(4,2,8,.42),0 9px 12px rgba(0,0,0,.42)!important
}
body.world-conservatory .back-shelf .pot::before{content:"";position:absolute;left:10%;right:10%;top:-4px;height:8px;border-radius:50%;background:linear-gradient(180deg,#846a58,#382a30);border:1px solid rgba(226,185,137,.17);box-shadow:inset 0 2px rgba(255,225,187,.09)}
body.world-conservatory .back-shelf .jar{
  border-color:rgba(219,211,226,.34)!important;
  background:linear-gradient(90deg,rgba(240,232,247,.16),rgba(90,67,92,.22) 37%,rgba(43,30,50,.38) 74%,rgba(219,206,230,.10))!important;
  box-shadow:inset 5px 0 9px rgba(255,255,255,.08),inset -7px -8px 14px rgba(4,2,8,.28),0 9px 14px rgba(0,0,0,.40),0 0 12px rgba(160,121,187,.08)!important
}
body.world-conservatory .back-shelf .jar::before{content:"";position:absolute;left:17%;top:7%;width:15%;height:70%;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.32),rgba(255,255,255,0));opacity:.43}
body.world-conservatory .back-shelf .books{
  border-radius:2px 4px 3px 2px;
  background:repeating-linear-gradient(180deg,#28232d 0 12px,#6d4737 13px 15px,#3d3032 16px 27px,#99704a 28px 29px)!important;
  box-shadow:inset 0 1px rgba(244,206,153,.12),5px 8px 12px rgba(0,0,0,.38)!important
}
body.world-conservatory .back-shelf .books::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(227,178,105,.17) 0 2px,transparent 3px 22px,rgba(227,178,105,.12) 23px 24px,transparent 25px 100%);opacity:.70}

@keyframes conservatoryWallDrift{0%{transform:translate3d(-1.4%,0,0) scale(1.015);opacity:.56}100%{transform:translate3d(1.2%,-.7%,0) scale(1.035);opacity:.68}}

/* VALES v2.7.10.13 — authoritative Moon rendering system
   All reactive smoke is physically anchored to .window-moon-system. No sky-wide coordinate guesses. */
body.world-conservatory{--moon-react-rgb:220,235,255}

/* Landscape is night-treated by an overlay, NEVER by filtering the window parent. */
body.world-conservatory .window{
  background-image:url('assets/scene/atelier-lake.jpg')!important;
  background-size:cover!important;background-position:74% 43%!important;background-repeat:no-repeat!important;
  filter:none!important;isolation:isolate!important;
}
body.world-conservatory .window .mountains{display:none!important}
body.world-conservatory .conservatory-window-scene{
  display:block!important;position:absolute!important;inset:0!important;z-index:1!important;pointer-events:none!important;overflow:hidden!important;
  background:linear-gradient(180deg,rgba(9,13,38,.45),rgba(15,15,43,.50) 48%,rgba(8,12,29,.58))!important;
}
body.world-conservatory .conservatory-window-scene::before,
body.world-conservatory .conservatory-window-scene::after{content:none!important;display:none!important}

/* The key structural fix: moon + smoke share the SAME local square. */
body.world-conservatory .window-moon-system{
  position:absolute;left:16%;top:10%;width:46%;aspect-ratio:1;z-index:3;overflow:visible;pointer-events:none;isolation:isolate;
}
body.world-conservatory .window-moon{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:3!important;
  border-radius:50%!important;opacity:1!important;overflow:hidden!important;transform:none!important;animation:none!important;filter:none!important;
  background:
    radial-gradient(circle at 31% 27%,rgba(255,255,255,.99) 0 8%,rgba(250,248,241,.92) 18%,transparent 30%),
    radial-gradient(circle at 45% 40%,#fffef7 0 14%,#eeece5 42%,#d1d4de 70%,#a4a7b6 87%,#9396a6 100%)!important;
  box-shadow:0 0 13px rgba(247,245,252,.42),0 0 28px rgba(180,192,226,.12)!important;
}
body.world-conservatory .window-moon::before,body.world-conservatory .window-moon::after{content:none!important;display:none!important}
body.world-conservatory .window-moon-glow,.window-moon-color{display:none!important}

/* Smoke is local to the moon square and always BEHIND the solid moon. */
body.world-conservatory .window-moon-smoke{
  position:absolute!important;left:50%!important;top:50%!important;z-index:1!important;pointer-events:none!important;
  border-radius:0!important;opacity:0;mix-blend-mode:screen!important;transform-origin:center;
  transition:opacity .42s ease,filter .55s ease!important;
}
body.world-conservatory .moon-smoke-a{
  width:190%!important;height:190%!important;margin-left:-95%!important;margin-top:-95%!important;filter:blur(12px)!important;
  background:
    radial-gradient(ellipse at 13% 42%,rgba(var(--moon-react-rgb),.98) 0 4%,rgba(var(--moon-react-rgb),.64) 11%,rgba(var(--moon-react-rgb),.24) 23%,transparent 39%),
    radial-gradient(ellipse at 87% 36%,rgba(var(--moon-react-rgb),.93) 0 4%,rgba(var(--moon-react-rgb),.56) 12%,rgba(var(--moon-react-rgb),.20) 25%,transparent 41%),
    radial-gradient(ellipse at 48% 91%,rgba(var(--moon-react-rgb),.86) 0 5%,rgba(var(--moon-react-rgb),.46) 14%,rgba(var(--moon-react-rgb),.15) 29%,transparent 45%)!important;
  animation:moonLocalSmokeA 8.2s ease-in-out infinite alternate!important;
}
body.world-conservatory .moon-smoke-b{
  width:220%!important;height:220%!important;margin-left:-110%!important;margin-top:-110%!important;filter:blur(18px)!important;
  background:
    radial-gradient(ellipse at 91% 52%,rgba(var(--moon-react-rgb),.84) 0 5%,rgba(var(--moon-react-rgb),.45) 14%,rgba(var(--moon-react-rgb),.14) 28%,transparent 44%),
    radial-gradient(ellipse at 8% 69%,rgba(var(--moon-react-rgb),.78) 0 5%,rgba(var(--moon-react-rgb),.40) 15%,rgba(var(--moon-react-rgb),.12) 29%,transparent 45%),
    radial-gradient(ellipse at 50% 8%,rgba(var(--moon-react-rgb),.66) 0 4%,rgba(var(--moon-react-rgb),.28) 14%,transparent 34%)!important;
  animation:moonLocalSmokeB 11.4s ease-in-out infinite alternate!important;
}
body.world-conservatory .moon-smoke-c{
  width:250%!important;height:250%!important;margin-left:-125%!important;margin-top:-125%!important;filter:blur(28px)!important;
  background:
    radial-gradient(ellipse at 20% 24%,rgba(var(--moon-react-rgb),.46) 0 10%,rgba(var(--moon-react-rgb),.20) 25%,transparent 45%),
    radial-gradient(ellipse at 82% 76%,rgba(var(--moon-react-rgb),.48) 0 11%,rgba(var(--moon-react-rgb),.21) 27%,transparent 48%),
    radial-gradient(ellipse at 50% 96%,rgba(var(--moon-react-rgb),.36) 0 10%,rgba(var(--moon-react-rgb),.15) 25%,transparent 46%)!important;
  animation:moonLocalSmokeC 14.2s ease-in-out infinite alternate!important;
}

/* Actual liquid colour becomes obvious around the rim immediately. */
body.world-conservatory.moon-window-pouring .moon-smoke-a{opacity:.94!important}
body.world-conservatory.moon-window-pouring .moon-smoke-b{opacity:.80!important}
body.world-conservatory.moon-window-pouring .moon-smoke-c{opacity:.54!important}
body.world-conservatory.moon-window-seal-burst .moon-smoke-a{opacity:1!important;filter:blur(10px)!important}
body.world-conservatory.moon-window-seal-burst .moon-smoke-b{opacity:.96!important;filter:blur(16px)!important}
body.world-conservatory.moon-window-seal-burst .moon-smoke-c{opacity:.80!important;filter:blur(26px)!important}
body.world-conservatory.moon-window-sealed:not(.moon-window-seal-burst) .moon-smoke-a{opacity:.54!important}
body.world-conservatory.moon-window-sealed:not(.moon-window-seal-burst) .moon-smoke-b{opacity:.43!important}
body.world-conservatory.moon-window-sealed:not(.moon-window-seal-burst) .moon-smoke-c{opacity:.29!important}

/* Clouds remain landscape atmosphere and never become the liquid reaction. */
body.world-conservatory .window-cloud{z-index:1!important}
body.world-conservatory .window-lake-glow{z-index:1!important;opacity:.12!important;animation:none!important;filter:blur(7px)!important}

/* Wood frame remains in front of the entire exterior system. */
body.world-conservatory .window::before,body.world-conservatory .window::after{z-index:5!important}

/* Keep challenge ambience from recolouring the moon itself. */
body.world-conservatory.difficulty-hard .window-moon,
body.world-conservatory.difficulty-master .window-moon{filter:none!important}

@keyframes moonLocalSmokeA{
  0%{transform:translate3d(-3%,2%,0) rotate(-4deg) scale(.96)}
  50%{transform:translate3d(3%,-3%,0) rotate(3deg) scale(1.05)}
  100%{transform:translate3d(5%,2%,0) rotate(6deg) scale(1.01)}
}
@keyframes moonLocalSmokeB{
  0%{transform:translate3d(4%,-2%,0) rotate(4deg) scale(1.03)}
  55%{transform:translate3d(-3%,3%,0) rotate(-3deg) scale(.97)}
  100%{transform:translate3d(-5%,-1%,0) rotate(-6deg) scale(1.07)}
}
@keyframes moonLocalSmokeC{
  0%{transform:translate3d(-1%,1%,0) scale(.94)}
  100%{transform:translate3d(2%,-2%,0) scale(1.09)}
}
@media(max-width:600px){body.world-conservatory .window-moon-system{left:15%;top:11%;width:49%}}
@media(prefers-reduced-motion:reduce){body.world-conservatory .window-moon-smoke{animation:none!important}}

/* VALES v2.7.10.14 — Moon Vessel bloom refinement
   Exterior Moon system is intentionally untouched. The Moon Vessel now relies on its
   feathered GPU smoke field rather than stacked canvas ellipses behind the crescent. */


/* VALES v2.8.1.3 — Sunstone Orchard authored room, outside vista, and warm ambience polish */
.orchard-window-scene,.orchard-room-details{display:none;position:absolute;inset:0;pointer-events:none;overflow:hidden}
body.world-orchard .orchard-window-scene,body.world-orchard .orchard-room-details{display:block}
body.world-orchard .conservatory-window-scene,body.world-orchard .conservatory-room-details,body.world-orchard .grove-room-details,body.world-orchard .marsh-room-details{display:none!important}
body.world-orchard .atelier-scene{
  background:
    radial-gradient(ellipse at 76% 14%,rgba(255,193,108,.18),transparent 30%),
    radial-gradient(ellipse at 28% 88%,rgba(139,65,23,.16),transparent 34%),
    linear-gradient(90deg,rgba(45,17,9,.20),transparent 16%,transparent 84%,rgba(33,12,7,.28)),
    repeating-linear-gradient(90deg,transparent 0 24%,rgba(248,195,122,.035) 24.2% 24.45%,transparent 24.7% 49%),
    linear-gradient(180deg,#5a341f 0%,#3f2417 46%,#25150f 100%)!important;
}
body.world-orchard .atelier-scene::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.82;background:
  radial-gradient(circle at 16% 21%,rgba(255,235,179,.055) 0 1px,transparent 2px),
  radial-gradient(circle at 82% 36%,rgba(255,221,153,.045) 0 1px,transparent 2px),
  repeating-linear-gradient(0deg,rgba(255,255,255,.010) 0 1px,transparent 1px 5px),
  linear-gradient(180deg,rgba(255,202,126,.03),transparent 22%,transparent 78%,rgba(90,43,18,.06));mix-blend-mode:soft-light}
body.world-orchard .window{z-index:2!important;overflow:hidden!important;background:#2a1820!important;border-color:#71492a!important;box-shadow:inset 0 0 0 4px rgba(229,187,122,.16),18px 24px 48px rgba(0,0,0,.40),0 0 44px rgba(196,126,54,.13)!important}
body.world-orchard .window .mountains{opacity:0!important}
body.world-orchard .window::before,body.world-orchard .window::after{z-index:7!important;background:linear-gradient(90deg,#63391f,#82512e 48%,#5a311c)!important;box-shadow:0 1px rgba(255,220,166,.12),4px 0 12px rgba(0,0,0,.24)}
.orchard-window-scene{z-index:1;background:
  linear-gradient(180deg,rgba(255,219,160,.11),rgba(255,161,74,.04) 35%,rgba(32,17,20,.10) 100%),
  linear-gradient(180deg,#85d6f0 0%,#a3daf0 16%,#efcb96 58%,#8d5932 100%)}
.orchard-window-scene::before{content:"";position:absolute;inset:auto -8% 0;height:44%;background:
  radial-gradient(ellipse at 50% 0,rgba(255,211,135,.24),transparent 56%),
  linear-gradient(180deg,rgba(40,70,95,.04),rgba(11,24,31,.30) 46%,rgba(9,16,19,.48) 100%);
  clip-path:polygon(0 42%,13% 35%,24% 39%,35% 29%,48% 35%,62% 24%,76% 34%,90% 28%,100% 36%,100% 100%,0 100%)}
.orchard-window-scene::after{content:"";position:absolute;left:0;right:0;bottom:0;height:28%;background:
  linear-gradient(180deg,rgba(255,213,150,.08),rgba(22,25,18,.08) 24%,rgba(20,22,15,.42) 100%),
  repeating-linear-gradient(100deg,rgba(234,191,116,.06) 0 2px,transparent 2px 16px);mix-blend-mode:soft-light;opacity:.74}
.orchard-sun-halo,.orchard-sun,.orchard-cloud,.orchard-hill,.orchard-lake-glow,.orchard-tree-line,.orchard-branch,.orchard-fruit,.orchard-window-mote,.orchard-wall-wash,.orchard-wall-leafshadow,.orchard-room-beam,.orchard-room-branch,.orchard-room-fruit,.orchard-room-mote{position:absolute;display:block;pointer-events:none}
.orchard-sun-halo{left:17%;top:8%;width:50%;height:36%;border-radius:50%;background:radial-gradient(circle,rgba(255,241,187,.82),rgba(255,195,96,.38) 38%,rgba(255,181,82,.10) 60%,transparent 76%);filter:blur(5px);animation:orchardSunHalo 8.4s ease-in-out infinite}
.orchard-sun{left:26%;top:15%;width:27%;height:19%;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fffbe6 0%,#fff2c0 18%,#ffd67d 48%,#ffb85e 72%,rgba(255,181,94,.10) 100%);box-shadow:0 0 28px rgba(255,224,145,.35),0 0 80px rgba(255,172,78,.16);animation:orchardSunPulse 7.2s ease-in-out infinite}
.orchard-cloud{border-radius:999px;background:linear-gradient(180deg,rgba(255,241,219,.76),rgba(255,226,176,.28));filter:blur(5px);opacity:.76}
.orchard-cloud-a{left:9%;top:31%;width:26%;height:8%;animation:orchardCloudA 15s ease-in-out infinite}
.orchard-cloud-b{right:11%;top:26%;width:30%;height:9%;animation:orchardCloudB 18s ease-in-out infinite}
.orchard-hill-back{left:-5%;right:-5%;bottom:26%;height:27%;background:linear-gradient(180deg,rgba(160,124,79,.14),rgba(75,85,58,.68) 78%,rgba(36,45,29,.84));clip-path:polygon(0 72%,14% 56%,27% 64%,42% 45%,55% 59%,69% 43%,83% 57%,100% 46%,100% 100%,0 100%)}
.orchard-hill-mid{left:-2%;right:-2%;bottom:16%;height:25%;background:linear-gradient(180deg,rgba(248,199,122,.18),rgba(92,108,56,.72) 36%,rgba(45,60,35,.94));clip-path:polygon(0 70%,12% 60%,24% 64%,39% 49%,54% 58%,68% 45%,84% 52%,100% 43%,100% 100%,0 100%)}
.orchard-lake-glow{left:10%;right:8%;bottom:20%;height:13%;background:linear-gradient(180deg,rgba(255,228,164,.28),rgba(134,174,194,.14) 45%,rgba(48,66,76,.28) 100%);clip-path:polygon(0 46%,17% 40%,32% 44%,50% 35%,69% 42%,83% 39%,100% 46%,100% 100%,0 100%);mix-blend-mode:screen;opacity:.56;filter:blur(1px)}
.orchard-tree-line{bottom:17%;width:28%;height:34%;background:radial-gradient(circle at 50% 70%,rgba(37,45,27,.82) 0 28%,transparent 29%),radial-gradient(circle at 34% 46%,rgba(59,87,39,.88) 0 18%,transparent 19%),radial-gradient(circle at 62% 38%,rgba(82,106,53,.90) 0 20%,transparent 21%),radial-gradient(circle at 48% 20%,rgba(107,128,68,.86) 0 18%,transparent 19%),linear-gradient(180deg,transparent 0 56%,rgba(44,34,22,.92) 56% 64%,transparent 64% 100%);opacity:.92;filter:drop-shadow(0 5px 5px rgba(0,0,0,.28))}
.orchard-tree-left{left:-3%}.orchard-tree-right{right:-4%;transform:scaleX(-1)}
.orchard-branch{top:-1%;width:42%;height:20%;background:radial-gradient(circle at 13% 76%,rgba(90,55,28,.95) 0 5%,transparent 6%),linear-gradient(160deg,transparent 0 24%,rgba(88,55,31,.90) 24% 27%,transparent 27% 100%),radial-gradient(circle at 32% 60%,rgba(92,131,60,.86) 0 6%,transparent 7%),radial-gradient(circle at 44% 40%,rgba(103,141,66,.86) 0 6%,transparent 7%),radial-gradient(circle at 55% 64%,rgba(103,141,66,.86) 0 5%,transparent 6%),radial-gradient(circle at 64% 36%,rgba(89,126,53,.86) 0 5%,transparent 6%),radial-gradient(circle at 76% 56%,rgba(224,166,77,.85) 0 3.5%,transparent 4.2%),radial-gradient(circle at 84% 40%,rgba(238,187,95,.88) 0 3.5%,transparent 4.2%);opacity:.92;transform-origin:50% 0;animation:orchardBranchSway 6.2s ease-in-out infinite}
.orchard-branch-left{left:-6%;transform:rotate(-9deg)}
.orchard-branch-right{right:-7%;transform:scaleX(-1) rotate(-4deg);animation-delay:-3s}
.orchard-fruit{width:5.1%;height:4.1%;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff8d9,#ffc56a 42%,#d47a27 74%,rgba(130,63,20,.92) 100%);box-shadow:0 0 10px rgba(255,200,103,.25)}
.orchard-fruit::before{content:"";position:absolute;left:45%;top:-26%;width:10%;height:28%;border-radius:999px;background:#75562c}.orchard-fruit::after{content:"";position:absolute;left:54%;top:-13%;width:22%;height:16%;border-radius:100% 20% 100% 20%;background:linear-gradient(135deg,#93ae56,#5f7d34);transform:rotate(24deg)}
.orchard-fruit-a{left:9%;top:17%;animation:orchardFruitFloat 5.8s ease-in-out infinite}
.orchard-fruit-b{right:13%;top:19%;animation:orchardFruitFloat 6.4s ease-in-out infinite -.9s}
.orchard-fruit-c{left:21%;top:23%;transform:scale(.86);animation:orchardFruitFloat 6.1s ease-in-out infinite -1.8s}
.orchard-fruit-d{right:24%;top:15%;transform:scale(.82);animation:orchardFruitFloat 5.5s ease-in-out infinite -2.6s}
.orchard-window-mote{width:4px;height:4px;border-radius:50%;background:radial-gradient(circle,#fff8dc 0%,rgba(255,239,174,.84) 46%,rgba(255,215,136,0) 76%);box-shadow:0 0 11px rgba(255,228,165,.32);opacity:.56}
.orchard-window-mote.mote-a{left:58%;top:18%;animation:orchardMoteRise 7.8s linear infinite}
.orchard-window-mote.mote-b{left:71%;top:46%;animation:orchardMoteRise 8.9s linear infinite -3.2s}
.orchard-window-mote.mote-c{left:41%;top:37%;animation:orchardMoteRise 8.2s linear infinite -1.4s}
.orchard-window-mote.mote-d{left:24%;top:54%;animation:orchardMoteRise 9.1s linear infinite -4.6s}
body.world-orchard .sunbeam{opacity:.05!important}
body.world-orchard .vine{opacity:.08!important;filter:saturate(.62) brightness(.62) hue-rotate(-18deg)}
body.world-orchard .back-shelf{background:linear-gradient(180deg,#a86a3a,#6f3d1f)!important;border-color:rgba(223,176,115,.16)!important;box-shadow:0 18px 36px rgba(0,0,0,.33),inset 0 1px rgba(255,224,169,.08)!important}
body.world-orchard .back-shelf::after{content:"";position:absolute;left:6%;right:6%;bottom:2px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,211,139,.30),transparent)}
body.world-orchard .pot,body.world-orchard .jar,body.world-orchard .books{filter:brightness(.78) saturate(.96) sepia(.10);opacity:.84}
.orchard-room-details{z-index:1}
.orchard-wall-wash{inset:0;background:radial-gradient(ellipse at 72% 17%,rgba(255,201,111,.12),transparent 33%),radial-gradient(ellipse at 16% 74%,rgba(129,66,23,.11),transparent 30%);mix-blend-mode:screen;opacity:.92}
.orchard-wall-leafshadow{inset:0;background:radial-gradient(circle at 11% 16%,rgba(86,62,34,.10) 0 11px,transparent 12px),radial-gradient(circle at 18% 12%,rgba(86,62,34,.10) 0 9px,transparent 10px),radial-gradient(circle at 81% 19%,rgba(86,62,34,.10) 0 10px,transparent 11px),radial-gradient(circle at 86% 24%,rgba(86,62,34,.08) 0 8px,transparent 9px);filter:blur(9px);opacity:.54}
.orchard-room-beam{top:8%;width:30%;height:54%;background:linear-gradient(180deg,rgba(255,225,170,.15),rgba(255,187,92,.05) 55%,transparent);filter:blur(7px);transform-origin:50% 0;mix-blend-mode:screen;animation:orchardBeamBreath 5.8s ease-in-out infinite}
.orchard-room-beam.beam-a{left:7%;transform:rotate(7deg)}.orchard-room-beam.beam-b{left:22%;width:22%;transform:rotate(3deg);animation-delay:-2.9s}
.orchard-room-branch{top:2%;width:20%;height:14%;opacity:.78;background:linear-gradient(150deg,transparent 0 30%,rgba(92,56,31,.92) 30% 33%,transparent 33% 100%),radial-gradient(circle at 36% 48%,rgba(98,126,53,.84) 0 7%,transparent 8%),radial-gradient(circle at 55% 28%,rgba(102,133,56,.84) 0 7%,transparent 8%),radial-gradient(circle at 70% 54%,rgba(102,133,56,.84) 0 6%,transparent 7%),radial-gradient(circle at 82% 30%,rgba(236,184,95,.86) 0 4%,transparent 5%);animation:orchardBranchSway 6.6s ease-in-out infinite}
.orchard-room-branch.branch-a{left:0;transform:rotate(-7deg)}.orchard-room-branch.branch-b{right:-2%;transform:scaleX(-1) rotate(-2deg);animation-delay:-3.1s}
.orchard-room-fruit{width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff8da,#ffcb73 40%,#d57d2d 75%,#8a4318 100%);box-shadow:0 0 12px rgba(255,189,95,.28);opacity:.82;animation:orchardFruitFloat 6s ease-in-out infinite}
.orchard-room-fruit.fruit-a{left:16%;top:13%}.orchard-room-fruit.fruit-b{right:18%;top:17%;animation-delay:-1.7s}.orchard-room-fruit.fruit-c{right:11%;top:11%;transform:scale(.82);animation-delay:-3.3s}
.orchard-room-mote{width:4px;height:4px;border-radius:50%;background:radial-gradient(circle,#fff8d9 0%,rgba(255,226,145,.8) 46%,rgba(255,214,122,0) 76%);opacity:.42;box-shadow:0 0 11px rgba(255,211,129,.24)}
.orchard-room-mote.room-mote-a{left:31%;top:18%;animation:orchardMoteRise 9.4s linear infinite}.orchard-room-mote.room-mote-b{left:61%;top:31%;animation:orchardMoteRise 8.7s linear infinite -3s}.orchard-room-mote.room-mote-c{left:76%;top:56%;animation:orchardMoteRise 10.2s linear infinite -5.2s}.orchard-room-mote.room-mote-d{left:11%;top:47%;animation:orchardMoteRise 9s linear infinite -1.8s}
body.world-orchard .vignette{background:radial-gradient(circle at 50% 38%,transparent 31%,rgba(23,12,6,.24) 71%,rgba(11,6,4,.63) 118%)!important}
body.world-orchard .gameplay-title p{text-shadow:0 0 10px rgba(255,201,114,.18)}
@keyframes orchardSunPulse{0%,100%{transform:scale(1);filter:saturate(1)}50%{transform:scale(1.035);filter:saturate(1.06)}}
@keyframes orchardSunHalo{0%,100%{opacity:.82;transform:scale(1)}50%{opacity:.96;transform:scale(1.06)}}
@keyframes orchardCloudA{0%,100%{transform:translateX(0)}50%{transform:translateX(12px)}}
@keyframes orchardCloudB{0%,100%{transform:translateX(0)}50%{transform:translateX(-14px)}}
@keyframes orchardBranchSway{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(2px) rotate(-2deg)}}
@keyframes orchardFruitFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(2px)}}
@keyframes orchardMoteRise{0%{transform:translate3d(0,8px,0) scale(.72);opacity:0}14%{opacity:.52}100%{transform:translate3d(8px,-34px,0) scale(1.08);opacity:0}}
@keyframes orchardBeamBreath{0%,100%{opacity:.62}50%{opacity:.88}}
body.world-orchard.difficulty-master .orchard-sun{box-shadow:0 0 38px rgba(255,230,164,.44),0 0 120px rgba(255,165,77,.18)}
body.world-orchard.difficulty-master .orchard-room-beam{opacity:.94}
body.world-orchard.difficulty-master .orchard-window-mote,body.world-orchard.difficulty-master .orchard-room-mote{opacity:.62}
@media(prefers-reduced-motion:reduce){.orchard-sun,.orchard-sun-halo,.orchard-cloud,.orchard-branch,.orchard-fruit,.orchard-window-mote,.orchard-room-beam,.orchard-room-branch,.orchard-room-fruit,.orchard-room-mote{animation:none!important}}

/* VALES v2.8.1.4 — Sunstone Orchard premium environment rebuild */
body.world-orchard{
  --orchard-gold:#f3c974;
  --orchard-amber:#d98633;
  --orchard-burnt:#7b3f1d;
  --orchard-olive:#5f6d32;
  --orchard-shadow:#22120b;
}
body.world-orchard .atelier-scene{
  background:
    radial-gradient(ellipse at 18% 12%,rgba(255,224,164,.18),transparent 26%),
    radial-gradient(ellipse at 74% 8%,rgba(255,189,99,.24),transparent 34%),
    radial-gradient(ellipse at 50% 58%,rgba(112,55,22,.15),transparent 52%),
    linear-gradient(90deg,rgba(28,13,8,.30),transparent 15%,transparent 86%,rgba(18,9,6,.34)),
    repeating-linear-gradient(90deg,transparent 0 18%,rgba(244,201,133,.028) 18.2% 18.45%,transparent 18.7% 36%),
    linear-gradient(180deg,#7d4a28 0%,#5c321d 32%,#391f15 66%,#23140f 100%)!important;
}
body.world-orchard .atelier-scene::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.9;
  background:
    radial-gradient(circle at 14% 20%,rgba(255,239,196,.08) 0 1px,transparent 2px),
    radial-gradient(circle at 77% 31%,rgba(255,229,174,.06) 0 1px,transparent 2px),
    radial-gradient(circle at 59% 14%,rgba(255,217,153,.04) 0 1px,transparent 2px),
    radial-gradient(ellipse at 56% 15%,rgba(255,213,134,.08),transparent 28%),
    linear-gradient(180deg,rgba(255,212,132,.04),rgba(104,53,23,.03) 45%,rgba(20,11,7,.08) 100%),
    repeating-linear-gradient(0deg,rgba(255,255,255,.008) 0 1px,transparent 1px 6px),
    repeating-linear-gradient(90deg,rgba(255,240,210,.006) 0 1px,transparent 1px 24px);
  mix-blend-mode:soft-light;
}
body.world-orchard .atelier-scene::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.58;
  background:
    radial-gradient(ellipse at 13% 81%,rgba(47,25,15,.26),transparent 32%),
    radial-gradient(ellipse at 84% 78%,rgba(30,15,9,.20),transparent 36%),
    linear-gradient(180deg,transparent 0 18%,rgba(255,211,142,.03) 26%,transparent 40%,transparent 100%);
}
body.world-orchard .window{
  z-index:2!important;overflow:hidden!important;
  border-color:#8c5a33!important;
  background:#29150f!important;
  box-shadow:
    inset 0 0 0 4px rgba(236,190,125,.19),
    inset 0 0 32px rgba(255,206,127,.06),
    0 22px 54px rgba(0,0,0,.43),
    0 0 46px rgba(238,154,62,.13)!important;
}
body.world-orchard .window::before,body.world-orchard .window::after{
  z-index:8!important;
  background:linear-gradient(90deg,#6c3d22,#9b6336 44%,#6a3b23)!important;
  box-shadow:0 1px rgba(255,230,185,.14),4px 0 12px rgba(0,0,0,.28)!important;
}
.orchard-window-scene{
  z-index:1;
  background:
    radial-gradient(circle at 29% 19%,rgba(255,240,198,.24),transparent 17%),
    linear-gradient(180deg,#d6eef6 0%,#eaf0da 20%,#efd6a1 48%,#c68f4e 74%,#5f381f 100%);
}
.orchard-window-scene::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.95;
  background:
    linear-gradient(118deg,rgba(255,247,221,.25) 8%,rgba(255,231,174,.10) 16%,transparent 24%),
    linear-gradient(114deg,rgba(255,243,207,.16) 25%,transparent 37%),
    radial-gradient(ellipse at 50% 44%,rgba(255,202,112,.18),transparent 38%),
    radial-gradient(ellipse at 46% 91%,rgba(39,31,17,.36),transparent 34%);
  mix-blend-mode:screen;
}
.orchard-window-scene::after{
  content:"";position:absolute;left:-4%;right:-4%;bottom:0;height:43%;pointer-events:none;opacity:.94;
  background:
    radial-gradient(circle at 7% 61%,rgba(83,110,44,.82) 0 7%,transparent 8%),
    radial-gradient(circle at 15% 57%,rgba(104,129,56,.86) 0 8%,transparent 9%),
    radial-gradient(circle at 21% 63%,rgba(87,113,44,.88) 0 7%,transparent 8%),
    radial-gradient(circle at 29% 58%,rgba(96,125,51,.86) 0 9%,transparent 10%),
    radial-gradient(circle at 37% 63%,rgba(79,107,41,.88) 0 7%,transparent 8%),
    radial-gradient(circle at 45% 57%,rgba(102,127,55,.86) 0 9%,transparent 10%),
    radial-gradient(circle at 53% 62%,rgba(87,112,44,.88) 0 7%,transparent 8%),
    radial-gradient(circle at 61% 57%,rgba(104,131,56,.86) 0 8%,transparent 9%),
    radial-gradient(circle at 69% 63%,rgba(83,110,44,.88) 0 7%,transparent 8%),
    radial-gradient(circle at 77% 58%,rgba(98,126,52,.86) 0 9%,transparent 10%),
    radial-gradient(circle at 85% 63%,rgba(79,106,41,.88) 0 7%,transparent 8%),
    radial-gradient(circle at 93% 59%,rgba(95,121,50,.85) 0 8%,transparent 9%),
    radial-gradient(circle at 9% 73%,rgba(245,194,75,.90) 0 2.2%,rgba(90,59,26,.76) 2.3% 3.1%,transparent 3.25%),
    radial-gradient(circle at 18% 76%,rgba(248,202,88,.94) 0 2.5%,rgba(88,56,24,.78) 2.6% 3.5%,transparent 3.7%),
    radial-gradient(circle at 27% 72%,rgba(246,196,80,.92) 0 2.2%,rgba(91,58,25,.78) 2.3% 3.2%,transparent 3.35%),
    radial-gradient(circle at 35% 76%,rgba(250,206,96,.94) 0 2.6%,rgba(92,59,26,.80) 2.7% 3.6%,transparent 3.8%),
    radial-gradient(circle at 45% 72%,rgba(245,194,79,.92) 0 2.2%,rgba(87,56,24,.76) 2.3% 3.2%,transparent 3.35%),
    radial-gradient(circle at 55% 76%,rgba(249,205,92,.94) 0 2.6%,rgba(92,60,26,.80) 2.7% 3.6%,transparent 3.8%),
    radial-gradient(circle at 64% 72%,rgba(245,194,79,.92) 0 2.2%,rgba(87,56,24,.76) 2.3% 3.2%,transparent 3.35%),
    radial-gradient(circle at 73% 76%,rgba(248,201,88,.94) 0 2.5%,rgba(88,56,24,.78) 2.6% 3.5%,transparent 3.7%),
    radial-gradient(circle at 82% 72%,rgba(246,196,80,.92) 0 2.2%,rgba(91,58,25,.78) 2.3% 3.2%,transparent 3.35%),
    radial-gradient(circle at 91% 76%,rgba(250,206,96,.94) 0 2.6%,rgba(92,59,26,.80) 2.7% 3.6%,transparent 3.8%),
    linear-gradient(180deg,rgba(255,222,147,.18),rgba(161,164,86,.16) 15%,rgba(94,115,54,.62) 48%,rgba(47,58,31,.94) 100%);
  filter:blur(1.1px) saturate(1.04);
}
.orchard-sun-halo,.orchard-sun,.orchard-cloud,.orchard-hill,.orchard-lake-glow,.orchard-tree-line,.orchard-branch,.orchard-window-mote,.orchard-wall-wash,.orchard-wall-leafshadow,.orchard-room-beam,.orchard-room-branch,.orchard-room-mote{position:absolute;display:block;pointer-events:none}
.orchard-sun-halo{
  left:17%;top:7%;width:46%;height:34%;border-radius:50%;
  background:radial-gradient(circle,rgba(255,245,195,.92),rgba(255,211,111,.42) 41%,rgba(255,184,87,.11) 64%,transparent 78%);
  filter:blur(9px);opacity:.95;animation:orchardSunHalo 10s ease-in-out infinite;
}
.orchard-sun{
  left:25%;top:12%;width:22%;height:17%;border-radius:50%;
  background:radial-gradient(circle at 34% 34%,#fffdee 0%,#fff5cc 20%,#ffd986 49%,#ffbf64 74%,rgba(255,181,95,.14) 100%);
  box-shadow:0 0 34px rgba(255,224,145,.44),0 0 110px rgba(255,169,73,.18);
  animation:orchardSunPulse 8.6s ease-in-out infinite;
}
.orchard-cloud{
  border-radius:999px;background:linear-gradient(180deg,rgba(255,245,222,.84),rgba(255,234,184,.16));
  filter:blur(9px);opacity:.55;mix-blend-mode:screen;
}
.orchard-cloud-a{left:3%;top:32%;width:31%;height:9%;animation:orchardCloudA 24s ease-in-out infinite}
.orchard-cloud-b{right:7%;top:24%;width:33%;height:10%;animation:orchardCloudB 26s ease-in-out infinite}
.orchard-hill-back{
  left:-6%;right:-5%;bottom:24%;height:28%;
  background:
    linear-gradient(180deg,rgba(255,220,156,.14),rgba(124,146,88,.35) 26%,rgba(70,84,53,.88) 100%),
    radial-gradient(ellipse at 50% 14%,rgba(255,217,137,.14),transparent 46%);
  clip-path:polygon(0 75%,10% 65%,19% 70%,31% 57%,42% 63%,54% 52%,66% 61%,78% 50%,90% 58%,100% 48%,100% 100%,0 100%);
  filter:blur(1px);
}
.orchard-hill-mid{
  left:-3%;right:-3%;bottom:17%;height:24%;
  background:
    radial-gradient(ellipse at 50% 10%,rgba(255,214,132,.16),transparent 52%),
    linear-gradient(180deg,rgba(255,228,167,.14),rgba(115,135,69,.55) 20%,rgba(62,79,39,.98) 100%);
  clip-path:polygon(0 73%,9% 64%,18% 68%,27% 58%,38% 63%,50% 53%,61% 59%,72% 49%,84% 56%,100% 47%,100% 100%,0 100%);
}
.orchard-lake-glow{
  left:7%;right:4%;bottom:22%;height:20%;opacity:.84;mix-blend-mode:screen;
  background:
    radial-gradient(ellipse at 26% 68%,rgba(255,215,126,.34) 0 14%,transparent 15%),
    radial-gradient(ellipse at 48% 62%,rgba(255,213,127,.30) 0 16%,transparent 17%),
    radial-gradient(ellipse at 72% 68%,rgba(255,205,118,.34) 0 15%,transparent 16%),
    linear-gradient(180deg,rgba(255,240,193,.16),rgba(250,201,102,.10) 36%,rgba(78,92,47,.02) 62%,transparent 100%);
  filter:blur(6px);
}
.orchard-tree-line{
  bottom:15%;width:42%;height:34%;opacity:.98;
  background:
    radial-gradient(circle at 16% 64%,rgba(50,63,30,.92) 0 11%,transparent 12%),
    radial-gradient(circle at 28% 51%,rgba(73,95,40,.92) 0 14%,transparent 15%),
    radial-gradient(circle at 41% 66%,rgba(54,70,31,.94) 0 10%,transparent 11%),
    radial-gradient(circle at 56% 46%,rgba(87,109,49,.92) 0 15%,transparent 16%),
    radial-gradient(circle at 71% 63%,rgba(48,63,28,.94) 0 11%,transparent 12%),
    radial-gradient(circle at 84% 49%,rgba(79,100,45,.90) 0 14%,transparent 15%),
    linear-gradient(180deg,transparent 0 55%,rgba(53,38,24,.92) 55% 63%,transparent 63%);
  filter:drop-shadow(0 8px 8px rgba(0,0,0,.34)) blur(.4px);
}
.orchard-tree-left{left:-7%}
.orchard-tree-right{right:-8%;transform:scaleX(-1) scale(1.06)}
.orchard-branch{
  top:-3%;width:48%;height:24%;opacity:.88;transform-origin:50% 0;
  background:
    linear-gradient(150deg,transparent 0 29%,rgba(90,56,30,.94) 29% 32%,transparent 32% 100%),
    radial-gradient(circle at 16% 68%,rgba(110,129,65,.94) 0 5.5%,transparent 6.3%),
    radial-gradient(circle at 24% 52%,rgba(89,110,48,.94) 0 7%,transparent 7.8%),
    radial-gradient(circle at 33% 34%,rgba(113,137,66,.96) 0 7%,transparent 7.8%),
    radial-gradient(circle at 44% 63%,rgba(94,118,51,.96) 0 7%,transparent 7.8%),
    radial-gradient(circle at 55% 39%,rgba(118,142,69,.96) 0 7.2%,transparent 8%),
    radial-gradient(circle at 66% 58%,rgba(95,118,50,.96) 0 6.4%,transparent 7.2%),
    radial-gradient(circle at 77% 34%,rgba(117,140,68,.96) 0 6.8%,transparent 7.6%),
    radial-gradient(circle at 86% 54%,rgba(93,116,50,.94) 0 6%,transparent 6.8%);
  filter:drop-shadow(0 8px 7px rgba(0,0,0,.22));
  animation:orchardBranchSweep 8.8s ease-in-out infinite;
}
.orchard-branch-left{left:-11%;transform:rotate(-10deg)}
.orchard-branch-right{right:-11%;transform:scaleX(-1) rotate(-5deg);animation-delay:-4.1s}
.orchard-fruit,.orchard-room-fruit{display:none!important}
.orchard-window-mote{
  width:5px;height:5px;border-radius:50%;opacity:.62;
  background:radial-gradient(circle,#fffce9 0%,rgba(255,226,139,.9) 48%,rgba(255,214,122,0) 78%);
  box-shadow:0 0 14px rgba(255,228,165,.34);
}
.orchard-window-mote.mote-a{left:60%;top:18%;animation:orchardMoteRise 9.2s linear infinite}
.orchard-window-mote.mote-b{left:73%;top:49%;animation:orchardMoteRise 10.4s linear infinite -3.2s}
.orchard-window-mote.mote-c{left:41%;top:37%;animation:orchardMoteRise 8.6s linear infinite -1.4s}
.orchard-window-mote.mote-d{left:22%;top:58%;animation:orchardMoteRise 9.7s linear infinite -4.6s}
body.world-orchard .sunbeam{
  opacity:.18!important;filter:blur(28px)!important;
  background:radial-gradient(ellipse at 50% 18%,rgba(255,247,217,.24) 0%,rgba(255,228,168,.14) 26%,rgba(255,204,122,.08) 48%,rgba(255,188,102,.025) 67%,transparent 84%)!important;
}
body.world-orchard .beam-one{left:-14vw!important;width:62vw!important;animation-duration:40s!important}
body.world-orchard .beam-two{left:11vw!important;width:48vw!important;opacity:.14!important;animation-duration:47s!important}
body.world-orchard .vine{opacity:0!important}
body.world-orchard .back-shelf{
  background:linear-gradient(180deg,#ba7843 0%,#88512a 26%,#5a321c 76%,#3a2116 100%)!important;
  border-top:1px solid rgba(248,215,160,.18)!important;
  box-shadow:0 14px 26px rgba(0,0,0,.43),0 26px 40px rgba(0,0,0,.22),inset 0 2px rgba(255,226,178,.14),inset 0 -4px rgba(24,12,8,.42)!important;
}
body.world-orchard .back-shelf::after{
  content:"";position:absolute;left:2%!important;right:2%!important;bottom:3px!important;height:2px!important;
  background:linear-gradient(90deg,transparent,rgba(251,211,141,.48) 16%,rgba(255,228,181,.16) 60%,transparent)!important;
}
body.world-orchard .pot,body.world-orchard .jar,body.world-orchard .books{
  filter:brightness(.83) saturate(1.04) sepia(.14)!important;opacity:.92!important;
}
.orchard-room-details{
  z-index:1;isolation:isolate;
}
.orchard-room-details::before{
  content:"";position:absolute;left:0;right:0;top:0;height:54%;pointer-events:none;opacity:.46;
  background:
    linear-gradient(115deg,rgba(255,238,204,.12) 10%,transparent 22%),
    linear-gradient(110deg,rgba(255,224,166,.08) 16%,transparent 34%),
    radial-gradient(ellipse at 67% 15%,rgba(255,211,130,.11),transparent 25%);
  mix-blend-mode:screen;
}
.orchard-room-details::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.20;
  background:
    repeating-linear-gradient(90deg,transparent 0 11%,rgba(255,218,161,.05) 11.2% 11.4%,transparent 11.6% 22%),
    radial-gradient(circle at 19% 84%,rgba(20,10,7,.28),transparent 26%),
    radial-gradient(circle at 84% 80%,rgba(26,13,9,.22),transparent 30%);
}
.orchard-wall-wash{
  inset:0;opacity:.98;mix-blend-mode:screen;
  background:
    radial-gradient(ellipse at 72% 17%,rgba(255,214,125,.18),transparent 28%),
    radial-gradient(ellipse at 12% 27%,rgba(255,231,184,.11),transparent 18%),
    radial-gradient(ellipse at 18% 74%,rgba(125,65,24,.12),transparent 28%),
    linear-gradient(180deg,rgba(255,227,180,.04),transparent 22%,transparent 76%,rgba(90,43,18,.08));
}
.orchard-wall-leafshadow{
  inset:-4% -2%;opacity:.78;filter:blur(14px);
  background:
    radial-gradient(circle at 8% 18%,rgba(59,43,24,.15) 0 12px,transparent 13px),
    radial-gradient(circle at 12% 12%,rgba(61,44,25,.13) 0 10px,transparent 11px),
    radial-gradient(circle at 17% 20%,rgba(59,43,24,.13) 0 8px,transparent 9px),
    radial-gradient(circle at 84% 17%,rgba(55,39,22,.14) 0 12px,transparent 13px),
    radial-gradient(circle at 89% 13%,rgba(58,41,23,.12) 0 10px,transparent 11px),
    radial-gradient(circle at 79% 23%,rgba(55,39,22,.12) 0 8px,transparent 9px);
  animation:orchardLeafShadowShift 14s ease-in-out infinite;
}
.orchard-room-beam{
  top:4%;height:66%;opacity:.92;mix-blend-mode:screen;
  background:linear-gradient(180deg,rgba(255,244,212,.22),rgba(255,212,131,.11) 36%,rgba(255,191,103,.055) 62%,transparent 100%);
  filter:blur(10px);
  animation:orchardRoomBeamMove 11.5s ease-in-out infinite;
}
.orchard-room-beam.beam-a{left:-1%;width:31%;transform:rotate(9deg)}
.orchard-room-beam.beam-b{left:16%;width:24%;transform:rotate(4deg);animation-delay:-5.8s}
.orchard-room-branch{
  top:1%;width:23%;height:16%;opacity:.44;
  background:
    linear-gradient(150deg,transparent 0 28%,rgba(79,47,27,.82) 28% 31%,transparent 31% 100%),
    radial-gradient(circle at 36% 48%,rgba(83,111,48,.78) 0 8%,transparent 9%),
    radial-gradient(circle at 53% 28%,rgba(98,126,57,.76) 0 8%,transparent 9%),
    radial-gradient(circle at 69% 54%,rgba(82,106,45,.74) 0 7%,transparent 8%),
    radial-gradient(circle at 81% 30%,rgba(109,132,61,.72) 0 7%,transparent 8%);
  filter:blur(.2px);
  animation:orchardBranchSweep 9.5s ease-in-out infinite;
}
.orchard-room-branch.branch-a{left:-2%;transform:rotate(-7deg)}
.orchard-room-branch.branch-b{right:-3%;transform:scaleX(-1) rotate(-3deg);animation-delay:-4.4s}
.orchard-room-mote{
  width:5px;height:5px;border-radius:50%;opacity:.52;
  background:radial-gradient(circle,#fffbe7 0%,rgba(255,225,136,.86) 44%,rgba(255,214,122,0) 76%);
  box-shadow:0 0 13px rgba(255,211,129,.30);
}
.orchard-room-mote.room-mote-a{left:31%;top:18%;animation:orchardMoteRise 10.2s linear infinite}
.orchard-room-mote.room-mote-b{left:61%;top:31%;animation:orchardMoteRise 9.8s linear infinite -3s}
.orchard-room-mote.room-mote-c{left:76%;top:56%;animation:orchardMoteRise 11s linear infinite -5.2s}
.orchard-room-mote.room-mote-d{left:11%;top:47%;animation:orchardMoteRise 10.1s linear infinite -1.8s}
body.world-orchard .vignette{background:radial-gradient(circle at 50% 37%,transparent 28%,rgba(23,12,6,.24) 70%,rgba(11,6,4,.70) 116%)!important}
body.world-orchard .gameplay-title p{text-shadow:0 0 12px rgba(255,203,121,.22)}
body.world-orchard.difficulty-master .orchard-sun{box-shadow:0 0 46px rgba(255,233,171,.48),0 0 132px rgba(255,170,77,.22)}
body.world-orchard.difficulty-master .orchard-room-beam{opacity:1}
body.world-orchard.difficulty-master .orchard-window-mote,body.world-orchard.difficulty-master .orchard-room-mote{opacity:.74}
@keyframes orchardBranchSweep{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(2px) rotate(-3deg)}}
@keyframes orchardLeafShadowShift{0%,100%{transform:translateX(0) translateY(0)}50%{transform:translateX(8px) translateY(3px)}}
@keyframes orchardRoomBeamMove{0%,100%{opacity:.72;transform:rotate(8deg) translateX(0)}50%{opacity:1;transform:rotate(11deg) translateX(10px)}}
@media(prefers-reduced-motion:reduce){.orchard-wall-leafshadow,.orchard-room-beam,.orchard-branch,.orchard-room-branch{animation:none!important}}

/* VALES v2.8.1.4a — preserve mirrored orchard transforms during animation */
.orchard-branch{--orchard-branch-transform:rotate(-7deg);transform:var(--orchard-branch-transform)}
.orchard-branch-left{--orchard-branch-transform:rotate(-10deg)}
.orchard-branch-right{--orchard-branch-transform:scaleX(-1) rotate(-5deg)}
.orchard-room-branch{--orchard-room-branch-transform:rotate(-7deg);transform:var(--orchard-room-branch-transform)}
.orchard-room-branch.branch-a{--orchard-room-branch-transform:rotate(-7deg)}
.orchard-room-branch.branch-b{--orchard-room-branch-transform:scaleX(-1) rotate(-3deg)}
.orchard-room-beam{--orchard-beam-transform:rotate(8deg);transform:var(--orchard-beam-transform)}
.orchard-room-beam.beam-a{--orchard-beam-transform:rotate(9deg)}
.orchard-room-beam.beam-b{--orchard-beam-transform:rotate(4deg)}
@keyframes orchardBranchSweep{0%,100%{transform:translateY(0) var(--orchard-branch-transform)}50%{transform:translateY(2px) var(--orchard-branch-transform)}}
@keyframes orchardRoomBranchSweep{0%,100%{transform:translateY(0) var(--orchard-room-branch-transform)}50%{transform:translateY(1.5px) var(--orchard-room-branch-transform)}}
@keyframes orchardRoomBeamMove{0%,100%{opacity:.72;transform:translateX(0) var(--orchard-beam-transform)}50%{opacity:1;transform:translateX(10px) var(--orchard-beam-transform)}}
.orchard-room-branch{animation:orchardRoomBranchSweep 9.5s ease-in-out infinite}


/* VALES v2.8.1.6 — Sunstone Orchard art push */
body.world-orchard{
  --orchard-premium-wall:#3d1f11;
  --orchard-premium-shadow:#1d0e08;
  --orchard-premium-gold:#f2c46b;
  --orchard-premium-amber:#d88937;
  --orchard-premium-leaf:#7f8840;
  --orchard-premium-leaf-deep:#425028;
}
body.world-orchard .atelier-scene{
  background:
    radial-gradient(130% 72% at 50% -8%,rgba(255,226,156,.18) 0,rgba(255,185,92,.10) 28%,transparent 48%),
    radial-gradient(56% 54% at 74% 14%,rgba(255,185,86,.16) 0,rgba(255,166,79,.08) 36%,transparent 62%),
    linear-gradient(180deg,#7a4725 0%,#542a17 18%,#3a1d12 48%,#26130d 100%)!important;
}
body.world-orchard .atelier-scene::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.92;
  background:
    repeating-linear-gradient(90deg,rgba(255,224,166,.03) 0 2px,transparent 2px 68px),
    repeating-linear-gradient(180deg,rgba(255,244,219,.015) 0 3px,transparent 3px 28px),
    radial-gradient(ellipse at 48% 14%,rgba(255,216,138,.16),transparent 40%),
    radial-gradient(ellipse at 17% 37%,rgba(255,246,225,.06),transparent 18%),
    radial-gradient(ellipse at 84% 29%,rgba(255,219,144,.07),transparent 22%),
    radial-gradient(circle at 80% 85%,rgba(0,0,0,.18),transparent 22%),
    radial-gradient(circle at 12% 82%,rgba(0,0,0,.13),transparent 16%);
  mix-blend-mode:screen;
}
body.world-orchard .atelier-scene::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.58;
  background:
    linear-gradient(90deg,transparent 0 20%,rgba(255,214,158,.08) 20.2% 20.5%,transparent 20.8% 49%,rgba(255,214,158,.05) 49.2% 49.45%,transparent 49.7% 100%),
    linear-gradient(180deg,rgba(255,255,255,.03),transparent 16%,transparent 82%,rgba(0,0,0,.18));
}
body.world-orchard .window{
  background:linear-gradient(180deg,rgba(255,247,230,.07),rgba(255,234,195,.03))!important;
  border-color:#6d4426!important;
  box-shadow:inset 0 0 0 4px rgba(255,228,177,.16),20px 24px 54px rgba(0,0,0,.42),0 0 58px rgba(238,166,66,.14)!important;
}
body.world-orchard .window::before,body.world-orchard .window::after{
  background:linear-gradient(180deg,#7c502d,#5f381e 40%,#7a4d2a)!important;
  box-shadow:0 0 0 1px rgba(255,218,162,.10),0 0 16px rgba(0,0,0,.18);
}
.orchard-window-scene{
  z-index:1;
  background:
    radial-gradient(circle at 28% 19%,rgba(255,250,233,.98) 0 5%,rgba(255,223,153,.78) 11%,rgba(255,191,94,.18) 25%,transparent 42%),
    radial-gradient(circle at 38% 26%,rgba(255,243,203,.36),transparent 20%),
    linear-gradient(180deg,#fdf2d7 0%,#f9e5bc 18%,#f1cf95 38%,#d7b175 58%,#8b6d3c 100%);
}
.orchard-window-scene::before{
  content:"";position:absolute;left:-6%;right:-6%;bottom:0;height:56%;pointer-events:none;
  background:
    linear-gradient(180deg,transparent 0 38%,rgba(255,232,180,.16) 38% 41%,transparent 41% 100%),
    linear-gradient(180deg,transparent 0 57%,rgba(88,114,44,.42) 57% 61%,transparent 61% 100%),
    radial-gradient(circle at 8% 78%,rgba(78,104,44,.95) 0 7%,transparent 7.5%),
    radial-gradient(circle at 20% 81%,rgba(86,112,49,.95) 0 7.2%,transparent 7.7%),
    radial-gradient(circle at 34% 78%,rgba(83,106,47,.95) 0 6.6%,transparent 7.2%),
    radial-gradient(circle at 48% 82%,rgba(78,103,46,.95) 0 7.4%,transparent 8%),
    radial-gradient(circle at 62% 79%,rgba(82,110,49,.95) 0 7%,transparent 7.5%),
    radial-gradient(circle at 76% 81%,rgba(84,109,50,.95) 0 7.2%,transparent 7.7%),
    radial-gradient(circle at 90% 78%,rgba(78,103,46,.95) 0 6.8%,transparent 7.4%),
    linear-gradient(180deg,rgba(90,116,51,.05) 0%,rgba(99,123,55,.52) 45%,rgba(57,71,31,.96) 100%);
  clip-path:polygon(0 36%,14% 28%,28% 34%,42% 24%,55% 31%,68% 22%,84% 30%,100% 24%,100% 100%,0 100%);
}
.orchard-window-scene::after{
  content:"";position:absolute;left:-5%;right:-5%;bottom:-2%;height:34%;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(255,227,157,.0) 0%,rgba(255,220,136,.16) 20%,transparent 21% 100%),
    linear-gradient(180deg,transparent 0 24%,rgba(88,121,39,.26) 24% 100%),
    radial-gradient(circle at 7% 64%,rgba(88,53,24,.95) 0 1.1%,rgba(224,171,64,.96) 1.15% 2.4%,transparent 2.55%),
    radial-gradient(circle at 17% 70%,rgba(88,53,24,.95) 0 1.15%,rgba(229,179,70,.96) 1.2% 2.5%,transparent 2.65%),
    radial-gradient(circle at 27% 61%,rgba(88,53,24,.95) 0 1.1%,rgba(233,181,71,.96) 1.2% 2.35%,transparent 2.5%),
    radial-gradient(circle at 39% 72%,rgba(88,53,24,.95) 0 1.05%,rgba(229,177,68,.96) 1.1% 2.35%,transparent 2.5%),
    radial-gradient(circle at 50% 66%,rgba(88,53,24,.95) 0 1.2%,rgba(232,181,71,.96) 1.25% 2.55%,transparent 2.7%),
    radial-gradient(circle at 61% 73%,rgba(88,53,24,.95) 0 1.15%,rgba(227,176,66,.96) 1.2% 2.45%,transparent 2.6%),
    radial-gradient(circle at 72% 63%,rgba(88,53,24,.95) 0 1.15%,rgba(234,182,72,.96) 1.2% 2.5%,transparent 2.65%),
    radial-gradient(circle at 83% 70%,rgba(88,53,24,.95) 0 1.05%,rgba(226,173,64,.96) 1.1% 2.3%,transparent 2.45%),
    radial-gradient(circle at 93% 62%,rgba(88,53,24,.95) 0 1.1%,rgba(232,181,73,.96) 1.2% 2.45%,transparent 2.6%),
    linear-gradient(180deg,rgba(140,165,66,.16) 0%,rgba(104,135,42,.78) 48%,rgba(65,85,28,.96) 100%);
  clip-path:polygon(0 28%,9% 34%,17% 29%,29% 35%,39% 31%,50% 38%,62% 30%,74% 36%,84% 29%,100% 37%,100% 100%,0 100%);
  filter:saturate(1.05);
}
.orchard-sun-halo{left:13%;top:7%;width:58%;height:44%;filter:blur(12px)!important;opacity:1!important}
.orchard-sun{left:23%;top:13%;width:31%;height:23%;box-shadow:0 0 34px rgba(255,234,171,.34),0 0 94px rgba(255,177,76,.20)!important}
.orchard-cloud{opacity:.72!important;filter:blur(8px)!important}
.orchard-hill-back{bottom:24%!important;height:30%!important;background:linear-gradient(180deg,rgba(182,150,98,.12),rgba(114,129,66,.46) 33%,rgba(52,63,31,.92) 100%)!important}
.orchard-hill-mid{bottom:14%!important;height:29%!important;background:linear-gradient(180deg,rgba(252,216,136,.14),rgba(112,138,57,.62) 38%,rgba(58,78,29,.96) 100%)!important}
.orchard-lake-glow{display:none!important}
.orchard-tree-line{bottom:17%;width:33%;height:38%;opacity:.95!important;filter:drop-shadow(0 7px 6px rgba(0,0,0,.32))!important}
.orchard-branch{top:-2%;width:46%;height:21%;opacity:.88!important;filter:drop-shadow(0 2px 3px rgba(0,0,0,.18));}
.orchard-window-mote{width:5px;height:5px;opacity:.66!important;box-shadow:0 0 14px rgba(255,226,157,.36)!important}
body.world-orchard .sunbeam{
  opacity:.16!important;
  filter:blur(54px)!important;
  background:linear-gradient(180deg,rgba(255,239,194,.28),rgba(255,191,92,.13) 45%,rgba(255,181,79,.02) 80%,transparent)!important;
}
body.world-orchard .beam-one{left:-18vw!important;width:58vw!important;animation-duration:36s!important}
body.world-orchard .beam-two{left:8vw!important;width:42vw!important;opacity:.13!important;animation-duration:43s!important}
body.world-orchard .back-shelf{
  background:linear-gradient(180deg,#bb7a43 0%,#8a512b 38%,#6c391d 72%,#4d2615 100%)!important;
  border-color:rgba(242,193,124,.16)!important;
  box-shadow:0 18px 36px rgba(0,0,0,.38),inset 0 2px rgba(255,229,178,.14),inset 0 -4px rgba(32,15,8,.40)!important;
}
body.world-orchard .pot,body.world-orchard .jar,body.world-orchard .books{filter:brightness(.72) saturate(.82) sepia(.18)!important;opacity:.86!important}
.orchard-room-details{z-index:1!important}
.orchard-room-details::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.92;
  background:
    radial-gradient(ellipse at 72% 16%,rgba(255,218,132,.16),transparent 28%),
    radial-gradient(ellipse at 18% 24%,rgba(255,244,214,.06),transparent 18%),
    linear-gradient(90deg,transparent 0 12%,rgba(255,232,186,.04) 12.2% 12.4%,transparent 12.6% 36%,rgba(255,232,186,.02) 36.2% 36.35%,transparent 36.6% 100%),
    repeating-linear-gradient(180deg,rgba(255,237,210,.014) 0 3px,transparent 3px 27px),
    linear-gradient(180deg,rgba(255,244,226,.05),transparent 16%,transparent 82%,rgba(23,10,7,.14));
  mix-blend-mode:screen;
}
.orchard-room-details::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.24;
  background:
    radial-gradient(circle at 14% 82%,rgba(0,0,0,.24),transparent 20%),
    radial-gradient(circle at 84% 78%,rgba(0,0,0,.22),transparent 22%),
    linear-gradient(180deg,transparent 0 72%,rgba(0,0,0,.14));
}
.orchard-wall-wash{opacity:1!important;background:radial-gradient(ellipse at 74% 17%,rgba(255,205,110,.18),transparent 28%),radial-gradient(ellipse at 10% 34%,rgba(255,247,222,.05),transparent 16%),radial-gradient(ellipse at 18% 76%,rgba(122,65,28,.10),transparent 30%)!important}
.orchard-wall-leafshadow{opacity:.64!important;filter:blur(18px)!important}
.orchard-room-beam{top:0;height:72%;opacity:1!important;filter:blur(13px)!important;background:linear-gradient(180deg,rgba(255,246,221,.30),rgba(255,219,142,.14) 34%,rgba(255,181,82,.05) 62%,transparent)!important}
.orchard-room-beam.beam-a{left:-4%;width:34%;--orchard-beam-transform:rotate(10deg)}
.orchard-room-beam.beam-b{left:14%;width:26%;--orchard-beam-transform:rotate(5deg)}
.orchard-room-branch{top:-1%;width:24%;height:17%;opacity:.32!important;filter:blur(.3px)}
.orchard-room-mote{width:6px;height:6px;opacity:.64!important;box-shadow:0 0 16px rgba(255,216,132,.34)!important}
body.world-orchard .dust-field .dust-speck{background:radial-gradient(circle,rgba(255,244,210,.90),rgba(255,219,150,.42) 55%,transparent 80%)!important}
body.world-orchard .vignette{background:radial-gradient(circle at 50% 36%,transparent 30%,rgba(25,12,7,.22) 69%,rgba(9,4,3,.76) 118%)!important}
body.world-orchard.difficulty-master .orchard-room-beam{opacity:1!important;filter:blur(14px)!important}
body.world-orchard.difficulty-master .orchard-window-mote,body.world-orchard.difficulty-master .orchard-room-mote{opacity:.78!important}

/* VALES v2.8.1.7 — Sunstone Orchard immersive art pass */
body.world-orchard{
  --orchard-premium-wall:#452412;
  --orchard-premium-shadow:#180d08;
  --orchard-premium-gold:#f0c067;
  --orchard-premium-amber:#da8b36;
  --orchard-premium-leaf:#708340;
  --orchard-premium-leaf-deep:#394824;
}
body.world-orchard .atelier-scene{
  background:
    radial-gradient(circle at 60% 18%,rgba(255,210,116,.18),transparent 28%),
    radial-gradient(circle at 22% 38%,rgba(255,242,213,.06),transparent 20%),
    linear-gradient(180deg,#7a4826 0%,#5c2f18 18%,#402012 52%,#28140d 100%)!important;
}
body.world-orchard .atelier-scene::before{
  opacity:.97;
  background:
    linear-gradient(90deg,transparent 0 18%,rgba(255,220,163,.05) 18.1% 18.3%,transparent 18.4% 52%,rgba(255,220,163,.032) 52.1% 52.28%,transparent 52.4% 100%),
    repeating-linear-gradient(90deg,rgba(255,238,205,.015) 0 1px,transparent 1px 76px),
    repeating-linear-gradient(180deg,rgba(255,235,205,.012) 0 2px,transparent 2px 22px),
    radial-gradient(ellipse at 50% 12%,rgba(255,221,146,.20),transparent 34%),
    radial-gradient(ellipse at 15% 43%,rgba(255,247,225,.07),transparent 18%),
    radial-gradient(ellipse at 88% 28%,rgba(255,214,124,.08),transparent 22%),
    radial-gradient(circle at 80% 85%,rgba(0,0,0,.18),transparent 22%),
    radial-gradient(circle at 12% 82%,rgba(0,0,0,.14),transparent 16%);
}
body.world-orchard .atelier-scene::after{
  opacity:.7;
  background:
    linear-gradient(90deg,transparent 0 19%,rgba(255,216,152,.10) 19.2% 19.55%,transparent 19.9% 49.2%,rgba(255,216,152,.07) 49.4% 49.75%,transparent 50% 100%),
    linear-gradient(180deg,rgba(255,248,226,.03),transparent 13%,transparent 80%,rgba(0,0,0,.22));
}
body.world-orchard .window{
  background:linear-gradient(180deg,rgba(255,247,230,.10),rgba(255,236,201,.04))!important;
  border-color:#6d4527!important;
  box-shadow:inset 0 0 0 4px rgba(255,228,177,.18),20px 26px 58px rgba(0,0,0,.46),0 0 66px rgba(238,166,66,.16)!important;
}
.orchard-window-scene{
  background:
    radial-gradient(circle at 29% 20%,rgba(255,251,239,1) 0 5%,rgba(255,229,164,.88) 9%,rgba(255,196,101,.26) 22%,transparent 40%),
    radial-gradient(ellipse at 35% 30%,rgba(255,239,204,.44),transparent 24%),
    linear-gradient(180deg,#fbf2dd 0%,#f6e2bc 16%,#edc98d 42%,#c29357 69%,#8b6030 100%);
}
.orchard-window-scene::before{
  left:-4%;
  right:-4%;
  bottom:0;
  height:60%;
  background:
    linear-gradient(180deg,transparent 0 27%,rgba(255,233,176,.12) 27% 29%,transparent 29% 100%),
    radial-gradient(ellipse at 52% 19%,rgba(255,229,166,.18),transparent 32%),
    linear-gradient(180deg,rgba(255,233,176,.06) 0 35%,rgba(107,125,63,.38) 35% 46%,rgba(72,89,38,.88) 46% 100%),
    radial-gradient(circle at 5% 77%,rgba(68,82,35,.92) 0 8%,transparent 8.5%),
    radial-gradient(circle at 15% 72%,rgba(81,98,42,.94) 0 10%,transparent 10.5%),
    radial-gradient(circle at 24% 78%,rgba(67,83,34,.92) 0 8.5%,transparent 9%),
    radial-gradient(circle at 34% 71%,rgba(79,98,42,.93) 0 10.5%,transparent 11%),
    radial-gradient(circle at 44% 77%,rgba(63,80,33,.94) 0 9%,transparent 9.5%),
    radial-gradient(circle at 55% 71%,rgba(77,95,41,.93) 0 10%,transparent 10.5%),
    radial-gradient(circle at 66% 77%,rgba(67,82,34,.94) 0 9%,transparent 9.5%),
    radial-gradient(circle at 76% 72%,rgba(79,98,42,.93) 0 10%,transparent 10.5%),
    radial-gradient(circle at 86% 78%,rgba(64,79,32,.94) 0 8.5%,transparent 9%),
    radial-gradient(circle at 95% 73%,rgba(79,98,42,.93) 0 9%,transparent 9.5%);
  clip-path:polygon(0 32%,12% 26%,24% 32%,38% 22%,52% 28%,67% 18%,82% 27%,100% 20%,100% 100%,0 100%);
  filter:saturate(1.08);
}
.orchard-window-scene::after{
  left:-8%;
  right:-8%;
  bottom:-1%;
  height:38%;
  background:
    radial-gradient(circle at 7% 48%,rgba(81,52,24,.90) 0 .7%,rgba(232,176,67,.98) .75% 2.05%,rgba(122,88,29,.86) 2.1% 2.8%,transparent 3.05%),
    radial-gradient(circle at 13% 63%,rgba(81,52,24,.90) 0 .7%,rgba(238,187,73,.98) .75% 2.1%,rgba(122,88,29,.86) 2.15% 2.85%,transparent 3.1%),
    radial-gradient(circle at 19% 53%,rgba(81,52,24,.90) 0 .7%,rgba(232,176,67,.98) .75% 2.0%,rgba(122,88,29,.86) 2.1% 2.75%,transparent 3.0%),
    radial-gradient(circle at 26% 67%,rgba(81,52,24,.90) 0 .7%,rgba(236,183,71,.98) .75% 2.1%,rgba(122,88,29,.86) 2.15% 2.85%,transparent 3.1%),
    radial-gradient(circle at 32% 56%,rgba(81,52,24,.90) 0 .7%,rgba(239,191,80,.98) .75% 2.15%,rgba(122,88,29,.86) 2.2% 2.9%,transparent 3.15%),
    radial-gradient(circle at 39% 68%,rgba(81,52,24,.90) 0 .7%,rgba(232,176,67,.98) .75% 2.0%,rgba(122,88,29,.86) 2.1% 2.75%,transparent 3.0%),
    radial-gradient(circle at 46% 54%,rgba(81,52,24,.90) 0 .7%,rgba(239,191,80,.98) .75% 2.15%,rgba(122,88,29,.86) 2.2% 2.9%,transparent 3.15%),
    radial-gradient(circle at 54% 66%,rgba(81,52,24,.90) 0 .7%,rgba(232,176,67,.98) .75% 2.0%,rgba(122,88,29,.86) 2.1% 2.75%,transparent 3.0%),
    radial-gradient(circle at 61% 55%,rgba(81,52,24,.90) 0 .7%,rgba(238,187,73,.98) .75% 2.1%,rgba(122,88,29,.86) 2.15% 2.85%,transparent 3.1%),
    radial-gradient(circle at 68% 67%,rgba(81,52,24,.90) 0 .7%,rgba(232,176,67,.98) .75% 2.05%,rgba(122,88,29,.86) 2.1% 2.8%,transparent 3.05%),
    radial-gradient(circle at 75% 55%,rgba(81,52,24,.90) 0 .7%,rgba(239,191,80,.98) .75% 2.15%,rgba(122,88,29,.86) 2.2% 2.9%,transparent 3.15%),
    radial-gradient(circle at 83% 64%,rgba(81,52,24,.90) 0 .7%,rgba(232,176,67,.98) .75% 2.05%,rgba(122,88,29,.86) 2.1% 2.8%,transparent 3.05%),
    radial-gradient(circle at 91% 53%,rgba(81,52,24,.90) 0 .7%,rgba(238,187,73,.98) .75% 2.1%,rgba(122,88,29,.86) 2.15% 2.85%,transparent 3.1%),
    repeating-linear-gradient(90deg,transparent 0 6%,rgba(73,104,34,.74) 6.1% 6.4%,transparent 6.5% 13%),
    linear-gradient(180deg,rgba(150,173,74,.08) 0%,rgba(112,146,43,.54) 44%,rgba(67,91,28,.98) 100%);
  clip-path:polygon(0 25%,7% 30%,13% 24%,19% 31%,27% 26%,34% 34%,42% 26%,49% 35%,56% 27%,64% 34%,72% 26%,79% 33%,87% 24%,94% 31%,100% 25%,100% 100%,0 100%);
  filter:saturate(1.08) blur(.2px);
}
.orchard-hill-back{
  bottom:26%!important;
  height:30%!important;
  background:
    linear-gradient(180deg,rgba(214,178,114,.12),rgba(135,151,77,.40) 36%,rgba(56,70,33,.94) 100%)!important;
  clip-path:polygon(0 76%,10% 64%,21% 70%,34% 56%,47% 64%,61% 49%,74% 58%,88% 48%,100% 54%,100% 100%,0 100%)!important;
}
.orchard-hill-mid{
  bottom:17%!important;
  height:28%!important;
  background:
    linear-gradient(180deg,rgba(252,216,136,.10),rgba(129,151,60,.56) 32%,rgba(60,84,29,.98) 100%)!important;
  clip-path:polygon(0 80%,11% 70%,20% 75%,31% 63%,42% 70%,53% 57%,64% 66%,76% 55%,88% 61%,100% 53%,100% 100%,0 100%)!important;
}
.orchard-tree-line{
  bottom:16.5%;
  width:36%;
  height:43%;
  opacity:.98!important;
  background:
    radial-gradient(circle at 22% 82%,rgba(44,32,18,.95) 0 4%,transparent 4.3%),
    radial-gradient(circle at 34% 76%,rgba(44,32,18,.95) 0 5%,transparent 5.3%),
    radial-gradient(circle at 48% 78%,rgba(44,32,18,.95) 0 4.4%,transparent 4.7%),
    radial-gradient(circle at 64% 74%,rgba(44,32,18,.95) 0 4.8%,transparent 5.1%),
    radial-gradient(circle at 76% 79%,rgba(44,32,18,.95) 0 4.2%,transparent 4.5%),
    radial-gradient(circle at 18% 58%,rgba(63,92,41,.98) 0 12%,transparent 12.4%),
    radial-gradient(circle at 33% 42%,rgba(74,104,47,.96) 0 11%,transparent 11.4%),
    radial-gradient(circle at 52% 31%,rgba(90,118,55,.94) 0 10%,transparent 10.5%),
    radial-gradient(circle at 66% 46%,rgba(73,102,45,.96) 0 11.5%,transparent 11.9%),
    radial-gradient(circle at 81% 62%,rgba(58,86,36,.98) 0 12%,transparent 12.4%),
    radial-gradient(circle at 49% 62%,rgba(54,79,34,.98) 0 15%,transparent 15.4%),
    linear-gradient(180deg,transparent 0 52%,rgba(48,34,20,.96) 52% 70%,transparent 70% 100%);
  filter:drop-shadow(0 8px 7px rgba(0,0,0,.34)) blur(.2px)!important;
}
.orchard-tree-left{left:-8%}
.orchard-tree-right{right:-9%;transform:scaleX(-1) scale(1.12)}
.orchard-branch{
  top:-3%;
  width:48%;
  height:22%;
  opacity:.68!important;
  background:
    radial-gradient(circle at 21% 66%,rgba(77,49,28,.92) 0 3.4%,transparent 3.8%),
    linear-gradient(160deg,transparent 0 26%,rgba(87,55,32,.90) 26% 28%,transparent 28% 100%),
    radial-gradient(circle at 34% 66%,rgba(98,132,59,.75) 0 4.8%,transparent 5.2%),
    radial-gradient(circle at 42% 43%,rgba(102,137,62,.76) 0 5.3%,transparent 5.7%),
    radial-gradient(circle at 50% 72%,rgba(102,137,62,.78) 0 5.1%,transparent 5.5%),
    radial-gradient(circle at 60% 39%,rgba(89,125,55,.76) 0 5.4%,transparent 5.8%),
    radial-gradient(circle at 70% 67%,rgba(89,125,55,.76) 0 5%,transparent 5.4%),
    radial-gradient(circle at 79% 47%,rgba(97,132,60,.75) 0 4.8%,transparent 5.2%);
  filter:blur(.35px) drop-shadow(0 2px 4px rgba(0,0,0,.18));
}
body.world-orchard .sunbeam{
  opacity:.22!important;
  filter:blur(62px)!important;
  background:linear-gradient(180deg,rgba(255,246,222,.32),rgba(255,205,98,.18) 45%,rgba(255,176,72,.03) 82%,transparent)!important;
}
body.world-orchard .beam-one{left:-20vw!important;width:66vw!important;animation-duration:35s!important}
body.world-orchard .beam-two{left:12vw!important;width:46vw!important;opacity:.17!important;animation-duration:42s!important}
body.world-orchard .back-shelf{
  background:linear-gradient(180deg,#c28148 0%,#985829 36%,#743d1d 70%,#552a15 100%)!important;
  box-shadow:0 22px 44px rgba(0,0,0,.42),inset 0 2px rgba(255,230,181,.18),inset 0 -5px rgba(28,14,8,.45)!important;
}
body.world-orchard .pot,body.world-orchard .jar,body.world-orchard .books{
  filter:brightness(.78) saturate(.88) sepia(.14)!important;
  opacity:.9!important;
  transform:translateZ(0);
}
.orchard-room-details{
  z-index:1!important;
}
.orchard-room-details::before{
  opacity:1;
  background:
    radial-gradient(ellipse at 75% 16%,rgba(255,216,132,.20),transparent 27%),
    radial-gradient(ellipse at 11% 36%,rgba(255,249,226,.05),transparent 16%),
    radial-gradient(ellipse at 16% 72%,rgba(88,51,22,.12),transparent 30%),
    linear-gradient(90deg,transparent 0 12%,rgba(255,232,186,.05) 12.2% 12.35%,transparent 12.55% 34%,rgba(255,232,186,.03) 34.2% 34.35%,transparent 34.6% 100%),
    repeating-linear-gradient(90deg,rgba(255,234,200,.008) 0 1px,transparent 1px 84px),
    repeating-linear-gradient(180deg,rgba(255,237,210,.013) 0 2px,transparent 2px 18px),
    linear-gradient(180deg,rgba(255,244,226,.05),transparent 14%,transparent 82%,rgba(23,10,7,.18));
  mix-blend-mode:screen;
}
.orchard-room-details::after{
  opacity:.36;
  background:
    radial-gradient(circle at 15% 83%,rgba(0,0,0,.25),transparent 20%),
    radial-gradient(circle at 84% 80%,rgba(0,0,0,.22),transparent 22%),
    linear-gradient(180deg,transparent 0 68%,rgba(0,0,0,.17));
}
.orchard-wall-wash{
  opacity:1!important;
  background:
    radial-gradient(ellipse at 74% 17%,rgba(255,205,110,.22),transparent 28%),
    radial-gradient(ellipse at 17% 26%,rgba(255,247,222,.05),transparent 16%),
    radial-gradient(ellipse at 18% 76%,rgba(122,65,28,.12),transparent 30%),
    linear-gradient(180deg,transparent 0 74%,rgba(40,18,10,.08));
}
.orchard-wall-leafshadow{
  opacity:.78!important;
  filter:blur(20px)!important;
  background:
    radial-gradient(circle at 14% 17%,rgba(69,83,42,.20) 0 3%,transparent 3.4%),
    radial-gradient(circle at 19% 24%,rgba(69,83,42,.17) 0 4%,transparent 4.5%),
    radial-gradient(circle at 24% 18%,rgba(69,83,42,.15) 0 3.4%,transparent 3.8%),
    radial-gradient(circle at 82% 16%,rgba(69,83,42,.13) 0 3%,transparent 3.5%),
    radial-gradient(circle at 87% 24%,rgba(69,83,42,.10) 0 4.2%,transparent 4.7%),
    linear-gradient(180deg,rgba(60,76,34,.10),transparent 28%,transparent 100%);
}
.orchard-room-beam{
  top:-1%;
  height:80%;
  opacity:1!important;
  filter:blur(15px)!important;
  background:linear-gradient(180deg,rgba(255,248,227,.34),rgba(255,220,145,.15) 34%,rgba(255,181,82,.06) 62%,transparent)!important;
}
.orchard-room-beam.beam-a{left:-5%;width:36%;--orchard-beam-transform:rotate(10deg)}
.orchard-room-beam.beam-b{left:16%;width:28%;--orchard-beam-transform:rotate(4deg)}
.orchard-room-branch{
  top:-1%;
  width:26%;
  height:18%;
  opacity:.42!important;
  filter:blur(.4px);
}
.orchard-room-mote{
  width:7px;
  height:7px;
  opacity:.74!important;
  box-shadow:0 0 18px rgba(255,217,130,.40)!important;
}
body.world-orchard .dust-field .dust-speck{
  background:radial-gradient(circle,rgba(255,244,210,.96),rgba(255,219,150,.46) 55%,transparent 80%)!important;
}
body.world-orchard .vignette{
  background:radial-gradient(circle at 50% 36%,transparent 29%,rgba(26,12,7,.20) 68%,rgba(10,4,3,.78) 120%)!important;
}
body.world-orchard.difficulty-master .orchard-room-beam{opacity:1!important;filter:blur(16px)!important}
body.world-orchard.difficulty-master .orchard-window-mote,body.world-orchard.difficulty-master .orchard-room-mote{opacity:.82!important}

/* VALES v2.8.1.8 — Sunstone Orchard premium environment push */
body.world-orchard .atelier-scene{
  background:
    radial-gradient(circle at 61% 16%, rgba(255,212,120,.24) 0, rgba(255,168,71,.10) 20%, transparent 34%),
    radial-gradient(circle at 18% 38%, rgba(255,244,224,.07) 0, transparent 22%),
    linear-gradient(180deg,#8d542b 0%, #69381d 22%, #452314 58%, #28120c 100%) !important;
}
body.world-orchard .atelier-scene::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:1 !important;
  background:
    radial-gradient(ellipse at 62% 14%, rgba(255,224,154,.14), transparent 26%),
    radial-gradient(ellipse at 25% 34%, rgba(255,250,239,.05), transparent 17%),
    radial-gradient(ellipse at 78% 66%, rgba(0,0,0,.16), transparent 25%),
    repeating-linear-gradient(90deg, rgba(255,236,202,.010) 0 1px, transparent 1px 88px),
    repeating-linear-gradient(180deg, rgba(255,234,200,.013) 0 2px, transparent 2px 22px),
    linear-gradient(90deg, transparent 0 18%, rgba(255,219,158,.04) 18.15% 18.35%, transparent 18.5% 49.2%, rgba(255,219,158,.028) 49.35% 49.55%, transparent 49.7% 100%),
    linear-gradient(180deg, rgba(255,242,220,.03), transparent 14%, transparent 82%, rgba(12,5,3,.24));
}
body.world-orchard .atelier-scene::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.88 !important;
  background:
    linear-gradient(108deg, rgba(255,242,214,.08), transparent 28%),
    linear-gradient(180deg, transparent 0 75%, rgba(0,0,0,.13));
}
body.world-orchard .window{
  background:linear-gradient(180deg, rgba(255,251,241,.08), rgba(255,236,202,.04)) !important;
  border-color:#724725 !important;
  box-shadow:
    inset 0 0 0 4px rgba(255,230,181,.18),
    18px 24px 56px rgba(0,0,0,.42),
    0 0 48px rgba(250,186,79,.10) !important;
}
body.world-orchard .window::before,
body.world-orchard .window::after{
  background:#724725 !important;
}
.orchard-window-scene{
  background:
    radial-gradient(circle at 31% 20%, rgba(255,253,247,1) 0 6%, rgba(255,236,185,.96) 8%, rgba(255,192,96,.42) 19%, rgba(255,172,72,.12) 28%, transparent 38%),
    radial-gradient(ellipse at 33% 30%, rgba(255,241,212,.45), transparent 21%),
    linear-gradient(180deg, #fbf5e8 0%, #f8e8c5 20%, #e9c688 47%, #c28d4d 73%, #7c572f 100%) !important;
}
.orchard-window-scene::before{
  content:"";
  position:absolute;
  left:-4%; right:-4%; bottom:0;
  height:61%;
  background:
    radial-gradient(ellipse at 48% 22%, rgba(255,228,162,.14), transparent 35%),
    linear-gradient(180deg, transparent 0 28%, rgba(255,232,175,.10) 28.5% 30%, transparent 31% 100%),
    linear-gradient(180deg, rgba(159,184,95,.08) 0 34%, rgba(106,132,53,.48) 34% 47%, rgba(56,74,29,.98) 47% 100%),
    linear-gradient(90deg, rgba(71,104,34,.00) 0 4%, rgba(71,104,34,.65) 4.1% 4.7%, transparent 4.8% 14%, rgba(71,104,34,.56) 14.1% 14.5%, transparent 14.6% 100%);
  clip-path:polygon(0 35%,9% 29%,17% 33%,26% 24%,36% 31%,46% 22%,57% 30%,68% 21%,79% 29%,89% 23%,100% 27%,100% 100%,0 100%);
  filter:saturate(1.06);
}
.orchard-window-scene::after{
  content:"";
  position:absolute;
  left:-6%; right:-6%; bottom:-1%;
  height:40%;
  background:
    radial-gradient(circle at 8% 54%, rgba(88,64,27,.95) 0 .7%, rgba(233,184,78,.98) .8% 2.3%, rgba(118,89,31,.88) 2.4% 3.2%, transparent 3.35%),
    radial-gradient(circle at 15% 69%, rgba(88,64,27,.95) 0 .7%, rgba(244,198,89,.98) .8% 2.4%, rgba(118,89,31,.88) 2.5% 3.2%, transparent 3.35%),
    radial-gradient(circle at 23% 57%, rgba(88,64,27,.95) 0 .7%, rgba(233,184,78,.98) .8% 2.3%, rgba(118,89,31,.88) 2.4% 3.1%, transparent 3.25%),
    radial-gradient(circle at 31% 71%, rgba(88,64,27,.95) 0 .7%, rgba(244,198,89,.98) .8% 2.4%, rgba(118,89,31,.88) 2.5% 3.2%, transparent 3.35%),
    radial-gradient(circle at 39% 58%, rgba(88,64,27,.95) 0 .7%, rgba(236,188,82,.98) .8% 2.4%, rgba(118,89,31,.88) 2.5% 3.2%, transparent 3.35%),
    radial-gradient(circle at 48% 70%, rgba(88,64,27,.95) 0 .7%, rgba(233,184,78,.98) .8% 2.3%, rgba(118,89,31,.88) 2.4% 3.1%, transparent 3.25%),
    radial-gradient(circle at 58% 56%, rgba(88,64,27,.95) 0 .7%, rgba(244,198,89,.98) .8% 2.4%, rgba(118,89,31,.88) 2.5% 3.2%, transparent 3.35%),
    radial-gradient(circle at 67% 70%, rgba(88,64,27,.95) 0 .7%, rgba(233,184,78,.98) .8% 2.3%, rgba(118,89,31,.88) 2.4% 3.1%, transparent 3.25%),
    radial-gradient(circle at 76% 58%, rgba(88,64,27,.95) 0 .7%, rgba(244,198,89,.98) .8% 2.4%, rgba(118,89,31,.88) 2.5% 3.2%, transparent 3.35%),
    radial-gradient(circle at 86% 71%, rgba(88,64,27,.95) 0 .7%, rgba(233,184,78,.98) .8% 2.3%, rgba(118,89,31,.88) 2.4% 3.1%, transparent 3.25%),
    radial-gradient(circle at 94% 57%, rgba(88,64,27,.95) 0 .7%, rgba(244,198,89,.98) .8% 2.4%, rgba(118,89,31,.88) 2.5% 3.2%, transparent 3.35%),
    repeating-linear-gradient(90deg, transparent 0 6.7%, rgba(86,107,40,.66) 6.9% 7.25%, transparent 7.45% 13.4%),
    linear-gradient(180deg, rgba(179,166,83,.10) 0%, rgba(140,143,58,.48) 36%, rgba(82,93,31,.98) 100%);
  clip-path:polygon(0 24%,8% 31%,16% 24%,24% 33%,33% 25%,41% 34%,50% 25%,59% 35%,68% 26%,77% 34%,86% 24%,94% 31%,100% 24%,100% 100%,0 100%);
}
.orchard-hill-back{
  bottom:27% !important;
  height:25% !important;
  background:
    radial-gradient(ellipse at 50% 20%, rgba(255,228,162,.10), transparent 44%),
    linear-gradient(180deg, rgba(161,191,96,.10), rgba(87,112,44,.55) 42%, rgba(45,58,25,.96) 100%) !important;
  clip-path:polygon(0 78%,9% 68%,20% 74%,31% 63%,43% 70%,56% 58%,67% 66%,79% 57%,90% 64%,100% 56%,100% 100%,0 100%) !important;
}
.orchard-hill-mid{
  bottom:16% !important;
  height:28% !important;
  background:
    radial-gradient(ellipse at 50% 10%, rgba(255,226,156,.14), transparent 28%),
    linear-gradient(180deg, rgba(255,220,132,.12), rgba(111,144,53,.58) 30%, rgba(58,82,29,.98) 100%) !important;
  clip-path:polygon(0 82%,8% 71%,17% 77%,27% 64%,38% 73%,48% 61%,58% 70%,69% 58%,80% 68%,91% 59%,100% 66%,100% 100%,0 100%) !important;
}
.orchard-lake-glow{display:none !important}
.orchard-tree-line{
  bottom:15.8% !important;
  width:34% !important;
  height:42% !important;
  opacity:.98 !important;
  background:
    linear-gradient(180deg, transparent 0 54%, rgba(56,37,22,.96) 54% 71%, transparent 71% 100%),
    radial-gradient(circle at 16% 53%, rgba(64,89,37,.98) 0 12%, transparent 12.5%),
    radial-gradient(circle at 28% 40%, rgba(74,104,44,.97) 0 11%, transparent 11.5%),
    radial-gradient(circle at 42% 30%, rgba(87,118,51,.95) 0 10%, transparent 10.5%),
    radial-gradient(circle at 56% 41%, rgba(73,102,43,.97) 0 11%, transparent 11.5%),
    radial-gradient(circle at 70% 53%, rgba(58,84,35,.98) 0 12%, transparent 12.5%),
    radial-gradient(circle at 46% 58%, rgba(53,76,31,.98) 0 15%, transparent 15.5%),
    linear-gradient(180deg, rgba(255,232,186,.06), transparent 24%);
  clip-path:polygon(4% 78%,11% 60%,18% 43%,26% 32%,35% 24%,46% 18%,56% 24%,64% 36%,72% 48%,79% 63%,87% 77%,92% 100%,4% 100%);
  filter:drop-shadow(0 8px 7px rgba(0,0,0,.36)) blur(.25px) !important;
}
.orchard-tree-left{left:-7% !important}
.orchard-tree-right{right:-7% !important;transform:scaleX(-1) scale(1.08) !important}
.orchard-branch{
  top:-2% !important;
  width:46% !important;
  height:18% !important;
  opacity:.52 !important;
  background:
    linear-gradient(155deg, transparent 0 23%, rgba(90,57,31,.92) 23.5% 25.1%, transparent 25.6% 100%),
    radial-gradient(circle at 36% 58%, rgba(96,128,57,.70) 0 4%, transparent 4.5%),
    radial-gradient(circle at 43% 42%, rgba(96,128,57,.72) 0 4.6%, transparent 5.1%),
    radial-gradient(circle at 51% 65%, rgba(96,128,57,.72) 0 4.4%, transparent 4.9%),
    radial-gradient(circle at 60% 39%, rgba(88,120,52,.72) 0 4.7%, transparent 5.2%),
    radial-gradient(circle at 68% 62%, rgba(88,120,52,.72) 0 4.3%, transparent 4.8%),
    radial-gradient(circle at 76% 44%, rgba(96,128,57,.70) 0 4.2%, transparent 4.7%);
  filter:blur(.3px) drop-shadow(0 2px 4px rgba(0,0,0,.20)) !important;
}
.orchard-fruit,.orchard-room-fruit{display:none !important}
body.world-orchard .sunbeam{
  opacity:.28 !important;
  filter:blur(58px) !important;
  background:linear-gradient(180deg, rgba(255,248,224,.34), rgba(255,220,142,.19) 38%, rgba(255,175,79,.05) 78%, transparent) !important;
}
body.world-orchard .beam-one{left:-22vw !important; width:70vw !important; animation-duration:34s !important}
body.world-orchard .beam-two{left:10vw !important; width:48vw !important; opacity:.18 !important; animation-duration:41s !important}
body.world-orchard .vine{display:none !important}
body.world-orchard .back-shelf{
  background:linear-gradient(180deg,#c8884d 0%, #9d5d2d 40%, #743b1c 72%, #572b16 100%) !important;
  box-shadow:0 20px 42px rgba(0,0,0,.44), inset 0 2px rgba(255,234,189,.18), inset 0 -5px rgba(29,14,9,.48) !important;
}
body.world-orchard .pot,
body.world-orchard .jar,
body.world-orchard .books{
  filter:brightness(.72) saturate(.85) sepia(.16) !important;
  opacity:.88 !important;
}
.orchard-room-details{z-index:1 !important}
.orchard-room-details::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:1 !important;
  background:
    radial-gradient(ellipse at 72% 17%, rgba(255,214,124,.22), transparent 28%),
    radial-gradient(ellipse at 16% 34%, rgba(255,248,228,.05), transparent 16%),
    radial-gradient(ellipse at 18% 78%, rgba(88,49,22,.12), transparent 30%),
    linear-gradient(90deg, transparent 0 12%, rgba(255,232,186,.05) 12.2% 12.35%, transparent 12.55% 34%, rgba(255,232,186,.03) 34.2% 34.35%, transparent 34.6% 100%),
    repeating-linear-gradient(90deg, rgba(255,234,200,.008) 0 1px, transparent 1px 84px),
    repeating-linear-gradient(180deg, rgba(255,237,210,.013) 0 2px, transparent 2px 18px),
    linear-gradient(180deg, rgba(255,244,226,.05), transparent 14%, transparent 82%, rgba(23,10,7,.18));
  mix-blend-mode:screen;
}
.orchard-room-details::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.44 !important;
  background:
    radial-gradient(circle at 12% 84%, rgba(0,0,0,.22), transparent 18%),
    radial-gradient(circle at 84% 78%, rgba(0,0,0,.19), transparent 20%),
    linear-gradient(180deg, transparent 0 70%, rgba(0,0,0,.14));
}
.orchard-wall-wash{
  opacity:1 !important;
  background:
    radial-gradient(ellipse at 72% 18%, rgba(255,207,110,.24), transparent 28%),
    radial-gradient(ellipse at 18% 28%, rgba(255,248,224,.05), transparent 18%),
    radial-gradient(ellipse at 17% 76%, rgba(122,65,28,.12), transparent 30%),
    linear-gradient(180deg, transparent 0 76%, rgba(40,18,10,.08));
}
.orchard-wall-leafshadow{
  opacity:.72 !important;
  filter:blur(18px) !important;
  background:
    radial-gradient(circle at 14% 17%, rgba(69,83,42,.18) 0 3%, transparent 3.4%),
    radial-gradient(circle at 19% 24%, rgba(69,83,42,.16) 0 4%, transparent 4.5%),
    radial-gradient(circle at 24% 18%, rgba(69,83,42,.14) 0 3.4%, transparent 3.8%),
    radial-gradient(circle at 82% 16%, rgba(69,83,42,.13) 0 3%, transparent 3.5%),
    radial-gradient(circle at 87% 24%, rgba(69,83,42,.10) 0 4.2%, transparent 4.7%),
    linear-gradient(180deg, rgba(60,76,34,.10), transparent 28%, transparent 100%);
}
.orchard-room-beam{
  top:-1% !important;
  height:82% !important;
  opacity:1 !important;
  filter:blur(15px) !important;
  background:linear-gradient(180deg, rgba(255,248,227,.34), rgba(255,220,145,.15) 34%, rgba(255,181,82,.06) 62%, transparent) !important;
}
.orchard-room-beam.beam-a{left:-5% !important; width:36% !important; --orchard-beam-transform:rotate(10deg)}
.orchard-room-beam.beam-b{left:16% !important; width:28% !important; --orchard-beam-transform:rotate(4deg)}
.orchard-room-branch{
  top:-1% !important;
  width:26% !important;
  height:18% !important;
  opacity:.38 !important;
  filter:blur(.4px) !important;
}
.orchard-room-mote{
  width:7px !important;
  height:7px !important;
  opacity:.74 !important;
  box-shadow:0 0 18px rgba(255,217,130,.40) !important;
}
body.world-orchard .dust-field .dust-speck{
  background:radial-gradient(circle, rgba(255,244,210,.96), rgba(255,219,150,.46) 55%, transparent 80%) !important;
}
body.world-orchard .vignette{
  background:radial-gradient(circle at 50% 36%, transparent 29%, rgba(26,12,7,.20) 68%, rgba(10,4,3,.78) 120%) !important;
}
body.world-orchard.difficulty-master .orchard-room-beam{opacity:1 !important; filter:blur(16px) !important}
body.world-orchard.difficulty-master .orchard-window-mote,
body.world-orchard.difficulty-master .orchard-room-mote{opacity:.82 !important}

/* VALES v2.8.1.9 — Sunstone Orchard split outside/inside art pass */
body.world-orchard .window{
  background:#25160f !important;
}
body.world-orchard .window::before,
body.world-orchard .window::after{
  background:linear-gradient(90deg,#633a20,#85502d 48%,#59311c) !important;
}
/* Use painted raster art for the outside view instead of flat svg-like shapes */
body.world-orchard .orchard-window-scene{
  background:
    linear-gradient(180deg, rgba(255,247,232,.10), rgba(255,218,139,.04)),
    url('assets/scene/sunstone-orchard-window-paint.png') center center / cover no-repeat !important;
}
body.world-orchard .orchard-window-scene::before,
body.world-orchard .orchard-window-scene::after,
body.world-orchard .orchard-window-scene > :not(.orchard-window-mote){
  display:none !important;
}
body.world-orchard .orchard-window-mote{
  width:5px !important;
  height:5px !important;
  opacity:.78 !important;
  background:radial-gradient(circle, rgba(255,248,224,.98) 0%, rgba(255,217,124,.84) 45%, transparent 80%) !important;
  box-shadow:0 0 14px rgba(255,216,132,.40) !important;
}
/* Split the room treatment and give the interior more life */
body.world-orchard .atelier-scene{
  background:
    linear-gradient(180deg, rgba(255,246,228,.03), rgba(0,0,0,.08)),
    url('assets/scene/sunstone-orchard-room-paint.png') center center / cover no-repeat,
    linear-gradient(180deg,#8f572d 0%, #66361c 28%, #402012 62%, #24110b 100%) !important;
}
body.world-orchard .atelier-scene::before{
  background:
    radial-gradient(circle at 63% 15%, rgba(255,220,138,.20), transparent 23%),
    radial-gradient(circle at 16% 36%, rgba(255,251,238,.05), transparent 18%),
    repeating-linear-gradient(90deg, rgba(255,236,204,.014) 0 1px, transparent 1px 92px),
    repeating-linear-gradient(180deg, rgba(255,240,214,.015) 0 2px, transparent 2px 22px),
    linear-gradient(180deg, rgba(255,246,228,.04), transparent 18%, transparent 82%, rgba(8,4,2,.24)) !important;
  opacity:.90 !important;
}
body.world-orchard .atelier-scene::after{
  background:
    radial-gradient(circle at 72% 18%, rgba(255,208,108,.16), transparent 22%),
    radial-gradient(circle at 22% 80%, rgba(0,0,0,.16), transparent 24%),
    linear-gradient(180deg, transparent 0 76%, rgba(0,0,0,.18)) !important;
  opacity:.92 !important;
}
body.world-orchard .orchard-room-details{
  z-index:1 !important;
  mix-blend-mode:screen;
}
body.world-orchard .orchard-room-details::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 20% 18%, rgba(255,250,233,.08) 0 1.3%, transparent 1.7%),
    radial-gradient(circle at 31% 40%, rgba(255,224,145,.08) 0 1.4%, transparent 1.8%),
    radial-gradient(circle at 45% 62%, rgba(255,250,233,.07) 0 1%, transparent 1.4%),
    radial-gradient(circle at 67% 22%, rgba(255,224,145,.09) 0 1.5%, transparent 2%),
    radial-gradient(circle at 82% 50%, rgba(255,250,233,.07) 0 1.2%, transparent 1.6%),
    linear-gradient(102deg, rgba(255,247,223,.22) 0 8%, rgba(255,220,141,.10) 12%, transparent 26%),
    linear-gradient(102deg, transparent 0 13%, rgba(255,242,210,.11) 17%, transparent 32%) !important;
  opacity:.92 !important;
  animation:orchardAmbientDriftV2819 16s ease-in-out infinite;
}
body.world-orchard .orchard-room-details::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 13% 84%, rgba(255,213,116,.08), transparent 18%),
    radial-gradient(circle at 84% 74%, rgba(255,213,116,.08), transparent 20%),
    linear-gradient(180deg, transparent 0 68%, rgba(0,0,0,.14)) !important;
  opacity:.9 !important;
}
body.world-orchard .orchard-wall-wash{
  opacity:1 !important;
  background:
    radial-gradient(ellipse at 70% 16%, rgba(255,207,112,.24), transparent 28%),
    linear-gradient(90deg, transparent 0 60%, rgba(255,197,98,.04) 60.2% 61.2%, transparent 61.6%),
    linear-gradient(180deg, transparent 0 78%, rgba(45,22,12,.12)) !important;
  animation:orchardWallGlowV2819 11s ease-in-out infinite;
}
body.world-orchard .orchard-wall-leafshadow{
  opacity:.48 !important;
  filter:blur(24px) !important;
  background:
    radial-gradient(circle at 14% 16%, rgba(71,90,43,.15) 0 3.4%, transparent 3.8%),
    radial-gradient(circle at 21% 24%, rgba(71,90,43,.13) 0 4.4%, transparent 4.8%),
    radial-gradient(circle at 84% 16%, rgba(71,90,43,.11) 0 4%, transparent 4.5%),
    radial-gradient(circle at 90% 24%, rgba(71,90,43,.09) 0 4.7%, transparent 5.1%) !important;
}
body.world-orchard .orchard-room-beam{
  top:-2% !important;
  height:84% !important;
  opacity:1 !important;
  filter:blur(18px) !important;
  background:linear-gradient(180deg, rgba(255,248,226,.34), rgba(255,219,142,.17) 34%, rgba(255,176,78,.06) 62%, transparent) !important;
  animation:orchardRoomBeamMoveV2819 14s ease-in-out infinite !important;
}
body.world-orchard .orchard-room-beam.beam-a{left:-7% !important; width:42% !important; --orchard-beam-transform:rotate(9deg)}
body.world-orchard .orchard-room-beam.beam-b{left:12% !important; width:31% !important; --orchard-beam-transform:rotate(4deg)}
body.world-orchard .orchard-room-branch,
body.world-orchard .orchard-room-fruit{display:none !important}
body.world-orchard .orchard-room-mote{
  width:8px !important;
  height:8px !important;
  opacity:.84 !important;
  background:radial-gradient(circle, rgba(255,248,228,.96) 0%, rgba(255,216,128,.84) 50%, transparent 82%) !important;
  box-shadow:0 0 20px rgba(255,217,130,.42) !important;
  animation:orchardRoomMoteFloatV2819 10s ease-in-out infinite !important;
}
body.world-orchard .dust-field .dust-speck{
  opacity:.95 !important;
  background:radial-gradient(circle, rgba(255,245,214,.96), rgba(255,219,150,.52) 54%, transparent 80%) !important;
}
body.world-orchard .vignette{
  background:radial-gradient(circle at 50% 35%, transparent 28%, rgba(24,10,6,.16) 67%, rgba(9,4,3,.76) 120%) !important;
}
@keyframes orchardAmbientDriftV2819{
  0%,100%{transform:translate3d(0,0,0);opacity:.88}
  50%{transform:translate3d(8px,-6px,0);opacity:1}
}
@keyframes orchardWallGlowV2819{
  0%,100%{opacity:.92;transform:translateX(0)}
  50%{opacity:1;transform:translateX(6px)}
}
@keyframes orchardRoomBeamMoveV2819{
  0%,100%{opacity:.82;transform:translateX(0) var(--orchard-beam-transform)}
  50%{opacity:1;transform:translateX(12px) var(--orchard-beam-transform)}
}
@keyframes orchardRoomMoteFloatV2819{
  0%,100%{transform:translateY(0) scale(1);opacity:.68}
  50%{transform:translateY(-10px) scale(1.08);opacity:1}
}
body.world-orchard.difficulty-master .orchard-room-beam{opacity:1 !important; filter:blur(20px) !important}
body.world-orchard.difficulty-master .orchard-room-mote,
body.world-orchard.difficulty-master .orchard-window-mote{opacity:.9 !important}


/* VALES v2.8.2.0 — Chapter 5 finale ceremony. Localized sunlight + pollen; no full-screen hard flash. */
body.world-orchard.orchard-finale .orchard-window-scene{
  animation:orchardFinaleWindow 1.85s cubic-bezier(.2,.75,.2,1) both;
}
body.world-orchard.orchard-finale .orchard-room-details::before{
  animation:orchardFinaleLight 1.85s cubic-bezier(.18,.72,.2,1) both!important;
}
body.world-orchard.orchard-finale .orchard-wall-wash{
  animation:orchardFinaleWall 1.85s cubic-bezier(.18,.72,.2,1) both!important;
}
body.world-orchard.orchard-finale .orchard-room-beam.beam-a{
  animation:orchardFinaleBeamA 1.85s cubic-bezier(.18,.72,.2,1) both!important;
}
body.world-orchard.orchard-finale .orchard-room-beam.beam-b{
  animation:orchardFinaleBeamB 1.85s cubic-bezier(.18,.72,.2,1) both!important;
}
body.world-orchard.orchard-finale .orchard-room-mote{
  animation:orchardFinalePollen 1.65s cubic-bezier(.12,.68,.25,1) both!important;
  box-shadow:0 0 25px rgba(255,224,141,.72)!important;
}
body.world-orchard.orchard-finale .orchard-room-mote.room-mote-a{animation-delay:.02s!important}
body.world-orchard.orchard-finale .orchard-room-mote.room-mote-b{animation-delay:.09s!important}
body.world-orchard.orchard-finale .orchard-room-mote.room-mote-c{animation-delay:.16s!important}
body.world-orchard.orchard-finale .orchard-room-mote.room-mote-d{animation-delay:.23s!important}
@keyframes orchardFinaleWindow{
  0%{filter:brightness(1) saturate(1)}
  30%{filter:brightness(1.15) saturate(1.08)}
  62%{filter:brightness(1.08) saturate(1.05)}
  100%{filter:brightness(1) saturate(1)}
}
@keyframes orchardFinaleLight{
  0%{opacity:.82;transform:translate3d(0,0,0)}
  28%{opacity:1;transform:translate3d(12px,-8px,0)}
  68%{opacity:.96;transform:translate3d(6px,-4px,0)}
  100%{opacity:.82;transform:translate3d(0,0,0)}
}
@keyframes orchardFinaleWall{
  0%{filter:brightness(1)}
  32%{filter:brightness(1.24)}
  100%{filter:brightness(1)}
}
@keyframes orchardFinaleBeamA{
  0%{opacity:.55;transform:translateX(-10px) rotate(10deg) scaleX(.92)}
  32%{opacity:1;transform:translateX(18px) rotate(8deg) scaleX(1.14)}
  100%{opacity:.82;transform:translateX(0) rotate(10deg) scaleX(1)}
}
@keyframes orchardFinaleBeamB{
  0%{opacity:.45;transform:translateX(-6px) rotate(4deg) scaleX(.94)}
  38%{opacity:.92;transform:translateX(13px) rotate(2deg) scaleX(1.12)}
  100%{opacity:.72;transform:translateX(0) rotate(4deg) scaleX(1)}
}
@keyframes orchardFinalePollen{
  0%{opacity:.35;transform:translate3d(0,8px,0) scale(.82)}
  36%{opacity:1;transform:translate3d(8px,-28px,0) scale(1.18)}
  72%{opacity:.78;transform:translate3d(-3px,-52px,0) scale(1)}
  100%{opacity:.28;transform:translate3d(4px,-68px,0) scale(.84)}
}
@media(prefers-reduced-motion:reduce){
  body.world-orchard.orchard-finale .orchard-window-scene,
  body.world-orchard.orchard-finale .orchard-room-details::before,
  body.world-orchard.orchard-finale .orchard-wall-wash,
  body.world-orchard.orchard-finale .orchard-room-beam,
  body.world-orchard.orchard-finale .orchard-room-mote{animation:none!important}
}

/* VALES v2.8.2.1 — Pre-Chapter-6 stability + Journey readability pass */

/* 1) Challenge atmosphere belongs to the room/gameplay, never above interface chrome.
   The older selectors targeted .game-hud, which no longer exists in the live markup. */
#gameScreen .topbar,
#gameScreen .message,
#gameScreen .hud-panel{
  position:relative!important;
  z-index:12!important;
  isolation:isolate;
}
#gameScreen .topbar .round-button,
#gameScreen .topbar .gameplay-title,
#gameScreen .message,
#gameScreen .hud-panel,
#gameScreen .hud-panel button{
  filter:none!important;
}
body.difficulty-hard #gameScreen::before,
body.difficulty-master #gameScreen::before{
  pointer-events:none!important;
}

/* 3) Journey leaves: an unearned slot must read as an empty goal, not a green reward.
   The leaf SVG has authored green enamel fills, so color alone cannot desaturate it. */
#worldModal .journey-level-card .node-leaf{
  opacity:.20!important;
  filter:grayscale(1) saturate(0) brightness(.78)!important;
  transform:scale(.91);
  transition:opacity .16s ease,filter .16s ease,transform .16s ease;
}
#worldModal .journey-level-card .node-leaf svg{
  opacity:.58!important;
}
#worldModal .journey-level-card .node-leaf.earned{
  opacity:1!important;
  filter:none!important;
  transform:scale(1);
}
#worldModal .journey-level-card .node-leaf.earned svg{
  opacity:1!important;
  filter:drop-shadow(0 0 3px color-mix(in srgb,var(--chapter-accent) 48%,transparent));
}
#worldModal .journey-level-card:not(.completed) .level-leaves{
  opacity:.72;
}
#worldModal .journey-level-card.completed .level-leaves{
  opacity:1;
}

/* 4) Chapter emblems: small enamel seals with chapter-specific material motifs.
   They stay compact and legible at phone size rather than behaving like generic glyphs. */
#worldModal .chapter-emblem{
  position:relative;
  width:46px!important;
  height:46px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden;
  color:var(--chapter-accent)!important;
  border:1px solid color-mix(in srgb,var(--chapter-accent) 68%,rgba(255,246,218,.18))!important;
  background:
    radial-gradient(circle at 35% 28%,rgba(255,255,255,.16),transparent 23%),
    radial-gradient(circle at 50% 54%,color-mix(in srgb,var(--chapter-accent) 18%,transparent),transparent 60%),
    linear-gradient(155deg,rgba(42,31,21,.88),rgba(12,10,8,.72))!important;
  box-shadow:
    inset 0 0 0 4px rgba(255,255,255,.025),
    inset 0 -8px 16px rgba(0,0,0,.24),
    0 5px 14px rgba(0,0,0,.22),
    0 0 18px color-mix(in srgb,var(--chapter-accent) 22%,transparent)!important;
}
#worldModal .chapter-emblem::before{
  content:"";
  position:absolute;
  inset:5px;
  border-radius:50%;
  border:1px solid color-mix(in srgb,var(--chapter-accent) 24%,transparent);
  box-shadow:inset 0 1px rgba(255,255,255,.045);
}
#worldModal .chapter-emblem::after{
  content:"";
  position:absolute;
  left:9px;right:9px;top:7px;height:11px;
  border-radius:50%;
  background:linear-gradient(180deg,rgba(255,255,255,.12),transparent);
  filter:blur(1px);
}
#worldModal .chapter-emblem>i{
  position:relative;
  z-index:2;
  display:block;
  width:22px;
  height:22px;
  color:var(--chapter-accent);
  filter:drop-shadow(0 0 5px color-mix(in srgb,var(--chapter-accent) 42%,transparent));
}
/* Atelier — faceted alchemical spark */
#worldModal .emblem-atelier>i{
  background:linear-gradient(145deg,#fff5c8,var(--chapter-accent) 54%,color-mix(in srgb,var(--chapter-accent) 56%,#5f7434));
  clip-path:polygon(50% 0,61% 38%,100% 50%,61% 62%,50% 100%,39% 62%,0 50%,39% 38%);
}
#worldModal .emblem-atelier>i::after{content:"";position:absolute;inset:7px;background:#fff7d4;border-radius:50%;box-shadow:0 0 6px #fff0aa}
/* Grove — enamel sprout */
#worldModal .emblem-grove>i::before{
  content:"";position:absolute;left:10px;top:6px;width:3px;height:14px;border-radius:999px;
  background:linear-gradient(180deg,#d7efaa,var(--chapter-accent));transform:rotate(7deg);transform-origin:50% 100%;
}
#worldModal .emblem-grove>i::after{
  content:"";position:absolute;left:2px;top:3px;width:10px;height:7px;border-radius:100% 12% 100% 12%;
  background:linear-gradient(145deg,#d7efaa,var(--chapter-accent) 70%);transform:rotate(24deg);
  box-shadow:8px 6px 0 -1px color-mix(in srgb,var(--chapter-accent) 88%,#d7efaa);
}
/* Marsh — cut crystal */
#worldModal .emblem-marsh>i{
  width:20px;height:20px;
  background:linear-gradient(135deg,#d9ffff 0%,#8ee5e2 34%,var(--chapter-accent) 62%,#2b7f84 100%);
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
  box-shadow:inset -5px -5px 8px rgba(0,0,0,.18);
}
#worldModal .emblem-marsh>i::before{content:"";position:absolute;left:48%;top:2px;width:1px;height:16px;background:rgba(255,255,255,.48);transform:rotate(45deg)}
/* Conservatory — silver crescent */
#worldModal .emblem-conservatory>i{
  width:21px;height:21px;border-radius:50%;
  background:linear-gradient(145deg,#f3eaff,var(--chapter-accent));
}
#worldModal .emblem-conservatory>i::after{
  content:"";position:absolute;width:18px;height:18px;border-radius:50%;left:7px;top:-2px;
  background:#211927;box-shadow:-2px 1px 3px rgba(0,0,0,.22);
}
/* Orchard — sunstone disc and restrained ray field */
#worldModal .emblem-orchard>i::before{
  content:"";position:absolute;inset:1px;border-radius:50%;
  background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--chapter-accent) 78%,#ffe8a0) 0 5deg,transparent 5deg 40deg);
  opacity:.72;
}
#worldModal .emblem-orchard>i::after{
  content:"";position:absolute;inset:5px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#fff2bd 0 13%,#efbd67 35%,var(--chapter-accent) 68%,#9f632c 100%);
  box-shadow:0 0 7px color-mix(in srgb,var(--chapter-accent) 62%,transparent);
}
/* Cloudglass Vale — faceted snow crystal */
#worldModal .emblem-vale>i,
#worldModal .emblem-vale>i::before,
#worldModal .emblem-vale>i::after{
  width:3px;height:22px;border-radius:999px;
  background:linear-gradient(180deg,#e8fbff,var(--chapter-accent) 52%,#5f9eb8);
  position:absolute;left:9.5px;top:0;
}
#worldModal .emblem-vale>i::before{content:"";left:0;top:0;transform:rotate(60deg)}
#worldModal .emblem-vale>i::after{content:"";left:0;top:0;transform:rotate(-60deg)}
/* Sanctuary — keeper star seal */
#worldModal .emblem-sanctuary>i{
  background:linear-gradient(145deg,#fff4bd,var(--chapter-accent) 58%,#8c6e2f);
  clip-path:polygon(50% 0,61% 38%,100% 50%,61% 62%,50% 100%,39% 62%,0 50%,39% 38%);
}
#worldModal .emblem-sanctuary>i::before{content:"";position:absolute;inset:6px;border-radius:50%;background:#fff3c6;box-shadow:0 0 8px color-mix(in srgb,var(--chapter-accent) 65%,transparent)}
#worldModal .journey-chapter.is-open .chapter-emblem{
  box-shadow:
    inset 0 0 0 4px rgba(255,255,255,.035),
    inset 0 -8px 16px rgba(0,0,0,.22),
    0 5px 14px rgba(0,0,0,.20),
    0 0 24px color-mix(in srgb,var(--chapter-accent) 34%,transparent)!important;
}
@media(max-width:560px){
  #worldModal .chapter-emblem{width:40px!important;height:40px!important}
  #worldModal .chapter-emblem>i{transform:scale(.88)}
}
@media(prefers-reduced-motion:reduce){
  #worldModal .chapter-emblem{animation:none!important}
}


/* ================================================================
   VALES v2.9.0.3 — Global gameplay timing / completion performance
   The reward modal must remain compositor-cheap and fixed-duration even when
   the canvas has entered a reduced rendering budget.
   ================================================================ */
#winModal{
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  background:rgba(20,12,7,.78);
}
#winModal:not(.hidden) .modal-card{
  animation:valesWinModalIn 180ms cubic-bezier(.22,.8,.28,1) both!important;
  will-change:transform,opacity;
}
@keyframes valesWinModalIn{
  from{opacity:0;transform:translateY(7px) scale(.99)}
  to{opacity:1;transform:none}
}
.thermal-safe-mode #winModal:not(.hidden) .modal-card{
  animation-duration:180ms!important;
}


/* VALES v2.9.0.4 — Cloudglass Vale split environment pass */
body.world-vale .conservatory-window-scene,
body.world-vale .orchard-window-scene,
body.world-vale .grove-room-details,
body.world-vale .marsh-room-details,
body.world-vale .conservatory-room-details,
body.world-vale .orchard-room-details{display:none!important}
body.world-vale .window::before,
body.world-vale .window::after{
  z-index:7!important;
  background:linear-gradient(90deg,#6d7f94,#9bb2c8 46%,#67788c)!important;
  box-shadow:0 1px rgba(243,250,255,.18),4px 0 14px rgba(0,0,0,.20)!important;
}
body.world-vale .window .mountains{
  opacity:1!important;
  filter:none!important;
  transform:scale(1.02);
  transform-origin:center;
  background:
    linear-gradient(180deg,rgba(244,250,255,.18),rgba(219,239,255,.05) 42%,rgba(153,184,213,.08)),
    url('assets/scene/cloudglass-vale-window-paint.png') center center / cover no-repeat !important;
  animation:cloudglassWindowDriftV2904 24s ease-in-out infinite alternate!important;
}
body.world-vale .window .mountains::before{
  top:8%!important;
  height:84%!important;
  opacity:.76!important;
  filter:blur(10px)!important;
  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.24), transparent 20%),
    radial-gradient(circle at 78% 70%, rgba(213,236,255,.14), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.06), transparent 24%, transparent 74%, rgba(215,234,251,.08)) !important;
  animation:cloudglassWindowGlowV2904 18s ease-in-out infinite alternate!important;
}
body.world-vale .window .mountains::after{
  top:54%!important;
  height:32%!important;
  opacity:.62!important;
  filter:blur(2px)!important;
  background:
    linear-gradient(180deg, transparent, rgba(255,255,255,.16) 42%, transparent 58%),
    repeating-linear-gradient(182deg, transparent 0 8px, rgba(233,246,255,.12) 8px 9px, transparent 10px 22px) !important;
  animation:cloudglassWindowGleamV2904 12s ease-in-out infinite alternate!important;
}
body.world-vale .atelier-scene{
  background:
    linear-gradient(180deg, rgba(240,247,255,.07), rgba(19,33,54,.06)),
    url('assets/scene/cloudglass-vale-room-paint.png') center center / cover no-repeat,
    linear-gradient(180deg,#7e93aa 0%, #687c97 24%, #536681 54%, #34465f 100%) !important;
}
body.world-vale .atelier-scene::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 72% 14%, rgba(255,255,255,.17), transparent 21%),
    radial-gradient(circle at 18% 66%, rgba(196,226,255,.09), transparent 26%),
    linear-gradient(102deg, rgba(255,255,255,.15) 0 7%, rgba(203,229,255,.07) 10%, transparent 24%),
    repeating-linear-gradient(90deg, rgba(240,248,255,.03) 0 1px, transparent 1px 92px),
    linear-gradient(180deg, rgba(255,255,255,.04), transparent 26%, transparent 82%, rgba(0,0,0,.18)) !important;
  opacity:.92!important;
  animation:cloudglassRoomBreathV2904 14s ease-in-out infinite alternate;
}
body.world-vale .atelier-scene::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 80% 22%, rgba(211,235,255,.13), transparent 18%),
    radial-gradient(circle at 22% 82%, rgba(11,20,35,.18), transparent 23%),
    linear-gradient(180deg, transparent 0 72%, rgba(0,0,0,.15)) !important;
  opacity:.9!important;
}
body.world-vale .back-shelf,
body.world-vale .front-shelf{
  filter:saturate(.9) brightness(1.04) hue-rotate(10deg);
}
body.world-vale .dust-field .dust-speck{
  opacity:.96!important;
  background:radial-gradient(circle, rgba(246,252,255,.96), rgba(198,228,255,.52) 54%, transparent 82%) !important;
}
body.world-vale .sunbeam{
  opacity:.13!important;
  filter:blur(52px)!important;
  background:linear-gradient(180deg, rgba(249,252,255,.22), rgba(194,225,255,.08), transparent) !important;
}
body.world-vale .vignette{
  background:radial-gradient(circle at 50% 35%, transparent 26%, rgba(20,35,58,.18) 66%, rgba(8,16,28,.74) 120%) !important;
}
@keyframes cloudglassWindowDriftV2904{from{transform:scale(1.018) translateY(0)}to{transform:scale(1.03) translateY(-7px)}}
@keyframes cloudglassWindowGlowV2904{from{opacity:.56;transform:translateY(0)}to{opacity:.84;transform:translateY(-5px)}}
@keyframes cloudglassWindowGleamV2904{from{opacity:.38;transform:translateY(0)}to{opacity:.7;transform:translateY(-10px)}}
@keyframes cloudglassRoomBreathV2904{from{opacity:.84;transform:translateX(0)}to{opacity:.98;transform:translateX(4px)}}
@media(prefers-reduced-motion:reduce){
  body.world-vale .window .mountains,
  body.world-vale .window .mountains::before,
  body.world-vale .window .mountains::after,
  body.world-vale .atelier-scene::before{animation:none!important}
}

/* =========================================================
   VALES v2.9.0.9 — Ambient sprig art pass
   Replace the emergency radial-gradient leaves with authored SVG sprigs.
   Goal: keep the no-cut guarantee, but restore a refined, subtle art style.
   Cloudglass receives a dedicated frosted sprig instead of green foliage.
   ========================================================= */
.vine{
  overflow:visible!important;
  width:92px!important;
  background:url('assets/scene/ambient-vine-sprig.svg') center top / 84px 360px no-repeat!important;
  opacity:.56!important;
  filter:drop-shadow(0 8px 10px rgba(0,0,0,.16))!important;
}
.vine-left{left:19vw!important}
.vine-right{right:2vw!important;height:38vh!important;animation-delay:-3s!important}

body.world-vale .vine{
  width:94px!important;
  opacity:.48!important;
  filter:drop-shadow(0 0 10px rgba(210,240,255,.18))!important;
  background:url('assets/scene/ambient-frost-sprig.svg') center top / 82px 352px no-repeat!important;
  animation:cloudglassFrostDriftV2909 12s ease-in-out infinite alternate!important;
}
body.world-vale .vine-left{left:26vw!important;height:46vh!important}
body.world-vale .vine-right{right:1.5vw!important;height:36vh!important;animation-delay:-4.5s!important}
@keyframes cloudglassFrostDriftV2909{
  from{transform:translate3d(0,0,0) rotate(-1deg)}
  to{transform:translate3d(3px,7px,0) rotate(1.2deg)}
}
@media(prefers-reduced-motion:reduce){body.world-vale .vine{animation:none!important}}


/* =========================================================
   VALES v2.10.1.0 — Keeper's Sanctuary environment + identity
   Raster-first chapter art, isolated from all prior world decorations.
   ========================================================= */
body.world-sanctuary{
  --world-accent:#d9b8ff;
  --world-wash:rgba(92,60,126,.22);
}
body.world-sanctuary .conservatory-window-scene,
body.world-sanctuary .orchard-window-scene,
body.world-sanctuary .grove-room-details,
body.world-sanctuary .marsh-room-details,
body.world-sanctuary .conservatory-room-details,
body.world-sanctuary .orchard-room-details,
body.world-sanctuary .vine{display:none!important}

body.world-sanctuary .window{
  box-shadow:0 18px 45px rgba(10,5,20,.46),inset 0 0 0 1px rgba(232,206,166,.12)!important;
}
body.world-sanctuary .window::before,
body.world-sanctuary .window::after{
  z-index:7!important;
  background:linear-gradient(90deg,#332a3b,#6a536f 48%,#2e2637)!important;
  box-shadow:0 1px rgba(255,232,191,.14),4px 0 16px rgba(0,0,0,.34)!important;
}
body.world-sanctuary .window .mountains{
  opacity:1!important;
  filter:none!important;
  transform:scale(1.022);
  transform-origin:center;
  background:
    linear-gradient(180deg,rgba(255,220,194,.05),rgba(91,56,124,.04) 48%,rgba(31,18,45,.08)),
    url('assets/scene/keepers-sanctuary-window-paint.png') center center / cover no-repeat!important;
  animation:sanctuaryVistaBreathV21010 30s ease-in-out infinite alternate!important;
}
body.world-sanctuary .window .mountains::before{
  top:6%!important;height:88%!important;opacity:.62!important;filter:blur(12px)!important;
  background:
    radial-gradient(circle at 72% 28%,rgba(255,220,176,.22),transparent 22%),
    radial-gradient(circle at 28% 76%,rgba(190,146,236,.12),transparent 27%),
    linear-gradient(180deg,rgba(255,255,255,.035),transparent 30%,transparent 74%,rgba(90,55,122,.10))!important;
  animation:sanctuaryVistaGlowV21010 18s ease-in-out infinite alternate!important;
}
body.world-sanctuary .window .mountains::after{
  top:54%!important;height:34%!important;opacity:.54!important;filter:blur(3px)!important;
  background:
    radial-gradient(ellipse at 48% 70%,rgba(235,211,255,.16),transparent 42%),
    linear-gradient(180deg,transparent,rgba(255,231,207,.07) 44%,transparent 62%)!important;
  animation:sanctuaryMistDriftV21010 16s ease-in-out infinite alternate!important;
}

body.world-sanctuary .atelier-scene{
  background:
    linear-gradient(180deg,rgba(28,18,41,.22),rgba(9,7,16,.32)),
    url('assets/scene/keepers-sanctuary-room-paint.png') center center / cover no-repeat,
    linear-gradient(180deg,#463954 0%,#30283d 42%,#191622 100%)!important;
}
body.world-sanctuary .atelier-scene::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.88!important;
  background:
    radial-gradient(circle at 50% 32%,rgba(188,133,255,.13),transparent 20%),
    radial-gradient(circle at 13% 24%,rgba(255,198,117,.08),transparent 15%),
    radial-gradient(circle at 87% 27%,rgba(255,198,117,.07),transparent 15%),
    linear-gradient(108deg,rgba(230,196,255,.08) 0 5%,transparent 20%),
    linear-gradient(180deg,rgba(255,255,255,.025),transparent 32%,transparent 79%,rgba(0,0,0,.23))!important;
  animation:sanctuaryRoomPulseV21010 15s ease-in-out infinite alternate!important;
}
body.world-sanctuary .atelier-scene::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.78!important;
  background:
    radial-gradient(circle at 50% 46%,rgba(167,101,230,.10),transparent 25%),
    radial-gradient(circle at 76% 15%,rgba(255,214,157,.08),transparent 18%),
    linear-gradient(180deg,transparent 0 70%,rgba(7,5,12,.24))!important;
}
body.world-sanctuary .back-shelf,
body.world-sanctuary .front-shelf{
  background:linear-gradient(180deg,#76513b 0%,#4a3029 42%,#241924 100%)!important;
  box-shadow:0 11px 25px rgba(5,3,9,.50),inset 0 2px rgba(255,216,151,.16),0 -1px rgba(194,151,224,.11)!important;
}
body.world-sanctuary .pot,
body.world-sanctuary .jar,
body.world-sanctuary .books{filter:saturate(.72) hue-rotate(14deg) brightness(.78)!important}
body.world-sanctuary .dust-field .dust{
  background:radial-gradient(circle,rgba(242,221,255,.96),rgba(193,145,237,.50) 50%,transparent 78%)!important;
  box-shadow:0 0 8px rgba(207,164,247,.42)!important;
  opacity:.72!important;
}
body.world-sanctuary .sunbeam{
  opacity:.10!important;filter:blur(58px)!important;
  background:linear-gradient(180deg,rgba(245,219,255,.16),rgba(180,125,226,.07),transparent)!important;
}
body.world-sanctuary .vignette{
  background:radial-gradient(circle at 50% 38%,transparent 29%,rgba(29,18,43,.20) 67%,rgba(8,5,13,.78) 118%)!important;
}
body.world-sanctuary .gameplay-title p{color:#e2c6ff!important;text-shadow:0 0 16px rgba(171,108,223,.18)}
body.world-sanctuary .gameplay-title h2{color:#fff1d0!important;text-shadow:0 2px 12px rgba(16,8,24,.52)}

@keyframes sanctuaryVistaBreathV21010{from{transform:scale(1.022) translateY(0)}to{transform:scale(1.035) translateY(-8px)}}
@keyframes sanctuaryVistaGlowV21010{from{opacity:.48;transform:translate3d(0,0,0)}to{opacity:.72;transform:translate3d(-3px,-4px,0)}}
@keyframes sanctuaryMistDriftV21010{from{opacity:.36;transform:translate3d(-6px,4px,0)}to{opacity:.60;transform:translate3d(8px,-5px,0)}}
@keyframes sanctuaryRoomPulseV21010{from{opacity:.78}to{opacity:.94}}
@media(prefers-reduced-motion:reduce){
  body.world-sanctuary .window .mountains,
  body.world-sanctuary .window .mountains::before,
  body.world-sanctuary .window .mountains::after,
  body.world-sanctuary .atelier-scene::before{animation:none!important}
}


/* VALES v2.10.2.0 — scarce coin economy / explicit victory reward */
.win-coin-award{
  width:max-content;max-width:min(90%,320px);min-height:48px;padding:8px 15px 8px 10px!important;margin:6px auto 15px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;
  border:1px solid rgba(226,184,86,.34);border-radius:999px;
  background:linear-gradient(180deg,rgba(77,54,24,.48),rgba(36,25,16,.52));
  box-shadow:inset 0 1px rgba(255,247,213,.08),0 8px 22px rgba(0,0,0,.18);color:#f0cb72!important;
}
.win-coin-award.hidden{display:none!important}
.win-coin-award .painted-inline-coin{width:31px!important;height:31px!important;flex:0 0 auto}
.win-coin-copy{display:grid;grid-template-columns:auto;justify-items:start;line-height:1.05}
.win-coin-amount{font:600 1.05rem Georgia,serif;color:#f4d47f;font-variant-numeric:tabular-nums}
.win-coin-label{margin-top:3px;font:600 .58rem/1.1 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:rgba(244,225,178,.70)}
.win-coin-award.is-replay{opacity:.62;filter:saturate(.55)}
.win-coin-award.is-replay .painted-inline-coin{opacity:.58}


/* VALES v2.11.0.0 — monetization foundation / safe local ad simulator */
.monetization-modal{z-index:84;background:rgba(12,8,18,.78);backdrop-filter:blur(18px) saturate(1.05);-webkit-backdrop-filter:blur(18px) saturate(1.05)}
.monetization-card{width:min(100%,430px)!important;padding:30px 28px 24px!important;overflow:hidden;position:relative}
.monetization-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 2%,rgba(184,132,255,.12),transparent 36%),linear-gradient(135deg,transparent 55%,rgba(230,193,119,.035));}
.monetization-card>*{position:relative;z-index:1}
.monetization-tool-orb{width:68px;height:68px;margin:8px auto 10px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(237,202,139,.28);background:radial-gradient(circle at 45% 38%,rgba(255,244,213,.14),rgba(38,25,42,.84) 64%);box-shadow:0 14px 36px rgba(0,0,0,.3),0 0 32px rgba(149,104,220,.08)}
.monetization-tool-orb img{width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 5px 10px rgba(0,0,0,.32))}
.monetization-copy{max-width:330px;margin:6px auto 17px;color:rgba(244,230,201,.68);line-height:1.48;font-size:.84rem}
.monetization-balance-row{display:flex;align-items:center;justify-content:center;gap:9px;margin:0 auto 16px;flex-wrap:wrap}
.monetization-balance-row span{min-height:34px;display:flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;border:1px solid rgba(232,197,132,.16);background:rgba(13,10,16,.3);font-size:.72rem;color:rgba(246,230,200,.72)}
.monetization-balance-row img,.monetization-action img{width:18px;height:18px;object-fit:contain}
.monetization-actions{display:grid;gap:9px;margin:0 auto}
.monetization-action{width:100%;min-height:60px;border-radius:16px;border:1px solid rgba(235,199,133,.22);background:linear-gradient(155deg,rgba(66,44,28,.82),rgba(29,19,20,.92));color:#f5e5c6;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:11px 15px;text-align:left;cursor:pointer;box-shadow:inset 0 1px rgba(255,255,255,.055),0 8px 20px rgba(0,0,0,.18)}
.monetization-action strong{display:flex;align-items:center;gap:7px;font-size:.86rem;font-weight:650}.monetization-action small{font-size:.66rem;color:rgba(243,225,190,.56);text-align:right;line-height:1.25}
.monetization-action.ad-action{border-color:rgba(175,137,238,.34);background:linear-gradient(155deg,rgba(70,47,91,.84),rgba(31,22,40,.94))}.monetization-action.ad-action strong{color:#eadcff}
.monetization-action:disabled{opacity:.38;filter:saturate(.6);cursor:not-allowed;transform:none!important}
.monetization-status{min-height:18px;margin:12px 0 4px;font-size:.69rem;line-height:1.35;color:rgba(236,204,144,.78)}
.monetization-cancel{border:0;background:transparent;color:rgba(245,229,199,.55);padding:9px 16px;margin-top:1px;cursor:pointer;font-size:.7rem;letter-spacing:.025em}
.test-ad-modal{z-index:120;background:rgba(7,6,10,.92);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.test-ad-card{width:min(100%,410px)!important;background:linear-gradient(165deg,rgba(37,30,49,.995),rgba(17,15,22,.998))!important;border-color:rgba(182,145,239,.3)!important}
.test-ad-ribbon{margin:-10px auto 22px;width:max-content;max-width:100%;padding:7px 11px;border:1px solid rgba(198,168,244,.26);border-radius:999px;background:rgba(117,75,172,.13);color:rgba(225,210,247,.76);font-size:.56rem;letter-spacing:.12em;font-weight:700}
.test-ad-mark{width:74px;height:74px;margin:0 auto 15px;border-radius:22px;display:grid;place-items:center;border:1px solid rgba(226,196,137,.24);background:radial-gradient(circle at 35% 30%,rgba(198,151,255,.2),rgba(49,34,64,.78));box-shadow:0 18px 38px rgba(0,0,0,.34);font-family:Georgia,serif;font-size:.79rem;letter-spacing:.1em;color:#f0dcae}
.test-ad-copy{max-width:330px;margin:8px auto 18px;color:rgba(238,226,244,.62);font-size:.8rem;line-height:1.5}
.test-ad-progress{height:5px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.07);margin:0 auto 14px}.test-ad-progress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,rgba(180,137,236,.84),rgba(236,203,144,.92))}.test-ad-progress i.is-running{animation:valesTestAdLoad 1.15s linear forwards}
@keyframes valesTestAdLoad{to{width:100%}}
.test-ad-reward{min-height:20px;margin:0 auto 18px;color:rgba(237,207,150,.78);font-size:.72rem}
.test-ad-primary:disabled{opacity:.46;cursor:wait}.test-ad-cancel{display:block;width:100%;margin-top:7px}.test-ad-cancel.hidden{display:none}
body.ad-simulator-open .game-screen,body.ad-simulator-open .home-screen{filter:none}
@media(max-width:520px){.monetization-modal{padding:max(14px,env(safe-area-inset-top)) 12px max(14px,env(safe-area-inset-bottom))}.monetization-card{padding:25px 17px 18px!important}.monetization-action{min-height:58px}.monetization-copy{font-size:.79rem}}
@media(prefers-reduced-motion:reduce){.test-ad-progress i.is-running{animation-duration:.05s}}


/* =========================================================
   VALES v2.11.1.1 — Thermal Performance Follow-up
   The authored room is a sibling of #gameScreen. Pause that real environment too,
   on its exact current frame, whenever the player reaches deep idle or a modal
   obscures gameplay. No art, blur radius, opacity, geometry, or timing is swapped.
   ========================================================= */
body.perf-resting #gameScreen *,
body.perf-resting #gameScreen *::before,
body.perf-resting #gameScreen *::after,
body.perf-resting #homeScreen *,
body.perf-resting #homeScreen *::before,
body.perf-resting #homeScreen *::after,
body.perf-resting .atelier-scene,
body.perf-resting .atelier-scene *,
body.perf-resting .atelier-scene::before,
body.perf-resting .atelier-scene::after,
body.perf-resting .atelier-scene *::before,
body.perf-resting .atelier-scene *::after,
body.ui-modal-open #gameScreen *,
body.ui-modal-open #gameScreen *::before,
body.ui-modal-open #gameScreen *::after,
body.ui-modal-open .atelier-scene,
body.ui-modal-open .atelier-scene *,
body.ui-modal-open .atelier-scene::before,
body.ui-modal-open .atelier-scene::after,
body.ui-modal-open .atelier-scene *::before,
body.ui-modal-open .atelier-scene *::after{
  animation-play-state:paused!important;
}

/* Full-screen CSS compositing now actually rests because .atelier-scene is included.
   Static mobile bottle boards also stop scheduling Canvas frames entirely after the
   same 4.2-second idle threshold; pointer/keyboard input wakes them immediately. */



/* =========================================================
   VALES v2.11.2.0 — Larger Vessel / Shelf Composition Pass
   The room shelf remains as the geometry anchor, but the gameplay canvas now owns
   the visible shelf while a level is active. This prevents the decorative shelf
   and its props from showing through enlarged translucent bottles.
   ========================================================= */
body.gameplay-active .back-shelf.shelf-a{
  opacity:0!important;
  pointer-events:none!important;
}
