@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&display=swap');
:root{font-family:Outfit,system-ui,sans-serif;background:#110f20;color:#f7f1fb;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 85% 8%,#8d386638,transparent 55%);min-height:100vh}main{max-width:800px;margin:auto;padding:26px 24px}button,select,input{font:inherit}button{cursor:pointer;background:#352642;border:1px solid #ffffff18;color:#f5eafc;border-radius:11px;padding:12px 16px}button:disabled{cursor:default}button:focus-visible,select:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ffe3a5;outline-offset:3px}header{display:flex;justify-content:space-between;align-items:center}header a{font-size:12px;color:#c7b7d6;text-decoration:none}header button{width:38px;height:38px;padding:0;border-radius:50%;font-size:20px}.match-intro{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:30px 0}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:700;color:#f8b7d3}h1{font-size:43px;line-height:1.1;letter-spacing:-1.6px;margin:15px 0}em{font-style:normal;color:#ffcf8c}.match-intro p{color:#b49ebf;font-size:13px}.match-intro img{width:150px;height:170px;object-fit:contain;transform:rotate(8deg);filter:drop-shadow(0 10px 22px #e65a9e22)}.match-game{max-width:620px;margin:auto;padding:23px;background:#251b34;border:1px solid #ffffff12;border-radius:24px;box-shadow:0 20px 70px #0004}.match-stats{display:flex;align-items:center;justify-content:space-between;gap:12px}.match-stats small,.match-stats label{font-size:9px;color:#b59bc5;letter-spacing:1.4px}.match-stats strong{display:block;font-size:25px;color:#ffdfaa;margin-top:6px}.match-stats select{display:block;margin-top:5px;width:70px;border:0;background:transparent;color:#fff;font-size:24px;font-weight:700}.goal-track{background:#160f23;height:6px;border-radius:5px;overflow:hidden;margin:20px 0 15px}.goal-track span{height:100%;display:block;background:linear-gradient(90deg,#d384d0,#ffcc77);transition:width .3s}.match-audio{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#1b1428;border-radius:12px;font-size:10px;color:#c5b3d8;margin-bottom:17px}.match-audio button{font-size:11px;padding:8px 10px;min-width:106px}.match-audio label{margin-left:auto}.match-audio input{width:100px;min-width:50px;accent-color:#eca6ce}.match-audio output{min-width:28px}#match-audio-note{font-size:10px;color:#c3afcf}#match-audio-note:empty{display:none}.match-board-wrap{position:relative;background:#130f1e;padding:7px;border-radius:17px}#match-board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;touch-action:none;user-select:none}.match-tile{aspect-ratio:1;padding:7px;min-width:0;border:1px solid #ffffff30;border-radius:11px;position:relative;overflow:hidden;box-shadow:inset 0 2px 2px #ffffff1a,inset 0 -4px 1px #0002;transition:transform .13s,border-color .13s}.match-tile.tile-fire{background:linear-gradient(145deg,#e59046,#b85936)}.match-tile.tile-blue{background:linear-gradient(145deg,#69b6df,#367fae)}.match-tile.tile-rose{background:linear-gradient(145deg,#ec93b6,#bd527f)}.match-tile.tile-aurora{background:linear-gradient(145deg,#e4ca6b,#ba8d34)}.match-tile.tile-violet{background:linear-gradient(145deg,#ab93de,#7954ac)}.match-tile.tile-lime{background:linear-gradient(145deg,#8aca8d,#4c9a79)}.power-mark{display:grid;place-items:center;height:100%;width:100%;pointer-events:none}.power-mark svg{width:82%;height:82%;fill:#fff4e8;stroke:#2b1c3ba6;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 1px #0003)}.match-tile:not(:disabled):hover{transform:translateY(-2px);border-color:#fff}.match-tile.selected{outline:3px solid #fff5c3;outline-offset:-4px;transform:scale(.93)}.match-tile.hinted{outline:3px dashed #fff5c3;outline-offset:-4px;animation:hintGlow 1.1s ease-in-out 3}.match-tile.clearing{animation:tileBurst .24s ease-in both}#match-combo{position:absolute;top:42%;left:0;right:0;text-align:center;pointer-events:none;z-index:3;font-size:32px;font-weight:800;color:#fff3b4;text-shadow:0 3px 0 #6a347f,0 0 18px #ffcc4b88;letter-spacing:1px}#match-status{font-size:12px;text-align:center;color:#d2bddf;line-height:1.5;min-height:36px;margin:17px 0 12px}.match-actions{display:flex;gap:8px;justify-content:space-between}.match-actions button{font-size:12px}.match-actions button:disabled{opacity:.45}.match-actions b{font-size:10px;background:#ffffff16;padding:2px 5px;border-radius:4px}#match-next,#match-result-action,#match-help-close{background:#ffce83;color:#39221d;font-weight:700}.match-summary{max-width:620px;margin:20px auto;padding:18px 20px;background:#21192e;border-radius:17px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.match-summary span{font-size:8px;letter-spacing:1.4px;color:#a88eb9}.match-summary strong{display:block;color:#ffdca9;font-size:22px;margin-top:8px}.match-summary p{grid-column:1/-1;margin:7px 0 0;font-size:10px;color:#a68db8;line-height:1.6}.match-how{max-width:620px;margin:28px auto}.match-how h2{font-size:23px}.match-how>div{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.match-how p{font-size:11px;line-height:1.7;color:#a88db8}.match-how b{display:block;color:#e9c5df;margin-bottom:5px;font-size:12px}footer{text-align:center;font-size:8px;letter-spacing:2px;color:#8f779f;padding:14px 0}footer span{color:#ffda8e;margin:0 8px}footer p{font-size:9px;line-height:1.7;letter-spacing:0;color:#786788;max-width:540px;margin:13px auto}dialog{background:radial-gradient(ellipse at 50% 20%,#543454,#261c35);color:#fff0fb;border:1px solid #ffc3e33b;border-radius:23px;padding:26px;max-width:440px;width:92%;max-height:92dvh;overflow-y:auto;line-height:1.6}dialog::backdrop{background:#0c0519cc;backdrop-filter:blur(6px)}dialog h2{line-height:1.2;font-size:27px}dialog p{font-size:13px;color:#d3badf}#match-result{text-align:center}#match-result button{width:100%;margin-top:10px}.secondary{background:transparent;color:#c7acd7}.match-celebration{display:flex;align-items:center;justify-content:center;gap:10px;color:#ffdfa1;font-size:28px}.match-celebration img{height:140px;width:135px;object-fit:contain;animation:matchCheer .9s ease-in-out 3}#match-result-stars{font-size:29px;color:#ffdf9d;margin-top:12px;letter-spacing:4px}#match-result-points{display:block;color:#ffdf9d;font-size:21px}@keyframes tileBurst{0%{transform:scale(1);filter:brightness(1)}40%{transform:scale(1.12);filter:brightness(1.5)}100%{transform:scale(.2);opacity:0}}@keyframes hintGlow{50%{filter:brightness(1.3)}}@keyframes matchCheer{0%,100%{transform:rotate(-5deg)}50%{transform:translateY(-9px) rotate(5deg)}}@media(max-width:550px){main{padding:20px 13px}.match-intro{padding:20px 4px}h1{font-size:31px}.match-intro img{width:95px;height:130px}.match-intro p{font-size:11px}.match-game{padding:14px;border-radius:20px}.match-stats strong{font-size:21px}.match-stats small,.match-stats label{font-size:8px}.match-stats select{font-size:21px}.match-audio{font-size:9px;gap:6px}.match-audio button{min-width:92px;font-size:10px}.match-audio input{width:72px}.match-tile{border-radius:7px;padding:4px}#match-board{gap:4px}.match-board-wrap{padding:5px;border-radius:12px}.match-actions button{font-size:11px;padding:10px}.match-how h2{font-size:21px}.match-how>div{gap:10px}.match-how p{font-size:10px}#match-combo{font-size:25px}}@media(prefers-reduced-motion:reduce){.match-tile,.match-tile.clearing,.match-tile.hinted,.match-celebration img{animation:none!important;transition:none!important}.match-tile.clearing{opacity:.35}.match-tile:not(:disabled):hover{transform:none}.goal-track span{transition:none}}

#match-board{isolation:isolate}.match-tile{will-change:transform}.match-tile.special-tile{border:2px solid #fff1b9;box-shadow:inset 0 0 12px #fff8,0 0 10px #ffdc7c55}.special-symbol{position:absolute;right:2px;bottom:1px;background:#271932e6;color:#fff0a5;border-radius:5px;line-height:1;padding:2px 4px;font-weight:800;font-size:20px;pointer-events:none}.special-tile .power-mark svg{width:65%;height:65%;transform:translate(-5%,-8%)}.special-bomb{background-image:radial-gradient(circle at 50% 50%,#ffffff55,transparent)!important}.power-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:12px 0 0}.power-legend span{font-size:9px;background:#3c2945;border:1px solid #ffe3a522;color:#dfc5e9;padding:5px 7px;border-radius:6px}@media(max-width:550px){.special-symbol{font-size:13px;padding:2px 3px;right:1px;bottom:1px}.power-legend span{font-size:8px}}@media(prefers-reduced-motion:reduce){.match-tile{will-change:auto}}

.special-jemono{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 2px #0005);pointer-events:none;animation:jemonoTransform .45s ease-out}.special-tile{padding:1px}.special-nova{border-color:#dbc0ff!important}.special-dragon{border-color:#ffd493!important}.special-symbol{font-size:14px;z-index:2}.match-board-wrap{isolation:isolate}#match-attack-stage{position:absolute;inset:7px;z-index:5;pointer-events:none;overflow:hidden;border-radius:12px}.attack-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.attack-hero{position:absolute;width:20%;height:20%;object-fit:contain;z-index:3;transform:translate(-50%,-50%);filter:drop-shadow(0 0 12px #ffedab);animation:attackHero .55s ease-out both}.attack-ray{fill:none;stroke:#fcf1bb;stroke-width:13;stroke-linejoin:round;filter:drop-shadow(0 0 9px #cba2ff);stroke-dasharray:1400;animation:powerRay .55s ease-out both}.attack-explosion{fill:#ff934a77;stroke:#ffe2aa;stroke-width:16;transform-box:fill-box;transform-origin:center;animation:powerExplosion .55s ease-out both;filter:drop-shadow(0 0 20px #ff6d28)}.attack-ring{fill:#b793f644;stroke:#efc8ff;stroke-width:9;stroke-dasharray:22 12;transform-box:fill-box;transform-origin:center;animation:novaRing .55s ease-out both}.attack-beam{stroke:#dab6ff;stroke-width:7;stroke-linecap:round;animation:powerBeam .55s ease-out both;filter:drop-shadow(0 0 7px #c599f7)}.attack-flame{stroke:#ffb34f;stroke-width:17;stroke-linecap:round;stroke-dasharray:35 900;animation:fireballTrail .55s ease-out both;filter:drop-shadow(0 0 10px #ff4a28)}.fireball-impact{fill:#ffb63f88;stroke:#ffe0aa;stroke-width:6;transform-box:fill-box;transform-origin:center;animation:fireballImpact .55s ease-out both}@keyframes jemonoTransform{0%{transform:scale(.4) rotate(-15deg);filter:brightness(2)}65%{transform:scale(1.15) rotate(6deg)}100%{transform:scale(1)}}@keyframes attackHero{0%{transform:translate(-50%,-50%) scale(.8)}35%{transform:translate(-50%,-65%) scale(1.55) rotate(-7deg)}100%{transform:translate(-50%,-50%) scale(1);opacity:.3}}@keyframes powerRay{0%{stroke-dashoffset:1400;opacity:.3}35%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}@keyframes powerExplosion{0%{transform:scale(.1);opacity:0}35%{opacity:1}100%{transform:scale(1.3);opacity:0}}@keyframes novaRing{0%{transform:rotate(0) scale(.2);opacity:0}30%{opacity:1}100%{transform:rotate(240deg) scale(1.7);opacity:0}}@keyframes powerBeam{0%,10%{opacity:0}35%{opacity:1}100%{opacity:0}}@keyframes fireballTrail{0%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:-900;opacity:0}}@keyframes fireballImpact{0%,40%{transform:scale(.1);opacity:0}70%{opacity:1}100%{transform:scale(1.4);opacity:0}}@media(max-width:550px){.special-symbol{font-size:10px}#match-attack-stage{inset:5px}}@media(prefers-reduced-motion:reduce){.special-jemono{animation:none}#match-attack-stage{display:none}}

.match-next-reward{max-width:620px;margin:0 auto 15px;padding:13px 16px;background:#362c2b;border:1px solid #ffcd8130;border-radius:13px;color:#ffdea1;font-size:12px;line-height:1.6}.match-collection{max-width:620px;margin:24px auto;padding:23px;background:#241a32;border:1px solid #ffffff12;border-radius:22px}.match-collection h2{font-size:26px;margin:12px 0}.match-collection h3{font-size:16px;margin:22px 0 8px}.match-collection p{font-size:12px;line-height:1.6;color:#bca6cc}.match-medals{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.match-medal{padding:15px 10px;text-align:center;background:#170f24;border:1px dashed #ffffff20;border-radius:13px;opacity:.45}.match-medal span{display:block;font-size:25px;color:#bca3d0}.match-medal b{display:block;font-size:12px;color:#dac7e6;margin:8px 0}.match-medal small{font-size:10px;line-height:1.6;color:#a58ab8}.match-medal.earned{opacity:1;border:1px solid #ffdb8277;background:linear-gradient(145deg,#4d3b30,#2b203a)}.match-medal.earned span,.match-medal.earned b{color:#ffe4a1}.match-reward-buttons{display:flex;gap:8px;flex-wrap:wrap}.match-reward-buttons button{font-size:11px;padding:10px}.match-reward-buttons button:disabled{opacity:.4}.match-reward-buttons button[aria-pressed="true"]{border-color:#ffe0a6;background:#4d3932;color:#ffe8b6}.match-champion-card{display:flex;align-items:center;gap:18px;border-top:1px solid #ffffff12;margin-top:25px;padding-top:20px}.match-champion-card>img{width:110px;height:140px;object-fit:contain;flex-shrink:0}.crownfire-champion{filter:hue-rotate(-8deg) saturate(.8) drop-shadow(0 0 13px #ffd65a55)}.match-champion-card h3{font-size:23px;margin:10px 0}#match-result-rewards{padding:10px;background:#623d5255;border-radius:10px;color:#ffe0a0!important}body[data-match-theme="ice"]{background:radial-gradient(ellipse at 70% 10%,#2d6d8555,transparent 60%),#101a29}body[data-match-theme="ice"] .match-game{background:#1c3346}body[data-match-theme="nebula"]{background:radial-gradient(circle at 20% 20%,#ffffff77 0 1px,transparent 2px),radial-gradient(ellipse at 80% 0,#6b39945c,transparent 65%),#151024;background-size:160px 180px,100% 100%,auto}body[data-match-theme="royal"] .match-game{background:linear-gradient(140deg,#3a224b,#21162f);border-color:#e8c87377}body[data-match-theme="gold"] .match-tile{border-color:#ffe5a2;box-shadow:inset 0 0 0 1px #ffe5a277,0 0 8px #ffdd6b22}body[data-match-theme="gold"] .match-game{border-color:#ffe2a699;background:linear-gradient(140deg,#48382e,#2a1e31)}@media(max-width:550px){.match-collection{padding:16px}.match-next-reward{font-size:11px}.match-champion-card>img{width:75px;height:100px}.match-champion-card h3{font-size:19px}.match-medal{padding:12px 6px}.match-medal b{font-size:10px}.match-medal small{font-size:9px}}

.map-entry{max-width:620px;margin:0 auto 15px;display:flex;gap:12px;align-items:center;justify-content:space-between}.map-entry button{background:#443143;color:#ffe4a8;font-size:12px}.map-entry span{font-size:10px;color:#ac92bf}.match-map-dialog{max-width:620px;width:94%;padding:22px;background:radial-gradient(ellipse at 80% 20%,#5c3e6855,#21192f 70%)}.map-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.map-heading h2{font-size:28px;margin:8px 0}.map-heading button{border-radius:50%;padding:0;width:34px;height:34px;font-size:22px}.match-map-dialog>p{font-size:11px;margin:0 0 10px}.adventure-map{position:relative;aspect-ratio:600/700;max-height:64dvh;background:radial-gradient(ellipse at 10% 20%,#6694a32b,transparent 50%),radial-gradient(ellipse at 85% 80%,#aa74452b,transparent 55%),#181528;border:1px solid #ffffff13;border-radius:20px;overflow:hidden}.map-trails,#match-map-nodes{position:absolute;inset:0;width:100%;height:100%}.map-trails{fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.trail-base{stroke:#765b8244;stroke-width:18}.trail-done{stroke:#e0b764aa;stroke-width:8;stroke-dasharray:3 15}.level-stop{position:absolute;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;padding:0;display:grid;place-items:center;background:linear-gradient(135deg,#78548b,#382d52);border:2px solid #b993ca66;box-shadow:0 4px 0 #0f0b1b}.level-stop b{font-size:15px;color:#efdbf9}.level-stop.cleared{background:linear-gradient(135deg,#8e7546,#574127);border-color:#e3c57e}.level-stop.current{outline:3px solid #ffebaa;outline-offset:4px}.level-stop.locked{background:#2a2339;border-color:#5b456b55;opacity:.6}.level-stop.locked b{font-size:12px}.stop-stars{position:absolute;top:100%;margin-top:5px;font-size:10px;letter-spacing:1px;color:#ffe49c;white-space:nowrap}.stop-gift{position:absolute;right:-12px;top:-11px;color:#fff0b8;background:#393047;border:1px solid #b898cc66;width:22px;height:22px;border-radius:7px;font-size:13px;display:grid;place-items:center}.map-walker{position:absolute;transform:translate(-50%,-115%);width:57px;height:66px;z-index:4;pointer-events:none;filter:drop-shadow(0 5px 5px #0006)}.map-walker img{width:100%;height:100%;object-fit:contain}.map-walker.walking img{animation:jemonoWalk .22s ease-in-out infinite alternate}.map-landmark{position:absolute;font-size:7px;letter-spacing:1.5px;color:#8ea2c0;pointer-events:none}.landmark-ice{top:20%;left:35%;color:#a8dcec}.landmark-nebula{top:59%;left:12%;color:#cfa9ed}.landmark-crown{bottom:3%;right:5%;color:#f3d38f}.map-cloud{position:absolute;width:180px;height:90px;border-radius:50%;filter:blur(26px);pointer-events:none;opacity:.16}.cloud-a{background:#b3d5ff;left:20%;top:20%}.cloud-b{background:#c3a5f8;right:10%;bottom:20%}.map-bottom{padding-top:8px}.map-bottom p{font-size:11px;min-height:32px;margin:8px 0}.map-bottom strong{display:block;font-size:12px;color:#ecd5f5}.map-bottom>button{width:100%;background:#ffce83;color:#39221d;font-weight:700;margin-top:12px}.map-bottom>button:disabled{opacity:.5}@keyframes jemonoWalk{from{transform:translateY(1px) rotate(-8deg)}to{transform:translateY(-5px) rotate(8deg)}}@media(max-width:550px){.map-entry{gap:8px}.map-entry span{font-size:9px;max-width:135px}.map-entry button{font-size:11px;padding:10px}.match-map-dialog{padding:16px}.map-heading h2{font-size:23px}.level-stop{width:30px;height:30px}.level-stop b{font-size:12px}.level-stop.current{outline-width:2px;outline-offset:3px}.stop-stars{font-size:7px;margin-top:3px}.stop-gift{width:16px;height:16px;font-size:10px;right:-9px;top:-8px}.map-walker{width:43px;height:50px}.map-landmark{font-size:5px;letter-spacing:.8px}}@media(prefers-reduced-motion:reduce){.map-walker.walking img{animation:none}}
/* Raised game pieces and stationary obstacle layers. */
.match-tile{border-width:2px;border-bottom-width:5px;border-bottom-color:#24152b88;box-shadow:inset 2px 3px 3px #ffffff66,inset -3px -4px 5px #0003,0 4px 0 #080510,0 6px 6px #0006}.match-tile:before{content:"";position:absolute;inset:3px 5px 53%;border-radius:7px;background:linear-gradient(#ffffff30,#fff0);pointer-events:none}.match-tile .power-mark,.match-tile .special-jemono{filter:drop-shadow(0 3px 1px #25132d88)}.match-board-wrap{box-shadow:inset 0 4px 12px #0009,0 8px 0 #150e20,0 18px 30px #0004;padding-bottom:12px}.obstacle-goal{margin-top:15px;display:flex;flex-direction:column;gap:5px;padding:10px 12px;border-radius:11px;background:#121c30;color:#bdeaff;font-size:11px}.obstacle-goal small{font-size:10px;color:#c9bdd7}.obstacle-overlay{position:absolute;inset:0;pointer-events:none;border-radius:8px}.obstacle-ice .obstacle-overlay{border:3px solid #c7f8ffcc;background:linear-gradient(125deg,#b6faff44 20%,#fff9 22%,transparent 25%,#8dcfff22 65%,#ddffff99 67%,transparent 70%);box-shadow:inset 0 0 10px #c1ffff88}.obstacle-overlay b{position:absolute;right:1px;top:0;font-size:15px;color:white;text-shadow:0 1px 3px #26364e}.obstacle-crate .obstacle-overlay{border:5px ridge #c28a53;background:linear-gradient(45deg,transparent 43%,#a96e3fbb 44% 53%,transparent 54%);box-shadow:inset 0 0 0 1px #ffdd9c88}.obstacle-crate .obstacle-overlay b{font-size:12px;background:#56361e;border-radius:3px}.obstacle-overlay small{position:absolute;bottom:0;right:0;background:#3e281c;color:#ffe0a2;font-size:10px;padding:1px 3px;border-radius:3px}.obstacle-hit{animation:obstacleCrack .3s ease-out}.obstacle-goal[hidden],.trail-scene[hidden],.adventure-map[hidden]{display:none!important}@keyframes obstacleCrack{25%{filter:brightness(1.9);transform:rotate(-3deg)}65%{transform:rotate(3deg)}}
/* A ground-level perspective trail, with an optional overview. */
.map-view-controls{display:flex;gap:8px;margin:12px 0}.map-view-controls button{flex:1;font-size:11px;padding:9px}.map-view-controls button[aria-pressed="true"]{background:#775145;color:#ffe4a4;border-color:#efc277}.trail-scene{height:460px;max-height:60dvh;min-height:320px;position:relative;overflow:hidden;isolation:isolate;border:1px solid #efc78d44;border-radius:20px;background:linear-gradient(#252b60,#b56582 33%,#efb07b 43%,#57455c 44%)}.trail-sun{position:absolute;width:95px;height:95px;border-radius:50%;top:12%;left:55%;background:#ffe2a4;box-shadow:0 0 60px #ffc88488}.trail-mountains{position:absolute;inset:17% -10% 48%;background:#635172;clip-path:polygon(0 100%,15% 18%,27% 60%,42% 0,58% 85%,74% 14%,100% 100%)}.mountain-front{inset:24% -15% 42%;background:#42394e;transform:scaleX(-1)}.trail-zone{position:absolute;top:5%;left:0;right:0;text-align:center;color:#ffe7b7;font-size:10px;letter-spacing:3px;text-shadow:0 2px 4px #0008}.trail-ground{position:absolute;inset:40% -50% -40%;background:repeating-linear-gradient(90deg,transparent 0 79px,#d2af8f15 80px 82px),repeating-linear-gradient(0deg,#483a49 0 69px,#b388721f 70px 72px);transform:perspective(250px) rotateX(48deg);transform-origin:center top}.trail-road{position:absolute;inset:26% 0 0;background:linear-gradient(90deg,#be8e6177,#dbaf7c99 49%,#b0805477);clip-path:polygon(49% 0,53% 0,100% 100%,0 100%);box-shadow:inset 0 0 35px #fee1a555}.trail-road:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 55px,#fff0c43b 56px 59px);clip-path:polygon(49% 0,51% 0,62% 100%,38% 100%)}#match-trail-stops{position:absolute;inset:0}.trail-stop{position:absolute;transform:translate(-50%,-50%);padding:0;border-radius:50%;background:radial-gradient(circle at 35% 20%,#e8b97d,#856247 65%);border:2px solid #fce2ae;box-shadow:0 6px 0 #513b37,0 12px 20px #0006;color:#fff4d4;font-weight:800}.trail-stop:disabled{filter:saturate(.2);color:#c0abb6;border-color:#a795ad}.trail-stop.near{outline:3px solid #ffdf9a;outline-offset:5px;font-size:24px}.trail-stop.cleared{background:#7eac8b}.trail-companion{position:absolute;bottom:0;left:12px;width:105px;text-align:center;pointer-events:none}.trail-companion img{height:125px;width:100%;object-fit:contain;filter:drop-shadow(0 7px 5px #0007)}.trail-companion span{display:block;font-size:7px;letter-spacing:1px;color:#fff2cf;padding:0 0 12px}.trail-walking .trail-companion img{animation:jemonoWalk .22s ease-in-out infinite alternate}.trail-walking .trail-road:after{animation:trailForward .6s linear infinite}@keyframes trailForward{to{background-position:0 59px}}@media(max-width:550px){.trail-companion{width:75px;left:6px}.trail-companion img{height:95px}.match-tile{border-bottom-width:4px}.obstacle-crate .obstacle-overlay{border-width:3px}.obstacle-overlay b{font-size:11px}}@media(prefers-reduced-motion:reduce){.obstacle-hit,.trail-walking .trail-companion img,.trail-walking .trail-road:after{animation:none}}
/* Pieces float freely; the invisible grid keeps touch targets generous. */
#match-board .match-tile{background:none;border:0;border-radius:14px;box-shadow:none;padding:2px;overflow:visible;isolation:isolate}#match-board .match-tile:before{display:none}#match-board .match-tile:after{content:"";position:absolute;z-index:-1;bottom:1%;left:18%;right:13%;height:14%;border-radius:50%;background:#05031199;filter:blur(3px);pointer-events:none}.sculpted-piece{display:block;width:100%;height:100%;pointer-events:none;filter:drop-shadow(1px 5px 2px #05031099);transition:filter .15s}.sculpted-piece svg{width:100%;height:100%;overflow:visible}.match-tile .special-jemono{position:relative;width:112%;height:112%;max-width:none;object-fit:contain;margin:-6%;filter:drop-shadow(0 5px 2px #080315aa) drop-shadow(-1px -2px 2px #ffefb933)}#match-board .match-tile:not(:disabled):hover{background:#fff1;transform:translateY(-3px)}#match-board .match-tile.selected{background:#fff1;outline:2px solid #ffe1a1;outline-offset:0;transform:scale(1.07)}#match-board .match-tile.hinted{outline-offset:0}.match-tile .special-symbol{z-index:2;background:#261a36d9;border:1px solid #ffde9f88;border-radius:50%;width:20px;height:20px;display:grid;place-items:center;font-size:11px;right:-1px;bottom:-1px}.match-board-wrap{background:radial-gradient(ellipse at 50% 0,#59415e55,transparent 65%),#171020;padding:10px 8px 14px}#match-board{gap:8px}#match-board .obstacle-ice .obstacle-overlay{inset:3%;border-radius:34% 24% 30% 22%;border-width:2px;box-shadow:inset 0 0 10px #bfffffaa,0 3px 2px #12223588}#match-board .obstacle-crate .obstacle-overlay{inset:0;border-radius:8px}body[data-match-theme="gold"] #match-board .sculpted-piece{filter:drop-shadow(0 0 2px #ffe6a588) drop-shadow(1px 5px 2px #05031099)}.trail-stop small{display:block;font-size:8px;line-height:1}@media(max-width:550px){#match-board{gap:5px}.match-tile .special-symbol{width:15px;height:15px;font-size:9px}}
.match-voice-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:-6px 0 16px}.match-voice-controls button{padding:8px 10px;font-size:11px}.match-voice-controls button[aria-pressed="true"]{border-color:#e9b3ed88;color:#ffd9f1}.match-voice-controls small{flex-basis:100%;color:#b59bc5;font-size:10px}.jemono-voice-caption{margin:5px auto 16px;padding:10px 18px;width:fit-content;max-width:100%;text-align:center;border:1px solid #ffdf9c77;border-radius:20px 20px 20px 3px;background:linear-gradient(135deg,#593955,#302443);color:#ffe9a9;font-size:20px;font-weight:800;box-shadow:0 4px 18px #0003}.jemono-voice-caption[hidden]{display:none}.match-intro img.jemono-speaking{animation:jemonoTalk .22s ease-in-out infinite alternate}@keyframes jemonoTalk{from{transform:rotate(3deg) translateY(0)}to{transform:rotate(-3deg) translateY(-5px)}}@media(prefers-reduced-motion:reduce){.match-intro img.jemono-speaking{animation:none}}
/* Each chapter has its own landscape and arena material. */
body[data-match-world]{--world-glow:#ffba75;--world-edge:#c98a67;--world-panel:#3c253c; background:#140f25;isolation:isolate}body[data-match-world]:before{content:"";position:fixed;inset:0;z-index:-2;background:linear-gradient(#120d2410,#120d2430),url('world-ember.svg') center/cover no-repeat;pointer-events:none}body[data-match-world="frost"]{--world-glow:#acf3ff;--world-edge:#64bed9;--world-panel:#173c51}body[data-match-world="frost"]:before{background-image:linear-gradient(#061b3020,#061b3040),url('world-frost.svg')}body[data-match-world="nebula"]{--world-glow:#dfb7ff;--world-edge:#b280e5;--world-panel:#362451}body[data-match-world="nebula"]:before{background-image:linear-gradient(#140b3020,#140b3040),url('world-nebula.svg')}body[data-match-world="crown"]{--world-glow:#ffd38e;--world-edge:#d58c49;--world-panel:#4c2833}body[data-match-world="crown"]:before{background-image:linear-gradient(#260d2220,#260d2240),url('world-crown.svg')}body[data-match-world] .match-game{background:linear-gradient(145deg,color-mix(in srgb,var(--world-panel) 94%,transparent),#1a1229ed);border:2px solid var(--world-edge);box-shadow:0 0 45px #0005,0 8px 0 #120c2199,inset 0 1px 0 #ffffff30}body[data-match-world] .match-intro{padding:20px 0;text-shadow:0 3px 12px #10091f}body[data-match-world] .match-intro p{color:#e8d4eb}body[data-match-world] h1 em{color:var(--world-glow)}.match-world-banner{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--world-edge);margin:-8px 0 20px;padding-bottom:12px}.match-world-banner img{width:68px;height:78px;object-fit:contain;filter:drop-shadow(0 5px 6px #0006)}.match-world-banner h2{margin:4px 0;font-size:24px;line-height:1.15;color:var(--world-glow)}.match-world-banner p{margin:6px 0 0;font-size:10px;line-height:1.5;color:#e2d1e9}.match-world-banner .eyebrow{color:var(--world-glow);font-size:8px}.match-gap{aspect-ratio:1;pointer-events:none}body[data-match-world] .match-board-wrap{background:transparent;box-shadow:none;padding:6px 2px 12px}body[data-match-world] #match-board .match-tile{background:#120d223d;box-shadow:inset 0 0 0 1px #ffffff0a;border-radius:25%}body[data-match-world="frost"] #match-board .match-tile{background:#b0f0ff12;box-shadow:inset 0 0 0 1px #b5f5ff20}body[data-match-world="nebula"] #match-board .match-tile{border-radius:40%;background:#d0a2ff12}body[data-match-world="crown"] #match-board .match-tile{background:#ffd2770e;border-radius:15%}body[data-match-world] .match-summary,body[data-match-world] .match-collection{background:#1b132be8;border:1px solid #ffffff22;backdrop-filter:blur(8px)}body[data-match-world] .match-how{background:#1b132bdb;border-radius:20px;padding:18px}body[data-match-world] .map-entry span{color:#eedbf3}body[data-match-world] .goal-track span{background:linear-gradient(90deg,var(--world-edge),var(--world-glow))}@media(max-width:550px){.match-world-banner h2{font-size:21px}.match-world-banner img{width:53px;height:65px}body[data-match-world] main{padding:18px 12px}.match-world-banner{gap:9px}}
