/* adventure/style.9e7800c78d52.css */
#adventureChoice{position:absolute;z-index:7;left:12px;right:12px;top:220px;max-width:400px;margin:auto;background:#fff9eaf5;color:#28595b;border-radius:20px;padding:14px;box-shadow:0 4px 18px #174e5825;font:600 14px Nunito,sans-serif}
#adventureChoice strong{font-size:18px}#adventureChoice p{margin:5px 0 10px;line-height:1.35}#adventureChoice div{display:flex;gap:8px}#adventureChoice button{flex:1;border:0;border-radius:14px;background:#28595b;color:#fff9ea;min-height:44px;padding:8px;font:800 14px Nunito,sans-serif}#adventureChoice [data-skip]{background:#e1ede5;color:#28595b}
#adventureNote{position:absolute;z-index:6;left:12px;top:220px;max-width:calc(100% - 24px);border-radius:12px;padding:7px 10px;background:#fff9eae8;color:#28595b;font:800 12px Nunito,sans-serif;pointer-events:none}
#adventureJump{position:absolute;z-index:7;right:20px;bottom:calc(22px + env(safe-area-inset-bottom));width:150px;height:78px;background:#d96948;color:#fff9ea;border:0;border-radius:25px;box-shadow:0 6px 0 #ad4b36;font:800 24px Nunito,sans-serif;touch-action:manipulation}
.fetch-playing .lane-controls,.fetch-playing .zoom-wrap,.fetch-playing #callout,.fetch-playing #retentionMoment{visibility:hidden}.game-paused #adventureNote{visibility:hidden}
@media(min-width:700px){#adventureChoice,#adventureNote{top:174px}}
@media(max-height:600px){#adventureChoice{top:155px;font-size:12px;padding:10px}#adventureChoice p{margin-block:4px}#adventureNote{top:160px}}

body:has(#adventureNote:not([hidden])) #callout{visibility:hidden}

/* A completion signal, deliberately distinct from the Game Over card. */
#routeReturn{position:absolute;z-index:7;left:50%;top:45%;transform:translate(-50%,-50%);width:min(300px,calc(100% - 40px));box-sizing:border-box;padding:12px 8px;color:#205445;text-align:center;pointer-events:none;animation:route-recap-in .2s ease-out}
.route-complete-check{display:grid;place-items:center;width:86px;height:86px;margin:0 auto 12px;border-radius:50%;background:#278153;color:white;font:900 58px/1 Nunito,sans-serif;box-shadow:0 0 0 9px #27815318}
#routeReturn small{display:block;font:900 27px/1.15 Nunito,sans-serif;color:#246e49}
#routeReturn strong{display:block;font:700 16px/1.3 Nunito,sans-serif;margin:5px 0 12px}
.route-rewards{display:flex;justify-content:center;gap:18px;font:800 17px Nunito,sans-serif}.route-rewards [data-points],.route-rewards [data-xp]{color:#28595b}
#routeReturn p{font:800 18px/1.3 Nunito,sans-serif;margin:14px 0 0}
.route-countdown{display:none}
.route-return .lane-controls,.route-return #retentionMoment,.route-return #callout{visibility:hidden}
@keyframes route-recap-in{from{opacity:0;transform:translate(-50%,-42%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@media(prefers-reduced-motion:reduce){#routeReturn{animation:none}}

#bonusBird{position:absolute;z-index:6;transform:translate(-50%,-50%);width:92px;height:76px;background:none;border:0;padding:0;color:#28595b;touch-action:manipulation}
#bonusBird canvas{position:static;display:block;width:92px;height:58px;pointer-events:none}
#bonusBird span{display:block;white-space:nowrap;font:800 10px Nunito,sans-serif;background:#fff9eae8;border-radius:8px;padding:2px 6px}
#adventureJump{touch-action:none}

/* Gameplay gestures must never open Safari/Android text-selection callouts. */
body.playing #game,body.playing #game *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
#adventureJump:active{transform:translateY(3px);box-shadow:0 3px 0 #ad4b36;background:#c85c3d}

/* Fade the cleared route underneath the HUD before its recap appears. */
#routeFade{position:absolute;inset:0;z-index:2;background:#fff9ea;pointer-events:none}
#routeFade[hidden]{display:none}

/* A protected 1.6-second route entrance, distinct from the return fade. */
#routePortal{position:absolute;inset:0;z-index:3;overflow:hidden;pointer-events:none;--portal-rgb:26,189,215;--portal-dark:#087b9c;--portal-x:50%;--portal-y:66%;--wash:0}
#routePortal[data-route="promenade"]{--portal-rgb:255,187,62;--portal-dark:#c27a17}
#routePortal:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at var(--portal-x) var(--portal-y),#fff 0%,rgba(var(--portal-rgb),.92) 55%,var(--portal-dark) 100%);opacity:var(--wash)}
#routePortal[hidden]{display:none}
#routePortal .portal-ring{position:absolute;left:var(--portal-x);top:var(--portal-y);width:52vmin;height:52vmin;border:7px solid var(--portal-dark);border-radius:50%;box-shadow:0 0 0 3px #fff,0 0 28px 12px rgba(var(--portal-rgb),.8),inset 0 0 22px #fff;will-change:transform}
#routePortal .portal-ring-inner{width:32vmin;height:32vmin;border:5px dashed #fff;box-shadow:0 0 0 2px var(--portal-dark),0 0 20px 8px rgba(var(--portal-rgb),.8)}
#routePortal i{position:absolute;left:var(--portal-x);top:var(--portal-y);background:#fff;border:1px solid var(--portal-dark);box-shadow:0 0 12px #fff;border-radius:2px;will-change:transform}
@media(prefers-reduced-motion:reduce){#routePortal .portal-ring,#routePortal i{display:none}}
#routePortal[data-route="beach"]{--portal-rgb:255,219,143;--portal-dark:#c98a2c}
#routePortal[data-route="bonus"]{--portal-rgb:195,155,250;--portal-dark:#8054bd}
/* A bonus discovery uses the normal unlock toast; avoid covering the chase hint. */
.fetch-playing #retentionMoment[data-kind=outfit]{visibility:visible}
.fetch-playing:has(#retentionMoment[data-kind=outfit]:not([hidden])) #adventureNote{visibility:hidden}

/* Five-second route cue replaces the Zoomies label without growing the HUD. */
.route-choice #zoomLabel,.route-choice #multiplier{visibility:hidden}
.hud-top #adventureFork{position:absolute;inset:1px 7px 15px;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:1fr 1fr;column-gap:8px;padding:1px 9px;border:0;border-radius:9px;overflow:hidden;isolation:isolate;background:#123eab;color:#fff;text-align:left;pointer-events:auto;touch-action:manipulation;font-family:Nunito,sans-serif;animation:fork-ocean 1s ease-in-out infinite}
#adventureFork[hidden]{display:none}
#adventureFork strong{font-size:14px;line-height:16px;white-space:nowrap;color:#fff}
#adventureFork span{grid-row:2;font-size:10px;line-height:12px;font-weight:800}
#adventureFork b{grid-column:2;grid-row:1/3;align-self:center;font-size:18px;line-height:1;font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 1px 2px #102e6260}
#adventureFork:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 25%,#ffffff30 48%,transparent 72%);transform:translateX(100%);animation:fork-sweep-left 1s ease-in-out infinite}
.hud-top #adventureFork[data-side="right"]{background:#6418a0;color:#fff;animation:fork-promenade 1s ease-in-out infinite}
#adventureFork[data-side="right"]:before{background:repeating-linear-gradient(115deg,transparent 0 22px,#ffffff25 23px 28px,transparent 29px 50px);animation:fork-sweep-right 1s ease-in-out infinite}
@keyframes fork-ocean{0%,100%{background:#123eab}50%{background:#0962ce;box-shadow:inset 0 0 14px #72d9ff65}}
@keyframes fork-promenade{0%,100%{background:#6418a0}50%{background:#9631b7;box-shadow:inset 0 0 14px #f1a5ff65}}
@keyframes fork-sweep-left{to{transform:translateX(-100%)}}
@keyframes fork-sweep-right{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@media(prefers-reduced-motion:reduce){.hud-top #adventureFork,#adventureFork:before{animation:none}#adventureFork:before{display:none}}
#routePortal .portal-title{position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);width:90%;text-align:center;color:white;font:900 clamp(26px,6vw,44px)/1.2 Nunito,sans-serif;text-shadow:0 2px 3px #174d54,2px 0 #174d54,-2px 0 #174d54;z-index:2}

/* Keep both readouts visible; Zoomies smoothly makes room on the route's side. */
.hud-top .zoom-wrap{position:relative}
.zoom-progress{width:100%;margin-left:0;transition:width .35s ease,margin-left .35s ease}
.hud-top .zoom-wrap:has(#adventureFork:not([hidden])) .zoom-progress{width:43%}
.hud-top .zoom-wrap:has(#adventureFork[data-side="left"]:not([hidden])) .zoom-progress{margin-left:57%}
.hud-top .zoom-wrap:has(#adventureFork:not([hidden])) .zoom-label{font-size:11px;letter-spacing:0;gap:3px}
.hud-top #adventureFork{position:absolute;inset:5px 7px 5px auto;width:51%;min-width:0;padding:2px 7px;column-gap:4px;animation:fork-ocean 1s ease-in-out infinite,route-slide-right .35s ease both}
.hud-top #adventureFork[data-side="left"]{left:7px;right:auto;animation:fork-ocean 1s ease-in-out infinite,route-slide-left .35s ease both}
.hud-top #adventureFork[data-side="right"]{animation:fork-promenade 1s ease-in-out infinite,route-slide-right .35s ease both}
.hud-top #adventureFork strong{font-size:12px;line-height:14px}
.hud-top #adventureFork span{font-size:9px;line-height:11px}
.hud-top #adventureFork b{font-size:15px}
@keyframes route-slide-left{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}
@keyframes route-slide-right{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.zoom-progress{transition:none}.hud-top #adventureFork{animation:none!important}}

/* style.css */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/dm-sans-400.ttf") format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/dm-sans-500.ttf") format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/dm-sans-600.ttf") format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/dm-sans-700.ttf") format('truetype');
}
@font-face {
  font-family: 'Fredoka';
  font-style: normal;
  font-weight: 500;
  font-stretch: normal;
  font-display: swap;
  src: url("/fonts/fredoka-500.ttf") format('truetype');
}
@font-face {
  font-family: 'Fredoka';
  font-style: normal;
  font-weight: 600;
  font-stretch: normal;
  font-display: swap;
  src: url("/fonts/fredoka-600.ttf") format('truetype');
}
@font-face {
  font-family: 'Fredoka';
  font-style: normal;
  font-weight: 700;
  font-stretch: normal;
  font-display: swap;
  src: url("/fonts/fredoka-700.ttf") format('truetype');
}

:root{font-family:'DM Sans',sans-serif;color:#254c4d;background:#d8f1ec;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #143f52;outline-offset:5px}[hidden]{display:none!important}#game{height:100svh;min-height:530px;position:relative;overflow:hidden;isolation:isolate}canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}header{position:absolute;top:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:28px 42px;z-index:5;pointer-events:none}.wordmark{font-family:Fredoka,sans-serif;font-weight:600;font-size:25px;letter-spacing:-.7px;text-decoration:none;color:#244f4f;pointer-events:auto}.wordmark span{display:block;font:700 9px 'DM Sans',sans-serif;letter-spacing:1.7px;margin-top:5px}.icon{border:1px solid #28575a30;background:#fff9;backdrop-filter:blur(8px);border-radius:30px;padding:11px 16px;color:#254c4d;pointer-events:auto;font-size:13px;font-weight:700}.screen{position:absolute;inset:0;background:linear-gradient(90deg,#f9edcfb3 0%,#f9edcf40 45%,transparent 68%),url("/intro-lexi.webp") center/cover no-repeat}.intro-copy{position:absolute;left:8%;top:27%;max-width:650px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px}h1{font-family:Fredoka,sans-serif;font-size:clamp(70px,8.8vw,142px);font-weight:600;letter-spacing:-6px;line-height:1;margin:18px 0 23px;color:#1a696c;text-shadow:0 3px #fff5}h1 span{color:#ed7757;display:inline-block;transform:rotate(9deg)}.tagline{font-size:clamp(17px,1.7vw,24px);line-height:1.55;margin-bottom:30px}.primary{border:0;border-radius:100px;background:#db6749;color:white;padding:18px 30px;min-width:210px;box-shadow:0 5px 0 #ac4e39,0 10px 25px #914d2822;font-size:19px;font-weight:700;transition:transform .15s,filter .15s}.primary:hover{filter:brightness(1.06);transform:translateY(-2px)}.primary:active{transform:translateY(3px);box-shadow:0 2px 0 #ac4e39}.primary span{margin-left:28px}.best-intro{font-size:11px;letter-spacing:1.3px;margin:24px 0}.best-intro strong{font-size:16px;margin-left:10px}.instructions{position:absolute;bottom:26px;left:5%;right:5%;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:13px}.instructions b{background:#fff8;border:1px solid #36534b25;border-radius:6px;padding:5px 8px}.instructions i{font-style:normal;padding:0 10px}.stats{position:absolute;left:50%;top:28px;transform:translateX(-50%);display:flex;gap:30px;align-items:center;background:#fffdf0e8;border:1px solid #fff;border-radius:20px;padding:15px 24px;box-shadow:0 6px 22px #256c6d14}.stats small,.results small{display:block;font-size:10px;font-weight:700;letter-spacing:1.5px;margin-bottom:3px}.stats strong{font-family:Fredoka,sans-serif;font-size:27px;font-weight:500}#hearts{white-space:nowrap;color:#db6749;font-size:26px;letter-spacing:3px}.zoom-wrap{position:absolute;bottom:35px;left:50%;width:290px;transform:translateX(-50%)}.zoom-label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;font-weight:800;margin-bottom:9px}.meter{height:12px;border-radius:12px;background:#ffffffa8;padding:3px;box-shadow:0 1px 3px #0001}#zoomFill{height:100%;border-radius:10px;background:#dfa62e;width:0;transition:width .12s}.zooming .meter{box-shadow:0 0 25px #ffbb58}.zooming #zoomFill{background:#e6b63e}.zooming #multiplier{color:#287b91}#callout{position:absolute;top:150px;left:0;right:0;text-align:center;font-family:Fredoka,sans-serif;font-size:28px;color:#fff;text-shadow:0 2px 5px #236668;pointer-events:none}.run-hint{position:absolute;bottom:13px;left:0;right:0;text-align:center;letter-spacing:2px;font-size:8px;opacity:.6}.lane-controls{position:absolute;bottom:32px;left:7%;right:7%;display:flex;justify-content:space-between;pointer-events:none}.lane-controls button{pointer-events:auto;background:#fff7;border:1px solid #fff9;border-radius:50%;height:55px;width:55px;color:#38615b;font-size:25px;touch-action:manipulation}.modal{position:absolute;inset:0;display:grid;place-items:center;background:#254c4d30;backdrop-filter:blur(4px);z-index:10}.card{text-align:center;background:#fff;border:2px solid #fff;border-radius:28px;padding:40px;box-shadow:0 25px 80px #23454430;max-width:440px;width:90%}.card h2{font-family:Fredoka,sans-serif;font-size:58px;font-weight:500;color:#206c6d;margin:12px 0}.card p{font-size:15px;line-height:1.6}.results{display:flex;justify-content:center;gap:42px;margin:26px 0}.results strong{font-family:Fredoka,sans-serif;font-size:34px;color:#287b91}.card .small{font-size:11px;margin:24px 0 0}body.playing .wordmark span{display:none}@media(max-width:760px){header{padding:20px}.wordmark{font-size:21px}.wordmark span{font-size:7px}.screen{background-position:62% center;background-image:linear-gradient(0deg,#faeccfe8,transparent 78%),url("/intro-lexi.webp")}.intro-copy{left:7%;top:auto;bottom:125px}.eyebrow{font-size:9px;letter-spacing:1.1px}h1{font-size:77px;letter-spacing:-3px;margin:12px 0}.tagline{font-size:17px;line-height:1.45;margin:14px 0 21px}.primary{font-size:17px;padding:16px 26px}.instructions{bottom:23px;flex-direction:column;align-items:flex-start;left:7%;font-size:11px;gap:17px}.best-intro{margin:21px 0 0}.stats{top:78px;padding:10px 15px;gap:21px;white-space:nowrap}.stats strong{font-size:24px}#hearts{font-size:21px;letter-spacing:0}#callout{top:158px;font-size:23px}.zoom-wrap{width:205px;bottom:38px}.lane-controls{left:5%;right:5%}.card{padding:30px 22px}.screen{background-position:65% 35%}.intro-copy{background:radial-gradient(ellipse,#faeccf70,transparent);}}@media(max-height:650px) and (min-width:761px){.intro-copy{top:23%}h1{font-size:85px}.tagline{font-size:18px;margin-bottom:18px}}
/* Keep the illustrated beach readable behind the in-game controls. */
body.playing header .wordmark{color:#fff9ec;text-shadow:0 2px 8px #244d50aa}body.playing #sound{background:#fff6e8df}.primary:disabled{cursor:wait;opacity:.7}body.playing #callout{top:145px;font-size:clamp(22px,2.5vw,32px);text-shadow:0 2px 8px #234f51,0 0 20px #234f5177}.zoom-label{color:#234746;text-shadow:0 1px 5px #fff}.lane-controls button{background:#fff7e9d9;box-shadow:0 4px 14px #67462924}.zoom-wrap{background:#fff5dfcc;border:1px solid #fff6;padding:12px 16px;border-radius:18px;bottom:28px;width:320px}.run-hint{bottom:8px}@media(max-width:760px){.zoom-wrap{width:215px;padding:10px 12px;bottom:29px}body.playing #callout{top:151px}.zoom-label{font-size:8px}}

/* Intro: one title, one tagline, one action, then useful instructions. */
body:not(.playing) .wordmark { visibility: hidden; }
.intro-copy { top: 29%; max-width: 650px; }
.intro-copy h1 { margin-top: 0; }
.instructions { position: static; display: block; margin: 26px 0 0; font-size: 14px; line-height: 1.6; }
.instructions p { margin: 0 0 8px; }
.instructions b { display: inline-block; padding: 1px 7px; font-size: 14px; }
.touch-controls { display: none; }
.best-intro { font-size: 14px; letter-spacing: 0; margin: 20px 0 0; }
.best-intro strong { font-size: 16px; }
.icon { font-size: 14px; }
.stats small, .results small { font-size: 12px; letter-spacing: .8px; }
.zoom-label { font-size: 14px; letter-spacing: 0; }
.eyebrow { font-size: 13px; letter-spacing: .8px; }
@media (pointer: coarse) { .desktop-controls { display: none; } .touch-controls { display: block; } }
@media (max-width:760px) {
  .intro-copy { top: auto; bottom: 35px; right: 7%; }
  .intro-copy h1 { font-size: clamp(60px, 15vw, 77px); }
  .instructions { font-size: 14px; margin-top: 23px; }
  .zoom-label { font-size: 12px; }
  .eyebrow { font-size: 12px; }
}
@media (max-height:650px) and (min-width:761px) {
  .intro-copy { top: 20%; }
  .instructions { margin-top: 20px; }
}
/* A single, skimmable pre-run guide using the actual game artwork. */
#tutorial{border:1px solid #fff;border-radius:26px;background:#fff9ea;color:#254c4d;width:min(600px,calc(100% - 28px));max-height:calc(100svh - 28px);padding:0;box-shadow:0 24px 90px #173f4b55;overflow:auto}
#tutorial::backdrop{background:#21494c55;backdrop-filter:blur(5px)}
.tutorial-content{padding:24px 28px;text-align:center}
#tutorial h2{font:500 32px Fredoka,sans-serif;margin:0 0 18px}
.guide-group{margin:0 0 15px;text-align:left}
.guide-group h3{font-size:16px;margin:0 0 5px;display:flex;justify-content:space-between;color:#256b57}
.guide-group h3 span{font-size:14px;font-weight:500}.danger h3{color:#aa4938}
.guide-items{display:grid;gap:6px;grid-template-columns:repeat(4,1fr)}
.guide-items figure{margin:0;text-align:center;min-width:0}
.guide-item{position:static;display:block;width:64px;height:64px;margin:auto;touch-action:auto}
.guide-items figcaption{font-size:14px;line-height:1.2}
.bad-items{grid-template-columns:repeat(7,1fr)}.bad-items .guide-item{width:58px;height:58px}
.guide-zoom{padding:13px 16px;background:#f6e7c6;border-radius:14px;text-align:left}
.guide-zoom strong{font-size:16px}.guide-zoom p{font-size:14px;line-height:1.45;margin:7px 0 0}
.guide-meter{height:13px;margin:9px 38px 0 0;background:#fff9;border-radius:10px;position:relative}
.guide-meter span{display:block;width:100%;height:100%;background:linear-gradient(90deg,#efbd57,#db6749);border-radius:10px}
.guide-meter b{position:absolute;right:-34px;top:-3px;color:#aa4938;font-size:16px}
.guide-controls{font-size:14px;margin:17px 0}.tutorial-content .primary{font-size:17px;padding:14px 26px}
@media(max-width:560px){.tutorial-content{padding:21px 18px}#tutorial h2{font-size:28px;margin-bottom:16px}.bad-items{grid-template-columns:repeat(4,1fr);row-gap:8px}.guide-item{width:55px;height:55px}.bad-items .guide-item{width:49px;height:49px}.guide-items figcaption{font-size:13px}.guide-group{margin-bottom:15px}.guide-zoom{padding:12px}.guide-zoom strong{font-size:15px}}
/* Shared header alignment keeps the profile and sound control on one row. */
header{gap:12px}
body:not(.playing) .wordmark{display:none}
body.playing .instagram-profile{display:none}
.instagram-profile{display:inline-flex;align-items:center;gap:9px;height:48px;padding:4px 12px 4px 4px;border-radius:30px;background:#fff9;color:#28585b;text-decoration:none;font-size:14px;pointer-events:auto;transition:background .15s}
.instagram-profile:hover{background:#fffd}
.instagram-profile svg{opacity:.7;flex:none}
.instagram-copy{display:flex;flex-direction:column;gap:1px;line-height:1.15}
.instagram-copy strong{color:#aa4e38;font-size:14px;font-weight:700}
.instagram-copy>span{font-size:14px}
.instagram-avatar{position:relative;display:block;width:36px;height:36px;overflow:hidden;border-radius:50%;flex:none}
.instagram-avatar img{position:absolute;width:128.75%;height:auto;max-width:none;left:-12.92%;top:-5.83%}
#sound{height:48px;white-space:nowrap}
@media(max-width:760px){.instagram-profile{gap:8px;padding-right:10px}}
/* The entire top HUD follows one layout; only buttons receive pointer input. */
.hud-top{position:absolute;top:28px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;gap:7px;width:max-content;max-width:calc(100% - 32px);pointer-events:none}
.hud-top .stats{position:static;transform:none;width:100%;padding:12px 20px;gap:25px}
.hud-top .zoom-wrap{position:static;transform:none;width:100%;bottom:auto;padding:9px 16px;border-radius:13px;pointer-events:none}
.hud-top .zoom-label{margin-bottom:6px;font-size:13px}
.hud-top .meter{height:10px}
.hud-top button{pointer-events:auto}
body.playing #callout{top:184px;pointer-events:none}
@media(max-width:960px){.hud-top{top:84px}body.playing #callout{top:231px}}
@media(max-width:760px){.hud-top .stats{padding:10px 14px;gap:18px}.hud-top .zoom-wrap{padding:8px 14px}.hud-top .zoom-label{font-size:12px}body.playing #callout{top:225px;font-size:21px}}
@media(max-width:370px){.hud-top .stats{gap:11px;padding:10px}.stats strong{font-size:21px}.stats small{font-size:11px}}

#rotate-screen{position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;border:0;padding:20px;background:#eaf1de;color:#28585b;overflow:auto}
#rotate-screen[open]{display:grid;place-items:center}
#rotate-screen::backdrop{background:#eaf1de}
.rotate-content{text-align:center;max-width:430px}
.rotate-content svg{color:#d16a4c}
.rotate-content h2{font:500 34px Fredoka,sans-serif;margin:10px 0}
.rotate-content p{font-size:17px;line-height:1.5;margin:6px 0}
.rotate-content .rotate-note{font-size:14px;color:#50736c}
@media(max-height:350px){.rotate-content svg{height:46px}.rotate-content h2{font-size:28px;margin:6px 0}}

#outfitPortrait{position:static;inset:auto;display:block;width:145px;height:133px;margin:-8px auto -3px;}
#finalLook{margin:0 0 6px;font-weight:600;color:#8a4c7b;font-size:14px;}

#over{overflow:auto;padding:16px 0;}
@media(max-height:700px){#over .card{padding:18px 22px;}#over .card h2{font-size:40px;margin:5px 0;}#over .results{margin:12px 0;}#overReason{margin:5px 0;}}
/* Broad thumb targets, with open space between and above for swipes. */
.lane-controls{left:16px;right:16px;bottom:max(14px,env(safe-area-inset-bottom));}
.lane-controls button{width:clamp(104px,29vw,150px);height:96px;border-radius:26px;font-size:36px;user-select:none;transition:background .1s,transform .1s;}
.lane-controls button:active{background:#fff3d9;transform:scale(.97);}

.header-controls{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0;}
.header-controls .icon{min-height:44px;}
body.playing #pause{background:#fff6e8df;}
@media(max-width:370px){.header-controls{gap:5px}.header-controls .icon{padding:10px;font-size:12px;}}
/* Keep the HUD footprint fixed as score digits and heart counts change. */
.hud-top{width:360px;}
.hud-top .stats{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 94px;gap:12px;width:100%;}
.hud-top .stats>div{min-width:0;}
.stats strong,.results strong{font-variant-numeric:tabular-nums;letter-spacing:0;}
.stats strong{display:block;height:32px;line-height:32px;font-size:24px;white-space:nowrap;}
#hearts{width:94px;font-size:23px;letter-spacing:0;}
@media(max-width:370px){.hud-top .stats{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 78px;gap:8px;}#hearts{width:78px;font-size:20px;}.stats strong{font-size:21px;}}

.leaderboard-link{display:block;margin:16px auto 0;border:0;background:transparent;color:#28595b;font-size:15px;font-weight:700;padding:8px;}
.intro-copy>.leaderboard-link{margin:13px 0 0;padding-left:0;}
.score-form{margin-top:22px;padding-top:16px;border-top:1px solid #28575a22;text-align:left;}
.score-form label{display:block;font-size:14px;font-weight:700;margin-bottom:7px;}
.submit-row{display:flex;gap:8px;}
.submit-row input{width:0;flex:1;min-width:0;border:1px solid #28575a44;border-radius:12px;padding:10px 12px;font:inherit;font-size:16px;background:#fffef9;color:#254c4d;}
.small-button{border:0;border-radius:12px;background:#285d60;color:white;font:600 14px 'DM Sans',sans-serif;padding:12px;min-height:44px;}
.small-button:disabled{opacity:.6;cursor:default;}
#submissionStatus{font-size:14px;margin:8px 0 0;line-height:1.4;}
#over .card{max-height:calc(100svh - 32px);overflow:auto;}
#leaderboardDialog{width:min(460px,calc(100vw - 28px));max-height:calc(100svh - 32px);border:2px solid white;border-radius:25px;padding:24px;background:#fffaeb;color:#254c4d;overflow:auto;}
#leaderboardDialog::backdrop{background:#234d4c66;backdrop-filter:blur(4px);}
.leaderboard-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.leaderboard-heading h2{font:500 34px Fredoka,sans-serif;margin:0;color:#206c6d;}
.leaderboard-intro,#leaderboardStatus,#yourRank{font-size:14px;line-height:1.5;}
#leaderboardList{list-style:none;padding:0;margin:18px 0;}
#leaderboardList li{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 8px;border-bottom:1px solid #28575a19;border-radius:10px;}
.leaderboard-avatar{position:relative;width:70px;height:70px;display:block;background:#fffaeb;border-radius:18px;box-shadow:0 2px 8px #28575a10;}
.leaderboard-avatar canvas{position:static;display:block;width:70px;height:64px;margin-top:2px;touch-action:auto;border-radius:18px;}
#leaderboardList .rank{position:absolute;right:-3px;bottom:-3px;min-width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#fffaeb;font-size:15px;box-shadow:0 1px 4px #28575a18;}#leaderboardList strong{font-size:16px;overflow-wrap:anywhere;}#leaderboardList small{display:block;font-size:12px;opacity:.7;margin-top:3px;}
@media(max-width:400px){#leaderboardDialog{padding:18px}#leaderboardList li{grid-template-columns:58px minmax(0,1fr) auto;gap:9px}.leaderboard-avatar{width:58px;height:60px}.leaderboard-avatar canvas{width:58px;height:53px}#leaderboardList .rank-score{font-size:16px}}
#leaderboardList .rank-score{font-size:18px;font-variant-numeric:tabular-nums;}
#leaderboardList .podium{background:#f7d78324;}#leaderboardList .is-me{background:#d2eee8;box-shadow:inset 3px 0 #297e75;}
#yourRank{font-weight:700;}#leaderboardAfter{margin-top:8px;}
/* Zoomies celebration: fixed layout, warm colour, one pop and a flowing shimmer. */
.hud-top .zoom-wrap{position:relative;left:auto;transition:background .3s,border-color .3s,box-shadow .3s;}
#zoomLabel,#multiplier{font-variant-numeric:tabular-nums;white-space:nowrap;}
#zoomFill{position:relative;overflow:hidden;}
body.zooming .hud-top .zoom-wrap{background:linear-gradient(115deg,#fff5cf,#ffedba 55%,#d7f1ee);border-color:#ffbe65;box-shadow:0 0 0 2px #ffd17c55,0 0 23px #ffb45370;animation:zoom-glow 1.4s ease-in-out infinite;}
body.zooming #zoomLabel{color:#256c79;text-shadow:0 1px #fff8;animation:zoom-pop .5s cubic-bezier(.2,.8,.3,1);transform-origin:left center;}
body.zooming #multiplier{color:#256c79;text-shadow:0 1px #fff9;}
body.zooming #zoomFill{background:linear-gradient(90deg,#e3ae31,#ffe28a,#f3be47,#e3ae31);background-size:200% 100%;box-shadow:0 0 9px #eac14b;animation:zoom-flow 1.1s linear infinite;}
body.zooming #zoomFill::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,#fff9 50%,transparent 65%);transform:translateX(-100%);animation:zoom-shine 1.3s ease-in-out infinite;}
@keyframes zoom-pop{0%{transform:scale(.92)}45%{transform:scale(1.08)}75%{transform:scale(.99)}100%{transform:scale(1)}}
@keyframes zoom-glow{0%,100%{box-shadow:0 0 0 2px #ffd17c55,0 0 16px #ffb45350}50%{box-shadow:0 0 0 2px #ffd17c88,0 0 28px #ffb45385}}
@keyframes zoom-flow{to{background-position:200% 0}}
@keyframes zoom-shine{to{transform:translateX(100%)}}
body.game-paused .zoom-wrap,body.game-paused #zoomLabel,body.game-paused #zoomFill,body.game-paused #zoomFill::after{animation-play-state:paused!important;}
@media(prefers-reduced-motion:reduce){body.zooming .zoom-wrap,body.zooming #zoomLabel,body.zooming #zoomFill,body.zooming #zoomFill::after{animation:none!important;}.hud-top .zoom-wrap{transition:none;}}
/* Persistent 50k celebration, above the scene and HUD without intercepting taps. */
body.playing #callout:not(:empty){left:50%;right:auto;transform:translateX(-50%);width:max-content;max-width:88%;padding:0;background:none;border:0;color:#446966;font-size:clamp(14px,1.5vw,18px);font-weight:400;text-shadow:0 1px 5px #fff8e9,0 0 8px #fff8e9;}
body.playing #callout[data-tone="danger"]{color:#a65378;}
body.playing #callout[data-tone="success"]{color:#337957;}
#game::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:20;opacity:0;transition:opacity 1.1s ease-out;background:radial-gradient(ellipse at center,transparent 38%,#ffd57218 66%,#ffca5266 100%),linear-gradient(#ffd76b0b,#ffc8530b);box-shadow:inset 0 0 50px #ffd26a35;}
body.golden-run #game::after{opacity:1;}
@media(prefers-reduced-motion:reduce){#game::after{transition:none;}}
#outfitPortrait{width:190px;height:174px;margin:-5px auto 0;}
#finalLook{margin:2px 0 4px;font-size:16px;color:#206c6d;}
#overReason{margin:3px 0 12px;font-style:italic;color:#705c4b;}
@media(max-height:740px){#outfitPortrait{width:160px;height:147px;}}
/* Graphics preference shares the same game, identity and records. */
.style-toggle{display:inline-flex;gap:3px;padding:3px;border:1px solid #28575a38;background:#fff8e9c9;border-radius:30px;margin:0 0 12px;}
.style-toggle button{border:0;background:none;color:#28595b;padding:8px 16px;border-radius:24px;font:600 14px 'DM Sans',sans-serif;min-height:36px;}
.style-toggle button[aria-pressed="true"]{background:#28595b;color:#fff8e9;}
.style-toggle button:disabled{opacity:.55;cursor:wait;}
#styleStatus{font-size:13px;line-height:1.3;margin:0;color:#28595b;}
#styleStatus:empty{display:none;}
@media(max-width:760px){.intro-copy .style-toggle{margin:2px 0 0;}.intro-copy .tagline{margin-top:12px;}}

.install-game{font-size:13px;min-height:36px;}
#installDialog{width:min(420px,calc(100vw - 28px));max-height:calc(100svh - 32px);overflow:auto;border:2px solid white;border-radius:25px;padding:24px;background:#fffaeb;color:#254c4d;}
#installDialog::backdrop{background:#234d4c66;backdrop-filter:blur(4px);}
#installDialog h2{font-size:25px;}#installInstructions{line-height:1.6;}
#installDialog img{display:block;margin:18px auto;border-radius:16px;}
#leaderboardList{max-height:50svh;overflow-y:auto;overscroll-behavior:contain;}
#leaderboardMore{display:block;margin:12px auto;}

/* Homepage secondary actions only; keep existing vertical spacing and type. */
#intro #installHome,
#intro #leaderboardOpen {
  position:relative;
  width:var(--home-action-width,210px);
  min-height:44px;
  max-width:100%;
  padding-left:16px;
  padding-right:16px;
  border-radius:999px;
  background:#fff9e9e8;
  backdrop-filter:blur(8px);
  color:#28595b;
  box-shadow:0 3px 12px #28595b14;
}
#intro #installHome {padding-left:34px;}
#intro #installHome::before {
  content:'';
  position:absolute;
  left:13px;
  top:50%;
  transform:translateY(-50%);
  width:17px;
  height:22px;
  background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 26' fill='none' stroke='%2328595b' stroke-width='1.8' stroke-linecap='round'%3E%3Crect x='3' y='1' width='14' height='24' rx='3'/%3E%3Cpath d='M7 12h6M10 9v6M9 21h2'/%3E%3C/svg%3E");
}
#intro #installHome:hover,
#intro #leaderboardOpen:hover {background:#fffdf4;}
#intro #installHome:active,
#intro #leaderboardOpen:active {background:#e5f0e9;}

.leaderboard-scroll-area{position:relative;padding-bottom:22px;margin:18px 0;}
.leaderboard-scroll-area #leaderboardList{margin:0;}
#leaderboardScrollHint{position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);width:44px;height:32px;padding:0;border:0;background:transparent;color:#28595b;font:500 28px/1 'DM Sans',sans-serif;}
#leaderboardList{scrollbar-width:thin;scrollbar-color:#61948d #28595b12;}
#leaderboardList::-webkit-scrollbar{width:6px;}
#leaderboardList::-webkit-scrollbar-thumb{background:#61948d;border-radius:6px;}

.home-secondary-actions{display:contents;}
#leaveRunDialog{width:min(400px,calc(100vw - 32px));max-height:calc(100svh - 32px);overflow:auto;border:1px solid white;border-radius:26px;padding:28px;text-align:center;background:#fffaeb;color:#254c4d;box-shadow:0 20px 70px #23454433;}
#leaveRunDialog::backdrop{background:#234d4c66;backdrop-filter:blur(4px);}
#leaveRunDialog h2{font:500 32px Fredoka,sans-serif;margin:0 0 12px;}
#leaveRunDialog p{font-size:16px;line-height:1.5;margin:0 0 24px;}
#leaveRunDialog .primary{width:100%;min-width:0;}
#leaveRunDialog .leaderboard-link{margin:18px auto 0;}
@media(max-width:760px){
  #intro #start{display:block;width:100%;min-width:0;}
  #intro .home-secondary-actions{display:flex;gap:10px;margin-top:16px;align-items:stretch;}
  #intro #installHome,#intro #leaderboardOpen{
    flex:1 1 0;width:auto;min-width:0;min-height:58px;margin:0;
    padding:10px 12px;border-radius:20px;font-size:14px;line-height:1.3;
    white-space:normal;overflow-wrap:normal;
  }
  #intro #installHome{padding-left:30px;}
  #intro #installHome::before{left:10px;}
}

.guide-toilet{display:flex;gap:10px;align-items:center;text-align:left;margin:12px 0;font-size:14px;line-height:1.4;}
.guide-toilet canvas{position:static;width:44px;height:44px;flex:0 0 44px;}

/* Desktop home: one aligned action group, with room for the illustration. */
@media(min-width:761px){
  #intro{display:flex;align-items:center;padding:120px 7% 32px;overflow-y:auto;background-position:right center;}
  #intro .intro-copy{position:relative;inset:auto;width:min(520px,55vw);max-width:none;margin:auto 0;flex:none;}
  #intro h1{font-size:clamp(60px,6.6vw,100px);letter-spacing:-3px;margin:0 0 20px;white-space:nowrap;}
  #intro .tagline{font-size:20px;line-height:1.45;margin:14px 0 24px;}
  #intro #start{display:block;width:100%;min-width:0;}
  #intro .home-secondary-actions{display:flex;gap:12px;margin:18px 0 0;align-items:stretch;}
  #intro #installHome,#intro #leaderboardOpen{flex:1 1 0;width:auto;min-width:0;margin:0;min-height:56px;padding:10px 16px;border-radius:20px;font-size:14px;line-height:1.3;white-space:normal;}
  #intro #installHome{padding-left:34px;}
  #intro .instructions{margin-top:22px;font-size:14px;}
  #intro .best-intro{margin-top:16px;}
}

/* Two compact, equally sized bonuses keep the tutorial short. */
.guide-bonuses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;text-align:left;}
.guide-bonus{padding:9px 10px;background:#f6e7c6;border-radius:14px;}
.guide-bonus strong{display:flex;align-items:center;gap:4px;font-size:14px;min-height:38px;}
.guide-bonus p{font-size:13px;line-height:1.35;margin:3px 0 0;}
.guide-bonus .guide-item{position:static;width:38px;height:38px;flex:0 0 38px;}
.guide-bonus-icon{display:inline-grid;place-items:center;width:38px;height:38px;flex:0 0 38px;font-size:30px;line-height:1;}
@media(max-width:360px){.guide-bonuses{gap:8px;}.guide-bonus{padding:9px;}.guide-bonus strong{font-size:14px;}}

#tutorial .guide-controls{margin:12px 0;}
#tutorial .tutorial-content{padding-bottom:26px;}

.hud-top .stats .run-clock{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:6px;border-top:1px solid #28595b18}.hud-top .stats .run-clock strong{font-variant-numeric:tabular-nums;font:800 16px/1 Nunito,sans-serif}.hud-top .stats .run-clock small{font:800 10px/1 Nunito,sans-serif;letter-spacing:.4px;margin:0}

/* sketch-style.e681bd898d82.css */
/* Paint only: all layout and typography come from the shared style.css. */
html[data-visual-style="sketch"] body { background:#f1e8d7; color:#235c5b; }
html[data-visual-style="sketch"] .screen { background-image:url("/sketch-intro-wide.png"); background-size:cover; background-position:center; }
html[data-visual-style="sketch"] h1 { color:#235c5b; text-shadow:none; }
html[data-visual-style="sketch"] h1 span { color:#d6a448; }
html[data-visual-style="sketch"] .intro-copy { background:none; }
html[data-visual-style="sketch"] .primary { background:#235c5b; color:#fff5de; box-shadow:0 5px 0 #174442,0 10px 25px #914d2822; }
html[data-visual-style="sketch"] .primary:active { box-shadow:0 2px 0 #174442; }
html[data-visual-style="sketch"] .icon,
html[data-visual-style="sketch"] .instagram-profile,
html[data-visual-style="sketch"] .style-toggle { background:#f6eddbde; border-color:#245b5938; }
html[data-visual-style="sketch"] .style-toggle button[aria-pressed="true"] { background:#285b57; }
html[data-visual-style="sketch"] .instructions { color:#47685e; }
html[data-visual-style="sketch"] .stats,
html[data-visual-style="sketch"] .zoom-wrap,
html[data-visual-style="sketch"] .card,
html[data-visual-style="sketch"] dialog { background-color:#f5eddd; border-color:#baa47b70; }
html[data-visual-style="sketch"] .lane-controls button { background:#f5ecdcd9; border-color:#235c5b60; }
html[data-visual-style="sketch"] #zoomFill { background:#d6a448; }
html[data-visual-style="sketch"] body.playing header .wordmark { color:#235c5b; text-shadow:0 1px 4px #fff8; }
@media(min-width:761px){
  html[data-visual-style="sketch"] #intro{background-image:linear-gradient(90deg,#f1e8d7ed 0%,#f1e8d7dd 38%,#f1e8d750 65%,transparent 85%),url("/sketch-intro-wide.png");background-position:right center;}
}
@media(max-width:760px) {
  html[data-visual-style="sketch"] .screen { background-color:#f1e8d7;background-image:linear-gradient(0deg,#f1e8d7 0%,#f1e8d770 55%,#f1e8d745 100%),url("/sketch-intro-portrait-raised.png");background-size:100% 100%,100% auto;background-position:center,center 72px;background-repeat:no-repeat; }
  html[data-visual-style="sketch"] .intro-copy { isolation:isolate; }
  html[data-visual-style="sketch"] .intro-copy::before { content:"";position:absolute;z-index:-1;pointer-events:none;left:-6%;right:-6%;top:-30px;height:250px;background:radial-gradient(ellipse at 40% 42%,#f1e8d7f2 10%,#f1e8d7cc 45%,#f1e8d700 74%);filter:blur(12px); }
}

/* rewards/ui.c7855544a05a.css */
.home-powers{display:flex;gap:8px;justify-content:center;align-items:center;padding:5px 12px}.home-powers button{font-family:inherit;font-weight:600;font-size:12px;background:transparent;border:0;padding:7px 9px;color:var(--ink,#28595b);border-radius:15px}.home-powers button:hover{background:#dcece9}#runPowers,#levelRewards{width:min(440px,calc(100% - 32px));max-height:85dvh;overflow:auto;padding:22px;border:0;border-radius:26px;background:#fff;color:#28595b}html[data-visual-style=sketch] #runPowers,html[data-visual-style=sketch] #levelRewards{background:#fff8e9}#runPowers header,#levelRewards header{display:flex;align-items:center;justify-content:space-between}#runPowers h2,#levelRewards h2{margin:0 0 12px}#runPowers p{font-size:14px}.power-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.power-cards button{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 10px;border:2px solid transparent;background:#edf4f1;border-radius:18px;color:inherit}.power-cards button[aria-pressed=true]{border-color:#277877;background:#d9eeea}.power-cards button:disabled{opacity:.45}.power-cards button>span{font-size:28px}.power-cards small{font-size:12px;line-height:1.35}.power-cards strong{font-size:14px}#runPowers>button,#levelRewards>button{width:100%;border:0;border-radius:18px;background:#28595b;color:white;padding:14px;font-weight:700}#runPowers header button{border:0;background:transparent;color:inherit;font-size:24px}.level-reward-summary{background:#edf4f1;border-radius:16px;padding:12px;margin:10px 0}.level-reward-summary h3,.level-reward-summary p{margin:4px 0}.level-reward-summary button{border:0;border-radius:12px;padding:10px;color:#28595b;background:white}#runPowerStatus{font-size:12px;white-space:nowrap}.reward-items p{padding:10px;border-radius:12px;background:#edf4f1;font-weight:600}.bonus-heart{color:#c88b24;-webkit-text-stroke:1px #9c6a17;text-shadow:0 1px 2px white}

.home-powers{flex:none;min-height:28px}.home-powers button{white-space:nowrap}#runPowers::backdrop,#levelRewards::backdrop{background:#183b4677}
#runPowers>header,#levelRewards>header{position:static;inset:auto;width:auto;height:auto;min-height:0;max-height:none;padding:0;margin:0;border:0;box-shadow:none;background:none;flex:none}#runPowers>header h2,#levelRewards>header h2{margin:0;font-size:24px;line-height:1.2}#runPowers>p{margin:14px 0 0;line-height:1.45}#runPowers header button{position:static;width:38px;height:38px;flex:none;padding:0;margin:0}#runPowers button,#levelRewards button{font-family:inherit}#runPowers .power-cards strong{line-height:1.25}
.reward-items{display:grid;gap:10px;margin:18px 0}.reward-item{display:flex;align-items:center;gap:14px;padding:12px;background:#edf4f1;border-radius:16px;animation:reward-arrive .6s ease-out}.reward-item>span{font-size:30px;width:58px;text-align:center}.reward-item canvas{position:static!important;width:64px!important;height:59px!important;flex:none}.reward-item strong,.reward-item small{display:block}.reward-item small{margin-top:5px;font-size:12px}.reward-item strong{font-size:15px}@keyframes reward-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.reward-item{animation:none}}

/* history/ui.852bc6e0c973.css */
#historyOpen{display:block;margin:12px auto 0;padding:9px 22px;border:0;border-radius:22px;background:#fff7e6d9;color:#28595b;font:inherit;font-weight:700;min-height:44px}
#lexyHistory{box-sizing:border-box;width:min(680px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;--profile-padding:clamp(16px,4vw,28px);padding:var(--profile-padding);border:0;border-radius:28px;background:#fff9ea;color:#28595b}
#lexyHistory::backdrop{background:#244d4d77;backdrop-filter:blur(5px)}
#lexyHistory header{display:flex;justify-content:space-between;align-items:center;gap:12px}#lexyHistory h2{margin:0;font-size:30px}#lexyHistory h3{margin:22px 0 12px;font-size:22px}
#lexyHistory button{min-height:44px;border:0;border-radius:22px;background:#28595b;color:#fff9ea;padding:10px 16px;font:inherit}.history-close{min-width:44px}
#lexyHistory [role=status]{font-size:14px;line-height:1.45;margin:12px 0;color:#58736d}
.history-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.history-stats>div{background:#e9efdf;padding:12px;border-radius:14px;min-width:0}.history-stats dt{font-size:13px}.history-stats dd{margin:4px 0 0;font-size:21px;font-weight:700;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.history-closet{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0;margin:0}.history-closet li{min-width:0;text-align:center;padding:8px;border-radius:16px;background:#f5e8c9}.history-closet canvas{width:100%;height:auto;display:block}.history-closet strong,.history-closet span{display:block;overflow-wrap:anywhere}.history-closet strong{font-size:15px}.history-closet span{font-size:12px;margin:6px 0}.history-closet .locked{background:#edeade;color:#697a72}.closet-count{font-size:14px}
@media(max-width:480px){.history-stats,.history-closet{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Override the game canvas/header positioning only inside this dialog. */
#lexyHistory header{position:static;inset:auto;width:auto;padding:0;pointer-events:auto;z-index:auto}
#lexyHistory canvas{position:static;inset:auto;touch-action:auto}

#lexyHistory .history-level{background:#dcece6;border-radius:18px;padding:16px;margin:16px 0;overflow-wrap:anywhere}
#lexyHistory .level-title{margin:0 0 12px;font-size:25px}
#lexyHistory .level-caption{font-size:14px;margin:8px 0 0}
#lexyHistory progress{display:block;width:100%;height:12px;border:0;border-radius:9px;overflow:hidden;accent-color:#287b78;background:#fff9ea}
#lexyHistory progress::-webkit-progress-bar{background:#fff9ea;border-radius:9px}
#lexyHistory progress::-webkit-progress-value{background:#287b78;border-radius:9px}
#lexyHistory progress::-moz-progress-bar{background:#287b78;border-radius:9px}
#lexyHistory .history-daily {margin-block:1.3rem;padding-block:1rem;border-block:1px solid #28595b25;}
#lexyHistory .daily-reset {font-size:.85rem;opacity:.8;margin-top:.2rem;}
#lexyHistory .daily-card {background:#fff9e9;border-radius:16px;padding:12px;margin:10px 0;min-width:0;}
#lexyHistory .daily-card p {margin:6px 0;}
#lexyHistory .daily-card progress {width:100%;accent-color:#28595b;}
#lexyHistory .daily-card small {display:block;overflow-wrap:anywhere;}
#lexyHistory .daily-card.complete {background:transparent;}
#lexyHistory .daily-bonus {padding:10px;border-radius:12px;background:#f5e6bc;font-weight:700;}
#lexyHistory .daily-bonus.celebrate {animation:daily-shine 1.1s ease-out;}
#lexyHistory .history-daily details {font-size:.85rem;}
@keyframes daily-shine {0%{box-shadow:0 0 0 0 #dfa84088}55%{box-shadow:0 0 0 8px #dfa84022}100%{box-shadow:0 0 0 0 transparent}}
@media(prefers-reduced-motion:reduce){#lexyHistory .daily-bonus.celebrate{animation:none}}
#lexyHistory .history-weekly {margin-block:1.3rem;padding:14px;background:#e8f0ed;border-radius:18px;}
#lexyHistory .weekly-reset {font-size:.85rem;opacity:.8;}
#lexyHistory .history-weekly progress {width:100%;accent-color:#28595b;}
#lexyHistory .weekly-count {font-size:.9rem;overflow-wrap:anywhere;}
#lexyHistory .weekly-milestones {list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;}
#lexyHistory .weekly-milestones li {padding:8px 2px;text-align:center;border-radius:10px;background:#fff9e9;min-width:0;overflow-wrap:anywhere;}
#lexyHistory .weekly-milestones small {display:block;margin-top:4px;}
#lexyHistory .weekly-milestones .reached {background:#d3e8df;}
#lexyHistory .weekly-message {border-radius:12px;padding:8px;font-weight:700;}
#lexyHistory .weekly-message.celebrate {animation:daily-shine 1.1s ease-out;}
@media(prefers-reduced-motion:reduce){#lexyHistory .weekly-message.celebrate{animation:none}}
/* Local stabilization: reachable controls and compact history sections. */
#lexyHistory header{flex-wrap:nowrap}
#lexyHistory h2{font-size:clamp(22px,5vw,30px)}
#lexyHistory .history-close{flex-shrink:0}
#lexyHistory .history-help{font-size:.85rem;line-height:1.5;color:#58736d}
#lexyHistory .history-section{margin:14px 0;border-top:1px solid #28595b25;padding-top:12px}
#lexyHistory summary{cursor:pointer;font-weight:700;min-height:44px;align-content:center}
#historyOver{display:block;margin:10px auto;padding:8px 16px;border:0;border-radius:20px;background:#e3eee5;color:#28595b;font:inherit}
@media(max-width:350px){#lexyHistory{--profile-padding:12px;padding:var(--profile-padding)}.weekly-milestones{font-size:.85rem}}
/* Details now sit behind the game shell; the collection leads this view. */
#lexyHistory .history-level{margin:10px 0;padding:12px 14px}
#lexyHistory .history-collection h3{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
#lexyHistory .history-closet{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:43%;overflow-x:auto;scroll-snap-type:x proximity;padding:0 0 10px;scrollbar-width:thin;scrollbar-color:#628783 #efe7d4}
#lexyHistory .history-closet li{scroll-snap-align:start}
#lexyHistory .history-help{margin:6px 0 10px}
#lexyHistory .history-daily{padding:0;margin:10px 0;border:0}
#lexyHistory .daily-card{display:grid;grid-template-columns:1fr auto;gap:3px 8px;margin:7px 0;padding:8px;background:#edf1e4}
#lexyHistory .daily-card strong{font-size:11px}#lexyHistory .daily-card p{grid-column:1 / -1;margin:0;font-size:13px}
#lexyHistory .daily-card progress{grid-column:1 / -1;height:6px}#lexyHistory .daily-card small{grid-column:1 / -1;font-size:11px}
#lexyHistory .daily-bonus{padding:6px;font-size:12px}
#lexyHistory .history-weekly{padding:10px;margin:12px 0}
#lexyHistory .history-weekly h3{margin:0 0 6px}
#lexyHistory .weekly-milestones li{padding:3px;font-size:11px}
#lexyHistory .weekly-message{padding:3px;margin:4px 0;font-size:12px}
@media(min-width:600px){#lexyHistory .history-closet{grid-auto-columns:29%}}
#lexyHistory .history-save-row{display:flex;align-items:center;gap:8px}#lexyHistory .history-save-row [role=status]{flex:1;margin:5px 0}#lexyHistory .history-refresh{background:transparent;color:#28595b;padding:6px;min-width:44px;font-size:23px}#lexyHistory .history-collection{margin:6px 0;padding-top:0}#lexyHistory .history-collection h3{margin:12px 0 8px}
/* My Lexy challenge details: one adventure list, not a stack of report cards. */
#lexyHistory .history-daily h3,#lexyHistory .history-weekly h3{font-size:clamp(20px,4.7vw,25px);letter-spacing:-.025em}
#lexyHistory .daily-card{display:grid;grid-template-columns:38px minmax(0,1fr);gap:3px 12px;padding:14px 0;margin:0;border-radius:0;border-bottom:1px dashed #28595b30;background:transparent}
#lexyHistory .daily-card:last-of-type{border-bottom:0}
#lexyHistory .daily-token{grid-column:1;grid-row:1 / 4;align-self:center;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#f6df9e;color:#885021;font-size:25px;font-weight:700;transform:rotate(-8deg)}
#lexyHistory .daily-card.complete .daily-token{background:transparent;transform:none}
#lexyHistory .daily-card strong{grid-column:2;font-size:12px;color:#68786b;font-weight:600}
#lexyHistory .daily-card p{grid-column:2;grid-row:2;font-size:16px;line-height:1.3;font-weight:700;overflow-wrap:anywhere}
#lexyHistory .daily-card small{grid-column:2;grid-row:3;font-size:13px;line-height:1.45;color:#58736d}
#lexyHistory .daily-bonus{background:transparent;border-left:3px solid #dba947;border-radius:0;padding:6px 10px;margin:12px 0 18px;font-size:13px}
#lexyHistory .history-weekly{background:transparent;border-radius:0;border-top:1px solid #28595b25;margin:18px 0 0;padding:18px 0 0}
#lexyHistory .weekly-objective{font-weight:700;font-size:18px;line-height:1.35;margin:14px 0 9px}
#lexyHistory .history-weekly progress{height:7px;background:#e7e5d3}
#lexyHistory .history-weekly progress::-webkit-progress-bar{background:#e7e5d3}
#lexyHistory .weekly-count{margin:8px 0 12px;font-size:14px}
#lexyHistory .weekly-milestones{position:relative;gap:0;margin:12px 0;isolation:isolate}
#lexyHistory .weekly-milestones:before{content:'';position:absolute;top:15px;left:12.5%;right:12.5%;height:2px;background:#cfdbcd;z-index:-1}
#lexyHistory .weekly-milestones li,#lexyHistory .weekly-milestones .reached{background:transparent;border-radius:0;padding:0 2px;font-size:12px}
#lexyHistory .weekly-marker{display:grid;place-items:center;margin:0 auto 6px;width:30px;height:30px;border-radius:50%;background:#fff9ea;border:2px solid #bdcdbd;box-sizing:border-box;color:#58736d;font-size:19px}
#lexyHistory .reached .weekly-marker{background:#28595b;color:#fff9ea;border-color:#28595b}
#lexyHistory .weekly-milestones small{margin-top:3px;color:#68786b}
#lexyHistory .weekly-message{font-weight:500;font-size:13px;color:#58736d;margin:10px 0}
#lexyHistory .history-stats dt{display:flex;align-items:center;gap:7px;line-height:1.25}
#lexyHistory .stat-icon{display:inline-grid;place-items:center;flex:0 0 25px;width:25px;height:25px;font-size:20px;line-height:1;color:#b58a25}
#lexyHistory .history-stats dd{margin-top:8px}
.points-key{font-size:13px;line-height:1.4;color:#28595b;text-align:center}

/* Confirmed identity shares the compact Level header. */
#lexyHistory .history-level{display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:12px;align-items:center}
#lexyHistory .history-avatar{grid-column:1;grid-row:1 / 5;width:72px;height:72px;background:transparent;mix-blend-mode:darken}
#lexyHistory .history-level .level-title,#lexyHistory .history-level .history-outfit,#lexyHistory .history-level progress,#lexyHistory .history-level .level-caption{grid-column:2}
#lexyHistory .history-outfit{margin:2px 0 8px;font-size:14px;font-weight:700}
/* A focused grid inside the same dialog, keeping the original collection nodes. */
#lexyHistory .history-collection h3{flex-wrap:wrap}
#lexyHistory .closet-all{margin-left:auto;padding:6px 12px;font-size:13px;min-height:36px;background:#e0ece6;color:#28595b;font-weight:800}
#lexyHistory .closet-back{background:#e0ece6;color:#28595b;font-weight:800;padding:8px 14px}
#lexyHistory .closet-back[hidden]{display:none}
#lexyHistory.closet-expanded .history-body> :not(.history-collection){display:none}
#lexyHistory.closet-expanded .history-collection{border:0;margin:0;padding:0}
#lexyHistory.closet-expanded .history-collection h3{font-size:0;margin:8px 0 14px}
#lexyHistory.closet-expanded .closet-all,#lexyHistory.closet-expanded .history-help{display:none}
#lexyHistory.closet-expanded .history-closet{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;scroll-snap-type:none;padding:0}
#lexyHistory.closet-expanded header h2{margin-right:auto}
@media(max-width:480px){#lexyHistory.closet-expanded .history-closet{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Header is outside the scrolling viewport: no sticky compositing or overlap. */
#lexyHistory{padding:0;overflow:hidden;isolation:isolate;max-height:calc(100dvh - 32px)}
#lexyHistory[open]{display:flex;flex-direction:column}
#lexyHistory>header{position:relative;inset:auto;flex:0 0 auto;margin:0;padding:16px var(--profile-padding);background:#fff9ea;box-shadow:none;border-bottom:1px solid #28595b14;z-index:1}
#lexyHistory .history-body{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:0 var(--profile-padding) var(--profile-padding);scrollbar-width:thin}

/* Closet tiles have their own small detail view in both the rail and full grid. */
#lexyHistory .history-closet li{display:flex;flex-direction:column;min-height:240px}
#lexyHistory .closet-face{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;border-radius:10px}
#lexyHistory .closet-face canvas{position:static;pointer-events:none;max-width:160px}
#lexyHistory .closet-tile-actions,#lexyHistory .closet-tile-details{display:flex;flex:1;flex-direction:column;justify-content:center;gap:8px;padding:4px;overflow-wrap:anywhere}
#lexyHistory .closet-tile-actions button,#lexyHistory .closet-tile-details button{min-height:44px;width:100%;border:1px solid #28595b30;border-radius:12px;padding:8px 4px;background:#fff9ea;color:#28595b;font-size:13px;font-weight:700}
#lexyHistory .closet-tile-actions .closet-use{background:#28595b;color:#fff9ea}
#lexyHistory .closet-tile-actions>strong{margin-bottom:6px}
#lexyHistory .closet-tile-details p{font-size:14px;line-height:1.4;margin:4px 0;text-align:left}
#lexyHistory .closet-tile-details small{font-size:11px;opacity:.8}
#lexyHistory .closet-tile-details button{margin-top:auto}
#avatarPicker.avatar-confirm .avatar-options{grid-template-columns:minmax(0,180px);justify-content:center}
#avatarPicker.avatar-confirm .avatar-options button{pointer-events:none}
#avatarPicker.avatar-confirm .avatar-options canvas{mix-blend-mode:darken}

#lexyHistory .history-closet li{isolation:isolate}
#lexyHistory .history-closet canvas{mix-blend-mode:darken}
#lexyHistory .weekly-milestone-target{display:block;font-size:12px;font-weight:700;line-height:1.25;margin:4px 0;color:#28595b;overflow-wrap:anywhere}

#lexyHistory .closet-selected{color:#276647;background:#dcebd8;border-radius:10px;padding:9px 5px;font-size:12px;font-weight:700;line-height:1.4;text-align:center}

/* Distinct actions: a light peek, a filled profile action, then a quiet return. */
#lexyHistory .closet-tile-actions .closet-info,#lexyHistory .closet-tile-actions .closet-use{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 7px;line-height:1.25}
#lexyHistory .closet-tile-actions .closet-info{background:#fff9eac9;border:0;box-shadow:inset 0 -2px #d7caa74d}
#lexyHistory .closet-tile-actions .closet-use{border:0;box-shadow:0 2px 0 #194546}
#lexyHistory .closet-info::before,#lexyHistory .closet-use::before{content:'';display:block;flex:0 0 18px;width:18px;height:18px;background:currentColor;mask-position:center;mask-size:contain;mask-repeat:no-repeat}
#lexyHistory .closet-info::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/g%3E%3C/svg%3E")}
#lexyHistory .closet-use::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21v-2a8 6 0 0 1 16 0v2'/%3E%3C/g%3E%3C/svg%3E")}
#lexyHistory .closet-tile-actions .closet-back-link,#lexyHistory .closet-tile-details .closet-back-link{background:transparent;border:0;box-shadow:none;font-size:12px;font-weight:500;text-decoration:underline;text-underline-offset:3px;color:#536d65}

#lexyHistory .closet-tile-details p{white-space:pre-line}

/* Two columns keep long names from competing with the portrait and badge. */
#lexyHistory .history-level{grid-template-columns:112px minmax(0,1fr);gap:7px 16px;padding:18px;margin:12px 0 20px;background:#e2eee7;border:1px solid #28595b12;border-radius:22px}
#lexyHistory .history-level .history-avatar{grid-column:1;grid-row:1 / 5;position:static;width:112px;height:auto;aspect-ratio:12 / 11;align-self:center;justify-self:center;object-fit:contain}
#lexyHistory .history-level .profile-name-edit{grid-column:2;grid-row:1;padding:0;margin:0;min-height:0;text-align:left;align-self:end;font-size:22px;line-height:1.2;overflow-wrap:anywhere}
#lexyHistory .history-level .history-outfit{grid-column:2;grid-row:3;font-size:13px;color:#597268;margin:0;line-height:1.4;overflow-wrap:normal}
#lexyHistory .history-level .level-title{grid-column:2;grid-row:2;justify-self:start;font-size:12px;white-space:nowrap;border-radius:8px;background:#28595b;color:#fff;padding:4px 9px;margin:0}
#lexyHistory .history-level #avatarEdit{grid-column:2;grid-row:4;justify-self:start;min-height:32px;padding:5px 15px;margin:2px 0 0;font-size:13px}
#lexyHistory .history-level .level-meter-label{grid-column:1 / -1;display:flex;justify-content:space-between;gap:10px;font-size:12px;margin-top:12px}
#lexyHistory .history-level progress{grid-column:1 / -1;height:11px;margin:0}
#lexyHistory .history-level .level-caption{grid-column:1 / -1;text-align:center;font-size:12px;line-height:1.4;margin:3px 0 0;color:#526d62}
@media(max-width:370px){#lexyHistory .history-level{grid-template-columns:96px minmax(0,1fr);padding:14px;column-gap:12px}#lexyHistory .history-level .history-avatar{width:96px}#lexyHistory .history-level .profile-name-edit{font-size:19px}}

#lexyHistory .history-closet li{position:relative}

#lexyHistory .closet-wearing-tick{position:absolute;top:9px;left:9px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#367652;color:#fff;font-size:17px;font-weight:800;z-index:2}
#lexyHistory .closet-wearing-tick[hidden]{display:none}

#lexyHistory .run-log>summary{font:800 19px/1.3 Nunito,sans-serif;cursor:pointer;padding:8px 0;color:#28595b}
.run-log-list{display:grid;gap:22px}.run-log-entry{background:var(--menu-soft,#edf4f1);border:1px solid #d6e0e1;border-radius:14px;padding:14px;overflow:hidden}.run-log-entry>summary{cursor:pointer;list-style:none}.run-log-entry>summary::-webkit-details-marker{display:none}
.run-log-top{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.run-log-top time{font-size:12px;color:#52736d}.run-log-top strong{font-size:15px;white-space:nowrap}
.run-log-meta{display:flex;flex-wrap:wrap;gap:5px 12px;font-size:12px;margin-top:5px}.run-log-detail{padding-top:8px;font-size:12px}.run-log-detail p{margin:5px 0}.run-log>button{border:0;border-radius:12px;padding:10px 16px;margin-top:10px;background:var(--menu-soft);color:inherit;font-weight:800}

.run-log-entry>time{display:block;font-size:12px;font-weight:700;color:#52736d;margin-bottom:10px}
.run-log-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}.run-log-grid small,.run-log-grid strong{display:block}.run-log-grid small{font-size:11px;color:#52736d}.run-log-grid strong{font-size:17px;line-height:1.3}
.run-log-rewards{margin-top:10px}.run-log-rewards>summary{font-size:12px;font-weight:800;cursor:pointer}.run-log-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.run-log-chips>span{font-size:11px;padding:5px 8px;border-radius:9px;background:var(--menu-surface,#fff)}.run-log-entry>small{display:block;font-size:10px;color:#52736d;margin-top:8px}

#lexyHistory .history-closet li{height:290px;min-height:290px;box-sizing:border-box;overflow:hidden}
#lexyHistory .closet-face{height:100%;min-height:0;overflow:hidden}#lexyHistory .closet-face canvas{max-height:160px;object-fit:contain}
#lexyHistory .closet-requirement{display:block;font-size:11px;line-height:1.3;margin-top:5px;color:#52736d}
#lexyHistory .closet-tile-details,#lexyHistory .closet-tile-actions{min-height:0;height:100%;box-sizing:border-box;overflow:hidden;flex-shrink:1}
#lexyHistory .closet-tile-details p{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:5px}
#lexyHistory .closet-tile-details .closet-scroll-hint{font-size:10px;color:#52736d;flex:none}
#lexyHistory .closet-tile-details button{flex:none}

/* Run totals and level grants are distinct, with all rewards visible. */
.run-log-top{margin:-14px -14px 14px;padding:11px 14px;background:#e6eded;border-bottom:1px solid #d6e0e1}.run-log-top time{font-weight:800;color:#28595b}.run-log-top>small{font-size:10px;background:var(--menu-surface,#fff);border-radius:8px;padding:4px 7px}
.run-log-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.run-log-grid strong{font-size:15px;overflow-wrap:anywhere}
.run-log-rewards{border-top:1px solid #28595b18;margin-top:12px;padding-top:10px}
.run-log-rewards h4{font:800 12px/1.3 Nunito,sans-serif;margin:0 0 7px;color:#28595b}
.run-log-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0}
.run-log-reward{display:flex;align-items:center;gap:5px;background:var(--menu-surface,#fff);border-radius:10px;padding:6px;font-size:11px;line-height:1.3;min-width:0}
.run-log-reward>span:last-child{overflow-wrap:break-word}.run-log-reward-icon{font-size:23px;flex:none}
.run-log-reward canvas{position:static;inset:auto;width:38px;height:36px;flex:none;object-fit:contain;touch-action:auto}

/* Closet portraits stay visible. One action and a quiet Info control per card. */
#lexyHistory .history-closet li{padding:12px;gap:7px;height:294px;min-height:294px;background:var(--menu-soft,#edf4f1);text-align:center}
#lexyHistory .closet-face{flex:1;height:auto;min-height:0;justify-content:flex-start;gap:4px;padding-top:14px;overflow:visible}
#lexyHistory .closet-face canvas{width:100%;height:124px;max-height:124px;flex:none;object-fit:contain}
#lexyHistory .closet-face strong{font-size:13px;line-height:1.25;min-height:33px;display:flex;align-items:center;justify-content:center}
#lexyHistory .closet-face .closet-requirement{font-size:11px;line-height:1.3;margin:0;min-height:29px}
#lexyHistory .closet-info-button{position:absolute;top:7px;right:7px;width:30px;height:30px;min-height:30px;padding:0;border:0;border-radius:50%;background:#28595b0b;color:#28595b;font:800 16px/1 Nunito,sans-serif;box-shadow:none;z-index:2}
#lexyHistory .closet-wear-button,#closetDetail .closet-detail-wear{display:block;width:100%;min-height:36px;padding:8px 10px;border:0;border-radius:11px;background:#d96948;color:white;font:800 13px/1.2 Nunito,sans-serif;box-shadow:0 2px 0 #b64e35;flex:none}
#lexyHistory .closet-card-state{display:flex;align-items:center;justify-content:center;min-height:36px;font:700 12px/1.2 Nunito,sans-serif;color:#697e77}
#lexyHistory .closet-card-state[data-wearing=true]{background:#dfeddf;border-radius:11px;color:#367652}
#lexyHistory .closet-card-status{font-size:11px;color:#a33f30;line-height:1.25}
#lexyHistory .closet-card-status:not([hidden]){position:absolute;inset:auto 5px 50px;background:#fff1ec;padding:8px;border-radius:8px;z-index:3}
#lexyHistory .closet-wear-button[hidden],#lexyHistory .closet-card-state[hidden],#lexyHistory .closet-card-status[hidden]{display:none}
#lexyHistory .closet-info-button::before{content:none}
#closetDetail{width:min(380px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:24px;background:var(--menu-surface,#fff);color:#28595b;overflow:hidden;box-sizing:border-box}
#closetDetail[open]{display:flex;flex-direction:column}
#closetDetail::backdrop{background:#153e4666}
#closetDetail>header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;position:static;flex:none;margin:0;background:var(--menu-surface,#fff)}
#closetDetail>header button{min-height:36px;border:0;border-radius:12px;padding:8px 12px;background:var(--menu-soft,#edf4f1);color:#28595b;font:800 13px Nunito,sans-serif;box-shadow:none}
#closetDetail .closet-detail-close{width:36px;padding:0;border-radius:50%}
#closetDetail .closet-detail-body{padding:0 22px 12px;overflow:auto;overscroll-behavior:contain;min-height:0;scrollbar-width:thin;text-align:center}
#closetDetail .closet-detail-art{height:190px;display:flex;justify-content:center;align-items:center;background:#fff;border-radius:14px}
#closetDetail .closet-detail-art img,#closetDetail .closet-detail-art canvas{position:static;inset:auto;width:180px;height:180px;object-fit:contain;max-width:100%}
#closetDetail h2{font:600 23px/1.2 Fredoka,sans-serif;margin:12px 0 9px;overflow-wrap:anywhere}
#closetDetail .closet-detail-description{font:500 14px/1.5 Nunito,sans-serif;margin:14px 0 0;text-align:center}
#closetDetail .closet-detail-requirement{font:700 12px/1.4 Nunito,sans-serif;margin:0;color:#627970}
#closetDetail footer{flex:none;padding:10px 22px 18px;border-top:1px solid #28595b14}
#closetDetail .closet-detail-wear{min-height:42px;font-size:15px}
#closetDetail .closet-detail-state{display:block;text-align:center;font:800 14px Nunito,sans-serif;padding:8px;color:#367652}
#closetDetail .closet-detail-status{font:600 12px/1.4 Nunito,sans-serif;color:#a33f30;margin:0 0 10px}
#closetDetail [hidden]{display:none!important}
@media(max-height:600px){#closetDetail .closet-detail-art{height:140px}#closetDetail .closet-detail-art img,#closetDetail .closet-detail-art canvas{width:135px;height:135px}}
#closetDetail>header,#closetDetail>header button{pointer-events:auto}
#lexyHistory .history-closet .avatar-new-badge{right:44px;top:12px;left:auto}

#lexyHistory .time-reveal{display:inline-block;border:0;background:transparent;padding:4px 0;min-height:32px;font:700 13px/1.3 Nunito,sans-serif;color:#567b74;text-decoration:underline;text-underline-offset:3px;box-shadow:none}

/* Use the same menu controls as the surrounding profile. */
#closetDetail>header{inset:auto;width:auto;box-sizing:border-box;z-index:auto}
#closetDetail .closet-detail-close{background:#28595b;color:white;width:40px;height:40px;min-height:40px;font-size:20px}
#closetDetail button{cursor:pointer;touch-action:manipulation}
#lexyHistory .closet-info-button{display:grid;place-items:center;width:32px;height:32px;min-height:32px}

#lexyHistory .closet-wear-button,#lexyHistory .closet-card-state{box-sizing:border-box;width:100%;height:36px;min-height:36px;margin:0;padding:8px 10px;flex:0 0 36px;border-radius:11px;font:800 13px/1.2 Nunito,sans-serif;display:flex;align-items:center;justify-content:center}

#closetDetail .closet-detail-locked-art{display:grid;place-items:center;width:180px;height:180px;border-radius:18px;background:var(--menu-soft,#e2eee7);color:#59736d;font:600 76px/1 Fredoka,sans-serif}

#closetDetail .closet-detail-viewer{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:4px}
#closetDetail .closet-detail-viewer button{display:grid;place-items:center;width:40px;height:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:var(--menu-soft,#edf4f1);color:#28595b;font:500 34px/1 Nunito,sans-serif;box-shadow:none}
#closetDetail .closet-detail-viewer button:disabled{opacity:.35;cursor:default}
#closetDetail .closet-detail-body{touch-action:pan-y}

#closetDetail .closet-detail-locked-art{max-width:100%}

/* A stable viewport while browsing short and long outfit descriptions. */
#closetDetail{height:min(570px,calc(100dvh - 32px))}
#closetDetail .closet-detail-body{flex:1;touch-action:pan-y}
#closetDetail footer{min-height:72px;box-sizing:border-box}
#closetDetail{touch-action:pan-y}

/* Keep the carousel clipped inside the fixed detail dialog. */
#closetDetail .closet-detail-body{min-width:0;backface-visibility:hidden}
#closetDetail .closet-carousel-preview{overflow:hidden;user-select:none}
#closetDetail .closet-detail-body canvas{pointer-events:none}
#closetDetail{user-select:none}
#lexyHistory .history-stats .time-running-value{height:44px;min-height:44px;max-height:44px;display:flex;align-items:center;line-height:1.15;font-size:clamp(16px,4vw,21px);overflow:auto}
#lexyHistory .time-running-value .time-reveal{height:44px;min-height:44px;box-sizing:border-box;margin:0;padding:0}
/* Shared by the profile preview and full Closet: a recognizable info control. */
html body #lexyHistory .closet-info-button{width:36px;height:36px;min-height:36px;background:#fff!important;border:1px solid #28595b24!important}
#lexyHistory .closet-info-button svg{display:block;width:22px;height:22px;pointer-events:none}
#lexyHistory .closet-info-button:focus-visible{outline:2px solid #28595b;outline-offset:2px}

/* Selection stays anchored to the tile while its portrait button is pressed. */
#lexyHistory .history-closet li>.closet-wearing-tick{top:9px;left:9px;pointer-events:none;line-height:1;margin:0;transform:none}

/* The expanded Closet has one exit: Back to My Lexy. */
#lexyHistory.closet-expanded .history-close{display:none!important}

#lexyHistory .history-collection h3 .closet-new-dot{position:static;display:inline-block;flex:0 0 10px;align-self:center;margin:0 2px}
#lexyHistory .history-collection h3 .closet-new-dot[hidden]{display:none}

/* shell/ui.e9dd685f1ec2.css */
/* Reference B is the unchanged photograph; the surface owns readability. */
html:not([data-visual-style="sketch"]) #intro{background-color:#eddfc8;background-image:linear-gradient(90deg,#f9eedb 0%,#f9eedb calc(100% - 56.25svh),transparent calc(100% - 56.25svh + 110px)),url("/home-mediterranean.webp");background-size:100% 100%,auto 100%;background-position:center,right top;background-repeat:no-repeat}
#intro{overflow-y:auto;padding:100px 6% 30px;display:flex;align-items:flex-start}
#intro .intro-copy{position:relative;inset:auto;width:440px;max-width:48%;margin:0;background:none;padding:0 0 12px}
#intro h1{font-size:clamp(56px,6.5vw,100px);letter-spacing:-3px;margin:0 0 10px;line-height:1}
#intro .tagline{font-size:18px;line-height:1.35;margin:0 0 14px;max-width:330px;color:#244e50}
#intro .style-toggle{margin:0 0 14px;display:inline-flex}
#intro #styleStatus:empty{display:none}
#intro .retention-home{width:100%;max-width:300px;margin:0 0 18px;padding:14px 16px 6px;border-radius:24px;background:#fff9ecef;box-shadow:0 6px 24px #214b4910;color:#245557;text-shadow:none}
.home-level{padding:0 0 12px}.shell-level{display:block;font-family:Fredoka,sans-serif;font-size:21px;font-weight:500;overflow-wrap:anywhere}.home-level progress{display:block;appearance:none;width:100%;height:6px;margin-top:7px;border:0;border-radius:9px;overflow:hidden;background:#28595920;accent-color:#285959}.home-level progress::-webkit-progress-bar{background:#28595920}.home-level progress::-webkit-progress-value{background:#285959;border-radius:9px}.home-level progress::-moz-progress-bar{background:#285959}
.retention-home details{border-top:1px solid #28595918}
.retention-home summary,#intro .retention-home #historyOpen{display:flex;align-items:center;gap:9px;min-height:57px;width:100%;padding:8px 0;cursor:pointer;color:inherit;text-align:left;font:inherit;list-style:none;background:none;border:0;border-radius:0;margin:0;box-shadow:none}
.retention-home summary::-webkit-details-marker{display:none}.retention-home summary>span:nth-child(2),#historyOpen>span:nth-child(2){flex:1;min-width:0}.retention-home summary strong,#historyOpen strong{display:block;font-weight:700;font-size:16px;line-height:1.2}.retention-home summary small,#historyOpen small{display:block;font-size:12px;line-height:1.3;margin-top:3px}.home-symbol{width:24px;flex:none;text-align:center;font-size:23px;color:#b48421}.home-week .home-symbol,#historyOpen .home-symbol{color:#285959}.home-chevron{font-size:25px;line-height:1;flex:none}.retention-home details[open]>summary .home-chevron{transform:rotate(90deg)}
#intro .retention-home #historyOpen{border-top:1px solid #28595918}
.home-missions{list-style:none;margin:0;padding:0 0 8px}.shell-objective{position:relative;padding:8px 0;border-top:1px dashed #28595925}.shell-objective small{display:block;font-size:11px;font-weight:700;margin-bottom:3px}.shell-objective b{display:block;font-size:13px;line-height:1.35;font-weight:500}.mission-count{display:block;font-size:12px;font-weight:700;margin-top:4px;font-variant-numeric:tabular-nums}.mission-mark{position:absolute;right:0;bottom:8px;color:#287b78;font-weight:bold}
.home-week-detail{padding:0 0 12px;font-size:13px;line-height:1.35}.shell-weekly{margin:4px 0 8px}.weekly-count{font-variant-numeric:tabular-nums}.home-milestones{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px;font-size:10px}.home-milestones span{border-bottom:2px solid #28595930;padding-bottom:3px}.home-milestones [data-complete=true]{color:#287b78;border-color:#287b78;font-weight:700}
#intro #start{width:100%;min-height:60px;font-size:21px}
#intro .home-secondary-actions{margin-top:18px}
#intro .instructions{font-size:12px;gap:6px;margin-top:18px;background:#fff8e9cf;width:fit-content;padding:7px 10px;border-radius:10px;color:#244e50}
#intro .best-intro{font-size:14px;margin-top:12px;background:#fff8e9cf;width:fit-content;padding:5px 10px;border-radius:10px;color:#244e50}
@media(min-width:761px){.retention-moment{left:35px;top:25px;width:calc(50% - 235px)}}
@media(max-width:760px){
 html:not([data-visual-style="sketch"]) #intro{background-image:linear-gradient(0deg,#eddfc8 0,transparent 7%),url("/home-mediterranean.webp");background-size:100% 100%,cover;background-position:center,center top}
 #intro{padding:calc(90px + env(safe-area-inset-top)) 6% calc(30px + env(safe-area-inset-bottom));align-items:flex-start}
 #intro .intro-copy{width:100%;max-width:none;margin:0}
 #intro h1{font-size:clamp(45px,12.2vw,77px);margin:0 0 8px;letter-spacing:-2px}
 #intro .tagline{font-size:15px;max-width:75%;line-height:1.3;margin:0 0 12px}
 #intro .style-toggle{margin-bottom:14px;font-size:13px;min-height:36px}
 #intro .style-toggle button{padding:8px 17px;font-size:13px;min-height:36px}
 #intro .retention-home{width:54%;min-width:160px;padding:12px 12px 4px;border-radius:21px;margin-bottom:16px}
 .shell-level{font-size:19px}.home-level{padding-bottom:9px}
 .retention-home summary,#intro .retention-home #historyOpen{gap:7px;min-height:54px}
 .retention-home summary strong,#historyOpen strong{font-size:14px}.retention-home summary small,#historyOpen small{font-size:11px}.home-symbol{width:18px;font-size:20px}.home-chevron{font-size:22px}
 #intro #start{font-size:19px;min-height:58px;margin-top:max(0px,calc(60svh - 500px))}#intro .instructions{margin-top:16px}
}
@media(max-width:350px){#intro .tagline{font-size:14px;max-width:85%}#intro .retention-home{min-width:152px;width:54%;padding-left:10px;padding-right:10px}.home-symbol{width:16px;font-size:18px}.retention-home summary,#intro .retention-home #historyOpen{gap:5px}.retention-home summary small,#historyOpen small{font-size:11px}}
/* Events borrow only the wordmark's header space, away from lanes and core HUD. */
.retention-moment{position:fixed;z-index:6;top:calc(13px + env(safe-area-inset-top));left:16px;width:calc(100% - 194px);max-width:285px;max-height:65px;display:flex;gap:5px;align-items:center;pointer-events:none;color:#fff8e7;text-shadow:0 1px 3px #164b4b,0 0 8px #164b4b;font-size:11px;line-height:1.15}
.retention-moment>div{min-width:0;flex:1}.retention-moment strong{display:block;font-family:Fredoka,sans-serif;font-size:17px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.moment-detail{display:block;font-size:10px;line-height:1.2;margin:2px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.retention-moment small{display:block;font-size:8px;white-space:nowrap;opacity:.9}
.moment-icon{font-family:Fredoka,sans-serif;color:#ffd275;font-size:29px;line-height:1;flex:none;filter:drop-shadow(0 2px 2px #18534b66)}
.retention-moment[data-kind=progress] .moment-icon{font-size:18px}.retention-moment[data-kind=progress] strong{font-size:13px}.retention-moment[data-kind=all] .moment-icon,.retention-moment[data-kind=level] .moment-icon{font-size:34px}
body.playing.retention-speaking .wordmark{visibility:hidden}
[data-visual-style=sketch] .retention-moment{color:#245b5b;text-shadow:0 1px 4px #fff8e7,0 0 8px #fff8e7}
/* The summary uses typography and a golden rule, not another report card. */
.run-progress{text-align:left;border-left:3px solid #d9ad4f;padding:0 0 0 12px;margin:16px 0 10px;font-size:12px;color:#28595b}.run-progress-title{font-family:Fredoka,sans-serif;font-size:17px;font-weight:500}.run-progress ul{list-style:none;padding:0;margin:6px 0 0;line-height:1.45;display:grid;gap:4px}.run-progress li{overflow-wrap:anywhere}.run-progress li[data-kind=level]{font-family:Fredoka,sans-serif;font-size:19px}.run-progress li[data-kind=complete],.run-progress li[data-kind=closet]{font-weight:700}#over #historyOver{margin:5px auto;font-size:12px;min-height:40px}
@media(max-width:370px){.retention-moment{left:12px;width:calc(100% - 173px)}.retention-moment strong{font-size:15px}.moment-icon{font-size:23px}.retention-moment[data-kind=all] .moment-icon,.retention-moment[data-kind=level] .moment-icon{font-size:25px}}
@media(prefers-reduced-motion:reduce){.retention-moment{animation:none}}
/* Short, energetic celebrations remain inside the existing header space. */
.retention-moment:not([data-kind=progress]){filter:drop-shadow(0 2px 4px #174e5844)}
.retention-moment:not([data-kind=progress]) strong{color:#fff2a8;text-shadow:0 2px 0 #275759,0 0 9px #eab94099}
.retention-moment .moment-detail{white-space:normal;line-height:1.15;font-weight:700;color:inherit}
.retention-moment:not([data-kind=progress])::before,.retention-moment:not([data-kind=progress])::after{content:'✦';position:absolute;color:#ffd66e;font-size:21px;pointer-events:none;animation:lexySpark 1s ease-out 2}
.retention-moment::before{left:-9px;top:-5px}.retention-moment::after{right:0;bottom:-7px;animation-delay:.2s!important}
.retention-moment[data-kind=all] .moment-icon,.retention-moment[data-kind=weekly] .moment-icon{animation:lexyMedal .65s ease-out 2}
@keyframes lexySpark{0%{opacity:0;transform:scale(.2) rotate(0)}45%{opacity:1;transform:scale(1.3) rotate(50deg)}100%{opacity:0;transform:translateY(-8px) scale(.4) rotate(90deg)}}
@keyframes lexyMedal{50%{transform:rotate(-14deg) scale(1.3)}}
html[data-visual-style=sketch] .retention-moment:not([data-kind=progress]) strong{color:#245b5b;text-shadow:0 1px 0 #fff4cf,0 0 9px #ffdfa6}
#over .card{padding:20px 24px}#over .card h2{font-size:38px;margin:5px 0}#over #outfitPortrait{width:110px;height:101px;margin:3px auto}#over #finalLook{margin:4px 0;font-size:16px}#over #overReason{margin:3px 0;font-size:13px}#over .results{margin:12px 0;gap:25px}#over .results strong{font-size:30px}#over .results small{font-size:11px}
#over .score-form{border-top:0;margin:10px 0 14px;padding:0;text-align:left}#over .score-form label{font-size:12px;margin-bottom:6px;display:block}#over .submit-row{gap:7px}#over #playerName{font-size:16px;min-width:0;padding:10px;min-height:44px}#over #submitScore{font-size:13px;padding:10px;min-height:44px}#over #submissionStatus:empty{display:none}#over #submissionStatus{font-size:12px;margin:6px 0}#over #again{width:100%;min-height:52px;padding:13px 20px}
#over .run-progress li[data-kind=level]{font-size:16px}#over .run-progress{margin-top:15px;font-size:12px}#over .run-progress ul{gap:7px}
#lexyHistory .history-save-row [role=status]:empty{display:none}#lexyHistory .history-save-row{justify-content:flex-end}
@media(prefers-reduced-motion:reduce){.retention-moment::before,.retention-moment::after,.retention-moment .moment-icon{animation:none!important}}

#leaderboardJoined{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px}#leaderboardStop{font-size:11px;padding:6px;background:transparent;color:inherit}#leaderboardRetryScores{font-size:13px;padding:7px}#submissionStatus{font-size:12px;line-height:1.3;margin:5px 0}.retention-moment[hidden]{display:none}

#leaderboardJoined[hidden]{display:none}

/* One secondary homepage action; no empty installation slot at any breakpoint. */
#intro .home-secondary-actions{display:flex;justify-content:center;margin:14px 0 0}
#intro #leaderboardOpen{flex:none;width:100%;max-width:100%;min-width:0;margin:0;padding:12px 18px;min-height:48px;font-size:16px;line-height:1.3;border-radius:22px}
/* Focused objective popups keep the homepage composition still. */
#intro .home-challenge-open{display:flex;align-items:center;gap:9px;width:100%;min-height:57px;padding:8px 0;border:0;border-top:1px solid #28595918;border-radius:0;background:none;box-shadow:none;color:inherit;text-align:left;font:inherit;cursor:pointer}
.home-challenge-open>span:nth-child(2){flex:1;min-width:0}.home-challenge-open strong{display:block;font-size:16px}.home-challenge-open small{display:block;font-size:12px;margin-top:3px}
.challenge-dialog{box-sizing:border-box;width:min(460px,calc(100% - 28px));max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:0 22px 20px;border:0;border-radius:28px;background:#fff8e8;color:#28595b;overflow-y:auto;box-shadow:0 18px 60px #133d4933}
.challenge-dialog::backdrop{background:#173e4b65;backdrop-filter:blur(4px)}
.challenge-dialog header{pointer-events:auto;position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 0 14px;background:#fff8e8}
.challenge-eyebrow{font-size:11px;letter-spacing:1px;font-weight:700;color:#a37922}.challenge-dialog h2{font:500 28px/1.1 Fredoka,sans-serif;margin:5px 0 0}
.challenge-close{flex:none;width:44px;height:44px;border:0;border-radius:50%;background:#28595b;color:#fff8e8;font-size:23px}.challenge-reset,.challenge-status{font-size:12px;line-height:1.4;margin:0 0 12px}.challenge-status:empty{display:none}
.challenge-dialog .home-missions{padding:0;counter-reset:mission}
.challenge-dialog .shell-objective{padding:18px 28px 18px 48px;border-top:1px solid #28595920;counter-increment:mission}
.challenge-dialog .shell-objective::before{content:counter(mission);position:absolute;left:0;top:20px;width:33px;height:33px;display:grid;place-items:center;border-radius:50%;background:#efd891;color:#28595b;font:500 20px Fredoka,sans-serif}
.challenge-dialog .shell-objective[data-complete=true]::before{content:'✓';background:#cce5db}.challenge-dialog .shell-objective small{font-size:12px;color:#6e7770}.challenge-dialog .shell-objective b{font:500 21px/1.2 Fredoka,sans-serif;margin:5px 0}.challenge-dialog .mission-count{font-size:16px}.challenge-dialog .mission-mark{display:none}
.challenge-dialog .shell-weekly{font:500 28px/1.2 Fredoka,sans-serif;margin:18px 0}.challenge-dialog .weekly-count{display:block;font:500 36px Fredoka,sans-serif;color:#b08021}
.challenge-dialog .home-milestones{justify-content:space-between;gap:8px;margin:24px 0 12px}.challenge-dialog .home-milestones>span{font-size:14px;text-align:center;flex:1;border-bottom:4px solid #dfd7be;padding:12px 0}.challenge-dialog .home-milestones [data-complete=true]{border-color:#2f8981}
.challenge-reward{font-size:13px;line-height:1.5;text-align:center;margin:15px 0}.challenge-done{display:block;width:100%;min-height:46px;border:0;border-radius:24px;background:#28595b;color:#fff8e8;font:500 18px Fredoka,sans-serif}
@media(max-width:760px){#intro .home-challenge-open{gap:7px;min-height:54px}.home-challenge-open strong{font-size:14px}.home-challenge-open small{font-size:11px}}
/* A compact end-of-run keepsake, with a clear Level highlight and quieter details. */
#over .run-progress{border:0;padding:0;margin:18px 0 12px;text-align:left}
#over .run-progress-title{display:block;font-size:19px;letter-spacing:-.02em;margin-bottom:10px}
#over .run-progress ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;margin:0}
#over .run-progress li{display:flex;align-items:flex-start;gap:8px;min-width:0;font-size:14px;line-height:1.35}
#over .run-change-icon{flex:0 0 26px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#f6df9e;color:#845227;font-size:19px}
#over .run-change-body{min-width:0;flex:1}
#over .run-change-label{display:block;font:600 10px/1.4 system-ui,sans-serif;letter-spacing:.055em;color:#61766c;margin-bottom:3px;overflow-wrap:anywhere}
#over .run-change-value{display:block;font:500 16px/1.25 Fredoka,sans-serif;overflow-wrap:anywhere}
#over .run-change-detail{display:block;font-size:12px;color:#58736d;margin-top:4px;overflow-wrap:anywhere}
#over .run-progress li[data-kind=level]{grid-column:1 / -1;background:linear-gradient(110deg,#f4e1a8,#fff0ce);border-radius:18px 5px 18px 5px;padding:12px;align-items:center}
#over .run-progress li[data-kind=level] .run-change-icon{background:transparent;font-size:32px;flex-basis:36px}
#over .run-progress li[data-kind=level] .run-change-value{font-size:24px}
#over .run-progress li[data-kind=level] progress{display:block;width:100%;height:5px;border:0;margin:8px 0 5px;accent-color:#287b78;border-radius:5px;overflow:hidden}
#over .run-progress progress::-webkit-progress-bar{background:#fff9ea}
#over .run-progress progress::-webkit-progress-value{background:#287b78}
#over .run-progress li[data-kind=complete],#over .run-progress li[data-kind=closet],#over .run-progress li[data-kind=status]{grid-column:1 / -1}
#over .run-progress li[data-kind=complete] .run-change-icon{background:#28595b;color:#fff9ea}
#over #historyOver{font-size:14px;margin:12px auto 0;padding:9px 18px}
@media(max-width:350px){#over .run-progress ul{grid-template-columns:minmax(0,1fr)}#over .run-progress li[data-kind=level] .run-change-value{font-size:22px}}
.home-outfit{display:block;font-size:11px;line-height:1.3;margin-top:7px;color:#58736d;overflow-wrap:anywhere}
/* Reuse the wordmark slot; no additional HUD row or playfield displacement. */
.profile-identity{display:none;position:fixed;z-index:5;left:16px;top:calc(19px + env(safe-area-inset-top));width:calc(100% - 202px);max-width:260px;pointer-events:none;color:#fff9ea;text-shadow:0 1px 3px #174d4d,0 0 7px #174d4d;line-height:1.2}
body.playing .profile-identity{display:block}body.playing .wordmark{visibility:hidden}
.profile-identity strong{display:block;font:500 18px/1.2 Fredoka,sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-identity span{display:block;font-size:11px;line-height:1.2;margin-top:3px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

html[data-visual-style=sketch] .profile-identity{color:#245b5b;text-shadow:0 1px 4px #fff8e7,0 0 8px #fff8e7}
@media(min-width:761px){.profile-identity{left:42px;top:28px;width:260px}}
/* The homepage is a game shell: full-width player rail, open hero, shared action dock. */
#intro .intro-copy{width:100%;max-width:none}
#intro #homeIdentity{font:inherit;text-align:left;cursor:pointer;border-inline:0;display:flex;align-items:center;gap:12px;width:calc(100% + 12vw);max-width:none;margin:0 -6vw 22px;padding:6px 6vw;border-radius:0;background:#fff9ece8;border-block:1px solid #28595b18;color:#245557;min-height:64px;box-shadow:none}
#homeIdentity canvas{position:static;inset:auto;width:53px;height:49px;flex:none;touch-action:auto}
#homeIdentity .home-level{display:grid;grid-template-columns:minmax(85px,150px) minmax(0,1fr);align-items:center;gap:4px 20px;min-width:0;padding:0;flex:1;max-width:700px}
#homeIdentity .shell-level{grid-column:1;font-size:21px;line-height:1.15}
#homeIdentity .home-level progress{grid-column:1;grid-row:2;height:4px;margin:0}
#homeIdentity .home-outfit{grid-column:2;grid-row:1 / 3;font-size:14px;line-height:1.25;margin:0;padding-left:18px;border-left:1px solid #28595b25;color:#28595b}
#intro .retention-home{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:560px;min-width:0;margin:clamp(60px,12svh,130px) 0 14px;padding:12px 0;border-radius:0;background:#fff9eceb;border-block:1px solid #28595b18;box-shadow:none}
#intro .retention-home .home-challenge-open,#intro .retention-home #historyOpen{display:flex;flex-direction:column;justify-content:center;text-align:center;align-items:center;gap:4px;width:100%;min-width:0;min-height:75px;padding:3px 8px;border:0;margin:0;border-radius:0;background:transparent}
#intro .retention-home #open-week,#intro .retention-home #historyOpen{border-left:1px solid #28595b20}
#intro .retention-home .home-chevron{display:none}
#intro .retention-home .home-symbol{font-size:24px;width:auto;line-height:1}
#intro .retention-home strong{font-size:15px;line-height:1.2}
#intro .retention-home small{font-size:11px;line-height:1.25;margin-top:3px}
#intro .retention-home #historyOpen>span:nth-child(2){flex:0}
#intro #start,#intro .home-secondary-actions{max-width:560px}
#intro #start{margin-top:0}
@media(max-width:760px){
 #intro{padding-top:calc(82px + env(safe-area-inset-top))}
 #intro #homeIdentity{margin-bottom:18px}
 #homeIdentity .home-level{grid-template-columns:minmax(75px,110px) minmax(0,1fr);gap:4px 12px}
 #homeIdentity .home-outfit{font-size:12px;padding-left:12px}
 #homeIdentity .shell-level{font-size:20px}
 #intro h1{font-size:clamp(44px,12vw,64px);max-width:80%}
 #intro .tagline{max-width:76%}
 #intro .retention-home{margin-top:clamp(65px,12svh,120px);margin-bottom:12px}
 #intro .home-secondary-actions{margin-top:12px}
}
@media(max-width:350px){
 #homeIdentity canvas{width:43px;height:40px}
 #homeIdentity .home-level{grid-template-columns:80px minmax(0,1fr);gap:4px 8px}
 #homeIdentity .shell-level{font-size:18px}
 #homeIdentity .home-outfit{font-size:11px;padding-left:8px}
 #intro .retention-home strong{font-size:13px}
 #intro .retention-home small{font-size:10px}
}
/* One in-flow homepage rail: no floating controls above scrolling content. */
body.home-shell #game>header{display:none}
#intro{padding-top:env(safe-area-inset-top)}
#homePlayerBar{display:flex;align-items:center;gap:12px;width:calc(100% + 12vw);margin:0 -6vw 24px;padding:10px 6vw;background:#f3f0e6;border-bottom:1px solid #28595b18;position:static;isolation:isolate}
#intro #homeIdentity{flex:1;min-width:0;width:auto;min-height:52px;margin:0;padding:0;border:0;background:transparent;gap:9px}
#homeIdentity .home-level{display:flex;flex-direction:column;align-items:flex-start;gap:3px;max-width:240px}
#homeIdentity .home-level progress{width:100%;max-width:150px;flex:none}
#homeIdentity .home-outfit{font-size:11px;padding:0;border:0;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#homeUtilities{display:flex;align-items:center;gap:8px;flex:none;border-left:1px solid #28595b35;padding-left:8px}
#homeUtilities .instagram-profile{position:static;height:44px;min-width:58px;padding:4px;gap:3px;background:transparent;border-radius:12px;flex-wrap:wrap;justify-content:center}
#homeUtilities .instagram-copy{display:none}
#homeUtilities .instagram-avatar{width:28px;height:28px;flex:none}
#homeUtilities .instagram-profile svg{width:16px;height:16px;opacity:1}
:is(#homeUtilities,.header-controls) #sound{width:52px;height:44px;min-width:52px;padding:0 0 0 8px;font-size:0;border:0;border-left:1px solid #28595b35;border-radius:0;background:transparent;box-shadow:none}
:is(#homeUtilities,.header-controls) #sound::before{content:'🔊';font-size:24px}
:is(#homeUtilities,.header-controls) #sound[aria-label="Turn sound on"]::before{content:'🔇'}
#homeUtilities a:focus-visible,#homeUtilities button:focus-visible,#homeIdentity:focus-visible{outline:3px solid #db6749;outline-offset:3px}
@media(max-width:760px){#intro{padding-top:env(safe-area-inset-top)}#intro #homeIdentity{margin:0}#homePlayerBar{gap:8px;margin-bottom:20px}#homeIdentity canvas{width:44px;height:44px}#homeIdentity .shell-level{font-size:19px}}
@media(max-width:350px){#homePlayerBar{gap:4px}#homeUtilities{gap:2px}#homeIdentity canvas{width:36px;height:38px}#homeIdentity .shell-level{font-size:17px}#homeIdentity .home-outfit{font-size:10px}}

/* Blend the portrait’s pale paper backing into this rail only; keep source art intact. */
#homePlayerBar #homeIdentity canvas{mix-blend-mode:darken;background:transparent}
/* Art gets its own stage. Mission launchers belong to the action area below it. */
html:not([data-visual-style="sketch"]) #intro,html[data-visual-style="sketch"] #intro{background:#f5eddc;background-image:none}
#intro .intro-copy::before{display:none}
#homePlayerBar{margin-bottom:0}
.home-hero{aspect-ratio:9 / 16;height:auto;width:calc(100% + 12vw);margin:0 -6vw;padding:24px 6vw;box-sizing:border-box;background-color:#f5eddc;background-image:url("/home-mediterranean.webp");background-size:100% 100%;background-position:center;background-repeat:no-repeat}
#intro .home-hero h1{font-size:clamp(44px,8vw,80px)}
#intro .home-hero .tagline{font-size:15px;max-width:300px}
#intro .retention-home{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:calc(100% + 12vw);max-width:none;min-width:0;margin:0 -6vw 16px;padding:12px 6vw;background:#fff9ea;border-block:1px solid #28595b25;gap:0;box-shadow:none}
#intro .retention-home .home-challenge-open,#intro .retention-home #historyOpen{flex-direction:column;text-align:center;justify-content:center;gap:5px;min-height:68px;padding:0 8px;border:0;border-radius:0;background:none}
#intro .retention-home #open-week,#intro .retention-home #historyOpen{border-left:1px solid #28595b25}
#intro .retention-home strong{font:500 16px/1.15 Fredoka,sans-serif}
#intro .retention-home small{font-size:11px}
#intro .retention-home .home-symbol{font-size:24px}
#intro .retention-home #historyOpen small{display:block}

@media(max-width:760px){
 #homePlayerBar{margin-bottom:0}
 #intro .home-hero h1{max-width:100%;font-size:clamp(43px,11.5vw,64px)}
 #intro .home-hero .tagline{max-width:85%;font-size:14px;line-height:1.25}
 #intro .home-hero .style-toggle{margin-top:0}
 
}
@media(max-width:350px){#intro .retention-home .home-challenge-open{padding:8px;gap:5px}#intro .retention-home strong{font-size:14px}}

/* Keep the supplied portrait photograph whole, including on wide displays. */
@media(min-width:761px){
 #intro .home-hero{width:min(100%,560px);margin-inline:auto;padding:28px;}
 #intro .home-hero h1{font-size:64px}
 #intro .retention-home{width:min(100%,560px);margin:0 auto 16px;padding:12px 0}
 #intro #start,#intro .home-secondary-actions{display:block;margin-left:auto;margin-right:auto}
 #intro .best-intro{margin-left:auto;margin-right:auto}
}
/* Fit the complete home shell to Safari's visible viewport; details use dialogs. */
html #intro{height:100%;height:100dvh;padding:env(safe-area-inset-top) 0 calc(22px + env(safe-area-inset-bottom));overflow-y:auto;box-sizing:border-box}
#intro .intro-copy{display:flex;flex-direction:column;min-height:0;height:100%;width:100%;max-width:none;padding:0;margin:0}
#intro #homePlayerBar{flex:none;width:100%;margin:0;padding:7px 5%;min-height:62px}
#intro .home-hero{flex:1;min-height:145px;width:100%;max-width:none;height:auto;aspect-ratio:auto;margin:0;padding:18px 5%;background-size:cover;background-position:center bottom;background-color:#83c8ed}
#intro .home-hero h1{font-size:clamp(36px,10vw,56px);max-width:100%;margin-bottom:7px}
#intro .home-hero .tagline{font-size:13px;line-height:1.25;margin-bottom:10px}
#intro .home-hero .style-toggle{min-height:32px;margin:0}
#intro .home-hero .style-toggle button{min-height:32px;padding:6px 14px;font-size:12px}
#intro .retention-home{flex:none;width:100%;max-width:none;margin:0;padding:8px 4%;min-height:76px}
#intro .retention-home .home-challenge-open,#intro .retention-home #historyOpen{min-height:58px;padding:0 5px;gap:3px}
#intro .retention-home .home-symbol{font-size:20px}
#intro .retention-home strong{font-size:14px}
#intro .retention-home small{font-size:10px}
#intro .home-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.55fr);gap:10px;flex:none;margin:10px 5% 6px}
#intro .home-actions #start,#intro .home-actions #leaderboardOpen{min-width:0;width:100%;max-width:none;min-height:52px;margin:0;padding:12px 8px;white-space:nowrap}
#intro .home-actions #start{font-size:19px}
#intro .home-actions #start span{margin-left:8px}
#intro .home-actions #leaderboardOpen{font-size:14px}
#intro .best-intro{flex:none;text-align:center;font-size:11px;line-height:1.2;margin:5px auto 0;padding:0;background:none}
#intro .best-intro strong{font-size:13px}

@media(min-width:761px){#intro .home-hero{padding-left:8%;background-position:70% center}#intro .home-actions{width:min(560px,90%);margin-left:auto;margin-right:auto}#intro .retention-home{padding-inline:max(5%,calc((100% - 560px)/2))}}
@media(max-height:620px){#intro #homeIdentity{min-height:44px}#intro #homePlayerBar{min-height:54px;padding-block:5px}#intro .home-hero{padding-top:10px}#intro .home-hero h1{font-size:36px}#intro .retention-home{padding-block:6px;min-height:65px}#intro .retention-home .home-challenge-open,#intro .retention-home #historyOpen{min-height:50px}#intro .home-actions{margin-top:8px}#intro .home-actions #start,#intro .home-actions #leaderboardOpen{min-height:46px;padding:9px 6px}}
/* Defined, balanced hit targets in the player bar. */
#intro #homePlayerBar{gap:8px;background:#f3f0e6}
#intro #homeIdentity{background:#fff9ea;border:1px solid #28595b16;border-radius:14px;padding:5px 8px;min-height:52px;gap:7px}
#homeUtilities{border:0;padding:0;gap:8px}
#homeUtilities .instagram-profile,:is(#homeUtilities,.header-controls) #sound{display:flex;align-items:center;justify-content:center;box-sizing:border-box;height:48px;min-height:48px;padding:0;border:1px solid #28595b16;border-radius:14px;background:#fff9ea;box-shadow:0 2px 0 #28595b10}
#homeUtilities .instagram-profile{width:62px;min-width:62px;gap:3px;flex-wrap:nowrap}
:is(#homeUtilities,.header-controls) #sound{width:48px;min-width:48px;line-height:1}
:is(#homeUtilities,.header-controls) #sound::before{display:block;line-height:1}
#homeUtilities a:hover,#homeUtilities button:hover,#intro #homeIdentity:hover{background:#fffdf5}
#homeUtilities a:active,#homeUtilities button:active,#intro #homeIdentity:active{transform:translateY(1px)}
@media(max-width:350px){#intro #homePlayerBar{padding-inline:12px;gap:6px}#homeUtilities{gap:6px}#homeUtilities .instagram-profile{width:56px;min-width:56px}#intro #homeIdentity{padding-inline:5px;gap:5px}}
:is(#homeUtilities,.header-controls) #sound::before{content:'';width:23px;height:23px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 4 5 9H2v6h3l6 5zM15 8a6 6 0 0 1 0 8M18 5a10 10 0 0 1 0 14'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}
:is(#homeUtilities,.header-controls) #sound[aria-label="Turn sound on"]::before{content:'';mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 4 5 9H2v6h3l6 5zM16 9l6 6m0-6-6 6'/%3E%3C/g%3E%3C/svg%3E")}
/* On taller phones, trim spare sky rather than introducing side bands. */
@media(min-height:650px) and (max-width:760px){
 html:not([data-visual-style="sketch"]) #intro .home-hero{background-size:cover;background-position:center bottom}
 #intro .home-hero h1{font-size:36px;max-width:190px}
 #intro .home-hero .tagline{max-width:170px;font-size:12px}
 #intro .home-hero .style-toggle button{padding-inline:12px}
}
/* Each mission has its own target-scaled, confirmed progress meter. */
.challenge-dialog .mission-progress{display:block;appearance:none;-webkit-appearance:none;width:100%;height:12px;margin:12px 0 7px;border:0;border-radius:8px;overflow:hidden;background:#28595b16;accent-color:#dbaa39}
.challenge-dialog .mission-progress::-webkit-progress-bar{background:#28595b16;border-radius:8px}
.challenge-dialog .mission-progress::-webkit-progress-value{background:linear-gradient(90deg,#e4b348,#f0cc6e);border-radius:8px;transition:width .25s ease}
.challenge-dialog .mission-progress::-moz-progress-bar{background:#e4b348;border-radius:8px}
.challenge-dialog [data-complete=true] .mission-progress{accent-color:#287b78}
.challenge-dialog [data-complete=true] .mission-progress::-webkit-progress-value{background:#287b78}
.challenge-dialog [data-complete=true] .mission-progress::-moz-progress-bar{background:#287b78}
.challenge-dialog [data-complete=true] .mission-count{color:#287b78}
@media(prefers-reduced-motion:reduce){.challenge-dialog .mission-progress::-webkit-progress-value{transition:none}}
.challenge-dialog .weekly-progress{display:block;appearance:none;-webkit-appearance:none;width:100%;height:14px;margin:14px 0 8px;border:0;border-radius:9px;overflow:hidden;background:#28595b16;accent-color:#287b78}
.challenge-dialog .weekly-progress::-webkit-progress-bar{background:#28595b16}
.challenge-dialog .weekly-progress::-webkit-progress-value{background:#287b78;border-radius:9px}
.challenge-dialog .weekly-progress::-moz-progress-bar{background:#287b78;border-radius:9px}
.challenge-dialog .weekly-next{font-size:14px;color:#28595b;font-weight:600;margin:8px 0 16px;line-height:1.4}
.challenge-dialog .home-milestones{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}
.challenge-dialog .home-milestones>span{white-space:pre-line;font-size:11px;line-height:1.65;padding:8px 4px;border:0;border-top:4px solid #dfd7be;border-radius:4px 4px 0 0;overflow-wrap:anywhere}
.challenge-dialog .home-milestones>span::first-line{font-size:16px;font-weight:700}
.challenge-dialog .home-milestones [data-complete=true]{border-top-color:#287b78;background:#287b780b}
.challenge-dialog .home-milestones [data-next=true]{border-top-color:#dbaa39;background:#edcd7220}

/* Sketch uses the original lower-positioned composition in the new bounded hero. */
html[data-visual-style="sketch"] #intro .home-hero{background-color:#f1e8d7;background-image:url("/home-sketch-wide.webp");background-size:cover;background-position:center bottom;background-repeat:no-repeat}
@media(max-width:760px){html[data-visual-style="sketch"] #intro .home-hero{background-image:url("/home-sketch-portrait.webp");background-position:center bottom}}

/* Short visual guide: one symbol key, collections, hazards, then bonuses. */
#tutorial .tutorial-content{padding:20px}
#tutorial h2{font-size:27px;margin:0 0 10px}
#tutorial .points-key{display:flex;justify-content:center;gap:22px;margin:0 0 18px;font-size:13px;line-height:1.4}
#tutorial .points-key span{display:flex;align-items:center;gap:6px}
#tutorial .points-key b{font-size:19px;color:#287477}
#tutorial .points-key span+span b{color:#287477}
#tutorial .guide-group{padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid #28595b20}
#tutorial .guide-group h3{font-size:17px;align-items:center;margin-bottom:8px}
#tutorial .guide-group h3 span{font-size:12px}
#tutorial .guide-items figcaption{font-size:12px;line-height:1.4}
#tutorial .good-items .guide-item{width:51px;height:51px}
#tutorial .bad-items{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
#tutorial .bad-items .guide-item{width:38px;height:38px}
#tutorial .guide-bonus{padding:8px 10px}
#tutorial .guide-controls{font-size:12px;margin:12px 0}
#tutorial #tutorialStart{width:100%;margin:0;font-size:18px}
@media(min-width:600px){#tutorial .bad-items{grid-template-columns:repeat(8,minmax(0,1fr))}}

#tutorial .good-items figcaption{white-space:pre-line}
/* Help is a home utility, never a gameplay overlay. */
#homeUtilities #helpOpen{display:grid;place-items:center;width:44px;min-width:44px;height:48px;padding:0;border:1px solid #28595b16;border-radius:14px;background:#fff9ea;color:#28595b;font:700 23px Nunito,sans-serif;box-shadow:0 2px 0 #28595b10}
#homeUtilities #helpOpen span{display:grid;place-items:center;width:25px;height:25px;border:2px solid currentColor;border-radius:50%;font-size:18px}
@media(max-width:430px){#homeUtilities{gap:4px}#homeUtilities .instagram-profile{width:48px;min-width:48px}#homeUtilities .instagram-avatar{width:24px;height:24px}:is(#homeUtilities,.header-controls) #sound{width:44px;min-width:44px}#intro #homeIdentity{padding-inline:5px;gap:5px}#homeIdentity canvas{width:36px;height:38px}#homeIdentity .shell-level{font-size:18px}#homeIdentity .home-outfit{font-size:10px}}
#gameHelp{width:min(540px,calc(100% - 28px));max-height:calc(100dvh - 28px);padding:0;border:0;border-radius:24px;background:#fff9ea;color:#28595b;overflow:auto;box-shadow:0 20px 70px #173f4b44}
#gameHelp::backdrop{background:#21494c70}
#gameHelp header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff9ea;padding:18px 20px 12px}
#gameHelp h2{margin:0;font-size:25px}#gameHelp h3{margin:0 0 5px;font-size:17px}
#gameHelp header .help-close{min-width:44px;min-height:44px;border:0;border-radius:50%;background:#28595b;color:#fff;font-size:19px}
#gameHelp .help-body{padding:0 20px 20px}#gameHelp p{font-size:14px;line-height:1.5;margin:6px 0 12px}
#gameHelp .help-lead{font-size:15px}#gameHelp .help-move{display:flex;align-items:center;gap:14px;border-block:1px solid #28595b22;padding:8px 0;margin-bottom:12px}#gameHelp .help-move>span{white-space:nowrap;font-size:22px}
#gameHelp .help-picture-row{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:center;margin:12px 0}#gameHelp canvas{width:64px;height:64px}
#gameHelp section,#gameHelp details{border-top:1px solid #28595b22;padding:14px 0 0;margin-top:14px}
#gameHelp summary{cursor:pointer;font-weight:700;min-height:36px}#gameHelp .help-draft{font-size:12px;color:#76634b}
#gameHelp .help-done{display:block;width:100%;border-radius:16px;margin-top:18px}
.mission-art{display:block;object-fit:contain;pointer-events:none}
#challenge-today .shell-objective{grid-template-columns:58px minmax(0,1fr) auto;column-gap:12px}
#challenge-today .shell-objective>.mission-art{width:58px;height:66px;grid-column:1;grid-row:1 / 5}
#challenge-today .shell-objective>div,#challenge-today .shell-objective>.mission-progress,#challenge-today .shell-objective>.mission-count{grid-column:2 / 4}
#challenge-today .shell-objective small,#lexyHistory .daily-card>strong{display:table;width:auto;padding:3px 9px;border-radius:7px;font-size:12px;font-weight:800;background:var(--tier-bg);color:var(--tier-ink);margin-bottom:7px}
[data-difficulty="easy"]{--tier-bg:#dfeddc;--tier-ink:#315b38}
[data-difficulty="medium"]{--tier-bg:#f8e8b4;--tier-ink:#765616}
[data-difficulty="hard"]{--tier-bg:#f5d9ce;--tier-ink:#873d2c}
#lexyHistory .daily-token.mission-art{width:58px;height:66px;padding:0;background:none;border-radius:0}
#challenge-week .weekly-art,#lexyHistory .weekly-art{width:100px;height:100px;margin:10px auto}
.challenge-reward:empty{display:none}
#challenge-today .shell-objective{display:grid;padding:14px 0}
#challenge-today .shell-objective::before{display:none}
#lexyHistory .daily-card{grid-template-columns:58px minmax(0,1fr)}
#lexyHistory .daily-token.mission-art{transform:none}
#gameHelp a{color:#256567;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
#gameHelp canvas{position:static;display:block;inset:auto;pointer-events:none;touch-action:auto}
#gameHelp .help-picture-row>div{grid-column:2;min-width:0}
.mission-art{position:static;inset:auto;touch-action:auto}
#gameHelp header,#gameHelp .help-close{pointer-events:auto}
#lexyHistory #avatarEdit{grid-column:2;justify-self:start;border:0;border-bottom:1px solid currentColor;background:none;padding:4px 0;color:#28595b;font:700 13px Nunito,sans-serif;min-height:32px;margin-bottom:6px}
#lexyHistory .history-avatar{grid-row:1 / 6}
#avatarPicker{width:min(520px,calc(100% - 28px));max-height:calc(100dvh - 28px);border:0;border-radius:24px;padding:0 18px 18px;background:#fff9ea;color:#28595b;overflow:auto}
#avatarPicker::backdrop{background:#21494c70}
#avatarPicker header{position:sticky;top:0;z-index:1;pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff9ea;padding:18px 0 12px}
#avatarPicker h2{font-size:23px;margin:0}#avatarPicker p{font-size:14px;line-height:1.4}
#avatarClose{width:44px;min-width:44px;height:44px;pointer-events:auto;border:0;border-radius:50%;background:#28595b;color:white}
.avatar-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.avatar-options button{position:relative;border:2px solid transparent;border-radius:14px;padding:6px;background:#f3ead2;color:#28595b;font:700 12px Nunito,sans-serif;min-width:0}
.avatar-options button[aria-pressed=true]{border-color:#287477;background:#deeee5}
.avatar-options button[aria-pressed=true]::after{content:'✓';position:absolute;right:6px;top:4px;color:#287477;font-weight:900}
.avatar-options canvas{position:static;display:block;width:100%;height:auto;mix-blend-mode:multiply;pointer-events:none}
#avatarSave{display:block;width:100%;min-height:46px;border:0;border-radius:16px;background:#28595b;color:white;font:700 16px Nunito,sans-serif}
#avatarSave:disabled{opacity:.5}.run-outfit-label{display:block;font-size:12px;color:#68786b;margin-top:6px}
/* Explicit cumulative XP and destination of the Level meter. */
#homeIdentity .home-xp{font-size:11px;font-weight:800;color:#28595b;line-height:1.2}
#homeIdentity .home-next{font-size:10px;color:#526c66;line-height:1.2}
#homeIdentity .home-level{min-width:0}
#homeIdentity .home-xp{overflow-wrap:anywhere}
.xp-flight{position:fixed;left:0;top:0;z-index:100;pointer-events:none;color:#d6a236;font-size:22px;text-shadow:0 1px 3px #fff9ea}
.xp-arrival{position:fixed;z-index:100;pointer-events:none;background:#fff5ce;color:#28595b;border-radius:18px;padding:8px 12px;font:800 14px Nunito,sans-serif;box-shadow:0 3px 12px #28595b22}
#intro #homeIdentity.xp-received{box-shadow:0 0 0 3px #e6bb56;background:#fff5ce}

#lexyHistory #avatarEdit{justify-self:start;min-height:36px;min-width:64px;padding:7px 16px;border:1px solid #28595b28;border-radius:999px;background:#fff9ea;color:#28595b;font:800 13px Nunito,sans-serif;box-shadow:0 2px 0 #28595b14;text-decoration:none;cursor:pointer}
#lexyHistory #avatarEdit:hover{background:#fffdf5;border-color:#28595b66}
#lexyHistory #avatarEdit:active{transform:translateY(1px);box-shadow:none}
#lexyHistory #avatarEdit:focus-visible{outline:3px solid #d66b4a;outline-offset:3px}

/* Compact profile chrome: destination beside Level, one XP line below the meter. */
#homeIdentity .home-level{display:grid;grid-template-columns:auto 1fr;gap:3px 8px;align-items:center;flex:1;max-width:240px}
#homeIdentity .shell-level{grid-column:1;grid-row:1;white-space:nowrap}
#homeIdentity .home-next{grid-column:2;grid-row:1;justify-self:end;font-size:11px;white-space:nowrap}
#homeIdentity .home-level progress{grid-column:1 / -1;grid-row:2;max-width:none;width:100%;height:5px}
#homeIdentity .home-xp{grid-column:1 / -1;grid-row:3;font-size:11px}
#homePlayerBar #homeIdentity .home-outfit{display:none}

.leaderboard-level{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;min-width:25px;height:25px;padding:0 4px;box-sizing:border-box;margin-right:6px;border-radius:50%;background:#28595b;color:#fff9ea;font:800 12px Nunito,sans-serif;border:2px solid #e7c67b;font-variant-numeric:tabular-nums}

/* Rank leads every row; profile Level remains a separate small badge. */
#leaderboardList li{grid-template-columns:minmax(26px,auto) 46px minmax(0,1fr) auto;gap:8px;padding:12px 8px;margin-bottom:5px}
#leaderboardList .rank{position:static;background:none;box-shadow:none;border-radius:0;width:auto;height:auto;font:700 23px Fredoka,sans-serif;color:#28595b;font-variant-numeric:tabular-nums}
#leaderboardList .leaderboard-avatar{width:46px;height:48px;box-shadow:none;background:transparent}
#leaderboardList .leaderboard-avatar canvas{width:46px;height:43px;mix-blend-mode:darken}
#leaderboardList .leaderboard-level{margin:0 0 0 5px;min-width:22px;height:22px;font-size:11px}
@media(max-width:350px){#leaderboardList li{grid-template-columns:minmax(22px,auto) 34px minmax(0,1fr) auto;gap:5px;padding-inline:4px}#leaderboardList .leaderboard-avatar,#leaderboardList .leaderboard-avatar canvas{width:34px;height:34px}#leaderboardList strong,#leaderboardList .rank-score{font-size:14px}}

#leaderboardList .leaderboard-level{border-radius:7px;padding:2px 6px;width:auto;min-width:35px;height:22px;border:1px solid #28595b22;background:#e0ece6;color:#28595b;font-size:11px;white-space:nowrap}

/* Compact gameplay sibling of the Home bar, inside the game's popup stack. */
body.playing #game>header{padding:8px 16px;min-height:64px;gap:10px;background:#fff9eaeF;border-bottom:1px solid #28595b14}
body.playing #game>header .wordmark{display:none}
body.playing .profile-identity{position:static;display:flex;align-items:center;gap:7px;flex:1;min-width:0;max-width:none;width:auto;color:#28595b;text-shadow:none;visibility:visible}
.profile-identity canvas{position:static;inset:auto;width:42px;height:44px;flex:0 0 42px;mix-blend-mode:darken}
.profile-identity>div{min-width:0}.profile-identity strong{font-size:18px}.profile-identity span{font-size:10px;white-space:nowrap;display:block;text-overflow:ellipsis;overflow:hidden}
body.playing .header-controls{gap:6px}body.playing #pause{border-radius:14px;background:#fff9ea;border:1px solid #28595b16;box-shadow:0 2px 0 #28595b10;padding:0 12px;height:44px;min-height:44px}
body.playing .header-controls #sound{width:44px;height:44px;min-width:44px;min-height:44px}
body[data-run-mode=over] #game>header{pointer-events:none}
/* Feedback sits below the existing HUD; it never replaces the player's identity. */
.retention-moment{left:50%;top:218px;transform:translateX(-50%);width:max-content;max-width:min(340px,calc(100% - 32px));max-height:none;padding:7px 14px;gap:9px;border-radius:30px;background:#fff9eaf2;color:#28595b;text-shadow:none;box-shadow:0 3px 12px #174e5822;z-index:6}
.retention-moment strong{font-size:18px}.retention-moment .moment-detail{font-size:12px}.retention-moment:not([data-kind=progress]) strong{color:#28595b;text-shadow:none}.retention-moment:not([data-kind=progress]){background:#ffedb7f5;border:1px solid #e6bb5d}.retention-moment[data-kind=progress] strong{font-size:14px}
@media(min-width:961px){.retention-moment{top:174px}}
#over .card{padding:16px 20px}#over .card h2{font-size:28px;margin:2px 0}#over #outfitPortrait{width:78px;height:72px;margin:0 auto}#over #finalLook{font-size:15px;margin:2px 0}#over #overReason{font-size:12px;margin:2px 0;line-height:1.3}#over .results{margin:8px 0;gap:24px}#over .results strong{font-size:28px}
#over .score-form{margin:8px 0 10px}#over .run-progress{margin:12px 0 8px}#over .run-progress-title{font-size:17px;margin-bottom:7px}#over .run-progress ul{gap:8px 10px}#over .run-progress li[data-kind=level]{padding:8px 10px;border-radius:12px}#over .run-progress li[data-kind=level] .run-change-value{font-size:20px}#over .run-change-label{margin-bottom:1px;font-size:9px}#over .run-change-value{font-size:14px}#over .run-change-detail{font-size:11px;margin-top:2px}#over .run-progress li[data-kind=level] progress{margin:5px 0 3px}#over #historyOver{margin-top:6px;min-height:40px}
#lexyHistory #avatarEdit[data-pointer-focus]:focus{outline:none}
body.playing.retention-speaking #callout{top:280px}
@media(min-width:961px){body.playing.retention-speaking #callout{top:238px}}

/* One short pickup pulse; current counts also remain visible during celebrations. */
.retention-moment[data-kind=progress]{background:#fff2c9f5;border:1px solid #e6bb5d;box-shadow:0 2px 10px #ad713729}
.retention-moment[data-kind=progress] .moment-icon{display:none}
.retention-moment[data-kind=progress] strong{font-size:16px}
.retention-moment .moment-live{display:block;font-size:11px;line-height:1.3;margin-top:4px;padding-top:4px;border-top:1px solid #28595b24;font-weight:700;color:#28595b}
.retention-moment .moment-live[hidden]{display:none}

#tutorial .guide-xp{display:flex;align-items:center;gap:12px;text-align:left;margin:0 0 12px;padding:10px 12px;background:#e7efe1;border-radius:14px}
#tutorial .guide-xp>b{font-size:27px;color:#287477}
#tutorial .guide-xp strong{font-size:15px}#tutorial .guide-xp p{font-size:12px;line-height:1.4;margin:3px 0 0}
#over .run-change-source{display:block;font-size:12px;font-weight:700;line-height:1.4;margin-top:5px;color:#28595b}

/* Completed objectives are visibly settled; unfinished rows keep the emphasis. */
#challenge-today .shell-objective[data-complete=true],#lexyHistory .daily-card.complete{background:#e5eddf;border-radius:14px;padding:14px 10px;border-bottom-color:transparent;box-shadow:inset 3px 0 #7b9d72}
#challenge-today .shell-objective[data-complete=true] small,#lexyHistory .daily-card.complete>strong{background:var(--tier-bg);color:var(--tier-ink)}
#challenge-today .shell-objective[data-complete=true] b,#lexyHistory .daily-card.complete>p{color:#52694b;font-weight:500}
#challenge-today .shell-objective[data-complete=true] .mission-art,#lexyHistory .daily-card.complete .daily-token{background:transparent;filter:saturate(.7);opacity:.85}
#challenge-today .shell-objective[data-complete=true] .mission-progress{accent-color:#77966c}
#challenge-today .shell-objective[data-complete=true] .mission-progress::-webkit-progress-value{background:#77966c}
#challenge-today .shell-objective[data-complete=true] .mission-progress::-moz-progress-bar{background:#77966c}
#challenge-week .home-week-detail[data-complete=true],#lexyHistory .history-weekly[data-complete=true]{background:#e5eddf;border-radius:16px;padding:14px 12px;box-shadow:inset 3px 0 #7b9d72}
#challenge-week .home-week-detail[data-complete=true] .weekly-next,#lexyHistory .history-weekly[data-complete=true] .weekly-message{color:#345b35;font-weight:700}

#challenge-today .shell-objective[data-complete=true],#lexyHistory .daily-card.complete{position:relative;padding-right:44px}
#challenge-today .shell-objective[data-complete=true] .mission-mark,#lexyHistory .daily-card.complete .mission-done{position:absolute;right:10px;top:15px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#427447;color:#fff9ea;font-size:17px;font-weight:800;line-height:1;margin:0}
#challenge-week .home-week-detail[data-complete=true],#lexyHistory .history-weekly[data-complete=true]{position:relative}
#lexyHistory .history-weekly[data-complete=true]>h3{padding-right:32px}
#challenge-week .home-week-detail[data-complete=true]::after,#lexyHistory .history-weekly[data-complete=true]::after{content:'✓';position:absolute;right:12px;top:15px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#427447;color:#fff9ea;font-size:17px;font-weight:800;line-height:1}

/* Shared completion palette across current objectives, milestones and history. */
:root{--completed-surface:#e5eddf;--completed-badge:#427447;--completed-ink:#345b35;--completed-track:#77966c}
#challenge-today .shell-objective[data-complete=true],#lexyHistory .daily-card.complete,#challenge-week .home-week-detail[data-complete=true],#lexyHistory .history-weekly[data-complete=true]{background:var(--completed-surface);border-color:transparent;box-shadow:none}
#challenge-today .shell-objective[data-complete=true] .mission-mark,#lexyHistory .daily-card.complete .mission-done,#challenge-week .home-week-detail[data-complete=true]::after,#lexyHistory .history-weekly[data-complete=true]::after,#lexyHistory .reached .weekly-marker{background:var(--completed-badge);border:0;color:#fff9ea;font-weight:800;box-shadow:none}
#lexyHistory .weekly-milestones .reached,#lexyHistory .weekly-milestones .reached small{color:var(--completed-ink)}
.challenge-dialog .home-milestones [data-complete=true]{background:var(--completed-surface);color:var(--completed-ink);border-color:transparent;border-radius:12px}
#challenge-week .home-week-detail[data-complete=true] .weekly-progress,#lexyHistory .history-weekly[data-complete=true] progress{accent-color:var(--completed-track)}
#challenge-week .home-week-detail[data-complete=true] .weekly-progress::-webkit-progress-value,#lexyHistory .history-weekly[data-complete=true] progress::-webkit-progress-value{background:var(--completed-track)}
#challenge-week .home-week-detail[data-complete=true] .weekly-progress::-moz-progress-bar,#lexyHistory .history-weekly[data-complete=true] progress::-moz-progress-bar{background:var(--completed-track)}
#retentionHome button[data-complete=true] .home-symbol{color:var(--completed-badge)}
#retentionHome button[data-complete=true] small{color:var(--completed-ink);font-weight:700}
#over .run-progress li[data-kind=complete]{background:var(--completed-surface);border-radius:12px;padding:8px}
#over .run-progress li[data-kind=complete] .run-change-icon{background:var(--completed-badge);border:0;color:#fff9ea}
.retention-moment[data-kind=daily] .moment-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--completed-badge);color:#fff9ea;border:0;text-shadow:none;font-size:22px}

.challenge-dialog .home-milestones [data-complete=true]::before{content:'✓';display:grid;place-items:center;width:25px;height:25px;margin:0 auto 5px;border-radius:50%;border:0;background:var(--completed-badge);color:#fff9ea;font-size:17px;font-weight:800;line-height:1}

/* Compact action targets: shared theme artwork, counts and XP instead of repeated nouns. */
.challenge-dialog .home-milestones>span{white-space:normal}
.challenge-dialog .home-milestones b{display:block;font-size:16px}
.challenge-dialog .home-milestones small{display:block;margin-top:5px;font-size:12px}
.milestone-quantity,#lexyHistory .weekly-milestone-target{display:flex;align-items:center;justify-content:center;gap:3px;margin:5px 0;font-style:normal}
.milestone-quantity em,#lexyHistory .weekly-milestone-target em{font-style:normal;font-weight:700;font-size:13px}
.milestone-quantity .milestone-icon,#lexyHistory .weekly-milestone-target .milestone-icon{width:25px;height:30px;flex:0 0 25px}

/* The pre-run tutorial fits the visible screen in either theme. */
#tutorial{box-sizing:border-box;width:min(560px,calc(100vw - 20px));max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);overflow:hidden}
#tutorial .tutorial-content{box-sizing:border-box;min-width:0;padding:16px;display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
#tutorial .tutorial-content>*{min-width:0;margin:0}
#tutorial h2{font-size:25px;line-height:1.15;margin:0}
#tutorial .points-key{margin:0;gap:18px}
#tutorial .guide-group{padding:0 0 7px;margin:0}
#tutorial .guide-group h3{margin:0 0 4px;font-size:15px}
#tutorial .guide-items{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
#tutorial .guide-item{max-width:100%}
#tutorial .good-items .guide-item{width:42px;height:42px}
#tutorial .bad-items .guide-item{width:30px;height:30px}
#tutorial .guide-items figcaption{font-size:11px;line-height:1.15;overflow-wrap:anywhere}
#tutorial .guide-xp{margin:0;padding:7px 10px;gap:8px}
#tutorial .guide-xp strong{font-size:14px}
#tutorial .guide-xp p{font-size:12px;line-height:1.25}
#tutorial .guide-bonuses{gap:8px}
#tutorial .guide-bonus{padding:6px 9px;min-width:0}
#tutorial .guide-bonus strong{min-height:26px;font-size:13px}
#tutorial .guide-bonus .guide-item,#tutorial .guide-bonus-icon{width:26px;height:26px;flex-basis:26px;font-size:23px}
#tutorial .guide-bonus p{font-size:12px;line-height:1.2}
#tutorial .guide-controls{font-size:12px;margin:0}
#tutorial .tutorial-actions{display:grid;grid-template-columns:1fr 2fr;gap:10px;align-items:stretch}
#tutorial #tutorialStart,#tutorial #tutorialBack{box-sizing:border-box;min-width:0;min-height:44px;width:100%;margin:0;padding:10px 12px;font-size:16px;line-height:1.2}
#tutorial #tutorialBack{grid-column:1;grid-row:1;border-radius:22px;background:#e2ebe0;color:#28595b;text-decoration:none}
#tutorial #tutorialStart{grid-column:2;grid-row:1}
@media(max-height:650px){
 #tutorial .tutorial-content{padding:12px;gap:7px}
 #tutorial h2{font-size:22px}
 #tutorial .points-key{display:none}
 #tutorial .good-items .guide-item{width:34px;height:34px}
 #tutorial .bad-items .guide-item{width:26px;height:26px}
 #tutorial .guide-group{padding-bottom:5px}
 #tutorial .guide-xp{padding:5px 8px}
}
@media(max-height:510px){
 #tutorial .tutorial-content{gap:5px;padding:10px}
 #tutorial .bad-items{grid-template-columns:repeat(8,minmax(0,1fr));gap:2px}
 #tutorial .bad-items figcaption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 #tutorial .guide-xp p br{display:none}
}

/* Quiet edge feedback, clear completion colour, no centre-screen celebration. */
.retention-moment{left:12px;right:auto;transform:none;top:218px;width:max-content;max-width:min(240px,calc(100% - 28px));padding:5px 9px;gap:6px;border-radius:10px;box-shadow:none;filter:none;text-align:left}
.retention-moment[data-kind=progress]{background:#fff9eadd;border:0;box-shadow:none}
.retention-moment strong,.retention-moment[data-kind=progress] strong{font:700 12px/1.25 Nunito,sans-serif;white-space:normal}
.retention-moment .moment-detail{font:600 11px/1.3 Nunito,sans-serif;margin:2px 0 0}
.retention-moment:not([data-kind=progress]){background:#e5eddfef;border:0;filter:none}
.retention-moment::before,.retention-moment::after{display:none!important}
.retention-moment .moment-icon,.retention-moment[data-kind=all] .moment-icon,.retention-moment[data-kind=level] .moment-icon,.retention-moment[data-kind=daily] .moment-icon{animation:none;width:20px;height:20px;font-size:17px;filter:none}
.retention-moment .moment-live{display:none}
@media(min-width:961px){.retention-moment{top:174px;left:24px}}
/* The result foregrounds score, replay, XP and completed achievements. */
#runProgress .run-progress-title{display:none}
#runProgress{margin-top:12px}
#runProgress li{padding:7px 0;gap:8px}
#runProgress .run-change-label{font-size:10px}
#runProgress .run-change-value{font-size:16px;line-height:1.25}
#runProgress .run-change-icon{font-size:21px;width:26px;min-width:26px}
#runProgress li[data-kind=level]{padding:10px 12px;border-radius:14px}
#runProgress .run-change-source{font-size:11px;margin-top:5px}
#runProgress .run-change-detail{font-size:12px}
#over .run-outfit-label,#over #overReason{display:none}

/* Unseen avatar discoveries: a quiet breadcrumb, never an in-run distraction. */
#homeIdentity,#historyOpen,#avatarEdit{position:relative}
.avatar-new-dot{position:absolute;top:5px;right:5px;width:10px;height:10px;border-radius:2px;transform:rotate(45deg);background:#c3a356;box-shadow:0 0 0 2px #fff9ea;pointer-events:none}
.avatar-new-dot[hidden]{display:none}
#avatarEdit .avatar-new-dot{top:-3px;right:-6px}
.avatar-new-badge{position:absolute;top:6px;left:6px;border-radius:10px;background:#efe7cf;color:#6e6444;font:700 10px/1 Nunito,sans-serif;padding:4px 7px;pointer-events:none}

/* Distinguish cumulative requirements from XP awarded at each milestone. */
.home-milestones .milestone-target-label,#lexyHistory .weekly-milestones .milestone-target-label{font-size:11px;font-weight:600;color:#52675e;margin-top:7px;line-height:1.25}
.home-milestones .milestone-reward,#lexyHistory .weekly-milestones .milestone-reward{background:#f2e4b9;border-radius:8px;padding:6px 2px;margin:7px 1px 0;color:#684b20}
.home-milestones .milestone-reward-label,#lexyHistory .weekly-milestones .milestone-reward-label{font-size:11px;line-height:1.2;font-weight:600}
.challenge-dialog .home-milestones .milestone-reward small,#lexyHistory .weekly-milestones .milestone-reward small{margin-top:3px;font-size:12px;font-weight:800;color:inherit}
.home-milestones [data-complete=true] .milestone-reward,#lexyHistory .weekly-milestones .reached .milestone-reward{background:var(--completed-surface);color:var(--completed-ink)}

/* Match each mission header to its dialog surface, including Sketch paper. */
.challenge-dialog{--mission-surface:#fff8e8;background-color:var(--mission-surface)}
html[data-visual-style="sketch"] .challenge-dialog{--mission-surface:#f5eddd;background-color:var(--mission-surface)}
.challenge-dialog>header{background:var(--mission-surface)}
.challenge-dialog h2{margin:0}

/* A few attainable next outfits, separate from selectable profile pictures. */
.avatar-unlocks{margin-top:20px;padding-top:14px;border-top:1px solid #28595b20}
#avatarPicker .avatar-unlocks h3{margin:0 0 9px;font:600 18px Fredoka,sans-serif}
.avatar-locked-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.avatar-locked-previews figure{min-width:0;margin:0;text-align:center;background:#f1e8d1;border-radius:12px;padding:5px 4px 9px}
.avatar-locked-previews canvas{position:static;display:block;width:100%;height:auto;mix-blend-mode:darken;pointer-events:none}
.avatar-locked-previews strong{display:block;font-size:12px;line-height:1.2}
.avatar-locked-previews small{display:block;margin-top:5px;font-size:10px;line-height:1.3;color:#52675e}
#avatarPicker .avatar-play{display:block;width:100%;min-height:46px;margin-top:12px;border:0;border-radius:23px;background:#d96a49;color:#fff9ea;font:700 16px Nunito,sans-serif;box-shadow:0 3px 0 #ac4f38}
/* Movement uses the same icon gutter as every illustrated help row. */
#gameHelp .help-move{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:center}
#gameHelp .help-move>span{display:grid;place-items:center;width:64px;min-width:0;font-size:16px;letter-spacing:-1px}
#gameHelp .help-move>p{min-width:0;margin:0}
#gameHelp .help-picture-row{grid-template-columns:64px minmax(0,1fr)}

#gameHelp .help-move>div{min-width:0}
#gameHelp .help-move h3{margin:0 0 5px}
#gameHelp .help-move p{margin:0}

.avatar-name{margin:0 0 18px;padding-bottom:14px;border-bottom:1px solid #28595b20}
.avatar-name label{display:block;font-size:14px;font-weight:800;margin-bottom:6px}
.avatar-name>div{display:flex;gap:8px}
.avatar-name input{box-sizing:border-box;min-width:0;width:100%;flex:1;border:1px solid #28595b44;border-radius:12px;padding:10px;font:16px Nunito,sans-serif;color:#28595b;background:#fffdf6}
.avatar-name button{border:0;border-radius:12px;background:#28595b;color:#fff9ea;padding:10px;font:700 13px Nunito,sans-serif;max-width:42%}
#avatarPicker .avatar-name p{font-size:12px;line-height:1.35;margin:7px 0 0}
#avatarPicker .avatar-name p:empty{display:none}
#leaderboardJoined{flex-wrap:wrap}#leaderboardEdit{background:transparent;color:#28595b;padding:6px;font-size:12px;text-decoration:underline}

/* Compact homepage identity: nickname, level, progress and XP. */
#homeIdentity .home-level{grid-template-columns:minmax(0,1fr) auto;gap:2px 6px;max-width:none}
#homeIdentity .profile-nickname{grid-column:1;grid-row:1;font-size:13px;font-weight:800;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
#homeIdentity .shell-level{grid-column:2;grid-row:1;font-size:13px!important}
#homeIdentity .home-next{display:none}
#homeIdentity .home-level progress{grid-row:2}
#homeIdentity .home-xp{grid-row:3;font-size:10px}
#lexyHistory .profile-name-edit{grid-column:2;justify-self:start;max-width:100%;padding:0;margin:0 0 4px;border:0;background:transparent;color:#28595b;font:800 18px/1.25 Nunito,sans-serif;text-align:left;overflow-wrap:anywhere}
#lexyHistory .profile-name-edit:focus-visible{outline:2px solid #28595b;outline-offset:4px}
#lexyHistory .history-outfit{font-size:12px;font-weight:500;margin:0 0 6px}

/* Automatic nicknames are suggestions; confirmed names retain the bold identity style. */
#homeIdentity .profile-nickname[data-generated="true"],.profile-identity span[data-generated="true"]{font-weight:600;font-style:italic;color:#607977}
#lexyHistory .profile-name-edit[data-generated="true"]{font-weight:600;font-style:italic;color:#607977}
#lexyHistory .profile-name-edit[data-generated="true"]::after{content:'Auto';display:inline-block;vertical-align:middle;margin-left:7px;padding:3px 7px;border-radius:7px;background:#f4e7bd;color:#796333;font:800 10px/1 Nunito,sans-serif}
.nickname-origin{display:inline-block;margin-left:8px;color:#796333;font:700 11px/1.3 Nunito,sans-serif}
#avatarNickname[data-generated="true"],#playerName[data-generated="true"]{background:#fff7df;color:#607977;font-style:italic;font-weight:500}

.avatar-name button[data-state="saved"]{background:#deeddd;color:#28704b;opacity:1;box-shadow:none;cursor:default}

/* Live profile fits the existing 64px gameplay header. */
.profile-identity>div{flex:1;min-width:0}
.profile-identity .run-identity-line{display:flex;align-items:baseline;gap:6px;min-width:0}
.profile-identity .run-identity-line strong{font:800 14px/1.2 Nunito,sans-serif;flex-shrink:0}
.profile-identity .run-identity-line span{font-size:10px;margin:0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-identity .run-level-progress{display:block;appearance:none;width:100%;height:5px;margin:4px 0;border:0;border-radius:5px;overflow:hidden;background:#28595b22}
.run-level-progress::-webkit-progress-bar{background:#28595b22;border-radius:5px}.run-level-progress::-webkit-progress-value{background:#287b79;border-radius:5px;transition:width .2s ease-out}.run-level-progress::-moz-progress-bar{background:#287b79;border-radius:5px}
.profile-identity .run-xp{display:block;font:600 9px/1.2 Nunito,sans-serif;white-space:nowrap;color:#52736d}
@media(max-width:350px){body.playing #game>header{padding-inline:10px;gap:6px}.profile-identity canvas{width:32px;height:38px;flex-basis:32px}.profile-identity .run-identity-line span{display:none}.profile-identity .run-xp{font-size:8px}}
@media(prefers-reduced-motion:reduce){.run-level-progress::-webkit-progress-value{transition:none}}

/* Results: run → leaderboard → progression, with a stable action footer. */
#over .results-card{padding:20px 20px 0;border-radius:28px;text-align:left;max-width:460px;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
#over .result-hero{position:static;inset:auto;display:flex;align-items:center;justify-content:flex-start;gap:14px;width:auto;height:auto;min-height:0;margin:0;padding:0;background:none;border:0;z-index:auto}
#over .result-hero>div{min-width:0}#over .result-hero .eyebrow{font:800 10px/1.3 Nunito,sans-serif;letter-spacing:.08em;color:#6b8177}#over .result-hero h2{font:500 29px/1.1 Fredoka,sans-serif;margin:4px 0}
#over #outfitPortrait{width:82px;height:76px;flex:0 0 82px;margin:0;mix-blend-mode:darken}#over #finalLook{font:700 13px/1.3 Nunito,sans-serif;margin:4px 0;color:#547570}
#over .results{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:16px;margin:16px 0 20px;padding:0;background:none}
#over .results small{font:800 10px/1.3 Nunito,sans-serif;letter-spacing:.045em;color:#627c74}#over .results .result-score strong{font:600 38px/1.1 Fredoka,sans-serif;display:block;margin-top:3px;color:#227a80}#over .results .result-best{border-left:1px solid #28595b25;padding-left:18px}#over .results .result-best strong{font:600 25px/1.2 Fredoka,sans-serif;display:block;margin-top:4px;color:#547570}
#over .result-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}#over .result-section-heading h3,#over .result-section-heading .run-progress-title{display:block;margin:0;font:800 15px/1.3 Nunito,sans-serif;color:#28595b}
#over .result-section-heading button{border:0;border-radius:9px;padding:7px 9px;min-height:34px;margin:0;font:800 11px/1.2 Nunito,sans-serif;background:#28595b0c;color:#286e69;white-space:nowrap;text-decoration:none}
#over .result-leaderboard{padding:14px;border-radius:17px;background:#e8efe6;border:1px solid #28595b14;margin:0 0 20px}
#over .score-form{margin:0;padding:0;border:0}#over #leaderboardJoinLabel{font:600 11px/1.3 Nunito,sans-serif;margin:0 0 5px;color:#57736b}#over .submit-row{gap:7px}#over #playerName{min-width:0;height:40px;padding:8px 10px;border:1px solid #28595b25;border-radius:10px;font:600 14px Nunito,sans-serif;background:#fffaf0}
#over #submitScore{height:40px;min-height:40px;padding:8px 12px;border:0;border-radius:10px;background:#28595b;color:#fff9ea;font:800 12px Nunito,sans-serif;white-space:nowrap}
#over #leaderboardJoined{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:10px}#over #leaderboardJoined[hidden],#over #leaderboardJoin[hidden],#over #leaderboardJoinLabel[hidden]{display:none}#over #leaderboardMember{font:700 13px Nunito,sans-serif;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#over .leaderboard-options{position:relative;flex-shrink:0}#over .leaderboard-options summary{font:600 11px Nunito,sans-serif;color:#617971;cursor:pointer;list-style:none;padding:6px}#over .leaderboard-options summary::-webkit-details-marker{display:none}#over .leaderboard-options[open]>div{position:absolute;right:0;top:100%;z-index:4;padding:6px;border-radius:12px;background:#fff9ea;box-shadow:0 5px 20px #28595b30;min-width:145px}
#over .leaderboard-options button{display:block;border:0;background:none;padding:10px;text-decoration:none;font:700 12px Nunito,sans-serif;text-align:left;width:100%;color:#28595b}
#over #submissionStatus{margin:6px 0 0;font:500 11px/1.4 Nunito,sans-serif;color:#57736b}#over #submissionStatus:empty{display:none}
#over .run-progress{margin:0 0 12px;padding:0;border:0}#over .run-progress ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}#over .run-progress li{gap:7px;padding:10px;background:#f1eddb;border-radius:12px;align-items:flex-start}#over .run-progress li[data-kind=level]{background:#e1eeE7;border-radius:13px;padding:12px}#over .run-progress li[data-kind=level] .run-change-icon{display:none}#over .run-progress .run-change-body{width:100%;min-width:0}#over .run-change-label{font:800 9px/1.3 Nunito,sans-serif;letter-spacing:.03em;color:#728077}#over .run-change-value{font:800 13px/1.3 Nunito,sans-serif}#over .run-progress li[data-kind=level] .run-change-value{font-size:18px}#over .run-change-source,#over .run-change-detail{font:500 11px/1.4 Nunito,sans-serif;margin-top:4px}#over .run-change-icon{font-size:17px;width:24px;flex:0 0 24px;height:24px}
#over .run-progress li[data-kind=complete]{background:#e2efdd}#over .run-progress li[data-kind=closet]{background:#f5eacb}
#over .result-actions{display:grid;grid-template-columns:1fr 2fr;gap:10px;position:sticky;bottom:0;padding:12px 0 16px;background:#fff9ea;margin-top:8px;border-top:1px solid #28595b16;z-index:5}
#over .result-actions #homeAfter{min-height:48px;border:1px solid #28595b22;border-radius:16px;background:#fff9ea;color:#28595b;font:800 14px Nunito,sans-serif;margin:0;padding:10px}
#over .result-actions #again{width:auto;margin:0;min-height:48px;padding:10px 16px;border-radius:16px;font:800 17px Nunito,sans-serif;box-shadow:0 4px 0 #ac4b35}#over #again span{margin-left:8px;font-size:16px}
@media(max-width:350px){#over .results-card{padding:16px 14px 0}#over .result-leaderboard{padding:11px}#over .result-section-heading{gap:6px}#over .run-progress ul{grid-template-columns:1fr}#over .results .result-score strong{font-size:33px}}

#over .score-form[data-state="saved"] #submissionStatus{color:#28704b;font-weight:800}

/* Two compact mission launchers; profile lives in the player bar. */
#intro .retention-home{grid-template-columns:repeat(2,minmax(0,1fr));min-height:64px;padding-block:8px}
#intro .retention-home .home-challenge-open{flex-direction:row;justify-content:center;text-align:left;gap:12px;min-height:48px;padding:4px 12px}
#intro .retention-home .home-challenge-open>span:nth-child(2){flex:0 1 auto;min-width:0}
#intro .retention-home .home-symbol{width:28px;font-size:26px}
#intro .retention-home strong{font-size:15px;line-height:1.2}
#intro .retention-home small{font-size:11px;line-height:1.3;margin-top:3px}
@media(max-width:350px){#intro .retention-home .home-challenge-open{gap:7px;padding-inline:6px}#intro .retention-home strong{font-size:13px}#intro .retention-home .home-symbol{width:22px;font-size:23px}}

#avatarPicker:not(.avatar-confirm) .avatar-options{display:block}
#avatarPicker:not(.avatar-confirm) .avatar-options button{display:flex;align-items:center;width:100%;gap:14px;text-align:left;border:0;background:#e7eee3;padding:10px 14px;pointer-events:none}
#avatarPicker:not(.avatar-confirm) .avatar-options canvas{width:72px;flex:none}
#avatarPicker .avatar-choose-closet{display:block;width:100%;min-height:46px;border:1px solid #28595b25;border-radius:14px;background:#e7eee3;color:#28595b;font:700 15px Nunito,sans-serif;margin:12px 0}

html,body,#game{touch-action:pan-x pan-y}
button,a{touch-action:manipulation}
#beach,.lane-controls,.lane-controls button{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
#avatarPicker input{font-size:16px}

.avatar-new-dot{width:14px;height:14px;border-radius:0;transform:none;background:none;box-shadow:none;color:#ad914b;font:700 14px/1 Nunito,sans-serif}
.avatar-new-dot::after{content:'✦'}

/* Share the score/Zoomies panel geometry; keep notices within its left third. */
:root{--lexy-hud-width:360px;--lexy-hud-gutter:16px}
.hud-top{width:var(--lexy-hud-width);max-width:calc(100% - 2 * var(--lexy-hud-gutter))}
.retention-moment{box-sizing:border-box;left:max(var(--lexy-hud-gutter),calc((100vw - var(--lexy-hud-width)) / 2));width:calc(min(var(--lexy-hud-width),100vw - 2 * var(--lexy-hud-gutter)) / 3 - 8px);max-width:180px;min-width:0;height:28px;max-height:28px;padding:4px 5px;overflow:hidden;gap:0}
.retention-moment>div{min-width:0;width:100%;overflow:hidden}
.retention-moment strong,.retention-moment[data-kind=progress] strong{display:block;font:700 11px/20px Nunito,sans-serif;white-space:nowrap;text-overflow:clip;overflow:hidden}
.retention-moment .moment-icon,.retention-moment .moment-detail,.retention-moment small,.retention-moment .moment-live{display:none!important}


#intro .home-actions #start{box-sizing:border-box;overflow:hidden;text-overflow:ellipsis}

/* Anchor the notice to the portrait without changing the profile layout. */
#homeIdentity .home-avatar{position:relative;display:inline-flex;flex:none;align-items:center;justify-content:center}
#homeIdentity .home-avatar canvas{display:block}
#homeIdentity .home-avatar .avatar-new-dot{position:absolute;top:0;right:-2px;width:9px;height:9px;border-radius:50%;background:#d8a735;box-shadow:0 0 0 2px #fff9ea;transform:none;margin:0;pointer-events:none}
#homeIdentity .home-avatar .avatar-new-dot::after{content:none}
#homeIdentity .avatar-new-dot[hidden]{display:none}

/* One unseen-outfit indicator across the profile, Closet and avatar chooser. */
.avatar-new-badge,.avatar-new-dot{width:9px;height:9px;min-width:9px;padding:0;border:0;border-radius:50%;background:#d8a735;box-shadow:0 0 0 2px #fff9ea;transform:none;pointer-events:none}
.avatar-new-badge{position:absolute;top:8px;right:8px;left:auto}
.avatar-new-dot::after{content:none}

/* Reserve the real profile layout until name, state and portrait are ready together. */
#homeIdentity[data-profile-loading=true] .home-avatar,#homeIdentity[data-profile-loading=true] .home-level{visibility:hidden}
#homeIdentity[data-profile-loading=true]::after{content:'Loading profile…';position:absolute;inset:0;display:flex;align-items:center;padding:0 10px;color:#607977;font:600 12px Nunito,sans-serif;pointer-events:none}

/* Align message text as well as its container with the score panel content. */
:root{--lexy-hud-content-inset:20px}
@media(max-width:760px){:root{--lexy-hud-content-inset:14px}}
@media(max-width:370px){:root{--lexy-hud-content-inset:10px}}
.hud-top .stats{padding-inline:var(--lexy-hud-content-inset)}
.retention-moment{padding-left:calc(var(--lexy-hud-content-inset) + 1px)}
#adventureNote{left:max(var(--lexy-hud-gutter),calc((100% - var(--lexy-hud-width)) / 2));max-width:calc(min(var(--lexy-hud-width),100% - 2 * var(--lexy-hud-gutter)));padding-inline:calc(var(--lexy-hud-content-inset) + 1px);box-sizing:border-box}
.analytics-choice{display:flex;align-items:center;justify-content:center;gap:7px;font:600 12px/1.3 Nunito,sans-serif;color:#28595b;cursor:pointer}
#intro>.analytics-choice{flex:none;min-height:32px;margin:0 5% 5px;background:#fff9eae8;border-radius:12px}
.analytics-choice input{width:18px;height:18px;accent-color:#28595b;margin:0;flex:none}
.analytics-choice small{font-size:10px;font-weight:400}
.analytics-settings .analytics-choice{justify-content:flex-start;min-height:44px}

#v2Welcome{box-sizing:border-box;width:min(540px,calc(100% - 24px));max-height:calc(100dvh - 20px);margin:auto;padding:22px;border:1px solid #fff9;border-radius:28px;background:#fff9ea;color:#28595b;box-shadow:0 20px 70px #173e4933;font-family:Nunito,sans-serif;overflow-y:auto}
#v2Welcome .welcome-preview{position:static;inset:auto;pointer-events:none}.welcome-portraits .welcome-preview{mix-blend-mode:darken}
#v2Welcome::backdrop{background:#234c4e85;backdrop-filter:blur(5px)}
.welcome-heading{text-align:center}.welcome-heading h2{font:600 36px/1.1 Fredoka,sans-serif;margin:0 0 12px;color:#206c6d}
.welcome-updates{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:0}
.welcome-updates>li{padding:9px 0;border-bottom:1px solid #28595b20;min-width:0}
.welcome-updates>li:last-child{border-bottom:0;padding-bottom:0}
.welcome-updates h3{display:flex;align-items:center;gap:9px;margin:0;font:800 15px/1.25 Nunito,sans-serif;color:#28595b;text-align:left;word-break:normal;overflow-wrap:normal}
.welcome-number{display:inline-flex;align-items:center;justify-content:center;flex:0 0 23px;height:23px;border-radius:8px;background:#28595b;color:#fff;font:800 12px/1 Nunito,sans-serif}
.welcome-wardrobe{background:radial-gradient(ellipse at 50% 75%,#f4e6b7 0%,#fff9ea00 72%)}
.welcome-portraits{display:flex;justify-content:center;align-items:end;height:clamp(70px,14dvh,115px);margin-top:3px}
.welcome-portraits .welcome-preview{width:30%;height:100%;object-fit:contain;min-width:0}
.welcome-portraits .welcome-preview:nth-child(3),.welcome-portraits .welcome-preview:nth-child(4){transform:scale(1.06);transform-origin:bottom}
.welcome-routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:7px 0 0}
.welcome-routes>div{position:relative;overflow:hidden;border-radius:11px;background:#234c4e;height:clamp(58px,10dvh,85px);isolation:isolate}
.welcome-routes .welcome-preview{width:100%;height:100%;object-fit:cover;display:block}
.welcome-routes>div:after{content:'';position:absolute;inset:25% 0 0;background:linear-gradient(transparent,#173d49e8);z-index:0}
.welcome-routes strong{position:absolute;left:0;right:0;bottom:7px;padding:0 3px;text-align:center;color:#fff;font:800 12px/1.2 Nunito,sans-serif;z-index:1;text-shadow:0 1px 2px #173d49;white-space:nowrap}
.welcome-feature-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:41px;box-sizing:border-box}
.welcome-feature-row h3{flex:1;min-width:0}
.welcome-feature-art{width:58px;height:37px;flex:none;border-radius:9px;overflow:hidden}
.welcome-feature-art .welcome-preview{width:100%;height:100%;object-fit:cover}
.welcome-feature-row>.welcome-preview{width:48px;height:33px;object-fit:contain;flex:none}
.welcome-level-art{width:48px;flex:none;display:flex;align-items:center;gap:4px;font-size:18px;color:#298080}
.welcome-example-meter{display:block;flex:1;height:6px;border-radius:9px;background:#dce7de;overflow:hidden}.welcome-example-meter i{display:block;height:100%;width:72%;background:#298080}
.welcome-choices{border-top:1px solid #28595b20;padding-top:13px;display:grid;gap:12px}.welcome-choices label,.welcome-terms{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.35}.welcome-choices input{width:20px;height:20px;flex:0 0 20px;margin:0;accent-color:#28595b}.welcome-choices small{display:block;font-size:11px;color:#617775;margin-top:3px}.welcome-choices button{display:inline;border:0;border-radius:0;padding:0;background:transparent;color:#28595b;font:inherit;text-decoration:underline;text-underline-offset:3px}
#welcomeContinue{display:block;width:100%;min-height:48px;margin-top:16px;border:0;border-radius:16px;background:#d96948;color:#fff9ea;font:800 17px Nunito,sans-serif;box-shadow:0 4px 0 #ad4b36}#welcomeContinue:disabled{background:#d8dfd6;color:#6b8077;box-shadow:none;cursor:default}
@media(max-height:760px){
 #v2Welcome{padding:14px}.welcome-heading h2{font-size:29px;margin-bottom:4px}
 .welcome-updates{margin-bottom:8px}.welcome-updates>li{padding-block:6px}.welcome-updates h3{font-size:13px;gap:7px}
 .welcome-number{flex-basis:21px;height:21px;font-size:11px}.welcome-portraits{height:70px}
 .welcome-routes{margin-top:5px}.welcome-routes>div{height:58px}
 .welcome-feature-art{width:49px;height:31px}.welcome-feature-row>.welcome-preview{height:27px}.welcome-feature-row{min-height:35px}
 .welcome-choices{padding-top:9px;gap:8px}.welcome-choices label,.welcome-terms{font-size:12px}.welcome-choices small{font-size:10px;margin-top:2px}
 #welcomeContinue{margin-top:10px;min-height:42px}
}
@media(max-width:350px){#v2Welcome{width:calc(100% - 14px);padding:12px}.welcome-updates h3{font-size:12px}.welcome-routes strong{font-size:11px}.welcome-choices label,.welcome-terms{font-size:12px}.welcome-choices small{font-size:10px}}

/* Milestone typography must not inherit the outer tile's padding or word breaks. */
.challenge-dialog .home-milestones>span,#lexyHistory .weekly-milestones li{overflow-wrap:normal;word-break:normal;hyphens:none;min-width:0}
.challenge-dialog .home-milestones .milestone-reward-label,#lexyHistory .weekly-milestones .milestone-reward-label{font-size:11px;line-height:1.2;white-space:nowrap}
.challenge-dialog .home-milestones .milestone-reward small,#lexyHistory .weekly-milestones .milestone-reward small{white-space:nowrap}
.challenge-dialog .home-milestones .milestone-reward{display:block;border:0;padding:6px 2px}
.challenge-dialog h2,.challenge-dialog .shell-weekly{overflow-wrap:normal;word-break:normal;hyphens:none}
@media(max-width:360px){
 .challenge-dialog{padding-inline:14px}
 .challenge-dialog .home-milestones{gap:4px}
 .challenge-dialog .home-milestones>span{padding-inline:0}
}
@media(max-height:500px) and (orientation:landscape){
 #intro .home-hero{padding-block:6px;min-height:100px}
 #intro .home-hero h1{font-size:28px;margin-bottom:3px}
 #intro .home-hero .tagline{font-size:11px;margin-bottom:5px}
 #intro .retention-home{min-height:54px;padding-block:2px}
 #intro .retention-home .home-challenge-open{min-height:48px}
 #intro .home-actions{margin-block:5px}
}

@media(max-height:649px) and (max-width:760px){html:not([data-visual-style="sketch"]) #intro .home-hero{background-position:center 60%}}

/* Mission rewards stay legible and milestone rows retain identical baselines. */
#over .run-change-reward{display:block;margin-top:5px;font:800 15px/1.3 Nunito,sans-serif;color:#345b35}
.challenge-dialog .home-milestones>span{display:flex;flex-direction:column;align-items:center;border-top:0;padding:10px 3px}
.challenge-dialog .home-milestones>span::before{content:'·';display:grid;place-items:center;width:25px;height:25px;margin:0 auto 5px;border-radius:50%;color:#8c927b;font-size:17px;line-height:1}
.challenge-dialog .home-milestones .milestone-reward{margin-top:auto}
.home-milestones [data-retained=true] .milestone-quantity,#lexyHistory [data-retained=true] .weekly-milestone-target{visibility:hidden}
.weekly-adjusted{font:600 12px/1.4 Nunito,sans-serif;color:#68786b;margin:8px 0}
#challenge-today .home-missions{gap:8px}
#challenge-today .shell-objective{padding-block:12px}
#challenge-today .shell-objective b{font-size:19px}

#challenge-week .weekly-art{width:76px;height:76px;margin-block:8px}
#challenge-week .weekly-adjusted{font-size:11px;line-height:1.35}
#challenge-week .shell-weekly{font-size:24px;line-height:1.2}

body.playing #callout:not(:empty){color:#fff;font-weight:600;-webkit-text-stroke:3px #172d32;paint-order:stroke fill;text-shadow:0 2px 3px #0008}
body.playing #callout[data-tone=unlock]{color:#ffda62}

html:not([data-visual-style="sketch"]) #v2Welcome .welcome-preview-sketch,html[data-visual-style="sketch"] #v2Welcome .welcome-preview-original{display:none}

/* Five daily goals and two weekly cards share the available dialog height. */
#challenge-today .home-missions{display:grid;gap:6px;margin:8px 0;padding:0}
#challenge-today .shell-objective,#challenge-today .shell-objective[data-complete=true]{grid-template-columns:40px minmax(0,1fr) 24px;gap:3px 10px;padding:8px 10px;min-height:0}
#challenge-today .shell-objective .mission-art{width:38px;height:38px;grid-row:1 / 4}
#challenge-today .shell-objective>div{grid-column:2;min-width:0}
#challenge-today .shell-objective small{font-size:10px;margin:0 0 2px;padding:2px 6px}
#challenge-today .shell-objective b{font-size:15px;line-height:1.15;overflow-wrap:normal;word-break:normal}
#challenge-today .shell-objective .mission-progress{grid-column:2;height:5px;margin:0}
#challenge-today .shell-objective .mission-count{grid-column:2;font-size:11px;margin:0}
#challenge-today .mission-mark{grid-column:3;grid-row:1 / 4;align-self:center}
#challenge-today .challenge-reward{font-size:12px;line-height:1.3;margin:8px 0}
#challenge-week .home-week-detail{display:grid;grid-template-columns:48px minmax(0,1fr);gap:4px 10px;padding:10px!important;border:1px solid #28595b20;border-radius:16px;margin:8px 0}
#challenge-week .home-week-detail .weekly-art{width:48px;height:48px;grid-column:1;grid-row:1 / 3;margin:0}
#challenge-week .shell-weekly{grid-column:2;font-size:17px;line-height:1.2;margin:0}
#challenge-week .weekly-count{grid-column:2;font-size:20px;line-height:1.15;margin:0}
#challenge-week .weekly-progress,#challenge-week .weekly-next,#challenge-week .home-milestones{grid-column:1 / -1}
#challenge-week .weekly-progress{height:7px;margin:3px 0}
#challenge-week .weekly-next{font-size:11px;line-height:1.2;margin:0}
#challenge-week .home-milestones{margin:3px 0 0;gap:4px}
#challenge-week .home-milestones>span{padding:5px 2px!important;font-size:11px;border-radius:8px}
#challenge-week .home-milestones b{font-size:12px}
#challenge-week .home-milestones .milestone-target-label,#challenge-week .home-milestones .milestone-reward-label{font-size:9px;margin:2px 0}
#challenge-week .milestone-quantity{margin:0;gap:3px}
#challenge-week .milestone-icon{width:17px;height:17px}
#challenge-week .home-milestones em,#challenge-week .home-milestones small{font-size:11px}
#challenge-week .milestone-reward{padding:3px 1px;margin-top:3px}
#challenge-week .home-week-detail[data-complete=true]::after{width:18px;height:18px;font-size:12px;right:7px;top:7px}
@media(max-height:650px){.challenge-dialog{padding:14px!important}.challenge-dialog h2{font-size:26px!important}.challenge-dialog header{margin-bottom:5px}.challenge-reset{font-size:11px;margin:4px 0}.challenge-dialog .challenge-done{min-height:40px;margin-top:6px}#challenge-today .shell-objective,#challenge-today .shell-objective[data-complete=true]{padding-block:6px}#challenge-week .home-week-detail{padding:7px!important}}
.challenge-dialog header{padding:8px 0;margin:0 0 4px}
.challenge-dialog .challenge-reward:empty{display:none}
#challenge-today .home-missions{gap:3px;margin:4px 0}
#challenge-today .shell-objective b{margin:0;line-height:1.15}
#challenge-today .shell-objective .mission-count{line-height:14px}
#challenge-week .home-milestones>span::before{display:none}
#challenge-week .home-milestones>span[data-complete=true] b::before{content:'✓ ';color:#427447}
@media(max-height:600px){
 #challenge-today .shell-objective,#challenge-today .shell-objective[data-complete=true]{padding-block:4px}
 #challenge-today .shell-objective b{font-size:14px}
 #challenge-week .home-week-detail{gap:2px 7px;margin:5px 0}
 #challenge-week .home-milestones>span{display:grid;grid-template-columns:1fr;gap:1px;padding:3px 1px!important}
 #challenge-week .home-milestones .milestone-target-label,#challenge-week .home-milestones .milestone-reward-label{margin:0;line-height:11px}
 #challenge-week .home-milestones .milestone-reward{margin:0;padding:1px}
 #challenge-week .shell-weekly{font-size:15px}
 #challenge-week .weekly-count{font-size:18px}
}

#challenge-today .shell-objective small,#lexyHistory .daily-card>strong{background:transparent;color:#58776e;padding:0;border-radius:0}
#challenge-today .shell-objective[data-complete=true] small,#lexyHistory .daily-card.complete>strong{background:transparent;color:#427447}
@media(max-height:600px){
 .challenge-dialog header{padding-block:3px}
 #challenge-today .shell-objective small{line-height:12px}
 #challenge-today .shell-objective b{line-height:16px}
 #challenge-today .challenge-reward{margin-block:5px}
 #challenge-week .home-milestones>span{line-height:13px}
}

/* Approved clean Original / warm Sketch design. */

html:not([data-visual-style="sketch"]) #intro{background:#f5f9f9}
html:not([data-visual-style="sketch"]) #intro #homePlayerBar{background:linear-gradient(130deg,#ffffffed,#e7f5f4c9);border:1px solid #ffffffb8;border-radius:22px;box-shadow:0 5px 24px #184e5815;backdrop-filter:blur(16px);margin:8px 10px!important;padding:9px 12px!important;width:calc(100% - 20px)!important}
html:not([data-visual-style="sketch"]) #intro .retention-home{background:#ffffffed;border:0;box-shadow:0 -3px 18px #204e5010}
html:not([data-visual-style="sketch"]) #homeUtilities>*{background:#ffffffdd!important;border:1px solid #ffffffbb!important;box-shadow:0 2px 7px #123b4310;border-radius:16px}
html:not([data-visual-style="sketch"]) #intro #leaderboardOpen{background:#ffffff;border:1px solid #e0e9e8;box-shadow:0 3px 8px #173f4910}
#intro #start{background:#d96948!important;color:#fff!important;border:0!important;box-shadow:0 4px 0 #b94e36!important;border-radius:23px!important}
html[data-visual-style="sketch"] #intro #homePlayerBar{background:#fff5df;border:1px solid #bcb09a;border-radius:20px;margin:8px 10px!important;padding:9px 12px!important;width:calc(100% - 20px)!important;box-shadow:2px 3px 0 #bdb7a330}
html[data-visual-style="sketch"] #homeUtilities>*{background:#fff9ec;border:1px solid #c1b6a0;box-shadow:1px 2px 0 #b4ac9733}
#intro #homePlayerBar #homeIdentity{border:0;box-shadow:none;background:transparent}

html:not([data-visual-style="sketch"]) :is(#lexyHistory,.challenge-dialog,#gameHelp,#v2Welcome,#avatarPicker,#tutorial,#over .results-card){background:#fff;color:#28595b}
html:not([data-visual-style="sketch"]) :is(#lexyHistory,.challenge-dialog,#gameHelp) header{background:#fff}
html:not([data-visual-style="sketch"]) :is(.history-level,.history-stat,.run-change-body){border-color:#dce8e7}
html:not([data-visual-style="sketch"]) #v2Welcome .welcome-wardrobe{background:radial-gradient(ellipse at 50% 55%,#e5f3f1,transparent 72%)}
html:not([data-visual-style="sketch"]) #homeUtilities>*{background:#ffffffdd!important;border:1px solid #ffffffbb!important}
:is(#intro #start,#over #again,#welcomeContinue){background:#d96948!important;border:0!important;border-radius:23px;color:#fff!important;box-shadow:0 4px 0 #b94e36!important}
html[data-visual-style="sketch"] :is(#intro #start,#over #again,#welcomeContinue){outline:none;box-shadow:0 4px 0 #b94e36!important;border:0!important}

html #v2Welcome #welcomeContinue:disabled{background:#a9b6b2!important;box-shadow:none!important;color:#f6f9f7!important;cursor:not-allowed}


.home-avatar .profile-preview-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
#homeIdentity[data-profile-preview=true] .home-avatar canvas{visibility:hidden}

#gameHelp .analytics-settings{margin:4px 0 18px;padding:14px;border:1px solid #28595b25;border-radius:16px;background:#e8f3f1}
#gameHelp .analytics-settings h3{margin:0 0 4px;font-size:17px}
#gameHelp .analytics-settings .analytics-choice{justify-content:flex-start;font-size:15px;font-weight:800;gap:10px}
#gameHelp .analytics-settings p{margin:5px 0 0;font-size:12px;line-height:1.45;color:#4d6865}
html[data-visual-style="sketch"] #gameHelp .analytics-settings{background:#f2ead6;border-color:#baa47b70}

#lexyHistory .stat-icon canvas{position:static;width:25px;height:25px;pointer-events:none}
canvas.inline-treat-icon{position:static;display:inline-block;width:1.35em;height:1.35em;vertical-align:middle;pointer-events:none}

.retention-moment canvas.inline-treat-icon{width:18px;height:18px;vertical-align:-4px;filter:none;opacity:1;margin-inline:1px}

/* Shared menu palette. All dialogs, including dynamically created menus, inherit
   the active skin instead of retaining a hard-coded cream background. */
:root{--menu-surface:#fff;--menu-soft:#f1f6f5;--menu-field:#f7faf9;--menu-edge:#dce8e7}
html[data-visual-style="sketch"]{--menu-surface:#fff9ea;--menu-soft:#f1e8d1;--menu-field:#fffdf6;--menu-edge:#c9bda5}
html body dialog,html body :is(#paused,#over)>.card{background:var(--menu-surface)!important;color:#28595b}
html body dialog>header,html body #testTools .test-tools-heading,html body #over .result-actions,html body #over .leaderboard-options[open]>div{background:var(--menu-surface)!important}
html body :is(#homeAfter,#leaderboardClose,.closet-details-back){background:var(--menu-surface);border-color:var(--menu-edge)}
html body :is(.avatar-name input,#over #playerName,#avatarNickname[data-generated="true"],#playerName[data-generated="true"]){background:var(--menu-field)}
html body :is(.history-closet li,.avatar-locked-previews figure){background:var(--menu-soft)}
html body #over .run-progress li:not([data-kind="level"]):not([data-kind="complete"]){background:var(--menu-soft)}
html body #over #homeAfter{background:var(--menu-surface)}
html body #rotate-screen::backdrop{background:var(--menu-surface)}
html body #lexyHistory progress,html body #lexyHistory progress::-webkit-progress-bar,html body #over .run-progress progress::-webkit-progress-bar{background:var(--menu-surface)}
html:not([data-visual-style="sketch"]) :is(#leaderboardList .rank,.level-reward-summary button){background:var(--menu-surface)}
html:not([data-visual-style="sketch"]) .history-closet .locked{background:#eef2f1}

#tutorial .guide-look{font:600 11px/1.25 Nunito,sans-serif;margin:3px 0 7px;color:#58756f;text-align:center}
/* Clothing-only unlock flies along the edge; never receives gameplay touches. */
.outfit-flight{position:fixed;inset:0 auto auto 0;width:80px;height:98px;z-index:25;pointer-events:none;transform-origin:40px 40px;will-change:transform,opacity}
.outfit-flight[hidden]{display:none}
.run-progress li[data-kind=loading]{grid-column:1/-1;min-height:96px;display:flex;align-items:center;justify-content:center;background:transparent}
.summary-spinner{width:26px;height:26px;border:3px solid rgba(40,116,119,.16);border-top-color:#287477;border-radius:50%;animation:summary-loading .8s linear infinite}
@keyframes summary-loading{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.summary-spinner{animation:none;border-style:dotted}}
/* Reserve loading and hydrated content identically: never resize the hero. */
#intro #homePlayerBar{height:66px;min-height:66px;box-sizing:border-box}
#intro #homeIdentity{height:52px;min-height:52px;box-sizing:border-box;overflow:hidden}
#homeIdentity .home-xp{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#intro #homePowers{height:42px;min-height:42px;box-sizing:border-box;overflow:hidden}
#intro #homePowers button{min-width:0;overflow:hidden;text-overflow:ellipsis}

/* The snapshot is the same canvas bitmap: use the identical pixel box and
   fitting mode, rather than fitting one into a different aspect ratio. */
#homeIdentity .home-avatar canvas{object-fit:contain}
#homeIdentity .home-avatar .profile-preview-image{object-fit:contain}
#retentionHome :is(.daily-summary,.weekly-summary):empty{display:block;min-height:1.2em}
#retentionHome :is(.daily-summary,.weekly-summary):empty::after{content:"";display:block;width:72px;height:5px;margin-top:7px;border-radius:5px;background:linear-gradient(90deg,#267b7d33,#267b7d88,#267b7d33);background-size:200% 100%;animation:home-load 1.2s linear infinite}
@keyframes home-load{to{background-position:-200% 0}}
@media(prefers-reduced-motion:reduce){#retentionHome :is(.daily-summary,.weekly-summary):empty::after{animation:none}}

#intro #homePowers{height:90px;min-height:90px;display:flex;flex-direction:column;gap:3px;padding:5px 5%;align-items:stretch}
#homePowers .power-home-heading{display:flex;justify-content:space-between;min-height:22px}
#homePowers .power-home-heading button{padding:2px 0;font-size:11px;text-align:left}
#homePowers .power-inventory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
#homePowers .power-inventory button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid #28595b22;border-radius:12px;background:var(--menu-soft,#edf4f1);height:49px;padding:3px;font-size:17px}
#homePowers .power-inventory small{font-size:10px}
#homePowers .power-inventory button[aria-pressed=true]{background:#d9eeea;border:2px solid #267b7d;box-shadow:inset 0 -3px #267b7d}
#homePowers .power-inventory button:disabled{opacity:.5}
#over .run-progress li[data-level-up=true]{background:linear-gradient(120deg,#ffedb4,#fff6d9 50%,#d7eee8);border:1px solid #d5a746;padding:18px;box-shadow:0 4px 18px #b1852520;position:relative}
#over .run-progress li[data-level-up=true] .run-change-label{color:#8b5a0d;font-size:13px;letter-spacing:.1em}
#over .run-progress li[data-level-up=true] .run-change-value{font-size:28px;color:#235f61}
#over .run-progress li[data-level-up=true] .run-change-icon{display:block;color:#c99224;font-size:30px;width:32px;flex-basis:32px}
#over .level-reward-summary{background:transparent;padding:0;margin:14px 0;list-style:none}
#over .reward-group{padding:14px 0;border-top:1px solid #28595b22}
#over .reward-group h3{font-size:19px;margin:0 0 6px}
#over .reward-group p{font-size:12px;line-height:1.4;margin:0;color:#607676}
#over .reward-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 0}
#over .reward-item{flex-direction:column;gap:6px;text-align:center;padding:12px 7px;min-width:0;background:var(--menu-soft,#edf4f1)}
#over .reward-item strong{font-size:13px;overflow-wrap:normal}
#over .reward-item small{font-size:11px}
#over .reward-item>span{font-size:34px}
#over .result-power-choice{border:1px solid #28595b33;background:transparent;color:#28595b;border-radius:14px;padding:10px 14px;font:700 13px Nunito,sans-serif;margin:6px 0 12px}
#retentionMoment[data-kind=level]{border-color:#e0b454;background:#fff4cd;color:#28595b}

#over .run-progress li[data-level-up=true]{animation:level-celebrate .65s ease-out both}
@keyframes level-celebrate{from{transform:scale(.96);box-shadow:0 0 0 7px #e8c35b66}to{transform:scale(1);box-shadow:0 4px 18px #b1852520}}
@media(prefers-reduced-motion:reduce){#over .run-progress li[data-level-up=true]{animation:none}}
#over .results-card{scroll-padding-bottom:90px}
#over .reward-item{scroll-margin-bottom:90px}
/* Frame the photograph around Lexy's face rather than the bottom edge.
   Keep enough height for the complete head even with the power-up inventory. */
@media(max-width:760px){
 html:not([data-visual-style="sketch"]) #intro .home-hero{background-position:center 48%;min-height:max(180px,38vw)}
}

#lexyHistory #homePowers{display:flex;flex-direction:column;align-items:stretch;padding:16px 0;margin:16px 0;border-top:1px solid #28595b22;gap:8px}
#lexyHistory .power-inventory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
#lexyHistory .power-home-heading{display:flex;justify-content:space-between;gap:6px}
#lexyHistory .power-home-heading button{white-space:normal;text-align:left;padding:2px;font-size:12px}
#lexyHistory .power-inventory button{display:flex;flex-direction:column;align-items:center;gap:5px;border:1px solid #28595b22;background:var(--menu-soft,#edf4f1);border-radius:12px;padding:10px 3px;font-size:21px}
#lexyHistory .power-inventory small{font-size:11px}
#lexyHistory .power-inventory [aria-pressed=true]{border:2px solid #267b7d;background:#d9eeea}
#lexyHistory .power-inventory button:disabled{opacity:.5}
#runPowers #powerStartRun{margin-top:10px;background:#df6b4d;color:white;min-height:48px;font-size:15px}
#runPowers .power-setup-status:empty{display:none}
#runPowers .power-setup-status{color:#ad4535}
#runPowers>button[aria-pressed=true]{background:#d9eeea;color:#28595b}
@media(max-height:700px){
 #runPowers{max-height:calc(100dvh - 24px);padding:16px}
 #runPowers>p{margin-top:10px;font-size:12px}
 #runPowers .power-cards{margin:12px 0;gap:8px}
 #runPowers .power-cards button{padding:9px 7px;gap:5px}
 #runPowers .power-cards button>span{font-size:26px}
 #runPowers .power-cards strong{font-size:13px}
 #runPowers .power-cards small{font-size:11px;line-height:1.3}
 #runPowers>button{padding:11px}
}

#runPowers>header,#runPowers>header button{pointer-events:auto}
#runPowers>header h2{font-size:22px;white-space:nowrap}
/* Fit the full subject (head through paws), cropping only spare sky.
   Size by the available height so shorter phones never crop her legs. */
html:not([data-visual-style="sketch"]) #intro .home-hero{
 background-size:auto min(155%,177.7778vw);background-position:center bottom;background-color:#eaf4f2;
}

@media(max-width:760px){html[data-visual-style="sketch"] #intro .home-hero{background-size:auto min(155%,177.6833vw);background-position:center bottom;background-color:#f1e8d7}}
@media(min-width:761px){html[data-visual-style="sketch"] #intro .home-hero{background-size:contain;background-position:center bottom}}
/* Inventory explains stored powers; the pre-run chooser alone equips them. */
#lexyHistory .power-home-heading h3{margin:0;font-size:18px}
#lexyHistory .power-inventory button{display:grid;grid-template-columns:1fr;justify-items:center;align-content:center;text-align:center;gap:4px;min-height:104px}
#lexyHistory .inventory-power-icon{display:grid;place-items:center;width:36px;height:36px;font-size:29px;line-height:1}
#lexyHistory .power-inventory strong{font-size:15px;line-height:1.2}
#lexyHistory .power-inventory button[aria-expanded="true"]{border-color:var(--teal,#287676);background:var(--menu-soft,#e6f0ed)}
.power-inventory-tip{margin:0;padding:12px;border-radius:12px;background:var(--menu-soft,#e6f0ed);font-size:14px;line-height:1.4}
.power-inventory-tip strong,.power-inventory-tip span{display:block}
#powerStartRun{display:flex;align-items:center;justify-content:center;gap:12px}
#powerStartRun[hidden]{display:none}
#runPowers .power-cards button[aria-pressed="true"]{border:3px solid #287676;box-shadow:0 0 0 2px #fff inset;background:#dceee8}
#runPowers[aria-busy="true"] #powerStartRun{opacity:.7}
#runPowers[aria-busy="true"] .power-setup-status::before{content:'';display:inline-block;width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;margin-right:8px;animation:power-start-spin .7s linear infinite}
@keyframes power-start-spin{to{transform:rotate(360deg)}}
#lexyHistory .power-inventory button{color:#28595c}
#open-today,#open-week,.shell-objective,.home-week-detail{position:relative}
.mission-new-dot{position:absolute;top:9px;right:9px;width:9px;height:9px;border-radius:50%;background:#d8a735;box-shadow:0 0 0 2px var(--menu-bg,#fff);pointer-events:none;z-index:2}
.mission-new-dot[hidden]{display:none}
.mission-arrival{position:fixed;z-index:2000;pointer-events:none;color:#c88f23;font-size:32px;text-shadow:0 2px 6px #fff}
#retentionMoment[data-complete="true"]{background:#fff0b8;border:2px solid #d8a735;box-shadow:0 3px 12px #805b2630;color:#3c532f}
#retentionMoment[data-complete="true"] strong{font-weight:900;color:#365331}
#retentionMoment[data-complete="true"] .moment-icon{background:#d8a735;color:#fff}

/* One focus treatment across themes: no tap rings, a warm keyboard marker. */
html :is(button,a,summary,[role="button"]):focus{outline:none!important}
html[data-input-mode="keyboard"] :is(button,a,summary,[role="button"]):focus-visible{outline:2px dashed #6b5144!important;outline-offset:4px}
/* A collected reward chooser, with a useful first-player empty state. */
#runPowers>header{gap:12px;align-items:flex-start}
#runPowers>header h2{white-space:normal;font-size:clamp(21px,5.5vw,26px);line-height:1.12;text-wrap:balance;max-width:290px}
#runPowers>header button{border-radius:50%;background:var(--menu-soft,#edf4f1);font-size:22px;width:36px;height:36px}
#runPowers .power-cards button{position:relative;border:2px solid transparent;padding:14px 9px 12px;gap:7px;background:linear-gradient(145deg,#f4f8f6,#e7f0ed);box-shadow:0 2px 5px #284d4d09}
#runPowers .power-cards button>.power-card-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;font-size:32px;background:#fff9;margin-bottom:2px}
#runPowers .power-cards button>.power-stock{position:absolute;right:9px;top:9px;font-size:12px;font-weight:800;color:#356568;background:#fff9;padding:3px 6px;border-radius:10px}
#runPowers .power-cards button>.power-selected-check{display:none;position:absolute;left:8px;top:8px;background:#a96b18;color:white;border-radius:50%;width:19px;height:19px;font-size:12px;line-height:19px}
#runPowers .power-cards button[aria-pressed=true]{border:2px solid transparent;background:#fff0c4;box-shadow:inset 0 0 0 2px #d5a448}
#runPowers .power-cards button[aria-pressed=true]>.power-selected-check{display:block}
#runPowers .power-cards button:disabled{opacity:.45;box-shadow:none}
.power-empty{text-align:center;margin:22px 0;padding:26px 14px;border-radius:20px;background:var(--menu-soft,#edf4f1)}
.power-empty>div{font-size:29px;letter-spacing:4px;line-height:1.6}
.power-empty h3{font-size:21px;margin:14px 0 8px}
#runPowers .power-empty p{max-width:260px;margin:0 auto;font-size:14px;line-height:1.5}
html[data-visual-style=sketch] #runPowers .power-cards button{background:linear-gradient(145deg,#fcf4de,#f1e8d1)}
html[data-visual-style=sketch] #runPowers .power-cards button[aria-pressed=true]{background:#ffe9af}
@media(max-height:700px){#runPowers .power-cards button{padding:9px 7px;gap:5px}#runPowers .power-cards button>.power-card-icon{width:37px;height:37px;font-size:27px}#runPowers .power-cards button>.power-stock{top:6px;right:6px;font-size:11px}}

/* Mission completion: compact, borderless and distinct from quiet counters. */
#retentionMoment[data-complete="true"]{border:0;background:linear-gradient(115deg,#287e78,#195c62);color:#fff;box-shadow:0 4px 14px #205b6033;height:32px;max-height:32px;animation:mission-complete-pulse .75s ease-in-out 2}
#retentionMoment[data-complete="true"] strong{color:#fff;font-weight:900;line-height:24px;text-shadow:none}
#retentionMoment[data-complete="true"]::after{content:''!important;display:block!important;position:absolute;inset:-30% -50%;background:linear-gradient(105deg,transparent 40%,#ffffff60 50%,transparent 60%);pointer-events:none;transform:translateX(-100%);animation:mission-complete-sheen .9s ease-out 2}
@keyframes mission-complete-pulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.25)}}
@keyframes mission-complete-sheen{to{transform:translateX(100%)}}
@media(prefers-reduced-motion:reduce){#retentionMoment[data-complete="true"],#retentionMoment[data-complete="true"]::after{animation:none}}

/* Never truncate a mission beat, even with large progress totals. */
#retentionMoment,#retentionMoment[data-complete="true"]{height:auto;min-height:28px;max-height:none}
#retentionMoment[data-complete="true"]{min-height:32px}
#retentionMoment>div{overflow:visible}
#retentionMoment strong{overflow:visible;text-overflow:unset;white-space:nowrap}
#retentionMoment[data-wrapped="true"]{padding-top:6px;padding-bottom:6px}
#retentionMoment[data-wrapped="true"] strong{white-space:normal;word-break:normal;overflow-wrap:normal;line-height:1.35}

/* Four full hearts share the same HUD space when Spare Heart is equipped. */
#hearts[data-bonus="true"]{font-size:19px;letter-spacing:0}
#hearts .bonus-heart{color:inherit;-webkit-text-stroke:0;text-shadow:none;font-size:inherit}
@media(max-width:370px){#hearts[data-bonus="true"]{font-size:16px}}
/* Owned quantities belong to the icon, separate from names and descriptions. */
#runPowers .power-card-icon,#lexyHistory .inventory-power-icon{position:relative;overflow:visible}
#runPowers .power-quantity,#lexyHistory .power-quantity{position:absolute;top:-5px;right:-9px;display:grid;place-items:center;min-width:24px;height:24px;padding:0 5px;border-radius:12px;background:#285f61;color:#fff;font:800 13px/1 Nunito,sans-serif;letter-spacing:0;box-shadow:0 0 0 2px var(--menu-bg,#fff);text-shadow:none}
#runPowers .power-quantity[data-empty=true],#lexyHistory .power-quantity[data-empty=true]{background:#dae2df;color:#586e69}
#lexyHistory .power-inventory button{gap:10px;min-height:96px;padding-top:14px}
#runPowers .power-cards button>.power-card-icon{margin-top:5px}
/* Small counts sit beside the artwork, never across the heart or other icons. */
#runPowers .power-quantity,#lexyHistory .power-quantity{min-width:18px;width:18px;height:18px;padding:0;border-radius:9px;font-size:11px;top:-6px;right:-14px;box-shadow:0 0 0 1.5px var(--menu-bg,#fff)}
#lexyHistory .inventory-power-icon{display:flex;align-items:center;justify-content:center;gap:3px;width:auto;font-size:27px}
#lexyHistory .inventory-power-icon .power-quantity{position:static;flex:none;align-self:flex-start;margin-top:0}
#lexyHistory .power-inventory button{position:relative}
#lexyHistory .power-new-dot{position:absolute;top:7px;right:7px;width:7px;height:7px;border-radius:50%;background:#d8a735;box-shadow:0 0 0 2px var(--menu-bg,#fff);pointer-events:none}
#lexyHistory .power-new-dot[hidden]{display:none}
/* All four powers belong to one clear, player-facing help section. */
#gameHelp .help-power-list{list-style:none;display:grid;gap:13px;padding:14px;margin:12px 0 0;border-radius:16px;background:var(--menu-soft,#edf4f1)}
#gameHelp .help-power-list li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:start}
#gameHelp .help-power-list li>span{font-size:24px;line-height:1.25;text-align:center}
#gameHelp .help-power-list h4{font-size:14px;line-height:1.3;margin:0 0 3px;font-weight:800}
#gameHelp .help-power-list p{font-size:13px;line-height:1.45;margin:0}
html[data-visual-style="sketch"] #gameHelp .help-power-list{background:#f2ead6}

#intro #start:disabled{opacity:1}
#lexyHistory .power-inventory-tip{min-height:84px;box-sizing:border-box}
#runProgress .level-reward-summary{grid-column:1 / -1;width:100%;margin:0 0 8px}

.power-arrival{position:fixed;left:0;top:0;z-index:100;pointer-events:none;font-size:28px;filter:drop-shadow(0 2px 5px #ffffff);color:#28595b}
#runProgress li.level-reward-summary{display:block;padding:0;list-style:none}

.power-home-heading h3{position:relative;padding-right:17px;width:max-content}
.power-home-heading h3 .power-new-dot{right:0;top:7px}

/* Podium recognition belongs to the rank medal; only the player's row is tinted. */
#leaderboardList li,#leaderboardList li.podium{background:var(--menu-soft,#f2f6f5);border:0;border-radius:16px;padding:12px 9px;margin-bottom:8px;box-shadow:none;grid-template-columns:34px 46px minmax(0,1fr) auto}
#leaderboardList .rank{background:transparent!important;text-align:center;font-size:18px;justify-self:center}
#leaderboardList li.podium .rank{position:relative;width:32px;height:38px;display:grid;place-items:start center;padding-top:3px;box-sizing:border-box;font-size:16px;color:#28595b;background:transparent!important;isolation:isolate}
#leaderboardList li.podium .rank::before{content:'';position:absolute;inset:0;z-index:-1;background:currentColor;opacity:.22;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 38'%3E%3Cpath d='M7 23 4 37l9-4 3-7 3 7 9 4-3-14'/%3E%3Ccircle cx='16' cy='14' r='13' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat}
#leaderboardList li.is-me{background:linear-gradient(120deg,#d7eeea,#edf7f4);box-shadow:inset 3px 0 #287c76,0 3px 10px #28595b0a}
html[data-visual-style=sketch] #leaderboardList li.is-me{background:linear-gradient(120deg,#f5e6b8,#fff5dc);box-shadow:inset 3px 0 #b39045,0 3px 10px #28595b0a}
#leaderboardList li.is-me strong{color:#175f5d}
#leaderboardList .leaderboard-own-marker{position:absolute;right:-1px;bottom:0;display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:#287c76;color:white;font:800 10px/1 Nunito,sans-serif;box-shadow:0 0 0 2px var(--menu-surface,#fff)}
#leaderboardList .leaderboard-level{display:block;width:max-content;margin:4px 0 0;height:18px;padding:1px 6px;border:0;border-radius:6px;font-size:10px;background:#28595b0d;color:#54716e}
@media(max-width:350px){#leaderboardList li{grid-template-columns:28px 32px minmax(0,1fr) auto;gap:5px;padding:11px 7px}#leaderboardList li.podium .rank{width:27px;height:34px;font-size:14px}#leaderboardList .rank-score{font-size:13px}}

.mission-arrival{width:48px;height:48px;filter:drop-shadow(0 2px 3px #ffffffb3);text-shadow:none}
.mission-arrival svg{display:block;width:100%;height:100%}
.mission-arrival i{position:absolute;color:#d5a434;font:18px/1 sans-serif;left:-8px;top:12px;animation:mission-twinkle .7s ease-in-out both}
.mission-arrival i:nth-of-type(2){left:39px;top:-6px;font-size:23px;animation-delay:.12s}
.mission-arrival i:nth-of-type(3){left:45px;top:35px;font-size:12px;animation-delay:.22s}
@keyframes mission-twinkle{0%,100%{opacity:0;transform:scale(.3)}45%{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.mission-arrival i{animation:none;display:none}}

/* Always pair the remaining XP with the destination level at the bar end. */
#homeIdentity .home-xp{grid-column:1;grid-row:3;overflow:visible;white-space:nowrap;font-size:9px}
#homeIdentity .home-next{display:block;grid-column:2;grid-row:3;justify-self:end;font-size:9px;font-weight:800;white-space:nowrap}
.profile-identity .run-xp{display:flex;justify-content:space-between;gap:4px}
@media(max-width:360px){
 html #intro #homePlayerBar#homePlayerBar{padding-inline:6px!important;gap:4px}
 #intro #homePlayerBar #homeIdentity{padding-inline:0;gap:3px}
 #homeIdentity .home-xp{grid-column:1 / -1;justify-self:start}
}

#profileIdentity[role=button]{pointer-events:auto;cursor:pointer;border-radius:14px}
#paused .card{background:var(--menu-surface);color:#28595b;border-radius:26px;width:min(420px,calc(100vw - 32px))}
.pause-look{display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-rows:64px 40px;align-items:center;gap:6px 12px;box-sizing:border-box;height:134px;padding:12px;margin:16px 0;background:var(--menu-soft);border-radius:18px;text-align:left}
.pause-look canvas{position:static;grid-row:1/-1;width:64px;height:66px;object-fit:contain}
.pause-look>div{min-width:0}.pause-look small,.pause-look strong{display:block}.pause-look small{font-size:11px;color:#59746f}.pause-look strong{font-size:15px;line-height:1.2;overflow-wrap:anywhere}
.pause-look button{grid-column:2;justify-self:start;max-width:100%;min-height:40px;box-sizing:border-box;border:0;border-radius:12px;padding:8px 12px;background:var(--menu-surface);color:#28595b;font-size:14px;font-weight:800;white-space:nowrap}
#lexyHistory.pause-closet .closet-back,#lexyHistory.pause-closet #homePowers,#lexyHistory.closet-expanded #homePowers{display:none}

#over .reward-category h4{font:800 12px/1.3 Nunito,sans-serif;color:#52736d;margin:14px 0 6px}
#over .reward-category .reward-items{margin-top:0}
#over .reward-item[data-reward-kind=outfit] canvas{width:100px!important;height:92px!important;max-width:100%;object-fit:contain;inset:auto}
#over .reward-item[data-reward-kind=outfit]{justify-content:flex-start}



#over .result-leaderboard[data-joined=false] #leaderboardJoin{display:flex;flex-direction:column;gap:10px}
#over .result-leaderboard[data-joined=false] #submitScore{width:100%;background:#d96948;color:white;border:0;border-radius:15px;padding:13px;font:800 16px Nunito,sans-serif;box-shadow:0 3px 0 #b94e36}
#over .result-leaderboard.join-invitation[data-joined=false] #submitScore{animation:join-invite 1.3s ease-out 1}
@keyframes join-invite{0%,100%{box-shadow:0 3px 0 #b94e36}45%{box-shadow:0 3px 0 #b94e36,0 0 0 5px #efb64b50,0 0 20px #efb64b60}}
@media(prefers-reduced-motion:reduce){#over .result-leaderboard.join-invitation #submitScore{animation:none}}

#over .result-leaderboard[data-joined=false] .submit-row{display:flex;flex-direction:column;gap:10px}#over .result-leaderboard[data-joined=false] #playerName{width:100%;box-sizing:border-box}

#runPowers .power-card-icon,#lexyHistory .inventory-power-icon{display:flex;flex-direction:column;align-items:center;gap:5px}
#runPowers .power-quantity,#lexyHistory .power-quantity,#lexyHistory .inventory-power-icon .power-quantity{position:static;align-self:center;width:auto;min-width:32px;height:18px;padding:0 5px;white-space:nowrap;font-size:10px;border-radius:7px;box-shadow:none}

#over .level-reward-summary{padding:14px!important;background:var(--menu-soft)!important;border-radius:18px;margin:12px 0!important}
#over .result-level-labels{display:flex;justify-content:space-between;gap:8px;font-size:11px;margin:10px 0 4px}#over .result-level-labels strong{font-size:11px}
#over #runProgress li.run-rewards-section{display:block;grid-column:1 / -1;padding:14px;background:var(--menu-soft);border-radius:18px}
#over .run-rewards-section h3{margin:0 0 10px;font-size:18px}#over .run-rewards-section ul{padding:0;list-style:none}
#over .run-rewards-section li[data-kind=closet]{display:block;grid-column:1 / -1;padding:10px 0;background:transparent}
#over .run-outfit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:290px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;margin-top:10px}
#over .run-outfit-grid>div{background:var(--menu-surface);border-radius:12px;padding:8px;text-align:center;font-size:12px;font-weight:800}
#over .run-outfit-grid canvas{position:static;width:100%;height:92px;object-fit:contain;display:block}

#runPowers .power-cards button>.power-card-icon{display:flex;flex-direction:column;width:auto;height:auto;min-height:54px;gap:4px;line-height:1;background:transparent;border-radius:0;margin:0}

/* The mission supplies the action; milestones only need target and XP. */
.home-milestones .milestone-target-label:empty,.home-milestones .milestone-reward-label:empty,
#lexyHistory .weekly-milestones .milestone-target-label:empty,#lexyHistory .weekly-milestones .milestone-reward-label:empty{display:none}
#challenge-week .home-milestones .milestone-reward small{font-size:10px}

#challenge-week .home-week-detail .shell-weekly{padding-right:20px}

#pauseOutfitEdit{position:relative}#pauseOutfitEdit .avatar-new-dot{position:absolute;right:-3px;top:-3px}

/* One aligned tile per milestone: state, objective quantity, XP reward. */
#challenge-week .home-milestones,#lexyHistory .weekly-milestones{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:8px}
#lexyHistory .weekly-milestones:before{display:none}
#challenge-week .home-milestones>span,#lexyHistory .weekly-milestones li{display:grid;grid-template-rows:18px 28px 25px;align-items:center;justify-items:stretch;gap:3px;padding:7px 3px!important;background:var(--menu-surface,#fff);border:1px solid #28595b18;border-radius:10px;text-align:center;min-width:0}
#challenge-week .home-milestones>span[data-complete=true],#lexyHistory .weekly-milestones li.reached{background:#f1f8ef;border-color:#4c805530}
#challenge-week .home-milestones>span[data-next=true]{background:#fff7df;border-color:#d2a93c66}
#challenge-week .home-milestones b,#lexyHistory .weekly-milestones li>strong{font-size:10px;line-height:18px;white-space:nowrap}
#challenge-week .home-milestones>span[data-complete=true] b::before{content:none}
#challenge-week .milestone-quantity,#lexyHistory .weekly-milestone-target{visibility:visible!important;margin:0;gap:3px;display:flex;align-items:center;justify-content:center}
#challenge-week .home-milestones em,#lexyHistory .weekly-milestone-target em{font-size:11px;font-variant-numeric:tabular-nums}
#challenge-week .milestone-icon,#lexyHistory .weekly-milestone-target .milestone-icon{width:17px;height:20px;flex:0 0 17px}
#challenge-week .home-milestones .milestone-reward,#lexyHistory .weekly-milestones .milestone-reward{background:transparent;border-radius:0;border-top:1px solid #28595b18;padding:4px 0 0;margin:0;color:#28595b;align-self:stretch}
#challenge-week .home-milestones .milestone-reward small,#lexyHistory .weekly-milestones .milestone-reward small{font-size:10px;line-height:18px;margin:0;display:block;white-space:nowrap}

html.menu-scroll-locked{overflow:hidden;overscroll-behavior:none}
dialog[open],#paused:not([hidden]),#over:not([hidden]){overscroll-behavior:contain}
dialog canvas,#paused canvas,#over canvas{touch-action:pan-x pan-y}
#leaderboardList,.help-body,.history-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}

/* One compact row: live score, two secondary records, and hearts. */
.hud-top .stats{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) auto;grid-template-rows:auto;gap:8px;align-items:center;padding:8px 12px}
.hud-current-score{grid-column:1;grid-row:1}.hud-personal-best{grid-column:2;grid-row:1}.hud-leaderboard-best{grid-column:3;grid-row:1}
.hud-top .stats #hearts{grid-column:4;grid-row:1;width:76px;font-size:16px;letter-spacing:0;text-align:right}
.hud-top .stats .hud-current-score strong{font-size:clamp(22px,6vw,28px);line-height:1.05}
.hud-top .stats .hud-current-score small{font-size:9px;line-height:1.1;margin-bottom:3px;letter-spacing:.4px}
.hud-top .stats .hud-personal-best small,.hud-top .stats .hud-leaderboard-best small{font-size:9px;line-height:1.1;letter-spacing:0;margin:0 0 3px;text-transform:none;white-space:nowrap;color:#547471}
.hud-top .stats .hud-personal-best strong,.hud-top .stats .hud-leaderboard-best strong{display:block;font:700 13px/1.1 Nunito,sans-serif;font-variant-numeric:tabular-nums;color:#426563;white-space:nowrap}
@media(max-width:350px){.hud-top .stats{gap:5px;padding:8px 9px}.hud-top .stats #hearts{width:66px;font-size:13px}.hud-top .stats .hud-current-score strong{font-size:20px}.hud-top .stats .hud-personal-best small,.hud-top .stats .hud-leaderboard-best small{font-size:8px}.hud-top .stats .hud-personal-best strong,.hud-top .stats .hud-leaderboard-best strong{font-size:12px}}

/* Follow the actual score/Zoomies height instead of a fixed screen offset. */
.hud-top #retentionMoment{position:absolute;top:calc(100% + 10px);left:0;right:auto;transform:none}
body.playing .hud-top #callout{top:calc(100% + 10px)}
body.playing .hud-top:has(#retentionMoment:not([hidden])) #callout{top:calc(100% + 78px)}

/* Name validation is distinct from help text and the outfit picker. */
#avatarPicker .avatar-name #avatarNameStatus[data-state="error"]{display:block;margin:12px 0 8px;padding:12px 14px;border-radius:12px;background:#fff0ee;color:#a32825;font-size:14px;font-weight:800;line-height:1.4}
#avatarPicker #avatarNickname[aria-invalid="true"]{border:2px solid #b63730;box-shadow:0 0 0 2px #b6373018}
#avatarPicker .avatar-name:has([data-state="error"]){padding-bottom:20px;margin-bottom:20px}

#outfitSavedNotice{position:sticky;bottom:12px;z-index:20;width:max-content;max-width:100%;box-sizing:border-box;margin:12px auto;padding:12px 20px;border-radius:18px;background:var(--menu-soft,#e2eee7);color:#28595b;font:800 14px/1.3 Nunito,sans-serif;box-shadow:0 2px 8px #163f4014;text-align:center}
#outfitSavedNotice[hidden]{display:none}
#avatarPicker[aria-busy="true"] #avatarSave{opacity:1;background:#527777;color:white}

#styleStatus:not(:empty){box-sizing:border-box;max-width:190px;padding:8px 12px;border-radius:14px;background:#ffffffed;color:#28595b;font:700 12px/1.35 Nunito,sans-serif;margin-top:8px}

/* Mode is context; Leaderboard remains the primary label. */
#intro #leaderboardOpen{display:flex;align-items:center;justify-content:center;gap:6px}
.leaderboard-mode-title{display:block;text-align:center;font-weight:800}
.leaderboard-mode-title small,.leaderboard-mode-caption{display:block;font-family:Nunito,sans-serif;font-size:11px;font-weight:700;line-height:1.2;letter-spacing:.2px;margin:3px 0 0;opacity:.8}
#leaderboardDialog h2 .leaderboard-mode-caption{font-size:14px;margin:5px 0 0}

/* Approved compact, single-line mode tabs. */
#intro .home-hero .style-toggle{width:166px;padding:3px;gap:2px;border-radius:24px}
#intro .home-hero .style-toggle button{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 5px;min-height:32px;border-radius:20px;font-size:12px;line-height:1.15}
#intro .home-hero .style-toggle svg{width:14px;height:14px;flex:none}
#intro .home-hero .style-toggle button[aria-pressed=true]{background:#28595b;color:#fff}
#intro .home-hero .style-toggle button[aria-pressed=false]{color:#214b4d}

/* Whole consent rows are touch targets; policy buttons stay independent. */
.welcome-choices>label{min-height:44px;box-sizing:border-box;padding-block:4px;cursor:pointer}
.welcome-choices>label input{cursor:pointer}
.welcome-choices>label button{position:relative;cursor:pointer}

/* Recognizable game objects, not tiny scene thumbnails. */
.welcome-bonus .welcome-feature-art{width:86px;height:48px;overflow:visible;background:none;border-radius:0}
.welcome-bonus .welcome-feature-art .welcome-preview{object-fit:contain}
.welcome-mission-icons{display:flex;align-items:center;justify-content:center;gap:8px;width:78px;flex:none;font-size:28px;line-height:1;color:#bc9130}
.welcome-power-icons{display:grid;grid-template-columns:repeat(2,22px);gap:1px 5px;flex:none;font-size:20px;line-height:1.1;text-align:center;width:49px}
@media(max-height:650px){.welcome-bonus .welcome-feature-art{width:76px;height:38px}.welcome-mission-icons{font-size:25px}.welcome-power-icons{font-size:17px}}

/* Results read as level, this run's earnings, then the next goal. */
#over #runProgress li[data-kind=level]>.run-change-body{width:100%}
#over .result-xp-earned{display:block;font:800 18px/1.3 Nunito,sans-serif;margin-top:8px;color:#287477}
#over .result-level-labels{margin-top:16px;font-size:12px}#over .result-level-labels strong{font-size:12px}
#over .run-rewards-section>h3{font-size:17px}
#over .run-rewards-section>ul{display:grid;grid-template-columns:1fr;gap:10px}
#over #runProgress .result-mission{display:block;padding:12px;background:var(--menu-surface,#fff);border-radius:13px;min-width:0}
.result-mission-header,.result-mission-numbers{display:flex;justify-content:space-between;align-items:center;gap:8px}
.result-mission-header small{font:800 11px Nunito,sans-serif;color:#607674}.result-mission-header>strong{font:800 11px Nunito,sans-serif;color:#347747}
.result-mission-goal{display:flex;align-items:center;gap:6px;margin:7px 0}.result-mission-goal>strong{font:800 15px/1.3 Nunito,sans-serif}
#over .result-mission canvas{position:static;inset:auto;width:30px;height:30px;flex:none}
.result-mission-numbers{font:600 12px/1.3 Nunito,sans-serif;margin:7px 0 5px}.result-mission-numbers>strong{color:#287477}.result-mission-numbers>span{white-space:nowrap}
#over .result-mission progress{display:block;width:100%;height:7px;border:0;border-radius:8px;overflow:hidden;accent-color:#287477;background:#e5eeeb}
#over .result-mission progress::-webkit-progress-bar{background:#e5eeeb;border-radius:8px}#over .result-mission progress::-webkit-progress-value{background:#287477;border-radius:8px}
#over .result-mission[data-complete=true]{background:#e7f2e8}#over .result-mission[data-complete=true] progress::-webkit-progress-value{background:#4c8654}
.result-mission-earned{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px;margin-top:8px;font:800 12px Nunito,sans-serif;color:#347747}.result-mission-earned small{font-weight:600}

/* Compact results: one aligned row per changed mission. */
#over .run-rewards-section>ul{gap:0}
#over #runProgress .result-mission{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 0;border-radius:0;background:transparent;border-bottom:1px solid #28595b16}
#over #runProgress .result-mission:last-child{border-bottom:0}
#over .result-mission canvas{width:28px;height:28px}
.result-mission-copy{min-width:0;display:grid;gap:3px}
#over .result-mission-title{font:800 13px/1.25 Nunito,sans-serif}
.result-mission-copy small{font:600 11px/1.3 Nunito,sans-serif;color:#607674}
.result-mission-gain{display:grid;gap:3px;text-align:right;color:#287477;white-space:nowrap;font:800 14px Nunito,sans-serif}
.result-mission-gain small{font-size:11px;color:#347747}
#over .result-level-labels{margin-top:9px}
/* Each supporting feature uses the same reserved artwork box. */
#v2Welcome .welcome-feature-row{display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:10px;min-height:52px}
#v2Welcome .welcome-feature-row>:last-child{box-sizing:border-box;width:76px;height:44px;margin:0;justify-self:center;align-self:center;align-content:center;justify-content:center;background:#eaf2f180;border-radius:10px}
#v2Welcome .welcome-mission-icons{font-size:24px;gap:7px}
#v2Welcome .welcome-power-icons{grid-template-columns:repeat(2,20px);font-size:18px;gap:2px 6px}
#v2Welcome .welcome-bonus .welcome-feature-art .welcome-preview{width:100%;height:100%;object-fit:contain}
#v2Welcome .welcome-portraits .welcome-preview{transform:none;width:30%;height:100%}
@media(max-width:350px){#v2Welcome .welcome-feature-row{grid-template-columns:minmax(0,1fr) 66px;gap:6px}#v2Welcome .welcome-feature-row>:last-child{width:66px}}

#tutorial .good-items{grid-template-columns:repeat(5,minmax(0,1fr))}
#tutorial .good-items figcaption{font-size:11px}
.reference-modes,.reference-tabs{display:flex;gap:4px;margin:8px 0}
.reference-modes button,.reference-tabs button{flex:1;border:0;border-radius:9px;background:#e9f0ef;color:#28595b;padding:8px 3px;font:800 12px Nunito,sans-serif;min-width:0}
.reference-modes button[aria-pressed=true],.reference-tabs button[aria-pressed=true]{background:#28595b;color:#fff}
#gameHelp .reference-mode-note,#gameHelp .reference-key{font-size:11px;margin:4px 0;text-align:center}
#gameHelp .reference-panel p{font-size:12px;line-height:1.35;margin:8px 0}
.reference-panel h4{display:flex;justify-content:space-between;margin:10px 0 4px;font-size:13px}.reference-panel h4 small{font-weight:600}
.reference-pickups{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}.reference-hazards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}
.reference-panel figure{margin:0;min-width:0;text-align:center;font:600 10px/1.2 Nunito,sans-serif}
#gameHelp .reference-panel canvas{position:static;width:100%;height:42px;object-fit:contain;display:block}
.reference-panel figcaption strong,.reference-panel figcaption small{display:block;margin-top:3px;font-size:11px;color:#28595b}
.reference-extras{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px;font-size:11px;text-align:center}.reference-extras span{padding:7px;background:#edf3ef;border-radius:9px}
#gameHelp .reference-foot{font-size:11px;color:#526d6b}
.route-reference{grid-template-columns:repeat(4,minmax(0,1fr))}.bonus-reference{grid-template-columns:repeat(2,minmax(0,1fr))}
#gameHelp .route-reference canvas,#gameHelp .bonus-reference canvas{height:70px}
#gameHelp .help-controls{font-size:12px;line-height:1.4}

#tutorial .good-items .guide-item{max-width:100%;object-fit:contain}

@media(max-width:350px){.reference-tabs button{font-size:10px;padding:8px 1px;overflow-wrap:anywhere}}

/* Match the clear collect/avoid grouping of the first-play guide. */
.reference-collect-group,.reference-avoid-group{padding:10px 8px;border-radius:13px;margin:10px 0;background:#edf5ef}
.reference-avoid-group{background:#fbf0ec}
.reference-collect-group h4,.reference-avoid-group h4{margin:0 0 7px}
.reference-avoid-group h4{color:#9b4a39}
#gameHelp .reference-panel figure{display:flex;flex-direction:column;align-items:center}
#gameHelp .reference-panel canvas{height:46px;width:100%;object-fit:contain;margin:auto}
.reference-panel figcaption{display:grid;width:100%;grid-template-rows:minmax(24px,auto);align-items:center;text-align:center}
.reference-panel figcaption strong,.reference-panel figcaption small{align-self:center;margin-top:2px;line-height:14px}
.reference-hazards{row-gap:7px}
#gameHelp .route-reference canvas,#gameHelp .bonus-reference canvas{height:70px}

.route-hazards{grid-template-columns:repeat(2,minmax(0,1fr));max-width:190px;margin:auto}.bonus-hazard{grid-template-columns:1fr;max-width:100px;margin:auto}

.reference-extras .reference-near{grid-column:1/-1;padding:3px;background:transparent}

/* Mode settings and area navigation have distinct visual hierarchies. */
#gameHelp .reference-modes{padding:4px;border-radius:13px;background:#e9f0ef;gap:4px;margin:9px 0 13px}
#gameHelp .reference-modes button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 5px;border-radius:10px;background:transparent;color:#526d6b;min-height:58px}
#gameHelp .reference-modes button[aria-pressed=true]{background:#fff;color:#28595b;box-shadow:0 1px 4px #28595b20}
#gameHelp .reference-modes strong{font-size:14px;line-height:1.2}
#gameHelp .reference-modes small{font-size:10px;font-weight:600;line-height:1.35;text-align:center;max-width:140px}
#gameHelp .reference-tabs{gap:0;border-bottom:1px solid #28595b25;margin:0 0 9px}
#gameHelp .reference-tabs button{background:transparent;border-radius:0;color:#607674;padding:9px 2px;border-bottom:3px solid transparent;font-size:11px;min-height:36px}
#gameHelp .reference-tabs button[aria-pressed=true]{background:transparent;color:#206c6d;border-bottom-color:#206c6d}
@media(max-width:350px){#gameHelp .reference-tabs button{font-size:10px}#gameHelp .reference-modes strong{font-size:13px}}

.bonus-reference-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bonus-reference-actions>div{margin:0;min-width:0}
#gameHelp .bonus-reference-item canvas{height:68px;max-width:100px}
#gameHelp .bonus-failure{font-size:10px;color:#9b4a39;text-align:center;margin:5px 0 0}
.bonus-finish{display:flex;align-items:center;gap:10px;margin-top:10px;padding:9px;background:#edf3f2;border-radius:12px}
#gameHelp .bonus-finish canvas{width:62px;height:52px;flex:none;margin:0}
.bonus-finish>div{display:grid;gap:3px;font-size:12px}.bonus-finish span{font-size:11px}.bonus-finish b{font-size:12px;color:#287477}

#gameHelp .help-bullets{padding-left:18px;margin:10px 0;display:grid;gap:7px;font-size:13px;line-height:1.45}
#gameHelp .help-visual-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.help-visual-pair>div{display:flex;flex-direction:column;align-items:center;gap:4px;background:#edf4f0;border-radius:12px;padding:10px 5px;text-align:center}
.help-visual-pair b{font-size:28px;color:#287477;line-height:1.2}.help-visual-pair strong{font-size:13px}.help-visual-pair small{font-size:10px}
#gameHelp .help-outfit-examples{display:block;margin:12px 0;background:transparent}
#gameHelp .help-outfit-examples .welcome-preview{position:static;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.help-leaderboard-example{display:flex;align-items:center;gap:12px;padding:10px;background:#edf4f0;border-radius:12px;margin:10px 0}
#gameHelp .help-profile-example{display:flex;flex-direction:column;align-items:center;gap:4px;margin:12px 0;background:transparent}
#gameHelp .help-profile-example .welcome-preview{position:static;width:108px;height:99px;object-fit:contain;flex:none}
#gameHelp .help-profile-example figcaption{font-size:14px;font-weight:700;text-align:center}
.help-leaderboard-example>div{display:grid;gap:4px;font-size:14px}
.help-leaderboard-example span{font-size:11px}
.help-leaderboard-example>b{font-size:38px;line-height:1.2}

#gameHelp .welcome-preview-sketch{display:none}
html[data-visual-style="sketch"] #gameHelp .welcome-preview-original{display:none}
html[data-visual-style="sketch"] #gameHelp .welcome-preview-sketch{display:block}
#gameHelp .help-outfit-examples .welcome-preview{min-width:0}
#gameHelp details>section{border-top:0;margin-top:0;padding-top:2px}

/* Labels reserve two lines; rewards stay on a shared baseline. */
#tutorial .good-items figcaption{display:flex;flex-direction:column;gap:3px;white-space:normal;line-height:1.2}
#tutorial .guide-item-name{display:flex;align-items:center;justify-content:center;min-height:2.4em;line-height:1.2;overflow-wrap:normal}
#tutorial .guide-item-reward{display:block;white-space:nowrap;line-height:1.2}
#gameHelp .reference-item-name{display:flex;align-items:center;justify-content:center;min-height:2.4em;line-height:1.2;overflow-wrap:normal}

/* Unseen outfits stay discoverable from the in-run avatar without moving the HUD. */
body.playing #profileIdentity{position:relative;inset:auto}
#profileIdentity>.avatar-new-dot{position:absolute;left:35px;top:1px;margin:0;width:9px;height:9px;min-width:9px;box-shadow:0 0 0 2px #fff;z-index:1}
@media(max-width:350px){#profileIdentity>.avatar-new-dot{left:25px}}

#over #runProgress>ul>li[data-kind=closet]{display:block;grid-column:1/-1;padding:12px 14px;border-radius:18px;background:var(--menu-soft);min-width:0}

/* 16px prevents iPhone's automatic input-focus zoom; pinch zoom stays available. */
#over #playerName{font-size:16px;line-height:1.25;scroll-margin-block:16px}
#over[data-editing-name]{position:fixed;inset:var(--results-visible-top,0px) 0 auto;height:var(--results-visible-height,100dvh);box-sizing:border-box;padding:8px 0}
#over[data-editing-name] .results-card{max-height:calc(var(--results-visible-height,100dvh) - 16px);scroll-padding-top:12px;scroll-padding-bottom:88px}
#over .result-actions{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
#over .result-actions #again,#over .result-actions #homeAfter{min-width:0}

#gameHelp .reference-mode-note{font-size:12px;line-height:1.45;margin:0 0 12px}
#gameHelp .help-basics{margin:0 0 16px;padding:0}
#gameHelp .help-basics-intro{padding:16px;border:1px solid #28595b0c;border-radius:18px;background:var(--menu-soft,#f3f5f6)}
#gameHelp .help-basics-intro .help-bullets{margin-bottom:0}
#gameHelp .help-basics h3{margin:0 0 7px}
#gameHelp .help-basics p{font-size:13px;line-height:1.5;margin:0 0 8px}

/* Compact result membership: rank and player together, actions secondary. */
#over .result-leaderboard{padding:12px 14px;background:#edf4f1;border:0;border-radius:16px}
#over .result-leaderboard .result-section-heading{margin-bottom:12px;align-items:center}
#over .result-leaderboard .leaderboard-mode-caption{font-size:10px;font-weight:600;margin-top:2px;color:#637c76}
#over .result-leaderboard #leaderboardAfter{background:transparent;font-size:12px;padding:8px 0 8px 10px}
#over #leaderboardJoined{gap:10px}
#over #leaderboardRank{display:flex;align-items:center;justify-content:center;flex:none;min-width:46px;height:42px;padding:0 7px;box-sizing:border-box;border-radius:12px;background:#285f60;color:white;font:600 21px/1 Fredoka,sans-serif}
#over #leaderboardRank[hidden]{display:none}
#over #leaderboardMember{flex:1;font-size:14px}
#over .leaderboard-options summary{min-height:32px;display:flex;align-items:center;padding:4px 0 4px 8px}
#over .result-leaderboard[data-ranked=true] #submissionStatus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

#over .leaderboard-options summary{width:36px;min-height:36px;box-sizing:border-box;justify-content:center;padding:0;border-radius:50%;background:#28595b09}
#over .leaderboard-options summary span{font:700 23px/1 Nunito,sans-serif;color:#28595b}

#paused #pauseHelp{display:block;width:100%;min-height:42px;margin:10px 0 0;padding:10px 16px;border:0;border-radius:14px;background:var(--menu-soft,#e2eee7);color:#28595b;font:800 16px/1.3 Nunito,sans-serif}

#outfitSavedNotice,#lexyHistory #outfitSavedNotice{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 64px);margin:0;padding:12px 20px;background:#fff;color:#28595b;border:0;border-radius:14px;font:800 15px/1.4 Nunito,sans-serif;box-shadow:0 4px 20px #153e4633;z-index:50;pointer-events:none}

/* Give every heart its own cell; bonus hearts never spill out of the HUD. */
.hud-top .stats #hearts{display:grid;grid-template-columns:repeat(var(--heart-count,3),minmax(0,1fr));gap:2px;align-items:center;min-width:0;line-height:1.2}
.hud-top .stats #hearts>span{display:block;min-width:0;text-align:center;font-size:inherit;line-height:inherit;margin:0;padding:0}
.hud-top .stats #hearts[data-bonus="true"]{font-size:14px}
@media(max-width:350px){.hud-top .stats #hearts[data-bonus="true"]{font-size:12px}}

#paused .card{position:relative}
#paused #pauseHelp{position:absolute;right:18px;top:18px;display:grid;place-items:center;width:42px;height:42px;min-height:42px;margin:0;padding:0;border-radius:50%;font:800 25px/1 Nunito,sans-serif}
#paused h2{padding:0;margin:0 64px 28px 0;font-size:30px;line-height:1.2;text-align:left}
#paused #resume{width:100%;margin-top:16px}
#paused #homePaused{display:block;width:100%;margin-top:12px;min-height:44px}
#leaveRunDialog .remember-quit{display:flex;align-items:center;gap:10px;padding:12px 0 18px;font:700 15px/1.4 Nunito,sans-serif;cursor:pointer}
#rememberQuit{width:22px;height:22px;flex:none;margin:0;accent-color:#28595b}

#paused #pauseHelp{top:12px;right:12px;width:68px;height:58px;gap:3px;align-content:center;background:transparent;border-radius:12px}
#paused #pauseHelp span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--menu-soft,#e2eee7);font:800 22px/1 Nunito,sans-serif}
#paused #pauseHelp small{font:800 10px/1.2 Nunito,sans-serif;white-space:nowrap}

.hud-leaderboard-best{position:relative}
.hud-top-dog-you{position:absolute;right:0;top:-2px;padding:1px 4px;border-radius:5px;background:#e4f1eb;color:#28595b;font:800 8px/1.2 Nunito,sans-serif}
.hud-top-dog-you[hidden]{display:none}
.hud-leaderboard-best[data-mine=true]>small{padding-right:23px}
#over .leaderboard-options summary{width:40px;min-height:40px;border-radius:12px;background:#edf3f2;color:#28595b}
#over .leaderboard-options summary svg{display:block;flex:none}
@keyframes results-reveal{from{opacity:0}to{opacity:1}}
#over:not([hidden]){animation:results-reveal 180ms ease-out both}
@media(prefers-reduced-motion:reduce){#over:not([hidden]){animation:none}}
.hud-personal-best,.hud-leaderboard-best{position:relative}
.record-sparkles{position:absolute;right:0;bottom:-2px;color:#c59824;font-size:16px;line-height:1;pointer-events:none;animation:record-sparkle .65s ease-in-out 4}
.hud-top .stats .record-beaten strong{color:#247975;text-shadow:0 0 8px #efc95866}
.record-beaten{animation:record-glow .7s ease-in-out 3}
.record-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@keyframes record-sparkle{0%,100%{transform:translateY(0) scale(.7);opacity:.5}50%{transform:translateY(-4px) scale(1.2);opacity:1}}
@keyframes record-glow{50%{background:#f6d96930;border-radius:6px}}
@media(prefers-reduced-motion:reduce){.record-sparkles,.record-beaten{animation:none}}
.record-sparkles{top:-2px;bottom:auto;font-size:13px}
.record-beaten .hud-top-dog-you{visibility:hidden}
/* Keep both photographs painted: opacity reverses smoothly even on rapid taps. */
#intro .home-hero{isolation:isolate}
@media(prefers-reduced-motion:reduce){#intro .home-hero::before{transition:none}}
#tutorial .guide-toilet{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:7px}
#tutorial .guide-toilet .guide-item{width:32px;height:40px;margin:0;position:static}
#tutorial .guide-toilet strong{min-height:0;display:block}
#tutorial .guide-toilet p{margin:4px 0 0}
#gameHelp .reference-extras .reference-toilet{display:flex;align-items:center;justify-content:center;gap:7px}
#gameHelp .reference-toilet>span{padding:0;background:none!important;border:0}
#gameHelp .reference-toilet .reference-toilet-icon{font-size:26px;flex:none}
/* A quiet editorial caption, separate from the mode controls. */
#intro .home-hero{position:relative}
#intro .home-hero #styleStatus{position:absolute;isolation:isolate;left:calc(5% + 16px);top:46%;box-sizing:border-box;width:min(calc(36vw - 12px),158px);height:132px;min-height:132px;max-width:none;margin:0;padding:0;border-radius:0;background:none;backdrop-filter:none;color:#28595b;font:500 12px/1.4 Nunito,sans-serif;text-align:left;box-shadow:none;border:0}
#intro .home-hero #styleStatus::before{content:"";position:absolute;z-index:-1;inset:-22px -16px;background:radial-gradient(ellipse at 40% 45%,#ffffffeb 0%,#ffffffc9 40%,#ffffff65 65%,#ffffff00 78%);pointer-events:none}
#styleStatus>strong{display:block;font:900 11px/1.25 Nunito,sans-serif;letter-spacing:.7px;margin:0 0 7px}
#styleStatus>span{display:block;font:500 12px/1.4 Nunito,sans-serif;margin:0 0 8px}
#styleStatus>small{display:block;font:700 10px/1.35 Nunito,sans-serif;color:#426764}
@media(min-width:761px){#intro .home-hero #styleStatus{left:calc(8% + 16px);width:194px;height:140px}#styleStatus>strong{font-size:12px}#styleStatus>span{font-size:14px}#styleStatus>small{font-size:12px}}
/* Quiet only the sea behind the wordmark, without shifting the photograph. */
#intro .home-hero::after{content:"";position:absolute;left:0;top:0;width:min(76%,340px);height:145px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 180px 95px at 45px 25px,#ffffffdf 0%,#ffffffa8 35%,#ffffff00 100%);opacity:0;transition:opacity 520ms cubic-bezier(.4,0,.2,1)}
@media(prefers-reduced-motion:reduce){#intro .home-hero::after{transition:none}}

#gameHelp .help-done{width:100%;min-height:46px;box-sizing:border-box;border-radius:14px;padding:12px 20px;border:0;background:var(--menu-soft,#f3f5f6);color:#28595b;font:800 16px/1.25 Nunito,sans-serif;box-shadow:none;flex-shrink:0}

#challenge-week .weekly-count-row{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0}
#challenge-week .weekly-count-row .weekly-count{min-width:0;white-space:nowrap}
.weekly-total{font:800 11px/1.2 Nunito,sans-serif;color:#28595b;white-space:nowrap;font-variant-numeric:tabular-nums}
#lexyHistory .weekly-count{display:flex;align-items:center;justify-content:space-between;gap:8px}
@media(max-width:350px){#challenge-week .weekly-count-row .weekly-count{font-size:16px}.weekly-total{font-size:10px}}

#styleStatus .mode-unit{white-space:nowrap;font-weight:inherit}

#runLoading{box-sizing:border-box;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:24px;border:0;border-radius:0!important;background:rgba(255,255,255,.96);color:#28595b;text-align:center;box-shadow:none;overflow:hidden}
#runLoading[open]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}
#runLoading::backdrop{background:#ffffffa8;backdrop-filter:blur(12px)}
#runLoading .run-loading-logo{font:500 clamp(36px,10vw,48px)/1.1 Fredoka,system-ui,sans-serif;letter-spacing:-1px;color:#247b7b}
#runLoading .run-loading-logo span{color:#dc6847}
#runLoading h2{margin:0;font:800 22px/1.3 Nunito,system-ui,sans-serif}
.run-loading-spinner{width:44px;height:44px;border:4px solid #28595b20;border-top-color:#28595b;border-radius:50%;animation:run-loading-turn .85s linear infinite}
.run-loading-visual{display:grid;place-items:center}
.run-loading-visual>*{grid-area:1/1}
.run-loading-art{width:180px;height:180px;object-fit:contain}
.run-loading-art[hidden]{display:none!important}
@keyframes run-loading-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.run-loading-spinner{animation-duration:2s}}
/* Area tabs: a filled active tab stays distinct from the white mode selector. */
#gameHelp .reference-tabs{gap:4px;border-bottom:2px solid #28595b;margin-top:2px}
#gameHelp .reference-tabs button{border-radius:8px 8px 0 0;border-bottom:0;min-height:40px;padding:10px 3px}
#gameHelp .reference-tabs button[aria-pressed=true]{background:#28595b;color:#fff;box-shadow:none}
#gameHelp .reference-tabs button:focus-visible{outline:2px solid #dd6946;outline-offset:2px}
#instagramConfirm{width:min(420px,calc(100vw - 32px));box-sizing:border-box;padding:24px;max-height:calc(100dvh - 32px)}
#instagramConfirm h2{margin:0 0 14px;font-size:26px;line-height:1.15}
#instagramConfirm p{margin:0 0 24px;font-size:16px;line-height:1.5}
.instagram-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#instagramConfirm button{min-height:48px;padding:12px 8px;font-size:15px;line-height:1.25}
#instagramConfirm .instagram-confirm-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
#instagramConfirm button{min-width:0;width:100%;white-space:normal;overflow-wrap:normal}
#resultSaveStatus{font-size:13px;line-height:1.4;color:#526d6b;margin:12px 0 0}

/* Fill the steering row inward while retaining the existing outer margins. */
.lane-controls{gap:8px}
.lane-controls button{flex:1 1 0;width:auto;min-width:0;max-width:none}
.lane-controls button:active{transform:none}

/* Shared account-owned visibility switch in profile, leaderboard and results. */
.leaderboard-visibility{margin:14px 0;text-align:left;color:#28595b}
.visibility-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;cursor:pointer;font-size:15px;font-weight:700}
.visibility-row input{position:absolute;right:0;width:48px;height:44px;margin:0;opacity:0;cursor:pointer;z-index:1}
.visibility-track{display:block;position:relative;width:46px;height:26px;border-radius:20px;background:#a5b3b4;flex:none;transition:background .15s}
.visibility-track:after{content:'';position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:white;box-shadow:0 1px 3px #0002;transition:transform .15s}
.visibility-row input:checked+.visibility-track{background:#287d7c}
.visibility-row input:checked+.visibility-track:after{transform:translateX(20px)}
.visibility-row input:focus-visible+.visibility-track{outline:3px solid #28595b;outline-offset:4px}
.visibility-row input:disabled+.visibility-track{opacity:.5}
html body .leaderboard-visibility .visibility-help,html body .leaderboard-visibility .visibility-status{font-size:12px;line-height:1.45;margin:3px 0 0;color:#607779;font-weight:400}
.visibility-status:empty{visibility:hidden}
html body .visibility-gear{display:grid;place-items:center;flex:none;width:44px;height:44px;min-height:44px;padding:0;background:#f1f4f4;color:#28595b;border:0;border-radius:50%;box-shadow:none}
.leaderboard-heading h2{flex:1}
html body .leaderboard-settings-dialog{width:min(360px,calc(100vw - 32px));box-sizing:border-box;border:0;border-radius:24px;padding:24px;color:#28595b;background:white}
.leaderboard-settings-dialog::backdrop{background:#193e4166;backdrop-filter:blur(5px)}
.leaderboard-settings-dialog h2{margin:0 0 18px;font-size:25px}
html body .visibility-back{margin-top:16px;width:100%;min-height:44px;background:#f1f4f4;color:#28595b;box-shadow:none}

html body .leaderboard-visibility .visibility-status{box-sizing:border-box;min-height:44px;display:flex;align-items:center;margin:12px 0 0;padding:10px 12px;border-radius:10px;background:#e7f2eb;color:#307653;font-size:12px;font-weight:700;line-height:1.4}
html body .leaderboard-visibility .visibility-status[data-kind=error]:not(:empty){background:#fff0e9;color:#9d482c}

html body .leaderboard-name-edit{min-height:44px;padding:8px 12px;background:transparent;color:#28595b;box-shadow:none;font-size:12px;margin-left:auto}

/* Feedback occupies a stable slot: no re-centering or movement on toggle. */
html body #over #submissionStatus,html body #over .result-leaderboard[data-ranked=true] #submissionStatus{position:static;display:block;box-sizing:border-box;min-height:31px;width:auto;height:auto;margin:6px 0 0;padding:0;clip-path:none;white-space:normal;overflow:visible}
#over #leaderboardJoined{min-height:44px}

.leaderboard-visibility[data-confirm=false]{position:relative}
html body .leaderboard-visibility[data-confirm=false] .visibility-status{position:static;min-height:48px;margin:8px 0 0;box-shadow:none}
html body #over #submissionStatus:empty{display:block;min-height:31px}

html body .leaderboard-visibility .visibility-status[data-kind=neutral]:not(:empty){background:#eef1f1;color:#607779}

html body .leaderboard-visibility .visibility-retry{width:auto;min-height:32px;margin:0 0 0 auto;padding:4px 10px;border:1px solid currentColor;border-radius:8px;background:transparent;color:inherit;font:inherit;box-shadow:none;flex-shrink:0}

/* Desktop keeps touch targets compact and the score below the profile rail. */
@media(min-width:761px){
 .lane-controls{left:50%;right:auto;transform:translateX(-50%);width:min(480px,calc(100% - 32px));justify-content:space-between}
 .lane-controls button{flex:0 0 150px;width:150px;max-width:150px;height:80px}
 .hud-top{top:84px}
 body.playing .profile-identity{max-width:480px}
}

/* Results have no success confirmation; empty feedback must not reserve a row. */
html body #over .leaderboard-visibility[data-confirm=false] .visibility-status:empty,
html body #over #submissionStatus:empty{display:none;min-height:0;margin:0;padding:0}

/* Inline feedback uses the same readable status treatment across account flows. */
html body :is(#avatarNameStatus,.lexy-account-dialog > [role=status],#accountSetup [role=status],#accountEntry [data-entry-note],[data-choice-status],#over #submissionStatus,#resultSaveStatus):not(:empty):not([hidden]){
 display:block;box-sizing:border-box;padding:10px 12px;margin:10px 0;border-radius:10px;background:#eef1f1;color:#526d6b;font:700 12px/1.45 Nunito,sans-serif;overflow-wrap:anywhere;text-align:left;
}
html body #avatarPicker .avatar-name #avatarNameStatus[data-state=saved],
html body [data-choice-status][data-kind=success]{background:#e7f2eb;color:#307653}
html body #avatarPicker .avatar-name #avatarNameStatus[data-state=error],
html body :is(.lexy-account-dialog > [role=status],[data-choice-status],#over #submissionStatus)[data-kind=error],
html body #accountSetup [role=status]:not(:empty){background:#fff0e9;color:#9d482c}
html body #avatarNameStatus:empty{display:none}

/* No confirmation slot: the switch conveys off, saving and on without reflow. */
html body .leaderboard-visibility .visibility-status:empty{display:none;min-height:0;margin:0;padding:0}
.leaderboard-visibility[aria-busy=true] .visibility-track:after{box-sizing:border-box;border:3px solid #dce8e8;border-top-color:#28595b;animation:visibility-saving .7s linear infinite}
@keyframes visibility-saving{to{rotate:360deg}}
@media(prefers-reduced-motion:reduce){.leaderboard-visibility[aria-busy=true] .visibility-track:after{animation:none}}

/* shell/theme.cb380f28d4d5.css */
/* Shared interface theme. Gameplay artwork and reward/status icons keep their colours. */
:root,html[data-visual-style="sketch"]{
 --menu-surface:#fff;--menu-soft:#f3f6f6;--menu-field:#f8fafa;--menu-edge:#e0e8e8;
 --ui-ink:#28595b;--ui-muted:#617777;--ui-orange:#d96948;--ui-orange-down:#c65a3b;
 --ui-glass:rgba(255,255,255,.88);--ui-backdrop:rgba(20,51,55,.36);
}
html body :is(dialog,.modal>.card){background:var(--menu-surface)!important;color:var(--ui-ink)!important;border:0!important;border-radius:26px!important;box-shadow:0 16px 48px #173c4426}
html body dialog::backdrop,html body .modal{background:var(--ui-backdrop);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
html body dialog>header,html body #over .result-actions,html body #over .leaderboard-options[open]>div{background:var(--menu-surface)!important}
html body :is(dialog,.modal) :is(h1,h2,h3,h4){color:var(--ui-ink)}
html body :is(dialog,.modal) :is(button,input,select,textarea){font-family:Nunito,sans-serif}
/* Secondary actions share a neutral surface; preserve each control's layout and size. */
html body :is(dialog,.modal) button{background:var(--menu-soft)!important;background-image:none!important;color:var(--ui-ink)!important;border:0!important;box-shadow:none!important;font-weight:800;border-radius:14px!important}
html body :is(dialog,.modal) button:not(:disabled):hover{filter:brightness(.98)}
html body :is(button,a,input,summary):focus-visible{outline:2px solid #287477;outline-offset:3px}
html body button:focus:not(:focus-visible){outline:none}
html body :is(#intro,#over,#lexyHistory,#closetDetail,#game,dialog,.modal) :is(.primary,.avatar-name button[type=submit],#start,#again,#resume,#tutorialStart,#welcomeContinue,#powerStartRun,#avatarSave,#submitScore,.closet-wear-button,.closet-detail-wear,#adventureJump){background:var(--ui-orange)!important;background-image:none!important;color:white!important;border:0!important;border-radius:16px!important;box-shadow:0 3px 0 #b84f34!important;text-shadow:none;font-family:Nunito,sans-serif;font-weight:800}
html body :is(#intro,#over,#lexyHistory,#closetDetail,#game,dialog,.modal) :is(.primary,.avatar-name button[type=submit],#start,#again,#resume,#tutorialStart,#welcomeContinue,#powerStartRun,#avatarSave,#submitScore,.closet-wear-button,.closet-detail-wear,#adventureJump):active{background:var(--ui-orange-down)!important;box-shadow:0 1px 0 #b84f34!important;transform:translateY(2px)}
html body :is(dialog,.modal) button:disabled,html body .primary:disabled{background:#e6ebeb!important;color:#718181!important;box-shadow:none!important;opacity:1;cursor:default}
html body :is(#confirmLeaveRun,#leaderboardStop){background:transparent!important;color:#a63e35!important}
/* Quiet icon actions and close buttons, with identical white/teal treatment. */
html body :is(.history-close,.help-close:not(.help-done),.challenge-close,#avatarClose,#installClose,.closet-detail-close,.closet-info-button,.closet-detail-prev,.closet-detail-next){background:var(--menu-soft)!important;color:var(--ui-ink)!important;border:0!important;box-shadow:none!important;border-radius:50%!important}
html body :is(.closet-face,.profile-name-edit,.time-reveal,#leaderboardScrollHint,#pauseHelp,#homePaused){background:transparent!important;box-shadow:none!important}
html body :is(.reference-tabs button){background:transparent!important;border-radius:0!important}
html body :is(.reference-modes button[aria-pressed=true],.avatar-options button[aria-pressed=true]){background:white!important;box-shadow:inset 0 0 0 2px #287477!important}
html body #runPowers .power-cards button[aria-pressed=true],html body #lexyHistory .power-inventory button[aria-pressed=true]{background:white!important;box-shadow:inset 0 0 0 2px #287477!important}
html body #runPowers .power-selected-check{background:#287477;color:white}
/* All content groups use the same neutral surface; colour lives in their icons and progress. */
html body :is(.history-level,.history-stats>div,.history-closet li,.avatar-locked-previews figure,.avatar-current,.pause-look,.power-empty,.power-inventory-tip,.reward-item,.reward-items p,.level-reward-summary,.run-log-entry,.result-leaderboard,.reference-extras span,.reference-collect-group,.reference-avoid-group,.bonus-finish,.help-visual-pair>div,.help-leaderboard-example,.guide-zoom,.guide-bonus,.analytics-settings,.help-power-list){background:var(--menu-soft)!important;background-image:none!important;border-color:var(--menu-edge)!important;color:var(--ui-ink)}
html body #over #runProgress :is(li,.result-mission,.run-rewards-section){background:var(--menu-soft)!important;background-image:none!important;border-color:var(--menu-edge)!important}
html body #over #runProgress li[data-kind=level]{border-radius:18px;box-shadow:none!important}
html body #over #runProgress li[data-level-up=true],html body #over #runProgress li.level-up{background:white!important;box-shadow:inset 0 3px 0 var(--ui-orange)!important}
html body :is(.challenge-dialog .shell-objective,.challenge-dialog .home-weekly,.challenge-dialog .home-milestones>span,#lexyHistory .weekly-milestones li,#leaderboardList li,#leaderboardList li.podium){background:var(--menu-soft)!important;background-image:none!important;border-color:var(--menu-edge)!important}
html body #leaderboardList li.is-me{background:white!important;box-shadow:inset 3px 0 #287477,0 2px 10px #28595b12!important}
html body :is(.leaderboard-avatar,.run-log-reward,.run-log-chips>span,.run-outfit-grid>div){background:white!important}
html body :is(.closet-card-state[data-wearing=true],.closet-selected){background:var(--menu-soft)!important;color:#287477}
html body :is(.avatar-name input,#playerName,dialog input[type=text]){background:var(--menu-field)!important;color:var(--ui-ink)!important;border:1px solid var(--menu-edge);border-radius:12px;font-size:16px}
/* Home and in-run chrome stay translucent without a warm colour cast. */
html body :is(#intro,#homePlayerBar,.home-actions,.retention-home){background-color:var(--menu-surface)!important}
html body :is(#intro #homeIdentity,#homeUtilities button,#homeUtilities a,.header-controls button,#profileIdentity,.hud-top .stats,.hud-top .zoom-wrap,.lane-controls button,#adventureNote,#adventureChoice,#bonusBird span,.style-toggle){background:var(--ui-glass)!important;color:var(--ui-ink);border-color:#ffffffb3!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
html body #intro #homeIdentity{background:transparent!important}
html body #intro #leaderboardOpen{background:white!important;color:var(--ui-ink);border:0;box-shadow:0 2px 12px #173c4412}
html body .style-toggle button[aria-pressed=true]{background:#28595b!important;color:white!important}
html body #routeFade{background:rgba(255,255,255,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
html body #routeReturn{color:var(--ui-ink)}
html body #routeReturn strong,html body #routeReturn p{color:var(--ui-ink)}
html body :is(.xp-arrival,#outfitSavedNotice){background:white!important;color:var(--ui-ink)!important;box-shadow:0 4px 18px #173c4426}
html body #intro #homeIdentity.xp-received{background:var(--ui-glass)!important}
html body :is(#avatarNameStatus[data-state=error],.closet-card-status:not([hidden])){background:white!important;color:#a32825!important}
html body :is(dialog,.modal) progress,html body :is(dialog,.modal) progress::-webkit-progress-bar{background:#e0e8e8!important}
html body #lexyHistory .profile-name-edit[data-generated=true]::after{background:#e0e8e8;color:var(--ui-muted)}
html body .challenge-dialog .weekly-count{color:var(--ui-ink)}
html body #runPowers .power-cards button:disabled{opacity:1;background:var(--menu-soft)!important;color:var(--ui-muted)!important}
html body #runPowers .power-cards small{font-weight:500}
html body #lexyHistory .power-inventory button[aria-expanded=true]{background:white!important;box-shadow:inset 0 0 0 2px #287477!important}
html body :is(.pause-look button,#avatarEdit){background:white!important;box-shadow:0 1px 5px #173c4410!important;border-radius:12px}
html body :is(.history-help,.level-caption,.closet-detail-description,.closet-detail-requirement,.challenge-reset,.challenge-status,.run-log-entry>small){color:var(--ui-muted)}

html body #intro #homePlayerBar{background:var(--ui-glass)!important}
html body :is(dialog,.modal) h2{font-family:Fredoka,sans-serif;font-weight:500}
html body :is(dialog,.modal) :is(h3,h4){font-family:Nunito,sans-serif;font-weight:800}
html body :is(#intro,#over,#v2Welcome,#runPowers,#avatarPicker,#tutorial,#closetDetail) button:disabled{background:#e6ebeb!important;color:#617777!important;box-shadow:none!important;opacity:1}

html body :is(#intro,#over,#lexyHistory,#closetDetail,#game,dialog,.modal) :is(.primary,.avatar-name button[type=submit],#start,#again,#resume,#tutorialStart,#welcomeContinue,#powerStartRun,#avatarSave,#submitScore,.closet-wear-button,.closet-detail-wear,#adventureJump):disabled{background:#e6ebeb!important;color:#617777!important;box-shadow:none!important;opacity:1}
/* Keep the selected game area visible through the shared dialog button theme. */
html body #gameHelp .reference-tabs button{background:transparent!important;color:#607674!important;border-radius:8px 8px 0 0!important}
html body #gameHelp .reference-tabs button[aria-pressed=true]{background:#28595b!important;color:#fff!important}
/* Result cards are opaque white, including the sticky action area. */
html body #over>.results-card,html body #over .result-actions{background:#fff!important;background-image:none!important}
/* Opaque neutral UI prevents warm scene colours tinting controls and panels. */
:root,html[data-visual-style="sketch"]{--ui-glass:#fff}
html body.playing #game>header{background:#fff!important;background-image:none!important}
html body #paused>.card{background:#fff!important;background-image:none!important}
html body #routeFade{background:#fff}
/* The legacy golden-run veil sits above the HUD and results, tinting even
   opaque white surfaces. Keep score celebrations without a full-screen tint. */
html body #game::after{display:none!important}
.reference-toilet small{display:block;font-size:11px;line-height:1.35;margin-top:4px;font-weight:500}

/* experiment/ui.css */
/* Same compact score row: time is visually distinct, with no extra HUD row. */
.hud-top .stats{grid-template-columns:minmax(70px,1fr) 126px 58px!important;gap:10px!important;min-height:73px;padding:8px 12px!important}
.hud-top .hud-personal-best,.hud-top .hud-leaderboard-best{display:none!important}
.hud-top .stats .run-clock{grid-column:2!important;grid-row:1;display:flex;flex-direction:column;justify-content:center;gap:3px;width:126px;height:57px;border:0;border-radius:13px;background:#255b5d;color:white;padding:4px 6px}
.hud-top .stats .run-clock small{font:800 9px/1.2 Nunito,sans-serif;letter-spacing:.6px;margin:0;color:inherit}
.hud-top .stats .run-clock strong{font:800 29px/1 Nunito,sans-serif;height:auto;color:inherit;font-variant-numeric:tabular-nums}
.hud-top .stats .run-clock[data-urgency=soon]{background:#926110}
.hud-top .stats .run-clock[data-urgency=urgent]{background:#b54c30}
.hud-top .stats #hearts{grid-column:3!important;grid-row:1;width:58px!important;white-space:nowrap;line-height:16px;word-spacing:normal;font-size:15px!important;text-align:center}
.hud-top .stats .hud-current-score strong{font-size:28px;line-height:1.15}
#experimentMissions{width:min(520px,calc(100% - 24px));max-height:calc(100dvh - 32px);padding:22px;border:0;border-radius:28px;background:#fff;color:#28595b;overflow:hidden}
#experimentMissions::backdrop{background:#264f5066;backdrop-filter:blur(7px)}
#experimentMissions header{position:static;padding:0;pointer-events:auto;gap:14px;margin-bottom:18px}
#experimentMissions h2{font:600 29px/1.1 Fredoka,sans-serif;margin:0}
#experimentMissions header button{border:0;border-radius:50%;background:#f2f5f4;color:#28595b;width:44px;height:44px;font-size:27px;flex-shrink:0}
#experimentMissions nav,.closet-tools nav{display:flex;gap:6px;border-radius:16px;background:#f2f5f4;padding:4px}
#experimentMissions nav button,.closet-tools button{border:0;border-radius:12px;color:#28595b;background:transparent;font:800 14px Nunito,sans-serif;padding:10px 12px;min-width:0;flex:1}
#experimentMissions nav button[aria-pressed=true],.closet-tools button[aria-pressed=true]{background:#28595b;color:white}
#experimentMissions .missions-body{max-height:calc(100dvh - 190px);overflow:auto;overscroll-behavior:contain;overflow-anchor:none;padding:4px 0 12px;scrollbar-gutter:stable}
#experimentMissions .mission-intro{font-size:14px;line-height:1.5;color:#647f7f}
#experimentMissions .outfit-mission{display:flex;width:100%;gap:12px;align-items:center;text-align:left;border:1px solid #dae3e3;border-radius:19px;background:#f7f9f8;color:#28595b;padding:14px 12px;margin:12px 0}
.outfit-mission canvas{position:static;width:56px;height:56px;flex-shrink:0}
.outfit-mission>span{display:grid;gap:6px;flex:1;min-width:0}
.outfit-mission strong{font:800 16px/1.3 Nunito,sans-serif}
.outfit-mission small,.outfit-mission span>span{font:600 12px/1.4 Nunito,sans-serif;color:#637d7a}
.outfit-mission progress,.outfit-goal-detail progress{width:100%;height:8px;accent-color:#257b7d}
.closet-tools{display:none;gap:10px;margin:12px 0 18px;flex-wrap:wrap}.closet-expanded .closet-tools{display:flex}.closet-tools nav{flex:1}.closet-tools>button{flex:0 0 auto;font-size:13px}
.experiment-missions-link{display:block;width:100%;text-align:left;background:#f3f6f5;border:0;color:#28595b;font:800 18px Nunito,sans-serif;padding:18px;border-radius:18px;margin:16px 0}
#closetDetail .closet-detail-body{display:grid;grid-template-columns:104px minmax(0,1fr);gap:8px 14px;padding:10px 22px 24px;overflow-anchor:none}
#closetDetail .closet-detail-viewer{grid-column:1;grid-row:1/3;max-width:104px;height:104px;margin:0;position:relative}
#closetDetail .closet-detail-art{width:84px;height:94px;min-height:0;max-height:94px;margin:auto}
#closetDetail .closet-detail-art canvas{width:84px;height:94px;object-fit:contain}
#closetDetail .closet-detail-locked-art{font-size:48px;line-height:94px;min-height:0}
#closetDetail .closet-detail-viewer button{width:24px;height:30px;min-width:0;font-size:22px;position:absolute;bottom:-20px;top:auto;border-radius:10px;padding:0}
#closetDetail .closet-detail-prev{left:16px}#closetDetail .closet-detail-next{right:16px}
#closetDetail .closet-detail-title{grid-column:2;align-self:end;text-align:left;font-size:25px;margin:0}
#closetDetail .closet-detail-requirement{grid-column:2;align-self:start;text-align:left;font-size:13px;margin:0;color:#687f7a}
#closetDetail .closet-detail-description{grid-column:1/-1;font-size:14px;line-height:1.5;margin:16px 0 0;text-align:left}
#closetDetail .closet-detail-copy{grid-column:1/-1;min-width:0}
.outfit-goal-detail{grid-column:1/-1;border-radius:22px;background:#f2f6f4;padding:18px;margin-top:26px;text-align:left;display:grid;gap:9px}
#closetDetail .outfit-goal-detail canvas{position:static;width:94px;height:86px;justify-self:center}
#closetDetail .outfit-goal-detail small{font:700 11px/1.4 Nunito,sans-serif;color:#637e79;letter-spacing:.3px}
#closetDetail .outfit-goal-detail h3{font:800 22px/1.25 Nunito,sans-serif;margin:0}
#closetDetail .outfit-goal-detail p{font:700 14px/1.4 Nunito,sans-serif;margin:0;color:#547270}
#closetDetail footer{padding:16px 22px}
.result-outfit-goals button{width:100%;text-align:left;border:0;background:#f2f6f4;color:#28595b;border-radius:16px;padding:12px;margin:5px 0;font:700 14px Nunito,sans-serif;display:flex;align-items:center;gap:12px}
.result-outfit-goals canvas{position:static;width:48px;height:48px}.result-outfit-goals span{display:grid;gap:4px}.result-outfit-goals small{font-size:12px}
.run-outfit-grid [data-summary-outfit]{cursor:pointer}
@media(min-width:761px){.lane-controls{left:50%!important;right:auto!important;transform:translateX(-50%);width:380px;max-width:90%}.lane-controls button{max-width:180px}}
@media(max-width:350px){.hud-top .stats{grid-template-columns:minmax(65px,1fr) 112px 54px!important;gap:7px!important}.hud-top .stats .run-clock{width:112px}.hud-top .stats .hud-current-score strong{font-size:25px}#experimentMissions{padding:18px}.closet-tools{gap:4px}.closet-tools button{padding:9px}}
.hud-top .stats #hearts{display:flex!important;flex-direction:row!important;gap:2px!important;align-items:center;justify-content:center}
.hud-top .stats #hearts span{display:block;width:18px;height:15px;line-height:15px;font-size:15px!important;transform:none!important}
#experimentMissions .daily-card{position:relative;background:#f5f7f6;border-radius:18px;padding:15px 14px 15px 78px;min-height:94px;margin:12px 0}
#experimentMissions .daily-token{position:absolute;left:14px;top:18px;width:50px;height:50px}
#experimentMissions .daily-card strong{font-size:13px}#experimentMissions .daily-card p{font-size:17px;font-weight:800;margin:5px 0}#experimentMissions .daily-card small{font-size:13px}
#experimentMissions .daily-card .mission-done{position:absolute;right:12px;top:12px}
#experimentMissions .weekly-art{position:static;width:80px;height:80px;display:block;margin:10px auto}
#experimentMissions .weekly-mission-card{background:#f5f7f6;border-radius:20px;padding:16px;margin:12px 0}
#experimentMissions .weekly-mission-card h3{margin:0;font-size:19px}#experimentMissions .weekly-objective{font-size:19px;font-weight:800}
#experimentMissions .weekly-milestones{padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#experimentMissions .weekly-milestones li{position:relative;background:white;padding:12px;border-radius:14px;display:grid;gap:6px;text-align:center}
#experimentMissions .milestone-icon{position:static;width:22px;height:22px}.weekly-milestone-target{display:flex;align-items:center;justify-content:center;gap:5px}
#experimentMissions .weekly-count{display:flex;justify-content:space-between;gap:10px;font-weight:800}#experimentMissions .weekly-total{font-size:12px}
.experiment-previous{display:block;margin:12px auto 0;background:transparent;border:0;color:#547775;text-decoration:underline;font:700 13px Nunito,sans-serif}
#previousRules{border:0;border-radius:28px;padding:24px;width:min(500px,calc(100% - 24px));color:#28595b;max-height:85dvh;overflow:auto;background:white}#previousRules::backdrop{background:#264f5066;backdrop-filter:blur(7px)}#previousRules header{position:static;padding:0;pointer-events:auto;gap:12px}#previousRules h2{font:600 27px Fredoka,sans-serif;margin:0}#previousRules button{width:40px;height:40px;border:0;background:#f3f6f4;border-radius:50%;font-size:24px;color:inherit}#previousRules p{font-size:14px;line-height:1.5}#previousRules ol{padding:0;list-style:none}#previousRules li{display:flex;justify-content:space-between;padding:14px;background:#f3f6f4;border-radius:14px;margin:8px 0;gap:10px}
html body #experimentMissions nav button[aria-pressed=true],html body #lexyHistory .closet-tools button[aria-pressed=true]{background:#28595b!important;color:white!important}
#closetDetail .closet-detail-viewer{display:block}#closetDetail .closet-detail-locked-art{width:84px;height:94px;max-width:84px;border-radius:16px;line-height:1}
#closetDetail .closet-detail-viewer button:disabled{visibility:hidden}#closetDetail .closet-detail-state{color:#647a77}
#experimentMissions progress,.outfit-goal-detail progress{display:block;width:100%;border:0;border-radius:20px;overflow:hidden;height:8px}
#experimentMissions progress::-webkit-progress-bar,.outfit-goal-detail progress::-webkit-progress-bar{background:#dfe8e7;border-radius:20px}
#experimentMissions progress::-webkit-progress-value,.outfit-goal-detail progress::-webkit-progress-value{background:#287d7b;border-radius:20px}
#closetDetail .closet-detail-description[hidden]{display:none!important}
@media(min-width:961px){body.playing .hud-top{top:84px}}

/* A single Missions entry leaves the full collection in My Lexy → Closet. */
html body #intro #retentionHome{display:block;padding-top:8px;padding-bottom:8px}
html body #intro #retentionHome>button[hidden]{display:none!important}
html body #intro #retentionHome .home-missions-entry{display:flex;align-items:center;gap:12px;width:100%;min-height:68px;padding:8px 12px;border:0;border-radius:16px;background:transparent;color:#28595b;text-align:left;box-shadow:none}
#intro .home-missions-entry .home-missions-icon{color:#ad8128;display:flex;flex:none;align-items:center;justify-content:center;width:36px}
#intro .home-missions-entry>span:nth-child(2){display:grid;gap:5px;flex:1;min-width:0}
html body #intro .home-missions-entry strong{font:800 18px/1.2 Nunito,sans-serif}
html body #intro .home-missions-entry small{font:600 12px/1.4 Nunito,sans-serif;color:#607e7c;margin:0}
.home-missions-chevron{font-size:27px;flex:none}
#experimentMissions nav button[data-tab=outfits]{flex:1.6}

#over[data-outcome=complete] .result-hero{background:#fff4d8;border:1px solid #e9cc82;border-radius:22px;padding:14px;margin-bottom:12px}#over[data-outcome=complete] #overLabel{color:#916009}#over[data-outcome=complete] .result-hero h2{color:#28595b}.zooming #zoomFill[data-clean=false],#zoomFill[data-clean=false]{background:#bc734e}.result-achievement{display:inline-block;background:#e3f2e8;color:#237447;border-radius:10px;padding:5px 9px;font:800 12px/1.3 Nunito,sans-serif;margin-top:6px}.result-achievement[hidden]{display:none}.result-run-note{font:700 14px/1.4 Nunito,sans-serif;color:#617b7b;margin:0 0 18px}.result-rank-celebration{background:#fff1cd;color:#865b0d;border-radius:12px;padding:8px 12px;font-weight:800;margin:8px 0}#over[data-outcome=complete] .result-score strong{color:#a77717}@media(max-width:380px){#over[data-outcome=complete] .result-hero{padding:10px}.result-hero h2{font-size:28px}}

#closetDetail{height:fit-content!important;min-height:0!important}#closetDetail .closet-detail-body{flex:0 1 auto;align-content:start}#closetDetail .outfit-goal-detail{margin-top:14px}
/* Fixed four-slot width keeps the score and clock still when the spare is spent. */
.hud-top .stats{grid-template-columns:minmax(60px,1fr) 116px 78px!important;gap:8px!important}
.hud-top .stats .run-clock{width:116px}
.hud-top .stats #hearts{width:78px!important;min-width:78px;flex-wrap:nowrap!important}
.hud-top .stats #hearts span{flex:0 0 18px!important;min-width:18px}
.hud-top .stats #hearts .bonus-heart{color:#bd762b;text-shadow:0 0 1px #66390f}
@media(max-width:350px){.hud-top .stats{grid-template-columns:minmax(52px,1fr) 96px 78px!important;gap:6px!important;padding-inline:10px!important}.hud-top .stats .run-clock{width:96px}.hud-top .stats .hud-current-score strong{font-size:24px}}
#routePortal .portal-hint{position:absolute;top:calc(50% + 38px);left:16px;right:16px;text-align:center;color:#fff;font:800 15px/1.4 Nunito,sans-serif;text-shadow:0 2px 4px #23494e}
#runEndTransition{position:absolute;inset:0;z-index:160;display:grid;place-items:center;background:#244d4c35;pointer-events:auto}
#runEndTransition[hidden]{display:none}
#runEndTransition>div{width:min(330px,calc(100% - 48px));padding:24px;border-radius:26px;background:#fffaf0;box-shadow:0 12px 35px #16393933;text-align:center;color:#28595b}
#runEndTransition strong{display:block;font:600 34px/1.15 Fredoka,sans-serif}
#runEndTransition span{display:block;font-size:32px;color:#d89d35;margin-bottom:10px}
#runEndTransition p{font:700 15px/1.5 Nunito,sans-serif;margin:10px 0 0}
#runEndTransition[data-outcome=death] span{color:#da714c}
.run-ending .lane-controls,.run-ending #pause,.run-ending #adventureJump,.run-ending #bonusBird{pointer-events:none;opacity:.35}

/* Completion has the same meaning and treatment across all mission surfaces. */
#experimentMissions .daily-card.complete,
#experimentMissions .weekly-mission-card[data-complete=true],
#experimentMissions .weekly-milestones li.reached,
#experimentMissions .outfit-mission[data-owned=true],
#closetDetail .outfit-goal-detail[data-owned=true],
html body #over .run-progress .result-mission[data-complete=true]{
 background:#eaf4e9;border:1px solid #c5dbc6;color:#285c39;
}
#experimentMissions .daily-card.complete>strong{display:block;padding-right:22px;color:#356441}
#experimentMissions .daily-card .mission-done{
 display:grid;place-items:center;width:22px;height:22px;border-radius:50%;
 background:#427447;color:#fff;font:800 15px/1 Nunito,sans-serif;
}
#experimentMissions .weekly-milestones li.reached>strong,
#experimentMissions .outfit-mission[data-owned=true] small,
#experimentMissions .outfit-mission[data-owned=true] span>span,
#closetDetail .outfit-goal-detail[data-owned=true] small,
#closetDetail .outfit-goal-detail[data-owned=true] p{color:#356441}
#experimentMissions .weekly-message{color:#356441;font-weight:800}
#closetDetail .closet-detail-body{grid-template-rows:auto auto auto;row-gap:6px}
#closetDetail .closet-detail-title{grid-row:1}
#closetDetail .closet-detail-requirement{grid-row:2}
#closetDetail .outfit-goal-detail{grid-row:3;margin-top:4px}
/* This static heading receives focus to announce results, not to act as a button. */
#overLabel:focus{outline:none}
html body #over #submissionStatus:empty{display:none;min-height:0;margin:0;padding:0}
html body #over .score-form{margin-bottom:0}
html body #over .result-leaderboard{margin-bottom:14px}

#routeChain[hidden]{display:none}
#routeChain{display:contents}
.zoom-wrap.has-route-chain{display:grid!important;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:16px 16px 3px;gap:3px 8px;padding:6px 10px!important;min-height:0!important;height:53px;box-sizing:border-box}
.route-chain-title{grid-column:1;grid-row:1;font:800 12px/16px Nunito,sans-serif;white-space:nowrap;color:#28595b}
.route-chain-note{grid-column:1;grid-row:2;font:700 10px/16px Nunito,sans-serif;white-space:nowrap;color:#55716e}
.route-chain-dots{grid-column:2;grid-row:2;display:flex;align-items:center;justify-content:flex-end;gap:3px}
.route-chain-dots i{font-style:normal;font-size:11px;line-height:12px;color:#cddcda}
.route-chain-dots i[data-filled=true]{color:#287d7b}
#routeChain[data-feedback=earned] .route-chain-dots i,#routeChain[data-feedback=earned] .route-chain-note{color:#93650b}
#routeChain[data-feedback=missed] .route-chain-note,#routeChain[data-feedback=hit] .route-chain-note{color:#a54c35}
.zoom-wrap.has-route-chain .zoom-label{grid-column:2;grid-row:1;gap:4px;font-size:10px;line-height:16px;margin:0}
.zoom-wrap.has-route-chain .meter{grid-column:1/-1;grid-row:3;height:3px;margin:0}
.route-tutorial{background:#edf5f1;border-radius:15px;padding:12px;margin:12px 0;color:#28595b;font:600 13px/1.45 Nunito,sans-serif}
.route-tutorial strong,.route-tutorial>span{display:block}.route-tutorial>span{letter-spacing:3px;color:#287d7b;margin:6px 0}.route-tutorial p{margin:0}
/* Adventure wraps the original meter after startup; keep that wrapper transparent
   to this grid so every label stays inside the same compact card. */
.zoom-wrap.has-route-chain>.zoom-progress{display:contents}
.zoom-wrap.has-route-chain .meter{padding:0;min-height:0}
.zoom-wrap.has-route-chain .zoom-label{white-space:nowrap;font-size:10px!important}

html body #game #hud .hud-top .zoom-wrap.has-showdown{height:60px!important;padding:8px 12px!important;background:#fff6db!important;border:1px solid #e6c873;box-sizing:border-box}
.zoom-wrap.has-showdown>.zoom-progress,.zoom-wrap.has-showdown>#adventureFork{display:none!important}
#showdownHUD[hidden]{display:none}
#showdownHUD>div{display:flex;justify-content:space-between;gap:6px;align-items:center;color:#28595b;font:900 13px/18px Nunito,sans-serif}
#showdownHUD b{font-size:11px;white-space:nowrap;color:#8c6015}
#showdownHUD p{margin:3px 0 0;color:#5b6050;font:800 11px/16px Nunito,sans-serif}
#showdownHUD[data-stage=warning] p,#showdownHUD[data-stage=dive] p{color:#a0472e}
#showdownHUD[data-stage=return] p,#showdownHUD[data-stage=won] p{color:#227068}
.showdown-result{margin:12px 0;padding:12px 14px;background:#fff3ce;border-radius:16px;color:#765017;font-weight:800;font-size:14px}
.showdown-result[data-won=false]{background:#edf3f2;color:#28595b}
.showdown-result[hidden]{display:none}
@media(max-width:350px){#showdownHUD>div{font-size:12px}#showdownHUD p{font-size:10px}}

/* Route objective and actual Zoomies occupy the existing compact HUD. */
html body #game .zoom-wrap.has-route-chain{height:61px;grid-template-rows:19px 20px 4px;gap:3px 8px;padding:6px 10px!important}
html body .route-chain-title{font-size:13px;line-height:19px}
html body .route-chain-note{font-size:12px;line-height:20px;font-weight:900}
html body .route-chain-dots i{font-size:14px;line-height:18px}
html body #game .zoom-wrap:has(#routeChain[data-feedback=earned]){background:#fff0bb!important;border:2px solid #dbb34e!important;box-shadow:0 0 0 3px #f6dc8a55}
html body #routeChain[data-feedback=earned] .route-chain-note{color:#825009}
html body #game .zoom-wrap.has-route-chain .zoom-label{font-size:11px!important;line-height:19px}
html body #game .zoom-wrap.has-route-chain .meter{height:4px}
@media(max-width:350px){html body .route-chain-note{font-size:10px}html body .route-chain-title{font-size:12px}}
/* One continuous jump surface, equally reachable with either hand. */
html body #game #adventureJump{left:16px;right:16px;width:calc(100% - 32px);max-width:none;bottom:calc(22px + env(safe-area-inset-bottom));height:78px}
/* Three deliberately bounded result sections; status space exists only if used. */
html body #over .result-summary,html body #over .result-leaderboard,html body #over #runProgress{border:1px solid #d7e4e2;border-radius:20px;padding:16px;margin:0 0 16px;min-height:0;background:#fff!important}
html body #over .result-summary{background:#f1f6f5!important}
html body #over[data-outcome=complete] .result-summary{background:#fff7e1!important;border-color:#dfc277}
html body #over .result-hero{background:none!important;border:0!important;padding:0!important;border-radius:0}
html body #over .result-run-note{font-size:13px;margin:12px 0;color:#526e6e}
html body #over .results{margin:12px 0 0;padding:14px 0 0;border-top:1px solid #ccdcd8;gap:12px}
html body #over .results .result-score strong{font-size:36px}
html body #over .results .result-best strong{font-size:26px}
html body #over .result-section-heading{padding:0;margin:0 0 12px;min-height:32px}
html body #over .result-section-heading h3,html body #over .run-progress-title{font-size:18px;margin:0}
html body #over #scoreForm{display:block;min-height:0;padding:0;margin:0}
html body #over #leaderboardJoined{margin:0;min-height:44px}
html body #over #submissionStatus:empty{display:none!important;min-height:0;margin:0;padding:0}
html body #over #resultVisibility{border-top:1px solid #d7e4e2;margin-top:12px;padding-top:12px}
html body #over #resultVisibility .analytics-settings{background:none!important;border:0;padding:0;margin:0}
html body #over #resultVisibility p{font-size:12px;line-height:1.45;margin:6px 0 0}
html body #over #resultVisibility label{font-size:13px}
html body #over .result-rank-celebration{margin:0 0 12px;padding:10px 12px;font-size:13px;border-radius:12px}
html body #over #runProgress>ul{margin:0}
html body #over .result-actions{border-top:1px solid #d7e4e2;padding-top:12px;background:white}
html body #over .showdown-result{font-size:13px;padding:10px;margin:10px 0}
@media(max-width:350px){html body #over .result-summary,html body #over .result-leaderboard,html body #over #runProgress{padding:12px}html body #over .result-hero h2{font-size:25px}html body #over .results .result-score strong{font-size:32px}}

html body #over #resultVisibility .leaderboard-visibility{margin:0}
html body #over #resultVisibility .visibility-row{margin:0;min-height:44px}

html body #game #hud .hud-top .zoom-wrap.has-showdown{height:64px!important;padding:7px 10px!important;background:#fff8e5!important;border:2px solid #d7bc79;box-shadow:0 3px 12px #79551415;display:block!important}
#showdownHUD .showdown-heading{display:flex;justify-content:space-between;align-items:center;gap:5px;font:900 13px/18px Nunito,sans-serif}
#showdownHUD .showdown-heading b{font-size:10px;color:#786128}
#showdownHUD .showdown-instruction{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:3px}
#showdownHUD .showdown-instruction p{margin:0;font-size:11px;line-height:18px;min-width:0}
#showdownHUD .showdown-returns{display:flex;gap:3px;flex:none}
#showdownHUD .showdown-returns i{font-style:normal;font-size:13px;line-height:18px;color:#7b9c93}
#showdownHUD .showdown-returns i[data-filled=true]{color:#247967}
html body #game .zoom-wrap:has(#showdownHUD[data-stage=warning]),html body #game .zoom-wrap:has(#showdownHUD[data-stage=dive]){background:#fff1e8!important;border-color:#c67557!important}
html body #game .zoom-wrap:has(#showdownHUD[data-stage=return]),html body #game .zoom-wrap:has(#showdownHUD[data-stage=drop]){background:#e9f7ef!important;border-color:#65a18b!important}
@media(max-width:350px){#showdownHUD .showdown-heading{font-size:12px}#showdownHUD .showdown-instruction p{font-size:10px}#showdownHUD .showdown-returns{gap:2px}#showdownHUD .showdown-returns i{font-size:11px}}

@media(max-width:350px){#showdownHUD .showdown-instruction p{line-height:14px}}

#hearts .bonus-heart[data-dormant="true"]{opacity:.35;filter:grayscale(1)}

html body .route-chain-dots i{color:#698681}#routeChain[data-feedback=earned] .route-chain-note{grid-column:1/-1}#routeChain[data-feedback=earned] .route-chain-dots{visibility:hidden}

#showdownHUD .showdown-returns[hidden]{display:none!important}
#showdownHUD[data-stage=approach] .showdown-heading{font-size:15px;letter-spacing:.25px}
#showdownHUD[data-stage=approach] .showdown-heading b{font-size:15px;color:#914a21}
#showdownHUD[data-stage=approach] .showdown-instruction p{font-size:12px;font-weight:800}
html body #game .zoom-wrap:has(#showdownHUD[data-stage=approach]){background:linear-gradient(115deg,#fff0bb,#fff8e5)!important;border-color:#d69b37!important;animation:final-stretch-arrival .55s ease-out both}
@keyframes final-stretch-arrival{from{box-shadow:0 0 0 7px #edbd5760}to{box-shadow:0 3px 12px #79551415}}
@media(prefers-reduced-motion:reduce){html body #game .zoom-wrap:has(#showdownHUD[data-stage=approach]){animation:none}}
@media(max-width:350px){#showdownHUD[data-stage=approach] .showdown-heading{font-size:13px}#showdownHUD[data-stage=approach] .showdown-instruction p{font-size:11px}}

#riskChoice{width:min(440px,calc(100vw - 28px));max-height:calc(100dvh - 32px);box-sizing:border-box;overflow:auto;border:0;border-radius:28px;padding:24px;color:#28595b;background:#fff;font-family:inherit}#riskChoice::backdrop{background:#28595b88;backdrop-filter:blur(7px)}#riskChoice h2{font-size:27px;margin:0 0 12px}#riskChoice p{line-height:1.45;margin:12px 0}#riskChoice button{display:block;width:100%;padding:16px;margin-top:12px;border:0;border-radius:18px;font:800 18px Nunito,sans-serif;color:#28595b;background:#edf3f2}#riskChoice [data-fight]{background:#d96745;color:white}.risk-totals{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#fff4d5;border-radius:18px;padding:16px}.risk-totals strong{display:block;font-size:26px}.risk-terms{font-size:14px}#bonusPot{display:block;color:#8a5c12!important;font-weight:800!important;font-size:11px!important;white-space:nowrap;margin-top:3px!important}#bonusPot[hidden]{display:none}#bonusPot.pot-earned{animation:pot-earned .7s ease-out}#potResult{border-radius:16px;background:#fff4d5;padding:12px 16px;margin:12px 0}#potResult div{display:flex;justify-content:space-between;gap:12px;font-size:14px;line-height:1.7}#potResult strong{white-space:nowrap}@keyframes pot-earned{50%{transform:scale(1.16);color:#b35b12}}@media(prefers-reduced-motion:reduce){#bonusPot.pot-earned{animation:none}}
#potToast{position:fixed;left:50%;bottom:24%;transform:translateX(-50%);max-width:80vw;border-radius:18px;padding:12px 18px;background:#fff0bd;color:#714b10;font:800 16px Nunito,sans-serif;text-align:center;z-index:100;pointer-events:none;box-shadow:0 3px 12px #0002}#potToast[hidden]{display:none}
html body #riskChoice button[data-fight]{background:#d96745!important;color:#fff!important;box-shadow:0 3px 0 #b65034}#riskChoice button:disabled{opacity:.65}

#potResult .bonus-loss-note{font-size:13px;line-height:1.4;margin:8px 0 0;color:#79522f}

#riskChoice .risk-heading{display:flex;align-items:center;gap:12px}#riskChoice .risk-heading img{width:76px;height:72px;object-fit:contain;flex:none}#riskChoice .risk-heading small{font-size:11px;letter-spacing:.08em;font-weight:800;color:#6b8580}#riskChoice .risk-heading h2{font-size:25px;line-height:1.12;margin:4px 0 0}#riskChoice .risk-safe{font-size:15px;margin:16px 0}#riskChoice .risk-bonus{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-radius:18px;background:#fff4d5}#riskChoice .risk-bonus strong{font-size:28px;color:#8a5c12}#riskChoice .risk-hearts{font-size:14px;font-weight:800;margin:14px 0 10px}#riskChoice .risk-outcomes{display:grid;grid-template-columns:1fr 1fr;gap:10px}#riskChoice .risk-outcomes span{border-radius:14px;background:#edf4f2;padding:10px 12px;font-size:13px}#riskChoice .risk-outcomes strong{display:block;font-size:21px;margin-top:2px}#riskChoice .risk-loss{font-size:13px;margin:10px 0 16px}#riskChoice[open]{animation:risk-enter .38s ease-out both}#riskChoice[open]::backdrop{animation:risk-backdrop .38s ease-out both}#riskChoice.risk-closing{animation:risk-leave .18s ease-in both}@keyframes risk-enter{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}@keyframes risk-leave{to{opacity:0;transform:translateY(8px)}}@keyframes risk-backdrop{from{background:#28595b00;backdrop-filter:blur(0)}to{background:#28595b88;backdrop-filter:blur(7px)}}@media(prefers-reduced-motion:reduce){#riskChoice[open],#riskChoice[open]::backdrop,#riskChoice.risk-closing{animation:none}}

#riskChoice #riskTitle:focus{outline:none}

/* Preserve the original tutorial layout, allowing overflow on smaller screens. */
html body #tutorial{overflow-y:auto;overscroll-behavior:contain;max-height:calc(100dvh - 24px)}
html body #tutorial .route-tutorial p{font-weight:400;line-height:1.45}
html body #tutorial #tutorial-title:focus{outline:none}

.power-inventory button[data-locked="true"] .inventory-power-icon{filter:grayscale(1);opacity:.65}#powerInventoryTip small{display:block;margin-top:6px;font-weight:800}#runPowers .power-cards button:disabled{opacity:.65}#runPowers .power-cards button small:last-child{font-weight:800;margin-top:6px}

/* Compact totals, no separate bonus wallet. */
#riskChoice .risk-total{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;margin-top:18px;border-radius:18px;background:#fff4d5}
#riskChoice .risk-total strong{font-size:30px;color:#8a5c12}#riskChoice .risk-invite{font-size:15px;margin:8px 0 12px}#riskChoice .risk-extra{font-size:12px;margin:6px 0;color:#5d7674}#riskChoice .risk-loss{font-size:13px;margin:12px 0}#riskChoice .risk-heading>div{min-width:0}#riskChoice .risk-heading h2{font-size:24px}
#pigeonApproach{position:absolute;inset:0;z-index:155;overflow:hidden;background:linear-gradient(#264b5020,#f7d99d50 60%,#274a3c80);animation:approach-light 2.2s ease both;pointer-events:auto}
#pigeonApproach[hidden]{display:none}#pigeonApproach>img{position:absolute;left:50%;top:32%;width:150px;height:130px;object-fit:contain;transform:translateX(-50%);animation:pigeon-arrival 2.2s ease-out both}
#pigeonApproach .approach-shadow{position:absolute;left:50%;top:72%;width:170px;height:35px;background:#25383770;filter:blur(10px);border-radius:50%;animation:shadow-arrival 2.2s ease-out both}
#pigeonApproach .approach-title{position:absolute;left:20px;right:20px;top:51%;text-align:center;color:#fff;text-shadow:0 2px 8px #173a35;background:#28595bdd;border-radius:20px;padding:16px;animation:approach-copy 2.2s ease both}#pigeonApproach small{display:block;font:800 11px Nunito,sans-serif;letter-spacing:.08em;margin-bottom:6px}#pigeonApproach strong{display:block;font:600 28px/1.15 Fredoka,sans-serif}
.pigeon-approaching #hud,.pigeon-approaching #controls{opacity:.3;pointer-events:none}
@keyframes pigeon-arrival{0%{transform:translate(-180%,-100px) scale(.3);opacity:0}35%{opacity:1}100%{transform:translate(-50%,0) scale(1)}}@keyframes shadow-arrival{from{transform:translate(-200%,-100px) scale(.2);opacity:0}to{transform:translateX(-50%) scale(1);opacity:1}}@keyframes approach-light{from{opacity:0}25%,100%{opacity:1}}@keyframes approach-copy{0%,25%{opacity:0;transform:translateY(10px)}50%,100%{opacity:1;transform:none}}
html body #showdownHUD{min-width:0;width:100%;box-sizing:border-box}#showdownHUD .showdown-heading{display:flex;flex-wrap:wrap;gap:2px 8px}#showdownHUD .showdown-heading strong{min-width:0}#showdownHUD .showdown-heading b{margin-left:auto;white-space:nowrap}#showdownHUD .showdown-instruction{display:block}#showdownHUD .showdown-instruction p{white-space:normal;overflow-wrap:anywhere;font-size:11px;line-height:1.25}#showdownHUD .showdown-returns{display:none!important}
#runEndTransition[data-celebrate=true]{background:radial-gradient(ellipse at center,#fff4ba40,#286b6470);overflow:hidden}#runEndTransition[data-celebrate=true]>div:first-child{position:relative;z-index:2;animation:finish-pop .5s ease-out;background:#fff9e9}#runEndTransition[data-celebrate=true] span{font-size:58px;animation:finish-star 1.1s ease-in-out 2}#runEndTransition .finish-confetti{position:absolute;inset:0;width:auto;padding:0;margin:0;border:0;background:none;box-shadow:none;pointer-events:none;z-index:1}#runEndTransition .finish-confetti i{position:absolute;left:var(--x);top:-12px;width:9px;height:16px;border-radius:3px;background:#edc557;animation:confetti-fall 2.5s calc(var(--i) * -0.045s) ease-out both}#runEndTransition .finish-confetti i:nth-child(3n){background:#6bbbae}#runEndTransition .finish-confetti i:nth-child(3n+1){background:#e98d69}@keyframes confetti-fall{from{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(90vh) rotate(480deg);opacity:0}}@keyframes finish-pop{from{transform:scale(.86);opacity:0}to{transform:scale(1);opacity:1}}@keyframes finish-star{50%{transform:scale(1.15) rotate(12deg)}}
@media(max-width:350px){#riskChoice{padding:18px}#riskChoice .risk-heading img{width:58px;height:60px}#riskChoice .risk-heading h2{font-size:21px}#riskChoice .risk-total strong{font-size:26px}}
@media(prefers-reduced-motion:reduce){#pigeonApproach,#pigeonApproach>img,#pigeonApproach .approach-shadow,#pigeonApproach .approach-title,#runEndTransition[data-celebrate=true]>div:first-child,#runEndTransition[data-celebrate=true] span,#runEndTransition .finish-confetti i{animation:none}#runEndTransition .finish-confetti{display:none}}

/* One continuous arrival into the finale; no decision dialog or second countdown. */
#pigeonApproach,#pigeonApproach>img,#pigeonApproach .approach-shadow,#pigeonApproach .approach-title{animation-duration:3s}
#pigeonApproach .approach-title p{font:700 15px/1.35 Nunito,sans-serif;margin:8px 0 0}
.pigeon-approaching #hud{visibility:hidden}
.game-paused #pigeonApproach,.game-paused #pigeonApproach *{animation-play-state:paused}

#runPowerStatus[data-state="used"],#runPowerStatus[data-state="expired"]{filter:grayscale(1);opacity:.65}#runPowerStatus[data-state="paused"]{opacity:.8}

/* Keep tutorial actions outside the scrollable instructions. */
html body #tutorial{overflow:hidden;max-height:calc(100dvh - 24px)}
html body #tutorial .tutorial-content{display:flex;flex-direction:column;gap:0;padding:0;min-height:0;max-height:calc(100dvh - 26px)}
html body #tutorial .tutorial-scroll{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 16px 12px;scroll-padding-block:18px;-webkit-overflow-scrolling:touch}
html body #tutorial .tutorial-scroll>*{min-width:0;margin:0}
html body #tutorial .tutorial-actions{flex:0 0 auto;padding:12px 16px max(14px,env(safe-area-inset-bottom));border-top:1px solid #28595b1f;background:inherit;position:relative;z-index:1}
@media(max-height:650px){html body #tutorial .tutorial-scroll{padding:12px;gap:7px}html body #tutorial .tutorial-actions{padding:10px 12px max(12px,env(safe-area-inset-bottom))}}

/* Explicit states, compact navigation, and complete outfit pages. */
html body #runPowers .power-cards button[data-locked=true]{opacity:1;background:#eef0f1!important;border:1px solid #d8dddf!important;color:#566064;box-shadow:none!important}
html body #runPowers .power-cards button[data-locked=true] strong{color:#515b60}
html body #runPowers .power-cards button[data-locked=true] small{color:#626c71}
html body #runPowers .power-cards button small:last-child{margin-top:auto;padding-top:8px;font-weight:800}
html body [data-locked=true] .power-symbol{filter:grayscale(1);opacity:.5}
html body #runPowers .power-card-icon{gap:8px!important;margin-bottom:4px!important}
html body #runPowers .power-quantity[data-locked=true],html body #lexyHistory .power-quantity[data-locked=true]{display:flex;align-items:center;justify-content:center;gap:5px;width:auto;height:28px;padding:3px 9px;background:#dce1e3;color:#465258;border-radius:8px;font:800 11px/1 Nunito,sans-serif}
html body .power-quantity[data-locked=true] svg{position:static;width:19px;height:19px;flex:none}
html body #lexyHistory .power-inventory button[data-locked=true] .inventory-power-icon{filter:none;opacity:1}
html body #lexyHistory .power-quantity[data-locked=true]{padding:2px 5px;gap:2px;font-size:9px;height:24px}
html body #lexyHistory .power-quantity[data-locked=true] svg{width:15px;height:15px}
html body #v2Welcome .welcome-intro{font-size:15px;line-height:1.5;margin:14px 0 20px;color:#587271}
html body #v2Welcome{height:fit-content!important;min-height:0!important;max-height:calc(100dvh - 32px);padding:22px}
html body #lexyHistory.closet-expanded .history-close{display:flex!important;align-items:center;justify-content:center;flex:none}
html body #lexyHistory.pause-closet .closet-back{display:inline-flex!important;align-items:center;font-size:13px;white-space:nowrap}
html body #lexyHistory .closet-tools{flex-wrap:nowrap;gap:0;align-items:stretch;background:#f2f5f4;border-radius:14px;padding:4px}
html body #lexyHistory .closet-tools nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:3;gap:2px;padding:0;min-width:0;background:transparent}
html body #lexyHistory .closet-tools button{min-height:44px;padding:8px 3px;font:800 12px/1.2 Nunito,sans-serif;white-space:nowrap;border-radius:10px}
html body #lexyHistory .closet-tools>button{flex:1.45;min-width:0;border-left:1px solid #dce4e2;border-radius:0 10px 10px 0;margin-left:3px}
html body #experimentMissions .missions-back{display:inline-flex;width:auto;height:auto;min-height:40px;margin:0 0 12px;padding:8px 12px;border:0;border-radius:12px;font:800 13px Nunito,sans-serif;background:#f2f5f4;color:#28595b}
html body #experimentMissions .missions-back[hidden]{display:none}
html body #experimentMissions[open]{display:flex;flex-direction:column;box-sizing:border-box;height:fit-content}
html body #experimentMissions header,html body #experimentMissions nav{flex:none}
html body #experimentMissions .missions-body{min-height:100px;flex:0 1 auto;max-height:none}
html body #closetDetail{height:min(590px,calc(100dvh - 28px))!important;overflow:hidden}
html body #closetDetail>header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none}
html body #closetDetail .outfit-navigation{display:flex;gap:8px}
html body #closetDetail .outfit-navigation button{position:static;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;font:500 30px/1 Nunito,sans-serif}
html body #closetDetail .outfit-navigation button:disabled{opacity:.3;visibility:visible}
html body #closetDetail .closet-detail-page{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;overflow:hidden;touch-action:pan-y}
html body #closetDetail .closet-detail-body{flex:1;min-height:0;overflow-y:auto;grid-template-columns:84px minmax(0,1fr);align-content:start;padding:12px 20px 20px}
html body #closetDetail .closet-detail-viewer{width:84px;height:100px;max-width:84px}
html body #closetDetail .outfit-goal-detail{margin-top:10px}
html body #closetDetail footer{flex:none;min-height:64px;border-top:1px solid #e4e9e8}
html body #over #runProgress li.result-outfit-goals{display:grid;grid-template-columns:minmax(0,1fr);grid-column:1/-1;width:100%;min-width:0;box-sizing:border-box;gap:8px;padding:14px;border-radius:16px}
html body #over #runProgress .result-outfit-goals h3{font:800 17px/1.3 Nunito,sans-serif;margin:0 0 4px;width:auto;word-break:normal;overflow-wrap:normal}
html body #over #runProgress .result-outfit-goals button{display:grid;grid-template-columns:40px minmax(0,1fr);width:100%;min-width:0;padding:10px;gap:10px;margin:0;box-sizing:border-box;text-align:left}
html body #over #runProgress .result-outfit-goals canvas{position:static;width:40px;height:40px;max-width:40px;margin:0;transform:none}
html body #over #runProgress .result-outfit-goals button>span{display:grid;min-width:0;width:auto;gap:5px}
html body #over #runProgress .result-outfit-goals strong,html body #over #runProgress .result-outfit-goals small{display:block;width:auto;min-width:0;word-break:normal;overflow-wrap:break-word;white-space:normal;text-align:left;line-height:1.35}
html body #over #runProgress li.result-missions-entry{display:block;grid-column:1/-1;width:100%;min-width:0;padding:0;box-sizing:border-box}
html body #over #runProgress .result-missions-entry button{width:100%;box-sizing:border-box;white-space:normal;margin:8px 0;min-height:44px;font-size:15px}

html body #runPowers[open]{display:flex;flex-direction:column;max-height:calc(100dvh - 32px);overflow:hidden;box-sizing:border-box}
html body #runPowers>header,html body #runPowers>p,html body #runPowers>#powerStartRun{flex:none}
html body #runPowers .power-cards{min-height:0;overflow-y:auto;overscroll-behavior:contain;flex:1}
html body #runPowers .power-cards button{min-height:190px}
html body #runPowers .power-setup-status:empty{display:none}
html body #runPowers #powerStartRun{min-height:52px;margin-top:14px}

html body #v2Welcome .welcome-choices label{font-size:14px;line-height:1.45}
html body #v2Welcome .welcome-choices small{font-size:11px}
html body #v2Welcome #welcomeContinue{min-height:48px;margin-top:18px}
/* Results rewards share one left-aligned row layout, regardless of unlock source. */
html body #over .reward-items,html body #over .run-outfit-grid{grid-template-columns:minmax(0,1fr);gap:10px}
html body #over .reward-item,html body #over .run-outfit-grid>div{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;justify-content:start;gap:12px;padding:8px 0;text-align:left;background:transparent!important;border:0;border-radius:0;min-width:0}
html body #over .reward-item canvas,html body #over .reward-item[data-reward-kind=outfit] canvas,html body #over .run-outfit-grid canvas{position:static!important;width:72px!important;height:72px!important;max-width:72px;object-fit:contain;background:transparent!important}
html body #over .reward-item>span{width:72px;font-size:34px;text-align:center}
html body #over .reward-item>div,html body #over .run-outfit-grid>div>span{min-width:0;text-align:left}
html body #over .reward-item strong,html body #over .run-outfit-grid>div>span{font-size:14px;line-height:1.35;overflow-wrap:break-word}
html body #over .reward-item small{font-size:12px;line-height:1.4}
/* Keep the collection notice attached to its action, never between heading and count. */
html body #lexyHistory .history-collection h3 .closet-all{position:relative}
html body #lexyHistory .history-collection h3 .closet-all .closet-new-dot{
 position:absolute;inset:5px 5px auto auto;display:block;
 width:8px;height:8px;min-width:8px;min-height:8px;flex:none;
 margin:0;border-radius:50%;background:#d7a62d;box-shadow:0 0 0 2px #f5f6f7
}
html body #lexyHistory .history-collection h3 .closet-all .closet-new-dot[hidden]{display:none}

/* Content-sized chooser; auto flex basis keeps Safari's cards visible without filling empty space. */
html body #runPowers[open]{height:fit-content;max-height:calc(100dvh - 32px)}
html body #runPowers .power-cards{flex:0 1 auto;min-height:100px;margin-bottom:0;align-content:start;grid-auto-rows:minmax(190px,auto)}
html body #runPowers .power-cards button>.power-selected-check{background:#347650;color:#fff}
html body #gameHelp[open]{display:flex;flex-direction:column;height:min(780px,calc(100dvh - 28px));max-height:calc(100dvh - 28px);overflow:hidden;box-sizing:border-box}
html body #gameHelp>header{position:static;flex:none;padding:16px 20px 12px}
html body #gameHelp>.help-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:20px}
html body #gameHelp>.help-footer{flex:none;padding:10px 20px 14px;border-top:1px solid #28595b1f;background:inherit}
html body #gameHelp .help-footer .help-done{margin:0;min-height:46px}
html body #gameHelp .help-basics-intro{padding:12px}
html body #gameHelp .help-basics-intro .help-bullets{gap:5px}
html body #gameHelp .reference-panel p{font-weight:500;font-size:13px;line-height:1.45}
html body #gameHelp .reference-panel .reference-foot{font-size:12px}
html body #gameHelp .reference-pickups{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 6px}
html body #gameHelp .reference-pickups.route-reference{grid-template-columns:repeat(2,minmax(0,1fr))}
html body #gameHelp .reference-panel figcaption{font-size:11px}
html body #gameHelp .help-finale-heading,html body #tutorial .tutorial-pigeon-heading{display:flex;align-items:center;gap:12px;text-align:left}
html body #gameHelp .help-finale-heading img,html body #tutorial .tutorial-pigeon-heading img{position:static;display:block;width:88px;height:66px;object-fit:contain;flex:none}
html body #tutorial .tutorial-pigeon{text-align:left}
html body #tutorial .tutorial-pigeon p{font-weight:500;font-size:14px;line-height:1.45;margin-top:6px}

/* Give the three-second route choice the existing HUD row, with a clear action. */
html body #game .hud-top .zoom-wrap:has(#adventureFork:not([hidden])){min-height:58px;box-sizing:border-box}
html body #game .hud-top .zoom-wrap:has(#adventureFork:not([hidden])) .zoom-progress{visibility:hidden;width:100%;margin-left:0}
html body #game .hud-top #adventureFork{inset:4px!important;width:auto!important;height:auto;min-height:48px;padding:5px 12px;grid-template-columns:minmax(0,1fr) 44px;grid-template-rows:auto auto;gap:2px 8px;box-sizing:border-box}
html body #game .hud-top #adventureFork strong{font-size:15px;line-height:18px;white-space:normal}
html body #game .hud-top #adventureFork span{font-size:12px;line-height:16px;min-width:0;white-space:normal}
html body #game .hud-top #adventureFork b{font-size:24px;line-height:1;text-align:right}
html body #runEndTransition p{overflow-wrap:anywhere}

/* Half-length entrance; the showdown still starts at 1:40. */
#pigeonApproach,#pigeonApproach>img,#pigeonApproach .approach-shadow,#pigeonApproach .approach-title{animation-duration:1.5s}

/* Shared selection colour for the Closet, avatar picker and power-up chooser. */
html body{--selection-green:#347650;--selection-soft:#edf5ef}
html body #runPowers .power-cards button[aria-pressed=true],
html body #lexyHistory .power-inventory button[aria-pressed=true],
html body .avatar-options button[aria-pressed=true]{
 background:var(--selection-soft)!important;box-shadow:inset 0 0 0 2px var(--selection-green)!important;border-color:transparent!important
}
html body #runPowers .power-cards button>.power-selected-check,
html body .closet-wearing-tick{background:var(--selection-green);color:#fff}
html body .avatar-options button[aria-pressed=true]::after{color:var(--selection-green)}
html body #runPowers .power-quantity[data-locked=false],
html body #lexyHistory .power-quantity[data-locked=false]{
 background:#e2e7e6;color:#53645e;font-size:11px;min-width:32px;width:auto;padding:2px 5px
}
html body #lexyHistory .power-quantity[data-selected=true]{background:var(--selection-green);color:#fff}

#tutorial.sniff-guide{padding:16px 8px;display:flex;justify-content:center}
#tutorial.sniff-guide *{box-sizing:border-box}
#tutorial.sniff-guide .tutorial-content{width:100%;max-width:430px;background:#fff;color:#2c585b;border-radius:26px;overflow:hidden;font:600 14px/1.45 Nunito,Arial,sans-serif;box-shadow:0 8px 30px #203d4418}
#tutorial.sniff-guide .sniff-top{padding:22px 22px 0;display:flex;align-items:center;justify-content:space-between;gap:10px}
#tutorial.sniff-guide .sniff-top>span{font-size:13px;color:#647b7a}
#tutorial.sniff-guide nav{display:flex;gap:0}
#tutorial.sniff-guide nav button{width:25px;height:35px;padding:0;border:0;background:transparent;display:grid;place-items:center}
#tutorial.sniff-guide nav button::after{content:"";width:7px;height:7px;border-radius:50%;background:#dce5e2}
#tutorial.sniff-guide nav button[aria-current=step]::after{width:19px;border-radius:7px;background:#2c7775}
#tutorial.sniff-guide .sniff-pages{touch-action:pan-y;display:grid}
#tutorial.sniff-guide .sniff-page{padding:13px 22px 22px;min-height:510px;grid-area:1/1}
#tutorial.sniff-guide [hidden]{display:none!important}
#tutorial.sniff-guide .sniff-page[hidden]{display:block!important;visibility:hidden;pointer-events:none}
#tutorial.sniff-guide h2{font:500 30px/1.15 Fredoka,Arial,sans-serif;margin:0 0 9px;letter-spacing:-.3px}
#tutorial.sniff-guide h3{font-size:15px;font-weight:800;line-height:1.3;margin:0}
#tutorial.sniff-guide p{margin:0}
#tutorial.sniff-guide .sniff-lead{margin-bottom:24px;color:#567271;font-size:13px}
#tutorial.sniff-guide .sniff-heading{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:13px}
#tutorial.sniff-guide .sniff-heading>span{font-size:11px;color:#617777;text-align:right}
#tutorial.sniff-guide .sniff-items{display:grid;text-align:center;gap:14px 5px}
#tutorial.sniff-guide .sniff-pickups{grid-template-columns:repeat(5,minmax(0,1fr))}
#tutorial.sniff-guide .sniff-hazards{grid-template-columns:repeat(4,minmax(0,1fr))}
#tutorial.sniff-guide .sniff-items>figure{display:flex;flex-direction:column;align-items:center;min-width:0}
#tutorial.sniff-guide canvas{width:41px;height:41px;display:block;margin:0 auto 6px}
#tutorial.sniff-guide .sniff-items span{font-size:11px;line-height:1.2}
#tutorial.sniff-guide .sniff-pickups span{min-height:27px;max-width:59px}
#tutorial.sniff-guide .sniff-items b{font-size:13px;font-weight:800;margin-top:4px}
#tutorial.sniff-guide .sniff-divider{border-top:1px solid #e4e9e7;margin-top:20px;padding-top:17px}
#tutorial.sniff-guide .sniff-note{padding:14px 15px;border-radius:16px;background:#edf4ee;margin-top:23px}
#tutorial.sniff-guide .sniff-note p{font-size:12px;line-height:1.5;margin-top:5px}
#tutorial.sniff-guide .sniff-route{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:center;margin-bottom:13px}
#tutorial.sniff-guide .sniff-route img{width:64px;height:64px;object-fit:cover;border-radius:12px}
#tutorial.sniff-guide .sniff-route p,#tutorial.sniff-guide .sniff-chase p{font-size:12px;line-height:1.4;margin-top:3px;color:#526f6e}
#tutorial.sniff-guide .sniff-invitation{font-size:12px;line-height:1.4;margin:3px 0 17px}
#tutorial.sniff-guide .sniff-chase{border-top:1px solid #e2e8e5;padding-top:15px;display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:center}
#tutorial.sniff-guide .sniff-chase img{width:64px;height:64px;object-fit:contain}
#tutorial.sniff-guide .sniff-zoom{padding-top:14px;margin-top:14px;border-top:1px solid #e2e8e5}
#tutorial.sniff-guide .sniff-zoom p{font-size:12px;margin-top:4px;line-height:1.45}
#tutorial.sniff-guide .sniff-finale{padding-top:6px}
#tutorial.sniff-guide .sniff-finale-art{height:136px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:15px;background:radial-gradient(ellipse at center,#e7f2ee 0%,#f4f8f5 48%,#fff 72%)}
#tutorial.sniff-guide .sniff-finale-art img{height:110px;width:165px;object-fit:contain;filter:drop-shadow(0 10px 6px #25484518)}
#tutorial.sniff-guide .sniff-finale-art span{font-size:10px;letter-spacing:1.6px;font-weight:800;color:#64817c}
#tutorial.sniff-guide .sniff-finale h2,#tutorial.sniff-guide .sniff-finale>.sniff-lead{text-align:center}
#tutorial.sniff-guide .sniff-finale>.sniff-lead{margin-bottom:22px}
#tutorial.sniff-guide .sniff-instructions{list-style:none;margin:0;padding:0;display:grid;gap:14px}
#tutorial.sniff-guide .sniff-instructions li{display:grid;gap:2px}
#tutorial.sniff-guide .sniff-instructions b{font-size:14px;font-weight:800}
#tutorial.sniff-guide .sniff-instructions span{font-size:12px;color:#526f6e}
#tutorial.sniff-guide footer{display:grid;grid-template-columns:1fr 1.8fr;gap:10px;padding:13px 20px 18px;border-top:1px solid #e9eceb;background:#fff}
#tutorial.sniff-guide footer button{border:0;border-radius:16px;min-height:51px;font:800 17px Nunito,Arial,sans-serif}
#tutorial.sniff-guide .sniff-back{background:#f2f3f4;color:#2c585b}
#tutorial.sniff-guide .sniff-next{background:#db6844;color:#fff;box-shadow:0 3px 0 #bc5538}
#tutorial.sniff-guide .sniff-preview-end{padding:0 20px 15px;font-size:12px;text-align:center}
@media(max-width:360px){#tutorial.sniff-guide .sniff-page{padding-left:17px;padding-right:17px}#tutorial.sniff-guide .sniff-top{padding-left:17px;padding-right:17px}#tutorial.sniff-guide h2{font-size:27px}#tutorial.sniff-guide .sniff-route{grid-template-columns:55px minmax(0,1fr);gap:10px}#tutorial.sniff-guide .sniff-route img{width:55px;height:60px}}

/* The footer stays fixed while each page can scroll on a short screen. */
html body #tutorial.sniff-guide{display:none;position:fixed;padding:0;border:0;width:min(430px,calc(100vw - 24px));height:min(718px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);border-radius:26px;overflow:hidden;background:#fff;color:#2c585b}
html body #tutorial.sniff-guide[open]{display:block}
html body #tutorial.sniff-guide .tutorial-content{display:flex;flex-direction:column;height:100%;max-height:none;min-height:0;width:100%;padding:0;gap:0;border-radius:0;box-shadow:none}
html body #tutorial.sniff-guide .sniff-pages{position:relative;display:block;flex:1;min-height:0;overflow:hidden;padding:0;touch-action:pan-y}
html body #tutorial.sniff-guide .sniff-page{height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:23px 22px 16px;text-align:left}
html body #tutorial.sniff-guide .sniff-page[hidden]{display:none!important}
html body #tutorial.sniff-guide .sniff-page h2{font:500 29px/1.15 Fredoka,Arial,sans-serif;margin:0 0 9px;text-align:left}
html body #tutorial.sniff-guide .sniff-finale h2{text-align:center}
html body #tutorial.sniff-guide .sniff-items figure{padding:0;margin:0}
html body #tutorial.sniff-guide .sniff-items figcaption{display:flex;flex-direction:column;align-items:center;color:#526f6e}
html body #tutorial.sniff-guide canvas.guide-item{position:static;inset:auto;transform:none;width:41px;height:41px;max-width:100%;margin:0 auto 6px}
html body #tutorial.sniff-guide .guide-item-name{display:block;min-height:27px;font:600 11px/1.2 Nunito,Arial,sans-serif}
html body #tutorial.sniff-guide .guide-item-reward{font:800 13px/1.3 Nunito,Arial,sans-serif;margin-top:4px;color:#2c585b}
html body #tutorial.sniff-guide .sniff-toilet{display:grid;grid-template-columns:45px minmax(0,1fr);gap:10px;align-items:center}
html body #tutorial.sniff-guide .sniff-toilet canvas{width:45px;height:52px;margin:0}
html body #tutorial.sniff-guide .sniff-route{grid-template-columns:70px minmax(0,1fr);gap:12px;margin-bottom:10px}
html body #tutorial.sniff-guide .sniff-route img{width:70px;height:60px}
html body #tutorial.sniff-guide .sniff-chase-art{position:relative;width:70px;height:54px;overflow:hidden}
html body #tutorial.sniff-guide .sniff-chase-art img{position:absolute;width:130px;height:87px;max-width:none;left:-30px;top:-22px}
html body #tutorial.sniff-guide .sniff-route small{font:800 10px/1.2 Nunito,Arial,sans-serif;color:#617777}
html body #tutorial.sniff-guide .sniff-main-image{position:relative;width:70px;height:70px}
html body #tutorial.sniff-guide .sniff-main-image img{height:70px}
html body #tutorial.sniff-guide .sniff-main-image span{position:absolute;inset:0 0 auto;background:#28595b;color:#fff;font:800 9px/1.4 Nunito,Arial,sans-serif;text-align:center;border-radius:10px 10px 0 0;padding:3px 0}
html body #tutorial.sniff-guide .sniff-zoom{margin:12px 0;padding:10px 12px;border:0;background:#edf4ee;border-radius:12px}
html body #tutorial.sniff-guide .sniff-invitation{margin:10px 0 12px;font-size:12px}
html body #tutorial.sniff-guide .sniff-footer{display:block;flex:none;padding:0 18px 16px;position:relative;border-top:1px solid #e9eceb;background:#fff;z-index:2}
html body #tutorial.sniff-guide .sniff-footer nav{justify-content:center;margin:0;gap:0}
html body #tutorial.sniff-guide .sniff-footer nav button{min-height:32px;height:32px;width:36px;min-width:36px;padding:0;border-radius:0!important;background:transparent!important;box-shadow:none!important}
html body #tutorial.sniff-guide .tutorial-actions{display:grid;grid-template-columns:1fr 1.8fr;gap:10px;margin:0;padding:0;border:0;background:#fff}
html body #tutorial.sniff-guide .tutorial-actions button{margin:0;min-height:48px;height:auto;width:auto;display:block;font:800 17px/1.3 Nunito,Arial,sans-serif;border:0;border-radius:16px;position:static;padding:10px}
html body #tutorial.sniff-guide #tutorialBack{order:0;background:#f2f3f4;color:#2c585b;box-shadow:none}
html body #tutorial.sniff-guide #tutorialStart{order:1;background:#db6844;color:#fff;box-shadow:0 3px 0 #bc5538}
html body #tutorial.sniff-guide .closet-carousel-preview{overflow:hidden;user-select:none;background:#fff}
@media(max-width:350px){html body #tutorial.sniff-guide .sniff-page{padding:16px}html body #tutorial.sniff-guide .sniff-page h2{font-size:26px}html body #tutorial.sniff-guide .sniff-route{gap:8px}}


/* Three readable choices; one shared use counter and a compact fixed footer. */
html body #runPowers{height:fit-content!important;min-height:0!important;max-height:calc(100dvh - 32px);gap:12px}
html body #runPowers>p,html body #runPowers .power-cards{margin-top:0}
html body #runPowers .power-cards{display:flex!important;flex-direction:column;gap:10px;flex:0 1 auto;min-height:0;overflow:auto}
html body #runPowers .power-cards button{display:flex!important;flex-direction:row;align-items:center;gap:14px;min-height:96px!important;height:auto!important;padding:16px!important;text-align:left}
html body #runPowers .power-cards button>.power-symbol{font-size:34px;flex:0 0 42px;text-align:center}
html body #runPowers .power-card-copy{display:flex;flex-direction:column;gap:5px;padding-right:12px}
html body #runPowers .power-card-copy small{font-weight:400!important;margin:0!important;line-height:1.35}
html body #runPowers .power-use-progress{margin:0;font-size:13px;color:#526c68}
html body #runPowers #powerStartRun{margin:0!important;flex-shrink:0}
html body #runPowers #powerWithout{margin:0;min-height:44px;border:0;background:#edf2f0;color:#28595b;border-radius:16px;font-weight:750;flex-shrink:0}
html body #runPowers #powerWithout[data-primary=true]{background:#d96c48!important;color:white!important;box-shadow:0 4px 0 #b95436!important}
html body #runPowers[data-available=false] .power-symbol{filter:grayscale(1)}
html body #runPowers .power-setup-status:empty{display:none}
html body #lexyHistory .power-inventory{grid-template-columns:repeat(3,minmax(0,1fr))!important}
html body #lexyHistory .power-inventory button{min-width:0;position:relative}
html body #lexyHistory .power-inventory small{white-space:normal}
html body #lexyHistory .power-inventory .power-quantity{position:absolute;right:5px;top:5px}
html body .power-earned-summary p{margin:8px 0 0}
html body .golden-power-icon{width:44px;height:44px;display:block;margin:auto}
html body #runPowers canvas.golden-power-icon,html body #lexyHistory canvas.golden-power-icon{position:static!important;inset:auto!important;width:44px!important;height:44px!important;display:block}

/* Selection describes an available choice, never a remembered but empty use. */
html body #profileIdentity .run-identity-line>.avatar-new-dot{position:static;display:inline-block;flex:0 0 8px;align-self:center;width:8px;min-width:8px;height:8px;margin:0 2px;box-shadow:none}
html body #profileIdentity .run-identity-line>.avatar-new-dot[hidden]{display:none}
html body #over .result-score .result-achievement{max-width:100%;box-sizing:border-box;font-size:11px;padding:4px 6px;line-height:1.35;letter-spacing:0;margin-top:7px}
html body #runPowers .power-cards button>.power-selected-check{display:none!important;left:auto;right:10px;top:10px;width:22px;height:22px;padding:0;font-size:0!important;line-height:1;border-radius:50%;background:#347650;color:white;align-items:center;justify-content:center}
html body #runPowers .power-cards button[aria-pressed=true]:not(:disabled)>.power-selected-check{display:flex!important}
html body #runPowers .power-selected-check::after{content:'';width:6px;height:11px;border:solid white;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
html body #runPowers .power-card-copy{padding-right:24px}
html body #lexyHistory .power-quantity[hidden]{display:none!important}
/* Dedicated power space inside the existing 64px header; it cannot ellipsize. */
html body #game>header #runPowerStatus{display:grid;grid-template-columns:24px 1fr;grid-template-rows:20px 16px;align-content:center;column-gap:5px;flex:0 0 88px;box-sizing:border-box;width:88px;height:44px;padding:4px 6px;border-radius:12px;background:#e6f1e9;color:#245957;font-family:Nunito,sans-serif;white-space:nowrap;overflow:visible;filter:none;opacity:1}
html body #runPowerStatus[hidden]{display:none!important}
html body #runPowerStatus .run-power-icon{grid-row:1/3;align-self:center;font-size:22px;line-height:1}
html body #runPowerStatus .run-power-icon canvas{position:static;inset:auto;display:block;width:24px;height:24px}
html body #runPowerStatus b{font-size:14px;line-height:20px;font-variant-numeric:tabular-nums}
html body #runPowerStatus small{font-size:12px;line-height:16px;font-weight:800;font-variant-numeric:tabular-nums}
html body #runPowerStatus:not(:has(small:not([hidden]))) b{grid-row:1/3;align-self:center}
html body #game>header #runPowerStatus:is([data-state=used],[data-state=expired]){background:#eef0f0;color:#526360}
html body #runPowerStatus:is([data-state=used],[data-state=expired]) .run-power-icon{filter:grayscale(1)}
@media(max-width:600px){
 body.playing #game>header{gap:6px;padding-inline:10px}
 body.playing #pause{width:44px;min-width:44px;padding:0;font-size:0}
 body.playing #pause::before{content:'Ⅱ';font-size:22px}
 body.playing .header-controls{gap:4px}
 body.playing #game>header:has(#runPowerStatus:not([hidden])) .run-identity-line>span{display:none}
 body.playing .profile-identity canvas{width:32px;height:38px;flex-basis:32px}
 body.playing #game>header:has(#runPowerStatus:not([hidden])) .run-xp{font-size:9px;overflow:hidden}
}
@media(max-width:360px){body.playing #game>header:has(#runPowerStatus:not([hidden])) .profile-identity>canvas{display:none}}
#resultRunNote.run-survival-progress{display:flex;flex-direction:column;gap:8px}
#resultRunNote.run-survival-progress progress{appearance:none;display:block;width:100%;height:9px;border:0;border-radius:8px;overflow:hidden;background:#dce6e4}
#resultRunNote.run-survival-progress progress::-webkit-progress-bar{background:#dce6e4;border-radius:8px}
#resultRunNote.run-survival-progress progress::-webkit-progress-value{background:#287b79;border-radius:8px}
#resultRunNote.run-survival-progress progress::-moz-progress-bar{background:#287b79;border-radius:8px}
#resultRunNote.run-survival-progress small{font-size:12px}
html body #over #finalLook{display:none}
html body #over .showdown-result{display:flex;flex-direction:column;gap:8px}
html body #over .showdown-result[hidden]{display:none}
#showdownResult progress{appearance:none;display:block;width:100%;height:6px;border:0;border-radius:8px;overflow:hidden;background:#e4dac0}
#showdownResult progress::-webkit-progress-bar{background:#e4dac0;border-radius:8px}
#showdownResult progress::-webkit-progress-value{background:#a67b24;border-radius:8px}
#showdownResult progress::-moz-progress-bar{background:#a67b24;border-radius:8px}

/* Outfit details: the portrait is the focus; controls flank it at thumb size. */
html body #closetDetail{height:fit-content!important;min-height:0!important;width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 28px);overflow:hidden}
html body #closetDetail>header{padding:12px 16px 4px}
html body #closetDetail .closet-detail-page{flex:0 1 auto;min-height:0}
html body #closetDetail .closet-detail-body{display:flex;flex-direction:column;gap:8px;flex:0 1 auto;min-height:0;padding:4px 20px 16px;overflow-y:auto;align-items:stretch;text-align:center}
html body #closetDetail .closet-detail-viewer{position:relative;display:flex;justify-content:center;align-items:center;width:100%;max-width:none;height:clamp(150px,27dvh,230px);min-height:150px;flex:none;margin:0}
html body #closetDetail .closet-detail-art{display:flex;align-items:center;justify-content:center;width:calc(100% - 96px);height:100%;max-width:250px;max-height:none;margin:0;background:transparent}
html body #closetDetail .closet-detail-art canvas,html body #closetDetail .closet-detail-art img{position:static;inset:auto;width:100%;height:100%;max-width:100%;object-fit:contain}
html body #closetDetail .outfit-navigation{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;gap:0;pointer-events:none}
html body #closetDetail .outfit-navigation button{position:static;display:grid;place-items:center;pointer-events:auto;flex:none;width:44px;height:48px;min-height:48px;padding:0;border:0;border-radius:14px;background:var(--menu-soft,#edf4f1);color:#28595b;font:500 32px/1 Nunito,sans-serif;box-shadow:none}
html body #closetDetail .outfit-navigation button:disabled{opacity:.3;visibility:visible}
html body #closetDetail .closet-detail-title{align-self:stretch;margin:2px 0 0;text-align:center;font-size:25px;line-height:1.15}
html body #closetDetail .closet-detail-requirement{align-self:stretch;text-align:center;margin:0;font-size:13px;line-height:1.4}
html body #closetDetail .closet-detail-description{margin:4px 0 0;text-align:center;font-size:14px;line-height:1.45}
html body #closetDetail .outfit-goal-detail{margin:8px 0 0;padding:16px;border-radius:18px;gap:8px}
html body #closetDetail .outfit-goal-detail h3{font-size:19px;line-height:1.25}
html body #closetDetail footer{flex:none;min-height:0;padding:12px 20px 16px}
html body #closetDetail .closet-detail-wear{min-height:44px}
@media(max-height:650px){html body #closetDetail .closet-detail-viewer{height:155px}html body #closetDetail .outfit-goal-detail{padding:13px}}
html body #tutorial.sniff-guide .tutorial-content{position:relative}
html body :is(#closetDetail,#tutorial) .closet-detail-page{transform:translate3d(0,0,0);backface-visibility:hidden;-webkit-font-smoothing:antialiased}
html body :is(#closetDetail,#tutorial) .closet-carousel-preview{flex:none;opacity:1}

/* Shared dot language for Zoomies without changing either route's mechanic. */
html body #multiplier[data-zoom-dots]{display:flex;align-items:center;gap:2px;color:#698681;font-size:10px;letter-spacing:0}
html body #multiplier[data-zoom-dots] i{font-style:normal;line-height:1;color:#698681}
html body #multiplier[data-zoom-dots] i[data-filled=true]{color:#287477}

/* adventure-mode/style.css */
.adventure-map{width:min(520px,calc(100% - 24px));max-height:min(760px,calc(100% - 24px));padding:0;border:0;border-radius:24px;color:#28595b;background:#fffaf0;box-shadow:0 20px 70px #1238}.adventure-map::backdrop{background:#123a3c99;backdrop-filter:blur(5px)}.adventure-map-shell{padding:20px}.adventure-map header{position:static!important;inset:auto!important;width:auto!important;height:auto!important;padding:0!important;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.adventure-map h2,.adventure-map h3{margin:2px 0 4px;font-family:Fredoka,sans-serif}.adventure-map p{margin:0}.adventure-map-close{border:0;background:#28595b12;border-radius:50%;width:42px;height:42px;font-size:24px}.adventure-chapter-card{margin:18px 0;padding:16px;border-radius:18px;background:linear-gradient(135deg,#ffe4a8,#f7bca5);display:flex;justify-content:space-between;gap:12px;align-items:center}.adventure-chapter-card strong{display:block}.adventure-chapter-card span{font-weight:800}.adventure-levels{display:grid;gap:10px}.adventure-node{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid #28595b20;border-radius:18px;background:#fff;padding:12px;color:#28595b}.adventure-node-number{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#3c9294;color:#fff;font:800 20px Fredoka}.adventure-node strong,.adventure-node small,.adventure-node b{display:block}.adventure-node small{opacity:.75}.adventure-node b{color:#e49d21;letter-spacing:2px}.adventure-node em{font-style:normal;font-weight:800;color:#dc6847}.adventure-node[data-state=locked]{opacity:.48}.adventure-node[data-state=complete] .adventure-node-number{background:#dc6847}.adventure-level-meta{display:flex;justify-content:space-between;margin:14px 0;padding:10px 0;border-block:1px solid #28595b20}.adventure-objectives,.adventure-result-objectives{display:grid;gap:9px;padding:0;list-style:none}.adventure-objectives li,.adventure-result-objectives li{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:10px;border-radius:14px;background:#fff}.adventure-objectives li>span,.adventure-result-objectives li>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#28595b;color:#fff;font-weight:800}.adventure-objectives strong,.adventure-objectives p,.adventure-result-objectives strong,.adventure-result-objectives p{margin:0}.adventure-level-actions{display:flex;gap:10px;margin-top:18px}.adventure-level-actions button{flex:1}
.adventure-home-button,.classic-home-button{display:flex;align-items:center;justify-content:center;gap:10px;min-width:0;text-align:left}.adventure-home-button{border:1px solid #28595b40;border-radius:20px;background:#fffaf0;color:#28595b;font-weight:800}.mode-home-icon{flex:none;font-size:20px;line-height:1}.adventure-home-button .mode-home-icon{color:#d38d16}.mode-home-copy{display:block;min-width:0}.mode-home-copy strong,.mode-home-copy small{display:block;line-height:1.15}.mode-home-copy strong{font-size:17px}.mode-home-copy small{margin-top:4px;font-size:10px;font-weight:700;white-space:normal;opacity:.78}.classic-home-button .mode-home-copy small{color:#fff;opacity:.9}
.adventure-mission-hud{position:static;display:flex;align-items:center;gap:3px;max-width:100%;height:10px;min-height:0;margin-top:1px;padding:0;border:0;background:none;color:#28595b;box-shadow:none;pointer-events:none;white-space:nowrap;overflow:hidden;font:800 8px/10px Nunito,sans-serif;letter-spacing:0}.adventure-mission-hud .adventure-hud-level{display:inline;min-width:0;height:auto;padding:0;border-radius:0;background:none;color:#9a6814;font:900 8px/10px Nunito,sans-serif}.adventure-mission-hud .adventure-hud-kind{min-width:0;overflow:hidden;text-overflow:ellipsis;font:800 8px/10px Nunito,sans-serif}.adventure-mission-hud .adventure-hud-progress{flex:none;font:900 8px/10px Nunito,sans-serif;font-variant-numeric:tabular-nums}
.adventure-result{margin:12px 0;padding:14px;border-radius:18px;background:#fff5cf;text-align:left}.adventure-result[data-success=true]{background:#e5f6e9}.adventure-result-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.adventure-result-head h3{margin:0}.adventure-result-stars{font-size:22px;color:#dc9a1a;letter-spacing:2px}.adventure-new-stars{font-weight:800;color:#dc6847}.adventure-result-objectives{margin:10px 0 0}.adventure-result-objectives li{padding:7px;background:#fff8}.adventure-result-objectives li[data-complete=false]{opacity:.6}.adventure-result-objectives li>span{width:26px;height:26px}.result-actions.adventure-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.result-actions.adventure-actions button{min-width:0;margin:0}.result-actions.adventure-actions #nextAdventure:not([hidden]){grid-column:1/-1;grid-row:1}.result-actions.adventure-actions #mapAfter,.result-actions.adventure-actions #replayAdventure{grid-row:2}#over .result-leaderboard,#over .result-actions:not(.adventure-actions){display:none!important}
#intro .home-actions{grid-template-columns:1fr!important;grid-template-areas:"adventure" "leaderboard";gap:8px!important;margin-block:8px 7px!important}#intro .home-actions::before{display:none!important}#intro .home-actions #adventureMapOpen{grid-area:adventure;min-height:72px;padding:11px 16px;background:#dc6847;color:#fff;border:0;box-shadow:0 4px 0 #ad4d36}#intro .home-actions #start{display:none!important}#intro .home-actions #leaderboardOpen{grid-area:leaderboard;min-height:46px;padding:8px 12px;border-radius:16px!important}.mode-home-chevron{margin-left:auto;font:700 30px/1 Fredoka,sans-serif}.leaderboard-mode-title{display:flex!important;align-items:baseline;gap:6px}.leaderboard-mode-title small{margin:0!important}#intro .style-toggle,#intro #styleStatus{display:none!important}
.adventure-board-picker{display:grid;gap:8px;margin:14px 0;color:#28595b}.adventure-board-trigger{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:58px;padding:10px 14px;border:1px solid #28595b20;border-radius:16px;background:#f1f6f4;color:#28595b;text-align:left;touch-action:manipulation}.adventure-board-trigger>span:first-child{display:grid;min-width:0;gap:3px}.adventure-board-trigger small{font:500 10px/1.2 Nunito,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:#66807d}.adventure-board-trigger strong{overflow-wrap:anywhere;font:500 16px/1.25 Nunito,sans-serif}.adventure-board-trigger>span:last-child{flex:none;font:500 12px/1 Nunito,sans-serif;color:#4c6f6d}.adventure-board-menu{max-height:min(58dvh,520px);overflow-y:auto;overscroll-behavior:contain;padding:2px;-webkit-overflow-scrolling:touch}.adventure-board-menu>header{position:sticky!important;top:0!important;z-index:2!important;display:flex!important;align-items:center!important;gap:10px!important;width:auto!important;height:auto!important;margin:0 0 10px!important;padding:5px 0 10px!important;background:#fff!important;pointer-events:auto!important}.adventure-board-menu>header h3{margin:0;font:500 20px/1.2 Fredoka,sans-serif}.adventure-board-back{flex:none;min-height:44px;padding:8px 10px;border:0;border-radius:12px;background:#eef3f1;color:#28595b;font:500 13px/1 Nunito,sans-serif}.adventure-board-group{display:grid;gap:6px;margin-top:15px}.adventure-board-group h4{margin:0 5px 3px;color:#607a78;font:500 10px/1.3 Nunito,sans-serif;letter-spacing:.08em;text-transform:uppercase}.adventure-board-option{display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:9px;width:100%;min-height:50px;padding:10px 12px;border:1px solid #28595b18;border-radius:14px;background:#fff;color:#28595b;text-align:left}.adventure-board-option[aria-current=true]{border-color:#287d7b;background:#edf6f3}.adventure-board-check{display:grid;place-items:center;width:24px;height:24px;color:#287d7b;font:500 17px/1 Nunito,sans-serif}.adventure-board-option>span:last-child{display:grid;gap:2px;min-width:0}.adventure-board-option strong{font:500 14px/1.25 Nunito,sans-serif}.adventure-board-option small{font:500 11px/1.3 Nunito,sans-serif;color:#607a78;text-transform:none;letter-spacing:0}
#leaderboardDialog .leaderboard-heading{display:grid!important;grid-template-columns:minmax(0,1fr) 44px 44px;align-items:center;gap:6px}#leaderboardDialog .leaderboard-heading h2{min-width:0;margin:0;font-size:clamp(24px,7.4vw,34px);line-height:1.1;letter-spacing:-.02em;white-space:nowrap}#leaderboardDialog .leaderboard-heading button{box-sizing:border-box;width:44px!important;min-width:44px;height:44px!important;margin:0!important}#leaderboardDialog[data-picker=true]>.leaderboard-intro,#leaderboardDialog[data-picker=true] .leaderboard-mode-caption,#leaderboardDialog[data-picker=true] :is(.leaderboard-scroll-area,#leaderboardMore,#leaderboardStatus,#yourRank,#leaderboardRetry,.experiment-previous){display:none!important}
@media(max-width:360px){#leaderboardDialog .leaderboard-heading h2{font-size:24px}.adventure-board-menu>header h3{font-size:17px;white-space:nowrap}}
#leaderboardList .adventure-board-player{min-width:0}#leaderboardList .adventure-board-meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;margin-top:3px}#leaderboardList .adventure-board-meta small{margin:0;white-space:nowrap}#leaderboardList .adventure-board-stars{display:inline-flex;flex:none;align-items:center;white-space:nowrap;color:#a87519;font:600 16px/1.2 Nunito,sans-serif;letter-spacing:1px}#leaderboardList .adventure-board-stars .unearned{color:#819793}
#testEnvironmentBadge{position:fixed;right:8px;bottom:4px;z-index:9999;pointer-events:none;background:#fff7e6;color:#28595b;padding:3px 7px;border-radius:5px;font:11px/1.2 sans-serif}
body.playing #testEnvironmentBadge,body:has(#over:not([hidden])) #testEnvironmentBadge{display:none!important}
@media(max-width:760px){#intro{padding-bottom:calc(28px + env(safe-area-inset-bottom))!important}#intro .home-actions{margin-inline:5%!important}.adventure-map-shell{padding:16px}.adventure-node{grid-template-columns:42px 1fr auto;padding:10px}.adventure-node-number{width:38px;height:38px}#testEnvironmentBadge{display:none!important}}
@media(max-width:350px){#intro .home-actions{gap:7px!important}#intro .home-actions #adventureMapOpen,#intro .home-actions #start{min-height:68px;padding-inline:6px}.mode-home-icon{font-size:17px}.mode-home-copy strong{font-size:15px}.mode-home-copy small{font-size:9px}.adventure-map{width:calc(100% - 14px)}.adventure-map-shell{padding:13px}.adventure-chapter-card{padding:12px}.adventure-level-actions{flex-direction:column-reverse}}

/* The base game header is deliberately click-through. Adventure dialog headers are interactive. */
.adventure-map header{position:relative!important;z-index:2;pointer-events:auto}
.adventure-map-close{position:relative;z-index:3;flex:none;width:44px;height:44px;pointer-events:auto;touch-action:manipulation}

/* Mode choice is the homepage's primary decision; keep it above missions and above the fold. */
#intro #homePlayerBar{order:0}
#intro .home-hero{order:1}
#intro .home-actions{order:2}
#intro .retention-home{order:3}
#intro .best-intro{order:4}
@media(max-width:760px){#intro .home-hero{flex:0 0 clamp(280px,calc(100dvh - 290px),640px);min-height:280px}html:not([data-visual-style="sketch"]) #intro .home-hero{background-size:cover!important;background-position:center 50%!important;background-color:#83c8ed!important}}
@media(max-height:620px) and (max-width:760px){#intro .home-actions #adventureMapOpen,#intro .home-actions #start{min-height:52px}}

/* Adventure's level objective replaces the transient mission ticker during play. */
html[data-experience=adventure] body.playing #retentionMoment{display:none!important}

/* Revision 17 product pass: compact home actions with one shared component language. */
#intro .home-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.18fr)!important;grid-template-areas:"leaderboard adventure"!important;gap:10px!important;margin:10px 5% 8px!important}
#intro .home-actions #leaderboardOpen{grid-area:leaderboard;min-height:56px!important;padding:8px 10px!important;border:1px solid #28595b20!important;border-radius:18px!important;background:#fff!important;box-shadow:0 3px 12px #173c4412!important;color:#28595b!important;white-space:normal!important}
#intro .home-actions #adventureMapOpen{grid-area:adventure;min-height:56px!important;padding:8px 16px!important;border:0!important;border-radius:18px!important;background:#dc6847!important;color:#fff!important;box-shadow:0 4px 0 #ad4d36!important}
#intro .home-actions :is(#leaderboardOpen,#adventureMapOpen){display:flex;align-items:center;justify-content:center;gap:8px}
#intro .home-actions .leaderboard-mode-title{display:block!important;line-height:1.05;text-align:left}
#intro .home-actions .leaderboard-mode-title strong,#intro .home-actions .leaderboard-mode-title small{display:block}
#intro .home-actions .leaderboard-mode-title strong,#intro .home-actions .mode-home-copy strong{font:700 18px/1.05 Fredoka,sans-serif}
#intro .home-actions .leaderboard-mode-title small{margin-top:4px!important;font:700 10px/1 Nunito,sans-serif;opacity:.7}
#intro .home-actions .home-action-icon,#intro .home-actions .mode-home-icon{font-size:18px}
#intro .home-actions .mode-home-copy{flex:0 1 auto}

#intro .retention-home{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:auto!important;max-width:none!important;margin:0 5% 8px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
#intro .retention-home :is(.home-challenge-open,.home-missions-entry){box-sizing:border-box;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;width:100%!important;min-height:56px!important;padding:8px 12px!important;border:1px solid #28595b20!important;border-radius:18px!important;background:#fff!important;color:#28595b!important;box-shadow:0 3px 12px #173c4412!important;text-align:left!important}
#intro .retention-home .home-challenge-open+.home-challenge-open{border-left:1px solid #28595b20!important}
#intro .retention-home :is(.home-symbol,.home-missions-icon){display:flex;flex:none;align-items:center;justify-content:center;width:30px!important;font-size:19px!important}
#intro .retention-home .home-missions-entry>span:nth-child(2){display:grid;gap:3px;flex:1;min-width:0}
#intro .retention-home strong{font:700 13px/1.15 Fredoka,sans-serif!important}
#intro .retention-home small{display:block;overflow:hidden;text-overflow:ellipsis;font:700 10px/1.2 Nunito,sans-serif!important;white-space:nowrap}

/* Chapter selection precedes the level route. */
.adventure-chapters{display:grid;gap:12px;margin-top:20px}
.adventure-chapter-choice{display:grid;grid-template-columns:78px minmax(0,1fr) auto;align-items:center;gap:13px;width:100%;min-height:94px;padding:10px;border:1px solid #28595b20;border-radius:20px;background:#fff;color:#28595b;text-align:left}
button.adventure-chapter-choice{box-shadow:0 4px 0 #d7dedc;cursor:pointer}
.adventure-chapter-choice>span:nth-child(2){min-width:0}
.adventure-chapter-choice small,.adventure-chapter-choice strong,.adventure-chapter-choice em{display:block}
.adventure-chapter-choice small{font:900 10px/1.2 Nunito,sans-serif;letter-spacing:.1em;text-transform:uppercase;opacity:.65}
.adventure-chapter-choice strong{margin:3px 0;font:700 18px/1.15 Fredoka,sans-serif}
.adventure-chapter-choice em{font:700 11px/1.3 Nunito,sans-serif;font-style:normal;opacity:.72}
.adventure-chapter-choice>b{padding:6px 9px;border-radius:999px;background:#28595b;color:#fff;font:800 11px/1 Nunito,sans-serif}
.adventure-chapter-choice.is-locked{opacity:.58;filter:saturate(.45)}
.adventure-chapter-choice.is-locked>b{background:#758888}
.chapter-art{display:grid;place-items:center;width:78px;height:72px;border-radius:15px;color:#fff;font:800 24px/1 Fredoka,sans-serif;text-shadow:0 1px 3px #0005;box-shadow:inset 0 0 0 1px #fff5}
.chapter-art-beach{background:linear-gradient(160deg,#a8d5db 0 44%,#d9c69e 45% 100%)}
.chapter-art-city{background:linear-gradient(160deg,#b8c1c4 0 42%,#9faaa8 43% 64%,#cabca9 65%)}
.chapter-art-wild{background:linear-gradient(160deg,#a7beb0 0 40%,#7f9b82 41% 62%,#b4a27b 63%)}
.adventure-text-back{min-height:44px;margin:0 0 12px;padding:10px 12px;border:0;border-radius:12px;background:#28595b0e;color:#28595b;font:800 12px/1 Nunito,sans-serif}

/* The level list reads as a route, with a distinct scene marker at every stop. */
.adventure-chapter-card{margin:14px 0 18px;background:#edf4f1;border:1px solid #28595b16}
.adventure-levels{position:relative;gap:13px;padding:2px 0}
.adventure-levels::before{content:"";position:absolute;left:39px;top:32px;bottom:32px;width:3px;border-radius:3px;background:linear-gradient(#72aaa5,#dfb06c);opacity:.38}
.adventure-node{position:relative;grid-template-columns:78px minmax(0,1fr) auto;min-height:88px;padding:8px 10px 8px 6px;border-radius:20px;background:#fff;box-shadow:0 3px 12px #173c4410;overflow:hidden}
.adventure-node-art{position:relative;z-index:1;display:grid;place-items:center;width:72px;height:70px;border-radius:16px;background:#b8d8d8;box-shadow:inset 0 0 0 1px #fff7}
.adventure-node[data-profile=beach-1] .adventure-node-art{background:linear-gradient(160deg,#a8d5db 0 42%,#d8c49b 43%)}
.adventure-node[data-profile=beach-2] .adventure-node-art{background:linear-gradient(90deg,#b9a483 0 24%,#d7cab0 25% 74%,#879d9c 75%)}
.adventure-node[data-profile=beach-3] .adventure-node-art{background:linear-gradient(160deg,#b6d0d2 0 36%,#d5d0c2 37% 58%,#aaa89f 59%)}
.adventure-node[data-profile=beach-4] .adventure-node-art{background:linear-gradient(155deg,#abc7c7 0 38%,#9e9c87 39% 63%,#c2b79e 64%)}
.adventure-node[data-profile=beach-5] .adventure-node-art{background:linear-gradient(160deg,#c5b1ae 0 42%,#a2b2b5 43% 60%,#d2c0a0 61%)}
.adventure-node-number{width:36px;height:36px;background:#28595be8;font-size:17px;box-shadow:0 2px 5px #173c4440}
.adventure-node[data-state=complete] .adventure-node-number{background:#c76246}
.adventure-node-copy{min-width:0}
.adventure-node-copy strong{font:700 17px/1.15 Fredoka,sans-serif}
.adventure-node-copy b{margin-top:6px;font-size:15px}
.adventure-node em{padding:5px 7px;border-radius:999px;background:#fff1e8;font-size:10px;white-space:nowrap}
.adventure-node[data-state=locked]{opacity:.5;filter:saturate(.35)}

/* Progressive goals use the same visual hierarchy before and after the run. */
.adventure-objectives,.adventure-result-objectives{counter-reset:goal}
.adventure-objectives li,.adventure-result-objectives li{border:1px solid #28595b12;background:#fff}
.adventure-objectives strong,.adventure-result-objectives strong{font:900 10px/1.2 Nunito,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#7b6230}
.adventure-objectives p,.adventure-result-objectives p{margin-top:2px;font:800 14px/1.25 Nunito,sans-serif}
.adventure-level-actions button,.result-actions.adventure-actions button{min-height:46px!important;padding:10px 12px!important;border:1px solid #28595b24!important;border-radius:14px!important;background:#fff!important;color:#28595b!important;box-shadow:none!important;font:800 14px/1.15 Nunito,sans-serif!important}
.adventure-level-actions button.primary,.result-actions.adventure-actions button.primary{border-color:#dc6847!important;background:#dc6847!important;color:#fff!important;box-shadow:0 3px 0 #ad4d36!important}
.adventure-result{padding:16px;background:#f6f2e8;border:1px solid #28595b12}
.adventure-result[data-success=true]{background:#eaf4ed}
.adventure-result-head{align-items:flex-start}
.adventure-result-head h3{font:700 23px/1.1 Fredoka,sans-serif}
.adventure-result-goals{margin:14px 0 6px;font:900 10px/1.2 Nunito,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#28595b99}
.adventure-new-stars{display:block;margin-top:3px;text-align:right;white-space:nowrap}
.adventure-new-stars:empty{display:none}
.result-actions.adventure-actions{gap:9px}

/* In-run Adventure status stays compact: three goal markers, no counters or copy. */
.adventure-mission-hud{position:relative;display:flex;align-items:center;width:max-content;max-width:none;height:10px;min-height:10px;margin-top:1px;overflow:visible;color:#28595b;line-height:1;isolation:isolate}
.adventure-live-stars{display:flex;gap:2px;height:10px;align-items:center}
.adventure-live-stars i{display:block;color:#c9d2d0;font:normal 900 11px/1 Fredoka,sans-serif;text-shadow:0 1px #fff;transform-origin:center}
.adventure-live-stars i[data-reached=true]{color:#2f8b62;text-shadow:0 1px #fff,0 0 4px #5fbd8866}
.adventure-live-stars i.just-reached{animation:adventure-star-reached .75s cubic-bezier(.2,.9,.2,1)}
.first-run-label{display:inline-flex;align-items:center;height:16px;padding:0 7px;border:1px solid #d8a73566;border-radius:999px;background:#fff8dc;color:#7b6230;font:500 9px/1 Nunito,sans-serif;letter-spacing:.04em;white-space:nowrap}
.trial-run-intro{position:absolute;z-index:8;top:230px;left:50%;width:min(92%,520px);transform:translateX(-50%);display:grid;place-items:center;text-align:center;pointer-events:none;opacity:0;filter:drop-shadow(0 7px 8px #173c4450)}
.trial-run-intro strong{color:#fff;font:500 clamp(38px,10vw,58px)/1 Fredoka,sans-serif;letter-spacing:-.025em;-webkit-text-stroke:1.5px #236b6b;text-shadow:0 3px 0 #236b6b,0 7px 18px #173c4470;white-space:nowrap}
.trial-run-intro.show{animation:trial-run-intro 2s cubic-bezier(.22,.8,.24,1) both}
body.trial-intro-active #callout{opacity:0}
@keyframes trial-run-intro{0%{opacity:0;transform:translate(-50%,10px) scale(.88)}12%,72%{opacity:1;transform:translate(-50%,0) scale(1)}100%{opacity:0;transform:translate(-50%,-8px) scale(.98)}}
@media(max-height:620px){.trial-run-intro{top:202px}.trial-run-intro strong{font-size:34px}}
.adventure-goal-celebration{position:absolute;z-index:4;top:calc(100% + 7px);left:0;width:max-content;max-width:142px;padding:5px 8px;border:1px solid #2f8b6240;border-radius:999px;background:#e7f5ebf5;color:#246f4d;box-shadow:0 3px 9px #173c4426;opacity:0;transform:translateY(-3px) scale(.96);white-space:nowrap;pointer-events:none;font:500 10px/1 Nunito,sans-serif}
.adventure-goal-a11y{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}
.adventure-goal-celebration.show{animation:adventure-goal-pop 1.8s ease both}
@keyframes adventure-star-reached{0%{transform:scale(.7);filter:brightness(1)}35%{transform:scale(1.65) rotate(-8deg);filter:brightness(1.2) drop-shadow(0 0 4px #f6bd3f)}100%{transform:scale(1);filter:none}}
@keyframes adventure-goal-pop{0%{opacity:0;transform:translateY(4px) scale(.96)}16%,72%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-5px) scale(.98)}}

.adventure-result-time{margin:14px 0 0;padding:11px 12px;border-radius:13px;background:#fff9;border:1px solid #28595b12}
.adventure-result-time span{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}
.adventure-result-time strong{font:800 12px/1.2 Nunito,sans-serif;color:#28595b}
.adventure-result-time b{font:900 12px/1.2 Nunito,sans-serif;color:#28595b;font-variant-numeric:tabular-nums}
.adventure-result-time progress{display:block;width:100%;height:8px;border:0;border-radius:99px;overflow:hidden;background:#dce7e4}
.adventure-result-time progress::-webkit-progress-bar{background:#dce7e4;border-radius:99px}
.adventure-result-time progress::-webkit-progress-value{background:#3c9294;border-radius:99px}
.adventure-result-time progress::-moz-progress-bar{background:#3c9294;border-radius:99px}
.adventure-result-objectives small{display:block;margin-top:3px;color:#28595b99;font:800 10px/1.2 Nunito,sans-serif;font-variant-numeric:tabular-nums}

/* Adventure has its own authoritative time and goal summary below the score. */
html[data-experience=adventure] #over :is(#resultRunNote,#showdownResult){display:none!important}

/* The first run is an experience-first trial: one clear result and one way home. */
html[data-experience=trial] #over :is(#resultRunNote,#showdownResult,#runProgress,.level-reward-summary){display:none!important}
html[data-experience=trial] #over .results{grid-template-columns:1fr}
html[data-experience=trial] #over .result-best{display:none!important}
html[data-experience=trial] #over .result-actions.adventure-actions{grid-template-columns:1fr}
html[data-experience=trial] #over .result-actions.adventure-actions #mapAfter{grid-column:1;grid-row:1;min-height:50px!important}

@media(prefers-reduced-motion:reduce){.adventure-live-stars i.just-reached,.adventure-goal-celebration.show,.trial-run-intro.show{animation:none}.adventure-goal-celebration.show,.trial-run-intro.show{opacity:1}}

/* Completed goals use one explicit state in level details, pause and results. */
.adventure-objectives li[data-complete=true],.adventure-pause-goals li[data-complete=true],.adventure-result-objectives li[data-complete=true]{border-color:#2f8b6240;background:#e7f5eb}
.adventure-objectives li[data-complete=true]>span,.adventure-pause-goals li[data-complete=true]>span,.adventure-result-objectives li[data-complete=true]>span{background:#2f8b62;color:#fff}
.adventure-objectives li[data-complete=true] strong,.adventure-pause-goals li[data-complete=true] strong,.adventure-result-objectives li[data-complete=true] strong{color:#246f4d}

@media(max-width:380px){
 #intro .home-actions{gap:7px!important;margin-inline:4%!important}
 #intro .home-actions #leaderboardOpen,#intro .home-actions #adventureMapOpen{min-height:52px!important;padding-inline:7px!important}
 #intro .home-actions .leaderboard-mode-title strong,#intro .home-actions .mode-home-copy strong{font-size:16px}
 #intro .retention-home{gap:7px!important;margin-inline:4%!important}
 #intro .retention-home :is(.home-challenge-open,.home-missions-entry){padding-inline:9px!important}
 .adventure-board-trigger{min-height:54px;padding-inline:11px}.adventure-board-option{min-height:48px;padding-inline:9px}
 .adventure-chapter-choice{grid-template-columns:64px minmax(0,1fr) auto;gap:9px}.chapter-art{width:64px;height:64px}
 .adventure-node{grid-template-columns:66px minmax(0,1fr) auto}.adventure-node-art{width:62px;height:64px}.adventure-levels::before{left:33px}
 .adventure-node em{display:none}
}

/* Home v2: one compact game dock instead of stacked website-style cards. */
#intro .home-actions.adventure-home-dock{display:grid!important;grid-template-columns:minmax(92px,1fr) minmax(78px,.82fr) minmax(112px,1.16fr)!important;grid-template-areas:"leaderboard missions adventure"!important;align-items:stretch;gap:5px!important;width:min(560px,92%)!important;margin:10px auto 8px!important;padding:7px!important;border:1px solid #28595b18!important;border-radius:24px!important;background:#f8fbfaee!important;box-shadow:0 10px 26px #173c4418!important;backdrop-filter:blur(10px)}
#intro .home-actions.adventure-home-dock::before{display:none!important}
#intro .home-actions.adventure-home-dock>button{box-sizing:border-box;min-width:0!important;width:100%!important;min-height:62px!important;margin:0!important;border:0!important;border-radius:17px!important;box-shadow:none!important;touch-action:manipulation}
#intro .home-actions.adventure-home-dock #leaderboardOpen{grid-area:leaderboard!important}
#intro .home-actions.adventure-home-dock #open-missions{grid-area:missions!important}
#intro .home-actions.adventure-home-dock #adventureMapOpen{grid-area:adventure!important}
#intro .home-actions.adventure-home-dock :is(#leaderboardOpen,#open-missions){display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;padding:6px 4px!important;background:transparent!important;color:#28595b!important}
#intro .home-actions.adventure-home-dock :is(#leaderboardOpen,#open-missions):active{background:#eaf2f0!important;transform:translateY(1px)}
#intro .home-actions.adventure-home-dock #adventureMapOpen{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;padding:8px 13px!important;background:#dc6847!important;color:#fff!important;box-shadow:0 4px 0 #ad4d36!important}
#intro .home-actions.adventure-home-dock #adventureMapOpen:active{transform:translateY(2px);box-shadow:0 2px 0 #ad4d36!important}

/* Keep the portrait anchored to its real bottom edge so Lexy's paws are not
   lost to a centered cover crop. The fade and slight dock overlap give the
   photograph an intentional ending instead of a hard rectangular cut. */
@media(max-width:760px){
 html:not([data-visual-style="sketch"]) #intro .home-hero{background-position:center bottom!important}
 #intro .home-hero::after{content:""!important;position:absolute!important;z-index:0!important;inset:auto 0 0!important;width:100%!important;height:42px!important;background:linear-gradient(180deg,#f8fbfa00 0%,#f8fbfad9 72%,#f8fbfa 100%)!important;opacity:1!important;pointer-events:none!important}
 #intro .home-hero>:not(.style-toggle):not(#styleStatus){position:relative;z-index:1}
 #intro .home-actions.adventure-home-dock{position:relative;z-index:2;margin-top:-12px!important}
}
#intro .home-dock-icon{display:grid;place-items:center;width:23px;height:23px;color:#9c741f}
#intro #leaderboardOpen .home-dock-icon{color:#28595b}
#intro .home-dock-icon svg,#intro .home-play-arrow svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#intro .home-play-arrow{display:grid;place-items:center;width:24px;height:24px}
#intro .home-play-arrow svg{fill:currentColor;stroke:none}
#intro .home-dock-copy{display:block;min-width:0;text-align:center}
#intro .home-dock-copy strong,#intro .home-dock-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#intro .home-dock-copy strong{font:700 12px/1.05 Fredoka,sans-serif!important}
#intro .home-dock-copy small{margin-top:3px!important;color:inherit!important;font:700 9px/1 Nunito,sans-serif!important;opacity:.66}
#intro #adventureMapOpen .home-dock-copy strong{font-size:19px!important}
#intro #retentionHome[hidden],#intro #retentionHome:empty{display:none!important}
#intro .first-join-new-dot{position:absolute;z-index:4;display:block;width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:#d8a735;box-shadow:0 1px 3px #173c4440;pointer-events:none}
#intro .first-join-new-dot[hidden]{display:none!important}
#intro #homeIdentity .home-avatar{position:relative}
#intro #homeIdentity .first-join-new-dot{top:-1px;right:-2px}
#intro #open-missions{position:relative}
#intro #open-missions>.first-join-new-dot{top:8px;right:8px}

/* One notification language everywhere. Placement stays contextual, but every
   unread/new cue uses the same 10px yellow circle, white keyline and soft lift. */
html body .lexy-new-dot{
 box-sizing:border-box!important;display:block;width:10px!important;height:10px!important;min-width:10px!important;min-height:10px!important;padding:0!important;border:0!important;border-radius:50%!important;
 background:#d8a735!important;color:transparent!important;font-size:0!important;line-height:0!important;transform:none!important;
 box-shadow:0 0 0 2px #fff,0 2px 4px #173c4438!important;pointer-events:none!important
}
html body .lexy-new-dot::before,html body .lexy-new-dot::after{display:none!important;content:none!important}
html body .lexy-new-dot[hidden]{display:none!important}
#lexyHistory .closet-new-dot{display:inline-block!important;position:static!important;flex:0 0 10px!important;align-self:center;margin:0 3px!important}
:is(h1,h2,h3)[tabindex="-1"]:focus{outline:none!important;box-shadow:none!important}
html body dialog:focus{outline:none!important}
@media(max-width:760px){#intro .home-hero{flex-basis:clamp(300px,calc(100dvh - 178px),650px);min-height:260px}#intro .home-actions.adventure-home-dock{flex:none}}
@media(max-width:350px){#intro .home-actions.adventure-home-dock{grid-template-columns:minmax(84px,1fr) minmax(70px,.8fr) minmax(104px,1.14fr)!important;width:94%!important;padding:6px!important;gap:3px!important}#intro .home-actions.adventure-home-dock>button{min-height:58px!important}#intro .home-dock-copy strong{font-size:11px!important}#intro #adventureMapOpen .home-dock-copy strong{font-size:17px!important}}

/* The whole compact stats bar is the Adventure goal-review control. */
html[data-experience="adventure"] body.playing .hud-top .stats{left:auto!important;top:auto!important;transform:none!important;width:100%;cursor:pointer;touch-action:manipulation;pointer-events:auto!important;position:relative;z-index:2}
html[data-experience="adventure"] body.playing .hud-top .stats:focus-visible{outline:3px solid #70b9d9;outline-offset:3px}
.adventure-pause-goals[hidden]{display:none!important}
#paused[data-adventure-goals="true"] .card{box-sizing:border-box;width:min(440px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:22px;overflow:auto;text-align:left}
#paused[data-adventure-goals="true"] .card>h2{margin:0 0 4px;font-size:28px}
.adventure-pause-goals{margin:0 0 15px}
.adventure-pause-goals .eyebrow{display:block;margin-bottom:2px;color:#9c741f;font-size:10px;letter-spacing:.14em}
.adventure-pause-goals h3{margin:0 0 10px;color:#28595b;font:800 17px/1.2 Fredoka,sans-serif}
.adventure-pause-goals ol{display:grid;gap:7px;margin:0;padding:0;list-style:none}
.adventure-pause-goals li{display:grid;grid-template-columns:31px minmax(0,1fr);align-items:center;gap:9px;padding:9px 10px;border:1px solid #28595b15;border-radius:13px;background:#f7faf8}
.adventure-pause-goals li>span{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#28595b;color:#fff;font:800 13px/1 Nunito,sans-serif}
.adventure-pause-goals strong,.adventure-pause-goals p{display:block;margin:0}
.adventure-pause-goals strong{color:#9c741f;font:800 10px/1.2 Nunito,sans-serif;text-transform:uppercase;letter-spacing:.06em}
.adventure-pause-goals p{margin-top:2px;color:#28595b;font:700 13px/1.25 Nunito,sans-serif}
#paused[data-adventure-goals="true"] :is(#resume,#homePaused){min-height:46px}
@media(max-height:620px){#paused[data-adventure-goals="true"] .card{padding:15px 18px}.adventure-pause-goals{margin-bottom:10px}.adventure-pause-goals ol{gap:5px}.adventure-pause-goals li{padding:6px 8px}.adventure-pause-goals p{font-size:12px}}

/* Power choice uses three compact selectors and two permanent actions. The
   layout never changes when the wallet reaches zero, and skipping is explicit. */
html body #runPowers[open]{width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:20px;gap:12px;overflow:hidden}
html body #runPowers>header{margin-bottom:0;align-items:center}
html body #runPowers>header button{box-sizing:border-box;flex:0 0 44px;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:0!important}
html body #runPowers>p{margin:0;color:#4e6c68;font-size:13px;line-height:1.35}
html body #runPowers>p:not(.power-use-progress):not(.power-setup-status){display:grid;gap:3px}
html body #runPowers>p:not(.power-use-progress):not(.power-setup-status)>span{color:#28595b;font-size:13px}
html body #runPowers>p:not(.power-use-progress):not(.power-setup-status)>small{min-height:32px;color:#607773;font-size:12px;line-height:1.35}
html body #runPowers .power-use-progress{padding:0;background:transparent;color:#607773;text-align:center;font-size:11px}
html body #runPowers .power-cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:auto!important;align-content:normal!important;gap:8px!important;flex:0 0 auto!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;overflow:visible!important}
html body #runPowers .power-cards button{position:relative;display:flex!important;flex-direction:column;align-items:center;justify-content:flex-start;min-width:0;min-height:96px!important;padding:5px 3px!important;gap:8px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;text-align:center}
html body #runPowers .power-cards button[aria-pressed="true"]{border:0!important;background:transparent!important;box-shadow:none!important}
html body #runPowers .power-cards button:disabled{border:0!important;background:transparent!important;filter:grayscale(1);opacity:.48!important}
html body #runPowers .power-cards button>.power-symbol{display:grid!important;place-items:center;flex:0 0 58px!important;width:58px!important;height:58px!important;border-radius:50%!important;background:#f1f5f3!important;box-shadow:inset 0 0 0 1px #28595b12!important;overflow:hidden}
html body #runPowers .power-cards button[aria-pressed="true"]>.power-symbol{background:#e3f1ec!important;box-shadow:inset 0 0 0 2px #2e7772!important}
html body #runPowers .power-cards .golden-power-icon{width:48px!important;height:48px!important;border-radius:50%}
html body .magnet-power-icon{position:relative;display:block;box-sizing:border-box;width:27px;height:25px;border:7px solid #d96249;border-top:0;border-radius:0 0 14px 14px;filter:drop-shadow(0 2px 2px #173c4426)}
html body .magnet-power-icon::before,html body .magnet-power-icon::after{content:"";position:absolute;top:-5px;box-sizing:border-box;width:7px;height:9px;border:1px solid #527a7b;border-radius:2px 2px 0 0;background:#eaf2ef}
html body .magnet-power-icon::before{left:-7px}
html body .magnet-power-icon::after{right:-7px}
html body #runPowers .power-symbol[data-power-icon="magnet"],html body #lexyHistory .inventory-power-icon[data-power-icon="magnet"]{display:grid!important;place-items:center}
html body #gameHelp .help-power-list>li>.magnet-power-icon{flex:0 0 27px;margin-inline:2px 4px}
html body #runPowers .power-card-copy{display:block!important;flex:none;min-width:0;padding:0!important}
html body #runPowers .power-card-copy strong{display:block;max-width:100%;font-size:12px!important;line-height:1.2!important;text-wrap:balance}
html body #runPowers .power-card-copy small{display:none!important}
html body #runPowers .power-selected-check{left:auto!important;right:calc(50% - 34px)!important;top:1px!important;width:19px!important;height:19px!important;border-radius:50%!important;background:#2e7772!important;color:#fff!important;font-size:11px!important;line-height:19px!important;box-shadow:0 0 0 2px #fff}
html body #runPowers .power-run-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex:none;margin-top:1px}
html body #runPowers .power-run-actions>button{box-sizing:border-box;width:100%;height:54px!important;min-height:54px!important;margin:0!important;padding:8px 10px!important;border-radius:15px!important;font-size:12px!important;line-height:1.15!important;white-space:nowrap}
html body #runPowers .power-without-choice{border:1px solid #28595b2b!important;background:#fff!important;color:#28595b!important;box-shadow:none!important}
html body #runPowers #powerStartRun{border:0!important;background:#df6b4d!important;color:#fff!important;box-shadow:0 3px 0 #b85139!important}
html body #runPowers #powerStartRun:disabled{background:#e7ebea!important;color:#73827f!important;box-shadow:none!important}
html body #runPowers .power-run-actions>button[hidden]{display:none!important}
@media(max-width:350px){html body #runPowers[open]{padding:15px}html body #runPowers .power-cards{gap:6px!important}html body #runPowers .power-cards button{padding-inline:3px!important}html body #runPowers .power-run-actions>button{font-size:11px!important;padding-inline:5px!important}}
@media(max-height:700px){html body #runPowers[open]{padding:13px;gap:7px}html body #runPowers>p:not(.power-use-progress):not(.power-setup-status)>small{min-height:0}html body #runPowers .power-cards button{min-height:82px!important;padding:4px 3px!important}html body #runPowers .power-cards button>.power-symbol{width:48px!important;height:48px!important;flex-basis:48px!important}html body #runPowers .power-selected-check{right:calc(50% - 29px)!important}}

/* Keep outfit portraits at their native 12:11 proportions in the run HUD.
   The shell's old 42x44 slot squeezed wide accessories such as Cow and Bow. */
body.playing #profileIdentity canvas{width:42px!important;height:auto!important;aspect-ratio:12/11;flex:0 0 42px!important;object-fit:contain}
@media(max-width:350px){body.playing #profileIdentity canvas{width:32px!important;height:auto!important;flex-basis:32px!important}}

/* Player-facing type stays calm and readable without heavy bold faces. */
html:is([data-experience="adventure"],[data-experience="trial"]) :is(h1,h2,h3,h4,h5,h6,strong,b,button,label,.eyebrow,small){font-weight:500!important}
html:is([data-experience="adventure"],[data-experience="trial"]) :is(#score,#runClock,#finalScore,#finalBest,.adventure-result-stars){font-weight:500!important}

/* The available chapter finale gets its own result hierarchy and a truthful
   disabled hand-off to the unreleased chapter. */
.adventure-result[data-chapter-complete=true]{border-color:#d7a63b66;background:linear-gradient(180deg,#fff6d9 0,#eef7ef 42%,#eaf4ed 100%)}
.adventure-chapter-complete{margin:-4px -4px 14px;padding:15px 14px;border:1px solid #d7a63b55;border-radius:15px;background:#fffaf0;text-align:center}
.adventure-chapter-complete span{display:block;color:#916009;font:500 10px/1.2 Nunito,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.adventure-chapter-complete h3{margin:5px 0 3px;color:#28595b;font:500 24px/1.1 Fredoka,sans-serif}
.adventure-chapter-complete p{margin:0;color:#55716f;font:500 12px/1.35 Nunito,sans-serif}
.result-actions.adventure-actions #nextChapter:not([hidden]){grid-column:1/-1;grid-row:1}
.result-actions.adventure-actions .chapter-coming-soon:disabled{border-color:#d8c790!important;background:#f4ecd5!important;color:#776c4d!important;opacity:1!important;box-shadow:none!important;cursor:not-allowed}

/* Weekly goals form one cumulative journey, rather than four separate quotas. */
html[data-experience="adventure"] :is(#experimentMissions,#lexyHistory) :is(.weekly-objective,.weekly-count,.weekly-next-step,.weekly-xp-summary,.weekly-milestones *){font-weight:500!important}
#experimentMissions .weekly-xp-summary,#lexyHistory .weekly-xp-summary{margin:7px 0 3px;color:#466b69;font-size:13px}
#experimentMissions .weekly-next-step,#lexyHistory .weekly-next-step{margin:5px 0 12px;padding:9px 11px;border-radius:12px;background:#e7f2f0;color:#28595b;font-size:14px;line-height:1.35}
#experimentMissions .weekly-milestones,#lexyHistory .weekly-milestones{position:relative;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important;margin:14px 0 2px;padding:0!important;list-style:none}
#experimentMissions .weekly-milestones::before,#lexyHistory .weekly-milestones::before{content:"";position:absolute;left:9%;right:9%;top:13px;height:2px;background:#cadbd8}
#experimentMissions .weekly-milestones li,#lexyHistory .weekly-milestones li{position:relative;display:grid!important;grid-template-columns:1fr!important;justify-items:center;gap:3px!important;min-width:0;padding:0 1px!important;border:0!important;border-radius:0!important;background:transparent!important;text-align:center}
#experimentMissions .weekly-milestones .weekly-marker,#lexyHistory .weekly-milestones .weekly-marker{z-index:1;display:grid;width:26px;height:26px;place-items:center;border:2px solid #b9cfcc;border-radius:50%;background:#fff;color:#6e8986;font-size:12px}
#experimentMissions .weekly-milestones li.reached .weekly-marker,#lexyHistory .weekly-milestones li.reached .weekly-marker{border-color:#287d7b;background:#287d7b;color:#fff}
#experimentMissions .weekly-milestone-state,#lexyHistory .weekly-milestone-state{font-size:10px;color:#617c79}
#experimentMissions .weekly-milestone-target,#lexyHistory .weekly-milestone-target{font-size:12px;line-height:1.2;color:#28595b}
#experimentMissions .milestone-reward,#lexyHistory .milestone-reward{font-size:11px;color:#96701d}
@media(max-width:350px){#experimentMissions .weekly-milestone-target,#lexyHistory .weekly-milestone-target{font-size:11px}.weekly-milestone-state{font-size:9px!important}}

/* Mobile mission lists keep native touch scrolling without drawing a track
   over the cards or reserving an empty scrollbar gutter. */
html body #experimentMissions .missions-body{scrollbar-width:none;scrollbar-gutter:auto;-webkit-overflow-scrolling:touch}
html body #experimentMissions .missions-body::-webkit-scrollbar{display:none;width:0;height:0}

/* Size the stage to its longest outfit, then hold that size while browsing.
   The viewport is a ceiling, not a required height. */
html body #closetDetail{width:min(440px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important;height:min(var(--closet-detail-height,740px),calc(100svh - 24px))!important;min-height:0!important;max-height:calc(100svh - 24px)!important;contain:layout paint}
html body #closetDetail .closet-detail-page{display:grid!important;grid-template-rows:minmax(0,1fr) 84px;flex:1 1 auto!important;width:100%;height:100%;min-height:0;overflow:hidden}
html body #closetDetail .closet-detail-body{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:150px var(--closet-detail-title-height,54px) minmax(0,1fr)!important;gap:4px!important;align-content:stretch!important;flex:none!important;height:100%;min-height:0;padding:4px 20px 10px!important;overflow:hidden!important;scrollbar-gutter:auto;text-align:center}
html body #closetDetail .closet-detail-viewer{grid-column:1!important;grid-row:1!important;width:100%!important;height:150px!important;min-height:0!important;max-width:none!important;margin:0!important}
html body #closetDetail .closet-detail-title{grid-column:1!important;grid-row:2!important;align-self:stretch!important;display:grid;place-items:center;margin:0!important;min-height:0;max-height:none;overflow:hidden;text-align:center}
html body #closetDetail>header{gap:12px}
html body #closetDetail>header .closet-detail-requirement{display:inline-flex;align-items:center;align-self:center!important;justify-content:center;margin:0 0 0 auto!important;padding:6px 10px;border-radius:999px;min-width:0;max-width:calc(100% - 86px);background:#edf4f1;color:#4f7069;font:500 12px/1.25 'Lexy UI',sans-serif;text-align:center;overflow-wrap:normal}
html body #closetDetail .closet-detail-copy{grid-column:1!important;grid-row:3!important;align-self:stretch;min-width:0;min-height:0;max-height:none;margin:0!important;padding:4px 2px 12px;overflow-y:auto;overscroll-behavior:contain;overflow-anchor:none;scrollbar-width:thin;-webkit-overflow-scrolling:touch;text-align:left}
html body #closetDetail .closet-detail-description{display:block;grid-column:auto!important;grid-row:auto!important;margin:0 0 14px!important;padding:0 2px!important;overflow:visible;text-align:left}
html body #closetDetail .outfit-goal-detail{grid-column:auto!important;grid-row:auto!important;align-content:start;margin:0!important;padding:12px!important;border-radius:16px!important;overflow:visible}
html body #closetDetail footer{position:relative;display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:16px 44px;gap:4px;height:84px!important;min-height:84px!important;max-height:84px!important;box-sizing:border-box;padding:6px 20px 10px!important;border-top:1px solid #e4e9e8}
html body #closetDetail .closet-detail-status{grid-column:1;grid-row:1;margin:0!important;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
html body #closetDetail :is(.closet-detail-wear,.closet-detail-state){grid-column:1;grid-row:2;display:grid!important;width:100%;height:44px!important;min-height:44px!important;box-sizing:border-box;place-items:center;margin:0!important;padding:0 12px!important}
html body #closetDetail :is(.closet-detail-wear,.closet-detail-state)[hidden]{display:grid!important;visibility:hidden!important;pointer-events:none!important}
@media(max-height:650px){html body #closetDetail .closet-detail-page{grid-template-rows:minmax(0,1fr) 76px}html body #closetDetail .closet-detail-body{grid-template-rows:120px var(--closet-detail-title-height,48px) minmax(0,1fr)!important;padding-bottom:8px!important}html body #closetDetail .closet-detail-viewer{height:120px!important}html body #closetDetail footer{grid-template-rows:12px 42px;height:76px!important;min-height:76px!important;max-height:76px!important;padding:5px 18px 9px!important}html body #closetDetail :is(.closet-detail-wear,.closet-detail-state){height:42px!important;min-height:42px!important}}
/* A single inert, off-screen probe measures the same text/layout at this width.
   It is removed synchronously; no duplicate accessible dialog or artwork fetch. */
html body #closetDetail[data-closet-measuring]{position:fixed!important;inset:0 auto auto -10000px!important;display:flex!important;height:auto!important;min-height:0!important;max-height:none!important;max-width:none!important;margin:0!important;visibility:hidden!important;pointer-events:none!important;contain:none!important}
html body #closetDetail[data-closet-measuring] .closet-detail-page{display:block!important;flex:none!important;height:auto!important;overflow:visible!important}
html body #closetDetail[data-closet-measuring] .closet-detail-body{height:auto!important;grid-template-rows:150px minmax(54px,max-content) max-content!important;overflow:visible!important;transform:none!important}
html body #closetDetail[data-closet-measuring] .closet-detail-copy{height:auto!important;overflow:visible!important}
@media(max-height:650px){html body #closetDetail[data-closet-measuring] .closet-detail-body{grid-template-rows:120px minmax(48px,max-content) max-content!important}}

/* My Lexy shows the saved journey separately from lifetime action totals. */
#lexyHistory .history-adventure-summary{margin:-4px 0 12px;color:#58736d;font:500 13px/1.4 Nunito,sans-serif}
#lexyHistory .history-adventure-chapters{display:grid;gap:10px}
#lexyHistory .history-adventure-chapter{padding:14px;border:1px solid #28595b18;border-radius:17px;background:#f2f6f4;color:#28595b}
#lexyHistory .history-adventure-chapter>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:0;background:transparent}
#lexyHistory .history-adventure-chapter>header div{display:grid;gap:3px;min-width:0}
#lexyHistory .history-adventure-chapter>header strong{font:500 16px/1.25 Fredoka,sans-serif}
#lexyHistory .history-adventure-chapter>header small{color:#607a77;font:500 11px/1.35 Nunito,sans-serif}
#lexyHistory .history-adventure-chapter>header>span{flex:none;color:#96701d;font:500 12px/1.2 Nunito,sans-serif;white-space:nowrap}
#lexyHistory .history-adventure-chapter>progress{height:7px;margin:11px 0 4px;background:#dce7e4}
#lexyHistory .history-adventure-levels{display:grid;gap:0;margin:5px 0 0;padding:0;list-style:none}
#lexyHistory .history-adventure-levels li{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:49px;padding:7px 0;border-top:1px solid #28595b12}
#lexyHistory .history-adventure-level-number{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#dfe9e6;color:#28595b;font:500 12px/1 Nunito,sans-serif}
#lexyHistory .history-adventure-levels li>div{display:grid;gap:2px;min-width:0}
#lexyHistory .history-adventure-levels li>div strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 14px/1.25 Nunito,sans-serif}
#lexyHistory .history-adventure-levels li>div small{color:#607a77;font:500 11px/1.25 Nunito,sans-serif}
#lexyHistory .history-adventure-level-stars{color:#cf941e;font:500 13px/1 Fredoka,sans-serif;letter-spacing:1px;white-space:nowrap}
#lexyHistory .history-adventure-levels li[data-complete=false] .history-adventure-level-stars{color:#a8b7b4}
#lexyHistory .history-adventure-empty{margin:11px 0 1px;color:#607a77;font:500 12px/1.35 Nunito,sans-serif}
#lexyHistory .run-log-journey{display:grid;gap:2px;margin:8px 0 0;padding:8px 10px;border-left:3px solid #287d7b;background:#edf5f2;color:#28595b}
#lexyHistory .run-log-journey span{color:#607a77;font:500 10px/1.25 Nunito,sans-serif}
#lexyHistory .run-log-journey strong{font:500 13px/1.3 Nunito,sans-serif}
@media(max-width:350px){#lexyHistory .history-adventure-chapter{padding:12px}#lexyHistory .history-adventure-levels li{grid-template-columns:28px minmax(0,1fr)}#lexyHistory .history-adventure-level-stars{grid-column:2}}

/* adventure-mode/archive-ui.css */
/* Presentation layer only. Assets and font files are unchanged V5 exports. */
@font-face{font-family:Lexy UI;src:url("/adventure-mode/archive-ui/fonts/dm-sans-400.ttf") format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Lexy UI;src:url("/adventure-mode/archive-ui/fonts/dm-sans-500.ttf") format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Lexy Display;src:url("/adventure-mode/archive-ui/fonts/fredoka-500.ttf") format('truetype');font-weight:500;font-display:swap}
html[data-art-direction=archive-v5]{--archive-paper:#ffffff;--archive-panel:#ffffff;--archive-ink:#28595b;--archive-muted:#637570;--archive-line:#dce7e4;--archive-coral:#dc795a;--archive-mint:#e4efe7;background:var(--archive-paper);color:var(--archive-ink);font-synthesis:none}
html[data-art-direction=archive-v5] body{background:var(--archive-paper);font-family:Lexy UI,system-ui,sans-serif}
html[data-art-direction=archive-v5] :is(button,input,select,textarea,p,small,li,span,dt,dd){font-family:Lexy UI,system-ui,sans-serif}
html[data-art-direction=archive-v5] :is(b,strong,h1,h2,h3,h4,button){font-weight:500!important;text-shadow:none!important}
html[data-art-direction=archive-v5] :is(h1,h2,h3){font-family:Lexy Display,system-ui,sans-serif!important}
html[data-art-direction=archive-v5] :is(button,input,select){border-radius:16px;box-shadow:none}
html[data-art-direction=archive-v5] button:focus-visible,html[data-art-direction=archive-v5] a:focus-visible{outline:3px solid #164e63!important;outline-offset:3px}
html[data-art-direction=archive-v5] button:disabled{background:#e8eeec!important;color:#646d69!important;box-shadow:none!important}
html[data-art-direction=archive-v5] dialog:not(#connectionError,#runLoading){background:var(--archive-panel)!important;color:var(--archive-ink)!important;border:1px solid var(--archive-line)!important;border-radius:24px!important;box-shadow:0 16px 50px #263f422b!important}
html[data-art-direction=archive-v5] dialog::backdrop{background:#27474465;backdrop-filter:blur(5px)}
html[data-art-direction=archive-v5] dialog :is(header,footer,.closet-detail-actions,.result-actions){background:var(--archive-panel)}
html[data-art-direction=archive-v5] dialog :is(.shell-objective,.outfit-challenge,.adventure-chapter-card,.adventure-node,.adventure-objectives li,.adventure-result-objectives li,.closet-card,.history-stats>div,.power-option,.power-choice,.adventure-board-selection,.adventure-board-option){background:#f0f5f4;border-color:var(--archive-line);box-shadow:none}
html[data-art-direction=archive-v5] :is(.primary,#adventurePlay,#nextAdventure,#avatarSave,#resume){background:var(--archive-coral)!important;color:#302f28!important;border-color:transparent!important;box-shadow:none!important}
html[data-art-direction=archive-v5] :is([aria-selected=true],[aria-pressed=true],.power-option.selected){border-color:#5c8172;background:var(--archive-mint)}
html[data-art-direction=archive-v5] dialog :is(h2,h3){line-height:1.2}
html[data-art-direction=archive-v5] #intro{background:var(--archive-paper)!important;padding:0 0 env(safe-area-inset-bottom)!important}
html[data-art-direction=archive-v5] #intro .intro-copy{min-height:100dvh;display:flex!important;flex-direction:column!important;gap:0;width:100%;max-width:760px;margin:auto;padding:0!important;background:var(--archive-paper)!important}
html[data-art-direction=archive-v5] #intro #homePlayerBar{flex:none;padding:10px 12px!important;margin:0!important;gap:8px!important;background:var(--archive-paper)!important;border:0!important;border-radius:0!important;box-shadow:none!important}
html[data-art-direction=archive-v5] #homeIdentity{background:transparent!important;border:0!important;box-shadow:none!important;min-width:0!important;padding:0!important}
html[data-art-direction=archive-v5] #homeUtilities{gap:4px!important}
html[data-art-direction=archive-v5] #homeUtilities>:is(button,a){background:#ffffff!important;border:1px solid var(--archive-line)!important;box-shadow:none!important;border-radius:14px!important;min-width:44px!important;width:44px!important;height:44px!important}
html[data-art-direction=archive-v5] #intro .home-hero{position:relative!important;isolation:isolate;flex:1 1 auto!important;min-height:280px!important;height:calc(100dvh - 174px)!important;max-height:710px;background:url("/adventure-mode/archive-ui/homepage/background.webp") center 45%/cover no-repeat!important;overflow:hidden;margin:0!important;padding:20px 24px 0!important;text-align:left!important}
html[data-art-direction=archive-v5] #intro .home-hero::before{display:none!important}
html[data-art-direction=archive-v5] #intro .home-hero::after{height:32px!important;background:linear-gradient(transparent,var(--archive-paper))!important}
html[data-art-direction=archive-v5] #intro .home-hero>.archive-home-lexy{display:block!important;position:absolute!important;z-index:0!important;inset:auto 0 12px!important;width:100%!important;height:calc(100% - 112px)!important;max-height:500px;object-fit:contain;object-position:center bottom;pointer-events:none}
html[data-art-direction=archive-v5] #intro .home-hero h1{position:relative;z-index:1;margin:0!important;padding:0!important;font:500 clamp(34px,10vw,46px)/1.05 Lexy Display,system-ui,sans-serif!important;color:var(--archive-ink)!important;letter-spacing:-.03em}
html[data-art-direction=archive-v5] #intro .tagline{position:relative;z-index:1;margin:10px 0 0!important;padding:0!important;font:400 16px/1.4 Lexy UI,system-ui,sans-serif!important;color:var(--archive-ink)!important;max-width:285px}
html[data-art-direction=archive-v5] #intro .home-actions.adventure-home-dock{flex:none!important;width:calc(100% - 24px)!important;max-width:560px;margin:0 auto 10px!important;padding:8px 0!important;background:var(--archive-paper)!important;border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none;gap:8px!important;grid-template-columns:minmax(0,1fr) minmax(0,.82fr) minmax(0,1.16fr)!important}
html[data-art-direction=archive-v5] #intro .home-actions.adventure-home-dock>button{min-height:60px!important;border-radius:16px!important}
html[data-art-direction=archive-v5] #intro .home-actions.adventure-home-dock :is(#leaderboardOpen,#open-missions){background:#ffffff!important;border:1px solid var(--archive-line)!important;box-shadow:none!important}
html[data-art-direction=archive-v5] #intro .home-actions.adventure-home-dock #adventureMapOpen{background:var(--archive-coral)!important;color:#302f28!important;box-shadow:none!important}
html[data-art-direction=archive-v5] #intro .home-dock-copy strong{font:500 13px/1.15 Lexy UI,system-ui,sans-serif!important}
html[data-art-direction=archive-v5] #intro #adventureMapOpen .home-dock-copy strong{font:500 22px/1.15 Lexy Display,system-ui,sans-serif!important}
html[data-art-direction=archive-v5] #intro .home-dock-copy small{font:400 11px/1.2 Lexy UI,system-ui,sans-serif!important}
html[data-art-direction=archive-v5] body.playing>header,html[data-art-direction=archive-v5] body.playing #game>header{background:var(--archive-paper)!important}
html[data-art-direction=archive-v5] :is(.stats,.zoom-wrap,#showdownHUD,.lane-controls button){background:var(--archive-panel)!important;border:1px solid #dce7e470!important;box-shadow:none!important;border-radius:18px!important;color:var(--archive-ink)}
html[data-art-direction=archive-v5] .stats{padding:10px 12px!important}
html[data-art-direction=archive-v5] .run-clock{background:var(--archive-ink)!important;border-radius:14px!important}
html[data-art-direction=archive-v5] :is(#score,#runClock){font:500 clamp(25px,7.7vw,36px)/1.1 Lexy UI,system-ui,sans-serif!important}
html[data-art-direction=archive-v5] :is(.stats small,.zoom-label){font-weight:500!important}
html[data-art-direction=archive-v5] .zoom-wrap{padding:9px 12px!important}
html[data-art-direction=archive-v5] #showdownHUD{border-color:#d1aa69!important;background:#fff3d3!important}
html[data-art-direction=archive-v5] .lane-controls button{color:var(--archive-ink)!important}
html[data-art-direction=archive-v5] #testToolsOpen{border:1px solid var(--archive-line)!important;box-shadow:none!important}
@media(max-width:350px){html[data-art-direction=archive-v5] #intro .home-hero{padding:14px 16px 0!important}html[data-art-direction=archive-v5] #intro .home-dock-copy strong{font-size:11px!important}html[data-art-direction=archive-v5] #intro #homePlayerBar{padding-inline:8px!important;gap:4px!important}}
@media(max-height:640px) and (orientation:portrait){html[data-art-direction=archive-v5] #intro .home-hero{min-height:255px!important;padding-top:10px!important}html[data-art-direction=archive-v5] #intro .home-hero h1{font-size:34px!important}html[data-art-direction=archive-v5] #intro .tagline{font-size:14px!important;margin-top:6px!important}html[data-art-direction=archive-v5] #intro .home-hero>.archive-home-lexy{height:calc(100% - 95px)!important}html[data-art-direction=archive-v5] .hud-top{top:72px!important}html[data-art-direction=archive-v5] .stats{padding:7px 10px!important}html[data-art-direction=archive-v5] .zoom-wrap{padding:6px 10px!important}}
@media(min-width:761px){html[data-art-direction=archive-v5] #intro .intro-copy{max-width:680px}html[data-art-direction=archive-v5] #intro .home-hero{min-height:360px!important}}
@media(prefers-reduced-motion:reduce){html[data-art-direction=archive-v5] button{transition:none!important;animation:none!important}}

/* Existing screens have ID-scoped legacy themes. Override their surfaces
   explicitly, without changing dimensions or completion/selection semantics. */
html[data-art-direction=archive-v5][data-art-direction] body :is(#runPowers,#lexyHistory,#leaderboardDialog,#adventureMap,#gameHelp,#avatarPicker,#challenge-today,#challenge-week,#missionsDialog){background:#ffffff!important;color:#28595b!important;border:1px solid #dce7e4!important;box-shadow:0 16px 50px #263f422b!important}
html[data-art-direction=archive-v5][data-art-direction] body :is(#lexyHistory,#gameHelp,#runPowers,#adventureMap) :is(header,footer){background:#ffffff!important}
html[data-art-direction=archive-v5][data-art-direction] #game #hud :is(.stats,.zoom-wrap){background:#ffffff!important;box-shadow:none!important;border:1px solid #dce7e470!important}
html[data-art-direction=archive-v5][data-art-direction] #game #hud .lane-controls button{background:#ffffff!important;box-shadow:none!important}
html[data-art-direction=archive-v5] dialog :is(.shell-objective[data-complete=true],.daily-card.complete,.adventure-objectives li[data-complete=true],.adventure-result-objectives li[data-complete=true]){background:#e4efe7!important;border-color:#a9c6ad!important;color:#2e6245!important}

/* Bridge the existing components to one theme, including their legacy token
   consumers. Layout and state ownership stay with each existing component. */
html[data-art-direction=archive-v5] body{
 --menu-surface:var(--archive-panel);--menu-soft:#f0f5f4;--menu-edge:var(--archive-line);--menu-field:#ffffff;
 --ui-ink:var(--archive-ink);--ui-muted:var(--archive-muted);--ui-orange:var(--archive-coral);--ui-orange-down:#ca694d;--ui-glass:var(--archive-panel);
 --archive-button-radius:12px;--archive-button-height:46px;
}
/* ID lists match the older ID-scoped rules deliberately. One treatment for
   normal/pressed/disabled buttons; never shrink interactive cards to a CTA. */
html[data-art-direction=archive-v5] body :is(#intro,#game,#over,#runPowers,#lexyHistory,#closetDetail,dialog,.modal) :is(button,#powerStartRun,#powerWithout,#adventurePlay,#nextAdventure,#nextChapter,#resume,#again,#avatarSave){
 font-family:Lexy UI,system-ui,sans-serif!important;font-weight:500!important;
 border-style:solid!important;border-width:1px!important;border-color:transparent!important;
 border-radius:var(--archive-button-radius)!important;box-shadow:none!important;background-image:none!important;
 text-shadow:none!important;transition:background-color .12s,border-color .12s,color .12s;
}
html[data-art-direction=archive-v5] body :is(#intro,#game,#over,#runPowers,#lexyHistory,#closetDetail,dialog,.modal) :is(.primary,#powerStartRun,#adventurePlay,#nextAdventure,#resume,#again,#avatarSave,#welcomeContinue,#tutorialStart,.closet-detail-wear,.closet-wear-button){
 background:var(--archive-coral)!important;color:#302f28!important;border-color:transparent!important;
}
html[data-art-direction=archive-v5] body :is(#intro,#game,#over,#runPowers,#lexyHistory,#closetDetail,dialog,.modal) :is(button,#powerStartRun,#powerWithout,#adventurePlay,#nextAdventure,#resume,#again):is(:hover,:active){
 box-shadow:none!important;transform:none!important;filter:none!important;
}
html[data-art-direction=archive-v5] body :is(#intro,#game,#over,#runPowers,#lexyHistory,#closetDetail,dialog,.modal) :is(.primary,#powerStartRun,#adventurePlay,#nextAdventure,#resume,#again):active:not(:disabled){background:#ca694d!important}
html[data-art-direction=archive-v5] body :is(#intro,#game,#over,#runPowers,#lexyHistory,#closetDetail,dialog,.modal) :is(button,#powerStartRun,#powerWithout,#adventurePlay,#nextAdventure,#nextChapter,#resume,#again):disabled{
 background:#e8eeec!important;color:#646d69!important;border-color:transparent!important;opacity:1!important;box-shadow:none!important;
}
html[data-art-direction=archive-v5] body :is(#intro,#game,#over,#runPowers,#lexyHistory,#closetDetail,dialog,.modal) :is(.primary,#powerStartRun,#powerWithout,#adventurePlay,#nextAdventure,#nextChapter,#mapAfter,#replayAdventure,#homeAfter,#resume,#again,.closet-detail-wear,.closet-wear-button,.adventure-level-actions button){
 min-height:var(--archive-button-height)!important;padding:10px 16px!important;line-height:1.25!important;font-size:15px!important;min-width:0;
}
html[data-art-direction=archive-v5] body #runPowers :is(#powerStartRun,#powerWithout){height:auto!important;align-self:stretch!important;margin:0!important;white-space:normal!important;overflow-wrap:normal;font-size:13px!important;padding:10px!important}
html[data-art-direction=archive-v5] body #runPowers #powerWithout{background:#e4efe7!important;color:var(--archive-ink)!important;border-color:#b9d0c3!important}
html[data-art-direction=archive-v5] body #runPowers #powerWithout[data-primary=true]{background:#e4efe7!important;color:var(--archive-ink)!important;box-shadow:none!important}
html[data-art-direction=archive-v5] body :is(#runPowers,#lexyHistory) :is(.power-cards,.power-inventory) button[aria-pressed=true]{background:var(--archive-mint)!important;border-color:#5c8172!important;box-shadow:none!important}
html[data-art-direction=archive-v5] body #intro .home-actions.adventure-home-dock>button{min-height:54px!important;padding:8px 10px!important;border-radius:12px!important;box-shadow:none!important}
html[data-art-direction=archive-v5] body #intro .home-actions.adventure-home-dock :is(#leaderboardOpen,#open-missions){flex-direction:row!important;gap:6px!important;background:#f0f5f4!important;border-color:transparent!important;padding:8px!important}
html[data-art-direction=archive-v5] body #intro .home-actions .home-dock-icon{width:16px;height:16px;flex:none}
html[data-art-direction=archive-v5] body #intro .home-actions .home-dock-copy{text-align:left}
html[data-art-direction=archive-v5] body #intro .home-actions .home-dock-copy strong{font-size:12px!important}
html[data-art-direction=archive-v5] body #intro .home-actions .home-dock-copy small{font-size:10px!important}
html[data-art-direction=archive-v5] body #intro #homeIdentity{border-color:transparent!important}
html[data-art-direction=archive-v5] body #intro #adventureMapOpen .home-dock-copy strong{font-size:20px!important}
html[data-art-direction=archive-v5] body #game #hud .lane-controls button{height:64px!important;min-height:64px!important;border-radius:12px!important;background:var(--archive-panel)!important;font-size:30px!important;box-shadow:none!important}
html[data-art-direction=archive-v5] body :is(#over>.results-card,#paused>.card,#over .result-actions){background:var(--archive-panel)!important;border-color:var(--archive-line)!important;box-shadow:none!important}
html[data-art-direction=archive-v5] body :is(dialog,.modal) :is(header,footer,.closet-detail-actions){background:var(--archive-panel)!important}
@media(prefers-reduced-motion:reduce){html[data-art-direction=archive-v5] body :is(#intro,#game,#over,dialog,.modal) button{transition:none!important}}
@media(max-width:350px){html[data-art-direction=archive-v5] body #intro .home-actions .home-dock-copy strong{font-size:10px!important}html[data-art-direction=archive-v5] body #intro .home-actions .home-dock-copy small{font-size:9px!important}html[data-art-direction=archive-v5] body #intro .home-actions.adventure-home-dock :is(#leaderboardOpen,#open-missions){gap:4px!important;padding:5px!important}}

/* adventure-mode/illustrated-ui.css */
/* Clean white game chrome supports the V5 illustration without duplicating
   its sketch contours on every control. Text and state remain native DOM. */
html[data-art-direction=archive-v5] body{
 --archive-panel:#ffffff;--archive-line:#dce7e4;--archive-coral:#e58b69;--archive-mint:#dcece1;
 --menu-surface:#ffffff;--menu-soft:#f0f5f4;--menu-field:#ffffff;--menu-edge:#dce7e4;
 --ui-orange:#e58b69;--ui-orange-down:#d77959;--ui-glass:#ffffff;
 --pencil-edge:url("/adventure-mode/illustrated-ui/edge.svg");--ui-backdrop:#24484270;
}
html[data-art-direction=archive-v5] body :is(dialog,.modal,#intro) button{background-color:var(--archive-panel);color:var(--archive-ink)}
/* Treat the existing components as three families: paper sheets, painted
   actions and unboxed content. No nested dashboard-card chrome. */
html[data-art-direction=archive-v5][data-art-direction] body :is(dialog:not(#connectionError,#runLoading),#over>.results-card,#paused>.card){
 background:#ffffff!important;border:1px solid #dce7e4!important;
 border-image:none!important;
 border-radius:26px!important;box-shadow:0 8px 24px #2448421a!important;
}
/* Viewport covers are not popup cards. Keep all four corners covered, even
   while connection/loading state or the pause card is changing. */
html[data-art-direction=archive-v5][data-art-direction] body :is(#connectionError,#runLoading,#startupLoading,#paused.modal){
 border:0!important;border-image:none!important;border-radius:0!important;
 box-shadow:none!important;outline:0!important;transition:none!important;animation:none!important;
}
html[data-art-direction=archive-v5] body :is(#intro,#game,#over,#runPowers,#lexyHistory,#closetDetail,dialog,.modal) :is(button,#powerStartRun,#powerWithout,#adventurePlay,#nextAdventure,#nextChapter,#resume,#again,#avatarSave){
 border:1px solid transparent!important;border-image:none!important;
 border-radius:16px!important;box-shadow:none!important;backdrop-filter:none!important;
 font-family:Lexy UI,system-ui,sans-serif!important;font-weight:500!important;
}
html[data-art-direction=archive-v5] body :is(#intro,#game,#over,#runPowers,#lexyHistory,#closetDetail,dialog,.modal) :is(.primary,#powerStartRun,#adventurePlay,#nextAdventure,#resume,#again,#avatarSave,#welcomeContinue,#tutorialStart,.closet-detail-wear,.closet-wear-button){background:#e58b69!important;color:#3f2b25!important}
html[data-art-direction=archive-v5] body :is(#intro,#game,#over,#runPowers,#lexyHistory,#closetDetail,dialog,.modal) :is(button,#powerStartRun,#powerWithout,#adventurePlay,#nextAdventure,#resume,#again):active:not(:disabled){background-color:#e2ebe8!important;filter:none!important;transform:none!important}
html[data-art-direction=archive-v5] body :is(#intro,#game,#over,#runPowers,#lexyHistory,#closetDetail,dialog,.modal) :is(.primary,#powerStartRun,#adventurePlay,#nextAdventure,#resume,#again):active:not(:disabled){background:#d77959!important}
html[data-art-direction=archive-v5] body :is(#intro,#game,#over,#runPowers,#lexyHistory,#closetDetail,dialog,.modal) :is(button,#powerStartRun,#powerWithout,#adventurePlay,#nextAdventure,#nextChapter,#resume,#again):disabled{background:#e8eeec!important;color:#6b7069!important;opacity:1!important;cursor:default}
html[data-art-direction=archive-v5] body :is(#intro,#game,#over,#runPowers,#lexyHistory,#closetDetail,dialog,.modal) :is(.primary,#powerStartRun,#powerWithout,#adventurePlay,#nextAdventure,#nextChapter,#mapAfter,#replayAdventure,#homeAfter,#resume,#again,.closet-detail-wear,.closet-wear-button,.adventure-level-actions button){
 min-height:48px!important;font-size:16px!important;line-height:1.25!important;padding:10px 16px!important;
}
html[data-art-direction=archive-v5][data-input-modality=keyboard] body :is(#intro,#game,dialog,.modal) button:focus-visible{outline:2px solid #287477!important;outline-offset:3px!important}
html[data-art-direction=archive-v5] body :is(dialog,.modal) :is(header,footer,.closet-detail-actions,.result-actions){background:#ffffff!important}
html[data-art-direction=archive-v5] body :is(dialog,.modal) :is(.adventure-objectives li,.adventure-result-objectives li,#adventurePauseGoalList li,.history-stats>div,.power-empty,.power-inventory-tip,.run-log-entry){
 background:transparent!important;box-shadow:none!important;border:0!important;border-bottom:1px solid #dce7e4!important;border-radius:0!important;
}
html[data-art-direction=archive-v5] body :is(dialog,.modal) :is(.adventure-objectives li,.adventure-result-objectives li,#adventurePauseGoalList li)[data-complete=true]{background:#dcece1!important;color:#2e6245!important}
html[data-art-direction=archive-v5] body :is(dialog,.modal) :is(.adventure-objectives li,.adventure-result-objectives li,#adventurePauseGoalList li)>span:first-child{border-radius:45% 52% 47% 50%!important;background:#e9d5a9!important;color:#5c392c!important}
html[data-art-direction=archive-v5] body :is(#missionsDialog,#lexyHistory,#closetDetail,#gameHelp) :is([role=tablist],.history-tabs,.closet-filters,.reference-tabs){background:transparent!important;border-bottom:1px solid #dce7e4;border-radius:0!important}
html[data-art-direction=archive-v5] body :is(#missionsDialog,#lexyHistory,#closetDetail,#gameHelp) :is([role=tab],.history-tabs button,.closet-filters button,.reference-tabs button){border-image:none!important;border-color:transparent!important;background:transparent!important;color:#28595b!important}
html[data-art-direction=archive-v5] body :is(#missionsDialog,#lexyHistory,#closetDetail,#gameHelp) :is([role=tab][aria-selected=true],button[aria-pressed=true]){background:#28595b!important;color:#ffffff!important;border-color:#28595b!important}

/* Same paper/ink language for live HUD, with a single surface per region. */
html[data-art-direction=archive-v5][data-art-direction] body #game #hud :is(.stats,.zoom-wrap){
 background:#ffffff!important;border:1px solid #dce7e4!important;border-image:none!important;
 border-radius:20px!important;box-shadow:none!important;
}
html[data-art-direction=archive-v5] body #game #hud .stats .run-clock{background:transparent!important;border:0!important;border-left:1px solid #dce7e4!important;border-right:1px solid #dce7e4!important;border-radius:0!important;color:#28595b!important;padding-inline:12px!important}
html[data-art-direction=archive-v5] body #game #hud .stats .run-clock :is(small,strong){color:#28595b!important}
html[data-art-direction=archive-v5] body #game #hud :is(.stats small,.zoom-label){text-shadow:none!important;letter-spacing:.03em!important}
html[data-art-direction=archive-v5] body #game #hud .meter{background:#e2ebe8!important;box-shadow:none!important;border-radius:4px 6px 5px 3px!important;padding:0!important;height:5px!important}
html[data-art-direction=archive-v5] body #game #hud #zoomFill{background:#d6a139!important;border-radius:3px 5px 4px 2px!important}
html[data-art-direction=archive-v5] body #game #hud .hud-top .zoom-wrap.has-showdown{
 background:#fff0cc!important;height:auto!important;min-height:62px!important;padding:10px 12px!important;display:block!important;
}
html[data-art-direction=archive-v5] body #game #hud #showdownHUD{
 background:transparent!important;border:0!important;border-image:none!important;border-radius:0!important;box-shadow:none!important;padding:0!important;width:100%!important;
}
html[data-art-direction=archive-v5] body #game #hud #showdownHUD .showdown-heading{display:flex!important;flex-wrap:wrap!important;gap:4px 8px!important;font:500 13px/1.25 Lexy UI,sans-serif!important}
html[data-art-direction=archive-v5] body #game #hud #showdownHUD .showdown-heading b{font:500 11px/1.25 Lexy UI,sans-serif!important;white-space:nowrap!important}
html[data-art-direction=archive-v5] body #game #hud #showdownHUD .showdown-instruction p{font:400 12px/1.35 Lexy UI,sans-serif!important;margin:4px 0 0!important;white-space:normal!important;overflow-wrap:normal!important}
html[data-art-direction=archive-v5] body #game #hud .lane-controls button{border-image:none!important;background:#ffffff!important;border-radius:20px!important}

/* Flat hand-drawn power symbols replace OS emoji and shaded canvas icons in
   selection, profile and status only. In-world power mechanics are untouched. */
html[data-art-direction=archive-v5] body #runPowers#runPowers .power-symbol,html[data-art-direction=archive-v5] body #lexyHistory#lexyHistory .inventory-power-icon,html[data-art-direction=archive-v5] body #runPowerStatus .run-power-icon{
 background:transparent!important;background-image:var(--power-drawing)!important;background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important;
 color:transparent!important;font-size:0!important;box-shadow:none!important;border:0!important;border-radius:0!important;display:block!important;
}
html[data-art-direction=archive-v5] [data-power-icon=guardian]{--power-drawing:url("/adventure-mode/art-pilot/supporting/guardian-shield-v1.png")}
html[data-art-direction=archive-v5] [data-power-icon=magnet]{--power-drawing:url("/adventure-mode/art-pilot/supporting/treat-magnet-v2.webp")}
html[data-art-direction=archive-v5] [data-power-icon=golden]{--power-drawing:url("/adventure-mode/art-pilot/supporting/golden-tennis-ball-v2.webp")}
html[data-art-direction=archive-v5] body #gameHelp .help-power-list>li>.help-power-art{display:block!important;flex:0 0 40px!important;width:40px!important;height:40px!important;margin:0!important;background:var(--power-drawing) center/contain no-repeat!important;border:0!important;border-radius:0!important;filter:none!important}
html[data-art-direction=archive-v5] body #gameHelp .help-power-list>li{column-gap:12px!important;grid-template-columns:40px minmax(0,1fr)!important}
html[data-art-direction=archive-v5] body .reward-power-art{display:block!important;width:40px!important;height:40px!important;flex:0 0 40px;background:var(--power-drawing) center/contain no-repeat!important;color:transparent!important;font-size:0!important}
html[data-art-direction=archive-v5] body .reward-power-art>*{visibility:hidden!important}
html[data-art-direction=archive-v5] body :is(#runPowers,#lexyHistory) :is(.power-symbol,.inventory-power-icon)>*,html[data-art-direction=archive-v5] body #runPowerStatus .run-power-icon>*{visibility:hidden!important}
html[data-art-direction=archive-v5] body #runPowerStatus .run-power-icon{width:26px!important;height:26px!important}
html[data-art-direction=archive-v5] body #runPowers#runPowers .power-cards button{border-image:none!important;border-color:transparent!important;background:transparent!important;border-radius:16px!important;min-height:104px!important}
html[data-art-direction=archive-v5] body #runPowers#runPowers .power-cards button[aria-pressed=true]{background:#dcece1!important;border-image:none!important;border-color:#7b967e!important}
html[data-art-direction=archive-v5] body #runPowers#runPowers .power-cards button:disabled{background:transparent!important;filter:grayscale(1);opacity:.7!important}
html[data-art-direction=archive-v5] body #runPowers :is(#powerStartRun,#powerWithout){height:auto!important;white-space:normal!important;font-size:14px!important;padding:10px!important}
html[data-art-direction=archive-v5] body #runPowers #powerWithout{background:#ffffff!important;color:#28595b!important}
html[data-art-direction=archive-v5] body #runPowers #powerWithout[data-primary=true]{background:#ffffff!important;color:#28595b!important}

html[data-art-direction=archive-v5] body #intro .home-actions.adventure-home-dock>button{border-image:none!important;border-radius:16px!important;min-height:58px!important}
html[data-art-direction=archive-v5] body #intro .home-actions.adventure-home-dock :is(#leaderboardOpen,#open-missions){background:#ffffff!important;border:1px solid transparent!important;border-image:none!important}
html[data-art-direction=archive-v5] body #intro .home-actions.adventure-home-dock #adventureMapOpen{background:#e58b69!important;color:#3f2b25!important}
html[data-art-direction=archive-v5] body #intro #homeIdentity{border:0!important;border-image:none!important}
html[data-art-direction=archive-v5] body #intro .home-hero h1{letter-spacing:-.025em!important;font-family:Lexy Display,sans-serif!important}
/* Headers/footers in the fixed outfit sheet paint above their parent's
   background. Keep one fine perimeter without blocking input. */
html[data-art-direction=archive-v5][data-art-direction] body #closetDetail{border-image:none!important}
html[data-art-direction=archive-v5] body #closetDetail::after{content:"";position:absolute;inset:0;border:1px solid #dce7e4;border-radius:26px;pointer-events:none;z-index:20}
html[data-art-direction=archive-v5] body #closetDetail .closet-detail-wear{min-height:44px!important;height:44px!important;padding:8px 16px!important}
html[data-art-direction=archive-v5] body #closetDetail>header button{min-height:44px!important}
html[data-art-direction=archive-v5] body #leaderboardDialog #adventureBoardMenu>header{display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;gap:10px!important;align-items:center!important}
html[data-art-direction=archive-v5] body #leaderboardDialog #adventureBoardPickerTitle{min-width:0!important;flex:1 1 160px!important;font-size:20px!important;white-space:normal!important;overflow-wrap:normal!important;margin:0!important}
@media(max-width:350px){html[data-art-direction=archive-v5] body #runPowers .power-cards button{min-height:98px!important}html[data-art-direction=archive-v5] body #game #hud #showdownHUD .showdown-heading{font-size:12px!important}}
@media(prefers-reduced-motion:reduce){html[data-art-direction=archive-v5] body button{transition:none!important}}

/* Homepage follows the supplied composition: identity, centred branding,
   unwarped character, one prominent Play action, then three destinations. */
html[data-art-direction=archive-v5] body #intro .intro-copy{min-height:100dvh!important}
html[data-art-direction=archive-v5] body #intro #homePlayerBar{min-height:92px!important;align-items:center!important;width:100%!important;padding:12px 16px!important;background:#ffffff!important}
html[data-art-direction=archive-v5] body #intro #homeUtilities{display:flex!important;gap:8px!important;flex:none!important}
html[data-art-direction=archive-v5] body #intro #homeUtilities :is(.instagram-profile,#helpOpen){display:none!important}
html[data-art-direction=archive-v5] body #intro #homeUtilities #sound{order:0!important}
html[data-art-direction=archive-v5] body #intro #homeUtilities #archiveMenuOpen{order:1!important;width:82px!important;font-size:16px!important;display:flex;gap:6px;justify-content:center;align-items:center;padding:6px!important}
/* Native vector controls: one clean silhouette, not stretched pencil frames. */
html[data-art-direction=archive-v5] body #intro #homeUtilities :is(#sound,#archiveMenuOpen){height:44px!important;min-height:44px!important;border:0!important;border-image:none!important;border-radius:14px!important;background:#f0f5f4!important;box-shadow:none!important;color:#28595b!important}
html[data-art-direction=archive-v5] body #intro #homeUtilities #sound{width:44px!important;min-width:44px!important;padding:0!important}
html[data-art-direction=archive-v5] body #intro #homeUtilities #sound::before{width:21px!important;height:21px!important}
html[data-art-direction=archive-v5] body #archiveMenuOpen svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
html[data-art-direction=archive-v5] body #intro #homeIdentity .home-avatar{width:38px!important;height:50px!important}
html[data-art-direction=archive-v5] body #intro #homeIdentity{height:auto!important;min-height:68px!important;overflow:visible!important}
html[data-art-direction=archive-v5] body #intro #homeIdentity .home-avatar canvas{width:38px!important;height:auto!important}
html[data-art-direction=archive-v5] body #intro #homeIdentity .home-level{display:grid!important;grid-template-columns:1fr!important;gap:3px!important}
html[data-art-direction=archive-v5] body #intro #homeIdentity .profile-nickname{grid-row:1!important;grid-column:1!important;font-size:16px!important;white-space:normal!important;line-height:1.15!important}
html[data-art-direction=archive-v5] body #intro #homeIdentity .shell-level{grid-row:2!important;grid-column:1!important;font-size:14px!important}
html[data-art-direction=archive-v5] body #intro #homeIdentity progress{grid-row:3!important;grid-column:1!important}
html[data-art-direction=archive-v5] body #intro #homeIdentity .home-xp{grid-row:4!important;grid-column:1!important;font-size:12px!important;white-space:normal!important}
html[data-art-direction=archive-v5] body #intro #homeIdentity .home-next{display:none!important}
html[data-art-direction=archive-v5] body #intro .home-hero{height:calc(100dvh - 288px)!important;min-height:264px!important;max-height:none!important;padding:16px 16px 0!important;text-align:center!important;background-image:linear-gradient(#ffffff 0%,#ffffffeb 19%,#ffffff00 44%),url("/adventure-mode/archive-ui/homepage/background.webp")!important;background-position:center 50%!important}
html[data-art-direction=archive-v5] body #intro .home-hero h1{font-size:clamp(38px,11vw,48px)!important;text-align:center!important;max-width:none!important;width:100%!important;white-space:nowrap!important}
html[data-art-direction=archive-v5] body #intro .tagline{font-size:16px!important;max-width:360px!important;margin:8px auto 0!important;text-align:center!important}
html[data-art-direction=archive-v5] body #intro .home-hero>.archive-home-lexy{height:calc(100% - 120px)!important;max-height:none!important;bottom:0!important}
html[data-art-direction=archive-v5] body #intro .home-actions.adventure-home-dock{display:grid!important;grid-template-columns:.9fr .9fr 1.2fr!important;gap:8px 0!important;padding:8px 0!important;margin:0 auto 8px!important;width:calc(100% - 32px)!important}
html[data-art-direction=archive-v5] body #intro .home-actions.adventure-home-dock>button{min-width:0!important;min-height:78px!important;padding:8px 2px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;gap:5px!important}
html[data-art-direction=archive-v5] body #intro .home-actions.adventure-home-dock #adventureMapOpen{grid-column:1/-1!important;grid-row:1!important;min-height:64px!important;flex-direction:row!important;gap:12px!important;border:0!important;border-image:none!important;border-radius:22px!important;background:#d96f4d!important;color:#ffffff!important;box-shadow:0 3px 0 #af553c!important}
html[data-art-direction=archive-v5] body #intro .home-actions.adventure-home-dock #archiveProfileOpen{grid-column:1!important;grid-row:2!important;position:relative}
html[data-art-direction=archive-v5] body #intro .home-actions.adventure-home-dock #open-missions{grid-column:2!important;grid-row:2!important}
html[data-art-direction=archive-v5] body #intro .home-actions.adventure-home-dock #leaderboardOpen{grid-column:3!important;grid-row:2!important}
html[data-art-direction=archive-v5] body #intro .home-actions.adventure-home-dock :is(#archiveProfileOpen,#open-missions,#leaderboardOpen){flex-direction:column!important;align-items:center!important;gap:5px!important;padding:8px 2px!important}
html[data-art-direction=archive-v5] body #intro .home-actions #start{display:none!important}
html[data-art-direction=archive-v5] body #intro .home-actions .home-dock-copy{text-align:center!important;overflow:visible!important;width:100%!important}
html[data-art-direction=archive-v5] body #intro .home-actions .home-dock-copy strong{font:400 17px/1.25 Lexy UI,sans-serif!important;white-space:nowrap!important;overflow-wrap:normal!important;text-overflow:clip!important;overflow:visible!important}
html[data-art-direction=archive-v5] body #intro .home-actions #adventureMapOpen .home-dock-copy strong{font:500 32px/1.1 Lexy Display,sans-serif!important}
html[data-art-direction=archive-v5] body #intro .home-actions #adventureMapOpen .home-dock-copy{width:auto!important}
html[data-art-direction=archive-v5] body #intro .home-actions .home-dock-icon{width:40px!important;height:36px!important;display:grid!important;place-items:center!important;background:#f0f5f4!important;border-radius:12px!important;color:#28595b!important}
html[data-art-direction=archive-v5] body #intro .home-actions .home-dock-icon svg{width:24px!important;height:24px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round;stroke-linejoin:round}
html[data-art-direction=archive-v5] body #intro .home-actions #archiveProfileOpen img{height:34px;width:40px;object-fit:contain}
html[data-art-direction=archive-v5] body #intro .home-actions.adventure-home-dock::before{content:none!important;display:none!important}
html[data-art-direction=archive-v5] body #intro .home-actions.adventure-home-dock :is(#archiveProfileOpen,#open-missions,#leaderboardOpen){position:relative;z-index:1;background:transparent!important;border:0!important;border-image:none!important;border-radius:0!important;margin:8px 0!important}
html[data-art-direction=archive-v5] body #intro .home-actions.adventure-home-dock :is(#archiveProfileOpen,#open-missions){border-right:0!important}
html[data-art-direction=archive-v5] body #intro .home-actions.adventure-home-dock :is(#archiveProfileOpen,#open-missions,#leaderboardOpen):active{background:#f0f5f4!important;border-radius:16px!important}
html[data-art-direction=archive-v5] body #intro :is(#archiveProfileOpen,#open-missions)>.lexy-new-dot{position:absolute!important;right:calc(50% - 24px)!important;top:5px!important}
html[data-art-direction=archive-v5] body #archiveHomeMenu#archiveHomeMenu{width:min(420px,calc(100vw - 32px));padding:24px;border:1px solid #dce7e4!important;border-image:none!important;border-radius:26px!important}
html[data-art-direction=archive-v5] body #archiveHomeMenu#archiveHomeMenu button{border:0!important;border-image:none!important;border-radius:12px!important;background:#f0f5f4!important}
html[data-art-direction=archive-v5] body #archiveHomeMenu#archiveHomeMenu nav button{border-radius:0!important;border-bottom:1px solid #dce7e4!important;background:transparent!important;padding:14px 4px!important}
html[data-art-direction=archive-v5] body #archiveHomeMenu header{position:static!important;inset:auto!important;width:auto!important;height:auto!important;min-height:44px!important;padding:0!important;margin:0!important;display:flex;align-items:center;justify-content:space-between;gap:16px;border:0!important;box-shadow:none!important;pointer-events:auto!important}
html[data-art-direction=archive-v5] body #archiveHomeMenu header h2{font-size:28px;margin:0}
html[data-art-direction=archive-v5] body #archiveHomeMenu header button{width:44px;height:44px;font-size:26px}
html[data-art-direction=archive-v5] body #archiveHomeMenu nav{display:grid;gap:12px;margin-top:20px}
html[data-art-direction=archive-v5] body #archiveHomeMenu nav :is(button,a){min-height:48px;padding:12px;font:400 18px/1.3 Lexy UI,sans-serif;color:#28595b;background:#ffffff;text-align:left}
html[data-art-direction=archive-v5] body #archiveHomeMenu .instagram-profile{width:auto!important;height:auto!important;display:block!important;text-decoration:underline;border:0!important;border-radius:0!important}
html[data-art-direction=archive-v5] body #testToolsOpen{display:none!important}
html[data-art-direction=archive-v5] body #archiveHomeMenu #testToolsOpen{position:static!important;display:block!important;width:100%!important;inset:auto!important}
/* Readable secondary controls, including the old white pause/closet action. */
html[data-art-direction=archive-v5] body #pauseOutfitEdit{background:#ffffff!important;color:#28595b!important;font-size:16px!important;min-height:48px!important;padding:10px 16px!important}
html[data-art-direction=archive-v5] body :is(#runPowers,#paused) :is(#powerStartRun,#powerWithout,#homePaused){font-size:16px!important}
html[data-art-direction=archive-v5] body #game #hud #showdownHUD .showdown-heading b{font-size:12px!important}
html[data-art-direction=archive-v5] body #game #hud #showdownHUD .showdown-instruction p{font-size:14px!important}
@media(max-width:350px){html[data-art-direction=archive-v5] body #intro #homeUtilities{gap:4px!important}html[data-art-direction=archive-v5] body #intro #homePlayerBar{padding-inline:8px!important}html[data-art-direction=archive-v5] body #intro #homeUtilities #archiveMenuOpen{width:76px!important}html[data-art-direction=archive-v5] body #intro .home-actions.adventure-home-dock{width:calc(100% - 24px)!important;column-gap:0!important}}
@media(orientation:landscape) and (min-width:600px) and (max-width:899px){
 html[data-art-direction=archive-v5] body #intro .intro-copy{max-width:960px!important;display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:auto 1fr!important}
 html[data-art-direction=archive-v5] body #intro #homePlayerBar{grid-column:1/-1;min-height:80px!important}
 html[data-art-direction=archive-v5] body #intro .home-hero{grid-column:1;grid-row:2;height:calc(100dvh - 84px)!important;min-height:250px!important}
 html[data-art-direction=archive-v5] body #intro .home-actions.adventure-home-dock{grid-column:2;grid-row:2;align-self:center!important}
}
/* A moving game target is not a layout button. Hover/press must preserve its
   centring transform or the bird jumps away from the pointer. */
html[data-art-direction=archive-v5] body #game #bonusBird#bonusBird,
html[data-art-direction=archive-v5] body #game #bonusBird#bonusBird:is(:hover,:active){transform:translate(-50%,-50%)!important;background:transparent!important;border:0!important;border-image:none!important;box-shadow:none!important;transition:none!important;filter:none!important;padding:0!important}
/* Semantic highlights replace the last hard-coded white legacy surfaces. */
html[data-art-direction=archive-v5] body #leaderboardDialog #leaderboardList li.is-me{background:#dcece1!important;box-shadow:inset 3px 0 #28595b!important}
html[data-art-direction=archive-v5] body :is(#leaderboardList,.leaderboard-list) :is(.avatar,.leaderboard-avatar){background:#f0f5f4!important}
html[data-art-direction=archive-v5] body :is(input,select,textarea,#outfitSavedNotice,#styleStatus){background-color:#ffffff!important}
html[data-art-direction=archive-v5] body .visibility-track:after{background:#ffffff!important}
html[data-art-direction=archive-v5] body #adventureJump .bonus-key-hint{display:block;font:400 12px/1.2 Lexy UI,sans-serif;margin-top:4px}
@media(pointer:coarse){html[data-art-direction=archive-v5] body #adventureJump .bonus-key-hint{display:none}}

/* Pointer taps must not leave keyboard-style rectangles behind on iOS.
   Focus is retained; a keyboard event restores the accessible focus ring. */
html[data-art-direction=archive-v5][data-input-modality=pointer] body :is(button,a,summary,[tabindex],input,select,textarea):focus,
html[data-art-direction=archive-v5][data-input-modality=pointer] body :is(button,a,summary,[tabindex],input,select,textarea):focus-visible{outline:none!important;outline-width:0!important}
html[data-art-direction=archive-v5][data-input-modality=keyboard] body :is(button,a,summary,[tabindex],input,select,textarea):focus-visible{outline:2px solid #287477!important;outline-offset:3px!important}
html[data-art-direction=archive-v5] body{-webkit-tap-highlight-color:transparent}
html[data-art-direction=archive-v5] body #intro .home-hero{background-image:linear-gradient(#fff 0%,#ffffffeb 18%,#ffffff00 43%),url("/adventure-mode/archive-ui/homepage/background.webp")!important}
html[data-art-direction=archive-v5] body #intro .home-hero::after{content:"";position:absolute;inset:auto 0 0;height:68px!important;background:linear-gradient(#ffffff00,#fff)!important;z-index:0;pointer-events:none}
html[data-art-direction=archive-v5] body #intro .home-hero>.archive-home-lexy{bottom:20px!important;height:calc(100% - 140px)!important;z-index:1!important}
html[data-art-direction=archive-v5] body #intro .home-hero :is(h1,.tagline){z-index:2!important}
/* Desktop gets a full-width scene, not a magnified phone or half-width card.
   Keep the character's aspect ratio and leave the left side for readable UI. */
@media(min-width:900px){
 html[data-art-direction=archive-v5] body #intro .intro-copy{position:relative!important;inset:auto!important;width:100%!important;max-width:none!important;min-height:100dvh!important;display:grid!important;grid-template-columns:minmax(360px,42%) 1fr!important;grid-template-rows:92px minmax(540px,1fr)!important;margin:0!important;overflow:hidden}
 html[data-art-direction=archive-v5] body #intro #homePlayerBar{grid-column:1/-1;grid-row:1;z-index:4;min-height:92px!important;padding:16px clamp(24px,5vw,88px)!important;background:#fff!important}
 html[data-art-direction=archive-v5] body #intro #homeIdentity{max-width:340px!important}
 html[data-art-direction=archive-v5] body #intro #homeUtilities{margin-left:auto!important;gap:12px!important}
 html[data-art-direction=archive-v5] body #intro .home-hero{grid-column:1/-1;grid-row:2;min-height:540px!important;height:calc(100dvh - 92px)!important;width:100%!important;padding:clamp(48px,9vh,100px) 5vw 0!important;background-image:linear-gradient(90deg,#fffffff2 0%,#ffffffdc 30%,#ffffff00 64%),linear-gradient(#fff 0%,#ffffff00 25%),url("/adventure-mode/archive-ui/homepage/background.webp")!important;background-position:center,center,center 52%!important;background-size:cover!important;text-align:left!important}
 html[data-art-direction=archive-v5] body #intro .home-hero h1{width:42%!important;text-align:left!important;font-size:clamp(56px,5.4vw,84px)!important}
 html[data-art-direction=archive-v5] body #intro .home-hero .tagline{width:36%!important;max-width:420px!important;text-align:left!important;margin:20px 0 0!important;font-size:clamp(19px,1.65vw,24px)!important;line-height:1.5!important}
 html[data-art-direction=archive-v5] body #intro .home-hero>.archive-home-lexy{left:44%!important;right:3%!important;width:53%!important;height:82%!important;max-height:660px!important;bottom:34px!important;object-fit:contain!important;object-position:center bottom!important}
 html[data-art-direction=archive-v5] body #intro .home-actions.adventure-home-dock{grid-column:1;grid-row:2;z-index:3;align-self:end!important;width:calc(100% - 6vw)!important;max-width:470px!important;margin:0 0 16px 5vw!important;padding:0!important;background:transparent!important;row-gap:12px!important}
 html[data-art-direction=archive-v5] body #intro .home-actions.adventure-home-dock #adventureMapOpen{min-height:70px!important;box-shadow:0 4px 0 #af553c,0 12px 28px #28595b12!important}
 html[data-art-direction=archive-v5] body #intro .home-actions .home-dock-copy strong{font-size:18px!important}
 html[data-art-direction=archive-v5] body #intro .home-actions #adventureMapOpen .home-dock-copy strong{font-size:30px!important}
}
html[data-art-direction=archive-v5] body .archive-wardrobe-examples{display:flex;justify-content:center;gap:8px;width:100%;padding:8px 0 16px}
html[data-art-direction=archive-v5] body .archive-wardrobe-examples img{display:block;width:calc((100% - 16px)/3);max-width:120px;height:auto;object-fit:contain}
/* White sheets with soft tinted controls, not an outline around every row. */
html[data-art-direction=archive-v5] body :is(dialog,.modal) :is(header button,#pauseOutfitEdit,#avatarEdit,#historySeeAll){background:#f0f5f4!important;border-color:transparent!important}
html[data-art-direction=archive-v5] body #game #hud :is(.stats,.zoom-wrap){border-color:transparent!important;box-shadow:0 3px 12px #2448420d!important}
html[data-art-direction=archive-v5] body #game #hud .lane-controls button{border-color:transparent!important;box-shadow:0 3px 12px #2448420d!important}
/* Approved comic loss pose; the completion celebration remains separate. */
#runEndTransition .run-ended-lexy{display:block;width:190px;height:190px;max-width:100%;object-fit:contain;margin:0 auto}
html[data-art-direction=archive-v5] #runEndTransition>div:first-child{background:#fff}
/* Add about 2 mm of height without lifting the control row over the runway. */
html[data-art-direction=archive-v5] body #game #hud .lane-controls button{height:72px!important;min-height:72px!important}
@media(max-width:760px){
 html[data-art-direction=archive-v5] body #game #hud .lane-controls{left:12px!important;right:12px!important;bottom:max(10px,env(safe-area-inset-bottom))!important;gap:10px!important}
 html[data-art-direction=archive-v5] body #game #hud .lane-controls button{flex:1 1 0!important;width:auto!important;max-width:none!important;min-width:0!important}
}
html[data-art-direction=archive-v5] body #lexyHistory#lexyHistory :is(.profile-name-edit,.closet-face){border:0!important;background:transparent!important;box-shadow:none!important}
/* Home is independent of the game's 100svh canvas. Use the measured visible
   viewport, including Safari toolbar changes / back-forward cache restores.
   Pin the dock, then give the image exactly the remaining space. No competing
   min-height, intrinsic grid row or max-height may leave a blank bottom band. */
@media(max-width:899px) and (orientation:portrait){
 html[data-art-direction=archive-v5] body #intro{position:fixed!important;inset:0 0 auto!important;padding:0!important;height:var(--home-visible-height,100dvh)!important;min-height:0!important;max-height:none!important}
 html[data-art-direction=archive-v5] body #intro .intro-copy{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;max-width:none!important;display:block!important;margin:0!important;padding:0!important;box-sizing:border-box!important}
 html[data-art-direction=archive-v5] body #intro #homePlayerBar{position:absolute!important;inset:0 0 auto!important;height:92px!important;min-height:92px!important}
 html[data-art-direction=archive-v5] body #intro .home-hero{position:absolute!important;inset:92px 0 calc(var(--home-dock-height,183px) + 8px + env(safe-area-inset-bottom))!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;margin:0!important;box-sizing:border-box!important}
 html[data-art-direction=archive-v5] body #intro .home-actions.adventure-home-dock{position:absolute!important;inset:auto 16px calc(8px + env(safe-area-inset-bottom))!important;width:auto!important;max-width:none!important;margin:0!important}
 html[data-art-direction=archive-v5] body #intro .home-hero::after{inset:auto 0 0!important;width:100%!important;height:56px!important;opacity:1!important;background:linear-gradient(#ffffff00,#fff)!important;z-index:0!important}
 html[data-art-direction=archive-v5] body #intro .home-hero>.archive-home-lexy{bottom:14px!important;height:calc(100% - 128px)!important}
}
/* Component roles take precedence over the shared button chrome. A text link,
   carousel dot, switch and sheet heading are not rounded action buttons. */
html[data-art-direction=archive-v5] body :is(dialog,.modal) button{border-color:transparent!important}
html[data-art-direction=archive-v5] body :is(#welcomeReadTerms#welcomeReadTerms#welcomeReadTerms,#welcomeReadPrivacy#welcomeReadPrivacy#welcomeReadPrivacy,#lexyHistory#lexyHistory#lexyHistory .time-reveal){display:inline!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;min-height:0!important;min-width:0!important;font:inherit!important;color:#28595b!important;text-decoration:underline;text-underline-offset:3px;transform:none!important}
html[data-art-direction=archive-v5] body #tutorial.sniff-guide .sniff-footer nav button{width:40px!important;height:36px!important;min-width:40px!important;min-height:36px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important}
html[data-art-direction=archive-v5] body #closetDetail::after{content:none!important}
html[data-art-direction=archive-v5][data-input-modality=pointer] body .visibility-row input:is(:focus,:focus-visible)+.visibility-track{outline:none!important;box-shadow:none!important}
html[data-art-direction=archive-v5][data-input-modality=keyboard] body .visibility-row input:focus-visible+.visibility-track{outline:2px solid #287477!important;outline-offset:3px!important}
html[data-art-direction=archive-v5] body :is(#runPowers .power-symbol,#lexyHistory .inventory-power-icon){display:block!important;flex:none;width:48px!important;height:48px!important;min-height:48px!important;margin:0 auto 8px!important}
html[data-art-direction=archive-v5] body #lexyHistory .history-adventure-chapter>header{position:static!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
html[data-art-direction=archive-v5] body #lexyHistory .history-adventure-chapter>header strong{font:600 17px/1.35 'Lexy UI',sans-serif!important}
html[data-art-direction=archive-v5] body #lexyHistory .history-adventure-chapter>header small{font:400 14px/1.4 'Lexy UI',sans-serif!important}
html[data-art-direction=archive-v5] body #lexyHistory #powerInventoryTip{border:0!important}
html[data-art-direction=archive-v5] body #lexyHistory [hidden]{display:none!important}
html[data-art-direction=archive-v5] body #avatarEdit{position:relative}
html[data-art-direction=archive-v5] body #avatarEdit>.first-join-new-dot{position:absolute;top:-3px;right:-3px}
html[data-art-direction=archive-v5] body #experimentMissions nav button{font:600 15px/1.35 'Lexy UI',sans-serif!important;box-shadow:none!important}
html[data-art-direction=archive-v5] body #experimentMissions nav button[aria-pressed=true]{background:#28595b!important;color:#fff!important}
html[data-art-direction=archive-v5] body .trial-run-intro{filter:none!important}
html[data-art-direction=archive-v5] body .first-run-label{font:500 13px/1.35 'Lexy UI',sans-serif!important}
html[data-art-direction=archive-v5] body :is(.archive-guide-toilet,.reference-toilet-icon){object-fit:contain;flex:none;width:48px;height:48px}
html[data-art-direction=archive-v5] body .trial-run-intro strong{font:600 clamp(30px,8vw,46px)/1.2 'Lexy Display',sans-serif!important;color:#28595b!important;-webkit-text-stroke:0!important;text-shadow:none!important;background:#fffffff2;padding:10px 22px;border-radius:20px;box-shadow:0 4px 18px #28595b12;white-space:nowrap}

/* adventure-mode/final-candidate.css */
/* Small component contracts for the final candidate. Shared controls inherit
   the existing white/teal/coral system; these are not another global theme. */
html[data-art-direction=archive-v5] body #game #adventureJump:active{background:#e2ebe8!important;color:#28595b!important;border-color:#cad8d5!important;box-shadow:none!important;transform:none!important;filter:none!important}
.chapter-art,.adventure-node-art{position:relative;overflow:hidden;background:#eff5f4!important}
.scene-preview{display:block;width:100%;height:100%;object-fit:cover;object-position:center;position:absolute;inset:0}
.chapter-art-city .scene-preview,.chapter-art-wild .scene-preview{object-position:center}
html[data-art-direction=archive-v5] body #adventureMap .availability-badge{display:inline-flex;align-items:center;justify-content:center;gap:4px;align-self:center;justify-self:end;width:auto;min-width:0;padding:6px 9px;border:0;border-radius:999px;background:#dceee3;color:#246344;font:600 13px/1.25 'Lexy UI',sans-serif;white-space:nowrap}
html[data-art-direction=archive-v5] body #adventureMap .availability-badge[data-locked=true]{background:#e4eae8;color:#526864}
.availability-badge svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.6;flex:none}
html body #adventureMap .level-unlock-hint{display:block;margin-top:5px;font:400 12px/1.35 'Lexy UI',sans-serif;color:#526864}
html body #runPowers .power-description-stack{display:grid!important;min-height:0!important}
html body #runPowers .power-description-stack>span{grid-area:1 / 1;min-width:0;font:inherit;color:inherit}
html body #runPowers .power-description-reserve{visibility:hidden;pointer-events:none;user-select:none}
html body #runPowers[open]{overflow-y:auto;overscroll-behavior:contain}
.adventure-node-number{position:absolute!important;left:4px;bottom:4px;width:26px!important;height:26px!important;font:500 14px/1 'Lexy UI',sans-serif!important;background:#28595b!important;color:#fff!important;box-shadow:0 1px 4px #163b3b33}
.adventure-node[data-state=locked],.adventure-chapter-choice.is-locked{opacity:1;filter:none!important}
.adventure-chapter-choice.is-locked .scene-preview,.adventure-node[data-state=locked] .scene-preview{filter:saturate(.65);opacity:.9}
html[data-art-direction=archive-v5] #over #adventureResult{background:#f0f5f4;color:#28595b}
html[data-art-direction=archive-v5] #over #adventureResultObjectives li{opacity:1}
html[data-art-direction=archive-v5] #over #adventureResultObjectives :is(strong,small){font:500 13px/1.4 'Lexy UI',sans-serif;color:#355e60;opacity:1;letter-spacing:0}
html[data-art-direction=archive-v5] #over #adventureResultObjectives p{font:500 16px/1.4 'Lexy UI',sans-serif;color:#28595b}
html[data-art-direction=archive-v5] #lexyHistory .closet-tools button{font-size:14px!important;min-height:40px!important}
html[data-art-direction=archive-v5] #lexyHistory .closet-tools button[aria-pressed=true]{background:#28595b!important;color:#fff!important}
.run-course-label{position:absolute;top:-24px;left:0;max-width:100%;padding:3px 10px;border-radius:8px;background:#ffffffed;color:#28595b;font:500 12px/1.4 'Lexy UI',sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#artworkRecovery{width:min(420px,calc(100% - 32px));padding:24px;color:#28595b}
#artworkRecovery h2{font:500 25px/1.2 'Lexy Display',sans-serif;margin:0 0 12px}
#artworkRecovery p{font:400 16px/1.5 'Lexy UI',sans-serif}
#artworkRecovery footer{display:flex;gap:12px;margin-top:20px}
#artworkRecovery button{flex:1;min-height:48px;font-size:16px}
.portrait-retry{position:relative;z-index:2;min-height:44px;padding:8px 12px;font:500 14px/1.4 'Lexy UI',sans-serif;color:#28595b;background:#eaf3f1;border:0;border-radius:12px}
#startupLoading .startup-tip,#startupLoading .startup-tip strong,#startupLoading p{font-family:'Lexy UI',system-ui,sans-serif}
#startupLoading .startup-logo{font-family:'Lexy Display',system-ui,sans-serif}
#startupLoading .startup-art img{border-radius:16px}
#startupLoading .startup-art-3 img,#startupLoading .startup-art-4 img{object-fit:cover}
/* One fixed loading panel: swapping stage/error copy never moves its controls. */
#runLoading{overflow-y:auto}
#runLoading[open]{justify-content:safe center}
#runLoading .run-loading-panel{box-sizing:border-box;width:min(100%,400px);flex-shrink:0;display:grid;grid-template-rows:56px clamp(100px,24dvh,168px) 58px minmax(90px,auto) 52px;gap:12px;align-items:center;justify-items:center}
#runLoading .run-loading-visual{width:100%;height:100%;min-height:0;grid-template: minmax(0,1fr) / minmax(0,1fr)}
#runLoading .run-loading-art{width:100%;height:100%;min-width:0;min-height:0;object-fit:contain}
#runLoading .run-loading-message{margin:0;align-self:start;font:600 16px/1.4 Nunito,system-ui,sans-serif;color:#617777}
#runLoading footer{display:flex;gap:12px;width:100%}
#runLoading footer button{flex:1;min-height:48px;font:800 17px Nunito,system-ui,sans-serif;border:0;border-radius:16px;background:#eff4f3;color:#28595b}
#runLoading footer button.primary{background:#28595b;color:white}
#runLoading footer[hidden],#runLoading .run-loading-spinner[hidden]{display:block!important;visibility:hidden;pointer-events:none}
@media(max-height:520px){#runLoading .run-loading-panel{grid-template-rows:40px 72px 40px minmax(80px,auto) 48px;gap:8px}#runLoading .run-loading-logo{font-size:32px}}
#resultSaveStatus{font:700 14px/1.4 Nunito,system-ui,sans-serif;color:#547372;margin:8px 0}
#progressSyncNotice{position:fixed;z-index:15;left:50%;bottom:max(10px,env(safe-area-inset-bottom));transform:translateX(-50%);margin:0;padding:7px 14px;border-radius:20px;background:#eaf3ef;color:#28595b;font:500 14px/1.4 'Lexy UI',sans-serif;pointer-events:none;white-space:nowrap}
body.playing #progressSyncNotice,body:has(#over:not([hidden])) #progressSyncNotice{display:none}
/* Resume is a positive action in both pause and restored-connection views.
   A failed connection still says Try again and keeps its separate styling. */
html[data-art-direction=archive-v5] body :is(#paused #resume,#connectionError[data-connection-state=restored] button):not(:disabled){background:#2e6b4e!important;color:#fff!important}
html[data-art-direction=archive-v5] body :is(#paused #resume,#connectionError[data-connection-state=restored] button):not(:disabled):active{background:#24563e!important;color:#fff!important}
/* Explicit actions must stay distinct from the pale profile/pause cards.
   Keep nickname headings and portrait cards separate from this button style. */
html[data-art-direction=archive-v5] body :is(#lexyHistory,#paused,#avatarPicker) :is(#avatarEdit,#pauseOutfitEdit,.avatar-choose-closet,#pauseHelp,#homePaused){display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px!important;max-width:100%;padding:10px 16px!important;border:1px solid #bfd1cc!important;border-radius:14px!important;background:#e2ece9!important;color:#28595b!important;box-shadow:none!important;font:500 15px/1.25 'Lexy UI',system-ui,sans-serif!important;text-decoration:none!important;white-space:normal;cursor:pointer}
html[data-art-direction=archive-v5] body :is(#lexyHistory,#paused,#avatarPicker) :is(#avatarEdit,#pauseOutfitEdit,.avatar-choose-closet,#pauseHelp,#homePaused):active:not(:disabled){background:#cbded7!important;border-color:#93b1a7!important;transform:none!important}
@media(hover:hover){html[data-art-direction=archive-v5] body :is(#lexyHistory,#paused,#avatarPicker) :is(#avatarEdit,#pauseOutfitEdit,.avatar-choose-closet,#pauseHelp,#homePaused):hover:not(:disabled){background:#d6e5df!important;border-color:#a7c1b7!important}}
html[data-art-direction=archive-v5] body #paused .pause-look{height:auto;grid-template-rows:minmax(64px,auto) auto}
html[data-art-direction=archive-v5] body #paused #pauseHelp{width:auto;height:44px;gap:6px;padding:10px 12px!important}
html[data-art-direction=archive-v5] body #paused #pauseHelp span{width:auto;height:auto;background:transparent;font:500 17px/1 'Lexy UI',system-ui,sans-serif}
html[data-art-direction=archive-v5] body #paused #pauseHelp small{font:500 13px/1.25 'Lexy UI',system-ui,sans-serif}
/* Selection changes colour only: reserve the same readable tab geometry. */
html[data-art-direction=archive-v5] body #gameHelp .reference-tabs{display:grid;grid-template-columns:.75fr .6fr 1.5fr 1.35fr;gap:4px;align-items:stretch}
html[data-art-direction=archive-v5] body #gameHelp .reference-tabs button[aria-pressed]{box-sizing:border-box;min-width:0;height:48px;min-height:48px;padding:6px 3px!important;font:500 clamp(12px,3.55vw,14px)/1.2 'Lexy UI',sans-serif!important;white-space:nowrap;overflow-wrap:normal;border-width:1px!important;border-radius:14px!important;transform:none!important}
/* Three visual power choices, then one stable decision/action row. Selecting
   either a power or No power-up never starts the run by itself. */
html[data-art-direction=archive-v5] body #runPowers#runPowers .power-cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;overflow:visible!important;flex:none!important}
html[data-art-direction=archive-v5] body #runPowers#runPowers .power-cards button{min-width:0!important;min-height:110px!important;flex-direction:column!important;justify-content:center!important;padding:12px 8px!important;text-align:center!important}
html[data-art-direction=archive-v5] body #runPowers#runPowers .power-card-copy{padding:0!important;min-width:0;font-size:14px!important}
html[data-art-direction=archive-v5] body #runPowers#runPowers .power-card-copy small{display:none}
html[data-art-direction=archive-v5] body #runPowers#runPowers .power-run-actions{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr)!important;gap:8px!important;min-height:54px!important;margin-top:1px!important}
html[data-art-direction=archive-v5] body #runPowers#runPowers .power-run-actions>button{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:54px!important;min-height:54px!important;margin:0!important;padding:8px 12px!important;border-radius:15px!important;font:600 14px/1.15 'Lexy UI',sans-serif!important;white-space:nowrap!important}
html[data-art-direction=archive-v5] body #runPowers#runPowers #powerWithout{gap:0!important;padding:8px 28px 8px 8px!important;background:#fff!important;color:#28595b!important;border:1px solid #c9d9d5!important;box-shadow:none!important}
html[data-art-direction=archive-v5] body #runPowers#runPowers #powerWithout[aria-pressed=true]{background:#dcece1!important;border-color:#4d827b!important;box-shadow:inset 0 0 0 1px #4d827b!important}
html[data-art-direction=archive-v5] body #runPowers#runPowers #powerWithout .power-none-icon{display:none!important}
html[data-art-direction=archive-v5] body #runPowers#runPowers #powerWithout .power-card-copy strong{font:600 14px/1.15 'Lexy UI',sans-serif!important}
html[data-art-direction=archive-v5] body #runPowers#runPowers #powerWithout>.power-selected-check{position:absolute!important;display:none!important;left:auto!important;right:8px!important;top:50%!important;transform:translateY(-50%)!important;width:17px!important;height:17px!important;font-size:0!important;line-height:17px!important}
html[data-art-direction=archive-v5] body #runPowers#runPowers #powerWithout[aria-pressed=true]>.power-selected-check{display:grid!important;place-items:center!important}
html[data-art-direction=archive-v5] body #runPowers#runPowers #powerStartRun{border:0!important;background:#28595b!important;color:#fff!important;box-shadow:0 3px 0 #173f41!important}
html[data-art-direction=archive-v5] body #runPowers#runPowers #powerStartRun:active:not(:disabled){background:#214b4d!important;box-shadow:0 1px 0 #173f41!important;transform:translateY(2px)!important}
html[data-art-direction=archive-v5] body #runPowers#runPowers #powerStartRun:disabled{background:#e4ebe9!important;color:#758681!important;box-shadow:none!important}
html[data-art-direction=archive-v5] body #runPowers#runPowers .power-run-actions>button:focus-visible{outline:3px solid #84aaa5!important;outline-offset:2px!important}
@media(max-width:350px){html[data-art-direction=archive-v5] body #runPowers#runPowers .power-run-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:6px!important}html[data-art-direction=archive-v5] body #runPowers#runPowers .power-run-actions>button,html[data-art-direction=archive-v5] body #runPowers#runPowers #powerWithout .power-card-copy strong{font-size:12px!important}}
html[data-art-direction=archive-v5] body #lexyHistory .power-inventory button[aria-pressed=true]{background:#dcece1!important;color:#28595b!important;border-color:#7b967e!important;box-shadow:none!important}
html[data-art-direction=archive-v5] body :is(#adventureMap,#paused,#over) .goal-explanation{font:400 13px/1.45 'Lexy UI',sans-serif!important;color:#526c68!important;margin:7px 0 0!important}

/* adventure-mode/run-glass.css */
/* Approved clear-glass run chrome: 40% white / 60% transparent. Keep the
   artwork visible, the ink opaque, and all existing layout/touch geometry.
   This is deliberately scoped to the live HUD, never sheets or the home UI. */
html[data-art-direction=archive-v5] body.playing{
 --run-glass-surface:rgba(255,255,255,.40);
 --run-glass-hover:rgba(255,255,255,.48);
 --run-glass-pressed:rgba(255,255,255,.58);
 --run-glass-blur:2px;
 --run-glass-ink:#214f50;
 --run-glass-edge:rgba(255,255,255,.42);
 --run-glass-shadow:inset 0 1px 0 #ffffff66,0 2px 8px #183d3910;
}
html[data-art-direction=archive-v5] body.playing #game>header,
html[data-art-direction=archive-v5] body.playing #game #hud #runCourseLabel,
html[data-art-direction=archive-v5] body.playing #game #hud :is(.stats,.zoom-wrap,.zoom-wrap.has-showdown,.lane-controls button){
 background:var(--run-glass-surface)!important;
 -webkit-backdrop-filter:blur(var(--run-glass-blur))!important;
 backdrop-filter:blur(var(--run-glass-blur))!important;
 border-color:var(--run-glass-edge)!important;
 box-shadow:var(--run-glass-shadow)!important;
 color:var(--run-glass-ink)!important;
}
/* Avoid opaque nested tiles, and don't apply the glass twice in Pigeon Panic. */
html[data-art-direction=archive-v5] body.playing #game>header :is(#profileIdentity,#pause,#sound),
html[data-art-direction=archive-v5] body.playing #game #hud #showdownHUD{
 background:transparent!important;
 -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
 box-shadow:none!important;color:var(--run-glass-ink)!important;
}
html[data-art-direction=archive-v5] body.playing #game>header :is(#pause,#sound){border-color:var(--run-glass-edge)!important}
html[data-art-direction=archive-v5] body.playing #game #hud :is(.stats small,.stats strong,.zoom-label,#runCourseLabel,#showdownHUD),
html[data-art-direction=archive-v5] body.playing #game>header :is(.run-identity-line,.run-xp){
 color:var(--run-glass-ink)!important;
 text-shadow:0 1px 2px #ffffffc7!important;
}
html[data-art-direction=archive-v5] body.playing #game #hud .lane-controls button{
 text-shadow:0 1px 2px #ffffffc7!important;
 transition:background-color 100ms ease,border-color 100ms ease!important;
}
html[data-art-direction=archive-v5] body.playing #game #hud .lane-controls button:active:not(:disabled){
 background:var(--run-glass-pressed)!important;
 border-color:#ffffffb3!important;
 box-shadow:inset 0 1px 3px #214f501c!important;
 transform:none!important;filter:none!important;
}
@media(hover:hover) and (pointer:fine){
 html[data-art-direction=archive-v5] body.playing #game #hud .lane-controls button:hover:not(:disabled){background:var(--run-glass-hover)!important}
 html[data-art-direction=archive-v5] body.playing #game #hud .lane-controls button:active:not(:disabled){background:var(--run-glass-pressed)!important}
}
/* Keep the same geometry and full-strength ink when transparency is not
   supported or the player requests stronger contrast / reduced transparency. */
@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){
 html[data-art-direction=archive-v5] body.playing{--run-glass-surface:rgba(255,255,255,.88);--run-glass-hover:rgba(255,255,255,.92);--run-glass-pressed:rgba(235,245,241,.96)}
}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){
 html[data-art-direction=archive-v5] body.playing{--run-glass-surface:rgba(255,255,255,.94);--run-glass-hover:rgba(255,255,255,.97);--run-glass-pressed:#e2ebe8;--run-glass-blur:0px}
}
@media(prefers-reduced-motion:reduce){
 html[data-art-direction=archive-v5] body.playing #game #hud .lane-controls button{transition:none!important}
}

/* adventure-mode/hit-feedback.css */
/* A short, non-interactive icon flight, never a banner over the running lanes. */
.run-hit-flight-layer{position:fixed;inset:0;pointer-events:none;z-index:9;overflow:hidden}
.run-hit-heart{position:absolute;width:34px;height:34px;pointer-events:none;will-change:transform,opacity;filter:drop-shadow(0 2px 1px #fff9)}
.run-hit-heart svg{display:block;width:100%;height:100%}
body.playing .hud-top .stats #hearts{position:relative;border-radius:12px;box-shadow:0 0 0 6px rgb(223 120 91 / var(--heart-hit-pulse,0))}
body.playing .hud-top .stats #hearts>span{height:21px;line-height:21px;font-size:20px!important;transform:scale(var(--heart-hit-scale,1))!important;color:#c65b43}
body.playing .hud-top .stats #hearts>span.heart-empty{color:#70908b}
body.playing .hud-top .stats #hearts::after{content:attr(data-remaining);position:absolute;left:-7px;right:-7px;top:100%;margin-top:1px;text-align:center;font:800 10px/12px Nunito,sans-serif;letter-spacing:0;color:#28595b;white-space:nowrap}
body.playing .hud-top .stats #hearts[data-low-health=true]::after{color:#9b3e2f}
@media(prefers-reduced-motion:reduce){.run-hit-heart{will-change:auto}body.playing .hud-top .stats #hearts>span{transform:none!important}}
